@mediusinc/mng-commons 5.1.0-rc.0 → 5.1.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 +7 -6
- package/core/helpers/coercion.d.ts +1 -0
- package/core/index.d.ts +0 -1
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +5 -6
- package/esm2022/core/components/pages/error/error.page.component.mjs +4 -4
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +4 -4
- package/esm2022/core/directives/component.directive.mjs +3 -3
- package/esm2022/core/directives/template.directive.mjs +3 -3
- package/esm2022/core/helpers/coercion.mjs +4 -1
- package/esm2022/core/index.mjs +1 -2
- package/esm2022/core/pipes/boolean.pipe.mjs +3 -3
- package/esm2022/core/pipes/class-map.pipe.mjs +3 -3
- package/esm2022/core/pipes/enum.pipe.mjs +5 -5
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +3 -3
- package/esm2022/core/pipes/enumerate.pipe.mjs +3 -3
- package/esm2022/core/pipes/getter.pipe.mjs +3 -3
- package/esm2022/core/pipes/i18n-property.pipe.mjs +3 -3
- package/esm2022/core/pipes/json-path.pipe.mjs +3 -3
- package/esm2022/core/pipes/parametrize.pipe.mjs +3 -3
- package/esm2022/core/pipes/template.pipe.mjs +3 -3
- package/esm2022/core/security/permission.service.mjs +3 -3
- package/esm2022/core/services/commons-init.service.mjs +3 -3
- package/esm2022/core/services/commons-router.service.mjs +3 -3
- package/esm2022/core/services/commons.service.mjs +3 -3
- package/esm2022/core/services/local-storage-config.service.mjs +3 -3
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/form/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/form/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/form/directives/input-trim.directive.mjs +14 -19
- package/esm2022/table/api/models/table.model.mjs +1 -1
- package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +4 -4
- package/esm2022/table/components/column-value/column-value.component.mjs +43 -53
- package/esm2022/table/components/table/table.component.mjs +300 -365
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +3 -3
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +3 -3
- package/esm2022/table/services/data-list.service.mjs +3 -3
- package/esm2022/tableview/action/components/action/action.component.mjs +5 -5
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +6 -7
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +5 -4
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +3 -3
- package/esm2022/tableview/action/components/route/action-route.component.mjs +3 -3
- package/esm2022/tableview/action/components/table/action-table.component.mjs +43 -92
- package/esm2022/tableview/action/services/component-action-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/navigation.service.mjs +3 -3
- package/esm2022/tableview/action/services/root-action-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/view-container.service.mjs +3 -3
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +4 -1
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +6 -14
- package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +5 -5
- package/esm2022/tableview/api/editor/models/formly-field.model.mjs +1 -1
- package/esm2022/tableview/api/index.mjs +1 -2
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +17 -17
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +47 -6
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +15 -29
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +10 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +18 -22
- package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-type.abstract.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +3 -3
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +14 -2
- package/esm2022/tableview/editor/helpers/editor-validators.mjs +25 -0
- package/esm2022/tableview/editor/helpers/formly-config.mjs +7 -5
- package/esm2022/tableview/editor/services/form-editor.service.mjs +3 -3
- package/esm2022/tableview/index.mjs +2 -1
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +3 -3
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-core.mjs +69 -111
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +23 -27
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +357 -431
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +13 -39
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +252 -240
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/form/directives/input-trim.directive.d.ts +5 -8
- package/package.json +9 -9
- package/table/api/models/table.model.d.ts +1 -1
- package/table/components/column-value/column-value.component.d.ts +11 -17
- package/table/components/table/table.component.d.ts +43 -47
- package/tableview/action/components/editor/action-editor.component.d.ts +1 -2
- package/tableview/action/components/table/action-table.component.d.ts +26 -29
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +3 -3
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +3 -3
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +2 -1
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +13 -9
- package/tableview/api/editor/models/field-action-context.model.d.ts +1 -1
- package/tableview/api/editor/models/form-editor.interface.d.ts +23 -6
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +22 -19
- package/tableview/api/editor/models/formly-field.model.d.ts +20 -0
- package/tableview/api/index.d.ts +0 -1
- package/tableview/editor/components/editor/form-editor.component.d.ts +7 -7
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +3 -0
- package/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.d.ts +2 -3
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +3 -6
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +2 -4
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +4 -8
- package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +3 -3
- package/tableview/editor/helpers/editor-validators.d.ts +7 -0
- package/tableview/index.d.ts +1 -0
- package/version-info.json +6 -6
- package/core/directives/dialog-keydown-handler.directive.d.ts +0 -12
- package/esm2022/core/directives/dialog-keydown-handler.directive.mjs +0 -49
- package/esm2022/tableview/api/editor/helpers/field-validators.mjs +0 -23
- package/tableview/api/editor/helpers/field-validators.d.ts +0 -7
|
@@ -210,4 +210,4 @@ export class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
|
|
|
210
210
|
return field;
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbG9va3VwLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9lZGl0b3IvZGVzY3JpcHRvcnMvZmllbGQtbG9va3VwLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBVUgsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDdEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQWdCLHNCQUFzQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFpQiwyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR3pGLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQXFCekQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBc0IscUJBQW9FLEVBQUUsRUFBRTtJQUN0SSxNQUFNLEdBQUcsR0FBcUUsRUFBRSxDQUFDO0lBQ2pGLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUN4QixJQUFLLHFCQUF1QyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFELHFGQUFxRjtZQUNyRixHQUFHLENBQUMsWUFBWSxHQUFHLHFCQUFpRSxDQUFDO1FBQ3pGLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLFdBQVcsR0FBRyxxQkFBa0QsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLHFCQUNULFNBQVEsZ0JBQXdFO0lBMEJoRixZQUFZLE1BQXNDLEVBQUUsUUFBZ0IsRUFBRSxHQUFtRTtRQUNySSxLQUFLLENBQUMsTUFBTSxFQUFFLFFB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LENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRWUsY0FBYyxDQUFDLElBQXNDO1FBQ2pFLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDakIsR0FBRyxJQUFJO1lBQ1AsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLElBQUksSUFBSTtZQUN0QyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJO1NBQzNDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFZSxJQUFJO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUkseUJBQXlCLENBQW9CLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDekQsS0FBSyxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUMvRCxLQUFLLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIENsYXNzVHlwZSxcbiAgICBFbnVtQ29uc3RhbnRUeXBlLFxuICAgIEVudW1WYWx1ZSxcbiAgICBJRGF0YVByb3ZpZGVyLFxuICAgIElFZGl0b3JEZXNjcmlwdG9yLFxuICAgIElMb29rdXBEYXRhUHJvdmlkZXIsXG4gICAgSUxvb2t1cERlc2NyaXB0b3IsXG4gICAgTG9va3VwRGF0YVByb3ZpZGVyTG9va3VwRm5UeXBlLFxuICAgIFNlcnZpY2VDbGFzc1R5cGUsXG4gICAgZnJvbUVudW1Db25zdGFudHNBc1ZhbHVlQXJyYXksXG4gICAgZnJvbUVudW1WYWx1ZXNBc1ZhbHVlQXJyYXksXG4gICAgZ2V0RW51bUNvbnN0YW50TmFtZVxufSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtJbnB1dFRyaW1UeXBlLCBMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2Zvcm0vYXBpJztcbmltcG9ydCB7RW51bURlc2NyaXB0b3IsIHRyeVNldExvb2t1cEl0ZW1zUHJvcGVydGllc30gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9tb2RlbCc7XG5pbXBvcnQge0lUYWJsZURhdGFQcm92aWRlciwgVGFibGVEZXNjcmlwdG9ySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge0ZpZWxkTG9va3VwQ29uZmlnLCBGaWVsZExvb2t1cFR5cGVFbnVtfSBmcm9tICcuLi9tb2RlbHMvZmllbGQubW9kZWwnO1xuaW1wb3J0IHtBRmllbGREZXNjcmlwdG9yfSBmcm9tICcuL2ZpZWxkLWJhc2UuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIEZpZWxkTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8RWRpdG9yTW9kZWwsIFNlcnZpY2U+ID0gRmllbGRMb29rdXBEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxFZGl0b3JNb2RlbCwgU2VydmljZT4gJiB7XG4gICAgdHlwZT86IENsYXNzVHlwZTxFZGl0b3JNb2RlbD47XG4gICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZExvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0ge1xuICAgIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPjtcbiAgICBkYXRhUHJvdmlkZXI/OiBJTG9va3VwRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRMb29rdXBQcm92aWRlclR5cGU8RmllbGRNb2RlbCwgU2VydmljZT4gPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+IHwgSUxvb2t1cERhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcblxuZXhwb3J0IHR5cGUgRmllbGRMb29rdXBBdXRvY29tcGxldGVPcHRzVHlwZSA9IHtcbiAgICBvcGVuT25Gb2N1cz86IGJvb2xlYW47XG4gICAgaW5saW5lU2VhcmNoPzogYm9vbGVhbjtcbiAgICBzZWxlY3RGaXJzdD86IGJvb2xlYW47XG4gICAgYXV0b0NsZWFyPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWVsZExvb2t1cEdldFByb3ZpZGVyQ2ZnT2JqID0gPEZpZWxkTW9kZWwsIFNlcnZpY2U+KHNlcnZpY2VPckRhdGFQcm92aWRlcj86IEZpZWxkTG9va3VwUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+KSA9PiB7XG4gICAgY29uc3QgY2ZnOiBGaWVsZExvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0ge307XG4gICAgaWYgKHNlcnZpY2VPckRhdGFQcm92aWRlcikge1xuICAgICAgICBpZiAoKHNlcnZpY2VPckRhdGFQcm92aWRlciBhcyBJRGF0YVByb3ZpZGVyKS5pc0RhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgLy8gdHlwZSBjYXN0aW5nIG5lZWRlZCwgY2F1c2UgdGhlcmUgd2FzIG5vIG90aGVyIHdheSBmb3VuZCB0byBkaWZmZXJlbnRpYXRlIHRoZSB0eXBlc1xuICAgICAgICAgICAgY2ZnLmRhdGFQcm92aWRlciA9IHNlcnZpY2VPckRhdGFQcm92aWRlciBhcyBJTG9va3VwRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2ZnLnNlcnZpY2VUeXBlID0gc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT47XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNmZztcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWVsZExvb2t1cERlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIFNlcnZpY2UgPSBhbnksIEZpZWxkVmFsdWUgPSBGaWVsZE1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD5cbiAgICBleHRlbmRzIEFGaWVsZERlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIEZpZWxkVmFsdWUsIFBhcmVudEVkaXRvck1vZGVsPlxuICAgIGltcGxlbWVudHMgSUxvb2t1cERlc2NyaXB0b3I8RmllbGRNb2RlbCwgU2VydmljZT5cbntcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX29wdGlvbnNWYWx1ZVByb3BlcnR5Pzogc3RyaW5nOyAvLyB0aGlzIGRlZmluZXMgVlQhXG5cbiAgICBwcm90ZWN0ZWQgX2xvb2t1cFR5cGU6IEZpZWxkTG9va3VwVHlwZUVudW0gPSBGaWVsZExvb2t1cFR5cGVFbnVtLkRyb3Bkb3duO1xuICAgIHByb3RlY3RlZCBfb3B0aW9uc0xhYmVsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9vcHRpb25zTGFiZWxUcmFuc2xhdGUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnNEaXNhYmxlZFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfb3B0aW9uc1RyYWNrUHJvcGVydHk/OiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgX2Ryb3Bkb3duQ2xhc3NOYW1lID0gJ21uZy1maWx0ZXItbG9va3VwLWRyb3Bkb3duJztcblxuICAgIHByb3RlY3RlZCBfYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZUF1dG9DbGVhcj86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVTZWxlY3RGaXJzdD86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVJbnB1dFRyaW0/OiBJbnB1dFRyaW1UeXBlO1xuXG4gICAgLy8gVE9ETzogYWRkcmVzcyBQYXJlbnRFZGl0b3JNb2RlbFxuICAgIHByb3RlY3RlZCBfZGlhbG9nVGFibGVEZXNjcmlwdG9yPzogVGFibGVEZXNjcmlwdG9ySW5zdDxGaWVsZE1vZGVsPjtcbiAgICBwcm90ZWN0ZWQgX2RpYWxvZ1RhYmxlRGF0YVByb3ZpZGVyPzogSVRhYmxlRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIGFueSwgYW55LCBhbnk+O1xuXG4gICAgcHJvdGVjdGVkIF9jdXN0b21Db21wb25lbnROYW1lPzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZWRpdG9yOiBJRWRpdG9yRGVzY3JpcHRvcjxFZGl0b3JNb2RlbD4sIHByb3BlcnR5OiBzdHJpbmcsIGNmZz86IEZpZWxkTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8RmllbGRNb2RlbCwgU2VydmljZT4pIHtcbiAgICAgICAgc3VwZXIoZWRpdG9yLCBwcm9wZXJ0eSBhcyBzdHJpbmcpO1xuXG4gICAgICAgIGlmIChjZmc/LmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyID0gY2ZnLmRhdGFQcm92aWRlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFQcm92aWRlciA9IG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0KGNmZz8udHlwZSwgY2ZnPy5zZXJ2aWNlVHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9vcHRpb25zVmFsdWVQcm9wZXJ0eSA9IGNmZz8ub3B0aW9uc1ZhbHVlUHJvcGVydHk7XG5cbiAgICAgICAgdHJ5U2V0TG9va3VwSXRlbXNQcm9wZXJ0aWVzKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9va3VwVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cFR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zTGFiZWxQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgb3B0aW9uc0xhYmVsVHJhbnNsYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgb3B0aW9uc1ZhbHVlUHJvcGVydHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zVmFsdWVQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnNEaXNhYmxlZFByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uc0Rpc2FibGVkUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zVHJhY2tQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNUcmFja1Byb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0YVByb3ZpZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVByb3ZpZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUlubGluZVNlYXJjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUF1dG9DbGVhcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZUF1dG9DbGVhcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZVNlbGVjdEZpcnN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlU2VsZWN0Rmlyc3Q7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkcm9wZG93bkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlhbG9nVGFibGVEZXNjcmlwdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlhbG9nVGFibGVEZXNjcmlwdG9yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlhbG9nVGFibGVEYXRhUHJvdmlkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWFsb2dUYWJsZURhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbUNvbXBvbmVudE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXN0b21Db21wb25lbnROYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdHJpbU9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZUlucHV0VHJpbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNMYWJlbFByb3BlcnR5KHByb3BlcnR5OiBrZXlvZiBGaWVsZE1vZGVsLCB0cmFuc2xhdGUgPSBmYWxzZSk6IHRoaXMge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoT3B0aW9uc0xhYmVsUHJvcGVydHlVbnNhZmUocHJvcGVydHkgYXMgc3RyaW5nLCB0cmFuc2xhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoT3B0aW9uc0xhYmVsUHJvcGVydHlVbnNhZmUocHJvcGVydHk6IHN0cmluZywgdHJhbnNsYXRlID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlID0gdHJhbnNsYXRlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNEaXNhYmxlZFByb3BlcnR5KHByb3BlcnR5OiBrZXlvZiBGaWVsZE1vZGVsKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhPcHRpb25zRGlzYWJsZWRQcm9wZXJ0eVVuc2FmZShwcm9wZXJ0eSBhcyBzdHJpbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoT3B0aW9uc0Rpc2FibGVkUHJvcGVydHlVbnNhZmUocHJvcGVydHk6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9vcHRpb25zRGlzYWJsZWRQcm9wZXJ0eSA9IHByb3BlcnR5O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNUcmFja1Byb3BlcnR5KHByb3BlcnR5OiBrZXlvZiBGaWVsZE1vZGVsKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhPcHRpb25zVHJhY2tQcm9wZXJ0eVVuc2FmZShwcm9wZXJ0eSBhcyBzdHJpbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoT3B0aW9uc1RyYWNrUHJvcGVydHlVbnNhZmUocHJvcGVydHk6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICBpZiAodGhpcy5fb3B0aW9uc1ZhbHVlUHJvcGVydHkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX29wdGlvbnNUcmFja1Byb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTG9va3VwKGxvb2t1cD86IExvb2t1cERhdGFQcm92aWRlckxvb2t1cEZuVHlwZTxGaWVsZE1vZGVsLCBTZXJ2aWNlPik6IHRoaXMge1xuICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIud2l0aExvb2t1cChsb29rdXApO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aElucHV0VHJpbSh0cmltT3B0aW9uOiBJbnB1dFRyaW1UeXBlID0gJ2JvdGgnKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZUlucHV0VHJpbSA9IHRyaW1PcHRpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3aXRoQ29uZmlnKGNvbmZpZzogRmllbGRMb29rdXBDb25maWcpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLndpdGhDb25maWcoY29uZmlnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNBdXRvY29tcGxldGUob3B0cz86IEZpZWxkTG9va3VwQXV0b2NvbXBsZXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVHlwZSA9IEZpZWxkTG9va3VwVHlwZUVudW0uQXV0b2NvbXBsZXRlO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVBdXRvQ2xlYXIgPSBvcHRzPy5hdXRvQ2xlYXI7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZVNlbGVjdEZpcnN0ID0gb3B0cz8uc2VsZWN0Rmlyc3Q7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzID0gb3B0cz8ub3Blbk9uRm9jdXM7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaCA9IG9wdHM/LmlubGluZVNlYXJjaDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzRGlhbG9nKGxvb2t1cFRhYmxlRGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxGaWVsZE1vZGVsPiwgdGFibGVEYXRhUHJvdmlkZXI/OiBJVGFibGVEYXRhUHJvdmlkZXI8RmllbGRNb2RlbCwgYW55LCBhbnksIGFueT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVHlwZSA9IEZpZWxkTG9va3VwVHlwZUVudW0uRGlhbG9nO1xuICAgICAgICB0aGlzLl9kaWFsb2dUYWJsZURlc2NyaXB0b3IgPSBsb29rdXBUYWJsZURlc2NyaXB0b3I7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1RhYmxlRGF0YVByb3ZpZGVyID0gdGFibGVEYXRhUHJvdmlkZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0N1c3RvbUNvbXBvbmVudChjdXN0b21Db21wb25lbnROYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVHlwZSA9IEZpZWxkTG9va3VwVHlwZUVudW0uQ3VzdG9tO1xuICAgICAgICB0aGlzLl9jdXN0b21Db21wb25lbnROYW1lID0gY3VzdG9tQ29tcG9uZW50TmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHkoKTogRmllbGRMb29rdXBEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBTZXJ2aWNlLCBGaWVsZFZhbHVlPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkTG9va3VwRGVzY3JpcHRvcjxGaWVsZE1vZGVsLCBFZGl0b3JNb2RlbCwgU2VydmljZSwgRmllbGRWYWx1ZT4odGhpcy5fZWRpdG9yLCB0aGlzLl9wcm9wZXJ0eSwge1xuICAgICAgICAgICAgZGF0YVByb3ZpZGVyOiB0aGlzLl9kYXRhUHJvdmlkZXIsXG4gICAgICAgICAgICBvcHRpb25zVmFsdWVQcm9wZXJ0eTogdGhpcy5fb3B0aW9uc1ZhbHVlUHJvcGVydHlcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29weUZpZWxkc1RvKGZpZWxkKTtcbiAgICAgICAgZmllbGQuX2xvb2t1cFR5cGUgPSB0aGlzLl9sb29rdXBUeXBlO1xuICAgICAgICBmaWVsZC5fb3B0aW9uc0xhYmVsUHJvcGVydHkgPSB0aGlzLl9vcHRpb25zTGFiZWxQcm9wZXJ0eTtcbiAgICAgICAgZmllbGQuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IHRoaXMuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZTtcbiAgICAgICAgZmllbGQuX29wdGlvbnNEaXNhYmxlZFByb3BlcnR5ID0gdGhpcy5fb3B0aW9uc0Rpc2FibGVkUHJvcGVydHk7XG4gICAgICAgIGZpZWxkLl9vcHRpb25zVHJhY2tQcm9wZXJ0eSA9IHRoaXMuX29wdGlvbnNUcmFja1Byb3BlcnR5O1xuICAgICAgICBmaWVsZC5fZHJvcGRvd25DbGFzc05hbWUgPSB0aGlzLl9kcm9wZG93bkNsYXNzTmFtZTtcbiAgICAgICAgZmllbGQuX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzID0gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgICAgIGZpZWxkLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2ggPSB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgICAgIGZpZWxkLl9kaWFsb2dUYWJsZURlc2NyaXB0b3IgPSB0aGlzLl9kaWFsb2dUYWJsZURlc2NyaXB0b3I7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIEVkaXRvck1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD4gZXh0ZW5kcyBGaWVsZExvb2t1cERlc2NyaXB0b3I8XG4gICAgRW51bVZhbHVlLFxuICAgIEVkaXRvck1vZGVsLFxuICAgIHVuZGVmaW5lZCxcbiAgICBFbnVtQ29uc3RhbnRUeXBlLFxuICAgIFBhcmVudEVkaXRvck1vZGVsXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbnVtTW9kZWw6IEVudW1EZXNjcmlwdG9yPEVudW0+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbkVudW1WYWx1ZXM6IEVudW1WYWx1ZVtdO1xuXG4gICAgY29uc3RydWN0b3IoZWRpdG9yOiBJRWRpdG9yRGVzY3JpcHRvcjxFZGl0b3JNb2RlbD4sIHByb3BlcnR5OiBzdHJpbmcsIGVudW1Nb2RlbDogRW51bURlc2NyaXB0b3I8RW51bT4sIG9wdGlvbnM/OiBBcnJheTxFbnVtPikge1xuICAgICAgICBzdXBlcihlZGl0b3IsIHByb3BlcnR5LCB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PEVudW1WYWx1ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZD4odW5kZWZpbmVkLCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk6ICd2YWx1ZSdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2VudW1Nb2RlbCA9IGVudW1Nb2RlbDtcbiAgICAgICAgdGhpcy5fb3B0aW9uRW51bVZhbHVlcyA9IEFycmF5LmlzQXJyYXkob3B0aW9ucylcbiAgICAgICAgICAgID8gZnJvbUVudW1WYWx1ZXNBc1ZhbHVlQXJyYXk8RW51bT4odGhpcy5fZW51bU1vZGVsLnR5cGUsIG9wdGlvbnMsIHRoaXMuX2VudW1Nb2RlbC5uYW1lQXNWYWx1ZSwgdGhpcy5fZW51bU1vZGVsLmkxOG5CYXNlS2V5ID8/IHVuZGVmaW5lZClcbiAgICAgICAgICAgIDogZnJvbUVudW1Db25zdGFudHNBc1ZhbHVlQXJyYXkodGhpcy5fZW51bU1vZGVsLnR5cGUsIHRoaXMuX2VudW1Nb2RlbC5uYW1lQXNWYWx1ZSwgdGhpcy5fZW51bU1vZGVsLmkxOG5CYXNlS2V5ID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMud2l0aExvb2t1cCgoKSA9PiBvZih0aGlzLl9vcHRpb25FbnVtVmFsdWVzKSk7XG4gICAgICAgIHRoaXMud2l0aE9wdGlvbnNMYWJlbFByb3BlcnR5KCd0aXRsZScsIHRoaXMuX2VudW1Nb2RlbC5pMThuQmFzZUtleSAhPT0gbnVsbCk7XG4gICAgICAgIHRoaXMud2l0aE9wdGlvbnNEaXNhYmxlZFByb3BlcnR5KCdkaXNhYmxlZCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZW51bU1vZGVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW51bU1vZGVsO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGlzYWJsZWRPcHRpb25zKC4uLmRpc2FibGVkT3B0aW9uczogQXJyYXk8RW51bUNvbnN0YW50VHlwZT4pOiB0aGlzIHtcbiAgICAgICAgZm9yIChjb25zdCBkaXNhYmxlZE9wdGlvbiBvZiBkaXNhYmxlZE9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkT3B0aW9uVmFsdWUgPSB0aGlzLl9lbnVtTW9kZWwubmFtZUFzVmFsdWUgPyBnZXRFbnVtQ29uc3RhbnROYW1lKHRoaXMuX2VudW1Nb2RlbC50eXBlLCBkaXNhYmxlZE9wdGlvbikgOiBkaXNhYmxlZE9wdGlvbjtcbiAgICAgICAgICAgIGlmIChkaXNhYmxlZE9wdGlvblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5fb3B0aW9uRW51bVZhbHVlcy5maW5kKG8gPT4gby52YWx1ZSA9PT0gZGlzYWJsZWRPcHRpb25WYWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZUVudW0oZGVmYXVsdFZhbHVlOiBFbnVtQ29uc3RhbnRUeXBlKTogdGhpcyB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRPcHRpb25WYWx1ZSA9IHRoaXMuX2VudW1Nb2RlbC5uYW1lQXNWYWx1ZSA/IGdldEVudW1Db25zdGFudE5hbWUodGhpcy5fZW51bU1vZGVsLnR5cGUsIGRlZmF1bHRWYWx1ZSkgOiBkZWZhdWx0VmFsdWU7XG4gICAgICAgIGlmIChkZWZhdWx0T3B0aW9uVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuX29wdGlvbkVudW1WYWx1ZXMuZmluZChvID0+IG8udmFsdWUgPT09IGRlZmF1bHRPcHRpb25WYWx1ZSk7XG4gICAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aXRoRGVmYXVsdFZhbHVlKG9wdGlvblt0aGlzLl9vcHRpb25zVmFsdWVQcm9wZXJ0eSBhcyBrZXlvZiBvYmplY3RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXNBdXRvY29tcGxldGUob3B0cz86IEZpZWxkTG9va3VwQXV0b2NvbXBsZXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgc3VwZXIuYXNBdXRvY29tcGxldGUoe1xuICAgICAgICAgICAgLi4ub3B0cyxcbiAgICAgICAgICAgIG9wZW5PbkZvY3VzOiBvcHRzPy5vcGVuT25Gb2N1cyA/PyB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU2VhcmNoOiBvcHRzPy5pbmxpbmVTZWFyY2ggPz8gdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvcHkoKTogRmllbGRMb29rdXBFbnVtRGVzY3JpcHRvcjxFbnVtLCBFZGl0b3JNb2RlbD4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IG5ldyBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIEVkaXRvck1vZGVsPih0aGlzLl9lZGl0b3IsIHRoaXMuX3Byb3BlcnR5LCB0aGlzLl9lbnVtTW9kZWwsIFtdKTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICBmaWVsZC5fbG9va3VwVHlwZSA9IHRoaXMuX2xvb2t1cFR5cGU7XG4gICAgICAgIGZpZWxkLl9vcHRpb25zTGFiZWxQcm9wZXJ0eSA9IHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5O1xuICAgICAgICBmaWVsZC5fb3B0aW9uc0Rpc2FibGVkUHJvcGVydHkgPSB0aGlzLl9vcHRpb25zRGlzYWJsZWRQcm9wZXJ0eTtcbiAgICAgICAgZmllbGQuX29wdGlvbnNUcmFja1Byb3BlcnR5ID0gdGhpcy5fb3B0aW9uc1RyYWNrUHJvcGVydHk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG59XG4iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbG9va3VwLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9lZGl0b3IvZGVzY3JpcHRvcnMvZmllbGQtbG9va3VwLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBVUgsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDdEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQWdCLHNCQUFzQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFpQiwyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR3pGLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQXFCekQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBc0IscUJBQW9FLEVBQUUsRUFBRTtJQUN0SSxNQUFNLEdBQUcsR0FBcUUsRUFBRSxDQUFDO0lBQ2pGLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUN4QixJQUFLLHFCQUF1QyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFELHFGQUFxRjtZQUNyRixHQUFHLENBQUMsWUFBWSxHQUFHLHFCQUFpRSxDQUFDO1FBQ3pGLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLFdBQVcsR0FBRyxxQkFBa0QsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLHFCQUNULFNBQVEsZ0JBQXdFO0lBMEJoRixZQUFZLE1BQXNDLEVBQUUsUUFBZ0IsRUFBRSxHQUFtRTtRQUNySSxLQUFLLENBQUMsTUFBTSxFQUFFLFFB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LENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRWUsY0FBYyxDQUFDLElBQXNDO1FBQ2pFLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDakIsR0FBRyxJQUFJO1lBQ1AsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLElBQUksSUFBSTtZQUN0QyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJO1NBQzNDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFZSxJQUFJO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUkseUJBQXlCLENBQW9CLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDekQsS0FBSyxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUMvRCxLQUFLLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIENsYXNzVHlwZSxcbiAgICBFbnVtQ29uc3RhbnRUeXBlLFxuICAgIEVudW1WYWx1ZSxcbiAgICBJRGF0YVByb3ZpZGVyLFxuICAgIElFZGl0b3JEZXNjcmlwdG9yLFxuICAgIElMb29rdXBEYXRhUHJvdmlkZXIsXG4gICAgSUxvb2t1cERlc2NyaXB0b3IsXG4gICAgTG9va3VwRGF0YVByb3ZpZGVyTG9va3VwRm5UeXBlLFxuICAgIFNlcnZpY2VDbGFzc1R5cGUsXG4gICAgZnJvbUVudW1Db25zdGFudHNBc1ZhbHVlQXJyYXksXG4gICAgZnJvbUVudW1WYWx1ZXNBc1ZhbHVlQXJyYXksXG4gICAgZ2V0RW51bUNvbnN0YW50TmFtZVxufSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtJbnB1dFRyaW1UeXBlLCBMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2Zvcm0vYXBpJztcbmltcG9ydCB7RW51bURlc2NyaXB0b3IsIHRyeVNldExvb2t1cEl0ZW1zUHJvcGVydGllc30gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9tb2RlbCc7XG5pbXBvcnQge0lUYWJsZURhdGFQcm92aWRlciwgVGFibGVEZXNjcmlwdG9ySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge0ZpZWxkTG9va3VwQ29uZmlnLCBGaWVsZExvb2t1cFR5cGVFbnVtfSBmcm9tICcuLi9tb2RlbHMvZmllbGQubW9kZWwnO1xuaW1wb3J0IHtBRmllbGREZXNjcmlwdG9yfSBmcm9tICcuL2ZpZWxkLWJhc2UuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIEZpZWxkTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8RWRpdG9yTW9kZWwsIFNlcnZpY2U+ID0gRmllbGRMb29rdXBEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxFZGl0b3JNb2RlbCwgU2VydmljZT4gJiB7XG4gICAgdHlwZT86IENsYXNzVHlwZTxFZGl0b3JNb2RlbD47XG4gICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZExvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0ge1xuICAgIHNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPjtcbiAgICBkYXRhUHJvdmlkZXI/OiBJTG9va3VwRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRMb29rdXBQcm92aWRlclR5cGU8RmllbGRNb2RlbCwgU2VydmljZT4gPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+IHwgSUxvb2t1cERhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcblxuZXhwb3J0IHR5cGUgRmllbGRMb29rdXBBdXRvY29tcGxldGVPcHRzVHlwZSA9IHtcbiAgICBvcGVuT25Gb2N1cz86IGJvb2xlYW47XG4gICAgaW5saW5lU2VhcmNoPzogYm9vbGVhbjtcbiAgICBzZWxlY3RGaXJzdD86IGJvb2xlYW47XG4gICAgYXV0b0NsZWFyPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmaWVsZExvb2t1cEdldFByb3ZpZGVyQ2ZnT2JqID0gPEZpZWxkTW9kZWwsIFNlcnZpY2U+KHNlcnZpY2VPckRhdGFQcm92aWRlcj86IEZpZWxkTG9va3VwUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+KSA9PiB7XG4gICAgY29uc3QgY2ZnOiBGaWVsZExvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0ge307XG4gICAgaWYgKHNlcnZpY2VPckRhdGFQcm92aWRlcikge1xuICAgICAgICBpZiAoKHNlcnZpY2VPckRhdGFQcm92aWRlciBhcyBJRGF0YVByb3ZpZGVyKS5pc0RhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgLy8gdHlwZSBjYXN0aW5nIG5lZWRlZCwgY2F1c2UgdGhlcmUgd2FzIG5vIG90aGVyIHdheSBmb3VuZCB0byBkaWZmZXJlbnRpYXRlIHRoZSB0eXBlc1xuICAgICAgICAgICAgY2ZnLmRhdGFQcm92aWRlciA9IHNlcnZpY2VPckRhdGFQcm92aWRlciBhcyBJTG9va3VwRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2ZnLnNlcnZpY2VUeXBlID0gc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT47XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNmZztcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWVsZExvb2t1cERlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIFNlcnZpY2UgPSBhbnksIEZpZWxkVmFsdWUgPSBGaWVsZE1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD5cbiAgICBleHRlbmRzIEFGaWVsZERlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIEZpZWxkVmFsdWUsIFBhcmVudEVkaXRvck1vZGVsPlxuICAgIGltcGxlbWVudHMgSUxvb2t1cERlc2NyaXB0b3I8RmllbGRNb2RlbCwgU2VydmljZT5cbntcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX29wdGlvbnNWYWx1ZVByb3BlcnR5Pzogc3RyaW5nOyAvLyB0aGlzIGRlZmluZXMgVlQhXG5cbiAgICBwcm90ZWN0ZWQgX2xvb2t1cFR5cGU6IEZpZWxkTG9va3VwVHlwZUVudW0gPSBGaWVsZExvb2t1cFR5cGVFbnVtLkRyb3Bkb3duO1xuICAgIHByb3RlY3RlZCBfb3B0aW9uc0xhYmVsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9vcHRpb25zTGFiZWxUcmFuc2xhdGUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnNEaXNhYmxlZFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfb3B0aW9uc1RyYWNrUHJvcGVydHk/OiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgX2Ryb3Bkb3duQ2xhc3NOYW1lID0gJ21uZy1maWx0ZXItbG9va3VwLWRyb3Bkb3duJztcblxuICAgIHByb3RlY3RlZCBfYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZUF1dG9DbGVhcj86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVTZWxlY3RGaXJzdD86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVJbnB1dFRyaW0/OiBJbnB1dFRyaW1UeXBlO1xuXG4gICAgLy8gVE9ETzogYWRkcmVzcyBQYXJlbnRFZGl0b3JNb2RlbFxuICAgIHByb3RlY3RlZCBfZGlhbG9nVGFibGVEZXNjcmlwdG9yPzogVGFibGVEZXNjcmlwdG9ySW5zdDxGaWVsZE1vZGVsLCBhbnksIGFueT47XG4gICAgcHJvdGVjdGVkIF9kaWFsb2dUYWJsZURhdGFQcm92aWRlcj86IElUYWJsZURhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBhbnksIGFueSwgYW55PjtcblxuICAgIHByb3RlY3RlZCBfY3VzdG9tQ29tcG9uZW50TmFtZT86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGVkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8RWRpdG9yTW9kZWw+LCBwcm9wZXJ0eTogc3RyaW5nLCBjZmc/OiBGaWVsZExvb2t1cERlc2NyaXB0b3JDb25zdHJ1Y3Rvck9wdHNUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+KSB7XG4gICAgICAgIHN1cGVyKGVkaXRvciwgcHJvcGVydHkgYXMgc3RyaW5nKTtcblxuICAgICAgICBpZiAoY2ZnPy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFQcm92aWRlciA9IGNmZy5kYXRhUHJvdmlkZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIgPSBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdChjZmc/LnR5cGUsIGNmZz8uc2VydmljZVR5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb3B0aW9uc1ZhbHVlUHJvcGVydHkgPSBjZmc/Lm9wdGlvbnNWYWx1ZVByb3BlcnR5O1xuXG4gICAgICAgIHRyeVNldExvb2t1cEl0ZW1zUHJvcGVydGllcyh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvb2t1cFR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb29rdXBUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgb3B0aW9uc0xhYmVsUHJvcGVydHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zTGFiZWxQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnNMYWJlbFRyYW5zbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnNWYWx1ZVByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uc1ZhbHVlUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zRGlzYWJsZWRQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNEaXNhYmxlZFByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgb3B0aW9uc1RyYWNrUHJvcGVydHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zVHJhY2tQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZU9wZW5PbkZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVJbmxpbmVTZWFyY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVBdXRvQ2xlYXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVBdXRvQ2xlYXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVTZWxlY3RGaXJzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZVNlbGVjdEZpcnN0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZHJvcGRvd25DbGFzc05hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcm9wZG93bkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpYWxvZ1RhYmxlRGVzY3JpcHRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpYWxvZ1RhYmxlRGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpYWxvZ1RhYmxlRGF0YVByb3ZpZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlhbG9nVGFibGVEYXRhUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21Db21wb25lbnROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VzdG9tQ29tcG9uZW50TmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRyaW1PcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVJbnB1dFRyaW07XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eShwcm9wZXJ0eToga2V5b2YgRmllbGRNb2RlbCwgdHJhbnNsYXRlID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aE9wdGlvbnNMYWJlbFByb3BlcnR5VW5zYWZlKHByb3BlcnR5IGFzIHN0cmluZywgdHJhbnNsYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNMYWJlbFByb3BlcnR5VW5zYWZlKHByb3BlcnR5OiBzdHJpbmcsIHRyYW5zbGF0ZSA9IGZhbHNlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IHRyYW5zbGF0ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhPcHRpb25zRGlzYWJsZWRQcm9wZXJ0eShwcm9wZXJ0eToga2V5b2YgRmllbGRNb2RlbCk6IHRoaXMge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoT3B0aW9uc0Rpc2FibGVkUHJvcGVydHlVbnNhZmUocHJvcGVydHkgYXMgc3RyaW5nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNEaXNhYmxlZFByb3BlcnR5VW5zYWZlKHByb3BlcnR5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0Rpc2FibGVkUHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhPcHRpb25zVHJhY2tQcm9wZXJ0eShwcm9wZXJ0eToga2V5b2YgRmllbGRNb2RlbCk6IHRoaXMge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoT3B0aW9uc1RyYWNrUHJvcGVydHlVbnNhZmUocHJvcGVydHkgYXMgc3RyaW5nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNUcmFja1Byb3BlcnR5VW5zYWZlKHByb3BlcnR5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgaWYgKHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vcHRpb25zVHJhY2tQcm9wZXJ0eSA9IHByb3BlcnR5O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aExvb2t1cChsb29rdXA/OiBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGU8RmllbGRNb2RlbCwgU2VydmljZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyLndpdGhMb29rdXAobG9va3VwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhJbnB1dFRyaW0odHJpbU9wdGlvbjogSW5wdXRUcmltVHlwZSA9ICdib3RoJyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVJbnB1dFRyaW0gPSB0cmltT3B0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd2l0aENvbmZpZyhjb25maWc6IEZpZWxkTG9va3VwQ29uZmlnKTogdGhpcyB7XG4gICAgICAgIHJldHVybiBzdXBlci53aXRoQ29uZmlnKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzQXV0b2NvbXBsZXRlKG9wdHM/OiBGaWVsZExvb2t1cEF1dG9jb21wbGV0ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2xvb2t1cFR5cGUgPSBGaWVsZExvb2t1cFR5cGVFbnVtLkF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlQXV0b0NsZWFyID0gb3B0cz8uYXV0b0NsZWFyO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVTZWxlY3RGaXJzdCA9IG9wdHM/LnNlbGVjdEZpcnN0O1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cyA9IG9wdHM/Lm9wZW5PbkZvY3VzO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2ggPSBvcHRzPy5pbmxpbmVTZWFyY2g7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0RpYWxvZyhsb29rdXBUYWJsZURlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbCwgYW55LCBhbnk+LCB0YWJsZURhdGFQcm92aWRlcj86IElUYWJsZURhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBhbnksIGFueSwgYW55Pik6IHRoaXMge1xuICAgICAgICB0aGlzLl9sb29rdXBUeXBlID0gRmllbGRMb29rdXBUeXBlRW51bS5EaWFsb2c7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1RhYmxlRGVzY3JpcHRvciA9IGxvb2t1cFRhYmxlRGVzY3JpcHRvcjtcbiAgICAgICAgdGhpcy5fZGlhbG9nVGFibGVEYXRhUHJvdmlkZXIgPSB0YWJsZURhdGFQcm92aWRlcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzQ3VzdG9tQ29tcG9uZW50KGN1c3RvbUNvbXBvbmVudE5hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9sb29rdXBUeXBlID0gRmllbGRMb29rdXBUeXBlRW51bS5DdXN0b207XG4gICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudE5hbWUgPSBjdXN0b21Db21wb25lbnROYW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgY29weSgpOiBGaWVsZExvb2t1cERlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIFNlcnZpY2UsIEZpZWxkVmFsdWU+IHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBuZXcgRmllbGRMb29rdXBEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBTZXJ2aWNlLCBGaWVsZFZhbHVlPih0aGlzLl9lZGl0b3IsIHRoaXMuX3Byb3BlcnR5LCB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IHRoaXMuX2RhdGFQcm92aWRlcixcbiAgICAgICAgICAgIG9wdGlvbnNWYWx1ZVByb3BlcnR5OiB0aGlzLl9vcHRpb25zVmFsdWVQcm9wZXJ0eVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICBmaWVsZC5fbG9va3VwVHlwZSA9IHRoaXMuX2xvb2t1cFR5cGU7XG4gICAgICAgIGZpZWxkLl9vcHRpb25zTGFiZWxQcm9wZXJ0eSA9IHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5O1xuICAgICAgICBmaWVsZC5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlID0gdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlO1xuICAgICAgICBmaWVsZC5fb3B0aW9uc0Rpc2FibGVkUHJvcGVydHkgPSB0aGlzLl9vcHRpb25zRGlzYWJsZWRQcm9wZXJ0eTtcbiAgICAgICAgZmllbGQuX29wdGlvbnNUcmFja1Byb3BlcnR5ID0gdGhpcy5fb3B0aW9uc1RyYWNrUHJvcGVydHk7XG4gICAgICAgIGZpZWxkLl9kcm9wZG93bkNsYXNzTmFtZSA9IHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgICAgICBmaWVsZC5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXMgPSB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cztcbiAgICAgICAgZmllbGQuX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaCA9IHRoaXMuX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaDtcbiAgICAgICAgZmllbGQuX2RpYWxvZ1RhYmxlRGVzY3JpcHRvciA9IHRoaXMuX2RpYWxvZ1RhYmxlRGVzY3JpcHRvcjtcbiAgICAgICAgcmV0dXJuIGZpZWxkO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpZWxkTG9va3VwRW51bURlc2NyaXB0b3I8RW51bSwgRWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsID0gdW5kZWZpbmVkPiBleHRlbmRzIEZpZWxkTG9va3VwRGVzY3JpcHRvcjxcbiAgICBFbnVtVmFsdWUsXG4gICAgRWRpdG9yTW9kZWwsXG4gICAgdW5kZWZpbmVkLFxuICAgIEVudW1Db25zdGFudFR5cGUsXG4gICAgUGFyZW50RWRpdG9yTW9kZWxcbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VudW1Nb2RlbDogRW51bURlc2NyaXB0b3I8RW51bT47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uRW51bVZhbHVlczogRW51bVZhbHVlW107XG5cbiAgICBjb25zdHJ1Y3RvcihlZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPEVkaXRvck1vZGVsPiwgcHJvcGVydHk6IHN0cmluZywgZW51bU1vZGVsOiBFbnVtRGVzY3JpcHRvcjxFbnVtPiwgb3B0aW9ucz86IEFycmF5PEVudW0+KSB7XG4gICAgICAgIHN1cGVyKGVkaXRvciwgcHJvcGVydHksIHtcbiAgICAgICAgICAgIGRhdGFQcm92aWRlcjogbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8RW51bVZhbHVlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICBvcHRpb25zVmFsdWVQcm9wZXJ0eTogJ3ZhbHVlJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZW51bU1vZGVsID0gZW51bU1vZGVsO1xuICAgICAgICB0aGlzLl9vcHRpb25FbnVtVmFsdWVzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgICAgICAgPyBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheTxFbnVtPih0aGlzLl9lbnVtTW9kZWwudHlwZSwgb3B0aW9ucywgdGhpcy5fZW51bU1vZGVsLm5hbWVBc1ZhbHVlLCB0aGlzLl9lbnVtTW9kZWwuaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKVxuICAgICAgICAgICAgOiBmcm9tRW51bUNvbnN0YW50c0FzVmFsdWVBcnJheSh0aGlzLl9lbnVtTW9kZWwudHlwZSwgdGhpcy5fZW51bU1vZGVsLm5hbWVBc1ZhbHVlLCB0aGlzLl9lbnVtTW9kZWwuaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy53aXRoTG9va3VwKCgpID0+IG9mKHRoaXMuX29wdGlvbkVudW1WYWx1ZXMpKTtcbiAgICAgICAgdGhpcy53aXRoT3B0aW9uc0xhYmVsUHJvcGVydHkoJ3RpdGxlJywgdGhpcy5fZW51bU1vZGVsLmkxOG5CYXNlS2V5ICE9PSBudWxsKTtcbiAgICAgICAgdGhpcy53aXRoT3B0aW9uc0Rpc2FibGVkUHJvcGVydHkoJ2Rpc2FibGVkJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbnVtTW9kZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnVtTW9kZWw7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEaXNhYmxlZE9wdGlvbnMoLi4uZGlzYWJsZWRPcHRpb25zOiBBcnJheTxFbnVtQ29uc3RhbnRUeXBlPik6IHRoaXMge1xuICAgICAgICBmb3IgKGNvbnN0IGRpc2FibGVkT3B0aW9uIG9mIGRpc2FibGVkT3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWRPcHRpb25WYWx1ZSA9IHRoaXMuX2VudW1Nb2RlbC5uYW1lQXNWYWx1ZSA/IGdldEVudW1Db25zdGFudE5hbWUodGhpcy5fZW51bU1vZGVsLnR5cGUsIGRpc2FibGVkT3B0aW9uKSA6IGRpc2FibGVkT3B0aW9uO1xuICAgICAgICAgICAgaWYgKGRpc2FibGVkT3B0aW9uVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLl9vcHRpb25FbnVtVmFsdWVzLmZpbmQobyA9PiBvLnZhbHVlID09PSBkaXNhYmxlZE9wdGlvblZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlRW51bShkZWZhdWx0VmFsdWU6IEVudW1Db25zdGFudFR5cGUpOiB0aGlzIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE9wdGlvblZhbHVlID0gdGhpcy5fZW51bU1vZGVsLm5hbWVBc1ZhbHVlID8gZ2V0RW51bUNvbnN0YW50TmFtZSh0aGlzLl9lbnVtTW9kZWwudHlwZSwgZGVmYXVsdFZhbHVlKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgaWYgKGRlZmF1bHRPcHRpb25WYWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5fb3B0aW9uRW51bVZhbHVlcy5maW5kKG8gPT4gby52YWx1ZSA9PT0gZGVmYXVsdE9wdGlvblZhbHVlKTtcbiAgICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLndpdGhEZWZhdWx0VmFsdWUob3B0aW9uW3RoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5IGFzIGtleW9mIG9iamVjdF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhc0F1dG9jb21wbGV0ZShvcHRzPzogRmllbGRMb29rdXBBdXRvY29tcGxldGVPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICBzdXBlci5hc0F1dG9jb21wbGV0ZSh7XG4gICAgICAgICAgICAuLi5vcHRzLFxuICAgICAgICAgICAgb3Blbk9uRm9jdXM6IG9wdHM/Lm9wZW5PbkZvY3VzID8/IHRydWUsXG4gICAgICAgICAgICBpbmxpbmVTZWFyY2g6IG9wdHM/LmlubGluZVNlYXJjaCA/PyB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29weSgpOiBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIEVkaXRvck1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkTG9va3VwRW51bURlc2NyaXB0b3I8RW51bSwgRWRpdG9yTW9kZWw+KHRoaXMuX2VkaXRvciwgdGhpcy5fcHJvcGVydHksIHRoaXMuX2VudW1Nb2RlbCwgW10pO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhmaWVsZCk7XG4gICAgICAgIGZpZWxkLl9sb29rdXBUeXBlID0gdGhpcy5fbG9va3VwVHlwZTtcbiAgICAgICAgZmllbGQuX29wdGlvbnNMYWJlbFByb3BlcnR5ID0gdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHk7XG4gICAgICAgIGZpZWxkLl9vcHRpb25zRGlzYWJsZWRQcm9wZXJ0eSA9IHRoaXMuX29wdGlvbnNEaXNhYmxlZFByb3BlcnR5O1xuICAgICAgICBmaWVsZC5fb3B0aW9uc1RyYWNrUHJvcGVydHkgPSB0aGlzLl9vcHRpb25zVHJhY2tQcm9wZXJ0eTtcbiAgICAgICAgcmV0dXJuIGZpZWxkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -80,6 +80,9 @@ export class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
|
|
|
80
80
|
return this;
|
|
81
81
|
}
|
|
82
82
|
withSearch(enabled = true, searchFields) {
|
|
83
|
+
return this.withSearchUnsafe(enabled, searchFields);
|
|
84
|
+
}
|
|
85
|
+
withSearchUnsafe(enabled = true, searchFields) {
|
|
83
86
|
this._searchEnabled = enabled;
|
|
84
87
|
this._searchFields = searchFields;
|
|
85
88
|
return this;
|
|
@@ -150,4 +153,4 @@ export class FieldManyEditorDescriptor extends AFieldDescriptor {
|
|
|
150
153
|
return field;
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWFueS5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLW1hbnkuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQW9ELHFCQUFxQixFQUFzQixNQUFNLGtDQUFrQyxDQUFDO0FBSS9JLE9BQU8sRUFBQyx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSwrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pKLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBV3pELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQXNCLHFCQUE4RSxFQUFFLEVBQUU7SUFDcEosTUFBTSxHQUFHLEdBQStFLEVBQUUsQ0FBQztJQUMzRixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsSUFBSyxxQkFBdUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxRCxxRkFBcUY7WUFDckYsR0FBRyxDQUFDLGtCQUFrQixHQUFHLHFCQUFnRSxDQUFDO1FBQzlGLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLGlCQUFpQixHQUFHLHFCQUFrRCxDQUFDO1FBQy9FLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sK0JBQWtJLFNBQVEsZ0JBS3RKO0lBWUcsWUFDSSxNQUFzQyxFQUN0QyxRQUFnQixFQUNoQixtQkFBb0QsRUFDcEQscUJBQXNELEVBQ3RELEdBQTZFO1FBRTdFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFmcEIsZUFBVSxHQUFrQyw2QkFBNkIsQ0FBQyxzQkFBc0IsQ0FBQztRQUNqRyxhQUFRLEdBQTJDLENBQUMsK0JBQStCLENBQUMsR0FBRyxFQUFF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QUMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BLLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhUHJvdmlkZXIsIElFZGl0b3JEZXNjcmlwdG9yLCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtJVGFibGVEYXRhUHJvdmlkZXIsIFRhYmxlRGF0YVByb3ZpZGVyR2V0QWxsRm5UeXBlLCBUYWJsZURhdGFQcm92aWRlckluc3QsIFRhYmxlRGVzY3JpcHRvckluc3R9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGUvYXBpJztcblxuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vLi4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi5kZXNjcmlwdG9yJztcbmltcG9ydCB7VGFibGV2aWV3RGVzY3JpcHRvckluc3R9IGZyb20gJy4uLy4uL3RhYmxldmlldy9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvcic7XG5pbXBvcnQge0ZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0sIEZpZWxkTWFueUVkaXRvclR5cGVFbnVtLCBGaWVsZE1hbnlUb01hbnlFZGl0b3JBY3Rpb25FbnVtLCBGaWVsZE1hbnlUb01hbnlFZGl0b3JUeXBlRW51bX0gZnJvbSAnLi4vbW9kZWxzL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7QUZpZWxkRGVzY3JpcHRvcn0gZnJvbSAnLi9maWVsZC1iYXNlLmRlc2NyaXB0b3InO1xuXG5leHBvcnQgdHlwZSBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yQ29uc3RydWN0b3JPcHRzVHlwZTxGaWVsZE1vZGVsLCBTZXJ2aWNlPiA9IEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xuXG5leHBvcnQgdHlwZSBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxGaWVsZE1vZGVsLCBTZXJ2aWNlPiA9IHtcbiAgICBsb29rdXBTZXJ2aWNlVHlwZT86IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT47XG4gICAgbG9va3VwRGF0YVByb3ZpZGVyPzogSVRhYmxlRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRNYW55VG9NYW55RWRpdG9yUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiB8IElUYWJsZURhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcblxuZXhwb3J0IGNvbnN0IGZpZWxkTWFueVRvTWFueUdldFByb3ZpZGVyQ2ZnT2JqID0gPEZpZWxkTW9kZWwsIFNlcnZpY2U+KHNlcnZpY2VPckRhdGFQcm92aWRlcj86IEZpZWxkTWFueVRvTWFueUVkaXRvclByb3ZpZGVyVHlwZTxGaWVsZE1vZGVsLCBTZXJ2aWNlPikgPT4ge1xuICAgIGNvbnN0IGNmZzogRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGU8RmllbGRNb2RlbCwgU2VydmljZT4gPSB7fTtcbiAgICBpZiAoc2VydmljZU9yRGF0YVByb3ZpZGVyKSB7XG4gICAgICAgIGlmICgoc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIElEYXRhUHJvdmlkZXIpLmlzRGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICAvLyB0eXBlIGNhc3RpbmcgbmVlZGVkLCBjYXVzZSB0aGVyZSB3YXMgbm8gb3RoZXIgd2F5IGZvdW5kIHRvIGRpZmZlcmVudGlhdGUgdGhlIHR5cGVzXG4gICAgICAgICAgICBjZmcubG9va3VwRGF0YVByb3ZpZGVyID0gc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIElUYWJsZURhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNmZy5sb29rdXBTZXJ2aWNlVHlwZSA9IHNlcnZpY2VPckRhdGFQcm92aWRlciBhcyBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjZmc7XG59O1xuXG5leHBvcnQgY2xhc3MgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcjxGaWVsZE1vZGVsLCBFZGl0b3JNb2RlbCwgU2VydmljZSA9IGFueSwgRmllbGRWYWx1ZSA9IEZpZWxkTW9kZWxbXSwgUGFyZW50RWRpdG9yTW9kZWwgPSB1bmRlZmluZWQ+IGV4dGVuZHMgQUZpZWxkRGVzY3JpcHRvcjxcbiAgICBGaWVsZE1vZGVsLFxuICAgIEVkaXRvck1vZGVsLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgUGFyZW50RWRpdG9yTW9kZWxcbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21haW5UYWJsZURlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbD47IC8vIHRhYmxlIGRlc2NyaXB0b3IgZm9yIG1haW4gdGFibGUgY29tcG9uZW50XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9va3VwVGFibGVEZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PEZpZWxkTW9kZWw+OyAvLyB0YWJsZSBkZXNjcmlwdG9yIGZvciB3aGVyZSBzZWxlY3Qgd2lsbCBiZSBhcHBsaWVkXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9va3VwVGFibGVEYXRhUHJvdmlkZXI6IElUYWJsZURhdGFQcm92aWRlcjxGaWVsZE1vZGVsLCBTZXJ2aWNlPjtcbiAgICBwcml2YXRlIF9maWVsZFR5cGU6IEZpZWxkTWFueVRvTWFueUVkaXRvclR5cGVFbnVtID0gRmllbGRNYW55VG9NYW55RWRpdG9yVHlwZUVudW0uRGlhbG9nVGFibGVNdWx0aXNlbGVjdDtcbiAgICBwcml2YXRlIF9hY3Rpb25zOiBBcnJheTxGaWVsZE1hbnlUb01hbnlFZGl0b3JBY3Rpb25FbnVtPiA9IFtGaWVsZE1hbnlUb01hbnlFZGl0b3JBY3Rpb25FbnVtLkFkZCwgRmllbGRNYW55VG9NYW55RWRpdG9yQWN0aW9uRW51bS5EZWxldGVdO1xuICAgIHByaXZhdGUgX2hhc0xvb2t1cEV4Y2x1ZGVWYWx1ZXMgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9leGNsdWRlRmlsdGVyUHJvcGVydHkgPSAnJztcbiAgICBwcml2YXRlIF9leGNsdWRlVmFsdWVQcm9wZXJ0eSA9ICcnO1xuICAgIHByaXZhdGUgX3NlYXJjaEVuYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9zZWFyY2hGaWVsZHM/OiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPEVkaXRvck1vZGVsPixcbiAgICAgICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgbWFpblRhYmxlRGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxGaWVsZE1vZGVsPixcbiAgICAgICAgbG9va3VwVGFibGVEZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PEZpZWxkTW9kZWw+LFxuICAgICAgICBjZmc/OiBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yQ29uc3RydWN0b3JPcHRzVHlwZTxGaWVsZE1vZGVsLCBTZXJ2aWNlPlxuICAgICkge1xuICAgICAgICBzdXBlcihlZGl0b3IsIHByb3BlcnR5KTtcbiAgICAgICAgdGhpcy5fbWFpblRhYmxlRGVzY3JpcHRvciA9IG1haW5UYWJsZURlc2NyaXB0b3I7XG4gICAgICAgIHRoaXMuX2xvb2t1cFRhYmxlRGVzY3JpcHRvciA9IGxvb2t1cFRhYmxlRGVzY3JpcHRvcjtcblxuICAgICAgICBpZiAoY2ZnPy5sb29rdXBEYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvb2t1cFRhYmxlRGF0YVByb3ZpZGVyID0gY2ZnLmxvb2t1cERhdGFQcm92aWRlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xvb2t1cFRhYmxlRGF0YVByb3ZpZGVyID0gbmV3IFRhYmxlRGF0YVByb3ZpZGVySW5zdChsb29rdXBUYWJsZURlc2NyaXB0b3IubW9kZWwudHlwZSwgY2ZnPy5sb29rdXBTZXJ2aWNlVHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpZWxkVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3Rpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTG9va3VwRXhjbHVkZVZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc0xvb2t1cEV4Y2x1ZGVWYWx1ZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBleGNsdWRlRmlsdGVyUHJvcGVydHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leGNsdWRlRmlsdGVyUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBleGNsdWRlVmFsdWVQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4Y2x1ZGVWYWx1ZVByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWFpblRhYmxlRGVzY3JpcHRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21haW5UYWJsZURlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb29rdXBUYWJsZURlc2NyaXB0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb29rdXBUYWJsZURlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb29rdXBUYWJsZURhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cFRhYmxlRGF0YVByb3ZpZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2VhcmNoRW5hYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaEVuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWFyY2hGaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hGaWVsZHM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhMb29rdXAoZm46IFRhYmxlRGF0YVByb3ZpZGVyR2V0QWxsRm5UeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2xvb2t1cFRhYmxlRGF0YVByb3ZpZGVyLndpdGhHZXRBbGwoZm4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEFjdGlvbnMoYWN0aW9uczogQXJyYXk8RmllbGRNYW55VG9NYW55RWRpdG9yQWN0aW9uRW51bT4gPSBbXSk6IHRoaXMge1xuICAgICAgICB0aGlzLmFjdGlvbnMucHVzaCguLi5hY3Rpb25zKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhMb29rdXBFeGNsdWRlKGZpbHRlclByb3BlcnR5OiBrZXlvZiBGaWVsZE1vZGVsLCB2YWx1ZVByb3BlcnR5OiBrZXlvZiBGaWVsZE1vZGVsLCBoYXNMb29rdXBFeGNsdWRlID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoTG9va3VwRXhjbHVkZVVuc2FmZShmaWx0ZXJQcm9wZXJ0eSBhcyBzdHJpbmcsIHZhbHVlUHJvcGVydHkgYXMgc3RyaW5nLCBoYXNMb29rdXBFeGNsdWRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aExvb2t1cEV4Y2x1ZGVVbnNhZmUoZmlsdGVyUHJvcGVydHk6IHN0cmluZywgdmFsdWVQcm9wZXJ0eTogc3RyaW5nLCBoYXNMb29rdXBFeGNsdWRlID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9oYXNMb29rdXBFeGNsdWRlVmFsdWVzID0gaGFzTG9va3VwRXhjbHVkZTtcbiAgICAgICAgdGhpcy5fZXhjbHVkZUZpbHRlclByb3BlcnR5ID0gZmlsdGVyUHJvcGVydHk7XG4gICAgICAgIHRoaXMuX2V4Y2x1ZGVWYWx1ZVByb3BlcnR5ID0gdmFsdWVQcm9wZXJ0eTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhTZWFyY2goZW5hYmxlZCA9IHRydWUsIHNlYXJjaEZpZWxkcz86IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3NlYXJjaEVuYWJsZWQgPSBlbmFibGVkO1xuICAgICAgICB0aGlzLl9zZWFyY2hGaWVsZHMgPSBzZWFyY2hGaWVsZHM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KCk6IEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIFNlcnZpY2UsIEZpZWxkVmFsdWU+IHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBuZXcgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcjxGaWVsZE1vZGVsLCBFZGl0b3JNb2RlbCwgU2VydmljZSwgRmllbGRWYWx1ZT4oXG4gICAgICAgICAgICB0aGlzLl9lZGl0b3IsXG4gICAgICAgICAgICB0aGlzLl9wcm9wZXJ0eSxcbiAgICAgICAgICAgIHRoaXMuX21haW5UYWJsZURlc2NyaXB0b3IuY29weSgpLFxuICAgICAgICAgICAgdGhpcy5fbG9va3VwVGFibGVEZXNjcmlwdG9yLmNvcHkoKSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsb29rdXBEYXRhUHJvdmlkZXI6IHRoaXMubG9va3VwVGFibGVEYXRhUHJvdmlkZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICBmaWVsZC5fZmllbGRUeXBlID0gdGhpcy5fZmllbGRUeXBlO1xuICAgICAgICBmaWVsZC5fYWN0aW9ucyA9IHRoaXMuX2FjdGlvbnMubWFwKGEgPT4gYSk7XG4gICAgICAgIGZpZWxkLl9oYXNMb29rdXBFeGNsdWRlVmFsdWVzID0gdGhpcy5faGFzTG9va3VwRXhjbHVkZVZhbHVlcztcbiAgICAgICAgZmllbGQuX2V4Y2x1ZGVGaWx0ZXJQcm9wZXJ0eSA9IHRoaXMuX2V4Y2x1ZGVGaWx0ZXJQcm9wZXJ0eTtcbiAgICAgICAgZmllbGQuX2V4Y2x1ZGVWYWx1ZVByb3BlcnR5ID0gdGhpcy5fZXhjbHVkZVZhbHVlUHJvcGVydHk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBGaWVsZFZhbHVlID0gRmllbGRNb2RlbFtdLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD4gZXh0ZW5kcyBBRmllbGREZXNjcmlwdG9yPFxuICAgIEZpZWxkTW9kZWwsXG4gICAgRWRpdG9yTW9kZWwsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBQYXJlbnRFZGl0b3JNb2RlbFxuPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGV2aWV3RGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbCwgYW55LCBhbnksIEVkaXRvck1vZGVsPjtcbiAgICBwcml2YXRlIF9maWVsZFR5cGU6IEZpZWxkTWFueUVkaXRvclR5cGVFbnVtID0gRmllbGRNYW55RWRpdG9yVHlwZUVudW0uRGlhbG9nRWRpdG9yO1xuICAgIHByaXZhdGUgX2ZpZWxkQWN0aW9uczogQXJyYXk8RmllbGRNYW55RWRpdG9yQWN0aW9uRW51bT4gPSBbXTtcbiAgICBwcml2YXRlIF9hY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9ySW5zdDxGaWVsZE1vZGVsPj4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKGVkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8RWRpdG9yTW9kZWwsIEVkaXRvck1vZGVsPiwgcHJvcGVydHk6IHN0cmluZywgdGFibGV2aWV3RGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbCwgYW55LCBhbnksIEVkaXRvck1vZGVsPikge1xuICAgICAgICBzdXBlcihlZGl0b3IsIHByb3BlcnR5KTtcbiAgICAgICAgdGhpcy5fdGFibGV2aWV3RGVzY3JpcHRvciA9IHRhYmxldmlld0Rlc2NyaXB0b3I7XG4gICAgICAgIHRoaXMuX2ZpZWxkQWN0aW9ucy5wdXNoKEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0uVmlldywgRmllbGRNYW55RWRpdG9yQWN0aW9uRW51bS5BZGQsIEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0uRWRpdCwgRmllbGRNYW55RWRpdG9yQWN0aW9uRW51bS5EZWxldGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmllbGRUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmllbGRBY3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRBY3Rpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0YWJsZXZpZXdEZXNjcmlwdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGV2aWV3RGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRhYmxlRGVzY3JpcHRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxldmlld0Rlc2NyaXB0b3IudGFibGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlZGl0b3JGb3JDcmVhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZXZpZXdEZXNjcmlwdG9yLmFkZEVkaXRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVkaXRvckZvclJlYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZXZpZXdEZXNjcmlwdG9yLmRldGFpbHNFZGl0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlZGl0b3JGb3JVcGRhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZXZpZXdEZXNjcmlwdG9yLmVkaXRFZGl0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhGaWVsZEFjdGlvbihhY3Rpb246IEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRBY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhGaWVsZEFjdGlvbnMoYWN0aW9uczogRmllbGRNYW55RWRpdG9yQWN0aW9uRW51bVtdKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkQWN0aW9ucyA9IGFjdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoQWN0aW9uKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbD4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KCk6IEZpZWxkTWFueUVkaXRvckRlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIEZpZWxkVmFsdWUsIFBhcmVudEVkaXRvck1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkTWFueUVkaXRvckRlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIEZpZWxkVmFsdWUsIFBhcmVudEVkaXRvck1vZGVsPih0aGlzLl9lZGl0b3IsIHRoaXMuX3Byb3BlcnR5LCB0aGlzLl90YWJsZXZpZXdEZXNjcmlwdG9yLmNvcHkoKSk7XG4gICAgICAgIHRoaXMuY29weUZpZWxkc1RvKGZpZWxkKTtcbiAgICAgICAgZmllbGQuX2ZpZWxkVHlwZSA9IHRoaXMuX2ZpZWxkVHlwZTtcbiAgICAgICAgZmllbGQuX2ZpZWxkQWN0aW9ucyA9IHRoaXMuX2ZpZWxkQWN0aW9ucy5tYXAoYSA9PiBhKTtcbiAgICAgICAgcmV0dXJuIGZpZWxkO1xuICAgIH1cbn1cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWFueS5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvZWRpdG9yL2Rlc2NyaXB0b3JzL2ZpZWxkLW1hbnkuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQW9ELHFCQUFxQixFQUFzQixNQUFNLGtDQUFrQyxDQUFDO0FBSS9JLE9BQU8sRUFBQyx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSwrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pKLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBV3pELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQXNCLHFCQUE4RSxFQUFFLEVBQUU7SUFDcEosTUFBTSxHQUFHLEdBQStFLEVBQUUsQ0FBQztJQUMzRixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsSUFBSyxxQkFBdUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxRCxxRkFBcUY7WUFDckYsR0FBRyxDQUFDLGtCQUFrQixHQUFHLHFCQUFnRSxDQUFDO1FBQzlGLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLGlCQUFpQixHQUFHLHFCQUFrRCxDQUFDO1FBQy9FLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sK0JBQWtJLFNBQVEsZ0JBS3RKO0lBWUcsWUFDSSxNQUFzQyxFQUN0QyxRQUFnQixFQUNoQixtQkFBb0QsRUFDcEQscUJBQXNELEVBQ3RELEdBQTZFO1FBRTdFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFmcEIsZUFBVSxHQUFrQyw2QkFBNkIsQ0FBQyxzQkFBc0IsQ0FBQztRQUNqRyxhQUFRLEdBQTJDLENBQUMsK0JBQStCLENBQUMsR0FBRyxFQUFF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LENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLElBQUk7UUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLHlCQUF5QixDQUF5RCxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEssSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsS0FBSyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SURhdGFQcm92aWRlciwgSUVkaXRvckRlc2NyaXB0b3IsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge0lUYWJsZURhdGFQcm92aWRlciwgVGFibGVEYXRhUHJvdmlkZXJHZXRBbGxGblR5cGUsIFRhYmxlRGF0YVByb3ZpZGVySW5zdCwgVGFibGVEZXNjcmlwdG9ySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi8uLi9hY3Rpb24vZGVzY3JpcHRvcnMvYWN0aW9uLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L2Rlc2NyaXB0b3JzL3RhYmxldmlldy5kZXNjcmlwdG9yJztcbmltcG9ydCB7RmllbGRNYW55RWRpdG9yQWN0aW9uRW51bSwgRmllbGRNYW55RWRpdG9yVHlwZUVudW0sIEZpZWxkTWFueVRvTWFueUVkaXRvckFjdGlvbkVudW0sIEZpZWxkTWFueVRvTWFueUVkaXRvclR5cGVFbnVtfSBmcm9tICcuLi9tb2RlbHMvZmllbGQubW9kZWwnO1xuaW1wb3J0IHtBRmllbGREZXNjcmlwdG9yfSBmcm9tICcuL2ZpZWxkLWJhc2UuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3JDb25zdHJ1Y3Rvck9wdHNUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0gRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGU8RmllbGRNb2RlbCwgU2VydmljZT47XG5cbmV4cG9ydCB0eXBlIEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+ID0ge1xuICAgIGxvb2t1cFNlcnZpY2VUeXBlPzogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPjtcbiAgICBsb29rdXBEYXRhUHJvdmlkZXI/OiBJVGFibGVEYXRhUHJvdmlkZXI8RmllbGRNb2RlbCwgU2VydmljZT47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZE1hbnlUb01hbnlFZGl0b3JQcm92aWRlclR5cGU8RmllbGRNb2RlbCwgU2VydmljZT4gPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+IHwgSVRhYmxlRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xuXG5leHBvcnQgY29uc3QgZmllbGRNYW55VG9NYW55R2V0UHJvdmlkZXJDZmdPYmogPSA8RmllbGRNb2RlbCwgU2VydmljZT4oc2VydmljZU9yRGF0YVByb3ZpZGVyPzogRmllbGRNYW55VG9NYW55RWRpdG9yUHJvdmlkZXJUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+KSA9PiB7XG4gICAgY29uc3QgY2ZnOiBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxGaWVsZE1vZGVsLCBTZXJ2aWNlPiA9IHt9O1xuICAgIGlmIChzZXJ2aWNlT3JEYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgaWYgKChzZXJ2aWNlT3JEYXRhUHJvdmlkZXIgYXMgSURhdGFQcm92aWRlcikuaXNEYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIC8vIHR5cGUgY2FzdGluZyBuZWVkZWQsIGNhdXNlIHRoZXJlIHdhcyBubyBvdGhlciB3YXkgZm91bmQgdG8gZGlmZmVyZW50aWF0ZSB0aGUgdHlwZXNcbiAgICAgICAgICAgIGNmZy5sb29rdXBEYXRhUHJvdmlkZXIgPSBzZXJ2aWNlT3JEYXRhUHJvdmlkZXIgYXMgSVRhYmxlRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2ZnLmxvb2t1cFNlcnZpY2VUeXBlID0gc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT47XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNmZztcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBTZXJ2aWNlID0gYW55LCBGaWVsZFZhbHVlID0gRmllbGRNb2RlbFtdLCBQYXJlbnRFZGl0b3JNb2RlbCA9IHVuZGVmaW5lZD4gZXh0ZW5kcyBBRmllbGREZXNjcmlwdG9yPFxuICAgIEZpZWxkTW9kZWwsXG4gICAgRWRpdG9yTW9kZWwsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBQYXJlbnRFZGl0b3JNb2RlbFxuPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWFpblRhYmxlRGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxGaWVsZE1vZGVsPjsgLy8gdGFibGUgZGVzY3JpcHRvciBmb3IgbWFpbiB0YWJsZSBjb21wb25lbnRcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9sb29rdXBUYWJsZURlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbD47IC8vIHRhYmxlIGRlc2NyaXB0b3IgZm9yIHdoZXJlIHNlbGVjdCB3aWxsIGJlIGFwcGxpZWRcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9sb29rdXBUYWJsZURhdGFQcm92aWRlcjogSVRhYmxlRGF0YVByb3ZpZGVyPEZpZWxkTW9kZWwsIFNlcnZpY2U+O1xuICAgIHByaXZhdGUgX2ZpZWxkVHlwZTogRmllbGRNYW55VG9NYW55RWRpdG9yVHlwZUVudW0gPSBGaWVsZE1hbnlUb01hbnlFZGl0b3JUeXBlRW51bS5EaWFsb2dUYWJsZU11bHRpc2VsZWN0O1xuICAgIHByaXZhdGUgX2FjdGlvbnM6IEFycmF5PEZpZWxkTWFueVRvTWFueUVkaXRvckFjdGlvbkVudW0+ID0gW0ZpZWxkTWFueVRvTWFueUVkaXRvckFjdGlvbkVudW0uQWRkLCBGaWVsZE1hbnlUb01hbnlFZGl0b3JBY3Rpb25FbnVtLkRlbGV0ZV07XG4gICAgcHJpdmF0ZSBfaGFzTG9va3VwRXhjbHVkZVZhbHVlcyA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2V4Y2x1ZGVGaWx0ZXJQcm9wZXJ0eSA9ICcnO1xuICAgIHByaXZhdGUgX2V4Y2x1ZGVWYWx1ZVByb3BlcnR5ID0gJyc7XG4gICAgcHJpdmF0ZSBfc2VhcmNoRW5hYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3NlYXJjaEZpZWxkcz86IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8RWRpdG9yTW9kZWw+LFxuICAgICAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgICAgICBtYWluVGFibGVEZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PEZpZWxkTW9kZWw+LFxuICAgICAgICBsb29rdXBUYWJsZURlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbD4sXG4gICAgICAgIGNmZz86IEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3JDb25zdHJ1Y3Rvck9wdHNUeXBlPEZpZWxkTW9kZWwsIFNlcnZpY2U+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVkaXRvciwgcHJvcGVydHkpO1xuICAgICAgICB0aGlzLl9tYWluVGFibGVEZXNjcmlwdG9yID0gbWFpblRhYmxlRGVzY3JpcHRvcjtcbiAgICAgICAgdGhpcy5fbG9va3VwVGFibGVEZXNjcmlwdG9yID0gbG9va3VwVGFibGVEZXNjcmlwdG9yO1xuXG4gICAgICAgIGlmIChjZmc/Lmxvb2t1cERhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5fbG9va3VwVGFibGVEYXRhUHJvdmlkZXIgPSBjZmcubG9va3VwRGF0YVByb3ZpZGVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbG9va3VwVGFibGVEYXRhUHJvdmlkZXIgPSBuZXcgVGFibGVEYXRhUHJvdmlkZXJJbnN0KGxvb2t1cFRhYmxlRGVzY3JpcHRvci5tb2RlbC50eXBlLCBjZmc/Lmxvb2t1cFNlcnZpY2VUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmllbGRUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNMb29rdXBFeGNsdWRlVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzTG9va3VwRXhjbHVkZVZhbHVlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGV4Y2x1ZGVGaWx0ZXJQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4Y2x1ZGVGaWx0ZXJQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGV4Y2x1ZGVWYWx1ZVByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhjbHVkZVZhbHVlUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYWluVGFibGVEZXNjcmlwdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWFpblRhYmxlRGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvb2t1cFRhYmxlRGVzY3JpcHRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cFRhYmxlRGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvb2t1cFRhYmxlRGF0YVByb3ZpZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9va3VwVGFibGVEYXRhUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWFyY2hFbmFibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoRW5hYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNlYXJjaEZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaEZpZWxkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aExvb2t1cChmbjogVGFibGVEYXRhUHJvdmlkZXJHZXRBbGxGblR5cGU8RmllbGRNb2RlbCwgU2VydmljZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVGFibGVEYXRhUHJvdmlkZXIud2l0aEdldEFsbChmbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoQWN0aW9ucyhhY3Rpb25zOiBBcnJheTxGaWVsZE1hbnlUb01hbnlFZGl0b3JBY3Rpb25FbnVtPiA9IFtdKTogdGhpcyB7XG4gICAgICAgIHRoaXMuYWN0aW9ucy5wdXNoKC4uLmFjdGlvbnMpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aExvb2t1cEV4Y2x1ZGUoZmlsdGVyUHJvcGVydHk6IGtleW9mIEZpZWxkTW9kZWwsIHZhbHVlUHJvcGVydHk6IGtleW9mIEZpZWxkTW9kZWwsIGhhc0xvb2t1cEV4Y2x1ZGUgPSB0cnVlKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhMb29rdXBFeGNsdWRlVW5zYWZlKGZpbHRlclByb3BlcnR5IGFzIHN0cmluZywgdmFsdWVQcm9wZXJ0eSBhcyBzdHJpbmcsIGhhc0xvb2t1cEV4Y2x1ZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTG9va3VwRXhjbHVkZVVuc2FmZShmaWx0ZXJQcm9wZXJ0eTogc3RyaW5nLCB2YWx1ZVByb3BlcnR5OiBzdHJpbmcsIGhhc0xvb2t1cEV4Y2x1ZGUgPSB0cnVlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2hhc0xvb2t1cEV4Y2x1ZGVWYWx1ZXMgPSBoYXNMb29rdXBFeGNsdWRlO1xuICAgICAgICB0aGlzLl9leGNsdWRlRmlsdGVyUHJvcGVydHkgPSBmaWx0ZXJQcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fZXhjbHVkZVZhbHVlUHJvcGVydHkgPSB2YWx1ZVByb3BlcnR5O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFNlYXJjaChlbmFibGVkID0gdHJ1ZSwgc2VhcmNoRmllbGRzPzogKGtleW9mIEZpZWxkTW9kZWwpW10pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aFNlYXJjaFVuc2FmZShlbmFibGVkLCBzZWFyY2hGaWVsZHMgYXMgc3RyaW5nW10gfCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoU2VhcmNoVW5zYWZlKGVuYWJsZWQgPSB0cnVlLCBzZWFyY2hGaWVsZHM/OiBzdHJpbmdbXSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9zZWFyY2hFbmFibGVkID0gZW5hYmxlZDtcbiAgICAgICAgdGhpcy5fc2VhcmNoRmllbGRzID0gc2VhcmNoRmllbGRzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgY29weSgpOiBGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBTZXJ2aWNlLCBGaWVsZFZhbHVlPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3I8RmllbGRNb2RlbCwgRWRpdG9yTW9kZWwsIFNlcnZpY2UsIEZpZWxkVmFsdWU+KFxuICAgICAgICAgICAgdGhpcy5fZWRpdG9yLFxuICAgICAgICAgICAgdGhpcy5fcHJvcGVydHksXG4gICAgICAgICAgICB0aGlzLl9tYWluVGFibGVEZXNjcmlwdG9yLmNvcHkoKSxcbiAgICAgICAgICAgIHRoaXMuX2xvb2t1cFRhYmxlRGVzY3JpcHRvci5jb3B5KCksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbG9va3VwRGF0YVByb3ZpZGVyOiB0aGlzLmxvb2t1cFRhYmxlRGF0YVByb3ZpZGVyXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29weUZpZWxkc1RvKGZpZWxkKTtcbiAgICAgICAgZmllbGQuX2ZpZWxkVHlwZSA9IHRoaXMuX2ZpZWxkVHlwZTtcbiAgICAgICAgZmllbGQuX2FjdGlvbnMgPSB0aGlzLl9hY3Rpb25zLm1hcChhID0+IGEpO1xuICAgICAgICBmaWVsZC5faGFzTG9va3VwRXhjbHVkZVZhbHVlcyA9IHRoaXMuX2hhc0xvb2t1cEV4Y2x1ZGVWYWx1ZXM7XG4gICAgICAgIGZpZWxkLl9leGNsdWRlRmlsdGVyUHJvcGVydHkgPSB0aGlzLl9leGNsdWRlRmlsdGVyUHJvcGVydHk7XG4gICAgICAgIGZpZWxkLl9leGNsdWRlVmFsdWVQcm9wZXJ0eSA9IHRoaXMuX2V4Y2x1ZGVWYWx1ZVByb3BlcnR5O1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcjxGaWVsZE1vZGVsLCBFZGl0b3JNb2RlbCwgRmllbGRWYWx1ZSA9IEZpZWxkTW9kZWxbXSwgUGFyZW50RWRpdG9yTW9kZWwgPSB1bmRlZmluZWQ+IGV4dGVuZHMgQUZpZWxkRGVzY3JpcHRvcjxcbiAgICBGaWVsZE1vZGVsLFxuICAgIEVkaXRvck1vZGVsLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgUGFyZW50RWRpdG9yTW9kZWxcbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxldmlld0Rlc2NyaXB0b3I6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PEZpZWxkTW9kZWwsIGFueSwgYW55LCBFZGl0b3JNb2RlbD47XG4gICAgcHJpdmF0ZSBfZmllbGRUeXBlOiBGaWVsZE1hbnlFZGl0b3JUeXBlRW51bSA9IEZpZWxkTWFueUVkaXRvclR5cGVFbnVtLkRpYWxvZ0VkaXRvcjtcbiAgICBwcml2YXRlIF9maWVsZEFjdGlvbnM6IEFycmF5PEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0+ID0gW107XG4gICAgcHJpdmF0ZSBfYWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvckluc3Q8RmllbGRNb2RlbD4+ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihlZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPEVkaXRvck1vZGVsLCBFZGl0b3JNb2RlbD4sIHByb3BlcnR5OiBzdHJpbmcsIHRhYmxldmlld0Rlc2NyaXB0b3I6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PEZpZWxkTW9kZWwsIGFueSwgYW55LCBFZGl0b3JNb2RlbD4pIHtcbiAgICAgICAgc3VwZXIoZWRpdG9yLCBwcm9wZXJ0eSk7XG4gICAgICAgIHRoaXMuX3RhYmxldmlld0Rlc2NyaXB0b3IgPSB0YWJsZXZpZXdEZXNjcmlwdG9yO1xuICAgICAgICB0aGlzLl9maWVsZEFjdGlvbnMucHVzaChGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLlZpZXcsIEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0uQWRkLCBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkVkaXQsIEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW0uRGVsZXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpZWxkVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpZWxkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkQWN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3Rpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGFibGV2aWV3RGVzY3JpcHRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxldmlld0Rlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0YWJsZURlc2NyaXB0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZXZpZXdEZXNjcmlwdG9yLnRhYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWRpdG9yRm9yQ3JlYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGV2aWV3RGVzY3JpcHRvci5hZGRFZGl0b3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlZGl0b3JGb3JSZWFkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGV2aWV3RGVzY3JpcHRvci5kZXRhaWxzRWRpdG9yO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWRpdG9yRm9yVXBkYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGV2aWV3RGVzY3JpcHRvci5lZGl0RWRpdG9yO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRmllbGRBY3Rpb24oYWN0aW9uOiBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkQWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRmllbGRBY3Rpb25zKGFjdGlvbnM6IEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW1bXSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZEFjdGlvbnMgPSBhY3Rpb25zO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEFjdGlvbihhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3JJbnN0PEZpZWxkTW9kZWw+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgY29weSgpOiBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBGaWVsZFZhbHVlLCBQYXJlbnRFZGl0b3JNb2RlbD4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IG5ldyBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yPEZpZWxkTW9kZWwsIEVkaXRvck1vZGVsLCBGaWVsZFZhbHVlLCBQYXJlbnRFZGl0b3JNb2RlbD4odGhpcy5fZWRpdG9yLCB0aGlzLl9wcm9wZXJ0eSwgdGhpcy5fdGFibGV2aWV3RGVzY3JpcHRvci5jb3B5KCkpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhmaWVsZCk7XG4gICAgICAgIGZpZWxkLl9maWVsZFR5cGUgPSB0aGlzLl9maWVsZFR5cGU7XG4gICAgICAgIGZpZWxkLl9maWVsZEFjdGlvbnMgPSB0aGlzLl9maWVsZEFjdGlvbnMubWFwKGEgPT4gYSk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { fromEnumConstantsAsValueArray, fromEnumValuesAsValueArray } from '@mediusinc/mng-commons/core';
|
|
2
|
-
import { emailValidationName, emailValidator, maxDateValidationName, maxDateValidator, minDateValidationName, minDateValidator } from '../helpers/field-validators';
|
|
3
2
|
import { FieldInputTypeEnum } from '../models/field.model';
|
|
4
3
|
import { AFieldDescriptor } from './field-base.descriptor';
|
|
5
4
|
export class FieldInputDescriptor extends AFieldDescriptor {
|
|
@@ -117,6 +116,9 @@ export class FieldInputDescriptor extends AFieldDescriptor {
|
|
|
117
116
|
get trimOption() {
|
|
118
117
|
return this._inputTrim;
|
|
119
118
|
}
|
|
119
|
+
get validationEmail() {
|
|
120
|
+
return this._validationEmail;
|
|
121
|
+
}
|
|
120
122
|
get mask() {
|
|
121
123
|
return this._mask;
|
|
122
124
|
}
|
|
@@ -235,12 +237,6 @@ export class FieldInputDescriptor extends AFieldDescriptor {
|
|
|
235
237
|
noTimeZone: opts?.noTimeZone,
|
|
236
238
|
noTime: opts?.noTime
|
|
237
239
|
});
|
|
238
|
-
if (opts?.min != undefined) {
|
|
239
|
-
this.withValidation(minDateValidationName, minDateValidator(opts.min));
|
|
240
|
-
}
|
|
241
|
-
if (opts?.max !== undefined) {
|
|
242
|
-
this.withValidation(maxDateValidationName, maxDateValidator(opts.max));
|
|
243
|
-
}
|
|
244
240
|
return this;
|
|
245
241
|
}
|
|
246
242
|
asMask(mask, slotChar) {
|
|
@@ -313,12 +309,7 @@ export class FieldInputDescriptor extends AFieldDescriptor {
|
|
|
313
309
|
return this;
|
|
314
310
|
}
|
|
315
311
|
withTextValidationEmail(email = true) {
|
|
316
|
-
|
|
317
|
-
this.withValidation(emailValidationName, emailValidator());
|
|
318
|
-
}
|
|
319
|
-
else if (!email) {
|
|
320
|
-
this.removeValidation(emailValidationName);
|
|
321
|
-
}
|
|
312
|
+
this._validationEmail = email;
|
|
322
313
|
return this;
|
|
323
314
|
}
|
|
324
315
|
withFileOnSelectHandler(fn) {
|
|
@@ -366,7 +357,8 @@ export class FieldInputDescriptor extends AFieldDescriptor {
|
|
|
366
357
|
field._currencyDisplay = this._currencyDisplay;
|
|
367
358
|
field._currencyFromProperty = this._currencyFromProperty;
|
|
368
359
|
field._inputTrim = this._inputTrim;
|
|
360
|
+
field._validationEmail = this._validationEmail;
|
|
369
361
|
return field;
|
|
370
362
|
}
|
|
371
363
|
}
|
|
372
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBb0IsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUl6SCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEssT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFvRnpELE1BQU0sT0FBTyxvQkFBaUksU0FBUSxnQkFLcko7SUE0REcsWUFBWSxNQUFzQyxFQUFFLFFBQWdCO1FBQ2hFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUE1RHBCLGVBQVUsR0FBdUIsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBWXpELHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUsxQixxQkFBZ0IsR0FBK0IsUUFBUSxDQUFDO1FBR2hFLDRCQUE0QjtRQUNwQixrQkFBYSxHQUFzQixFQUFFLENBQUM7SUF3QzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFNBQTZCLEVBQUUsR0FBRyxJQUFXO1FBQ3ZELFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDaEIsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixLQUFLLGtCQUFrQixDQUFDLEtBQUs7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLEtBQUssa0JBQWtCLENB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Q0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDL0MsS0FBSyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RCxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7SUVkaXRvckRlc2NyaXB0b3IsIGZyb21FbnVtQ29uc3RhbnRzQXNWYWx1ZUFycmF5LCBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7SW5wdXRUcmltVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5pbXBvcnQge0VudW1EZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtlbWFpbFZhbGlkYXRpb25OYW1lLCBlbWFpbFZhbGlkYXRvciwgbWF4RGF0ZVZhbGlkYXRpb25OYW1lLCBtYXhEYXRlVmFsaWRhdG9yLCBtaW5EYXRlVmFsaWRhdGlvbk5hbWUsIG1pbkRhdGVWYWxpZGF0b3J9IGZyb20gJy4uL2hlbHBlcnMvZmllbGQtdmFsaWRhdG9ycyc7XG5pbXBvcnQge0ZpZWxkSW5wdXRUeXBlRW51bX0gZnJvbSAnLi4vbW9kZWxzL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7QUZvcm1seUN1c3RvbUZpZWxkQ29tcG9uZW50fSBmcm9tICcuLi9tb2RlbHMvZm9ybWx5LWN1c3RvbS1maWVsZC5tb2RlbCc7XG5pbXBvcnQge1JhZGlvVmFsdWV9IGZyb20gJy4uL21vZGVscy9yYWRpby5tb2RlbCc7XG5pbXBvcnQge0FGaWVsZERlc2NyaXB0b3J9IGZyb20gJy4vZmllbGQtYmFzZS5kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dERlc2NyaXB0b3JUeXBlID0gc3RyaW5nIHwgc3RyaW5nW10gfCBudW1iZXIgfCBib29sZWFuIHwgRGF0ZSB8IEZpbGUgfCBGaWxlW107XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXRUZXh0T3B0c1R5cGUgPSB7XG4gICAgZW1haWw/OiBib29sZWFuO1xufSAmIEZpZWxkSW5wdXRUZXh0VmFsaWRhdGlvbk9wdHNUeXBlO1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0VGV4dGFyZWFPcHRzVHlwZSA9IHtcbiAgICByb3dzPzogbnVtYmVyO1xufSAmIEZpZWxkSW5wdXRUZXh0VmFsaWRhdGlvbk9wdHNUeXBlO1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0VGV4dFZhbGlkYXRpb25PcHRzVHlwZSA9IHtcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0Q3VycmVuY3lPcHRzVHlwZTxQcm9wZXJ0eSA9IHN0cmluZz4gPSB7XG4gICAgY3VycmVuY3lQcm9wZXJ0eT86IFByb3BlcnR5O1xuICAgIGN1cnJlbmN5Pzogc3RyaW5nO1xuICAgIGN1cnJlbmN5RGlzcGxheT86ICdzeW1ib2wnIHwgJ2NvZGUnIHwgJ25hbWUnO1xufSAmIEZpZWxkSW5wdXROdW1iZXJHcm91cGluZ09wdHNUeXBlICZcbiAgICBGaWVsZElucHV0TnVtYmVyRnJhY3Rpb25PcHRzVHlwZSAmXG4gICAgRmllbGRJbnB1dE51bWJlclZhbGlkYXRpb25PcHRzVHlwZSAmXG4gICAgRmllbGRJbnB1dExvY2FsZU9wdHNUeXBlO1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0TnVtYmVyT3B0c1R5cGUgPSBGaWVsZElucHV0TnVtYmVyR3JvdXBpbmdPcHRzVHlwZSAmIEZpZWxkSW5wdXROdW1iZXJGcmFjdGlvbk9wdHNUeXBlICYgRmllbGRJbnB1dE51bWJlclZhbGlkYXRpb25PcHRzVHlwZSAmIEZpZWxkSW5wdXRMb2NhbGVPcHRzVHlwZTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dE51bWJlckdyb3VwaW5nT3B0c1R5cGUgPSB7XG4gICAgZ3JvdXBTZXBhcmF0b3I/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dE51bWJlclZhbGlkYXRpb25PcHRzVHlwZSA9IHtcbiAgICBtaW4/OiBudW1iZXI7XG4gICAgbWF4PzogbnVtYmVyO1xuICAgIHN0ZXA/OiBudW1iZXI7XG4gICAgYXV0b0NvcnJlY3Q/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dE51bWJlckZyYWN0aW9uT3B0c1R5cGUgPSB7XG4gICAgbWluRnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG4gICAgbWF4RnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0TG9jYWxlT3B0c1R5cGUgPSB7XG4gICAgbG9jYWxlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dERhdGVQaWNrZXJPcHRzVHlwZSA9IHtcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgbWluPzogRGF0ZTtcbiAgICBtYXg/OiBEYXRlO1xuICAgIHNob3dUaW1lPzogYm9vbGVhbjtcbiAgICBzaG93U2Vjb25kcz86IGJvb2xlYW47XG59ICYgRGF0ZU9wdHNUeXBlO1xuXG5leHBvcnQgdHlwZSBEYXRlT3B0c1R5cGUgPSB7XG4gICAgYXNEYXRlT2JqPzogYm9vbGVhbjtcbiAgICB1dGM/OiBib29sZWFuO1xuICAgIG5vVGltZT86IGJvb2xlYW47XG4gICAgbm9UaW1lWm9uZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0RmlsZU9wdHMgPSB7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIG1heEZpbGVTaXplPzogbnVtYmVyO1xuICAgIGFjY2VwdD86IHN0cmluZztcbiAgICBvbkZpbGVTZWxlY3RIYW5kbGVyRm4/OiBGaWVsZElucHV0RmlsZU9uU2VsZWN0SGFuZGxlckZuVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXRJbWFnZVVybE9wdHMgPSB7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIHByZXZpZXc/OiBib29sZWFuO1xuICAgIGlucHV0VmlzaWJsZU9uRGlzYWJsZWQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dENvbXBvbmVudE9wdHMgPSB7XG4gICAgZmllbGRXcmFwcGVycz86IHN0cmluZ1tdO1xuICAgIGlucHV0cz86IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0RmlsZU9uU2VsZWN0SGFuZGxlckZuVHlwZSA9IChmaWxlOiBGaWxlW10gfCBudWxsLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHZvaWQ7XG5cbmV4cG9ydCBjbGFzcyBGaWVsZElucHV0RGVzY3JpcHRvcjxFZGl0b3JNb2RlbCwgRmllbGRNb2RlbCA9IEZpZWxkSW5wdXREZXNjcmlwdG9yVHlwZSwgRmllbGRWYWx1ZSA9IEZpZWxkTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsID0gdW5kZWZpbmVkPiBleHRlbmRzIEFGaWVsZERlc2NyaXB0b3I8XG4gICAgRmllbGRNb2RlbCxcbiAgICBFZGl0b3JNb2RlbCxcbiAgICBGaWVsZFZhbHVlLFxuICAgIFBhcmVudEVkaXRvck1vZGVsXG4+IHtcbiAgICBwcml2YXRlIF9maWVsZFR5cGU6IEZpZWxkSW5wdXRUeXBlRW51bSA9IEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuXG4gICAgLy8gdGV4dGFyZWEgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByaXZhdGUgX3Jvd3M/OiBudW1iZXI7XG5cbiAgICAvLyBudW1iZXIgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByaXZhdGUgX251bWJlck1pbj86IG51bWJlcjtcbiAgICBwcml2YXRlIF9udW1iZXJNYXg/OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbnVtYmVyU3RlcD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9udW1iZXJBdXRvQ29ycmVjdD86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfbnVtYmVyTWluRnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbnVtYmVyVXNlR3JvdXBpbmcgPSB0cnVlO1xuICAgIHByaXZhdGUgX2xvY2FsZT86IHN0cmluZztcblxuICAgIC8vIGN1cnJlbmN5IHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9jdXJyZW5jeT86IHN0cmluZztcbiAgICBwcml2YXRlIF9jdXJyZW5jeURpc3BsYXk6ICdzeW1ib2wnIHwgJ2NvZGUnIHwgJ25hbWUnID0gJ3N5bWJvbCc7XG4gICAgcHJpdmF0ZSBfY3VycmVuY3lGcm9tUHJvcGVydHk/OiBzdHJpbmc7XG5cbiAgICAvLyByYWRpbyBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfcmFkaW9PcHRpb25zOiBBcnJheTxSYWRpb1ZhbHVlPiA9IFtdO1xuXG4gICAgLy8gZGF0ZXBpY2tlciBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfZGF0ZVBpY2tlckZvcm1hdD86IHN0cmluZztcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyTWluPzogRGF0ZTtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyTWF4PzogRGF0ZTtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyU2hvd1RpbWU/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX2RhdGVQaWNrZXJTaG93U2Vjb25kcz86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfZGF0ZVBpY2tlclZhbHVlVXRjPzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyVmFsdWVOb1RpbWV6b25lPzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyVmFsdWVOb1RpbWU/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX2RhdGVQaWNrZXJWYWx1ZUFzRGF0ZU9iaj86IGJvb2xlYW47XG5cbiAgICAvLyBpbnB1dCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIHByaXZhdGUgX21pbkxlbmd0aD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9wYXR0ZXJuPzogc3RyaW5nIHwgUmVnRXhwO1xuICAgIHByaXZhdGUgX2lucHV0VHJpbT86IElucHV0VHJpbVR5cGU7XG5cbiAgICAvLyBtYXNrIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9tYXNrPzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3Nsb3RDaGFyPzogc3RyaW5nO1xuXG4gICAgLy8gZmlsZSBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfZmlsZU11bHRpcGxlPzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9maWxlTWF4RmlsZVNpemU/OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZmlsZUFjY2VwdD86IHN0cmluZztcbiAgICBwcml2YXRlIF9maWxlT25TZWxlY3RIYW5kbGVyPzogRmllbGRJbnB1dEZpbGVPblNlbGVjdEhhbmRsZXJGblR5cGU7XG5cbiAgICAvLyBpbWFnZSBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfaW1hZ2VQcmV2aWV3PzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9pbWFnZVVybElucHV0SGlkZGVuT25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvLyBjdXN0b20gY29tcG9uZW50IHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9jdXN0b21Db21wb25lbnRUeXBlPzogVHlwZTxBRm9ybWx5Q3VzdG9tRmllbGRDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgX2N1c3RvbUNvbXBvbmVudElucHV0cz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcHJpdmF0ZSBfY3VzdG9tQ29tcG9uZW50V3JhcHBlcnM/OiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKGVkaXRvcjogSUVkaXRvckRlc2NyaXB0b3I8RWRpdG9yTW9kZWw+LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKGVkaXRvciwgcHJvcGVydHkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnZlcnRzIGZpZWxkIHRvIGdpdmVuIHR5cGUgd2l0aCBhZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgICAqIEBwYXJhbSBmaWVsZFR5cGUgZmllbGQgdHlwZSBlbnVtXG4gICAgICogQHBhcmFtIGFyZ3MgYW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGZvciBmaWVsZCAob3B0aW9uYWwpXG4gICAgICovXG4gICAgcHVibGljIGFzVHlwZShmaWVsZFR5cGU6IEZpZWxkSW5wdXRUeXBlRW51bSwgLi4uYXJnczogYW55W10pOiB0aGlzIHtcbiAgICAgICAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkhpZGRlbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc0hpZGRlbigpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uTGFiZWw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNMYWJlbCgpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uVGV4dGFyZWE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNUZXh0YXJlYSguLi5hcmdzKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc051bWJlciguLi5hcmdzKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkN1cnJlbmN5OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzQ3VycmVuY3koLi4uYXJncyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNTd2l0Y2goKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzUmFkaW8oYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzRGF0ZVBpY2tlciguLi5hcmdzKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLk1hc2s6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNNYXNrKGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uRmlsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc0ZpbGUoLi4uYXJncyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZUZpbGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNJbWFnZUZpbGUoLi4uYXJncyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZVVybDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc0ltYWdlVXJsKC4uLmFyZ3MpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzQ3VzdG9tQ29tcG9uZW50KGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uVGV4dDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc1RleHQoYXJnc1swXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpZWxkVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJvd3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWluKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyTWluO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWF4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyTWF4O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyU3RlcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlclN0ZXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJBdXRvQ29ycmVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlckF1dG9Db3JyZWN0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWluRnJhY3Rpb25EaWdpdHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlck1heEZyYWN0aW9uRGlnaXRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJVc2VHcm91cGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlclVzZUdyb3VwaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmFkaW9PcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmFkaW9PcHRpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlckZvcm1hdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJGb3JtYXQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyTWluKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlck1pbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJNYXgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyTWF4O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclNob3dUaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclNob3dTZWNvbmRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclNob3dTZWNvbmRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclZhbHVlVXRjKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclZhbHVlVXRjO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclZhbHVlTm9UaW1lem9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJWYWx1ZU5vVGltZXpvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyVmFsdWVOb1RpbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyVmFsdWVOb1RpbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyVmFsdWVBc0RhdGVPYmooKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyVmFsdWVBc0RhdGVPYmo7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXhMZW5ndGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhMZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtaW5MZW5ndGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9taW5MZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYXR0ZXJuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGF0dGVybjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRyaW1PcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dFRyaW07XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXNrKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWFzaztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNsb3RDaGFyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2xvdENoYXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWxlTXVsdGlwbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTXVsdGlwbGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWxlTWF4RmlsZVNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTWF4RmlsZVNpemU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWxlQWNjZXB0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZUFjY2VwdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpbGVPblNlbGVjdEhhbmRsZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlT25TZWxlY3RIYW5kbGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaW1hZ2VQcmV2aWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW1hZ2VQcmV2aWV3O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaW1hZ2VVcmxJbnB1dFZpc2libGVPbkRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW1hZ2VVcmxJbnB1dEhpZGRlbk9uRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21Db21wb25lbnRUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VzdG9tQ29tcG9uZW50VHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbUNvbXBvbmVudElucHV0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1c3RvbUNvbXBvbmVudElucHV0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbUNvbXBvbmVudFdyYXBwZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VzdG9tQ29tcG9uZW50V3JhcHBlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJyZW5jeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbmN5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VycmVuY3lGcm9tUHJvcGVydHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW5jeUZyb21Qcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1cnJlbmN5RGlzcGxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbmN5RGlzcGxheTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNIaWRkZW4oKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5IaWRkZW47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0xhYmVsKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uTGFiZWw7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc1RleHQob3B0cz86IEZpZWxkSW5wdXRUZXh0T3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLlRleHQ7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhUZXh0VmFsaWRhdGlvbihvcHRzKS53aXRoVGV4dFZhbGlkYXRpb25FbWFpbChvcHRzPy5lbWFpbCA/PyBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzVGV4dGFyZWEob3B0cz86IEZpZWxkSW5wdXRUZXh0YXJlYU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0YXJlYTtcbiAgICAgICAgdGhpcy5fcm93cyA9IG9wdHM/LnJvd3M7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhUZXh0VmFsaWRhdGlvbihvcHRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNOdW1iZXIob3B0cz86IEZpZWxkSW5wdXROdW1iZXJPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uTnVtYmVyO1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoTnVtYmVyR3JvdXBpbmcob3B0cz8uZ3JvdXBTZXBhcmF0b3IgPz8gZmFsc2UpXG4gICAgICAgICAgICAud2l0aE51bWJlckZyYWN0aW9ucyhvcHRzKVxuICAgICAgICAgICAgLndpdGhOdW1iZXJWYWxpZGF0aW9uKG9wdHMpXG4gICAgICAgICAgICAud2l0aExvY2FsZShvcHRzPy5sb2NhbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0N1cnJlbmN5KG9wdHM/OiBGaWVsZElucHV0Q3VycmVuY3lPcHRzVHlwZTxrZXlvZiBFZGl0b3JNb2RlbD4pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNDdXJyZW5jeVVuc2FmZSg8RmllbGRJbnB1dEN1cnJlbmN5T3B0c1R5cGU+e1xuICAgICAgICAgICAgLi4ub3B0cyxcbiAgICAgICAgICAgIGN1cnJlbmN5UHJvcGVydHk6IG9wdHM/LmN1cnJlbmN5UHJvcGVydHkgPyAob3B0cy5jdXJyZW5jeVByb3BlcnR5IGFzIHN0cmluZykgOiB1bmRlZmluZWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzQ3VycmVuY3lVbnNhZmUob3B0cz86IEZpZWxkSW5wdXRDdXJyZW5jeU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeTtcbiAgICAgICAgdGhpcy5fY3VycmVuY3lGcm9tUHJvcGVydHkgPSBvcHRzPy5jdXJyZW5jeVByb3BlcnR5O1xuICAgICAgICB0aGlzLl9jdXJyZW5jeSA9IG9wdHM/LmN1cnJlbmN5ID8/IHRoaXMuX2N1cnJlbmN5O1xuICAgICAgICB0aGlzLl9jdXJyZW5jeURpc3BsYXkgPSBvcHRzPy5jdXJyZW5jeURpc3BsYXkgPz8gdGhpcy5fY3VycmVuY3lEaXNwbGF5O1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoTnVtYmVyR3JvdXBpbmcob3B0cz8uZ3JvdXBTZXBhcmF0b3IgPz8gZmFsc2UpXG4gICAgICAgICAgICAud2l0aE51bWJlckZyYWN0aW9ucyh7XG4gICAgICAgICAgICAgICAgbWF4RnJhY3Rpb25EaWdpdHM6IG9wdHM/Lm1heEZyYWN0aW9uRGlnaXRzID8/IDIsXG4gICAgICAgICAgICAgICAgbWluRnJhY3Rpb25EaWdpdHM6IG9wdHM/Lm1pbkZyYWN0aW9uRGlnaXRzID8/IDJcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAud2l0aE51bWJlclZhbGlkYXRpb24ob3B0cylcbiAgICAgICAgICAgIC53aXRoTG9jYWxlKG9wdHM/LmxvY2FsZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzU3dpdGNoKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uU3dpdGNoO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNSYWRpbyhvcHRpb25zOiBBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiwgb3B0aW9uc1RpdGxlUGF0aD86IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uUmFkaW87XG4gICAgICAgIHRoaXMuX3JhZGlvT3B0aW9ucyA9IG9wdGlvbnMubWFwKG8gPT4gPFJhZGlvVmFsdWU+e3ZhbHVlOiBvLCB0aXRsZTogYCR7b3B0aW9uc1RpdGxlUGF0aCA/IGAke29wdGlvbnNUaXRsZVBhdGh9LmAgOiAnJ30ke299YH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNSYWRpb0Zyb21FbnVtPEVudW0+KGVudW1Nb2RlbDogRW51bURlc2NyaXB0b3I8RW51bT4sIHZhbHVlcz86IEFycmF5PEVudW0+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5SYWRpbztcbiAgICAgICAgdGhpcy5fcmFkaW9PcHRpb25zID0gQXJyYXkuaXNBcnJheSh2YWx1ZXMpXG4gICAgICAgICAgICA/IGZyb21FbnVtVmFsdWVzQXNWYWx1ZUFycmF5PEVudW0+KGVudW1Nb2RlbC50eXBlLCB2YWx1ZXMsIGVudW1Nb2RlbC5uYW1lQXNWYWx1ZSwgZW51bU1vZGVsLmkxOG5CYXNlS2V5ID8/IHVuZGVmaW5lZClcbiAgICAgICAgICAgIDogZnJvbUVudW1Db25zdGFudHNBc1ZhbHVlQXJyYXkoZW51bU1vZGVsLnR5cGUsIGVudW1Nb2RlbC5uYW1lQXNWYWx1ZSwgZW51bU1vZGVsLmkxOG5CYXNlS2V5ID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0RhdGVQaWNrZXIob3B0cz86IEZpZWxkSW5wdXREYXRlUGlja2VyT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLkRhdGVwaWNrZXI7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJGb3JtYXQgPSBvcHRzPy5mb3JtYXQ7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJNaW4gPSBvcHRzPy5taW47XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJNYXggPSBvcHRzPy5tYXg7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZSA9IG9wdHM/LnNob3dUaW1lO1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyU2hvd1NlY29uZHMgPSBvcHRzPy5zaG93U2Vjb25kcztcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqID0gb3B0cz8uYXNEYXRlT2JqO1xuXG4gICAgICAgIHRoaXMud2l0aERhdGVWYWx1ZSh7XG4gICAgICAgICAgICBhc0RhdGVPYmo6IG9wdHM/LmFzRGF0ZU9iaixcbiAgICAgICAgICAgIHV0Yzogb3B0cz8udXRjLFxuICAgICAgICAgICAgbm9UaW1lWm9uZTogb3B0cz8ubm9UaW1lWm9uZSxcbiAgICAgICAgICAgIG5vVGltZTogb3B0cz8ubm9UaW1lXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob3B0cz8ubWluICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy53aXRoVmFsaWRhdGlvbihtaW5EYXRlVmFsaWRhdGlvbk5hbWUsIG1pbkRhdGVWYWxpZGF0b3Iob3B0cy5taW4pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0cz8ubWF4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFZhbGlkYXRpb24obWF4RGF0ZVZhbGlkYXRpb25OYW1lLCBtYXhEYXRlVmFsaWRhdG9yKG9wdHMubWF4KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNNYXNrKG1hc2s6IHN0cmluZywgc2xvdENoYXI6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uTWFzaztcbiAgICAgICAgdGhpcy5fbWFzayA9IG1hc2s7XG4gICAgICAgIHRoaXMuX3Nsb3RDaGFyID0gc2xvdENoYXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0ZpbGUob3B0cz86IEZpZWxkSW5wdXRGaWxlT3B0cyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uRmlsZTtcbiAgICAgICAgdGhpcy5fZmlsZU11bHRpcGxlID0gb3B0cz8ubXVsdGlwbGU7XG4gICAgICAgIHRoaXMuX2ZpbGVNYXhGaWxlU2l6ZSA9IG9wdHM/Lm1heEZpbGVTaXplO1xuICAgICAgICB0aGlzLl9maWxlQWNjZXB0ID0gb3B0cz8uYWNjZXB0O1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoRmlsZU9uU2VsZWN0SGFuZGxlcihvcHRzPy5vbkZpbGVTZWxlY3RIYW5kbGVyRm4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0ltYWdlRmlsZShvcHRzPzogRmllbGRJbnB1dEZpbGVPcHRzKTogdGhpcyB7XG4gICAgICAgIHRoaXMuYXNGaWxlKG9wdHMpO1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uSW1hZ2VGaWxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNJbWFnZVVybChvcHRzPzogRmllbGRJbnB1dEltYWdlVXJsT3B0cyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uSW1hZ2VVcmw7XG4gICAgICAgIHRoaXMuX2ZpbGVNdWx0aXBsZSA9IG9wdHM/Lm11bHRpcGxlO1xuICAgICAgICB0aGlzLl9pbWFnZVByZXZpZXcgPSBvcHRzPy5wcmV2aWV3O1xuICAgICAgICB0aGlzLl9pbWFnZVVybElucHV0SGlkZGVuT25EaXNhYmxlZCA9IG9wdHM/LmlucHV0VmlzaWJsZU9uRGlzYWJsZWQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0N1c3RvbUNvbXBvbmVudChjb21wb25lbnQ6IFR5cGU8QUZvcm1seUN1c3RvbUZpZWxkQ29tcG9uZW50Piwgb3B0cz86IEZpZWxkSW5wdXRDb21wb25lbnRPcHRzKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudFR5cGUgPSBjb21wb25lbnQ7XG4gICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudElucHV0cyA9IG9wdHM/LmlucHV0cztcbiAgICAgICAgdGhpcy5fY3VzdG9tQ29tcG9uZW50V3JhcHBlcnMgPSBvcHRzPy5maWVsZFdyYXBwZXJzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE51bWJlclZhbGlkYXRpb24ob3B0cz86IEZpZWxkSW5wdXROdW1iZXJWYWxpZGF0aW9uT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyU3RlcCA9IG9wdHM/LnN0ZXA7XG4gICAgICAgIHRoaXMuX251bWJlckF1dG9Db3JyZWN0ID0gb3B0cz8uYXV0b0NvcnJlY3Q7XG4gICAgICAgIHRoaXMuX251bWJlck1pbiA9IG9wdHM/Lm1pbjtcbiAgICAgICAgdGhpcy5fbnVtYmVyTWF4ID0gb3B0cz8ubWF4O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aExvY2FsZShsb2NhbGU/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE51bWJlckZyYWN0aW9ucyhvcHRzPzogRmllbGRJbnB1dE51bWJlckZyYWN0aW9uT3B0c1R5cGUpIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyTWluRnJhY3Rpb25EaWdpdHMgPSBvcHRzPy5taW5GcmFjdGlvbkRpZ2l0cztcbiAgICAgICAgdGhpcy5fbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMgPSBvcHRzPy5tYXhGcmFjdGlvbkRpZ2l0cztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhOdW1iZXJHcm91cGluZyh1c2VHcm91cGluZyA9IHRydWUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmcgPSB1c2VHcm91cGluZztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhUZXh0VmFsaWRhdGlvbihvcHRzPzogRmllbGRJbnB1dFRleHRWYWxpZGF0aW9uT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbWluTGVuZ3RoID0gb3B0cz8ubWluTGVuZ3RoO1xuICAgICAgICB0aGlzLl9tYXhMZW5ndGggPSBvcHRzPy5tYXhMZW5ndGg7XG4gICAgICAgIHRoaXMuX3BhdHRlcm4gPSBvcHRzPy5wYXR0ZXJuO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aElucHV0VHJpbSh0cmltT3B0aW9uOiBJbnB1dFRyaW1UeXBlID0gJ2JvdGgnKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2lucHV0VHJpbSA9IHRyaW1PcHRpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGF0ZVZhbHVlKG9wdHM/OiBEYXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqID0gb3B0cz8uYXNEYXRlT2JqO1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyVmFsdWVVdGMgPSBvcHRzPy51dGM7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJWYWx1ZU5vVGltZXpvbmUgPSBvcHRzPy5ub1RpbWVab25lO1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyVmFsdWVOb1RpbWUgPSBvcHRzPy5ub1RpbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoVGV4dFZhbGlkYXRpb25FbWFpbChlbWFpbCA9IHRydWUpOiB0aGlzIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGRUeXBlID09PSBGaWVsZElucHV0VHlwZUVudW0uVGV4dCAmJiBlbWFpbCkge1xuICAgICAgICAgICAgdGhpcy53aXRoVmFsaWRhdGlvbihlbWFpbFZhbGlkYXRpb25OYW1lLCBlbWFpbFZhbGlkYXRvcigpKTtcbiAgICAgICAgfSBlbHNlIGlmICghZW1haWwpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbihlbWFpbFZhbGlkYXRpb25OYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEZpbGVPblNlbGVjdEhhbmRsZXIoZm4/OiBGaWVsZElucHV0RmlsZU9uU2VsZWN0SGFuZGxlckZuVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWxlT25TZWxlY3RIYW5kbGVyID0gZm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KCk6IEZpZWxkSW5wdXREZXNjcmlwdG9yPEVkaXRvck1vZGVsLCBGaWVsZE1vZGVsLCBGaWVsZFZhbHVlPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkSW5wdXREZXNjcmlwdG9yPEVkaXRvck1vZGVsLCBGaWVsZE1vZGVsLCBGaWVsZFZhbHVlPih0aGlzLl9lZGl0b3IsIHRoaXMuX3Byb3BlcnR5KTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICBmaWVsZC5fZmllbGRUeXBlID0gdGhpcy5fZmllbGRUeXBlO1xuICAgICAgICBmaWVsZC5fcm93cyA9IHRoaXMuX3Jvd3M7XG4gICAgICAgIGZpZWxkLl9udW1iZXJNaW4gPSB0aGlzLl9udW1iZXJNaW47XG4gICAgICAgIGZpZWxkLl9udW1iZXJNYXggPSB0aGlzLl9udW1iZXJNYXg7XG4gICAgICAgIGZpZWxkLl9udW1iZXJTdGVwID0gdGhpcy5fbnVtYmVyU3RlcDtcbiAgICAgICAgZmllbGQuX251bWJlckF1dG9Db3JyZWN0ID0gdGhpcy5fbnVtYmVyQXV0b0NvcnJlY3Q7XG4gICAgICAgIGZpZWxkLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBmaWVsZC5fbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMgPSB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICAgICAgZmllbGQuX251bWJlclVzZUdyb3VwaW5nID0gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgICAgIGZpZWxkLl9yYWRpb09wdGlvbnMgPSBbLi4udGhpcy5fcmFkaW9PcHRpb25zXTtcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJGb3JtYXQgPSB0aGlzLl9kYXRlUGlja2VyRm9ybWF0O1xuICAgICAgICBmaWVsZC5fZGF0ZVBpY2tlck1pbiA9IHRoaXMuX2RhdGVQaWNrZXJNaW47XG4gICAgICAgIGZpZWxkLl9kYXRlUGlja2VyTWF4ID0gdGhpcy5fZGF0ZVBpY2tlck1heDtcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJTaG93VGltZSA9IHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJTaG93U2Vjb25kcyA9IHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJWYWx1ZVV0YyA9IHRoaXMuX2RhdGVQaWNrZXJWYWx1ZVV0YztcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJWYWx1ZU5vVGltZXpvbmUgPSB0aGlzLl9kYXRlUGlja2VyVmFsdWVOb1RpbWV6b25lO1xuICAgICAgICBmaWVsZC5fZGF0ZVBpY2tlclZhbHVlTm9UaW1lID0gdGhpcy5fZGF0ZVBpY2tlclZhbHVlTm9UaW1lO1xuICAgICAgICBmaWVsZC5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqID0gdGhpcy5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqO1xuICAgICAgICBmaWVsZC5fbWF4TGVuZ3RoID0gdGhpcy5fbWF4TGVuZ3RoO1xuICAgICAgICBmaWVsZC5fbWluTGVuZ3RoID0gdGhpcy5fbWluTGVuZ3RoO1xuICAgICAgICBmaWVsZC5fcGF0dGVybiA9IHRoaXMuX3BhdHRlcm47XG4gICAgICAgIGZpZWxkLl9tYXNrID0gdGhpcy5fbWFzaztcbiAgICAgICAgZmllbGQuX3Nsb3RDaGFyID0gdGhpcy5fc2xvdENoYXI7XG4gICAgICAgIGZpZWxkLl9maWxlTXVsdGlwbGUgPSB0aGlzLl9maWxlTXVsdGlwbGU7XG4gICAgICAgIGZpZWxkLl9maWxlTWF4RmlsZVNpemUgPSB0aGlzLl9maWxlTWF4RmlsZVNpemU7XG4gICAgICAgIGZpZWxkLl9maWxlQWNjZXB0ID0gdGhpcy5fZmlsZUFjY2VwdDtcbiAgICAgICAgZmllbGQuX2ZpbGVPblNlbGVjdEhhbmRsZXIgPSB0aGlzLl9maWxlT25TZWxlY3RIYW5kbGVyO1xuICAgICAgICBmaWVsZC5faW1hZ2VQcmV2aWV3ID0gdGhpcy5faW1hZ2VQcmV2aWV3O1xuICAgICAgICBmaWVsZC5faW1hZ2VVcmxJbnB1dEhpZGRlbk9uRGlzYWJsZWQgPSB0aGlzLl9pbWFnZVVybElucHV0SGlkZGVuT25EaXNhYmxlZDtcbiAgICAgICAgZmllbGQuX2N1c3RvbUNvbXBvbmVudFR5cGUgPSB0aGlzLl9jdXN0b21Db21wb25lbnRUeXBlO1xuICAgICAgICBmaWVsZC5fY3VzdG9tQ29tcG9uZW50SW5wdXRzID0gdGhpcy5fY3VzdG9tQ29tcG9uZW50SW5wdXRzO1xuICAgICAgICBmaWVsZC5fY3VzdG9tQ29tcG9uZW50V3JhcHBlcnMgPSB0aGlzLl9jdXN0b21Db21wb25lbnRXcmFwcGVycztcbiAgICAgICAgZmllbGQuX2xvY2FsZSA9IHRoaXMuX2xvY2FsZTtcbiAgICAgICAgZmllbGQuX2N1cnJlbmN5ID0gdGhpcy5fY3VycmVuY3k7XG4gICAgICAgIGZpZWxkLl9jdXJyZW5jeURpc3BsYXkgPSB0aGlzLl9jdXJyZW5jeURpc3BsYXk7XG4gICAgICAgIGZpZWxkLl9jdXJyZW5jeUZyb21Qcm9wZXJ0eSA9IHRoaXMuX2N1cnJlbmN5RnJvbVByb3BlcnR5O1xuICAgICAgICBmaWVsZC5faW5wdXRUcmltID0gdGhpcy5faW5wdXRUcmltO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIl19
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL2VkaXRvci9kZXNjcmlwdG9ycy9maWVsZC5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBc0MsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUkzSSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUl6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQXdGekQsTUFBTSxPQUFPLG9CQUFpSSxTQUFRLGdCQUtySjtJQTZERyxZQUFZLE1BQXNDLEVBQUUsUUFBZ0I7UUFDaEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQTdEcEIsZUFBVSxHQUF1QixrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFZekQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBSzFCLHFCQUFnQixHQUErQixRQUFRLENBQUM7UUFHaEUsNEJBQTRCO1FBQ3BCLGtCQUFhLEdBQXNCLEVBQUUsQ0FBQztJQXlDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBNkIsRUFBRSxHQUFHLElBQVc7UUFDdkQsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNoQixLQUFLLGtCQUFrQixDQUFDLE1BQU07Z0JBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNCLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsS0FBSyxrQkFBa0IsQ0FBQyxRQUFRO2dCQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNwQyxLQUFLLGtCQUFrQixDQUFDLE1BQU07Z0JBQzFCLE9BQU8sSUFB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O1FBQ3JDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDdkQsS0FBSyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUM7UUFDM0UsS0FBSyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUN2RCxLQUFLLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQzNELEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDL0QsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDekQsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDL0MsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7SUVkaXRvckRlc2NyaXB0b3IsIEl0ZW1Pck9ic2VydmFibGUsIGZyb21FbnVtQ29uc3RhbnRzQXNWYWx1ZUFycmF5LCBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7SW5wdXRUcmltVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5pbXBvcnQge0VudW1EZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtGaWVsZElucHV0VHlwZUVudW19IGZyb20gJy4uL21vZGVscy9maWVsZC5tb2RlbCc7XG5pbXBvcnQge0FGb3JtbHlDdXN0b21GaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm1seS1jdXN0b20tZmllbGQubW9kZWwnO1xuaW1wb3J0IHtDb21tb25zRm9ybWx5RmllbGRDb25maWd9IGZyb20gJy4uL21vZGVscy9mb3JtbHktZmllbGQubW9kZWwnO1xuaW1wb3J0IHtSYWRpb1ZhbHVlfSBmcm9tICcuLi9tb2RlbHMvcmFkaW8ubW9kZWwnO1xuaW1wb3J0IHtBRmllbGREZXNjcmlwdG9yfSBmcm9tICcuL2ZpZWxkLWJhc2UuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXREZXNjcmlwdG9yVHlwZSA9IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBGaWxlIHwgRmlsZVtdO1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0VGV4dE9wdHNUeXBlID0ge1xuICAgIGVtYWlsPzogYm9vbGVhbjtcbn0gJiBGaWVsZElucHV0VGV4dFZhbGlkYXRpb25PcHRzVHlwZTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dFRleHRhcmVhT3B0c1R5cGUgPSB7XG4gICAgcm93cz86IG51bWJlcjtcbn0gJiBGaWVsZElucHV0VGV4dFZhbGlkYXRpb25PcHRzVHlwZTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dFRleHRWYWxpZGF0aW9uT3B0c1R5cGUgPSB7XG4gICAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICAgIG1heExlbmd0aD86IG51bWJlcjtcbiAgICBwYXR0ZXJuPzogc3RyaW5nIHwgUmVnRXhwO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dEN1cnJlbmN5T3B0c1R5cGU8UHJvcGVydHkgPSBzdHJpbmc+ID0ge1xuICAgIGN1cnJlbmN5UHJvcGVydHk/OiBQcm9wZXJ0eTtcbiAgICBjdXJyZW5jeT86IHN0cmluZztcbiAgICBjdXJyZW5jeURpc3BsYXk/OiAnc3ltYm9sJyB8ICdjb2RlJyB8ICduYW1lJztcbn0gJiBGaWVsZElucHV0TnVtYmVyR3JvdXBpbmdPcHRzVHlwZSAmXG4gICAgRmllbGRJbnB1dE51bWJlckZyYWN0aW9uT3B0c1R5cGUgJlxuICAgIEZpZWxkSW5wdXROdW1iZXJWYWxpZGF0aW9uT3B0c1R5cGUgJlxuICAgIEZpZWxkSW5wdXRMb2NhbGVPcHRzVHlwZTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dE51bWJlck9wdHNUeXBlID0gRmllbGRJbnB1dE51bWJlckdyb3VwaW5nT3B0c1R5cGUgJiBGaWVsZElucHV0TnVtYmVyRnJhY3Rpb25PcHRzVHlwZSAmIEZpZWxkSW5wdXROdW1iZXJWYWxpZGF0aW9uT3B0c1R5cGUgJiBGaWVsZElucHV0TG9jYWxlT3B0c1R5cGU7XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXROdW1iZXJHcm91cGluZ09wdHNUeXBlID0ge1xuICAgIGdyb3VwU2VwYXJhdG9yPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXROdW1iZXJWYWxpZGF0aW9uT3B0c1R5cGUgPSB7XG4gICAgbWluPzogbnVtYmVyO1xuICAgIG1heD86IG51bWJlcjtcbiAgICBzdGVwPzogbnVtYmVyO1xuICAgIGF1dG9Db3JyZWN0PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXROdW1iZXJGcmFjdGlvbk9wdHNUeXBlID0ge1xuICAgIG1pbkZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIG1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dExvY2FsZU9wdHNUeXBlID0ge1xuICAgIGxvY2FsZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXREYXRlUGlja2VyT3B0c1R5cGU8RmllbGRWYWx1ZSwgRWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPiA9IHtcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgbWluPzogRGF0ZSB8IEZpZWxkSW5wdXREYXRlUGlja2VyRHluYW1pY01pbk1heEZuVHlwZTxGaWVsZFZhbHVlLCBFZGl0b3JNb2RlbCwgUGFyZW50RWRpdG9yTW9kZWw+O1xuICAgIG1heD86IERhdGUgfCBGaWVsZElucHV0RGF0ZVBpY2tlckR5bmFtaWNNaW5NYXhGblR5cGU8RmllbGRWYWx1ZSwgRWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPjtcbiAgICBzaG93VGltZT86IGJvb2xlYW47XG4gICAgc2hvd1NlY29uZHM/OiBib29sZWFuO1xufSAmIERhdGVPcHRzVHlwZTtcblxuZXhwb3J0IHR5cGUgRGF0ZU9wdHNUeXBlID0ge1xuICAgIGFzRGF0ZU9iaj86IGJvb2xlYW47XG4gICAgdXRjPzogYm9vbGVhbjtcbiAgICBub1RpbWU/OiBib29sZWFuO1xuICAgIG5vVGltZVpvbmU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dEZpbGVPcHRzID0ge1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgICBtYXhGaWxlU2l6ZT86IG51bWJlcjtcbiAgICBhY2NlcHQ/OiBzdHJpbmc7XG4gICAgb25GaWxlU2VsZWN0SGFuZGxlckZuPzogRmllbGRJbnB1dEZpbGVPblNlbGVjdEhhbmRsZXJGblR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZElucHV0SW1hZ2VVcmxPcHRzID0ge1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgICBwcmV2aWV3PzogYm9vbGVhbjtcbiAgICBpbnB1dFZpc2libGVPbkRpc2FibGVkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkSW5wdXRDb21wb25lbnRPcHRzID0ge1xuICAgIGZpZWxkV3JhcHBlcnM/OiBzdHJpbmdbXTtcbiAgICBpbnB1dHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuZXhwb3J0IHR5cGUgRmllbGRJbnB1dEZpbGVPblNlbGVjdEhhbmRsZXJGblR5cGUgPSAoZmlsZTogRmlsZVtdIHwgbnVsbCwgY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgRmllbGRJbnB1dERhdGVQaWNrZXJEeW5hbWljTWluTWF4Rm5UeXBlPFZhbHVlLCBGb3JtVmFsdWUsIFBhcmVudEZvcm1WYWx1ZT4gPSAoXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFZhbHVlPixcbiAgICBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnPFZhbHVlLCBGb3JtVmFsdWUsIFBhcmVudEZvcm1WYWx1ZT5cbikgPT4gSXRlbU9yT2JzZXJ2YWJsZTxEYXRlIHwgdW5kZWZpbmVkPjtcblxuZXhwb3J0IGNsYXNzIEZpZWxkSW5wdXREZXNjcmlwdG9yPEVkaXRvck1vZGVsLCBGaWVsZE1vZGVsID0gRmllbGRJbnB1dERlc2NyaXB0b3JUeXBlLCBGaWVsZFZhbHVlID0gRmllbGRNb2RlbCwgUGFyZW50RWRpdG9yTW9kZWwgPSB1bmRlZmluZWQ+IGV4dGVuZHMgQUZpZWxkRGVzY3JpcHRvcjxcbiAgICBGaWVsZE1vZGVsLFxuICAgIEVkaXRvck1vZGVsLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgUGFyZW50RWRpdG9yTW9kZWxcbj4ge1xuICAgIHByaXZhdGUgX2ZpZWxkVHlwZTogRmllbGRJbnB1dFR5cGVFbnVtID0gRmllbGRJbnB1dFR5cGVFbnVtLlRleHQ7XG5cbiAgICAvLyB0ZXh0YXJlYSBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfcm93cz86IG51bWJlcjtcblxuICAgIC8vIG51bWJlciBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfbnVtYmVyTWluPzogbnVtYmVyO1xuICAgIHByaXZhdGUgX251bWJlck1heD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9udW1iZXJTdGVwPzogbnVtYmVyO1xuICAgIHByaXZhdGUgX251bWJlckF1dG9Db3JyZWN0PzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcml2YXRlIF9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcml2YXRlIF9udW1iZXJVc2VHcm91cGluZyA9IHRydWU7XG4gICAgcHJpdmF0ZSBfbG9jYWxlPzogc3RyaW5nO1xuXG4gICAgLy8gY3VycmVuY3kgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByaXZhdGUgX2N1cnJlbmN5Pzogc3RyaW5nO1xuICAgIHByaXZhdGUgX2N1cnJlbmN5RGlzcGxheTogJ3N5bWJvbCcgfCAnY29kZScgfCAnbmFtZScgPSAnc3ltYm9sJztcbiAgICBwcml2YXRlIF9jdXJyZW5jeUZyb21Qcm9wZXJ0eT86IHN0cmluZztcblxuICAgIC8vIHJhZGlvIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9yYWRpb09wdGlvbnM6IEFycmF5PFJhZGlvVmFsdWU+ID0gW107XG5cbiAgICAvLyBkYXRlcGlja2VyIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyRm9ybWF0Pzogc3RyaW5nO1xuICAgIHByaXZhdGUgX2RhdGVQaWNrZXJNaW4/OiBEYXRlIHwgRmllbGRJbnB1dERhdGVQaWNrZXJEeW5hbWljTWluTWF4Rm5UeXBlPEZpZWxkVmFsdWUsIEVkaXRvck1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbD47XG4gICAgcHJpdmF0ZSBfZGF0ZVBpY2tlck1heD86IERhdGUgfCBGaWVsZElucHV0RGF0ZVBpY2tlckR5bmFtaWNNaW5NYXhGblR5cGU8RmllbGRWYWx1ZSwgRWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPjtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyU2hvd1RpbWU/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX2RhdGVQaWNrZXJTaG93U2Vjb25kcz86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfZGF0ZVBpY2tlclZhbHVlVXRjPzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyVmFsdWVOb1RpbWV6b25lPzogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kYXRlUGlja2VyVmFsdWVOb1RpbWU/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX2RhdGVQaWNrZXJWYWx1ZUFzRGF0ZU9iaj86IGJvb2xlYW47XG5cbiAgICAvLyBpbnB1dCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIHByaXZhdGUgX21pbkxlbmd0aD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9wYXR0ZXJuPzogc3RyaW5nIHwgUmVnRXhwO1xuICAgIHByaXZhdGUgX2lucHV0VHJpbT86IElucHV0VHJpbVR5cGU7XG4gICAgcHJpdmF0ZSBfdmFsaWRhdGlvbkVtYWlsPzogYm9vbGVhbjtcblxuICAgIC8vIG1hc2sgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByaXZhdGUgX21hc2s/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfc2xvdENoYXI/OiBzdHJpbmc7XG5cbiAgICAvLyBmaWxlIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9maWxlTXVsdGlwbGU/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX2ZpbGVNYXhGaWxlU2l6ZT86IG51bWJlcjtcbiAgICBwcml2YXRlIF9maWxlQWNjZXB0Pzogc3RyaW5nO1xuICAgIHByaXZhdGUgX2ZpbGVPblNlbGVjdEhhbmRsZXI/OiBGaWVsZElucHV0RmlsZU9uU2VsZWN0SGFuZGxlckZuVHlwZTtcblxuICAgIC8vIGltYWdlIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcml2YXRlIF9pbWFnZVByZXZpZXc/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX2ltYWdlVXJsSW5wdXRIaWRkZW5PbkRpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8vIGN1c3RvbSBjb21wb25lbnQgcHJvcGVydGllc1xuICAgIHByaXZhdGUgX2N1c3RvbUNvbXBvbmVudFR5cGU/OiBUeXBlPEFGb3JtbHlDdXN0b21GaWVsZENvbXBvbmVudDxGaWVsZFZhbHVlLCBFZGl0b3JNb2RlbCwgUGFyZW50RWRpdG9yTW9kZWw+PjtcbiAgICBwcml2YXRlIF9jdXN0b21Db21wb25lbnRJbnB1dHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIHByaXZhdGUgX2N1c3RvbUNvbXBvbmVudFdyYXBwZXJzPzogc3RyaW5nW107XG5cbiAgICBjb25zdHJ1Y3RvcihlZGl0b3I6IElFZGl0b3JEZXNjcmlwdG9yPEVkaXRvck1vZGVsPiwgcHJvcGVydHk6IHN0cmluZykge1xuICAgICAgICBzdXBlcihlZGl0b3IsIHByb3BlcnR5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBmaWVsZCB0byBnaXZlbiB0eXBlIHdpdGggYWRkaXRpb25hbCBhcmd1bWVudHNcbiAgICAgKiBAcGFyYW0gZmllbGRUeXBlIGZpZWxkIHR5cGUgZW51bVxuICAgICAqIEBwYXJhbSBhcmdzIGFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBmb3IgZmllbGQgKG9wdGlvbmFsKVxuICAgICAqL1xuICAgIHB1YmxpYyBhc1R5cGUoZmllbGRUeXBlOiBGaWVsZElucHV0VHlwZUVudW0sIC4uLmFyZ3M6IGFueVtdKTogdGhpcyB7XG4gICAgICAgIHN3aXRjaCAoZmllbGRUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5IaWRkZW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNIaWRkZW4oKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkxhYmVsOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzTGFiZWwoKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLlRleHRhcmVhOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzVGV4dGFyZWEoLi4uYXJncyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNOdW1iZXIoLi4uYXJncyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc0N1cnJlbmN5KC4uLmFyZ3MpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uU3dpdGNoOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzU3dpdGNoKCk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5SYWRpbzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc1JhZGlvKGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uRGF0ZXBpY2tlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc0RhdGVQaWNrZXIoLi4uYXJncyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5NYXNrOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzTWFzayhhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkZpbGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNGaWxlKC4uLmFyZ3MpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uSW1hZ2VGaWxlOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFzSW1hZ2VGaWxlKC4uLmFyZ3MpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uSW1hZ2VVcmw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNJbWFnZVVybCguLi5hcmdzKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkN1c3RvbTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hc0N1c3RvbUNvbXBvbmVudChhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLlRleHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXNUZXh0KGFyZ3NbMF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWVsZFR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWVsZFR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3dzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlck1pbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1pbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlck1heCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1heDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlclN0ZXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJTdGVwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyQXV0b0NvcnJlY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJBdXRvQ29ycmVjdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlck1pbkZyYWN0aW9uRGlnaXRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyTWluRnJhY3Rpb25EaWdpdHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJNYXhGcmFjdGlvbkRpZ2l0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyVXNlR3JvdXBpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJVc2VHcm91cGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJhZGlvT3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JhZGlvT3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyRm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlck1pbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJNaW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyTWF4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlck1heDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93VGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93U2Vjb25kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJWYWx1ZVV0YygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJWYWx1ZVV0YztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJWYWx1ZU5vVGltZXpvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyVmFsdWVOb1RpbWV6b25lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclZhbHVlTm9UaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclZhbHVlTm9UaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWF4TGVuZ3RoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4TGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluTGVuZ3RoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluTGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGF0dGVybigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhdHRlcm47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0cmltT3B0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRUcmltO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsaWRhdGlvbkVtYWlsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbkVtYWlsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWFzaygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hc2s7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzbG90Q2hhcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nsb3RDaGFyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsZU11bHRpcGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU11bHRpcGxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsZU1heEZpbGVTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU1heEZpbGVTaXplO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsZUFjY2VwdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVBY2NlcHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWxlT25TZWxlY3RIYW5kbGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU9uU2VsZWN0SGFuZGxlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGltYWdlUHJldmlldygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ltYWdlUHJldmlldztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGltYWdlVXJsSW5wdXRWaXNpYmxlT25EaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ltYWdlVXJsSW5wdXRIaWRkZW5PbkRpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tQ29tcG9uZW50VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1c3RvbUNvbXBvbmVudFR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21Db21wb25lbnRJbnB1dHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXN0b21Db21wb25lbnRJbnB1dHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21Db21wb25lbnRXcmFwcGVycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1c3RvbUNvbXBvbmVudFdyYXBwZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VycmVuY3koKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW5jeTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1cnJlbmN5RnJvbVByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVuY3lGcm9tUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJyZW5jeURpc3BsYXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW5jeURpc3BsYXk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzSGlkZGVuKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uSGlkZGVuO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNMYWJlbCgpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLkxhYmVsO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNUZXh0KG9wdHM/OiBGaWVsZElucHV0VGV4dE9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoVGV4dFZhbGlkYXRpb24ob3B0cykud2l0aFRleHRWYWxpZGF0aW9uRW1haWwob3B0cz8uZW1haWwgPz8gZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc1RleHRhcmVhKG9wdHM/OiBGaWVsZElucHV0VGV4dGFyZWFPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uVGV4dGFyZWE7XG4gICAgICAgIHRoaXMuX3Jvd3MgPSBvcHRzPy5yb3dzO1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoVGV4dFZhbGlkYXRpb24ob3B0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzTnVtYmVyKG9wdHM/OiBGaWVsZElucHV0TnVtYmVyT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aE51bWJlckdyb3VwaW5nKG9wdHM/Lmdyb3VwU2VwYXJhdG9yID8/IGZhbHNlKVxuICAgICAgICAgICAgLndpdGhOdW1iZXJGcmFjdGlvbnMob3B0cylcbiAgICAgICAgICAgIC53aXRoTnVtYmVyVmFsaWRhdGlvbihvcHRzKVxuICAgICAgICAgICAgLndpdGhMb2NhbGUob3B0cz8ubG9jYWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNDdXJyZW5jeShvcHRzPzogRmllbGRJbnB1dEN1cnJlbmN5T3B0c1R5cGU8a2V5b2YgRWRpdG9yTW9kZWw+KTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFzQ3VycmVuY3lVbnNhZmUoPEZpZWxkSW5wdXRDdXJyZW5jeU9wdHNUeXBlPntcbiAgICAgICAgICAgIC4uLm9wdHMsXG4gICAgICAgICAgICBjdXJyZW5jeVByb3BlcnR5OiBvcHRzPy5jdXJyZW5jeVByb3BlcnR5ID8gKG9wdHMuY3VycmVuY3lQcm9wZXJ0eSBhcyBzdHJpbmcpIDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0N1cnJlbmN5VW5zYWZlKG9wdHM/OiBGaWVsZElucHV0Q3VycmVuY3lPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uQ3VycmVuY3k7XG4gICAgICAgIHRoaXMuX2N1cnJlbmN5RnJvbVByb3BlcnR5ID0gb3B0cz8uY3VycmVuY3lQcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fY3VycmVuY3kgPSBvcHRzPy5jdXJyZW5jeSA/PyB0aGlzLl9jdXJyZW5jeTtcbiAgICAgICAgdGhpcy5fY3VycmVuY3lEaXNwbGF5ID0gb3B0cz8uY3VycmVuY3lEaXNwbGF5ID8/IHRoaXMuX2N1cnJlbmN5RGlzcGxheTtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aE51bWJlckdyb3VwaW5nKG9wdHM/Lmdyb3VwU2VwYXJhdG9yID8/IGZhbHNlKVxuICAgICAgICAgICAgLndpdGhOdW1iZXJGcmFjdGlvbnMoe1xuICAgICAgICAgICAgICAgIG1heEZyYWN0aW9uRGlnaXRzOiBvcHRzPy5tYXhGcmFjdGlvbkRpZ2l0cyA/PyAyLFxuICAgICAgICAgICAgICAgIG1pbkZyYWN0aW9uRGlnaXRzOiBvcHRzPy5taW5GcmFjdGlvbkRpZ2l0cyA/PyAyXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLndpdGhOdW1iZXJWYWxpZGF0aW9uKG9wdHMpXG4gICAgICAgICAgICAud2l0aExvY2FsZShvcHRzPy5sb2NhbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc1N3aXRjaCgpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLlN3aXRjaDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzUmFkaW8ob3B0aW9uczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4sIG9wdGlvbnNUaXRsZVBhdGg/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLlJhZGlvO1xuICAgICAgICB0aGlzLl9yYWRpb09wdGlvbnMgPSBvcHRpb25zLm1hcChvID0+IDxSYWRpb1ZhbHVlPnt2YWx1ZTogbywgdGl0bGU6IGAke29wdGlvbnNUaXRsZVBhdGggPyBgJHtvcHRpb25zVGl0bGVQYXRofS5gIDogJyd9JHtvfWB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzUmFkaW9Gcm9tRW51bTxFbnVtPihlbnVtTW9kZWw6IEVudW1EZXNjcmlwdG9yPEVudW0+LCB2YWx1ZXM/OiBBcnJheTxFbnVtPik6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uUmFkaW87XG4gICAgICAgIHRoaXMuX3JhZGlvT3B0aW9ucyA9IEFycmF5LmlzQXJyYXkodmFsdWVzKVxuICAgICAgICAgICAgPyBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheTxFbnVtPihlbnVtTW9kZWwudHlwZSwgdmFsdWVzLCBlbnVtTW9kZWwubmFtZUFzVmFsdWUsIGVudW1Nb2RlbC5pMThuQmFzZUtleSA/PyB1bmRlZmluZWQpXG4gICAgICAgICAgICA6IGZyb21FbnVtQ29uc3RhbnRzQXNWYWx1ZUFycmF5KGVudW1Nb2RlbC50eXBlLCBlbnVtTW9kZWwubmFtZUFzVmFsdWUsIGVudW1Nb2RlbC5pMThuQmFzZUtleSA/PyB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNEYXRlUGlja2VyKG9wdHM/OiBGaWVsZElucHV0RGF0ZVBpY2tlck9wdHNUeXBlPEZpZWxkVmFsdWUsIEVkaXRvck1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbD4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmllbGRUeXBlID0gRmllbGRJbnB1dFR5cGVFbnVtLkRhdGVwaWNrZXI7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJGb3JtYXQgPSBvcHRzPy5mb3JtYXQ7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJNaW4gPSBvcHRzPy5taW47XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJNYXggPSBvcHRzPy5tYXg7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZSA9IG9wdHM/LnNob3dUaW1lO1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyU2hvd1NlY29uZHMgPSBvcHRzPy5zaG93U2Vjb25kcztcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqID0gb3B0cz8uYXNEYXRlT2JqO1xuXG4gICAgICAgIHRoaXMud2l0aERhdGVWYWx1ZSh7XG4gICAgICAgICAgICBhc0RhdGVPYmo6IG9wdHM/LmFzRGF0ZU9iaixcbiAgICAgICAgICAgIHV0Yzogb3B0cz8udXRjLFxuICAgICAgICAgICAgbm9UaW1lWm9uZTogb3B0cz8ubm9UaW1lWm9uZSxcbiAgICAgICAgICAgIG5vVGltZTogb3B0cz8ubm9UaW1lXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc01hc2sobWFzazogc3RyaW5nLCBzbG90Q2hhcjogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5NYXNrO1xuICAgICAgICB0aGlzLl9tYXNrID0gbWFzaztcbiAgICAgICAgdGhpcy5fc2xvdENoYXIgPSBzbG90Q2hhcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzRmlsZShvcHRzPzogRmllbGRJbnB1dEZpbGVPcHRzKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5GaWxlO1xuICAgICAgICB0aGlzLl9maWxlTXVsdGlwbGUgPSBvcHRzPy5tdWx0aXBsZTtcbiAgICAgICAgdGhpcy5fZmlsZU1heEZpbGVTaXplID0gb3B0cz8ubWF4RmlsZVNpemU7XG4gICAgICAgIHRoaXMuX2ZpbGVBY2NlcHQgPSBvcHRzPy5hY2NlcHQ7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhGaWxlT25TZWxlY3RIYW5kbGVyKG9wdHM/Lm9uRmlsZVNlbGVjdEhhbmRsZXJGbik7XG4gICAgfVxuXG4gICAgcHVibGljIGFzSW1hZ2VGaWxlKG9wdHM/OiBGaWVsZElucHV0RmlsZU9wdHMpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5hc0ZpbGUob3B0cyk7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZUZpbGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0ltYWdlVXJsKG9wdHM/OiBGaWVsZElucHV0SW1hZ2VVcmxPcHRzKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpZWxkVHlwZSA9IEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZVVybDtcbiAgICAgICAgdGhpcy5fZmlsZU11bHRpcGxlID0gb3B0cz8ubXVsdGlwbGU7XG4gICAgICAgIHRoaXMuX2ltYWdlUHJldmlldyA9IG9wdHM/LnByZXZpZXc7XG4gICAgICAgIHRoaXMuX2ltYWdlVXJsSW5wdXRIaWRkZW5PbkRpc2FibGVkID0gb3B0cz8uaW5wdXRWaXNpYmxlT25EaXNhYmxlZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzQ3VzdG9tQ29tcG9uZW50KGNvbXBvbmVudDogVHlwZTxBRm9ybWx5Q3VzdG9tRmllbGRDb21wb25lbnQ8RmllbGRWYWx1ZSwgRWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPj4sIG9wdHM/OiBGaWVsZElucHV0Q29tcG9uZW50T3B0cyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWVsZFR5cGUgPSBGaWVsZElucHV0VHlwZUVudW0uQ3VzdG9tO1xuICAgICAgICB0aGlzLl9jdXN0b21Db21wb25lbnRUeXBlID0gY29tcG9uZW50O1xuICAgICAgICB0aGlzLl9jdXN0b21Db21wb25lbnRJbnB1dHMgPSBvcHRzPy5pbnB1dHM7XG4gICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudFdyYXBwZXJzID0gb3B0cz8uZmllbGRXcmFwcGVycztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhOdW1iZXJWYWxpZGF0aW9uKG9wdHM/OiBGaWVsZElucHV0TnVtYmVyVmFsaWRhdGlvbk9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX251bWJlclN0ZXAgPSBvcHRzPy5zdGVwO1xuICAgICAgICB0aGlzLl9udW1iZXJBdXRvQ29ycmVjdCA9IG9wdHM/LmF1dG9Db3JyZWN0O1xuICAgICAgICB0aGlzLl9udW1iZXJNaW4gPSBvcHRzPy5taW47XG4gICAgICAgIHRoaXMuX251bWJlck1heCA9IG9wdHM/Lm1heDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhMb2NhbGUobG9jYWxlPzogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2xvY2FsZSA9IGxvY2FsZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhOdW1iZXJGcmFjdGlvbnMob3B0cz86IEZpZWxkSW5wdXROdW1iZXJGcmFjdGlvbk9wdHNUeXBlKSB7XG4gICAgICAgIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzID0gb3B0cz8ubWluRnJhY3Rpb25EaWdpdHM7XG4gICAgICAgIHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzID0gb3B0cz8ubWF4RnJhY3Rpb25EaWdpdHM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTnVtYmVyR3JvdXBpbmcodXNlR3JvdXBpbmcgPSB0cnVlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX251bWJlclVzZUdyb3VwaW5nID0gdXNlR3JvdXBpbmc7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoVGV4dFZhbGlkYXRpb24ob3B0cz86IEZpZWxkSW5wdXRUZXh0VmFsaWRhdGlvbk9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX21pbkxlbmd0aCA9IG9wdHM/Lm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5fbWF4TGVuZ3RoID0gb3B0cz8ubWF4TGVuZ3RoO1xuICAgICAgICB0aGlzLl9wYXR0ZXJuID0gb3B0cz8ucGF0dGVybjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhJbnB1dFRyaW0odHJpbU9wdGlvbjogSW5wdXRUcmltVHlwZSA9ICdib3RoJyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pbnB1dFRyaW0gPSB0cmltT3B0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERhdGVWYWx1ZShvcHRzPzogRGF0ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJWYWx1ZUFzRGF0ZU9iaiA9IG9wdHM/LmFzRGF0ZU9iajtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclZhbHVlVXRjID0gb3B0cz8udXRjO1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyVmFsdWVOb1RpbWV6b25lID0gb3B0cz8ubm9UaW1lWm9uZTtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclZhbHVlTm9UaW1lID0gb3B0cz8ubm9UaW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFRleHRWYWxpZGF0aW9uRW1haWwoZW1haWwgPSB0cnVlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25FbWFpbCA9IGVtYWlsO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEZpbGVPblNlbGVjdEhhbmRsZXIoZm4/OiBGaWVsZElucHV0RmlsZU9uU2VsZWN0SGFuZGxlckZuVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWxlT25TZWxlY3RIYW5kbGVyID0gZm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KCk6IEZpZWxkSW5wdXREZXNjcmlwdG9yPEVkaXRvck1vZGVsLCBGaWVsZE1vZGVsLCBGaWVsZFZhbHVlPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpZWxkSW5wdXREZXNjcmlwdG9yPEVkaXRvck1vZGVsLCBGaWVsZE1vZGVsLCBGaWVsZFZhbHVlPih0aGlzLl9lZGl0b3IsIHRoaXMuX3Byb3BlcnR5KTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICBmaWVsZC5fZmllbGRUeXBlID0gdGhpcy5fZmllbGRUeXBlO1xuICAgICAgICBmaWVsZC5fcm93cyA9IHRoaXMuX3Jvd3M7XG4gICAgICAgIGZpZWxkLl9udW1iZXJNaW4gPSB0aGlzLl9udW1iZXJNaW47XG4gICAgICAgIGZpZWxkLl9udW1iZXJNYXggPSB0aGlzLl9udW1iZXJNYXg7XG4gICAgICAgIGZpZWxkLl9udW1iZXJTdGVwID0gdGhpcy5fbnVtYmVyU3RlcDtcbiAgICAgICAgZmllbGQuX251bWJlckF1dG9Db3JyZWN0ID0gdGhpcy5fbnVtYmVyQXV0b0NvcnJlY3Q7XG4gICAgICAgIGZpZWxkLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBmaWVsZC5fbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMgPSB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICAgICAgZmllbGQuX251bWJlclVzZUdyb3VwaW5nID0gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgICAgIGZpZWxkLl9yYWRpb09wdGlvbnMgPSBbLi4udGhpcy5fcmFkaW9PcHRpb25zXTtcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJGb3JtYXQgPSB0aGlzLl9kYXRlUGlja2VyRm9ybWF0O1xuICAgICAgICBmaWVsZC5fZGF0ZVBpY2tlck1pbiA9IHRoaXMuX2RhdGVQaWNrZXJNaW47XG4gICAgICAgIGZpZWxkLl9kYXRlUGlja2VyTWF4ID0gdGhpcy5fZGF0ZVBpY2tlck1heDtcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJTaG93VGltZSA9IHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJTaG93U2Vjb25kcyA9IHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJWYWx1ZVV0YyA9IHRoaXMuX2RhdGVQaWNrZXJWYWx1ZVV0YztcbiAgICAgICAgZmllbGQuX2RhdGVQaWNrZXJWYWx1ZU5vVGltZXpvbmUgPSB0aGlzLl9kYXRlUGlja2VyVmFsdWVOb1RpbWV6b25lO1xuICAgICAgICBmaWVsZC5fZGF0ZVBpY2tlclZhbHVlTm9UaW1lID0gdGhpcy5fZGF0ZVBpY2tlclZhbHVlTm9UaW1lO1xuICAgICAgICBmaWVsZC5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqID0gdGhpcy5fZGF0ZVBpY2tlclZhbHVlQXNEYXRlT2JqO1xuICAgICAgICBmaWVsZC5fbWF4TGVuZ3RoID0gdGhpcy5fbWF4TGVuZ3RoO1xuICAgICAgICBmaWVsZC5fbWluTGVuZ3RoID0gdGhpcy5fbWluTGVuZ3RoO1xuICAgICAgICBmaWVsZC5fcGF0dGVybiA9IHRoaXMuX3BhdHRlcm47XG4gICAgICAgIGZpZWxkLl9tYXNrID0gdGhpcy5fbWFzaztcbiAgICAgICAgZmllbGQuX3Nsb3RDaGFyID0gdGhpcy5fc2xvdENoYXI7XG4gICAgICAgIGZpZWxkLl9maWxlTXVsdGlwbGUgPSB0aGlzLl9maWxlTXVsdGlwbGU7XG4gICAgICAgIGZpZWxkLl9maWxlTWF4RmlsZVNpemUgPSB0aGlzLl9maWxlTWF4RmlsZVNpemU7XG4gICAgICAgIGZpZWxkLl9maWxlQWNjZXB0ID0gdGhpcy5fZmlsZUFjY2VwdDtcbiAgICAgICAgZmllbGQuX2ZpbGVPblNlbGVjdEhhbmRsZXIgPSB0aGlzLl9maWxlT25TZWxlY3RIYW5kbGVyO1xuICAgICAgICBmaWVsZC5faW1hZ2VQcmV2aWV3ID0gdGhpcy5faW1hZ2VQcmV2aWV3O1xuICAgICAgICBmaWVsZC5faW1hZ2VVcmxJbnB1dEhpZGRlbk9uRGlzYWJsZWQgPSB0aGlzLl9pbWFnZVVybElucHV0SGlkZGVuT25EaXNhYmxlZDtcbiAgICAgICAgZmllbGQuX2N1c3RvbUNvbXBvbmVudFR5cGUgPSB0aGlzLl9jdXN0b21Db21wb25lbnRUeXBlO1xuICAgICAgICBmaWVsZC5fY3VzdG9tQ29tcG9uZW50SW5wdXRzID0gdGhpcy5fY3VzdG9tQ29tcG9uZW50SW5wdXRzO1xuICAgICAgICBmaWVsZC5fY3VzdG9tQ29tcG9uZW50V3JhcHBlcnMgPSB0aGlzLl9jdXN0b21Db21wb25lbnRXcmFwcGVycztcbiAgICAgICAgZmllbGQuX2xvY2FsZSA9IHRoaXMuX2xvY2FsZTtcbiAgICAgICAgZmllbGQuX2N1cnJlbmN5ID0gdGhpcy5fY3VycmVuY3k7XG4gICAgICAgIGZpZWxkLl9jdXJyZW5jeURpc3BsYXkgPSB0aGlzLl9jdXJyZW5jeURpc3BsYXk7XG4gICAgICAgIGZpZWxkLl9jdXJyZW5jeUZyb21Qcm9wZXJ0eSA9IHRoaXMuX2N1cnJlbmN5RnJvbVByb3BlcnR5O1xuICAgICAgICBmaWVsZC5faW5wdXRUcmltID0gdGhpcy5faW5wdXRUcmltO1xuICAgICAgICBmaWVsZC5fdmFsaWRhdGlvbkVtYWlsID0gdGhpcy5fdmFsaWRhdGlvbkVtYWlsO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYWN0aW9uLWNvbnRleHQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9lZGl0b3IvbW9kZWxzL2ZpZWxkLWFjdGlvbi1jb250ZXh0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0ZpZWxkQWN0aW9uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvZmllbGQtYWN0aW9uLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtJRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWVkaXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb21tb25zRm9ybWx5RmllbGRQcm9wc30gZnJvbSAnLi9mb3JtbHktZmllbGQubW9kZWwnO1xuaW1wb3J0IHtDb21tb25zRm9ybWx5Rm9ybU9wdGlvbnMsIENvbW1vbnNGb3JtbHlGb3JtU3RhdGV9IGZyb20gJy4vZm9ybWx5LW9wdGlvbnMubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQWN0aW9uQ29udGV4dDxFZGl0b3JNb2RlbCwgUGFyZW50RWRpdG9yTW9kZWwgPSB1bmRlZmluZWQ+IHtcbiAgICBkZXNjcmlwdG9yOiBGaWVsZEFjdGlvbkRlc2NyaXB0b3I8RWRpdG9yTW9kZWw+O1xuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEVkaXRvck1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbD47XG4gICAgZm9ybWx5OiB7XG4gICAgICAgIG1vZGVsOiBFZGl0b3JNb2RlbDtcbiAgICAgICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPHZvaWQ+O1xuICAgICAgICBmb3JtOiBGb3JtR3JvdXA8e1tLIGluIGtleW9mIEVkaXRvck1vZGVsXTogQWJzdHJhY3RDb250cm9sPEVkaXRvck1vZGVsW0tdPn0+O1xuICAgICAgICBvcHRpb25zOiBDb21tb25zRm9ybWx5Rm9ybU9wdGlvbnM8RWRpdG9yTW9kZWw+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYWN0aW9uLWNvbnRleHQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9lZGl0b3IvbW9kZWxzL2ZpZWxkLWFjdGlvbi1jb250ZXh0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0ZpZWxkQWN0aW9uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvZmllbGQtYWN0aW9uLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtJRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWVkaXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb21tb25zRm9ybWx5RmllbGRQcm9wc30gZnJvbSAnLi9mb3JtbHktZmllbGQubW9kZWwnO1xuaW1wb3J0IHtDb21tb25zRm9ybWx5Rm9ybU9wdGlvbnMsIENvbW1vbnNGb3JtbHlGb3JtU3RhdGV9IGZyb20gJy4vZm9ybWx5LW9wdGlvbnMubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQWN0aW9uQ29udGV4dDxFZGl0b3JNb2RlbCwgUGFyZW50RWRpdG9yTW9kZWwgPSB1bmRlZmluZWQ+IHtcbiAgICBkZXNjcmlwdG9yOiBGaWVsZEFjdGlvbkRlc2NyaXB0b3I8RWRpdG9yTW9kZWw+O1xuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PEVkaXRvck1vZGVsLCBQYXJlbnRFZGl0b3JNb2RlbD47XG4gICAgZm9ybWx5OiB7XG4gICAgICAgIG1vZGVsOiBFZGl0b3JNb2RlbDtcbiAgICAgICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPHZvaWQ+O1xuICAgICAgICBmb3JtOiBGb3JtR3JvdXA8e1tLIGluIGtleW9mIEVkaXRvck1vZGVsXTogQWJzdHJhY3RDb250cm9sPEVkaXRvck1vZGVsW0tdPn0+O1xuICAgICAgICBvcHRpb25zOiBDb21tb25zRm9ybWx5Rm9ybU9wdGlvbnM8RWRpdG9yTW9kZWw+O1xuICAgICAgICBwcm9wczogQ29tbW9uc0Zvcm1seUZpZWxkUHJvcHM8dm9pZCwgRWRpdG9yTW9kZWwsIFBhcmVudEVkaXRvck1vZGVsPjtcbiAgICAgICAgZm9ybVN0YXRlOiBDb21tb25zRm9ybWx5Rm9ybVN0YXRlPEVkaXRvck1vZGVsPjtcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQWN0aW9uUmVzdWx0IHtcbiAgICBtZXNzYWdlPzogRmllbGRBY3Rpb25SZXN1bHRNZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQWN0aW9uUmVzdWx0TWVzc2FnZSB7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIHNldmVyaXR5PzogJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Rhbmdlcic7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lZGl0b3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvZWRpdG9yL21vZGVscy9mb3JtLWVkaXRvci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5wdXRTaWduYWwsIFdyaXRhYmxlU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5Rm9ybU9wdGlvbnN9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtNZXNzYWdlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7RWRpdG9yRGVzY3JpcHRvckluc3R9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL2VkaXRvci5kZXNjcmlwdG9yJztcbmltcG9ydCB7Q29tbW9uc0Zvcm1seUZvcm1PcHRpb25zfSBmcm9tICcuL2Zvcm1seS1vcHRpb25zLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgRm9ybUVkaXRvclJlc2V0Rm9ybU1vZGVsT3B0cyA9IHtcbiAgICBtYXJrQXNQcmlzdGluZT86IGJvb2xlYW47XG4gICAgb25seVNlbGY/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRm9ybUVkaXRvclNldEZpZWxkVmFsdWVPcHRzID0ge29ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlPzogYm9vbGVhbjsgZW1pdFZpZXdUb01vZGVsQ2hhbmdlPzogYm9vbGVhbn07XG5cbmV4cG9ydCB0eXBlIEZvcm1FZGl0b3JQYXRjaEZpZWxkVmFsdWVPcHRzID0ge29ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlPzogYm9vbGVhbjsgZW1pdFZpZXdUb01vZGVsQ2hhbmdlPzogYm9vbGVhbn07XG5cbmV4cG9ydCB0eXBlIEZvcm1FZGl0b3JSZXNldEZpZWxkVmFsdWVPcHRzID0ge29ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1FZGl0b3JDb21wb25lbnQ8SXRlbSwgUGFyZW50SXRlbSA9IGFueT4ge1xuICAgIGRlc2NyaXB0b3I6IElucHV0U2lnbmFsPEVkaXRvckRlc2NyaXB0b3JJbnN0PEl0ZW0+PjtcbiAgICBpc0Zvcm1EaXNhYmxlZDogSW5wdXRTaWduYWw8Ym9vbGVhbj47XG4gICAgZm9ybU1lc3NhZ2VzOiBXcml0YWJsZVNpZ25hbDxNZXNzYWdlW10+O1xuXG4gICAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwPHtbSyBpbiBrZXlvZiBJdGVtXTogQWJzdHJhY3RDb250cm9sPEl0ZW1bS10+fT47XG4gICAgZ2V0IGZvcm1VbnNhZmUoKTogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBnZXQgZm9ybWx5T3B0aW9ucygpOiBGb3JtbHlGb3JtT3B0aW9ucyAmIENvbW1vbnNGb3JtbHlGb3JtT3B0aW9uczxJdGVtPjtcbiAgICBnZXQgZm9ybWx5RmllbGRzKCk6IEZvcm1seUZpZWxkQ29uZmlnW107XG4gICAgZ2V0IGZvcm1seUluaXRpYWxJdGVtKCk6IGFueTtcbiAgICBnZXQgcGFyZW50KCk6IElGb3JtRWRpdG9yQ29tcG9uZW50PFBhcmVudEl0ZW0+IHwgdW5kZWZpbmVkO1xuXG4gICAgc3VibWl0KCk6IHZvaWQ7XG4gICAgZ2V0Rm9ybVZhbHVlKCk6IEl0ZW07XG4gICAgcmVzZXRGb3JtTW9kZWwoaXRlbT86IEl0ZW0sIG9wdHM/OiBGb3JtRWRpdG9yUmVzZXRGb3JtTW9kZWxPcHRzKTogdm9pZDtcbiAgICBnZXRGaWVsZChrZXk6IGtleW9mIEl0ZW0pOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsO1xuICAgIGdldEZpZWxkVW5zYWZlKGtleTogc3RyaW5nKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbDtcbiAgICBzZXRGaWVsZFZhbHVlPFByb3BlcnR5IGV4dGVuZHMga2V5b2YgSXRlbT4oa2V5OiBQcm9wZXJ0eSwgdmFsdWU6IEl0ZW1bUHJvcGVydHldLCBvcHRzPzogRm9ybUVkaXRvclNldEZpZWxkVmFsdWVPcHRzKTogYm9vbGVhbjtcbiAgICBzZXRGaWVsZFZhbHVlVW5zYWZlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBvcHRzPzogRm9ybUVkaXRvclNldEZpZWxkVmFsdWVPcHRzKTogYm9vbGVhbjtcbiAgICBwYXRjaEZpZWxkVmFsdWU8UHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBJdGVtPihrZXk6IFByb3BlcnR5LCB2YWx1ZTogSXRlbVtQcm9wZXJ0eV0sIG9wdHM/OiBGb3JtRWRpdG9yUGF0Y2hGaWVsZFZhbHVlT3B0cyk6IGJvb2xlYW47XG4gICAgcGF0Y2hGaWVsZFZhbHVlVW5zYWZlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBvcHRzPzogRm9ybUVkaXRvclBhdGNoRmllbGRWYWx1ZU9wdHMpOiBib29sZWFuO1xuICAgIHJlc2V0RmllbGRWYWx1ZTxQcm9wZXJ0eSBleHRlbmRzIGtleW9mIEl0ZW0+KGtleTogUHJvcGVydHksIHZhbHVlPzogSXRlbVtQcm9wZXJ0eV0sIG9wdHM/OiBGb3JtRWRpdG9yUmVzZXRGaWVsZFZhbHVlT3B0cyk6IGJvb2xlYW47XG4gICAgcmVzZXRGaWVsZFZhbHVlVW5zYWZlKGtleTogc3RyaW5nLCB2YWx1ZT86IGFueSwgb3B0cz86IEZvcm1FZGl0b3JSZXNldEZpZWxkVmFsdWVPcHRzKTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { FieldType } from '@ngx-formly/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class AFormlyCustomFieldComponent extends FieldType {
|
|
@@ -30,10 +30,10 @@ export class AFormlyCustomFieldComponent extends FieldType {
|
|
|
30
30
|
get formState() {
|
|
31
31
|
return this._formState;
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AFormlyCustomFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.5", type: AFormlyCustomFieldComponent, inputs: { field: "field", _model: ["model", "_model"], _form: ["form", "_form"], _options: ["options", "_options"], _key: ["key", "_key"], _formControl: ["formControl", "_formControl"], _props: ["props", "_props"], _showError: ["showError", "_showError"], _id: ["id", "_id"], _formState: ["formState", "_formState"] }, usesInheritance: true, ngImport: i0 }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AFormlyCustomFieldComponent, decorators: [{
|
|
37
37
|
type: Directive
|
|
38
38
|
}], propDecorators: { field: [{
|
|
39
39
|
type: Input,
|
|
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
66
66
|
type: Input,
|
|
67
67
|
args: ['formState']
|
|
68
68
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWN1c3RvbS1maWVsZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL2VkaXRvci9tb2RlbHMvZm9ybWx5LWN1c3RvbS1maWVsZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBTTNDLE1BQU0sT0FBZ0IsMkJBQTJFLFNBQVEsU0FBc0U7SUFZM0ssSUFBYSxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFhLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWEsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBYSxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFhLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFhLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQWEsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQzs4R0E5Q2lCLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQURoRCxTQUFTOzhCQUVtQixLQUFLO3NCQUE3QixLQUFLO3VCQUFDLE9BQU87Z0JBQ0UsTUFBTTtzQkFBckIsS0FBSzt1QkFBQyxPQUFPO2dCQUNDLEtBQUs7c0JBQW5CLEtBQUs7dUJBQUMsTUFBTTtnQkFDSyxRQUFRO3NCQUF6QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0YsSUFBSTtzQkFBakIsS0FBSzt1QkFBQyxLQUFLO2dCQUNVLFlBQVk7c0JBQWpDLEtBQUs7dUJBQUMsYUFBYTtnQkFDSixNQUFNO3NCQUFyQixLQUFLO3VCQUFDLE9BQU87Z0JBQ00sVUFBVTtzQkFBN0IsS0FBSzt1QkFBQyxXQUFXO2dCQUNMLEdBQUc7c0JBQWYsS0FBSzt1QkFBQyxJQUFJO2dCQUNTLFVBQVU7c0JBQTdCLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0ZpZWxkVHlwZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmltcG9ydCB7Q29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnLCBDb21tb25zRm9ybWx5RmllbGRQcm9wc30gZnJvbSAnLi9mb3JtbHktZmllbGQubW9kZWwnO1xuaW1wb3J0IHtDb21tb25zRm9ybWx5Rm9ybU9wdGlvbnMsIENvbW1vbnNGb3JtbHlGb3JtU3RhdGV9IGZyb20gJy4vZm9ybWx5LW9wdGlvbnMubW9kZWwnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBRm9ybWx5Q3VzdG9tRmllbGRDb21wb25lbnQ8VmFsdWUsIEZvcm1WYWx1ZSwgUGFyZW50Rm9ybVZhbHVlID0gdW5kZWZpbmVkPiBleHRlbmRzIEZpZWxkVHlwZTxDb21tb25zRm9ybWx5RmllbGRDb25maWc8VmFsdWUsIEZvcm1WYWx1ZSwgUGFyZW50Rm9ybVZhbHVlPj4ge1xuICAgIEBJbnB1dCgnZmllbGQnKSBvdmVycmlkZSBmaWVsZCE6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZzxWYWx1ZSwgRm9ybVZhbHVlLCBQYXJlbnRGb3JtVmFsdWU+O1xuICAgIEBJbnB1dCgnbW9kZWwnKSBfbW9kZWwhOiBWYWx1ZTtcbiAgICBASW5wdXQoJ2Zvcm0nKSBfZm9ybSE6IEZvcm1Hcm91cDx7W0sgaW4ga2V5b2YgRm9ybVZhbHVlXTogQWJzdHJhY3RDb250cm9sPEZvcm1WYWx1ZVtLXT59PjtcbiAgICBASW5wdXQoJ29wdGlvbnMnKSBfb3B0aW9ucyE6IENvbW1vbnNGb3JtbHlGb3JtT3B0aW9uczxGb3JtVmFsdWU+O1xuICAgIEBJbnB1dCgna2V5JykgX2tleSE6IHN0cmluZyB8IG51bWJlciB8IChzdHJpbmcgfCBudW1iZXIpW107XG4gICAgQElucHV0KCdmb3JtQ29udHJvbCcpIF9mb3JtQ29udHJvbCE6IEZvcm1Db250cm9sPFZhbHVlPjtcbiAgICBASW5wdXQoJ3Byb3BzJykgX3Byb3BzITogQ29tbW9uc0Zvcm1seUZpZWxkUHJvcHM8VmFsdWUsIEZvcm1WYWx1ZSwgUGFyZW50Rm9ybVZhbHVlPjtcbiAgICBASW5wdXQoJ3Nob3dFcnJvcicpIF9zaG93RXJyb3IhOiBib29sZWFuO1xuICAgIEBJbnB1dCgnaWQnKSBfaWQhOiBzdHJpbmc7XG4gICAgQElucHV0KCdmb3JtU3RhdGUnKSBfZm9ybVN0YXRlITogQ29tbW9uc0Zvcm1seUZvcm1TdGF0ZTxGb3JtVmFsdWU+O1xuXG4gICAgb3ZlcnJpZGUgZ2V0IG1vZGVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWw7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0IGZvcm0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldCBvcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXQga2V5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fa2V5O1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldCBmb3JtQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Db250cm9sO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldCBwcm9wcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BzO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldCBzaG93RXJyb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93RXJyb3I7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0IGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0IGZvcm1TdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1TdGF0ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvZWRpdG9yL21vZGVscy9mb3JtbHktZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7RmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wc30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmltcG9ydCB7QUZpZWxkRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvZmllbGQtYmFzZS5kZXNjcmlwdG9yJztcbmltcG9ydCB7QUZpZWxkR3JvdXBEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy9maWVsZC1ncm91cC5kZXNjcmlwdG9yJztcbmltcG9ydCB7SUZvcm1FZGl0b3JDb21wb25lbnR9IGZyb20gJy4vZm9ybS1lZGl0b3IuaW50ZXJmYWNlJztcbmltcG9ydCB7Q29tbW9uc0Zvcm1seUZvcm1PcHRpb25zfSBmcm9tICcuL2Zvcm1seS1vcHRpb25zLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgQ29tbW9uc0Zvcm1seUZpZWxkUHJvcHM8VmFsdWUgPSBhbnksIEZvcm1WYWx1ZSA9IGFueSwgUGFyZW50Rm9ybVZhbHVlID0gYW55PiA9IEZvcm1seUZpZWxkUHJvcHMgJiBDb21tb25zRm9ybWx5RmllbGRBZGRpdGlvbmFsUHJvcHM8VmFsdWUsIEZvcm1WYWx1ZSwgUGFyZW50Rm9ybVZhbHVlPjtcblxuZXhwb3J0IHR5cGUgQ29tbW9uc0Zvcm1seVZhbGlkYXRpb24gPSBGb3JtbHlGaWVsZENvbmZpZ1sndmFsaWRhdG9ycyddO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZzxWYWx1ZSA9IGFueSwgRm9ybVZhbHVlID0gYW55LCBQYXJlbnRGb3JtVmFsdWUgPSBhbnksIFByb3BzID0gQ29tbW9uc0Zvcm1seUZpZWxkUHJvcHM8VmFsdWUsIEZvcm1WYWx1ZSwgUGFyZW50Rm9ybVZhbHVlPj5cbiAgICBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPFByb3BzPiB7XG4gICAgcHJvcHM6IFByb3BzO1xuICAgIHJlYWRvbmx5IG1vZGVsPzogVmFsdWU7XG4gICAgLyoqXG4gICAgICogVGhlIGZvcm0gb3B0aW9ucy5cbiAgICAgKi9cbiAgICByZWFkb25seSBvcHRpb25zPzogQ29tbW9uc0Zvcm1seUZvcm1PcHRpb25zPFZhbHVlPjtcbiAgICAvKipcbiAgICAgKiBUaGUgcGFyZW50IGZvcm0uXG4gICAgICovXG4gICAgcmVhZG9ubHkgZm9ybT86IEZvcm1Hcm91cDx7W0sgaW4ga2V5b2YgRm9ybVZhbHVlXTogQWJzdHJhY3RDb250cm9sPEZvcm1WYWx1ZVtLXT59PjtcbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIHRoZSBbRm9ybUNvbnRyb2xdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvRm9ybUNvbnRyb2wpIGZvciB0aGUgZmllbGQuXG4gICAgICogSXQgcHJvdmlkZXMgeW91IG1vcmUgY29udHJvbCBsaWtlIHJ1bm5pbmcgdmFsaWRhdG9ycywgY2FsY3VsYXRpbmcgc3RhdHVzLCBhbmQgcmVzZXR0aW5nIHN0YXRlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZvcm1Db250cm9sPzogRm9ybUNvbnRyb2w8VmFsdWU+O1xufVxuXG5leHBvcnQgdHlwZSBDb21tb25zRm9ybWx5SG9va0ZuPFQsIEVUPiA9IChmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnPFQsIEVUPikgPT4gdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25zRm9ybWx5RmllbGRBZGRpdGlvbmFsUHJvcHM8VmFsdWUsIEZvcm1WYWx1ZSwgUGFyZW50Rm9ybVZhbHVlID0gYW55PiB7XG4gICAgZGVzY3JpcHRvcj86IEFGaWVsZERlc2NyaXB0b3I8VmFsdWUsIEZvcm1WYWx1ZT4gfCBBRmllbGRHcm91cERlc2NyaXB0b3I8Rm9ybVZhbHVlPjtcbiAgICBmb3JtRWRpdG9yQ29tcG9uZW50PzogSUZvcm1FZGl0b3JDb21wb25lbnQ8Rm9ybVZhbHVlLCBQYXJlbnRGb3JtVmFsdWU+O1xuICAgIGZpZWxkQ29tcG9uZW50PzogRmllbGRUeXBlPENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZzxWYWx1ZSwgRm9ybVZhbHVlPj47XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIGhpZGU/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBtaW5EYXRlPzogRGF0ZTtcbiAgICBtYXhEYXRlPzogRGF0ZTtcbiAgICBvblZhbHVlQ2hhbmdlPzogKGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWc8VmFsdWUsIEZvcm1WYWx1ZT4sIHZhbHVlOiBWYWx1ZSkgPT4gdm9pZDtcblxuICAgIFthZGRpdGlvbmFsUHJvcGVydGllczogc3RyaW5nXTogYW55O1xufVxuIl19
|