ets-fe-ng-sdk 17.0.430 → 18.0.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/esm2022/lib/Reusables/reusable-comps/find-item/find-item.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-comps/find-item/find-item.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-comps/watermark/watermark.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/extra-pages/extra-pages-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/extra-pages/extra-pages.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.interface.mjs +1 -1
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.service.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/page-not-found/page-not-found.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/reset/reset-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/reset/reset.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/reset/reset.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/robot/robot-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/robot/robot.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/robot/robot.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/timeout-tester/timeout-tester-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/user-activity/ua-extras/user-activity.service.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/version/version-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/version/version.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/version/version.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/version/version.service.mjs +4 -4
- package/esm2022/lib/Services/Interceptors/authentication-interceptor.service.mjs +5 -5
- package/esm2022/lib/Services/Interceptors/global-error-handler.service.mjs +3 -3
- package/esm2022/lib/Services/Interceptors/logger-interceptor.service.mjs +5 -5
- package/esm2022/lib/Services/Interceptors/request-loader-interceptor.service.mjs +5 -5
- package/esm2022/lib/Services/Interceptors/request-timeout.service.mjs +4 -4
- package/esm2022/lib/Services/api.service.mjs +4 -4
- package/esm2022/lib/Services/app.service.mjs +3 -3
- package/esm2022/lib/Services/base.effect.mjs +3 -3
- package/esm2022/lib/Services/base.facade.service.mjs +1 -1
- package/esm2022/lib/Services/base.service.mjs +4 -4
- package/esm2022/lib/Services/cache/cache-updater.service.mjs +3 -3
- package/esm2022/lib/Services/cache/cache.service.mjs +4 -4
- package/esm2022/lib/Services/cache/local-cache.service.mjs +4 -4
- package/esm2022/lib/Services/cache/saver.service.mjs +3 -3
- package/esm2022/lib/Services/debouncer.service.mjs +4 -4
- package/esm2022/lib/Services/htmler.service.mjs +3 -3
- package/esm2022/lib/Services/input.service.mjs +4 -4
- package/esm2022/lib/Services/page-loader.service.mjs +7 -7
- package/esm2022/lib/Services/page.service.mjs +3 -3
- package/esm2022/lib/Services/route.service.mjs +4 -4
- package/esm2022/lib/Services/service-worker/check-for-update.service.mjs +4 -4
- package/esm2022/lib/Services/service-worker/handle-unrecoverable-state.service.mjs +3 -3
- package/esm2022/lib/Services/service-worker/log-update.service.mjs +4 -4
- package/esm2022/lib/Services/service-worker/prompt-update.service.mjs +3 -3
- package/esm2022/lib/Services/service-worker/service-worker.service.mjs +4 -4
- package/esm2022/lib/Services/storage.service.mjs +4 -4
- package/esm2022/lib/Services/theme.service.mjs +3 -3
- package/esm2022/lib/Services/translation.service.mjs +4 -4
- package/esm2022/lib/Services/utility.service.mjs +4 -4
- package/esm2022/lib/Services/window-security.service.mjs +4 -4
- package/esm2022/lib/Shared/classes/page-loader.class.mjs +1 -1
- package/esm2022/lib/Shared/components/add-item/add-item.component.mjs +3 -3
- package/esm2022/lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component.mjs +4 -4
- package/esm2022/lib/Shared/components/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/lib/Shared/components/autocomplete/autocomplete.service.mjs +4 -4
- package/esm2022/lib/Shared/components/btn/btn-lg/btn-lg.component.mjs +3 -3
- package/esm2022/lib/Shared/components/btn/btn-link/btn-link.component.mjs +3 -3
- package/esm2022/lib/Shared/components/btn/btn.component.mjs +4 -4
- package/esm2022/lib/Shared/components/btn/btn.service.mjs +4 -4
- package/esm2022/lib/Shared/components/btn/details-btn/details-btn.component.mjs +3 -3
- package/esm2022/lib/Shared/components/card/card.component.mjs +3 -3
- package/esm2022/lib/Shared/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/Shared/components/confirm-dialog/confirm-dialog.service.mjs +4 -4
- package/esm2022/lib/Shared/components/core/button/button.component.mjs +3 -3
- package/esm2022/lib/Shared/components/documents-name-display/documents-name-display.component.mjs +4 -4
- package/esm2022/lib/Shared/components/editable-text-case/editable-text-case.component.mjs +4 -4
- package/esm2022/lib/Shared/components/export-table/export-table.component.mjs +4 -4
- package/esm2022/lib/Shared/components/fields-to-display/fields-to-display.component.mjs +4 -4
- package/esm2022/lib/Shared/components/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/Shared/components/form-error/form-error.component.mjs +4 -4
- package/esm2022/lib/Shared/components/form-generator/form-generated-value/form-generated-value.component.mjs +6 -6
- package/esm2022/lib/Shared/components/form-generator/form-generator.base.component.mjs +11 -2
- package/esm2022/lib/Shared/components/form-generator/form-generator.component.mjs +4 -4
- package/esm2022/lib/Shared/components/form-generator/form-generator.service.mjs +3 -3
- package/esm2022/lib/Shared/components/form-link/form-link.component.mjs +3 -3
- package/esm2022/lib/Shared/components/form-tab-headers/form-tab-headers.component.mjs +3 -3
- package/esm2022/lib/Shared/components/index-comp-layout/index-comp-layout.component.mjs +7 -7
- package/esm2022/lib/Shared/components/info-dialog/info-dialog.component.mjs +4 -4
- package/esm2022/lib/Shared/components/info-dialog/info-dialog.service.mjs +4 -4
- package/esm2022/lib/Shared/components/info-icon/info-icon.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/date-input/date-input.component.mjs +5 -5
- package/esm2022/lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input-base.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input-basic.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input-control.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input-label/input-label.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input-td-rf.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input.service.mjs +4 -4
- package/esm2022/lib/Shared/components/input/inputs-pipes.pipe.mjs +26 -26
- package/esm2022/lib/Shared/components/input/validation-message/validation-message.component.mjs +6 -6
- package/esm2022/lib/Shared/components/input/validation-message/validation-message.service.mjs +3 -3
- package/esm2022/lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input-NgModel/input-ngmodel.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input-table/input-table.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input-table/input-table.service.mjs +3 -3
- package/esm2022/lib/Shared/components/label/label.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/blinking-blocks/blinking-blocks.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/bouncing-ball/bouncing-ball.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/fading-bars/fading-bars.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/fading-circles/fading-circles.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/ring-ripples/ring-ripples.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/spinner.component.mjs +3 -3
- package/esm2022/lib/Shared/components/modal/modal-body.directive.mjs +3 -3
- package/esm2022/lib/Shared/components/modal/modal-footer.directive.mjs +3 -3
- package/esm2022/lib/Shared/components/modal/modal.component.mjs +3 -3
- package/esm2022/lib/Shared/components/modal-form/modal-form.component.mjs +3 -3
- package/esm2022/lib/Shared/components/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/lib/Shared/components/narration-history-comp/narration-history-comp.component.mjs +4 -4
- package/esm2022/lib/Shared/components/notifications/notifications.component.mjs +3 -3
- package/esm2022/lib/Shared/components/notifications/notifications.service.mjs +3 -3
- package/esm2022/lib/Shared/components/page-center-body/page-center-body.component.mjs +3 -3
- package/esm2022/lib/Shared/components/page-template/page-template.component.mjs +4 -4
- package/esm2022/lib/Shared/components/page-to-component/page-to-component.component.mjs +6 -6
- package/esm2022/lib/Shared/components/page-to-component/page-to-component.directive.mjs +3 -3
- package/esm2022/lib/Shared/components/page-to-component/page-to-component.service.mjs +3 -3
- package/esm2022/lib/Shared/components/paginator/paginator.component.mjs +4 -4
- package/esm2022/lib/Shared/components/phone-number/phone-number.component.mjs +4 -4
- package/esm2022/lib/Shared/components/phone-number/phone-number.model.mjs +1 -1
- package/esm2022/lib/Shared/components/phone-number/phone-number.service.mjs +3 -3
- package/esm2022/lib/Shared/components/rich-text-editor/rich-text-editor.component.mjs +12 -12
- package/esm2022/lib/Shared/components/rich-text-editor-rf/rich-text-editor-rf.component.mjs +12 -12
- package/esm2022/lib/Shared/components/row-actions/row-actions.component.mjs +3 -3
- package/esm2022/lib/Shared/components/svg-icon/svg-icon.component.mjs +3 -3
- package/esm2022/lib/Shared/components/svg-icon/svg-icon.service.mjs +3 -3
- package/esm2022/lib/Shared/components/table-https/table-https.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-input/table-input-row/table-input-row.component.mjs +3 -3
- package/esm2022/lib/Shared/components/table-input/table-input.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-plain/table-base.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-plain/table-plain.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-plain/table-plain.service.mjs +3 -3
- package/esm2022/lib/Shared/components/table-plain/table.pipe.mjs +20 -20
- package/esm2022/lib/Shared/components/text/text.component.mjs +3 -3
- package/esm2022/lib/Shared/components/text-area-modal/text-area-modal.component.mjs +3 -3
- package/esm2022/lib/Shared/components/text-area-modal/text-area-modal.service.mjs +3 -3
- package/esm2022/lib/Shared/components/text-case-1/text-case-1.component.mjs +4 -4
- package/esm2022/lib/Shared/components/text-case-2/text-case-2.component.mjs +3 -3
- package/esm2022/lib/Shared/components/text-case-2/text-case.service.mjs +4 -4
- package/esm2022/lib/Shared/components/text-case-input/text-case-input.component.mjs +3 -3
- package/esm2022/lib/Shared/components/toggle-input-form/toggle-input-form.component.mjs +3 -3
- package/esm2022/lib/Shared/components/translator-case/translator-case.component.mjs +3 -3
- package/esm2022/lib/Shared/components/vertical-nav/vertical-nav.component.mjs +4 -4
- package/esm2022/lib/Shared/components/view-form-buttons/view-form-buttons.component.mjs +3 -3
- package/esm2022/lib/Shared/components/webcam-media/webcam-media.component.mjs +4 -4
- package/esm2022/lib/Shared/directives/commafy-number.directive.mjs +3 -3
- package/esm2022/lib/Shared/directives/drag-drop-file-upload.directive.mjs +4 -4
- package/esm2022/lib/Shared/directives/form-invalid-class.directive.mjs +3 -3
- package/esm2022/lib/Shared/directives/index.directive.mjs +23 -23
- package/esm2022/lib/Shared/directives/input-formatter.directive.mjs +14 -14
- package/esm2022/lib/Shared/directives/integer-only.directive.mjs +4 -4
- package/esm2022/lib/Shared/directives/mHref.directive.mjs +3 -3
- package/esm2022/lib/Shared/directives/negative-number-only.directive.mjs +4 -4
- package/esm2022/lib/Shared/directives/responsiveness.directive.mjs +20 -20
- package/esm2022/lib/Shared/directives/translator.directive.mjs +4 -4
- package/esm2022/lib/Shared/models/form.class.mjs +1 -1
- package/esm2022/lib/Shared/pipes/form-invalid-class.pipe.mjs +3 -3
- package/esm2022/lib/Shared/pipes/paginator.pipe.mjs +3 -3
- package/esm2022/lib/Shared/pipes/translate.pipe.mjs +7 -7
- package/esm2022/lib/Shared/pipes/utility.pipe.mjs +134 -134
- package/esm2022/lib/Shared/prototypes/prototypes.mjs +1 -1
- package/esm2022/lib/Shared/shared.module.mjs +4 -4
- package/esm2022/lib/authentication/web-user/web-user-authentication.guard.mjs +1 -1
- package/esm2022/lib/authentication/web-user/web-user-authentication.interceptor.mjs +1 -1
- package/esm2022/lib/authentication/web-user/web-user-authentication.service.mjs +3 -3
- package/esm2022/lib/authentication/web-user/web-user-forgot-password.component.mjs +4 -4
- package/esm2022/lib/authentication/web-user/web-user-login.component.mjs +4 -4
- package/esm2022/lib/authentication/web-user/web-user-reset-password.component.mjs +4 -4
- package/esm2022/lib/configs/base-functions.mjs +1 -1
- package/fesm2022/ets-fe-ng-sdk.mjs +766 -758
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Services/utility.service.d.ts +5 -5
- package/lib/Shared/components/btn/btn.component.d.ts +3 -3
- package/lib/Shared/components/form-generator/form-generated-value/form-generated-value.component.d.ts +1 -1
- package/lib/Shared/components/form-generator/form-generator.base.component.d.ts +3 -0
- package/lib/Shared/components/index-comp-layout/index-comp-layout.component.d.ts +1 -1
- package/lib/Shared/components/input/input-base.component.d.ts +3 -7
- package/lib/Shared/components/table-https/table-https.component.d.ts +3 -3
- package/lib/Shared/components/text-case-2/text-case.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -83,10 +83,10 @@ export class InputNGModelComponent {
|
|
|
83
83
|
// if (!environment.production)
|
|
84
84
|
console.log(this.value);
|
|
85
85
|
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputNGModelComponent, deps: [{ token: i1.InputService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: InputNGModelComponent, isStandalone: true, selector: "app-input-ngmodel", inputs: { _value: ["mvalue", "_value"], cls: "cls", colored: "colored", disabled: "disabled", hide: "hide", hint: "hint", id: "id", inpCl: "inpCl", label: "label", lblCl: "lblCl", lblPosition: "lblPosition", mini: "mini", light: "light", name: "name", model: "model", optionFormatter: "optionFormatter", _options: ["options", "_options"], checked: "checked", contextData: "contextData", decimalPoints: "decimalPoints", labelField: "labelField", max: "max", min: "min", placeholder: "placeholder", prefix: "prefix", readonly: "readonly", required: "required", showEmptyOption: "showEmptyOption", showLabel: "showLabel", showValidation: "showValidation", showValidationIcon: "showValidationIcon", small: "small", stacked: "stacked", suffix: "suffix", theme: "theme", _type: ["type", "_type"], valueField: "valueField", labelType: "labelType", xsmall: "xsmall" }, outputs: { modelChange: "modelChange", mchange: "mchange" }, viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["labelEl"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row align-items-center\">\n @if (showLabel) {\n <label\n #labelEl\n l\n class=\"col-md-{{ stacked ? '12 pb-0' : mini ? 'auto' : lblCl }} m-0 \"\n for=\"{{ id }}\"\n [ngClass]=\"{\n 'text-primary': colored,\n 'py-2': theme == 1,\n 'form-label': theme == 2,\n light: light,\n small,\n small1: xsmall,\n 'order-1': lblPosition == 'right'\n }\">\n {{ label | appTranslate | async }}\n </label>\n }\n <div\n class=\"position-relative\"\n [ngClass]=\"{ 'order-0': lblPosition == 'right', 'col-12': stacked, 'col-md': !stacked, 'col-md-auto': lblPosition == 'right' }\"\n [matTooltip]=\"hint\">\n @switch (type) {\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <input\n type=\"checkbox\"\n id=\"{{ id }}\"\n [name]=\"name\"\n [ngModel]=\"model\"\n [disabled]=\"disabled\"\n class=\"{{ inpCl }} d-inline-block form-control width-unset\"\n placeholder=\"{{ placeholder }}\"\n [required]=\"required\"\n (ngModelChange)=\"change($event)\"\n [checked]=\"checked\" />\n }\n <!-- FILE -->\n @case ('file') {\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl | inputClass\" (change)=\"upload($event)\" (change)=\"change($event)\" />\n }\n <!-- SELECT -->\n @case ('select') {\n <select\n [name]=\"name\"\n [(ngModel)]=\"model\"\n id=\"{{ id }}\"\n class=\"mr-2\"\n [class]=\"inpCl | inputClass\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n (change)=\"change($event)\">\n @if (showEmptyOption) {\n <option></option>\n }\n @for (item of options; track iS.trackByValue($index, item)) {\n <option [ngValue]=\"item.value\">\n <!-- {{item|optionLabeller:optionFormatter:labelType:labelField}} -->\n {{ item.label }}\n </option>\n }\n </select>\n }\n <!-- TEXTAREA -->\n @case ('textarea') {\n <textarea\n [name]=\"name\"\n [(ngModel)]=\"model\"\n id=\"{{ id }}\"\n [class]=\"inpCl | inputClass\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (change)=\"change($event)\"></textarea>\n }\n <!-- Radio -->\n @case ('radio') {\n <input type=\"radio\" [(ngModel)]=\"model\" id=\"{{ id }}\" [readonly]=\"readonly\" (change)=\"change($event)\" [disabled]=\"disabled\" />\n }\n <!-- Viewer -->\n @case ('viewer') {\n <input type=\"text\" id=\"{{ id }}\" placeholder=\"{{ placeholder }}\" [readonly]=\"true\" [value]=\"model\" [disabled]=\"disabled\" />\n }\n\n <!-- PASSWORD -->\n @case ('password') {\n <input\n type=\"{{ showPassword ? 'text' : 'password' }}\"\n [(ngModel)]=\"model\"\n placeholder=\"{{ placeholder }}\"\n [class]=\"inpCl | inputClass\"\n id=\"{{ id }}\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n (change)=\"change($event)\"\n value=\"{{ __value }}\" />\n <div class=\"password-icons pointer\" (click)=\"showPassword = !showPassword\">\n @if (showPassword) {\n <i class=\"fa fa-eye-slash\"></i>\n }\n @if (!showPassword) {\n <i class=\"fa fa-eye\"></i>\n }\n </div>\n }\n\n <!-- DEFAULT -->\n @default {\n <input\n type=\"{{ type }}\"\n id=\"{{ id }}\"\n [name]=\"name\"\n [(ngModel)]=\"model\"\n placeholder=\"{{ placeholder }}\"\n [class]=\"inpCl | inputClass\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [max]=\"max\"\n [min]=\"min\"\n [readonly]=\"readonly\"\n (change)=\"change($event)\" />\n }\n }\n </div>\n</div>\n", styles: [".checkmark{position:absolute;left:93%;top:12%;font-size:25px;color:#514ef5;display:block!important}.bordercheck{border:2px solid #514ef5;outline:0}.borderuncheck{border:2px solid red;outline:0}.uncheckmark{position:absolute;left:94%;top:12%;font-size:25px;color:red;display:block!important}.colored{color:#514ef5}.light{font-weight:500}input[type=checkbox]:checked{position:relative}label{min-height:32px!important}.password-icons{position:absolute;right:20px;top:17%}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: InputClassPipe, name: "inputClass" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputNGModelComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
91
|
args: [{ selector: 'app-input-ngmodel', standalone: true, imports: [NgIf, NgClass, MatTooltipModule, NgSwitch, NgSwitchCase, FormsModule, NgFor, NgSwitchDefault, AsyncPipe, InputClassPipe, SDKTranslatePipe], template: "<div class=\"row align-items-center\">\n @if (showLabel) {\n <label\n #labelEl\n l\n class=\"col-md-{{ stacked ? '12 pb-0' : mini ? 'auto' : lblCl }} m-0 \"\n for=\"{{ id }}\"\n [ngClass]=\"{\n 'text-primary': colored,\n 'py-2': theme == 1,\n 'form-label': theme == 2,\n light: light,\n small,\n small1: xsmall,\n 'order-1': lblPosition == 'right'\n }\">\n {{ label | appTranslate | async }}\n </label>\n }\n <div\n class=\"position-relative\"\n [ngClass]=\"{ 'order-0': lblPosition == 'right', 'col-12': stacked, 'col-md': !stacked, 'col-md-auto': lblPosition == 'right' }\"\n [matTooltip]=\"hint\">\n @switch (type) {\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <input\n type=\"checkbox\"\n id=\"{{ id }}\"\n [name]=\"name\"\n [ngModel]=\"model\"\n [disabled]=\"disabled\"\n class=\"{{ inpCl }} d-inline-block form-control width-unset\"\n placeholder=\"{{ placeholder }}\"\n [required]=\"required\"\n (ngModelChange)=\"change($event)\"\n [checked]=\"checked\" />\n }\n <!-- FILE -->\n @case ('file') {\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl | inputClass\" (change)=\"upload($event)\" (change)=\"change($event)\" />\n }\n <!-- SELECT -->\n @case ('select') {\n <select\n [name]=\"name\"\n [(ngModel)]=\"model\"\n id=\"{{ id }}\"\n class=\"mr-2\"\n [class]=\"inpCl | inputClass\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n (change)=\"change($event)\">\n @if (showEmptyOption) {\n <option></option>\n }\n @for (item of options; track iS.trackByValue($index, item)) {\n <option [ngValue]=\"item.value\">\n <!-- {{item|optionLabeller:optionFormatter:labelType:labelField}} -->\n {{ item.label }}\n </option>\n }\n </select>\n }\n <!-- TEXTAREA -->\n @case ('textarea') {\n <textarea\n [name]=\"name\"\n [(ngModel)]=\"model\"\n id=\"{{ id }}\"\n [class]=\"inpCl | inputClass\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (change)=\"change($event)\"></textarea>\n }\n <!-- Radio -->\n @case ('radio') {\n <input type=\"radio\" [(ngModel)]=\"model\" id=\"{{ id }}\" [readonly]=\"readonly\" (change)=\"change($event)\" [disabled]=\"disabled\" />\n }\n <!-- Viewer -->\n @case ('viewer') {\n <input type=\"text\" id=\"{{ id }}\" placeholder=\"{{ placeholder }}\" [readonly]=\"true\" [value]=\"model\" [disabled]=\"disabled\" />\n }\n\n <!-- PASSWORD -->\n @case ('password') {\n <input\n type=\"{{ showPassword ? 'text' : 'password' }}\"\n [(ngModel)]=\"model\"\n placeholder=\"{{ placeholder }}\"\n [class]=\"inpCl | inputClass\"\n id=\"{{ id }}\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n (change)=\"change($event)\"\n value=\"{{ __value }}\" />\n <div class=\"password-icons pointer\" (click)=\"showPassword = !showPassword\">\n @if (showPassword) {\n <i class=\"fa fa-eye-slash\"></i>\n }\n @if (!showPassword) {\n <i class=\"fa fa-eye\"></i>\n }\n </div>\n }\n\n <!-- DEFAULT -->\n @default {\n <input\n type=\"{{ type }}\"\n id=\"{{ id }}\"\n [name]=\"name\"\n [(ngModel)]=\"model\"\n placeholder=\"{{ placeholder }}\"\n [class]=\"inpCl | inputClass\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [max]=\"max\"\n [min]=\"min\"\n [readonly]=\"readonly\"\n (change)=\"change($event)\" />\n }\n }\n </div>\n</div>\n", styles: [".checkmark{position:absolute;left:93%;top:12%;font-size:25px;color:#514ef5;display:block!important}.bordercheck{border:2px solid #514ef5;outline:0}.borderuncheck{border:2px solid red;outline:0}.uncheckmark{position:absolute;left:94%;top:12%;font-size:25px;color:red;display:block!important}.colored{color:#514ef5}.light{font-weight:500}input[type=checkbox]:checked{position:relative}label{min-height:32px!important}.password-icons{position:absolute;right:20px;top:17%}\n"] }]
|
|
92
92
|
}], ctorParameters: () => [{ type: i1.InputService }], propDecorators: { _value: [{
|
|
@@ -178,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
178
178
|
type: ViewChild,
|
|
179
179
|
args: ['labelEl']
|
|
180
180
|
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbmdtb2RlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQtTmdNb2RlbC9pbnB1dC1uZ21vZGVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC1OZ01vZGVsL2lucHV0LW5nbW9kZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQUVuRTs7R0FFRztBQVFILE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsSUFBcUIsTUFBTSxDQUFDLENBQWtCO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFvQkQsSUFBc0IsUUFBUSxDQUFDLENBQVE7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJ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dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJzsgXG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnOyBcbmltcG9ydCB7IElPcHRpb24sIElucHV0U2VydmljZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU0RLVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xuaW1wb3J0IHsgSW5wdXRDbGFzc1BpcGUgfSBmcm9tICcuLi9pbnB1dC9pbnB1dHMtcGlwZXMucGlwZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nRm9yLCBOZ1N3aXRjaERlZmF1bHQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIG1ldGhvZCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSBhcHAtaW5wdXQtdGQtcmYgaW5zdGVhZFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1pbnB1dC1uZ21vZGVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbmdtb2RlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbmdtb2RlbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE1hdFRvb2x0aXBNb2R1bGUsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIEZvcm1zTW9kdWxlLCBOZ0ZvciwgTmdTd2l0Y2hEZWZhdWx0LCBBc3luY1BpcGUsIElucHV0Q2xhc3NQaXBlLCBTREtUcmFuc2xhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dE5HTW9kZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBfX3ZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIHJhd09wdGlvbnM6IGFueVtdO1xuICB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgnbXZhbHVlJykgc2V0IF92YWx1ZSh2OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLl9fdmFsdWUgPSB2O1xuICB9XG4gIEBJbnB1dCgpIGNscz86IHN0cmluZztcbiAgQElucHV0KCkgY29sb3JlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRlOiBib29sZWFuO1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnaWQnICsgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDApO1xuICBASW5wdXQoKSBpbnBDbDogc3RyaW5nID0gJ2NvbnRyb2wtYmctZ3JheSc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxibENsOiBzdHJpbmcgPSAnMic7XG4gIEBJbnB1dCgpIGxibFBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnO1xuICBASW5wdXQoKSBtaW5pOiBib29sZWFuO1xuICBASW5wdXQoKSBsaWdodDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgbW9kZWw6IGFueTtcblxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG9wdGlvbkZvcm1hdHRlcjogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuICBvcHRpb25zOiBJT3B0aW9uW107XG4gIG9wdGlvbnMkID0gbmV3IEV2ZW50RW1pdHRlcjxJT3B0aW9uW10+KCk7XG4gIEBJbnB1dCgnb3B0aW9ucycpIHNldCBfb3B0aW9ucyh2OiBhbnlbXSkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuaVMub3B0aW9uc0Zvcm1hdHRlcihcbiAgICAgIHYsXG4gICAgICB0aGlzLnZhbHVlRmllbGQsXG4gICAgICB0aGlzLm9wdGlvbkZvcm1hdHRlcixcbiAgICAgIHRoaXMubGFiZWxUeXBlLFxuICAgICAgdGhpcy5sYWJlbEZpZWxkXG4gICAgKTtcbiAgICB0aGlzLnJhd09wdGlvbnMgPSB2O1xuXG4gICAgdGhpcy5vcHRpb25zJC5lbWl0KHRoaXMub3B0aW9ucyk7XG4gIH1cbiAgQElucHV0KCkgY2hlY2tlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbnRleHREYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGRlY2ltYWxQb2ludHM6IG51bWJlcjtcbiAgQElucHV0KCkgbGFiZWxGaWVsZDogc3RyaW5nO1xuICBASW5wdXQoKSBtYXg6IG51bWJlcjtcbiAgQElucHV0KCkgbWluOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBzaG93RW1wdHlPcHRpb24/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ZhbGlkYXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uSWNvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNtYWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBzdGFja2VkOiBib29sZWFuO1xuICBASW5wdXQoKSBzdWZmaXg6IHN0cmluZztcbiAgQElucHV0KCkgdGhlbWU6IElucHV0VGhlbWUgPSAxO1xuICBASW5wdXQoJ3R5cGUnKSBzZXQgX3R5cGUodjogSW5wdXRUeXBlKSB7XG4gICAgdGhpcy50eXBlID0gdjtcbiAgICBpZiAodGhpcy50eXBlID09ICdjaGVja2JveCcgJiYgdGhpcy5tb2RlbCA9PSBudWxsKSB0aGlzLm1vZGVsID0gZmFsc2U7XG4gIH1cbiAgQElucHV0KCkgdmFsdWVGaWVsZDogc3RyaW5nOyAvL3VzZSB0aGlzIHRvIGNob29zZSBhIGZpZWxkIGluIHRoZSBvcHRpb24gZm9yIG1vZGVsaW5nXG4gIEBJbnB1dCgpIGxhYmVsVHlwZTogVmFsdWVUeXBlOyAvL3VzZSB0aGlzIHRvIHBpY2sgYSBwcmVzZXQgdmFsdWUgbGFiZWwgZ3JvdXAgZm9yIHRoZSBvcHRpb25zXG4gIEBJbnB1dCgpIHhzbWFsbDogYm9vbGVhbjtcbiAgc2hvd1Bhc3N3b3JkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgbWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgdmFsdWU6IGFueTtJbnB1dFR5cGVcbiAgQFZpZXdDaGlsZCgnbGFiZWxFbCcpIGxhYmVsUmVmOiBFbGVtZW50UmVmPEhUTUxMYWJlbEVsZW1lbnQ+O1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgaVM6IElucHV0U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBpZiAodGhpcy50eXBlID09ICdjaGVja2JveCcgJiYgdGhpcy5tb2RlbCA9PSBudWxsKSB7XG4gICAgLy8gICAvLyBkZWJ1Z2dlcjtcbiAgICAvLyAgIHRoaXMuY2hhbmdlKHsgdGFyZ2V0OiB7IGNoZWNrZWQ6IGZhbHNlIH0gfSk7XG4gICAgLy8gfVxuICB9XG4gIGNoYW5nZShlKSB7XG4gICAgbGV0IHZhbCA9IGU7XG4gICAgY29uc29sZS5sb2coJ21vZGVsY2hhbmdlICcsIGUsIHZhbCk7XG4gICAgaWYgKHRoaXMudHlwZSA9PSAnY2hlY2tib3gnKSB7XG4gICAgICB2YWwgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgJ3RhcmdldCcpXG4gICAgICAgID8gZS50YXJnZXQuY2hlY2tlZFxuICAgICAgICA6IGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbCA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50eXBlID09ICdudW1iZXInKSB7XG4gICAgICBpZiAodGhpcy5tYXggJiYgK3ZhbCA+IHRoaXMubWF4KSB7XG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLm1heDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5taW4gIT0gbnVsbCAmJiB0aGlzLm1pbiAhPSB1bmRlZmluZWQgJiYgK3ZhbCA8IHRoaXMubWluKSB7XG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLm1pbjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRlY2ltYWxQb2ludHMgIT0gdW5kZWZpbmVkICYmIHRoaXMuZGVjaW1hbFBvaW50cyAhPSBudWxsKVxuICAgICAgICB0aGlzLm1vZGVsID0gKCt2YWwpLnRvRml4ZWQodGhpcy5kZWNpbWFsUG9pbnRzKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh2YWwpO1xuICAgIGNvbnNvbGUubG9nKCdtb2RlbGNoYW5nZSAnLCBlLCB2YWwpO1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIGlmICghZW52aXJvbm1lbnQucHJvZHVjdGlvbikgY29uc29sZS5sb2codGhpcy52YWx1ZSk7XG4gIH1cbiAgdXBsb2FkKGUpIHtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdChlKTtcbiAgfVxuICBsb2coKSB7XG4gICAgLy8gaWYgKCFlbnZpcm9ubWVudC5wcm9kdWN0aW9uKVxuICAgIGNvbnNvbGUubG9nKHRoaXMudmFsdWUpO1xuICB9XG59XG50eXBlIElucHV0VGhlbWUgPSAxIHwgMjtcbmV4cG9ydCB0eXBlIFZhbHVlVHlwZSA9ICdjdCcgfCAnY2QnIHwgJ2NkdCcgfCAnY21kJztcbiIsIjxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIEBpZiAoc2hvd0xhYmVsKSB7XG4gICAgPGxhYmVsXG4gICAgICAjbGFiZWxFbFxuICAgICAgbFxuICAgICAgY2xhc3M9XCJjb2wtbWQte3sgc3RhY2tlZCA/ICcxMiBwYi0wJyA6IG1pbmkgPyAnYXV0bycgOiBsYmxDbCB9fSBtLTAgXCJcbiAgICAgIGZvcj1cInt7IGlkIH19XCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3RleHQtcHJpbWFyeSc6IGNvbG9yZWQsXG4gICAgICAgICdweS0yJzogdGhlbWUgPT0gMSxcbiAgICAgICAgJ2Zvcm0tbGFiZWwnOiB0aGVtZSA9PSAyLFxuICAgICAgICBsaWdodDogbGlnaHQsXG4gICAgICAgIHNtYWxsLFxuICAgICAgICBzbWFsbDE6IHhzbWFsbCxcbiAgICAgICAgJ29yZGVyLTEnOiBsYmxQb3NpdGlvbiA9PSAncmlnaHQnXG4gICAgICB9XCI+XG4gICAgICB7eyBsYWJlbCB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgPC9sYWJlbD5cbiAgfVxuICA8ZGl2XG4gICAgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnb3JkZXItMCc6IGxibFBvc2l0aW9uID09ICdyaWdodCcsICdjb2wtMTInOiBzdGFja2VkLCAnY29sLW1kJzogIXN0YWNrZWQsICdjb2wtbWQtYXV0byc6IGxibFBvc2l0aW9uID09ICdyaWdodCcgfVwiXG4gICAgW21hdFRvb2x0aXBdPVwiaGludFwiPlxuICAgIEBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIDwhLS0gQ0hFQ0tCT1ggLS0+XG4gICAgICBAY2FzZSAoJ2NoZWNrYm94Jykge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGlkPVwie3sgaWQgfX1cIlxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwie3sgaW5wQ2wgfX0gZC1pbmxpbmUtYmxvY2sgZm9ybS1jb250cm9sIHdpZHRoLXVuc2V0XCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCIgLz5cbiAgICAgIH1cbiAgICAgIDwhLS0gRklMRSAtLT5cbiAgICAgIEBjYXNlICgnZmlsZScpIHtcbiAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgaWQ9XCJ7eyBpZCB9fVwiIFtjbGFzc109XCJpbnBDbCB8IGlucHV0Q2xhc3NcIiAoY2hhbmdlKT1cInVwbG9hZCgkZXZlbnQpXCIgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICB9XG4gICAgICA8IS0tIFNFTEVDVCAtLT5cbiAgICAgIEBjYXNlICgnc2VsZWN0Jykge1xuICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbFwiXG4gICAgICAgICAgaWQ9XCJ7eyBpZCB9fVwiXG4gICAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgICBbY2xhc3NdPVwiaW5wQ2wgfCBpbnB1dENsYXNzXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgIEBpZiAoc2hvd0VtcHR5T3B0aW9uKSB7XG4gICAgICAgICAgICA8b3B0aW9uPjwvb3B0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnM7IHRyYWNrIGlTLnRyYWNrQnlWYWx1ZSgkaW5kZXgsIGl0ZW0pKSB7XG4gICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIml0ZW0udmFsdWVcIj5cbiAgICAgICAgICAgICAgPCEtLSB7e2l0ZW18b3B0aW9uTGFiZWxsZXI6b3B0aW9uRm9ybWF0dGVyOmxhYmVsVHlwZTpsYWJlbEZpZWxkfX0gLS0+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICB9XG4gICAgICA8IS0tIFRFWFRBUkVBIC0tPlxuICAgICAgQGNhc2UgKCd0ZXh0YXJlYScpIHtcbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbFwiXG4gICAgICAgICAgaWQ9XCJ7eyBpZCB9fVwiXG4gICAgICAgICAgW2NsYXNzXT1cImlucENsIHwgaW5wdXRDbGFzc1wiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiPjwvdGV4dGFyZWE+XG4gICAgICB9XG4gICAgICA8IS0tIFJhZGlvIC0tPlxuICAgICAgQGNhc2UgKCdyYWRpbycpIHtcbiAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFsobmdNb2RlbCldPVwibW9kZWxcIiBpZD1cInt7IGlkIH19XCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIC8+XG4gICAgICB9XG4gICAgICA8IS0tIFZpZXdlciAtLT5cbiAgICAgIEBjYXNlICgndmlld2VyJykge1xuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cInt7IGlkIH19XCIgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiIFtyZWFkb25seV09XCJ0cnVlXCIgW3ZhbHVlXT1cIm1vZGVsXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgLz5cbiAgICAgIH1cblxuICAgICAgPCEtLSBQQVNTV09SRCAtLT5cbiAgICAgIEBjYXNlICgncGFzc3dvcmQnKSB7XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ7eyBzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnIH19XCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICBbY2xhc3NdPVwiaW5wQ2wgfCBpbnB1dENsYXNzXCJcbiAgICAgICAgICBpZD1cInt7IGlkIH19XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICB2YWx1ZT1cInt7IF9fdmFsdWUgfX1cIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFzc3dvcmQtaWNvbnMgcG9pbnRlclwiIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCI+XG4gICAgICAgICAgQGlmIChzaG93UGFzc3dvcmQpIHtcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllLXNsYXNoXCI+PC9pPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKCFzaG93UGFzc3dvcmQpIHtcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllXCI+PC9pPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gREVGQVVMVCAtLT5cbiAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInt7IHR5cGUgfX1cIlxuICAgICAgICAgIGlkPVwie3sgaWQgfX1cIlxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgIFtjbGFzc109XCJpbnBDbCB8IGlucHV0Q2xhc3NcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbmdtb2RlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQtTmdNb2RlbC9pbnB1dC1uZ21vZGVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC1OZ01vZGVsL2lucHV0LW5nbW9kZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQUVuRTs7R0FFRztBQVFILE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsSUFBcUIsTUFBTSxDQUFDLENBQWtCO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFvQkQsSUFBc0IsUUFBUSxDQUFDLENBQVE7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJ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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOyBcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7IFxuaW1wb3J0IHsgSU9wdGlvbiwgSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQuc2VydmljZSc7XG5pbXBvcnQgeyBTREtUcmFuc2xhdGVQaXBlIH0gZnJvbSBcIi4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XG5pbXBvcnQgeyBJbnB1dENsYXNzUGlwZSB9IGZyb20gJy4uL2lucHV0L2lucHV0cy1waXBlcy5waXBlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcywgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdGb3IsIE5nU3dpdGNoRGVmYXVsdCwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGUgbWV0aG9kIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIGFwcC1pbnB1dC10ZC1yZiBpbnN0ZWFkXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWlucHV0LW5nbW9kZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1uZ21vZGVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1uZ21vZGVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzcywgTWF0VG9vbHRpcE1vZHVsZSwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgRm9ybXNNb2R1bGUsIE5nRm9yLCBOZ1N3aXRjaERlZmF1bHQsIEFzeW5jUGlwZSwgSW5wdXRDbGFzc1BpcGUsIFNES1RyYW5zbGF0ZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0TkdNb2RlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIF9fdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgcmF3T3B0aW9uczogYW55W107XG4gIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCdtdmFsdWUnKSBzZXQgX3ZhbHVlKHY6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMuX192YWx1ZSA9IHY7XG4gIH1cbiAgQElucHV0KCkgY2xzPzogc3RyaW5nO1xuICBASW5wdXQoKSBjb2xvcmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdpZCcgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMCk7XG4gIEBJbnB1dCgpIGlucENsOiBzdHJpbmcgPSAnY29udHJvbC1iZy1ncmF5JztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgbGJsQ2w6IHN0cmluZyA9ICcyJztcbiAgQElucHV0KCkgbGJsUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCc7XG4gIEBJbnB1dCgpIG1pbmk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpZ2h0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xuXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgb3B0aW9uRm9ybWF0dGVyOiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIG9wdGlvbnM6IElPcHRpb25bXTtcbiAgb3B0aW9ucyQgPSBuZXcgRXZlbnRFbWl0dGVyPElPcHRpb25bXT4oKTtcbiAgQElucHV0KCdvcHRpb25zJykgc2V0IF9vcHRpb25zKHY6IGFueVtdKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5pUy5vcHRpb25zRm9ybWF0dGVyKFxuICAgICAgdixcbiAgICAgIHRoaXMudmFsdWVGaWVsZCxcbiAgICAgIHRoaXMub3B0aW9uRm9ybWF0dGVyLFxuICAgICAgdGhpcy5sYWJlbFR5cGUsXG4gICAgICB0aGlzLmxhYmVsRmllbGRcbiAgICApO1xuICAgIHRoaXMucmF3T3B0aW9ucyA9IHY7XG5cbiAgICB0aGlzLm9wdGlvbnMkLmVtaXQodGhpcy5vcHRpb25zKTtcbiAgfVxuICBASW5wdXQoKSBjaGVja2VkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGV4dERhdGE6IGFueTtcbiAgQElucHV0KCkgZGVjaW1hbFBvaW50czogbnVtYmVyO1xuICBASW5wdXQoKSBsYWJlbEZpZWxkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuICBASW5wdXQoKSBtaW46IG51bWJlcjtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHJlZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSByZXF1aXJlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNob3dFbXB0eU9wdGlvbj86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd1ZhbGlkYXRpb25JY29uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc21hbGw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0YWNrZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1ZmZpeDogc3RyaW5nO1xuICBASW5wdXQoKSB0aGVtZTogSW5wdXRUaGVtZSA9IDE7XG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBJbnB1dFR5cGUpIHtcbiAgICB0aGlzLnR5cGUgPSB2O1xuICAgIGlmICh0aGlzLnR5cGUgPT0gJ2NoZWNrYm94JyAmJiB0aGlzLm1vZGVsID09IG51bGwpIHRoaXMubW9kZWwgPSBmYWxzZTtcbiAgfVxuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBzdHJpbmc7IC8vdXNlIHRoaXMgdG8gY2hvb3NlIGEgZmllbGQgaW4gdGhlIG9wdGlvbiBmb3IgbW9kZWxpbmdcbiAgQElucHV0KCkgbGFiZWxUeXBlOiBWYWx1ZVR5cGU7IC8vdXNlIHRoaXMgdG8gcGljayBhIHByZXNldCB2YWx1ZSBsYWJlbCBncm91cCBmb3IgdGhlIG9wdGlvbnNcbiAgQElucHV0KCkgeHNtYWxsOiBib29sZWFuO1xuICBzaG93UGFzc3dvcmQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBtY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB2YWx1ZTogYW55O0lucHV0VHlwZVxuICBAVmlld0NoaWxkKCdsYWJlbEVsJykgbGFiZWxSZWY6IEVsZW1lbnRSZWY8SFRNTExhYmVsRWxlbWVudD47XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpUzogSW5wdXRTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIGlmICh0aGlzLnR5cGUgPT0gJ2NoZWNrYm94JyAmJiB0aGlzLm1vZGVsID09IG51bGwpIHtcbiAgICAvLyAgIC8vIGRlYnVnZ2VyO1xuICAgIC8vICAgdGhpcy5jaGFuZ2UoeyB0YXJnZXQ6IHsgY2hlY2tlZDogZmFsc2UgfSB9KTtcbiAgICAvLyB9XG4gIH1cbiAgY2hhbmdlKGUpIHtcbiAgICBsZXQgdmFsID0gZTtcbiAgICBjb25zb2xlLmxvZygnbW9kZWxjaGFuZ2UgJywgZSwgdmFsKTtcbiAgICBpZiAodGhpcy50eXBlID09ICdjaGVja2JveCcpIHtcbiAgICAgIHZhbCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCAndGFyZ2V0JylcbiAgICAgICAgPyBlLnRhcmdldC5jaGVja2VkXG4gICAgICAgIDogZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsID0gZS50YXJnZXQudmFsdWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT0gJ251bWJlcicpIHtcbiAgICAgIGlmICh0aGlzLm1heCAmJiArdmFsID4gdGhpcy5tYXgpIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubWF4O1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1pbiAhPSBudWxsICYmIHRoaXMubWluICE9IHVuZGVmaW5lZCAmJiArdmFsIDwgdGhpcy5taW4pIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubWluO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZGVjaW1hbFBvaW50cyAhPSB1bmRlZmluZWQgJiYgdGhpcy5kZWNpbWFsUG9pbnRzICE9IG51bGwpXG4gICAgICAgIHRoaXMubW9kZWwgPSAoK3ZhbCkudG9GaXhlZCh0aGlzLmRlY2ltYWxQb2ludHMpO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdmFsO1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KHZhbCk7XG4gICAgY29uc29sZS5sb2coJ21vZGVsY2hhbmdlICcsIGUsIHZhbCk7XG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbCk7XG4gICAgaWYgKCFlbnZpcm9ubWVudC5wcm9kdWN0aW9uKSBjb25zb2xlLmxvZyh0aGlzLnZhbHVlKTtcbiAgfVxuICB1cGxvYWQoZSkge1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KGUpO1xuICB9XG4gIGxvZygpIHtcbiAgICAvLyBpZiAoIWVudmlyb25tZW50LnByb2R1Y3Rpb24pXG4gICAgY29uc29sZS5sb2codGhpcy52YWx1ZSk7XG4gIH1cbn1cbnR5cGUgSW5wdXRUaGVtZSA9IDEgfCAyO1xuZXhwb3J0IHR5cGUgVmFsdWVUeXBlID0gJ2N0JyB8ICdjZCcgfCAnY2R0JyB8ICdjbWQnO1xuIiwiPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgQGlmIChzaG93TGFiZWwpIHtcbiAgICA8bGFiZWxcbiAgICAgICNsYWJlbEVsXG4gICAgICBsXG4gICAgICBjbGFzcz1cImNvbC1tZC17eyBzdGFja2VkID8gJzEyIHBiLTAnIDogbWluaSA/ICdhdXRvJyA6IGxibENsIH19IG0tMCBcIlxuICAgICAgZm9yPVwie3sgaWQgfX1cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGV4dC1wcmltYXJ5JzogY29sb3JlZCxcbiAgICAgICAgJ3B5LTInOiB0aGVtZSA9PSAxLFxuICAgICAgICAnZm9ybS1sYWJlbCc6IHRoZW1lID09IDIsXG4gICAgICAgIGxpZ2h0OiBsaWdodCxcbiAgICAgICAgc21hbGwsXG4gICAgICAgIHNtYWxsMTogeHNtYWxsLFxuICAgICAgICAnb3JkZXItMSc6IGxibFBvc2l0aW9uID09ICdyaWdodCdcbiAgICAgIH1cIj5cbiAgICAgIHt7IGxhYmVsIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICA8L2xhYmVsPlxuICB9XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCJcbiAgICBbbmdDbGFzc109XCJ7ICdvcmRlci0wJzogbGJsUG9zaXRpb24gPT0gJ3JpZ2h0JywgJ2NvbC0xMic6IHN0YWNrZWQsICdjb2wtbWQnOiAhc3RhY2tlZCwgJ2NvbC1tZC1hdXRvJzogbGJsUG9zaXRpb24gPT0gJ3JpZ2h0JyB9XCJcbiAgICBbbWF0VG9vbHRpcF09XCJoaW50XCI+XG4gICAgQHN3aXRjaCAodHlwZSkge1xuICAgICAgPCEtLSBDSEVDS0JPWCAtLT5cbiAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgaWQ9XCJ7eyBpZCB9fVwiXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyBpbnBDbCB9fSBkLWlubGluZS1ibG9jayBmb3JtLWNvbnRyb2wgd2lkdGgtdW5zZXRcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIiAvPlxuICAgICAgfVxuICAgICAgPCEtLSBGSUxFIC0tPlxuICAgICAgQGNhc2UgKCdmaWxlJykge1xuICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBpZD1cInt7IGlkIH19XCIgW2NsYXNzXT1cImlucENsIHwgaW5wdXRDbGFzc1wiIChjaGFuZ2UpPVwidXBsb2FkKCRldmVudClcIiAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgIH1cbiAgICAgIDwhLS0gU0VMRUNUIC0tPlxuICAgICAgQGNhc2UgKCdzZWxlY3QnKSB7XG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcbiAgICAgICAgICBpZD1cInt7IGlkIH19XCJcbiAgICAgICAgICBjbGFzcz1cIm1yLTJcIlxuICAgICAgICAgIFtjbGFzc109XCJpbnBDbCB8IGlucHV0Q2xhc3NcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgQGlmIChzaG93RW1wdHlPcHRpb24pIHtcbiAgICAgICAgICAgIDxvcHRpb24+PC9vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaVMudHJhY2tCeVZhbHVlKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgICAgICA8IS0tIHt7aXRlbXxvcHRpb25MYWJlbGxlcjpvcHRpb25Gb3JtYXR0ZXI6bGFiZWxUeXBlOmxhYmVsRmllbGR9fSAtLT5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIH1cbiAgICAgIDwhLS0gVEVYVEFSRUEgLS0+XG4gICAgICBAY2FzZSAoJ3RleHRhcmVhJykge1xuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcbiAgICAgICAgICBpZD1cInt7IGlkIH19XCJcbiAgICAgICAgICBbY2xhc3NdPVwiaW5wQ2wgfCBpbnB1dENsYXNzXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCI+PC90ZXh0YXJlYT5cbiAgICAgIH1cbiAgICAgIDwhLS0gUmFkaW8gLS0+XG4gICAgICBAY2FzZSAoJ3JhZGlvJykge1xuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIGlkPVwie3sgaWQgfX1cIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgLz5cbiAgICAgIH1cbiAgICAgIDwhLS0gVmlld2VyIC0tPlxuICAgICAgQGNhc2UgKCd2aWV3ZXInKSB7XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwie3sgaWQgfX1cIiBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCIgW3JlYWRvbmx5XT1cInRydWVcIiBbdmFsdWVdPVwibW9kZWxcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFBBU1NXT1JEIC0tPlxuICAgICAgQGNhc2UgKCdwYXNzd29yZCcpIHtcbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInt7IHNob3dQYXNzd29yZCA/ICd0ZXh0JyA6ICdwYXNzd29yZCcgfX1cIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgIFtjbGFzc109XCJpbnBDbCB8IGlucHV0Q2xhc3NcIlxuICAgICAgICAgIGlkPVwie3sgaWQgfX1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIHZhbHVlPVwie3sgX192YWx1ZSB9fVwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXNzd29yZC1pY29ucyBwb2ludGVyXCIgKGNsaWNrKT1cInNob3dQYXNzd29yZCA9ICFzaG93UGFzc3dvcmRcIj5cbiAgICAgICAgICBAaWYgKHNob3dQYXNzd29yZCkge1xuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWUtc2xhc2hcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoIXNob3dQYXNzd29yZCkge1xuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWVcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBERUZBVUxUIC0tPlxuICAgICAgQGRlZmF1bHQge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwie3sgdHlwZSB9fVwiXG4gICAgICAgICAgaWQ9XCJ7eyBpZCB9fVwiXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgW2NsYXNzXT1cImlucENsIHwgaW5wdXRDbGFzc1wiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -32,10 +32,10 @@ export class ValidationMessageNgmodelComponent {
|
|
|
32
32
|
setValidation() {
|
|
33
33
|
this.validation = this.validations.find((x) => x.type == this.validationKey);
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ValidationMessageNgmodelComponent, deps: [{ token: i1.TitleCasePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: ValidationMessageNgmodelComponent, isStandalone: true, selector: "app-validation-message-ngmodel", inputs: { isError: "isError", validationKey: "validationKey", label: "label", customMessage: "customMessage", name: "name" }, ngImport: i0, template: "<div class=\"text-danger\">\n @if (isError) {\n<span >{{validation?.message|appTranslate|async}}</span>\n}\n</div>\n", styles: [".text-danger{height:25px;margin-top:5px;overflow:auto}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ValidationMessageNgmodelComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ selector: 'app-validation-message-ngmodel', standalone: true, imports: [NgIf, AsyncPipe, SDKTranslatePipe], template: "<div class=\"text-danger\">\n @if (isError) {\n<span >{{validation?.message|appTranslate|async}}</span>\n}\n</div>\n", styles: [".text-danger{height:25px;margin-top:5px;overflow:auto}\n"] }]
|
|
41
41
|
}], ctorParameters: () => [{ type: i1.TitleCasePipe }], propDecorators: { isError: [{
|
|
@@ -261,10 +261,10 @@ export class InputTableComponent {
|
|
|
261
261
|
}
|
|
262
262
|
this.downloadCSV([this.templateObj], 'template ' + this.label);
|
|
263
263
|
}
|
|
264
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
264
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputTableComponent, deps: [{ token: i1.UtilityService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
265
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: InputTableComponent, isStandalone: true, selector: "app-input-table", inputs: { bordered: "bordered", ioFormatted: "ioFormatted", keyField: "keyField", label: "label", pageSizeOptions: "pageSizeOptions", realTimeValidation: "realTimeValidation", showAddRow: "showAddRow", showCSV: "showCSV", showEditRow: "showEditRow", showExportBtn: "showExportBtn", showIOBtns: "showIOBtns", showSN: "showSN", submitFunc: "submitFunc", validationFunc: "validationFunc", _numOfRows: ["numOfRows", "_numOfRows"], _schemas: ["schemas", "_schemas"], _data: ["data", "_data"] }, outputs: { submitted: "submitted" }, viewQueries: [{ propertyName: "errorListTag", first: true, predicate: ["errorList"], descendants: true }], ngImport: i0, template: "<loader [loading]=\"loading\"> \n <div [ngClass]=\"{ border: bordered, unbordered: !bordered }\">\n <div class=\"overflow-auto position-relative\">\n <!-- <div class=\"overflow-auto position-relative\" PSBox> -->\n <table matSort (matSortChange)=\"sortData($event)\" class=\"w-100 d-table mb-0 input-table\">\n <thead>\n <tr class=\"text-primary\">\n @if (showSN) {\n <th class=\"text-center\">{{ 'S/N' | appTranslate | async }}</th>\n }\n @for (item of schemas; track item) {\n\n @if (!item.hidden) {\n <th mat-sort-header=\"{{ item[keyField|toAny] }}\">\n {{ item.label | appTranslate | async }}\n </th>\n }\n\n }\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (\n subForm of form.controls|toAny; track subFormTrackBy(si,\n subForm); let si = $index) {\n <tr [id]=\"subForm.value.__rowID\">\n @if (showSN) {\n <td>\n <div class=\"center\">{{ si + 1 }}</div>\n </td>\n }\n @for (scheme of schemas; track schemeTrackBy(ci, scheme); let ci = $index) {\n\n <td class=\"content-cell\" [hidden]=\"scheme.hidden\">\n\n @switch (true) {\n @case (scheme.type == 'tel') {\n\n <app-phone-number [form]=\"subForm\" [label]=\"scheme.label\" [name]=\"scheme[keyField]\"\n [id]=\"subForm.value.__rowID|toAny\" [showLabel]=\"false\" [showValidation]=\"scheme.showValidation\"\n [showValidationIcon]=\"scheme.showValidationIcon\" [stacked]=\"true\" [countryCode3]=\"\n cellCountryCode3s[scheme.getCountryCode3Key+si] || scheme.countryCode3\n \" [disabled]=\"\n scheme.disabledIf\n | functionCaller2: subForm.value:scheme[keyField]\n \" #inputTag>\n </app-phone-number>\n <app-validation-message [input]=\"inputTag\" />\n\n }\n @case (scheme.type == 'autocomplete') {\n\n <app-autocomplete [form]=\"subForm\" [label]=\"scheme.label\" [labelField]=\"scheme.labelField\"\n [id]=\"subForm.value.__rowID|toAny\" [autoPickValueField]=\"true\" [labelType]=\"scheme.labelType\"\n [name]=\"scheme[keyField|toAny]\" [optionFormatter]=\"scheme.optionFormatter\" [showLabel]=\"false\"\n [stacked]=\"true\" [valueField]=\"scheme.valueField\" (mchange)=\"addCellOption(scheme,subForm,$event,si)\"\n [options]=\"\n scheme.options||schemaMap[scheme.field|toAny]?.options||cellOptions[scheme.optionsKey+si]\n \" [hint]=\"scheme.hint\" [disabled]=\"\n scheme.disabledIf\n | functionCaller2: subForm.value:scheme[keyField]\n \" #inputTag></app-autocomplete>\n <app-validation-message [input]=\"inputTag\" />\n\n }\n @default {\n\n <app-input-basic #inputTag [decimalPoints]=\"scheme.decimalPoints\" [form]=\"subForm\"\n [id]=\"subForm.value.__rowID|toAny\" [hint]=\"scheme.hint\" [label]=\"scheme.label\"\n [labelField]=\"scheme.labelField\" [autoPickValueField]=\"true\" [labelType]=\"scheme.labelType\"\n [max]=\"scheme.max\" [min]=\"scheme.min\" [name]=\"scheme[keyField|toAny]\"\n [optionFormatter]=\"scheme.optionFormatter\" [placeholder]=\"scheme.placeholder\" [showLabel]=\"false\"\n [showValidation]=\"scheme.showValidation\" [showValidationIcon]=\"scheme.showValidationIcon\"\n [type]=\"scheme.type\" [valueField]=\"scheme.valueField\"\n (mchange)=\"addCellOption(scheme,subForm,$event,si)\" [options]=\"\n scheme.options||schemaMap[scheme.field|toAny]?.options||cellOptions[scheme.optionsKey+si]\n \" [disabled]=\"\n scheme.disabledIf\n | functionCaller2: subForm.value:scheme[keyField]\n \" />\n <app-validation-message [input]=\"inputTag\" />\n\n }\n }\n\n </td>\n\n }\n <td>\n <div class=\"d-flex justify-content-center\">\n @if (showEditRow) {\n\n <app-btn group=\"edit\" (mclick)=\"editRow(si)\"></app-btn>\n <span class=\"mx-1\"></span>\n\n }\n <app-btn group=\"delete\" (mclick)=\"removeRow(si)\"></app-btn>\n @if (showAddRow) {\n\n <span class=\"mx-1\"></span>\n <app-btn group=\"add\" (mclick)=\"addRow(si + 1)\"></app-btn>\n\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n <!-- <mat-paginator *ngIf=\"batchUpload\" [length]=\"form?.length\" [pageSize]=\"pageSizeOptions[0]\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"openPage($event)\" aria-label=\"Select page\">\n </mat-paginator> -->\n <!-- <mat-paginator [length]=\"thi\" [pageSizeOptions]=\"pageSizeOptions\" [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator> -->\n </div>\n @if (submitFunc) {\n <div class=\"row align-items-center justify-content-end mt-3\">\n <div class=\"col-auto d-flex\">\n <app-btn (mclick)=\"submit()\" text=\"Submit\" [form]=\"form\" type=\"secondary\" icon=\"save\">\n </app-btn>\n </div>\n </div>\n }\n</loader>", styles: ["tr{vertical-align:top}.content-cell{min-width:200px}th:first-child,td:first-child{position:sticky;left:0;z-index:2}th{position:sticky;left:0;z-index:1;font-weight:500}th:last-child,td:last-child{position:sticky;right:0;z-index:2;width:1%}th,td{background-color:#fff;padding:5px}.border th,.border td{border:1px solid #d4d4d4}.unbordered th,.unbordered td{border:none}::ng-deep .mat-sort-header-content{overflow:auto;white-space:nowrap}::ng-deep .mat-expansion-panel-header{padding:0 10px!important}::ng-deep .mat-expansion-panel-body{padding:0 10px!important}.invalidRow td,td.invalidCell{background-color:#ffe4e4}\n"], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height", "width", "ratioHW"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "verbose", "loading", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "form", "forms", "help", "iconBtn", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid", "disabled"], outputs: ["loadingChange", "leftCustomIconChange", "mclick", "disabledChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: PhoneNumberComponent, selector: "app-phone-number", inputs: ["showLabel", "countryCode3", "config"], outputs: ["onCountrySelect"] }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["debug", "label", "hideOverflow", "minLength", "maxLength", "ignoreDirtiness", "customMessage", "control", "input"], outputs: ["labelChange"] }, { kind: "component", type: AutocompleteComponent, selector: "app-autocomplete,autocomplete", inputs: ["showRequiredTag", "validate", "options"] }, { kind: "component", type: InputBasicComponent, selector: "app-input-basic,app-input", inputs: ["accept", "autocomplete", "input", "contextData", "decimalPoints", "files", "hide", "hint", "clearOnDisable", "labelLink", "lblCl", "light", "loading", "multiple", "optionsFunc", "theme", "vms", "xsmall", "setCurrentDate", "options"], outputs: ["mSelectedOptionLabel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: FunctionCaller2, name: "functionCaller2" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
266
266
|
}
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputTableComponent, decorators: [{
|
|
268
268
|
type: Component,
|
|
269
269
|
args: [{ selector: 'app-input-table', standalone: true, imports: [LoaderComponent, NgIf, InputControlComponent, BtnComponent, NgClass, MatSortModule, NgFor, NgSwitch, NgSwitchCase, PhoneNumberComponent, ValidationMessageComponent, AutocompleteComponent, NgSwitchDefault, InputBasicComponent, AsyncPipe, FunctionCaller2, ToAnyPipe, SDKTranslatePipe], template: "<loader [loading]=\"loading\"> \n <div [ngClass]=\"{ border: bordered, unbordered: !bordered }\">\n <div class=\"overflow-auto position-relative\">\n <!-- <div class=\"overflow-auto position-relative\" PSBox> -->\n <table matSort (matSortChange)=\"sortData($event)\" class=\"w-100 d-table mb-0 input-table\">\n <thead>\n <tr class=\"text-primary\">\n @if (showSN) {\n <th class=\"text-center\">{{ 'S/N' | appTranslate | async }}</th>\n }\n @for (item of schemas; track item) {\n\n @if (!item.hidden) {\n <th mat-sort-header=\"{{ item[keyField|toAny] }}\">\n {{ item.label | appTranslate | async }}\n </th>\n }\n\n }\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (\n subForm of form.controls|toAny; track subFormTrackBy(si,\n subForm); let si = $index) {\n <tr [id]=\"subForm.value.__rowID\">\n @if (showSN) {\n <td>\n <div class=\"center\">{{ si + 1 }}</div>\n </td>\n }\n @for (scheme of schemas; track schemeTrackBy(ci, scheme); let ci = $index) {\n\n <td class=\"content-cell\" [hidden]=\"scheme.hidden\">\n\n @switch (true) {\n @case (scheme.type == 'tel') {\n\n <app-phone-number [form]=\"subForm\" [label]=\"scheme.label\" [name]=\"scheme[keyField]\"\n [id]=\"subForm.value.__rowID|toAny\" [showLabel]=\"false\" [showValidation]=\"scheme.showValidation\"\n [showValidationIcon]=\"scheme.showValidationIcon\" [stacked]=\"true\" [countryCode3]=\"\n cellCountryCode3s[scheme.getCountryCode3Key+si] || scheme.countryCode3\n \" [disabled]=\"\n scheme.disabledIf\n | functionCaller2: subForm.value:scheme[keyField]\n \" #inputTag>\n </app-phone-number>\n <app-validation-message [input]=\"inputTag\" />\n\n }\n @case (scheme.type == 'autocomplete') {\n\n <app-autocomplete [form]=\"subForm\" [label]=\"scheme.label\" [labelField]=\"scheme.labelField\"\n [id]=\"subForm.value.__rowID|toAny\" [autoPickValueField]=\"true\" [labelType]=\"scheme.labelType\"\n [name]=\"scheme[keyField|toAny]\" [optionFormatter]=\"scheme.optionFormatter\" [showLabel]=\"false\"\n [stacked]=\"true\" [valueField]=\"scheme.valueField\" (mchange)=\"addCellOption(scheme,subForm,$event,si)\"\n [options]=\"\n scheme.options||schemaMap[scheme.field|toAny]?.options||cellOptions[scheme.optionsKey+si]\n \" [hint]=\"scheme.hint\" [disabled]=\"\n scheme.disabledIf\n | functionCaller2: subForm.value:scheme[keyField]\n \" #inputTag></app-autocomplete>\n <app-validation-message [input]=\"inputTag\" />\n\n }\n @default {\n\n <app-input-basic #inputTag [decimalPoints]=\"scheme.decimalPoints\" [form]=\"subForm\"\n [id]=\"subForm.value.__rowID|toAny\" [hint]=\"scheme.hint\" [label]=\"scheme.label\"\n [labelField]=\"scheme.labelField\" [autoPickValueField]=\"true\" [labelType]=\"scheme.labelType\"\n [max]=\"scheme.max\" [min]=\"scheme.min\" [name]=\"scheme[keyField|toAny]\"\n [optionFormatter]=\"scheme.optionFormatter\" [placeholder]=\"scheme.placeholder\" [showLabel]=\"false\"\n [showValidation]=\"scheme.showValidation\" [showValidationIcon]=\"scheme.showValidationIcon\"\n [type]=\"scheme.type\" [valueField]=\"scheme.valueField\"\n (mchange)=\"addCellOption(scheme,subForm,$event,si)\" [options]=\"\n scheme.options||schemaMap[scheme.field|toAny]?.options||cellOptions[scheme.optionsKey+si]\n \" [disabled]=\"\n scheme.disabledIf\n | functionCaller2: subForm.value:scheme[keyField]\n \" />\n <app-validation-message [input]=\"inputTag\" />\n\n }\n }\n\n </td>\n\n }\n <td>\n <div class=\"d-flex justify-content-center\">\n @if (showEditRow) {\n\n <app-btn group=\"edit\" (mclick)=\"editRow(si)\"></app-btn>\n <span class=\"mx-1\"></span>\n\n }\n <app-btn group=\"delete\" (mclick)=\"removeRow(si)\"></app-btn>\n @if (showAddRow) {\n\n <span class=\"mx-1\"></span>\n <app-btn group=\"add\" (mclick)=\"addRow(si + 1)\"></app-btn>\n\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n <!-- <mat-paginator *ngIf=\"batchUpload\" [length]=\"form?.length\" [pageSize]=\"pageSizeOptions[0]\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"openPage($event)\" aria-label=\"Select page\">\n </mat-paginator> -->\n <!-- <mat-paginator [length]=\"thi\" [pageSizeOptions]=\"pageSizeOptions\" [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator> -->\n </div>\n @if (submitFunc) {\n <div class=\"row align-items-center justify-content-end mt-3\">\n <div class=\"col-auto d-flex\">\n <app-btn (mclick)=\"submit()\" text=\"Submit\" [form]=\"form\" type=\"secondary\" icon=\"save\">\n </app-btn>\n </div>\n </div>\n }\n</loader>", styles: ["tr{vertical-align:top}.content-cell{min-width:200px}th:first-child,td:first-child{position:sticky;left:0;z-index:2}th{position:sticky;left:0;z-index:1;font-weight:500}th:last-child,td:last-child{position:sticky;right:0;z-index:2;width:1%}th,td{background-color:#fff;padding:5px}.border th,.border td{border:1px solid #d4d4d4}.unbordered th,.unbordered td{border:none}::ng-deep .mat-sort-header-content{overflow:auto;white-space:nowrap}::ng-deep .mat-expansion-panel-header{padding:0 10px!important}::ng-deep .mat-expansion-panel-body{padding:0 10px!important}.invalidRow td,td.invalidCell{background-color:#ffe4e4}\n"] }]
|
|
270
270
|
}], ctorParameters: () => [{ type: i1.UtilityService }, { type: i0.ChangeDetectorRef }], propDecorators: { bordered: [{
|
|
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
313
313
|
function compare(a, b, isAsc) {
|
|
314
314
|
return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
|
|
315
315
|
}
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0LXRhYmxlL2lucHV0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC10YWJsZS9pbnB1dC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUFFLFNBQVMsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBUSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVd0RSxNQUFNLE9BQU8sbUJBQW1CO0lBNEI5QixJQUF3QixVQUFVLENBQUMsQ0FBUztRQUMxQyxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBc0IsUUFBUSxDQUFDLEtBQTBCO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBbUIsS0FBSyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELFlBQW1CLEVBQWtCLEVBQVUsR0FBc0I7UUFBbEQsT0FBRSxHQUFGLEVBQUUsQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlDNUQsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixhQUFRLEdBQXNCLE9BQU8sQ0FBQztRQUV0QyxvQkFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJOUMsU0FBSSxHQUFHLElBQUksU0FBUyxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixzQkFBaUIsR0FBaUIsRUFBRSxDQUFDO1FBR3JDLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBdUJsQyxjQUFTLEdBQXVDLEVBQUUsQ0FBQztRQVduRCxrQkFBYSxHQUFHLEtBQUssRUFDbkIsTUFBbUIsRUFDbkIsSUFBZSxFQUNmLE9BQVksRUFDWixLQUFhLEVBQ2IsRUFBRTtZQUNGLElBQ0UsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDLE9BQU87Z0JBRTdDLE9BQU87WUFDVCxNQUFNLEdBQUcsR0FBRyxNQUEwQixDQUNwQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQ3hDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3pELElBQUksTUFBTSxDQUFDLGlCQUFpQjtnQkFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQTJERixtQkFBYyxHQUFHLENBQUMsS0FBYSxFQUFFLElBQVMsRUFBRSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUIsQ0FBQyxDQUFDO1FBQ0Ysa0JBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUF1QixFQUFFLEVBQUU7WUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQVlGLGtCQUFhLEdBQUcsQ0FBQyxJQUFVLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0RCxZQUFZO1lBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFxQztnQkFDakQsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQzlDLENBQUM7WUFDRixLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRTtnQkFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBa0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0RCxDQUFDO2FBQ0g7WUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLElBQUk7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQW1FRixXQUFNLEdBQUcsQ0FDUCxRQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQ3pDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQzNCLEVBQUU7WUFDRixJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUM7SUFuTXNFLENBQUM7SUFFekUsUUFBUTtRQUNOLHNCQUFzQjtRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7YUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBb0JELFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU87UUFDbEMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDckIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1NBQ0Y7O1lBQ0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNwRDtRQUNILEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO1lBQzdCLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtnQkFDMUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FDNUQsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVU7UUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxnQkFBZ0IsQ0FDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztZQUN2QyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSTtZQUNGLFFBQVEsQ0FBQztZQUNULElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWM7Z0JBQUUsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFdkUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDckIsTUFBTSw2Q0FBNkMsQ0FBQzthQUNyRDtZQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssa0NBQWtDLENBQUMsQ0FBQztTQUMvRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYztRQUN4QixJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQzs7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQU9ELE9BQU8sQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVE7WUFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQzs7WUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQW9CRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBYTtRQUNsQixJQUFJLEtBQUs7WUFDUCxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNO1lBQ3RCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3ZFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87b0JBQUUsU0FBUztnQkFDNUIsTUFBTSxHQUFHLEdBQXlCO29CQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO29CQUN6QixRQUFRLEVBQUUsUUFBUSxHQUFHLENBQUM7b0JBQ3RCLE1BQU0sRUFBRSxFQUFFO2lCQUNYLENBQUM7Z0JBQ0YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87d0JBQUUsU0FBUztvQkFDNUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNoQyxZQUFZO3dCQUNaLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7cUJBQzVDO2lCQUNGO2dCQUNELHVCQUF1QjtnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkI7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRSxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JDLEtBQUssTUFBTSxNQUFNLElBQUksV0FBVyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2FBQ2hFO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLFlBQVk7SUFDZCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWE7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxNQUFNLElBQUksR0FBMEMsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7U0FDRjtJQUNILENBQUM7SUFjRCxRQUFRLENBQUMsQ0FBWSxJQUFHLENBQUM7SUFFekIsV0FBVyxDQUFDLE9BQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFZLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ2xFLE1BQU0sUUFBUSxHQUNaLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDWixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTTtZQUNsQixJQUFJO2lCQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQix5QkFBeUI7UUFDekIsV0FBVztRQUVYLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7UUFDcEUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNmLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDL0IsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ3RDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQzs4R0FwUlUsbUJBQW1CO2tHQUFuQixtQkFBbUIscXNCQzNDaEMsZ21MQStIUyxrcUJEdEZLLGVBQWUsdUhBQWlDLFlBQVksbWdCQUFFLE9BQU8sbUZBQUUsYUFBYSxrZEFBaUMsb0JBQW9CLDRJQUFFLDBCQUEwQiwyTkFBRSxxQkFBcUIsOEhBQW1CLG1CQUFtQix3VkFBRSxTQUFTLHlDQUFFLGVBQWUsbURBQUUsU0FBUyx5Q0FBRSxnQkFBZ0I7OzJGQUU1UixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0ksaUJBQWlCLGNBSWYsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLElBQUksRUFBSSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7bUhBRy9SLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBYWtCLFVBQVU7c0JBQWpDLEtBQUs7dUJBQUMsV0FBVztnQkFJSSxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLFNBQVM7Z0JBVUcsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQUlXLFlBQVk7c0JBQW5DLFNBQVM7dUJBQUMsV0FBVzs7QUF5T3hCLFNBQVMsT0FBTyxDQUFDLENBQWtCLEVBQUUsQ0FBa0IsRUFBRSxLQUFjO0lBQ3JFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIFVudHlwZWRGb3JtQXJyYXksXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1BcnJheSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IFNvcnQsIE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JzsgXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7IFxuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUlucHV0VGFibGVTY2hlbWUsIElWYWxpZGF0aW9uUmVzcCB9IGZyb20gJy4vaW5wdXQtdGFibGUubW9kZWwnOyBcbmltcG9ydCB7IFNES1RyYW5zbGF0ZVBpcGUgfSBmcm9tIFwiLi4vLi4vcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaG9uZU51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L2lucHV0LWNvbnRyb2wuY29tcG9uZW50JzsgXG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ0ZvciwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdTd2l0Y2hEZWZhdWx0LCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUZvcm1PcHRpb25zLCBJRm9ybVNjaGVtYSB9IGZyb20gJy4uL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvbkNhbGxlcjIsIFRvQW55UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWlucHV0LXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgLy8gXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTG9hZGVyQ29tcG9uZW50LCBOZ0lmLCAgIElucHV0Q29udHJvbENvbXBvbmVudCwgQnRuQ29tcG9uZW50LCBOZ0NsYXNzLCBNYXRTb3J0TW9kdWxlLCBOZ0ZvciwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgUGhvbmVOdW1iZXJDb21wb25lbnQsIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50LCBBdXRvY29tcGxldGVDb21wb25lbnQsIE5nU3dpdGNoRGVmYXVsdCwgSW5wdXRCYXNpY0NvbXBvbmVudCwgQXN5bmNQaXBlLCBGdW5jdGlvbkNhbGxlcjIsIFRvQW55UGlwZSwgU0RLVHJhbnNsYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGJvcmRlcmVkID0gdHJ1ZTtcbiAgQElucHV0KCkgaW9Gb3JtYXR0ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBrZXlGaWVsZDogJ2ZpZWxkJyB8ICdsYWJlbCcgPSAnZmllbGQnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwYWdlU2l6ZU9wdGlvbnMgPSBbNSwgMTAsIDUwLCAxMDAsIDI1MCwgNTAwLCAxMDAwLCAyMDAwLCA1MDAwXTtcbiAgQElucHV0KCkgcmVhbFRpbWVWYWxpZGF0aW9uID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0FkZFJvdyA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dDU1YgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93RWRpdFJvdyA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93RXhwb3J0QnRuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0lPQnRucyA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dTTiA9IHRydWU7XG4gIEBPdXRwdXQoKSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgc3VibWl0RnVuYzogKGFyclZhbHVlczogYW55W10pID0+IFByb21pc2U8YW55PjtcbiAgQElucHV0KCkgdmFsaWRhdGlvbkZ1bmM6IChhcnJWYWw6IGFueVtdKSA9PiBQcm9taXNlPElWYWxpZGF0aW9uUmVzcDxhbnk+W10+O1xuICBkYXRhOiBhbnlbXTtcbiAgZm9ybSA9IG5ldyBGb3JtQXJyYXk8Rm9ybUdyb3VwPihbXSk7XG4gIGNlbGxPcHRpb25zOiBJRm9ybU9wdGlvbnMgPSB7fTtcbiAgY2VsbENvdW50cnlDb2RlM3M6IElGb3JtT3B0aW9ucyA9IHt9O1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBudW1PZlJvd3NDdHJsOiBGb3JtQ29udHJvbDtcbiAgc2NoZW1hczogSUlucHV0VGFibGVTY2hlbWVbXSA9IFtdO1xuICB0ZW1wbGF0ZU9iajoge307XG4gIHByaXZhdGUgaGFzQWRkZWRWYWxpZGF0b3JzOiBib29sZWFuO1xuICBsb2FkaW5nRXJyb3JMaXN0OiBib29sZWFuO1xuICBlcnJvcnM6IElWYWxpZGF0aW9uUmVzcDxhbnk+W107XG4gIGFFcnJvcnM6IElWYWxpZGF0aW9uUmVzcDxhbnk+W107XG4gIEBJbnB1dCgnbnVtT2ZSb3dzJykgc2V0IF9udW1PZlJvd3ModjogbnVtYmVyKSB7XG4gICAgaWYgKHYpIHRoaXMubnVtT2ZSb3dzQ3RybCA9IG5ldyBGb3JtQ29udHJvbCh2KTtcbiAgICBlbHNlIHRoaXMubnVtT2ZSb3dzQ3RybCA9IG51bGw7XG4gIH1cbiAgQElucHV0KCdzY2hlbWFzJykgc2V0IF9zY2hlbWFzKHZhbHVlOiBJSW5wdXRUYWJsZVNjaGVtZVtdKSB7XG4gICAgdmFsdWUuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC50eXBlID0geC50eXBlIHx8ICd0ZXh0JztcbiAgICAgIHguX19JRCA9IHRoaXMudVMuZ2VuUmFuZG9tSUQ7XG4gICAgICB0aGlzLnNjaGVtYU1hcFt4LmZpZWxkIGFzIHN0cmluZ10gPSB4O1xuICAgIH0pO1xuICAgIHRoaXMuc2NoZW1hcyA9IHZhbHVlO1xuICAgIFxuICAgIHRoaXMuaW5pdGlhdGVGb3JtKHZhbHVlKTtcbiAgfVxuICBASW5wdXQoJ2RhdGEnKSBzZXQgX2RhdGEodmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5kYXRhID0gdmFsdWU7XG4gIH1cbiAgc2NoZW1hTWFwOiB7IFt4OiBzdHJpbmddOiBJSW5wdXRUYWJsZVNjaGVtZSB9ID0ge307XG4gIEBWaWV3Q2hpbGQoJ2Vycm9yTGlzdCcpIGVycm9yTGlzdFRhZzogTW9kYWxDb21wb25lbnQ7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1UzogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmluaXRpYXRlRm9ybSgpXG5cbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApKVxuICAgICAgLnN1YnNjcmliZSgocikgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgfSBcbiAgYWRkQ2VsbE9wdGlvbiA9IGFzeW5jIChcbiAgICBzY2hlbWU6IElGb3JtU2NoZW1hLFxuICAgIGZvcm06IEZvcm1Hcm91cCxcbiAgICBjZWxsVmFsOiBhbnksXG4gICAgaW5kZXg6IG51bWJlclxuICApID0+IHtcbiAgICBpZiAoXG4gICAgICAoIXNjaGVtZS5vbkNoYW5nZUZ1bmMgJiYgIXNjaGVtZS5zZXRBc0NvdW50cnlDb2RlMykgfHxcbiAgICAgIGZvcm0uY29udHJvbHNbc2NoZW1lLmZpZWxkIGFzIHN0cmluZ10uaW52YWxpZFxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBhcnIgPSBhd2FpdCAoPE9ic2VydmFibGU8YW55W10+PihcbiAgICAgIHNjaGVtZS5vbkNoYW5nZUZ1bmMoZm9ybS52YWx1ZSwgY2VsbFZhbClcbiAgICApKS50b1Byb21pc2UoKTtcbiAgICB0aGlzLmNlbGxPcHRpb25zW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKSArIGluZGV4XSA9IGFycjtcbiAgICBpZiAoc2NoZW1lLnNldEFzQ291bnRyeUNvZGUzKVxuICAgICAgdGhpcy5jZWxsQ291bnRyeUNvZGUzc1tzY2hlbWUuZmllbGQ/LnRvU3RyaW5nKCkgKyBpbmRleF0gPSBjZWxsVmFsO1xuICB9O1xuXG4gIGluaXRpYXRlRm9ybShfc2NoZW1hcyA9IHRoaXMuc2NoZW1hcykge1xuICAgIGlmICghX3NjaGVtYXMpIHJldHVybjtcbiAgICBpZiAodGhpcy5kYXRhPy5sZW5ndGgpIHtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmRhdGEpIHtcbiAgICAgICAgdGhpcy5hZGRSb3cobnVsbCwgdGhpcy5jcmVhdGVSb3dGb3JtKGl0ZW0sIF9zY2hlbWFzKSk7XG4gICAgICB9XG4gICAgfSBlbHNlXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE7IGkrKykge1xuICAgICAgICB0aGlzLmFkZFJvdyhpLCB0aGlzLmNyZWF0ZVJvd0Zvcm0obnVsbCwgX3NjaGVtYXMpKTtcbiAgICAgIH1cbiAgICBmb3IgKGNvbnN0IHNjaGVtZSBvZiBfc2NoZW1hcykge1xuICAgICAgaWYgKHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMpIHtcbiAgICAgICAgc2NoZW1lLm9wdGlvbnNJbml0RnVuYy5zdWJzY3JpYmUoXG4gICAgICAgICAgKHIpID0+ICh0aGlzLnNjaGVtYU1hcFtzY2hlbWUuZmllbGQgYXMgc3RyaW5nXS5vcHRpb25zID0gcilcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc29ydERhdGEoc29ydDogU29ydCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm0uY29udHJvbHMuc2xpY2UoKTtcbiAgICBpZiAoIXNvcnQ/LmFjdGl2ZSB8fCBzb3J0LmRpcmVjdGlvbiA9PT0gJycpIHtcbiAgICAgIHRoaXMuZm9ybSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KGRhdGEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQXNjID0gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnO1xuICAgICAgICByZXR1cm4gY29tcGFyZShhLnZhbHVlW3NvcnQuYWN0aXZlXSwgYi52YWx1ZVtzb3J0LmFjdGl2ZV0sIGlzQXNjKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICBhc3luYyBzdWJtaXQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgZGVidWdnZXI7XG4gICAgICBpZiAodGhpcy5mb3JtLnZhbGlkICYmIHRoaXMudmFsaWRhdGlvbkZ1bmMpIGF3YWl0IHRoaXMudmFsaWRhdGVBc3luYygpO1xuXG4gICAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgdGhyb3cgYFBsZWFzZSByZXNvbHZlIHRoZSBlcnJvcnMgYmVmb3JlIHN1Ym1pc3Npb25gO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zdWJtaXRGdW5jKHRoaXMuZm9ybT8udmFsdWUpO1xuICAgICAgdGhpcy51Uy5pbmZvKGAke3RoaXMubGFiZWx9IGhhcyBiZWVuIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHlgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB0aGlzLnVTLmluZm8oZXJyb3IsIDApO1xuICAgIH1cbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgZGlzYWJsZVJvd3MoaW5kZXg/OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXgpIHRoaXMuZm9ybS5jb250cm9sc1tpbmRleF0/LmRpc2FibGUoKTtcbiAgICBlbHNlIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gIH1cbiAgZW5hYmxlUm93cygpIHtcbiAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gIH1cbiAgc3ViRm9ybVRyYWNrQnkgPSAoaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSA9PiB7XG4gICAgcmV0dXJuIGl0ZW0udmFsdWUuX19yb3dJRDtcbiAgfTtcbiAgc2NoZW1lVHJhY2tCeSA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBJSW5wdXRUYWJsZVNjaGVtZSkgPT4ge1xuICAgIHJldHVybiBpdGVtLl9fSUQ7XG4gIH07XG4gIGVkaXRSb3coaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybT8uY29udHJvbHNbaW5kZXhdPy5kaXNhYmxlZFxuICAgICAgPyB0aGlzLmZvcm0/LmNvbnRyb2xzW2luZGV4XS5lbmFibGUoKVxuICAgICAgOiB0aGlzLmZvcm0/LmNvbnRyb2xzW2luZGV4XS5kaXNhYmxlKCk7XG4gIH1cblxuICByZW1vdmVSb3coaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmZvcm0/LmNvbnRyb2xzPy5sZW5ndGggPT0gMSkgdGhpcy5mb3JtLmNvbnRyb2xzWzBdPy5yZXNldCgpO1xuICAgIGVsc2UgdGhpcy5mb3JtLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIGNyZWF0ZVJvd0Zvcm0gPSAoZGF0YT86IGFueSwgX3NjaGVtYXMgPSB0aGlzLnNjaGVtYXMpID0+IHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBpZiAoIV9zY2hlbWFzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNvbnRyb2xzOiB7IFt4OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSA9IHtcbiAgICAgIF9fcm93SUQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnVTLmdlblJhbmRvbUlEKSxcbiAgICB9O1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBfc2NoZW1hcykge1xuICAgICAgY29udHJvbHNbaXRlbVt0aGlzLmtleUZpZWxkIGFzIHN0cmluZ11dID0gbmV3IEZvcm1Db250cm9sKFxuICAgICAgICBpdGVtLnZhbHVlLFxuICAgICAgICB0aGlzLnJlYWxUaW1lVmFsaWRhdGlvbiA/IGl0ZW0udmFsaWRhdG9ycyA6IG51bGwsXG4gICAgICAgIHRoaXMucmVhbFRpbWVWYWxpZGF0aW9uID8gaXRlbS5hc3luY1ZhbGlkYXRvcnMgOiBudWxsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1Hcm91cChjb250cm9scyk7XG4gICAgaWYgKGRhdGEpIGZvcm0ucGF0Y2hWYWx1ZShkYXRhKTtcbiAgICByZXR1cm4gZm9ybTtcbiAgfTtcblxuICBnZXQgZm9ybUlzUGVuZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnN0YXR1cyA9PSAnUEVORElORyc7XG4gIH1cblxuICBsb2dGb3JtKCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZm9ybSk7XG4gIH1cbiAganVtcFRvKHJvd2lkOiBzdHJpbmcpIHtcbiAgICBpZiAocm93aWQpXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyb3dpZCkuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ2F1dG8nIH0pO1xuICB9XG4gIHNob3dFcnJvcnMoKSB7XG4gICAgdGhpcy5sb2FkaW5nRXJyb3JMaXN0ID0gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuZXJyb3JzPy5sZW5ndGgpXG4gICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgdGhpcy5mb3JtLmNvbnRyb2xzLmxlbmd0aDsgcm93SW5kZXgrKykge1xuICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtLmNvbnRyb2xzW3Jvd0luZGV4XTtcbiAgICAgICAgaWYgKCFmb3JtLmludmFsaWQpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBlcnI6IElWYWxpZGF0aW9uUmVzcDxhbnk+ID0ge1xuICAgICAgICAgIHJvd0lEOiBmb3JtLnZhbHVlLl9fcm93SUQsXG4gICAgICAgICAgcm93SW5kZXg6IHJvd0luZGV4ICsgMSxcbiAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICB9O1xuICAgICAgICBmb3IgKGNvbnN0IGN0cmxLZXkgaW4gZm9ybS5jb250cm9scykge1xuICAgICAgICAgIGNvbnN0IGN0cmwgPSBmb3JtLmNvbnRyb2xzW2N0cmxLZXldO1xuICAgICAgICAgIGlmICghY3RybC5pbnZhbGlkKSBjb250aW51ZTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGVycktleSBpbiBjdHJsLmVycm9ycykge1xuICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICBlcnIuZXJyb3JzLnB1c2goY3RybC5lcnJvcnNbZXJyS2V5XSArICcgJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMuZXJyb3JzID0gW2Vycl07XG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goZXJyKTtcbiAgICAgIH1cbiAgICB0aGlzLmVycm9yTGlzdFRhZy5vcGVuKCk7XG4gICAgdGhpcy5sb2FkaW5nRXJyb3JMaXN0ID0gZmFsc2U7XG4gIH1cblxuICB2YWxpZGF0ZSgpIHtcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgIGNvbnN0IHN5bmNTY2hlbWFzID0gdGhpcy5zY2hlbWFzLmZpbHRlcigoeCkgPT4geC52YWxpZGF0b3JzPy5sZW5ndGgpO1xuICAgIGZvciAoY29uc3QgZm9ybSBvZiB0aGlzLmZvcm0uY29udHJvbHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc2NoZW1lIG9mIHN5bmNTY2hlbWFzKSB7XG4gICAgICAgIGZvcm0uY29udHJvbHNbc2NoZW1lLmZpZWxkIGFzIHN0cmluZ10uc2V0VmFsaWRhdG9ycyhzY2hlbWUudmFsaWRhdG9ycyk7XG4gICAgICAgIGZvcm0uY29udHJvbHNbc2NoZW1lLmZpZWxkIGFzIHN0cmluZ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgICAgZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgfVxuICAgIHRoaXMuaGFzQWRkZWRWYWxpZGF0b3JzID0gdHJ1ZTtcbiAgICB0aGlzLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgfVxuICBhc3luYyB2YWxpZGF0ZUFzeW5jKCkge1xuICAgIHRoaXMuYUVycm9ycyA9IGF3YWl0IHRoaXMudmFsaWRhdGlvbkZ1bmModGhpcy5mb3JtLnZhbHVlKTtcbiAgICBjb25zdCBtYXBwOiB7IFt4OiBzdHJpbmddOiBJVmFsaWRhdGlvblJlc3A8YW55PiB9ID0ge307XG4gICAgdGhpcy5hRXJyb3JzPy5mb3JFYWNoKCh4KSA9PiAobWFwcFt4LnJvd0lEXSA9IHgpKTtcbiAgICBmb3IgKGNvbnN0IGZvcm0gb2YgdGhpcy5mb3JtLmNvbnRyb2xzKSB7XG4gICAgICBjb25zdCB2UmVzID0gbWFwcFtmb3JtLnZhbHVlLl9fcm93SURdO1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybS5jb250cm9scykge1xuICAgICAgICBjb25zdCBjdHJsID0gZm9ybS5jb250cm9sc1trZXldO1xuICAgICAgICBjdHJsLnNldEVycm9ycyh2UmVzLmRhdGFba2V5XSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkUm93ID0gKFxuICAgIGluZGV4OiBudW1iZXIgPSB0aGlzLmZvcm0uY29udHJvbHMubGVuZ3RoLFxuICAgIGZvcm0gPSB0aGlzLmNyZWF0ZVJvd0Zvcm0oKVxuICApID0+IHtcbiAgICBpZiAoIWZvcm0pIHJldHVybiBudWxsO1xuICAgIHRoaXMuaGFzQWRkZWRWYWxpZGF0b3JzID0gZmFsc2U7XG4gICAgdGhpcy5mb3JtLmluc2VydChpbmRleCwgZm9ybSk7XG4gICAgaWYgKHRoaXMuc2hvd0VkaXRSb3cpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVJvd3MoaW5kZXgpO1xuICAgIH1cbiAgfTtcbiBcbiAgb3BlblBhZ2UoZTogUGFnZUV2ZW50KSB7fVxuICBcbiAgZG93bmxvYWRDU1Yocm93czogYW55W10gPSB0aGlzLmZvcm0udmFsdWUgYXMgYW55LCBsYWJlbCA9IHRoaXMubGFiZWwpIHtcbiAgICBjb25zdCBjc3ZBcnJheSA9XG4gICAgICBgJHt0aGlzLnNjaGVtYXNcbiAgICAgICAgLm1hcCgoeCkgPT4gKHRoaXMuaW9Gb3JtYXR0ZWQgPyB4LmxhYmVsIDogeC5maWVsZCkpXG4gICAgICAgIC5qb2luKCcsJyl9XFxyXFxuYCArXG4gICAgICByb3dzXG4gICAgICAgIC5tYXAoKHgpID0+IHRoaXMuc2NoZW1hcy5tYXAoKHkpID0+IHhbeS5maWVsZF0pLmpvaW4oJywnKSlcbiAgICAgICAgLmpvaW4oJ1xcclxcbicpO1xuICAgIC8vIGNvbnNvbGUubG9nKGNzdkFycmF5KTtcbiAgICAvLyBkZWJ1Z2dlclxuXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NzdkFycmF5XSwgeyB0eXBlOiAndGV4dC9jc3YnIH0pO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuXG4gICAgYS5ocmVmID0gdXJsO1xuICAgIGEuZG93bmxvYWQgPSBgJHtsYWJlbH0gJHt0aGlzLnNjaGVtYXM/Lmxlbmd0aH14JHtyb3dzPy5sZW5ndGh9LmNzdmA7XG4gICAgYS5jbGljaygpO1xuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxuICBkb3dubG9hZFRlbXBsYXRlKCkge1xuICAgIGlmICghdGhpcy50ZW1wbGF0ZU9iaikge1xuICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5zY2hlbWFzKSB7XG4gICAgICAgIG9ialtpdGVtLmZpZWxkXSA9IGl0ZW0udGVtcGxhdGVWYWx1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGVtcGxhdGVPYmogPSBvYmo7XG4gICAgfVxuICAgIHRoaXMuZG93bmxvYWRDU1YoW3RoaXMudGVtcGxhdGVPYmpdLCAndGVtcGxhdGUgJyArIHRoaXMubGFiZWwpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmUoYTogbnVtYmVyIHwgc3RyaW5nLCBiOiBudW1iZXIgfCBzdHJpbmcsIGlzQXNjOiBib29sZWFuKSB7XG4gIHJldHVybiAoYSA8IGIgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbn1cbiIsIjxsb2FkZXIgW2xvYWRpbmddPVwibG9hZGluZ1wiPiBcbiAgPGRpdiBbbmdDbGFzc109XCJ7IGJvcmRlcjogYm9yZGVyZWQsIHVuYm9yZGVyZWQ6ICFib3JkZXJlZCB9XCI+XG4gICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gcG9zaXRpb24tcmVsYXRpdmVcIiBQU0JveD4gLS0+XG4gICAgICA8dGFibGUgbWF0U29ydCAobWF0U29ydENoYW5nZSk9XCJzb3J0RGF0YSgkZXZlbnQpXCIgY2xhc3M9XCJ3LTEwMCBkLXRhYmxlIG1iLTAgaW5wdXQtdGFibGVcIj5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtcHJpbWFyeVwiPlxuICAgICAgICAgICAgQGlmIChzaG93U04pIHtcbiAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtY2VudGVyXCI+e3sgJ1MvTicgfCBhcHBUcmFuc2xhdGUgfCBhc3luYyB9fTwvdGg+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIHNjaGVtYXM7IHRyYWNrIGl0ZW0pIHtcblxuICAgICAgICAgICAgQGlmICghaXRlbS5oaWRkZW4pIHtcbiAgICAgICAgICAgIDx0aCBtYXQtc29ydC1oZWFkZXI9XCJ7eyBpdGVtW2tleUZpZWxkfHRvQW55XSB9fVwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICBAZm9yIChcbiAgICAgICAgICBzdWJGb3JtIG9mIGZvcm0uY29udHJvbHN8dG9Bbnk7IHRyYWNrIHN1YkZvcm1UcmFja0J5KHNpLFxuICAgICAgICAgIHN1YkZvcm0pOyBsZXQgc2kgPSAkaW5kZXgpIHtcbiAgICAgICAgICA8dHIgW2lkXT1cInN1YkZvcm0udmFsdWUuX19yb3dJRFwiPlxuICAgICAgICAgICAgQGlmIChzaG93U04pIHtcbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbnRlclwiPnt7IHNpICsgMSB9fTwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKHNjaGVtZSBvZiBzY2hlbWFzOyB0cmFjayBzY2hlbWVUcmFja0J5KGNpLCBzY2hlbWUpOyBsZXQgY2kgPSAkaW5kZXgpIHtcblxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiY29udGVudC1jZWxsXCIgW2hpZGRlbl09XCJzY2hlbWUuaGlkZGVuXCI+XG5cbiAgICAgICAgICAgICAgQHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgICAgICBAY2FzZSAoc2NoZW1lLnR5cGUgPT0gJ3RlbCcpIHtcblxuICAgICAgICAgICAgICA8YXBwLXBob25lLW51bWJlciBbZm9ybV09XCJzdWJGb3JtXCIgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiIFtuYW1lXT1cInNjaGVtZVtrZXlGaWVsZF1cIlxuICAgICAgICAgICAgICAgIFtpZF09XCJzdWJGb3JtLnZhbHVlLl9fcm93SUR8dG9BbnlcIiBbc2hvd0xhYmVsXT1cImZhbHNlXCIgW3Nob3dWYWxpZGF0aW9uXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvblwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uSWNvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25JY29uXCIgW3N0YWNrZWRdPVwidHJ1ZVwiIFtjb3VudHJ5Q29kZTNdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNlbGxDb3VudHJ5Q29kZTNzW3NjaGVtZS5nZXRDb3VudHJ5Q29kZTNLZXkrc2ldIHx8IHNjaGVtZS5jb3VudHJ5Q29kZTNcbiAgICAgICAgICAgICAgICAgICAgICBcIiBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWUuZGlzYWJsZWRJZlxuICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uQ2FsbGVyMjogc3ViRm9ybS52YWx1ZTpzY2hlbWVba2V5RmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgXCIgI2lucHV0VGFnPlxuICAgICAgICAgICAgICA8L2FwcC1waG9uZS1udW1iZXI+XG4gICAgICAgICAgICAgIDxhcHAtdmFsaWRhdGlvbi1tZXNzYWdlIFtpbnB1dF09XCJpbnB1dFRhZ1wiIC8+XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAY2FzZSAoc2NoZW1lLnR5cGUgPT0gJ2F1dG9jb21wbGV0ZScpIHtcblxuICAgICAgICAgICAgICA8YXBwLWF1dG9jb21wbGV0ZSBbZm9ybV09XCJzdWJGb3JtXCIgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiIFtsYWJlbEZpZWxkXT1cInNjaGVtZS5sYWJlbEZpZWxkXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwic3ViRm9ybS52YWx1ZS5fX3Jvd0lEfHRvQW55XCIgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJ0cnVlXCIgW2xhYmVsVHlwZV09XCJzY2hlbWUubGFiZWxUeXBlXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWVba2V5RmllbGR8dG9BbnldXCIgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCIgW3Nob3dMYWJlbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwidHJ1ZVwiIFt2YWx1ZUZpZWxkXT1cInNjaGVtZS52YWx1ZUZpZWxkXCIgKG1jaGFuZ2UpPVwiYWRkQ2VsbE9wdGlvbihzY2hlbWUsc3ViRm9ybSwkZXZlbnQsc2kpXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1lLm9wdGlvbnN8fHNjaGVtYU1hcFtzY2hlbWUuZmllbGR8dG9BbnldPy5vcHRpb25zfHxjZWxsT3B0aW9uc1tzY2hlbWUub3B0aW9uc0tleStzaV1cbiAgICAgICAgICAgICAgICAgICAgICBcIiBbaGludF09XCJzY2hlbWUuaGludFwiIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtZS5kaXNhYmxlZElmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnVuY3Rpb25DYWxsZXIyOiBzdWJGb3JtLnZhbHVlOnNjaGVtZVtrZXlGaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICBcIiAjaW5wdXRUYWc+PC9hcHAtYXV0b2NvbXBsZXRlPlxuICAgICAgICAgICAgICA8YXBwLXZhbGlkYXRpb24tbWVzc2FnZSBbaW5wdXRdPVwiaW5wdXRUYWdcIiAvPlxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGRlZmF1bHQge1xuXG4gICAgICAgICAgICAgIDxhcHAtaW5wdXQtYmFzaWMgI2lucHV0VGFnIFtkZWNpbWFsUG9pbnRzXT1cInNjaGVtZS5kZWNpbWFsUG9pbnRzXCIgW2Zvcm1dPVwic3ViRm9ybVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cInN1YkZvcm0udmFsdWUuX19yb3dJRHx0b0FueVwiIFtoaW50XT1cInNjaGVtZS5oaW50XCIgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIiBbYXV0b1BpY2tWYWx1ZUZpZWxkXT1cInRydWVcIiBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGVcIlxuICAgICAgICAgICAgICAgIFttYXhdPVwic2NoZW1lLm1heFwiIFttaW5dPVwic2NoZW1lLm1pblwiIFtuYW1lXT1cInNjaGVtZVtrZXlGaWVsZHx0b0FueV1cIlxuICAgICAgICAgICAgICAgIFtvcHRpb25Gb3JtYXR0ZXJdPVwic2NoZW1lLm9wdGlvbkZvcm1hdHRlclwiIFtwbGFjZWhvbGRlcl09XCJzY2hlbWUucGxhY2Vob2xkZXJcIiBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uXCIgW3Nob3dWYWxpZGF0aW9uSWNvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25JY29uXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJzY2hlbWUudHlwZVwiIFt2YWx1ZUZpZWxkXT1cInNjaGVtZS52YWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJhZGRDZWxsT3B0aW9uKHNjaGVtZSxzdWJGb3JtLCRldmVudCxzaSlcIiBbb3B0aW9uc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1lLm9wdGlvbnN8fHNjaGVtYU1hcFtzY2hlbWUuZmllbGR8dG9BbnldPy5vcHRpb25zfHxjZWxsT3B0aW9uc1tzY2hlbWUub3B0aW9uc0tleStzaV1cbiAgICAgICAgICAgICAgICAgICAgICBcIiBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWUuZGlzYWJsZWRJZlxuICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uQ2FsbGVyMjogc3ViRm9ybS52YWx1ZTpzY2hlbWVba2V5RmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgXCIgLz5cbiAgICAgICAgICAgICAgPGFwcC12YWxpZGF0aW9uLW1lc3NhZ2UgW2lucHV0XT1cImlucHV0VGFnXCIgLz5cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHNob3dFZGl0Um93KSB7XG5cbiAgICAgICAgICAgICAgICA8YXBwLWJ0biBncm91cD1cImVkaXRcIiAobWNsaWNrKT1cImVkaXRSb3coc2kpXCI+PC9hcHAtYnRuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8YXBwLWJ0biBncm91cD1cImRlbGV0ZVwiIChtY2xpY2spPVwicmVtb3ZlUm93KHNpKVwiPjwvYXBwLWJ0bj5cbiAgICAgICAgICAgICAgICBAaWYgKHNob3dBZGRSb3cpIHtcblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YXBwLWJ0biBncm91cD1cImFkZFwiIChtY2xpY2spPVwiYWRkUm93KHNpICsgMSlcIj48L2FwcC1idG4+XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8bWF0LXBhZ2luYXRvciAqbmdJZj1cImJhdGNoVXBsb2FkXCIgW2xlbmd0aF09XCJmb3JtPy5sZW5ndGhcIiBbcGFnZVNpemVdPVwicGFnZVNpemVPcHRpb25zWzBdXCJcbiAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgICAgIChwYWdlKT1cIm9wZW5QYWdlKCRldmVudClcIiBhcmlhLWxhYmVsPVwiU2VsZWN0IHBhZ2VcIj5cbiAgICA8L21hdC1wYWdpbmF0b3I+IC0tPlxuICAgIDwhLS0gPG1hdC1wYWdpbmF0b3IgIFtsZW5ndGhdPVwidGhpXCIgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zPlxuICA8L21hdC1wYWdpbmF0b3I+IC0tPlxuICA8L2Rpdj5cbiAgQGlmIChzdWJtaXRGdW5jKSB7XG4gIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQgbXQtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBkLWZsZXhcIj5cbiAgICAgIDxhcHAtYnRuIChtY2xpY2spPVwic3VibWl0KClcIiB0ZXh0PVwiU3VibWl0XCIgW2Zvcm1dPVwiZm9ybVwiIHR5cGU9XCJzZWNvbmRhcnlcIiBpY29uPVwic2F2ZVwiPlxuICAgICAgPC9hcHAtYnRuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9sb2FkZXI+Il19
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0LXRhYmxlL2lucHV0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC10YWJsZS9pbnB1dC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUFFLFNBQVMsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBUSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVd0RSxNQUFNLE9BQU8sbUJBQW1CO0lBNEI5QixJQUF3QixVQUFVLENBQUMsQ0FBUztRQUMxQyxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBc0IsUUFBUSxDQUFDLEtBQTBCO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBbUIsS0FBSyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELFlBQW1CLEVBQWtCLEVBQVUsR0FBc0I7UUFBbEQsT0FBRSxHQUFGLEVBQUUsQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlDNUQsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixhQUFRLEdBQXNCLE9BQU8sQ0FBQztRQUV0QyxvQkFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJOUMsU0FBSSxHQUFHLElBQUksU0FBUyxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixzQkFBaUIsR0FBaUIsRUFBRSxDQUFDO1FBR3JDLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBdUJsQyxjQUFTLEdBQXVDLEVBQUUsQ0FBQztRQVduRCxrQkFBYSxHQUFHLEtBQUssRUFDbkIsTUFBbUIsRUFDbkIsSUFBZSxFQUNmLE9BQVksRUFDWixLQUFhLEVBQ2IsRUFBRTtZQUNGLElBQ0UsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDLE9BQU87Z0JBRTdDLE9BQU87WUFDVCxNQUFNLEdBQUcsR0FBRyxNQUEwQixDQUNwQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQ3hDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3pELElBQUksTUFBTSxDQUFDLGlCQUFpQjtnQkFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQTJERixtQkFBYyxHQUFHLENBQUMsS0FBYSxFQUFFLElBQVMsRUFBRSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUIsQ0FBQyxDQUFDO1FBQ0Ysa0JBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUF1QixFQUFFLEVBQUU7WUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQVlGLGtCQUFhLEdBQUcsQ0FBQyxJQUFVLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0RCxZQUFZO1lBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFxQztnQkFDakQsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQzlDLENBQUM7WUFDRixLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFrQixDQUFDLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FDdkQsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RELENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJO2dCQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFtRUYsV0FBTSxHQUFHLENBQ1AsUUFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUN6QyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUMzQixFQUFFO1lBQ0YsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FBQztJQW5Nc0UsQ0FBQztJQUV6RSxRQUFRO1FBQ04sc0JBQXNCO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTthQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFvQkQsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTztRQUNsQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7UUFDSCxDQUFDOztZQUNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FDNUQsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFVO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDO1lBQ3ZDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU07UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUM7WUFDSCxRQUFRLENBQUM7WUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjO2dCQUFFLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXZFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSw2Q0FBNkMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDOztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBT0QsT0FBTyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUTtZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDOztZQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBb0JELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksS0FBSztZQUNQLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU07WUFDdEIsS0FBSyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUN4RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO29CQUFFLFNBQVM7Z0JBQzVCLE1BQU0sR0FBRyxHQUF5QjtvQkFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztvQkFDekIsUUFBUSxFQUFFLFFBQVEsR0FBRyxDQUFDO29CQUN0QixNQUFNLEVBQUUsRUFBRTtpQkFDWCxDQUFDO2dCQUNGLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87d0JBQUUsU0FBUztvQkFDNUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ2pDLFlBQVk7d0JBQ1osR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsQ0FBQztnQkFDSCxDQUFDO2dCQUNELHVCQUF1QjtnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxLQUFLLE1BQU0sTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2pFLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixZQUFZO0lBQ2QsQ0FBQztJQUNELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxJQUFJLEdBQTBDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFjRCxRQUFRLENBQUMsQ0FBWSxJQUFHLENBQUM7SUFFekIsV0FBVyxDQUFDLE9BQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFZLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ2xFLE1BQU0sUUFBUSxHQUNaLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDWixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTTtZQUNsQixJQUFJO2lCQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQix5QkFBeUI7UUFDekIsV0FBVztRQUVYLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7UUFDcEUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzhHQXBSVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixxc0JDM0NoQyxnbUxBK0hTLGtxQkR0RkssZUFBZSx1SEFBaUMsWUFBWSxtZ0JBQUUsT0FBTyxtRkFBRSxhQUFhLGtkQUFpQyxvQkFBb0IsNElBQUUsMEJBQTBCLDJOQUFFLHFCQUFxQiw4SEFBbUIsbUJBQW1CLHdWQUFFLFNBQVMseUNBQUUsZUFBZSxtREFBRSxTQUFTLHlDQUFFLGdCQUFnQjs7MkZBRTVSLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxpQkFBaUIsY0FJZixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFJLHFCQUFxQixFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQzttSEFHL1IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFha0IsVUFBVTtzQkFBakMsS0FBSzt1QkFBQyxXQUFXO2dCQUlJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsU0FBUztnQkFVRyxLQUFLO3NCQUF2QixLQUFLO3VCQUFDLE1BQU07Z0JBSVcsWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXOztBQXlPeEIsU0FBUyxPQUFPLENBQUMsQ0FBa0IsRUFBRSxDQUFrQixFQUFFLEtBQWM7SUFDckUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVW50eXBlZEZvcm1BcnJheSxcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgRm9ybUFycmF5LFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgU29ydCwgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnOyBcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJzsgXG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJSW5wdXRUYWJsZVNjaGVtZSwgSVZhbGlkYXRpb25SZXNwIH0gZnJvbSAnLi9pbnB1dC10YWJsZS5tb2RlbCc7IFxuaW1wb3J0IHsgU0RLVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xuaW1wb3J0IHsgSW5wdXRCYXNpY0NvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L3ZhbGlkYXRpb24tbWVzc2FnZS92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vYnRuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtY29udHJvbC5jb21wb25lbnQnOyBcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nRm9yLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1N3aXRjaERlZmF1bHQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRm9ybU9wdGlvbnMsIElGb3JtU2NoZW1hIH0gZnJvbSAnLi4vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmN0aW9uQ2FsbGVyMiwgVG9BbnlQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vU2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICAvLyBcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtMb2FkZXJDb21wb25lbnQsIE5nSWYsICAgSW5wdXRDb250cm9sQ29tcG9uZW50LCBCdG5Db21wb25lbnQsIE5nQ2xhc3MsIE1hdFNvcnRNb2R1bGUsIE5nRm9yLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBQaG9uZU51bWJlckNvbXBvbmVudCwgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQsIEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgTmdTd2l0Y2hEZWZhdWx0LCBJbnB1dEJhc2ljQ29tcG9uZW50LCBBc3luY1BpcGUsIEZ1bmN0aW9uQ2FsbGVyMiwgVG9BbnlQaXBlLCBTREtUcmFuc2xhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYm9yZGVyZWQgPSB0cnVlO1xuICBASW5wdXQoKSBpb0Zvcm1hdHRlZCA9IHRydWU7XG4gIEBJbnB1dCgpIGtleUZpZWxkOiAnZmllbGQnIHwgJ2xhYmVsJyA9ICdmaWVsZCc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhZ2VTaXplT3B0aW9ucyA9IFs1LCAxMCwgNTAsIDEwMCwgMjUwLCA1MDAsIDEwMDAsIDIwMDAsIDUwMDBdO1xuICBASW5wdXQoKSByZWFsVGltZVZhbGlkYXRpb24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QWRkUm93ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0NTViA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dFZGl0Um93ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dFeHBvcnRCdG4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93SU9CdG5zID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1NOID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHN1Ym1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBzdWJtaXRGdW5jOiAoYXJyVmFsdWVzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+O1xuICBASW5wdXQoKSB2YWxpZGF0aW9uRnVuYzogKGFyclZhbDogYW55W10pID0+IFByb21pc2U8SVZhbGlkYXRpb25SZXNwPGFueT5bXT47XG4gIGRhdGE6IGFueVtdO1xuICBmb3JtID0gbmV3IEZvcm1BcnJheTxGb3JtR3JvdXA+KFtdKTtcbiAgY2VsbE9wdGlvbnM6IElGb3JtT3B0aW9ucyA9IHt9O1xuICBjZWxsQ291bnRyeUNvZGUzczogSUZvcm1PcHRpb25zID0ge307XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIG51bU9mUm93c0N0cmw6IEZvcm1Db250cm9sO1xuICBzY2hlbWFzOiBJSW5wdXRUYWJsZVNjaGVtZVtdID0gW107XG4gIHRlbXBsYXRlT2JqOiB7fTtcbiAgcHJpdmF0ZSBoYXNBZGRlZFZhbGlkYXRvcnM6IGJvb2xlYW47XG4gIGxvYWRpbmdFcnJvckxpc3Q6IGJvb2xlYW47XG4gIGVycm9yczogSVZhbGlkYXRpb25SZXNwPGFueT5bXTtcbiAgYUVycm9yczogSVZhbGlkYXRpb25SZXNwPGFueT5bXTtcbiAgQElucHV0KCdudW1PZlJvd3MnKSBzZXQgX251bU9mUm93cyh2OiBudW1iZXIpIHtcbiAgICBpZiAodikgdGhpcy5udW1PZlJvd3NDdHJsID0gbmV3IEZvcm1Db250cm9sKHYpO1xuICAgIGVsc2UgdGhpcy5udW1PZlJvd3NDdHJsID0gbnVsbDtcbiAgfVxuICBASW5wdXQoJ3NjaGVtYXMnKSBzZXQgX3NjaGVtYXModmFsdWU6IElJbnB1dFRhYmxlU2NoZW1lW10pIHtcbiAgICB2YWx1ZS5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4LnR5cGUgPSB4LnR5cGUgfHwgJ3RleHQnO1xuICAgICAgeC5fX0lEID0gdGhpcy51Uy5nZW5SYW5kb21JRDtcbiAgICAgIHRoaXMuc2NoZW1hTWFwW3guZmllbGQgYXMgc3RyaW5nXSA9IHg7XG4gICAgfSk7XG4gICAgdGhpcy5zY2hlbWFzID0gdmFsdWU7XG4gICAgXG4gICAgdGhpcy5pbml0aWF0ZUZvcm0odmFsdWUpO1xuICB9XG4gIEBJbnB1dCgnZGF0YScpIHNldCBfZGF0YSh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICBzY2hlbWFNYXA6IHsgW3g6IHN0cmluZ106IElJbnB1dFRhYmxlU2NoZW1lIH0gPSB7fTtcbiAgQFZpZXdDaGlsZCgnZXJyb3JMaXN0JykgZXJyb3JMaXN0VGFnOiBNb2RhbENvbXBvbmVudDtcbiAgY29uc3RydWN0b3IocHVibGljIHVTOiBVdGlsaXR5U2VydmljZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMuaW5pdGlhdGVGb3JtKClcblxuICAgIHRoaXMuZm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwMCkpXG4gICAgICAuc3Vic2NyaWJlKChyKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9IFxuICBhZGRDZWxsT3B0aW9uID0gYXN5bmMgKFxuICAgIHNjaGVtZTogSUZvcm1TY2hlbWEsXG4gICAgZm9ybTogRm9ybUdyb3VwLFxuICAgIGNlbGxWYWw6IGFueSxcbiAgICBpbmRleDogbnVtYmVyXG4gICkgPT4ge1xuICAgIGlmIChcbiAgICAgICghc2NoZW1lLm9uQ2hhbmdlRnVuYyAmJiAhc2NoZW1lLnNldEFzQ291bnRyeUNvZGUzKSB8fFxuICAgICAgZm9ybS5jb250cm9sc1tzY2hlbWUuZmllbGQgYXMgc3RyaW5nXS5pbnZhbGlkXG4gICAgKVxuICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGFyciA9IGF3YWl0ICg8T2JzZXJ2YWJsZTxhbnlbXT4+KFxuICAgICAgc2NoZW1lLm9uQ2hhbmdlRnVuYyhmb3JtLnZhbHVlLCBjZWxsVmFsKVxuICAgICkpLnRvUHJvbWlzZSgpO1xuICAgIHRoaXMuY2VsbE9wdGlvbnNbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpICsgaW5kZXhdID0gYXJyO1xuICAgIGlmIChzY2hlbWUuc2V0QXNDb3VudHJ5Q29kZTMpXG4gICAgICB0aGlzLmNlbGxDb3VudHJ5Q29kZTNzW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKSArIGluZGV4XSA9IGNlbGxWYWw7XG4gIH07XG5cbiAgaW5pdGlhdGVGb3JtKF9zY2hlbWFzID0gdGhpcy5zY2hlbWFzKSB7XG4gICAgaWYgKCFfc2NoZW1hcykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmRhdGE/Lmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLmFkZFJvdyhudWxsLCB0aGlzLmNyZWF0ZVJvd0Zvcm0oaXRlbSwgX3NjaGVtYXMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2VcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTsgaSsrKSB7XG4gICAgICAgIHRoaXMuYWRkUm93KGksIHRoaXMuY3JlYXRlUm93Rm9ybShudWxsLCBfc2NoZW1hcykpO1xuICAgICAgfVxuICAgIGZvciAoY29uc3Qgc2NoZW1lIG9mIF9zY2hlbWFzKSB7XG4gICAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYykge1xuICAgICAgICBzY2hlbWUub3B0aW9uc0luaXRGdW5jLnN1YnNjcmliZShcbiAgICAgICAgICAocikgPT4gKHRoaXMuc2NoZW1hTWFwW3NjaGVtZS5maWVsZCBhcyBzdHJpbmddLm9wdGlvbnMgPSByKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBzb3J0RGF0YShzb3J0OiBTb3J0KSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZm9ybS5jb250cm9scy5zbGljZSgpO1xuICAgIGlmICghc29ydD8uYWN0aXZlIHx8IHNvcnQuZGlyZWN0aW9uID09PSAnJykge1xuICAgICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoZGF0YSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgY29uc3QgaXNBc2MgPSBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYyc7XG4gICAgICAgIHJldHVybiBjb21wYXJlKGEudmFsdWVbc29ydC5hY3RpdmVdLCBiLnZhbHVlW3NvcnQuYWN0aXZlXSwgaXNBc2MpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG4gIGFzeW5jIHN1Ym1pdCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBkZWJ1Z2dlcjtcbiAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQgJiYgdGhpcy52YWxpZGF0aW9uRnVuYykgYXdhaXQgdGhpcy52YWxpZGF0ZUFzeW5jKCk7XG5cbiAgICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgICB0aHJvdyBgUGxlYXNlIHJlc29sdmUgdGhlIGVycm9ycyBiZWZvcmUgc3VibWlzc2lvbmA7XG4gICAgICB9XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnN1Ym1pdEZ1bmModGhpcy5mb3JtPy52YWx1ZSk7XG4gICAgICB0aGlzLnVTLmluZm8oYCR7dGhpcy5sYWJlbH0gaGFzIGJlZW4gc3VibWl0dGVkIHN1Y2Nlc3NmdWxseWApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHRoaXMudVMuaW5mbyhlcnJvciwgMCk7XG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBkaXNhYmxlUm93cyhpbmRleD86IG51bWJlcikge1xuICAgIGlmIChpbmRleCkgdGhpcy5mb3JtLmNvbnRyb2xzW2luZGV4XT8uZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgfVxuICBlbmFibGVSb3dzKCkge1xuICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgfVxuICBzdWJGb3JtVHJhY2tCeSA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpID0+IHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZS5fX3Jvd0lEO1xuICB9O1xuICBzY2hlbWVUcmFja0J5ID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IElJbnB1dFRhYmxlU2NoZW1lKSA9PiB7XG4gICAgcmV0dXJuIGl0ZW0uX19JRDtcbiAgfTtcbiAgZWRpdFJvdyhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtPy5jb250cm9sc1tpbmRleF0/LmRpc2FibGVkXG4gICAgICA/IHRoaXMuZm9ybT8uY29udHJvbHNbaW5kZXhdLmVuYWJsZSgpXG4gICAgICA6IHRoaXMuZm9ybT8uY29udHJvbHNbaW5kZXhdLmRpc2FibGUoKTtcbiAgfVxuXG4gIHJlbW92ZVJvdyhpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuZm9ybT8uY29udHJvbHM/Lmxlbmd0aCA9PSAxKSB0aGlzLmZvcm0uY29udHJvbHNbMF0/LnJlc2V0KCk7XG4gICAgZWxzZSB0aGlzLmZvcm0ucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgY3JlYXRlUm93Rm9ybSA9IChkYXRhPzogYW55LCBfc2NoZW1hcyA9IHRoaXMuc2NoZW1hcykgPT4ge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICghX3NjaGVtYXM/Lmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgY29udHJvbHM6IHsgW3g6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9ID0ge1xuICAgICAgX19yb3dJRDogbmV3IEZvcm1Db250cm9sKHRoaXMudVMuZ2VuUmFuZG9tSUQpLFxuICAgIH07XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIF9zY2hlbWFzKSB7XG4gICAgICBjb250cm9sc1tpdGVtW3RoaXMua2V5RmllbGQgYXMgc3RyaW5nXV0gPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgIGl0ZW0udmFsdWUsXG4gICAgICAgIHRoaXMucmVhbFRpbWVWYWxpZGF0aW9uID8gaXRlbS52YWxpZGF0b3JzIDogbnVsbCxcbiAgICAgICAgdGhpcy5yZWFsVGltZVZhbGlkYXRpb24gPyBpdGVtLmFzeW5jVmFsaWRhdG9ycyA6IG51bGxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybUdyb3VwKGNvbnRyb2xzKTtcbiAgICBpZiAoZGF0YSkgZm9ybS5wYXRjaFZhbHVlKGRhdGEpO1xuICAgIHJldHVybiBmb3JtO1xuICB9O1xuXG4gIGdldCBmb3JtSXNQZW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uc3RhdHVzID09ICdQRU5ESU5HJztcbiAgfVxuXG4gIGxvZ0Zvcm0oKSB7XG4gICAgY29uc29sZS5sb2codGhpcy5mb3JtKTtcbiAgfVxuICBqdW1wVG8ocm93aWQ6IHN0cmluZykge1xuICAgIGlmIChyb3dpZClcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHJvd2lkKS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnYXV0bycgfSk7XG4gIH1cbiAgc2hvd0Vycm9ycygpIHtcbiAgICB0aGlzLmxvYWRpbmdFcnJvckxpc3QgPSB0cnVlO1xuICAgIGlmICghdGhpcy5lcnJvcnM/Lmxlbmd0aClcbiAgICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCB0aGlzLmZvcm0uY29udHJvbHMubGVuZ3RoOyByb3dJbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm0uY29udHJvbHNbcm93SW5kZXhdO1xuICAgICAgICBpZiAoIWZvcm0uaW52YWxpZCkgY29udGludWU7XG4gICAgICAgIGNvbnN0IGVycjogSVZhbGlkYXRpb25SZXNwPGFueT4gPSB7XG4gICAgICAgICAgcm93SUQ6IGZvcm0udmFsdWUuX19yb3dJRCxcbiAgICAgICAgICByb3dJbmRleDogcm93SW5kZXggKyAxLFxuICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgIH07XG4gICAgICAgIGZvciAoY29uc3QgY3RybEtleSBpbiBmb3JtLmNvbnRyb2xzKSB7XG4gICAgICAgICAgY29uc3QgY3RybCA9IGZvcm0uY29udHJvbHNbY3RybEtleV07XG4gICAgICAgICAgaWYgKCFjdHJsLmludmFsaWQpIGNvbnRpbnVlO1xuICAgICAgICAgIGZvciAoY29uc3QgZXJyS2V5IGluIGN0cmwuZXJyb3JzKSB7XG4gICAgICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgICAgIGVyci5lcnJvcnMucHVzaChjdHJsLmVycm9yc1tlcnJLZXldICsgJyAnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGhpcy5lcnJvcnMgPSBbZXJyXTtcbiAgICAgICAgdGhpcy5lcnJvcnMucHVzaChlcnIpO1xuICAgICAgfVxuICAgIHRoaXMuZXJyb3JMaXN0VGFnLm9wZW4oKTtcbiAgICB0aGlzLmxvYWRpbmdFcnJvckxpc3QgPSBmYWxzZTtcbiAgfVxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgY29uc3Qgc3luY1NjaGVtYXMgPSB0aGlzLnNjaGVtYXMuZmlsdGVyKCh4KSA9PiB4LnZhbGlkYXRvcnM/Lmxlbmd0aCk7XG4gICAgZm9yIChjb25zdCBmb3JtIG9mIHRoaXMuZm9ybS5jb250cm9scykge1xuICAgICAgZm9yIChjb25zdCBzY2hlbWUgb2Ygc3luY1NjaGVtYXMpIHtcbiAgICAgICAgZm9ybS5jb250cm9sc1tzY2hlbWUuZmllbGQgYXMgc3RyaW5nXS5zZXRWYWxpZGF0b3JzKHNjaGVtZS52YWxpZGF0b3JzKTtcbiAgICAgICAgZm9ybS5jb250cm9sc1tzY2hlbWUuZmllbGQgYXMgc3RyaW5nXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgICBmb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICB9XG4gICAgdGhpcy5oYXNBZGRlZFZhbGlkYXRvcnMgPSB0cnVlO1xuICAgIHRoaXMuZm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIC8vIGRlYnVnZ2VyO1xuICB9XG4gIGFzeW5jIHZhbGlkYXRlQXN5bmMoKSB7XG4gICAgdGhpcy5hRXJyb3JzID0gYXdhaXQgdGhpcy52YWxpZGF0aW9uRnVuYyh0aGlzLmZvcm0udmFsdWUpO1xuICAgIGNvbnN0IG1hcHA6IHsgW3g6IHN0cmluZ106IElWYWxpZGF0aW9uUmVzcDxhbnk+IH0gPSB7fTtcbiAgICB0aGlzLmFFcnJvcnM/LmZvckVhY2goKHgpID0+IChtYXBwW3gucm93SURdID0geCkpO1xuICAgIGZvciAoY29uc3QgZm9ybSBvZiB0aGlzLmZvcm0uY29udHJvbHMpIHtcbiAgICAgIGNvbnN0IHZSZXMgPSBtYXBwW2Zvcm0udmFsdWUuX19yb3dJRF07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtLmNvbnRyb2xzKSB7XG4gICAgICAgIGNvbnN0IGN0cmwgPSBmb3JtLmNvbnRyb2xzW2tleV07XG4gICAgICAgIGN0cmwuc2V0RXJyb3JzKHZSZXMuZGF0YVtrZXldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGRSb3cgPSAoXG4gICAgaW5kZXg6IG51bWJlciA9IHRoaXMuZm9ybS5jb250cm9scy5sZW5ndGgsXG4gICAgZm9ybSA9IHRoaXMuY3JlYXRlUm93Rm9ybSgpXG4gICkgPT4ge1xuICAgIGlmICghZm9ybSkgcmV0dXJuIG51bGw7XG4gICAgdGhpcy5oYXNBZGRlZFZhbGlkYXRvcnMgPSBmYWxzZTtcbiAgICB0aGlzLmZvcm0uaW5zZXJ0KGluZGV4LCBmb3JtKTtcbiAgICBpZiAodGhpcy5zaG93RWRpdFJvdykge1xuICAgICAgdGhpcy5kaXNhYmxlUm93cyhpbmRleCk7XG4gICAgfVxuICB9O1xuIFxuICBvcGVuUGFnZShlOiBQYWdlRXZlbnQpIHt9XG4gIFxuICBkb3dubG9hZENTVihyb3dzOiBhbnlbXSA9IHRoaXMuZm9ybS52YWx1ZSBhcyBhbnksIGxhYmVsID0gdGhpcy5sYWJlbCkge1xuICAgIGNvbnN0IGNzdkFycmF5ID1cbiAgICAgIGAke3RoaXMuc2NoZW1hc1xuICAgICAgICAubWFwKCh4KSA9PiAodGhpcy5pb0Zvcm1hdHRlZCA/IHgubGFiZWwgOiB4LmZpZWxkKSlcbiAgICAgICAgLmpvaW4oJywnKX1cXHJcXG5gICtcbiAgICAgIHJvd3NcbiAgICAgICAgLm1hcCgoeCkgPT4gdGhpcy5zY2hlbWFzLm1hcCgoeSkgPT4geFt5LmZpZWxkXSkuam9pbignLCcpKVxuICAgICAgICAuam9pbignXFxyXFxuJyk7XG4gICAgLy8gY29uc29sZS5sb2coY3N2QXJyYXkpO1xuICAgIC8vIGRlYnVnZ2VyXG5cbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY3N2QXJyYXldLCB7IHR5cGU6ICd0ZXh0L2NzdicgfSk7XG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG5cbiAgICBhLmhyZWYgPSB1cmw7XG4gICAgYS5kb3dubG9hZCA9IGAke2xhYmVsfSAke3RoaXMuc2NoZW1hcz8ubGVuZ3RofXgke3Jvd3M/Lmxlbmd0aH0uY3N2YDtcbiAgICBhLmNsaWNrKCk7XG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICBhLnJlbW92ZSgpO1xuICB9XG4gIGRvd25sb2FkVGVtcGxhdGUoKSB7XG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlT2JqKSB7XG4gICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnNjaGVtYXMpIHtcbiAgICAgICAgb2JqW2l0ZW0uZmllbGRdID0gaXRlbS50ZW1wbGF0ZVZhbHVlO1xuICAgICAgfVxuICAgICAgdGhpcy50ZW1wbGF0ZU9iaiA9IG9iajtcbiAgICB9XG4gICAgdGhpcy5kb3dubG9hZENTVihbdGhpcy50ZW1wbGF0ZU9ial0sICd0ZW1wbGF0ZSAnICsgdGhpcy5sYWJlbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyZShhOiBudW1iZXIgfCBzdHJpbmcsIGI6IG51bWJlciB8IHN0cmluZywgaXNBc2M6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIChhIDwgYiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xufVxuIiwiPGxvYWRlciBbbG9hZGluZ109XCJsb2FkaW5nXCI+IFxuICA8ZGl2IFtuZ0NsYXNzXT1cInsgYm9yZGVyOiBib3JkZXJlZCwgdW5ib3JkZXJlZDogIWJvcmRlcmVkIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBwb3NpdGlvbi1yZWxhdGl2ZVwiIFBTQm94PiAtLT5cbiAgICAgIDx0YWJsZSBtYXRTb3J0IChtYXRTb3J0Q2hhbmdlKT1cInNvcnREYXRhKCRldmVudClcIiBjbGFzcz1cInctMTAwIGQtdGFibGUgbWItMCBpbnB1dC10YWJsZVwiPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyIGNsYXNzPVwidGV4dC1wcmltYXJ5XCI+XG4gICAgICAgICAgICBAaWYgKHNob3dTTikge1xuICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1jZW50ZXJcIj57eyAnUy9OJyB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19PC90aD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2NoZW1hczsgdHJhY2sgaXRlbSkge1xuXG4gICAgICAgICAgICBAaWYgKCFpdGVtLmhpZGRlbikge1xuICAgICAgICAgICAgPHRoIG1hdC1zb3J0LWhlYWRlcj1cInt7IGl0ZW1ba2V5RmllbGR8dG9BbnldIH19XCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCBhcHBUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgIHN1YkZvcm0gb2YgZm9ybS5jb250cm9sc3x0b0FueTsgdHJhY2sgc3ViRm9ybVRyYWNrQnkoc2ksXG4gICAgICAgICAgc3ViRm9ybSk7IGxldCBzaSA9ICRpbmRleCkge1xuICAgICAgICAgIDx0ciBbaWRdPVwic3ViRm9ybS52YWx1ZS5fX3Jvd0lEXCI+XG4gICAgICAgICAgICBAaWYgKHNob3dTTikge1xuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VudGVyXCI+e3sgc2kgKyAxIH19PC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAoc2NoZW1lIG9mIHNjaGVtYXM7IHRyYWNrIHNjaGVtZVRyYWNrQnkoY2ksIHNjaGVtZSk7IGxldCBjaSA9ICRpbmRleCkge1xuXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJjb250ZW50LWNlbGxcIiBbaGlkZGVuXT1cInNjaGVtZS5oaWRkZW5cIj5cblxuICAgICAgICAgICAgICBAc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAndGVsJykge1xuXG4gICAgICAgICAgICAgIDxhcHAtcGhvbmUtbnVtYmVyIFtmb3JtXT1cInN1YkZvcm1cIiBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCIgW25hbWVdPVwic2NoZW1lW2tleUZpZWxkXVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cInN1YkZvcm0udmFsdWUuX19yb3dJRHx0b0FueVwiIFtzaG93TGFiZWxdPVwiZmFsc2VcIiBbc2hvd1ZhbGlkYXRpb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbkljb25cIiBbc3RhY2tlZF09XCJ0cnVlXCIgW2NvdW50cnlDb2RlM109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2VsbENvdW50cnlDb2RlM3Nbc2NoZW1lLmdldENvdW50cnlDb2RlM0tleStzaV0gfHwgc2NoZW1lLmNvdW50cnlDb2RlM1xuICAgICAgICAgICAgICAgICAgICAgIFwiIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtZS5kaXNhYmxlZElmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnVuY3Rpb25DYWxsZXIyOiBzdWJGb3JtLnZhbHVlOnNjaGVtZVtrZXlGaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICBcIiAjaW5wdXRUYWc+XG4gICAgICAgICAgICAgIDwvYXBwLXBob25lLW51bWJlcj5cbiAgICAgICAgICAgICAgPGFwcC12YWxpZGF0aW9uLW1lc3NhZ2UgW2lucHV0XT1cImlucHV0VGFnXCIgLz5cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAnYXV0b2NvbXBsZXRlJykge1xuXG4gICAgICAgICAgICAgIDxhcHAtYXV0b2NvbXBsZXRlIFtmb3JtXT1cInN1YkZvcm1cIiBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCIgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJzdWJGb3JtLnZhbHVlLl9fcm93SUR8dG9BbnlcIiBbYXV0b1BpY2tWYWx1ZUZpZWxkXT1cInRydWVcIiBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGVcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZVtrZXlGaWVsZHx0b0FueV1cIiBbb3B0aW9uRm9ybWF0dGVyXT1cInNjaGVtZS5vcHRpb25Gb3JtYXR0ZXJcIiBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJ0cnVlXCIgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIiAobWNoYW5nZSk9XCJhZGRDZWxsT3B0aW9uKHNjaGVtZSxzdWJGb3JtLCRldmVudCxzaSlcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWUub3B0aW9uc3x8c2NoZW1hTWFwW3NjaGVtZS5maWVsZHx0b0FueV0/Lm9wdGlvbnN8fGNlbGxPcHRpb25zW3NjaGVtZS5vcHRpb25zS2V5K3NpXVxuICAgICAgICAgICAgICAgICAgICAgIFwiIFtoaW50XT1cInNjaGVtZS5oaW50XCIgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1lLmRpc2FibGVkSWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmdW5jdGlvbkNhbGxlcjI6IHN1YkZvcm0udmFsdWU6c2NoZW1lW2tleUZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgIFwiICNpbnB1dFRhZz48L2FwcC1hdXRvY29tcGxldGU+XG4gICAgICAgICAgICAgIDxhcHAtdmFsaWRhdGlvbi1tZXNzYWdlIFtpbnB1dF09XCJpbnB1dFRhZ1wiIC8+XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAZGVmYXVsdCB7XG5cbiAgICAgICAgICAgICAgPGFwcC1pbnB1dC1iYXNpYyAjaW5wdXRUYWcgW2RlY2ltYWxQb2ludHNdPVwic2NoZW1lLmRlY2ltYWxQb2ludHNcIiBbZm9ybV09XCJzdWJGb3JtXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwic3ViRm9ybS52YWx1ZS5fX3Jvd0lEfHRvQW55XCIgW2hpbnRdPVwic2NoZW1lLmhpbnRcIiBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxGaWVsZF09XCJzY2hlbWUubGFiZWxGaWVsZFwiIFthdXRvUGlja1ZhbHVlRmllbGRdPVwidHJ1ZVwiIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJzY2hlbWUubWF4XCIgW21pbl09XCJzY2hlbWUubWluXCIgW25hbWVdPVwic2NoZW1lW2tleUZpZWxkfHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCIgW3BsYWNlaG9sZGVyXT1cInNjaGVtZS5wbGFjZWhvbGRlclwiIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25cIiBbc2hvd1ZhbGlkYXRpb25JY29uXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbkljb25cIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cInNjaGVtZS50eXBlXCIgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgIChtY2hhbmdlKT1cImFkZENlbGxPcHRpb24oc2NoZW1lLHN1YkZvcm0sJGV2ZW50LHNpKVwiIFtvcHRpb25zXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWUub3B0aW9uc3x8c2NoZW1hTWFwW3NjaGVtZS5maWVsZHx0b0FueV0/Lm9wdGlvbnN8fGNlbGxPcHRpb25zW3NjaGVtZS5vcHRpb25zS2V5K3NpXVxuICAgICAgICAgICAgICAgICAgICAgIFwiIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtZS5kaXNhYmxlZElmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnVuY3Rpb25DYWxsZXIyOiBzdWJGb3JtLnZhbHVlOnNjaGVtZVtrZXlGaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICBcIiAvPlxuICAgICAgICAgICAgICA8YXBwLXZhbGlkYXRpb24tbWVzc2FnZSBbaW5wdXRdPVwiaW5wdXRUYWdcIiAvPlxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIEBpZiAoc2hvd0VkaXRSb3cpIHtcblxuICAgICAgICAgICAgICAgIDxhcHAtYnRuIGdyb3VwPVwiZWRpdFwiIChtY2xpY2spPVwiZWRpdFJvdyhzaSlcIj48L2FwcC1idG4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxhcHAtYnRuIGdyb3VwPVwiZGVsZXRlXCIgKG1jbGljayk9XCJyZW1vdmVSb3coc2kpXCI+PC9hcHAtYnRuPlxuICAgICAgICAgICAgICAgIEBpZiAoc2hvd0FkZFJvdykge1xuXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxhcHAtYnRuIGdyb3VwPVwiYWRkXCIgKG1jbGljayk9XCJhZGRSb3coc2kgKyAxKVwiPjwvYXBwLWJ0bj5cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgfVxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDxtYXQtcGFnaW5hdG9yICpuZ0lmPVwiYmF0Y2hVcGxvYWRcIiBbbGVuZ3RoXT1cImZvcm0/Lmxlbmd0aFwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZU9wdGlvbnNbMF1cIlxuICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICAgICAgKHBhZ2UpPVwib3BlblBhZ2UoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgcGFnZVwiPlxuICAgIDwvbWF0LXBhZ2luYXRvcj4gLS0+XG4gICAgPCEtLSA8bWF0LXBhZ2luYXRvciAgW2xlbmd0aF09XCJ0aGlcIiBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM+XG4gIDwvbWF0LXBhZ2luYXRvcj4gLS0+XG4gIDwvZGl2PlxuICBAaWYgKHN1Ym1pdEZ1bmMpIHtcbiAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBtdC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIGQtZmxleFwiPlxuICAgICAgPGFwcC1idG4gKG1jbGljayk9XCJzdWJtaXQoKVwiIHRleHQ9XCJTdWJtaXRcIiBbZm9ybV09XCJmb3JtXCIgdHlwZT1cInNlY29uZGFyeVwiIGljb249XCJzYXZlXCI+XG4gICAgICA8L2FwcC1idG4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9XG48L2xvYWRlcj4iXX0=
|
|
@@ -6,10 +6,10 @@ export class InputTableService {
|
|
|
6
6
|
return arrVal.map(x => ({}));
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputTableService, providedIn: 'root' }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: InputTableService, decorators: [{
|
|
13
13
|
type: Injectable,
|
|
14
14
|
args: [{
|
|
15
15
|
providedIn: 'root'
|
|
@@ -24,10 +24,10 @@ export class LabelComponent {
|
|
|
24
24
|
this.iconPosition = 'left';
|
|
25
25
|
}
|
|
26
26
|
ngOnInit() { }
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LabelComponent, deps: [{ token: i1.BtnService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: LabelComponent, isStandalone: true, selector: "app-label", inputs: { animate: "animate", coloured: "coloured", hint: "hint", light: "light", mclass: "mclass", showHelpIcon: "showHelpIcon", small: "small", stacked: "stacked", text: "text", xsmall: "xsmall", _icon: ["icon", "_icon"] }, ngImport: i0, template: "<div class=\"d-flex align-items-center\">\n @if (showHelpIcon && hint) {\n <i class=\"fa fa-info-circle me-2 text-primary\" [matTooltip]=\"hint | appTranslate | async\"></i>\n }\n @if (iconPosition == 'left') {\n <span>\n @if (icon) {\n <fa-icon [icon]=\"icon\"></fa-icon>\n }\n @if (customIcon) {\n <i class=\"pe-1\"></i>\n }\n </span>\n }\n <div\n class=\"{{ mclass }} lbl\"\n [ngClass]=\"{ 'fw-bold': !light, small, small1: xsmall, 'text-primary': coloured }\"\n [innerHTML]=\"text | appTranslate | async\"\n [matTooltip]=\"hint | appTranslate | async\"\n [matTooltipDisabled]=\"!hint || showHelpIcon\"></div>\n @if (iconPosition == 'right') {\n <span class=\"ps-1\">\n @if (icon) {\n <fa-icon [icon]=\"icon\"></fa-icon>\n }\n </span>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LabelComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{ selector: 'app-label', standalone: true, imports: [NgIf, MatTooltipModule, FontAwesomeModule, NgClass, AsyncPipe, SDKTranslatePipe], template: "<div class=\"d-flex align-items-center\">\n @if (showHelpIcon && hint) {\n <i class=\"fa fa-info-circle me-2 text-primary\" [matTooltip]=\"hint | appTranslate | async\"></i>\n }\n @if (iconPosition == 'left') {\n <span>\n @if (icon) {\n <fa-icon [icon]=\"icon\"></fa-icon>\n }\n @if (customIcon) {\n <i class=\"pe-1\"></i>\n }\n </span>\n }\n <div\n class=\"{{ mclass }} lbl\"\n [ngClass]=\"{ 'fw-bold': !light, small, small1: xsmall, 'text-primary': coloured }\"\n [innerHTML]=\"text | appTranslate | async\"\n [matTooltip]=\"hint | appTranslate | async\"\n [matTooltipDisabled]=\"!hint || showHelpIcon\"></div>\n @if (iconPosition == 'right') {\n <span class=\"ps-1\">\n @if (icon) {\n <fa-icon [icon]=\"icon\"></fa-icon>\n }\n </span>\n }\n</div>\n" }]
|
|
33
33
|
}], ctorParameters: () => [{ type: i1.BtnService }], propDecorators: { animate: [{
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class BlinkingBlocksComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BlinkingBlocksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: BlinkingBlocksComponent, isStandalone: true, selector: "blinking-blocks", ngImport: i0, template: "<div class=\"uniformity-case\">\n <div class=\"lds-grid\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>", styles: [".lds-grid{display:inline-block;position:relative;width:80px;height:80px}.lds-grid div{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--primary);animation:lds-grid 1.2s linear infinite}.lds-grid div:nth-child(1){top:8px;left:8px;animation-delay:0s}.lds-grid div:nth-child(2){top:8px;left:32px;animation-delay:-.4s}.lds-grid div:nth-child(3){top:8px;left:56px;animation-delay:-.8s}.lds-grid div:nth-child(4){top:32px;left:8px;animation-delay:-.4s}.lds-grid div:nth-child(5){top:32px;left:32px;animation-delay:-.8s}.lds-grid div:nth-child(6){top:32px;left:56px;animation-delay:-1.2s}.lds-grid div:nth-child(7){top:56px;left:8px;animation-delay:-.8s}.lds-grid div:nth-child(8){top:56px;left:32px;animation-delay:-1.2s}.lds-grid div:nth-child(9){top:56px;left:56px;animation-delay:-1.6s}@keyframes lds-grid{0%,to{opacity:1}50%{opacity:.5}}.uniformity-case{height:200px;display:flex;align-items:center;justify-content:center}\n"] }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BlinkingBlocksComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'blinking-blocks', standalone: true, template: "<div class=\"uniformity-case\">\n <div class=\"lds-grid\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>", styles: [".lds-grid{display:inline-block;position:relative;width:80px;height:80px}.lds-grid div{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--primary);animation:lds-grid 1.2s linear infinite}.lds-grid div:nth-child(1){top:8px;left:8px;animation-delay:0s}.lds-grid div:nth-child(2){top:8px;left:32px;animation-delay:-.4s}.lds-grid div:nth-child(3){top:8px;left:56px;animation-delay:-.8s}.lds-grid div:nth-child(4){top:32px;left:8px;animation-delay:-.4s}.lds-grid div:nth-child(5){top:32px;left:32px;animation-delay:-.8s}.lds-grid div:nth-child(6){top:32px;left:56px;animation-delay:-1.2s}.lds-grid div:nth-child(7){top:56px;left:8px;animation-delay:-.8s}.lds-grid div:nth-child(8){top:56px;left:32px;animation-delay:-1.2s}.lds-grid div:nth-child(9){top:56px;left:56px;animation-delay:-1.6s}@keyframes lds-grid{0%,to{opacity:1}50%{opacity:.5}}.uniformity-case{height:200px;display:flex;align-items:center;justify-content:center}\n"] }]
|
|
10
10
|
}] });
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class BouncingBallComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BouncingBallComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: BouncingBallComponent, isStandalone: true, selector: "bouncing-ball", ngImport: i0, template: "<div class=\"loadingio-spinner-ball-v8xpq3ots7\">\n <div class=\"ldio-6l1tov9f9ne\">\n <div></div>\n </div>\n</div>", styles: ["@keyframes ldio-6l1tov9f9ne{0%,to{animation-timing-function:cubic-bezier(.45,0,.9,.55)}0%{transform:translate(0)}50%{transform:translateY(108px);animation-timing-function:cubic-bezier(0,.45,.55,.9)}to{transform:translate(0)}}.ldio-6l1tov9f9ne div{position:absolute;width:52px;height:52px;border-radius:50%;background:var(--primary);left:74px;top:20px;animation:ldio-6l1tov9f9ne 1s linear infinite}.loadingio-spinner-ball-v8xpq3ots7{width:200px;height:200px;display:inline-block;overflow:hidden;background:transparent}.ldio-6l1tov9f9ne{width:100%;height:100%;position:relative;transform:translateZ(0) scale(1);backface-visibility:hidden;transform-origin:0 0}.ldio-6l1tov9f9ne div{box-sizing:content-box}\n"] }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BouncingBallComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'bouncing-ball', standalone: true, template: "<div class=\"loadingio-spinner-ball-v8xpq3ots7\">\n <div class=\"ldio-6l1tov9f9ne\">\n <div></div>\n </div>\n</div>", styles: ["@keyframes ldio-6l1tov9f9ne{0%,to{animation-timing-function:cubic-bezier(.45,0,.9,.55)}0%{transform:translate(0)}50%{transform:translateY(108px);animation-timing-function:cubic-bezier(0,.45,.55,.9)}to{transform:translate(0)}}.ldio-6l1tov9f9ne div{position:absolute;width:52px;height:52px;border-radius:50%;background:var(--primary);left:74px;top:20px;animation:ldio-6l1tov9f9ne 1s linear infinite}.loadingio-spinner-ball-v8xpq3ots7{width:200px;height:200px;display:inline-block;overflow:hidden;background:transparent}.ldio-6l1tov9f9ne{width:100%;height:100%;position:relative;transform:translateZ(0) scale(1);backface-visibility:hidden;transform-origin:0 0}.ldio-6l1tov9f9ne div{box-sizing:content-box}\n"] }]
|
|
10
10
|
}] });
|
package/esm2022/lib/Shared/components/loader/loader-animations/fading-bars/fading-bars.component.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class FadingBarsComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FadingBarsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: FadingBarsComponent, isStandalone: true, selector: "fading-bars", ngImport: i0, template: "<div class=\"loadingio-spinner-bars-r73bo7horrj\">\n <div class=\"fading-bars-case\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div> ", styles: ["@keyframes fading-bars-case{0%{opacity:1;height:40px;width:20px;top:80px}50%{opacity:.5;border-radius:var(--border-radius);width:10px;height:80px;top:60px}to{opacity:1;height:40px;width:20px;top:80px}}.fading-bars-case div{position:absolute;width:20px;height:80px;animation:fading-bars-case 1s cubic-bezier(.5,0,.5,1) infinite}.fading-bars-case div:nth-child(1){transform:translate(30px);background:var(--primary);animation-delay:-.6s}.fading-bars-case div:nth-child(2){transform:translate(70px);background:var(--primary);animation-delay:-.4s}.fading-bars-case div:nth-child(3){transform:translate(110px);background:var(--primary);animation-delay:-.2s}.fading-bars-case div:nth-child(4){transform:translate(150px);background:var(--primary);animation-delay:-1s}.loadingio-spinner-bars-r73bo7horrj{width:200px;height:200px;display:inline-block;overflow:hidden;background:transparent}.fading-bars-case{width:100%;height:100%;position:relative;transform:translateZ(0) scale(1);backface-visibility:hidden;transform-origin:0 0}.fading-bars-case div{box-sizing:content-box}\n"] }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FadingBarsComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'fading-bars', standalone: true, template: "<div class=\"loadingio-spinner-bars-r73bo7horrj\">\n <div class=\"fading-bars-case\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div> ", styles: ["@keyframes fading-bars-case{0%{opacity:1;height:40px;width:20px;top:80px}50%{opacity:.5;border-radius:var(--border-radius);width:10px;height:80px;top:60px}to{opacity:1;height:40px;width:20px;top:80px}}.fading-bars-case div{position:absolute;width:20px;height:80px;animation:fading-bars-case 1s cubic-bezier(.5,0,.5,1) infinite}.fading-bars-case div:nth-child(1){transform:translate(30px);background:var(--primary);animation-delay:-.6s}.fading-bars-case div:nth-child(2){transform:translate(70px);background:var(--primary);animation-delay:-.4s}.fading-bars-case div:nth-child(3){transform:translate(110px);background:var(--primary);animation-delay:-.2s}.fading-bars-case div:nth-child(4){transform:translate(150px);background:var(--primary);animation-delay:-1s}.loadingio-spinner-bars-r73bo7horrj{width:200px;height:200px;display:inline-block;overflow:hidden;background:transparent}.fading-bars-case{width:100%;height:100%;position:relative;transform:translateZ(0) scale(1);backface-visibility:hidden;transform-origin:0 0}.fading-bars-case div{box-sizing:content-box}\n"] }]
|
|
10
10
|
}] });
|