@ardium-ui/ui 4.2.3 → 4.4.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/_internal/form-field-component.mjs +1 -1
- package/esm2022/lib/_internal/selectable-list-component.mjs +1 -1
- package/esm2022/lib/calendar/calendar.component.mjs +20 -7
- package/esm2022/lib/calendar/calendar.defaults.mjs +3 -3
- package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +4 -4
- package/esm2022/lib/form-field/form-field-base.mjs +53 -0
- package/esm2022/lib/form-field/form-field-child.token.mjs +3 -0
- package/esm2022/lib/form-field/form-field-native-inputs.mjs +80 -0
- package/esm2022/lib/form-field/form-field.component.mjs +7 -28
- package/esm2022/lib/form-field/form-field.defaults.mjs +3 -1
- package/esm2022/lib/form-field/form-field.module.mjs +6 -1
- package/esm2022/lib/form-field/horizontal-form-field.component.mjs +7 -28
- package/esm2022/lib/form-field/index.mjs +2 -1
- package/esm2022/lib/form-field/label/label.component.mjs +10 -4
- package/esm2022/lib/inputs/date-input/date-input.component.mjs +4 -3
- package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +4 -3
- package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +4 -3
- package/esm2022/lib/inputs/input/input.component.mjs +4 -4
- package/esm2022/lib/inputs/number-input/number-input.component.mjs +4 -3
- package/esm2022/lib/inputs/password-input/password-input.component.mjs +4 -3
- package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +4 -4
- package/esm2022/lib/radio/radio-group.component.mjs +4 -3
- package/esm2022/lib/segment/segment.component.mjs +4 -4
- package/esm2022/lib/select/select.component.mjs +4 -3
- package/fesm2022/ardium-ui-ui.mjs +163 -53
- package/fesm2022/ardium-ui-ui.mjs.map +1 -1
- package/lib/_internal/form-field-component.d.ts +2 -1
- package/lib/_internal/selectable-list-component.d.ts +2 -1
- package/lib/calendar/calendar.component.d.ts +2 -2
- package/lib/calendar/calendar.defaults.d.ts +2 -2
- package/lib/form-field/form-field-base.d.ts +22 -0
- package/lib/form-field/form-field-child.token.d.ts +8 -0
- package/lib/form-field/form-field-native-inputs.d.ts +22 -0
- package/lib/form-field/form-field.component.d.ts +3 -15
- package/lib/form-field/form-field.defaults.d.ts +2 -0
- package/lib/form-field/form-field.module.d.ts +8 -7
- package/lib/form-field/horizontal-form-field.component.d.ts +3 -15
- package/lib/form-field/index.d.ts +1 -0
- package/lib/form-field/label/label.component.d.ts +4 -1
- package/package.json +1 -1
- package/prebuilt-themes/default/buttons/button.css +2 -2
- package/prebuilt-themes/default/form-field.css +13 -0
- package/prebuilt-themes/default/form-field.css.map +1 -1
- package/themes/default/buttons/button.scss +2 -2
- package/themes/default/form-field.scss +16 -0
|
@@ -3,6 +3,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
3
3
|
import { coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
|
|
4
4
|
import { isAnyString, isDefined } from 'simple-bool';
|
|
5
5
|
import { _FormFieldComponentBase } from '../../_internal/form-field-component';
|
|
6
|
+
import { ARD_FORM_FIELD_CONTROL } from '../../form-field/form-field-child.token';
|
|
6
7
|
import { ARD_PASSWORD_INPUT_DEFAULTS } from './password-input.defaults';
|
|
7
8
|
import { ArdPasswordInputPlaceholderTemplateDirective, ArdPasswordInputPrefixTemplateDirective, ArdPasswordInputRevealButtonTemplateDirective, ArdPasswordInputSuffixTemplateDirective, } from './password-input.directives';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
@@ -141,7 +142,7 @@ export class ArdiumPasswordInputComponent extends _FormFieldComponentBase {
|
|
|
141
142
|
multi: true,
|
|
142
143
|
},
|
|
143
144
|
{
|
|
144
|
-
provide:
|
|
145
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
145
146
|
useExisting: ArdiumPasswordInputComponent,
|
|
146
147
|
},
|
|
147
148
|
], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdPasswordInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdPasswordInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "placeholderTemplate", first: true, predicate: ArdPasswordInputPlaceholderTemplateDirective, descendants: true, isSignal: true }, { propertyName: "revealTemplate", first: true, predicate: ArdPasswordInputRevealButtonTemplateDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "textInputEl", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [hasError]=\"hasError()\"\r\n [isSuccess]=\"isSuccess()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n>\r\n <div\r\n class=\"ard-password-input\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-has-value]=\"value()\"\r\n (click)=\"focus()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n [type]=\"!revealable() || !revealed() ? 'password' : 'text'\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (change)=\"onChange($event)\"\r\n (copy)=\"onCopy($event)\"\r\n [class.ard-revealed]=\"revealable() && revealed()\"\r\n />\r\n </div>\r\n\r\n @if (revealable()) {\r\n <button\r\n class=\"ard-reveal-button\"\r\n type=\"button\"\r\n (click)=\"!holdToReveal() && toggleReveal()\"\r\n (mousedown)=\"holdToReveal() && revealed.set(true)\"\r\n (mouseup)=\"holdToReveal() && revealed.set(false)\"\r\n >\r\n <ng-template\r\n #defaultRevealTemplate\r\n let-revealed\r\n >\r\n <ard-icon [icon]=\"revealed ? 'visibility' : 'visibility_off'\"></ard-icon>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"revealTemplate()?.template || defaultRevealTemplate\"\r\n [ngTemplateOutletContext]=\"revealButtonContext()\"\r\n />\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isSuccess", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -155,7 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
155
156
|
multi: true,
|
|
156
157
|
},
|
|
157
158
|
{
|
|
158
|
-
provide:
|
|
159
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
159
160
|
useExisting: ArdiumPasswordInputComponent,
|
|
160
161
|
},
|
|
161
162
|
], template: "<ard-form-field-frame\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [hasError]=\"hasError()\"\r\n [isSuccess]=\"isSuccess()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n>\r\n <div\r\n class=\"ard-password-input\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-has-value]=\"value()\"\r\n (click)=\"focus()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n [type]=\"!revealable() || !revealed() ? 'password' : 'text'\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (change)=\"onChange($event)\"\r\n (copy)=\"onCopy($event)\"\r\n [class.ard-revealed]=\"revealable() && revealed()\"\r\n />\r\n </div>\r\n\r\n @if (revealable()) {\r\n <button\r\n class=\"ard-reveal-button\"\r\n type=\"button\"\r\n (click)=\"!holdToReveal() && toggleReveal()\"\r\n (mousedown)=\"holdToReveal() && revealed.set(true)\"\r\n (mouseup)=\"holdToReveal() && revealed.set(false)\"\r\n >\r\n <ng-template\r\n #defaultRevealTemplate\r\n let-revealed\r\n >\r\n <ard-icon [icon]=\"revealed ? 'visibility' : 'visibility_off'\"></ard-icon>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"revealTemplate()?.template || defaultRevealTemplate\"\r\n [ngTemplateOutletContext]=\"revealButtonContext()\"\r\n />\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n" }]
|
|
@@ -163,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
163
164
|
type: Inject,
|
|
164
165
|
args: [ARD_PASSWORD_INPUT_DEFAULTS]
|
|
165
166
|
}] }] });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUdOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHL0UsT0FBTyxFQUFFLDJCQUEyQixFQUE0QixNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sRUFDTCw0Q0FBNEMsRUFDNUMsdUNBQXVDLEVBQ3ZDLDZDQUE2QyxFQUM3Qyx1Q0FBdUMsR0FDeEMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFxQnJDLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSx1QkFBdUI7SUFFdkUsWUFBaUQsUUFBa0M7UUFDakYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR2xCLGNBQWM7UUFDTCxnQkFBVyxHQUFHLFNBQVMsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFPbkUsZ0JB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RUFpRUE7OzRGRGpCYSw0QkFBNEI7a0JBbEJ4QyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDOzRCQUMzRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0Y7OzBCQUlZLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbmplY3QsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbnB1dCxcclxuICBtb2RlbCxcclxuICB2aWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgaXNBbnlTdHJpbmcsIGlzRGVmaW5lZCB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvZm9ybS1maWVsZC1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRWxlbWVudEFwcGVhcmFuY2UsIEZvcm1FbGVtZW50VmFyaWFudCB9IGZyb20gJy4uLy4uL3R5cGVzL3RoZW1pbmcudHlwZXMnO1xyXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xyXG5pbXBvcnQgeyBBUkRfUEFTU1dPUkRfSU5QVVRfREVGQVVMVFMsIEFyZFBhc3N3b3JkSW5wdXREZWZhdWx0cyB9IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQuZGVmYXVsdHMnO1xyXG5pbXBvcnQge1xyXG4gIEFyZFBhc3N3b3JkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZFBhc3N3b3JkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkUGFzc3dvcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG59IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQuZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IFBhc3N3b3JkSW5wdXRSZXZlYWxCdXR0b25Db250ZXh0IH0gZnJvbSAnLi9wYXNzd29yZC1pbnB1dC50eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FyZC1wYXNzd29yZC1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1QYXNzd29yZElucHV0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IEFyZGl1bVBhc3N3b3JkSW5wdXRDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1QYXNzd29yZElucHV0Q29tcG9uZW50IGV4dGVuZHMgX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRQYXNzd29yZElucHV0RGVmYXVsdHM7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBUkRfUEFTU1dPUkRfSU5QVVRfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRQYXNzd29yZElucHV0RGVmYXVsdHMpIHtcclxuICAgIHN1cGVyKGRlZmF1bHRzKTtcclxuICB9XHJcblxyXG4gIC8vISBpbnB1dCB2aWV3XHJcbiAgcmVhZG9ubHkgdGV4dElucHV0RWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj4oJ3RleHRJbnB1dCcpO1xyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zZXRJbnB1dEF0dHJpYnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5wbGFjZWhvbGRlcik7XHJcbiAgcmVhZG9ubHkgaW5wdXRJZCA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KCk7XHJcblxyXG4gIC8vISBwcmVmaXggJiBzdWZmaXhcclxuICByZWFkb25seSBwcmVmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRQYXNzd29yZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUpO1xyXG4gIHJlYWRvbmx5IHN1ZmZpeFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIC8vISBwbGFjZWhvbGRlclxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkUGFzc3dvcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUpO1xyXG5cclxuICByZWFkb25seSBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMucGxhY2Vob2xkZXIoKSAmJiAhdGhpcy52YWx1ZSgpKTtcclxuXHJcbiAgLy8hIHJldmVhbGluZ1xyXG4gIHJlYWRvbmx5IHJldmVhbGFibGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLnJldmVhbGFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuICByZWFkb25seSBob2xkVG9SZXZlYWwgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmhvbGRUb1JldmVhbCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBhdXRvSGlkZVRpbWVvdXRNcyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odGhpcy5fREVGQVVMVFMuYXV0b0hpZGVUaW1lb3V0TXMsIHtcclxuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5hdXRvSGlkZVRpbWVvdXRNcyksXHJcbiAgfSk7XHJcblxyXG4gIHJlYWRvbmx5IHJldmVhbGVkID0gbW9kZWw8Ym9vbGVhbj4odGhpcy5fREVGQVVMVFMucmV2ZWFsZWQpO1xyXG5cclxuICBwcml2YXRlIF9oaWRlVGltZW91dDogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcclxuICB0b2dnbGVSZXZlYWwobmV3U3RhdGUgPSAhdGhpcy5yZXZlYWxlZCgpKTogdm9pZCB7XHJcbiAgICB0aGlzLnJldmVhbGVkLnNldChuZXdTdGF0ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2hpZGVUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZW91dCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aW1lb3V0ID0gdGhpcy5hdXRvSGlkZVRpbWVvdXRNcygpO1xyXG4gICAgaWYgKHRpbWVvdXQgJiYgbmV3U3RhdGUpIHtcclxuICAgICAgdGhpcy5faGlkZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmV2ZWFsZWQuc2V0KGZhbHNlKSwgdGltZW91dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICBpZiAodGhpcy5faGlkZVRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHJldmVhbFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRSZXZlYWxCdXR0b25UZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIHJlYWRvbmx5IHJldmVhbEJ1dHRvbkNvbnRleHQgPSBjb21wdXRlZChcclxuICAgICgpOiBQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uQ29udGV4dCA9PiAoe1xyXG4gICAgICAkaW1wbGljaXQ6IHRoaXMucmV2ZWFsZWQoKSxcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8Rm9ybUVsZW1lbnRBcHBlYXJhbmNlPih0aGlzLl9ERUZBVUxUUy5hcHBlYXJhbmNlKTtcclxuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcclxuXHJcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuY29tcGFjdCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZCgoKSA9PlxyXG4gICAgW1xyXG4gICAgICBgYXJkLWFwcGVhcmFuY2UtJHt0aGlzLmFwcGVhcmFuY2UoKX1gLFxyXG4gICAgICBgYXJkLXZhcmlhbnQtJHt0aGlzLnZhcmlhbnQoKX1gLFxyXG4gICAgICB0aGlzLmNvbXBhY3QoKSA/ICdhcmQtY29tcGFjdCcgOiAnJyxcclxuICAgICAgdGhpcy5yZXZlYWxhYmxlKCkgPyAnYXJkLXJldmVhbGFibGUnIDogJycsXHJcbiAgICBdLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIC8vISBvdGhlciBpbnB1dHNcclxuICByZWFkb25seSBpbnB1dEF0dHJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4odGhpcy5fREVGQVVMVFMuaW5wdXRBdHRycyk7XHJcblxyXG4gIC8vISBjb250cm9sIHZhbHVlIGFjY2Vzc29yJ3Mgd3JpdGUgdmFsdWUgaW1wbGVtZW50YXRpb25cclxuICB3cml0ZVZhbHVlKHY6IGFueSkge1xyXG4gICAgaWYgKCFpc0FueVN0cmluZyh2KSAmJiBpc0RlZmluZWQodikpIHtcclxuICAgICAgLy93YXJuIHdoZW4gdXNpbmcgbm9uLXN0cmluZy9ub24tbnVsbCB2YWx1ZVxyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYEFSRC1XQTAwMjA6IFRyeWluZyB0byBzZXQgPGFyZC1wYXNzd29yZC1pbnB1dD4ncyB2YWx1ZSB0byBcIiR7dn1cIiAob2YgdHlwZSAke3R5cGVvZiB2fSksIGV4cGVjdGVkIHN0cmluZyBvciBudWxsLmBcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICAgIC8vbm9ybWFsaXplIHRoZSB2YWx1ZVxyXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG9sZFZhbCA9IHRoaXMudmFsdWUoKTtcclxuICAgIHRoaXMudmFsdWUuc2V0KHYpO1xyXG4gICAgcmV0dXJuIG9sZFZhbCAhPT0gdjtcclxuICB9XHJcbiAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xyXG4gIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8TnVsbGFibGU8c3RyaW5nPj4oKTtcclxuXHJcbiAgLy8hIGV2ZW50IGhhbmRsZXJzXHJcbiAgb25JbnB1dChuZXdWYWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWVIYXNDaGFuZ2VkID0gdGhpcy5fd3JpdGVWYWx1ZShuZXdWYWwpO1xyXG4gICAgaWYgKCF2YWx1ZUhhc0NoYW5nZWQpIHJldHVybjtcclxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWUoKTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gIH1cclxuICAvL2ZvY3VzLCBibHVyLCBjaGFuZ2VcclxuICBvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gY29weVxyXG4gIG9uQ29weShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRleHRJbnB1dEVsID0gdGhpcy50ZXh0SW5wdXRFbCgpO1xyXG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWUoKTtcclxuICAgIGlmIChcclxuICAgICAgdiAmJlxyXG4gICAgICB0ZXh0SW5wdXRFbCAmJlxyXG4gICAgICAvL2RvZXMgdGhlIHNlbGVjdGlvbiBjb3ZlciB0aGUgZW50aXJlIGlucHV0XHJcbiAgICAgICgodGV4dElucHV0RWwubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gMCAmJlxyXG4gICAgICAgIHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kID09PSB0ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkgfHxcclxuICAgICAgICAvL29yIGlzIHplcm8td2lkZVxyXG4gICAgICAgIHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kKVxyXG4gICAgKSB7XHJcbiAgICAgIGV2ZW50LmNsaXBib2FyZERhdGE/LnNldERhdGEoJ3RleHQvcGxhaW4nLCB2KTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8hIGhlbHBlcnNcclxuICBwcm90ZWN0ZWQgX3NldElucHV0QXR0cmlidXRlcygpIHtcclxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgYXV0b2NvcnJlY3Q6ICdvZmYnLFxyXG4gICAgICBhdXRvY2FwaXRhbGl6ZTogJ29mZicsXHJcbiAgICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXHJcbiAgICAgIHRhYmluZGV4OiBTdHJpbmcodGhpcy50YWJJbmRleCgpKSxcclxuICAgICAgLi4udGhpcy5pbnB1dEF0dHJzKCksXHJcbiAgICB9O1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpKSB7XHJcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShrZXksIFN0cmluZyhhdHRyaWJ1dGVzW2tleV0pKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFyZC1mb3JtLWZpZWxkLWZyYW1lXHJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcclxuICBbdmFyaWFudF09XCJ2YXJpYW50KClcIlxyXG4gIFtjb21wYWN0XT1cImNvbXBhY3QoKVwiXHJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWQoKVwiXHJcbiAgW2hhc0Vycm9yXT1cImhhc0Vycm9yKClcIlxyXG4gIFtpc1N1Y2Nlc3NdPVwiaXNTdWNjZXNzKClcIlxyXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXHJcbiAgW3N1ZmZpeFRlbXBsYXRlXT1cInN1ZmZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLXBhc3N3b3JkLWlucHV0XCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcclxuICAgIFtjbGFzcy5hcmQtaGFzLXZhbHVlXT1cInZhbHVlKClcIlxyXG4gICAgKGNsaWNrKT1cImZvY3VzKClcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKCkpIHtcclxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICN0ZXh0SW5wdXRcclxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICAgIFt0eXBlXT1cIiFyZXZlYWxhYmxlKCkgfHwgIXJldmVhbGVkKCkgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcclxuICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4KClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQodGV4dElucHV0LnZhbHVlKVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvcHkpPVwib25Db3B5KCRldmVudClcIlxyXG4gICAgICAgIFtjbGFzcy5hcmQtcmV2ZWFsZWRdPVwicmV2ZWFsYWJsZSgpICYmIHJldmVhbGVkKClcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChyZXZlYWxhYmxlKCkpIHtcclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYXJkLXJldmVhbC1idXR0b25cIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCIhaG9sZFRvUmV2ZWFsKCkgJiYgdG9nZ2xlUmV2ZWFsKClcIlxyXG4gICAgICAgIChtb3VzZWRvd24pPVwiaG9sZFRvUmV2ZWFsKCkgJiYgcmV2ZWFsZWQuc2V0KHRydWUpXCJcclxuICAgICAgICAobW91c2V1cCk9XCJob2xkVG9SZXZlYWwoKSAmJiByZXZlYWxlZC5zZXQoZmFsc2UpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgI2RlZmF1bHRSZXZlYWxUZW1wbGF0ZVxyXG4gICAgICAgICAgbGV0LXJldmVhbGVkXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFyZC1pY29uIFtpY29uXT1cInJldmVhbGVkID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJ1wiPjwvYXJkLWljb24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZXZlYWxUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0UmV2ZWFsVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInJldmVhbEJ1dHRvbkNvbnRleHQoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvYXJkLWZvcm0tZmllbGQtZnJhbWU+XHJcbiJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUdOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHakYsT0FBTyxFQUFFLDJCQUEyQixFQUE0QixNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sRUFDTCw0Q0FBNEMsRUFDNUMsdUNBQXVDLEVBQ3ZDLDZDQUE2QyxFQUM3Qyx1Q0FBdUMsR0FDeEMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFxQnJDLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSx1QkFBdUI7SUFFdkUsWUFBaUQsUUFBa0M7UUFDakYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR2xCLGNBQWM7UUFDTCxn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Q0FBdUMsc0dBR2xDLDRDQUE0QyxpR0FrQ2pELDZDQUE2QyxpTkN6R3RGLHlxRUFpRUE7OzRGRGhCYSw0QkFBNEI7a0JBbEJ4QyxTQUFTOytCQUNFLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDOzRCQUMzRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0Y7OzBCQUlZLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbmplY3QsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbnB1dCxcclxuICBtb2RlbCxcclxuICB2aWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgaXNBbnlTdHJpbmcsIGlzRGVmaW5lZCB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvZm9ybS1maWVsZC1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBUkRfRk9STV9GSUVMRF9DT05UUk9MIH0gZnJvbSAnLi4vLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLWNoaWxkLnRva2VuJztcclxuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcclxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy91dGlsaXR5LnR5cGVzJztcclxuaW1wb3J0IHsgQVJEX1BBU1NXT1JEX0lOUFVUX0RFRkFVTFRTLCBBcmRQYXNzd29yZElucHV0RGVmYXVsdHMgfSBmcm9tICcuL3Bhc3N3b3JkLWlucHV0LmRlZmF1bHRzJztcclxuaW1wb3J0IHtcclxuICBBcmRQYXNzd29yZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRQYXNzd29yZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkUGFzc3dvcmRJbnB1dFJldmVhbEJ1dHRvblRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZFBhc3N3b3JkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxufSBmcm9tICcuL3Bhc3N3b3JkLWlucHV0LmRpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uQ29udGV4dCB9IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQudHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtcGFzc3dvcmQtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtUGFzc3dvcmRJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVJEX0ZPUk1fRklFTERfQ09OVFJPTCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IEFyZGl1bVBhc3N3b3JkSW5wdXRDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1QYXNzd29yZElucHV0Q29tcG9uZW50IGV4dGVuZHMgX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRQYXNzd29yZElucHV0RGVmYXVsdHM7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBUkRfUEFTU1dPUkRfSU5QVVRfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRQYXNzd29yZElucHV0RGVmYXVsdHMpIHtcclxuICAgIHN1cGVyKGRlZmF1bHRzKTtcclxuICB9XHJcblxyXG4gIC8vISBpbnB1dCB2aWV3XHJcbiAgcmVhZG9ubHkgdGV4dElucHV0RWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj4oJ3RleHRJbnB1dCcpO1xyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zZXRJbnB1dEF0dHJpYnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5wbGFjZWhvbGRlcik7XHJcbiAgcmVhZG9ubHkgaW5wdXRJZCA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KCk7XHJcblxyXG4gIC8vISBwcmVmaXggJiBzdWZmaXhcclxuICByZWFkb25seSBwcmVmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRQYXNzd29yZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUpO1xyXG4gIHJlYWRvbmx5IHN1ZmZpeFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIC8vISBwbGFjZWhvbGRlclxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkUGFzc3dvcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUpO1xyXG5cclxuICByZWFkb25seSBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMucGxhY2Vob2xkZXIoKSAmJiAhdGhpcy52YWx1ZSgpKTtcclxuXHJcbiAgLy8hIHJldmVhbGluZ1xyXG4gIHJlYWRvbmx5IHJldmVhbGFibGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLnJldmVhbGFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuICByZWFkb25seSBob2xkVG9SZXZlYWwgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmhvbGRUb1JldmVhbCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBhdXRvSGlkZVRpbWVvdXRNcyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odGhpcy5fREVGQVVMVFMuYXV0b0hpZGVUaW1lb3V0TXMsIHtcclxuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5hdXRvSGlkZVRpbWVvdXRNcyksXHJcbiAgfSk7XHJcblxyXG4gIHJlYWRvbmx5IHJldmVhbGVkID0gbW9kZWw8Ym9vbGVhbj4odGhpcy5fREVGQVVMVFMucmV2ZWFsZWQpO1xyXG5cclxuICBwcml2YXRlIF9oaWRlVGltZW91dDogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcclxuICB0b2dnbGVSZXZlYWwobmV3U3RhdGUgPSAhdGhpcy5yZXZlYWxlZCgpKTogdm9pZCB7XHJcbiAgICB0aGlzLnJldmVhbGVkLnNldChuZXdTdGF0ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2hpZGVUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZW91dCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aW1lb3V0ID0gdGhpcy5hdXRvSGlkZVRpbWVvdXRNcygpO1xyXG4gICAgaWYgKHRpbWVvdXQgJiYgbmV3U3RhdGUpIHtcclxuICAgICAgdGhpcy5faGlkZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmV2ZWFsZWQuc2V0KGZhbHNlKSwgdGltZW91dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICBpZiAodGhpcy5faGlkZVRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHJldmVhbFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZFBhc3N3b3JkSW5wdXRSZXZlYWxCdXR0b25UZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIHJlYWRvbmx5IHJldmVhbEJ1dHRvbkNvbnRleHQgPSBjb21wdXRlZChcclxuICAgICgpOiBQYXNzd29yZElucHV0UmV2ZWFsQnV0dG9uQ29udGV4dCA9PiAoe1xyXG4gICAgICAkaW1wbGljaXQ6IHRoaXMucmV2ZWFsZWQoKSxcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8Rm9ybUVsZW1lbnRBcHBlYXJhbmNlPih0aGlzLl9ERUZBVUxUUy5hcHBlYXJhbmNlKTtcclxuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcclxuXHJcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuY29tcGFjdCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZCgoKSA9PlxyXG4gICAgW1xyXG4gICAgICBgYXJkLWFwcGVhcmFuY2UtJHt0aGlzLmFwcGVhcmFuY2UoKX1gLFxyXG4gICAgICBgYXJkLXZhcmlhbnQtJHt0aGlzLnZhcmlhbnQoKX1gLFxyXG4gICAgICB0aGlzLmNvbXBhY3QoKSA/ICdhcmQtY29tcGFjdCcgOiAnJyxcclxuICAgICAgdGhpcy5yZXZlYWxhYmxlKCkgPyAnYXJkLXJldmVhbGFibGUnIDogJycsXHJcbiAgICBdLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIC8vISBvdGhlciBpbnB1dHNcclxuICByZWFkb25seSBpbnB1dEF0dHJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4odGhpcy5fREVGQVVMVFMuaW5wdXRBdHRycyk7XHJcblxyXG4gIC8vISBjb250cm9sIHZhbHVlIGFjY2Vzc29yJ3Mgd3JpdGUgdmFsdWUgaW1wbGVtZW50YXRpb25cclxuICB3cml0ZVZhbHVlKHY6IGFueSkge1xyXG4gICAgaWYgKCFpc0FueVN0cmluZyh2KSAmJiBpc0RlZmluZWQodikpIHtcclxuICAgICAgLy93YXJuIHdoZW4gdXNpbmcgbm9uLXN0cmluZy9ub24tbnVsbCB2YWx1ZVxyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYEFSRC1XQTAwMjA6IFRyeWluZyB0byBzZXQgPGFyZC1wYXNzd29yZC1pbnB1dD4ncyB2YWx1ZSB0byBcIiR7dn1cIiAob2YgdHlwZSAke3R5cGVvZiB2fSksIGV4cGVjdGVkIHN0cmluZyBvciBudWxsLmBcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICAgIC8vbm9ybWFsaXplIHRoZSB2YWx1ZVxyXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG9sZFZhbCA9IHRoaXMudmFsdWUoKTtcclxuICAgIHRoaXMudmFsdWUuc2V0KHYpO1xyXG4gICAgcmV0dXJuIG9sZFZhbCAhPT0gdjtcclxuICB9XHJcbiAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xyXG4gIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8TnVsbGFibGU8c3RyaW5nPj4oKTtcclxuXHJcbiAgLy8hIGV2ZW50IGhhbmRsZXJzXHJcbiAgb25JbnB1dChuZXdWYWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWVIYXNDaGFuZ2VkID0gdGhpcy5fd3JpdGVWYWx1ZShuZXdWYWwpO1xyXG4gICAgaWYgKCF2YWx1ZUhhc0NoYW5nZWQpIHJldHVybjtcclxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWUoKTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gIH1cclxuICAvL2ZvY3VzLCBibHVyLCBjaGFuZ2VcclxuICBvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gY29weVxyXG4gIG9uQ29weShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRleHRJbnB1dEVsID0gdGhpcy50ZXh0SW5wdXRFbCgpO1xyXG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWUoKTtcclxuICAgIGlmIChcclxuICAgICAgdiAmJlxyXG4gICAgICB0ZXh0SW5wdXRFbCAmJlxyXG4gICAgICAvL2RvZXMgdGhlIHNlbGVjdGlvbiBjb3ZlciB0aGUgZW50aXJlIGlucHV0XHJcbiAgICAgICgodGV4dElucHV0RWwubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gMCAmJlxyXG4gICAgICAgIHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kID09PSB0ZXh0SW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkgfHxcclxuICAgICAgICAvL29yIGlzIHplcm8td2lkZVxyXG4gICAgICAgIHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IHRleHRJbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kKVxyXG4gICAgKSB7XHJcbiAgICAgIGV2ZW50LmNsaXBib2FyZERhdGE/LnNldERhdGEoJ3RleHQvcGxhaW4nLCB2KTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8hIGhlbHBlcnNcclxuICBwcm90ZWN0ZWQgX3NldElucHV0QXR0cmlidXRlcygpIHtcclxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgYXV0b2NvcnJlY3Q6ICdvZmYnLFxyXG4gICAgICBhdXRvY2FwaXRhbGl6ZTogJ29mZicsXHJcbiAgICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXHJcbiAgICAgIHRhYmluZGV4OiBTdHJpbmcodGhpcy50YWJJbmRleCgpKSxcclxuICAgICAgLi4udGhpcy5pbnB1dEF0dHJzKCksXHJcbiAgICB9O1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpKSB7XHJcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShrZXksIFN0cmluZyhhdHRyaWJ1dGVzW2tleV0pKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFyZC1mb3JtLWZpZWxkLWZyYW1lXHJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcclxuICBbdmFyaWFudF09XCJ2YXJpYW50KClcIlxyXG4gIFtjb21wYWN0XT1cImNvbXBhY3QoKVwiXHJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWQoKVwiXHJcbiAgW2hhc0Vycm9yXT1cImhhc0Vycm9yKClcIlxyXG4gIFtpc1N1Y2Nlc3NdPVwiaXNTdWNjZXNzKClcIlxyXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXHJcbiAgW3N1ZmZpeFRlbXBsYXRlXT1cInN1ZmZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLXBhc3N3b3JkLWlucHV0XCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcclxuICAgIFtjbGFzcy5hcmQtaGFzLXZhbHVlXT1cInZhbHVlKClcIlxyXG4gICAgKGNsaWNrKT1cImZvY3VzKClcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKCkpIHtcclxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICN0ZXh0SW5wdXRcclxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICAgIFt0eXBlXT1cIiFyZXZlYWxhYmxlKCkgfHwgIXJldmVhbGVkKCkgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcclxuICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4KClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQodGV4dElucHV0LnZhbHVlKVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvcHkpPVwib25Db3B5KCRldmVudClcIlxyXG4gICAgICAgIFtjbGFzcy5hcmQtcmV2ZWFsZWRdPVwicmV2ZWFsYWJsZSgpICYmIHJldmVhbGVkKClcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChyZXZlYWxhYmxlKCkpIHtcclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYXJkLXJldmVhbC1idXR0b25cIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCIhaG9sZFRvUmV2ZWFsKCkgJiYgdG9nZ2xlUmV2ZWFsKClcIlxyXG4gICAgICAgIChtb3VzZWRvd24pPVwiaG9sZFRvUmV2ZWFsKCkgJiYgcmV2ZWFsZWQuc2V0KHRydWUpXCJcclxuICAgICAgICAobW91c2V1cCk9XCJob2xkVG9SZXZlYWwoKSAmJiByZXZlYWxlZC5zZXQoZmFsc2UpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgI2RlZmF1bHRSZXZlYWxUZW1wbGF0ZVxyXG4gICAgICAgICAgbGV0LXJldmVhbGVkXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFyZC1pY29uIFtpY29uXT1cInJldmVhbGVkID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJ1wiPjwvYXJkLWljb24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZXZlYWxUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0UmV2ZWFsVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInJldmVhbEJ1dHRvbkNvbnRleHQoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvYXJkLWZvcm0tZmllbGQtZnJhbWU+XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, contentChild, forwardRef, Inject, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { ARD_FORM_FIELD_CONTROL } from '../../form-field/form-field-child.token';
|
|
4
4
|
import { _SimpleInputComponentBase } from '../_simple-input-base';
|
|
5
5
|
import { ARD_SIMPLE_INPUT_DEFAULTS } from './simple-input.defaults';
|
|
6
6
|
import { ArdSimpleInputPlaceholderTemplateDirective, ArdSimpleInputPrefixTemplateDirective, ArdSimpleInputSuffixTemplateDirective, } from './simple-input.directives';
|
|
@@ -25,7 +25,7 @@ export class ArdiumSimpleInputComponent extends _SimpleInputComponentBase {
|
|
|
25
25
|
multi: true,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
provide:
|
|
28
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
29
29
|
useExisting: ArdiumSimpleInputComponent,
|
|
30
30
|
},
|
|
31
31
|
], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdSimpleInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdSimpleInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "placeholderTemplate", first: true, predicate: ArdSimpleInputPlaceholderTemplateDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [hasError]=\"hasError()\"\r\n [isSuccess]=\"isSuccess()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n>\r\n <div\r\n class=\"ard-simple-input\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-has-value]=\"value\"\r\n (click)=\"focus()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocusMaster($event)\"\r\n (blur)=\"onBlurMaster($event)\"\r\n (change)=\"onChange($event)\"\r\n (copy)=\"onCopy($event)\"\r\n />\r\n </div>\r\n\r\n @if (shouldShowClearButton()) {\r\n <ard-clear-button\r\n [title]=\"clearButtonTitle()\"\r\n (click)=\"onClearButtonClick($event)\"\r\n />\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;pointer-events:none}.ard-text-align-left input,.ard-text-align-left .ard-placeholder{text-align:left}.ard-text-align-center input,.ard-text-align-center .ard-placeholder{text-align:center}.ard-text-align-right input,.ard-text-align-right .ard-placeholder{text-align:right}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i3.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isSuccess", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -39,7 +39,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39
39
|
multi: true,
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
provide:
|
|
42
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
43
43
|
useExisting: ArdiumSimpleInputComponent,
|
|
44
44
|
},
|
|
45
45
|
], template: "<ard-form-field-frame\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [hasError]=\"hasError()\"\r\n [isSuccess]=\"isSuccess()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n>\r\n <div\r\n class=\"ard-simple-input\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-has-value]=\"value\"\r\n (click)=\"focus()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value)\"\r\n (focus)=\"onFocusMaster($event)\"\r\n (blur)=\"onBlurMaster($event)\"\r\n (change)=\"onChange($event)\"\r\n (copy)=\"onCopy($event)\"\r\n />\r\n </div>\r\n\r\n @if (shouldShowClearButton()) {\r\n <ard-clear-button\r\n [title]=\"clearButtonTitle()\"\r\n (click)=\"onClearButtonClick($event)\"\r\n />\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;pointer-events:none}.ard-text-align-left input,.ard-text-align-left .ard-placeholder{text-align:left}.ard-text-align-center input,.ard-text-align-center .ard-placeholder{text-align:center}.ard-text-align-right input,.ard-text-align-right .ard-placeholder{text-align:right}\n"] }]
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
47
47
|
type: Inject,
|
|
48
48
|
args: [ARD_SIMPLE_INPUT_DEFAULTS]
|
|
49
49
|
}] }] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL3NpbXBsZS1pbnB1dC9zaW1wbGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvc2ltcGxlLWlucHV0L3NpbXBsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RixPQUFPLEVBQ0wsMENBQTBDLEVBQzFDLHFDQUFxQyxFQUNyQyxxQ0FBcUMsR0FDdEMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFvQm5DLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx5QkFBeUI7SUFFdkUsWUFBK0MsUUFBZ0M7UUFDN0UsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR2xCLG1CQUFtQjtRQUNWLG1CQUFjLEdBQUcsWUFBWSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDckUsbUJBQWMsR0FBRyxZQUFZLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUU5RSxlQUFlO1FBQ04sd0JBQW1CLEdBQUcsWUFBWSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFQeEYsQ0FBQzsrR0FKVSwwQkFBMEIsa0JBRWpCLHlCQUF5QjttR0FGbEMsMEJBQTBCLDJDQVoxQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQ3pELEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixXQUFXLEVBQUUsMEJBQTBCO2FBQ3hDO1NBQ0Ysc0VBU3NDLHFDQUFxQyxpR0FDckMscUNBQXFDLHNHQUdoQywwQ0FBMEMsdUZDeEN4RiwwaERBaURBOzs0RkRwQmEsMEJBQTBCO2tCQWxCdEMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsV0FBVyw0QkFBNEI7eUJBQ3hDO3FCQUNGOzswQkFJWSxNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbnRlbnRDaGlsZCwgZm9yd2FyZFJlZiwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQVJEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jaGlsZC50b2tlbic7XHJcbmltcG9ydCB7IF9TaW1wbGVJbnB1dENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9fc2ltcGxlLWlucHV0LWJhc2UnO1xyXG5pbXBvcnQgeyBBUkRfU0lNUExFX0lOUFVUX0RFRkFVTFRTLCBBcmRTaW1wbGVJbnB1dERlZmF1bHRzIH0gZnJvbSAnLi9zaW1wbGUtaW5wdXQuZGVmYXVsdHMnO1xyXG5pbXBvcnQge1xyXG4gIEFyZFNpbXBsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRTaW1wbGVJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZFNpbXBsZUlucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXHJcbn0gZnJvbSAnLi9zaW1wbGUtaW5wdXQuZGlyZWN0aXZlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FyZC1zaW1wbGUtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1TaW1wbGVJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVJEX0ZPUk1fRklFTERfQ09OVFJPTCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IEFyZGl1bVNpbXBsZUlucHV0Q29tcG9uZW50LFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtU2ltcGxlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBfU2ltcGxlSW5wdXRDb21wb25lbnRCYXNlIHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkU2ltcGxlSW5wdXREZWZhdWx0cztcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9TSU1QTEVfSU5QVVRfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRTaW1wbGVJbnB1dERlZmF1bHRzKSB7XHJcbiAgICBzdXBlcihkZWZhdWx0cyk7XHJcbiAgfVxyXG5cclxuICAvLyEgcHJlZml4ICYgc3VmZml4XHJcbiAgcmVhZG9ubHkgcHJlZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkU2ltcGxlSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgc3VmZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkU2ltcGxlSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIC8vISBwbGFjZWhvbGRlclxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkU2ltcGxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlKTtcclxufVxyXG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcclxuICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxyXG4gIFt2YXJpYW50XT1cInZhcmlhbnQoKVwiXHJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcclxuICBbaXNGb2N1c2VkXT1cImlzRm9jdXNlZCgpXCJcclxuICBbaGFzRXJyb3JdPVwiaGFzRXJyb3IoKVwiXHJcbiAgW2lzU3VjY2Vzc109XCJpc1N1Y2Nlc3MoKVwiXHJcbiAgW3ByZWZpeFRlbXBsYXRlXT1cInByZWZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcclxuICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGUoKT8udGVtcGxhdGVcIlxyXG4+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJhcmQtc2ltcGxlLWlucHV0XCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcclxuICAgIFtjbGFzcy5hcmQtaGFzLXZhbHVlXT1cInZhbHVlXCJcclxuICAgIChjbGljayk9XCJmb2N1cygpXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICBAaWYgKHNob3VsZERpc3BsYXlQbGFjZWhvbGRlcigpKSB7XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlcigpIH19PC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBsYWNlaG9sZGVyVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjdGV4dElucHV0XHJcbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZCgpXCJcclxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KHRleHRJbnB1dC52YWx1ZSlcIlxyXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzTWFzdGVyKCRldmVudClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1ck1hc3RlcigkZXZlbnQpXCJcclxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChjb3B5KT1cIm9uQ29weSgkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCkpIHtcclxuICAgICAgPGFyZC1jbGVhci1idXR0b25cclxuICAgICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwib25DbGVhckJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAvPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2FyZC1mb3JtLWZpZWxkLWZyYW1lPlxyXG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulati
|
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { TakeChance as Random } from 'take-chance';
|
|
4
4
|
import { _FormFieldComponentBase, _formFieldComponentDefaults } from '../_internal/form-field-component';
|
|
5
|
+
import { ARD_FORM_FIELD_CONTROL } from '../form-field/form-field-child.token';
|
|
5
6
|
import { ArdiumRadioComponent } from './radio/radio.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class ArdiumRadioGroupComponent extends _FormFieldComponentBase {
|
|
@@ -162,7 +163,7 @@ export class ArdiumRadioGroupComponent extends _FormFieldComponentBase {
|
|
|
162
163
|
multi: true,
|
|
163
164
|
},
|
|
164
165
|
{
|
|
165
|
-
provide:
|
|
166
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
166
167
|
useExisting: ArdiumRadioGroupComponent,
|
|
167
168
|
},
|
|
168
169
|
], queries: [{ propertyName: "_radios", predicate: ArdiumRadioComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -188,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
188
189
|
multi: true,
|
|
189
190
|
},
|
|
190
191
|
{
|
|
191
|
-
provide:
|
|
192
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
192
193
|
useExisting: ArdiumRadioGroupComponent,
|
|
193
194
|
},
|
|
194
195
|
],
|
|
@@ -199,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
199
200
|
}], value: [{
|
|
200
201
|
type: Input
|
|
201
202
|
}] } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsSUFBSSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBMEIvRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBR3BFLElBQ0ksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDtRQUNFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsb0RBQW9EO1FBUnpFLFlBQU8sR0FBRyxlQUFlLENBQXVCLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFvRXJHLGdCQUFXLEdBQUcsTUFBTSxFQUFPLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxNQUFNLENBQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQWlDeEQ7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBaUMsSUFBSSxDQUFDLENBQUM7UUFVaEUsUUFBUTtRQUNS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MUIseUJBQXlCO2tCQXhCckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixpQkFBaUIsRUFBRSxNQUFNO3dCQUN6QixtQkFBbUIsRUFBRSxNQUFNO3dCQUMzQix3QkFBd0IsRUFBRSxNQUFNO3dCQUNoQyx5QkFBeUIsRUFBRSxNQUFNO3dCQUNqQyxJQUFJLEVBQUUsWUFBWTtxQkFDbkI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxXQUFXLDJCQUEyQjt5QkFDdkM7cUJBQ0Y7aUJBQ0Y7d0RBS0ssb0JBQW9CO3NCQUR2QixXQUFXO3VCQUFDLFNBQVM7Z0JBMkRsQixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXRSZWZTdWJzY3JpcHRpb24sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgY29udGVudENoaWxkcmVuLFxyXG4gIGVmZmVjdCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIGlucHV0LFxyXG4gIG1vZGVsLFxyXG4gIG91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRha2VDaGFuY2UgYXMgUmFuZG9tIH0gZnJvbSAndGFrZS1jaGFuY2UnO1xyXG5pbXBvcnQgeyBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSwgX2Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vX2ludGVybmFsL2Zvcm0tZmllbGQtY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi90eXBlcy91dGlsaXR5LnR5cGVzJztcclxuaW1wb3J0IHsgQXJkaXVtUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FyZC1yYWRpby1ncm91cCcsXHJcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbYXR0ci50YWJpbmRleF0nOiAnbnVsbCcsXHJcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXHJcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdudWxsJyxcclxuICAgIHJvbGU6ICdyYWRpb2dyb3VwJyxcclxuICB9LFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtUmFkaW9Hcm91cENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBBcmRpdW1SYWRpb0dyb3VwQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIF9Gb3JtRmllbGRDb21wb25lbnRCYXNlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpb3MgPSBjb250ZW50Q2hpbGRyZW48QXJkaXVtUmFkaW9Db21wb25lbnQ+KEFyZGl1bVJhZGlvQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxyXG4gIGdldCBfaHRtbElkSG9zdEF0dHJpYnV0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0bWxJZCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcihfZm9ybUZpZWxkQ29tcG9uZW50RGVmYXVsdHMpOyAvLyBubyBuZWVkIGZvciBpbmplY3RpbmcgYSB0b2tlbiB3aXRoIGRlZmF1bHQgdmFsdWVzXHJcblxyXG4gICAgZWZmZWN0KFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uYW1lKCk7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xyXG4gICAgICB9LFxyXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuICAgICk7XHJcbiAgICBlZmZlY3QoXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkKCk7XHJcbiAgICAgICAgdGhpcy5fY2hlY2tTZWxlY3RlZFJhZGlvQnV0dG9uKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxyXG4gICAgKTtcclxuICAgIGVmZmVjdChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJhZGlvcyA9IHRoaXMuX3JhZGlvcygpO1xyXG4gICAgICAgIGlmICghcmFkaW9zKSByZXR1cm47XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xyXG4gICAgICAgIH0sIDApO1xyXG5cclxuICAgICAgICB0aGlzLl9kZXN0cm95Q2hpbGRTdWJzY3JpcHRpb25zKCk7XHJcblxyXG4gICAgICAgIC8vc3ViIHRvIGNoaWxkIGNvbXBvbmVudCBldmVudHNcclxuICAgICAgICBmb3IgKGNvbnN0IHJhZGlvIG9mIHJhZGlvcykge1xyXG4gICAgICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcclxuICAgICAgICAgICAgcmFkaW8uYmx1ckV2ZW50LnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVCbHVyRXZlbnRzKHYpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHJhZGlvLmZvY3VzRXZlbnQuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUZvY3VzRXZlbnRzKHYpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHJhZGlvLnNlbGVjdGVkQ2hhbmdlLnN1YnNjcmliZSgodjogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICghdikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNoYW5nZUV2ZW50cyhyYWRpbyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8hIHZhbHVlXHJcbiAgQElucHV0KClcclxuICBnZXQgdmFsdWUoKTogYW55IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkKCk/LnZhbHVlKCk7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PGFueT4oKTtcclxuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnk+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZUJlZm9yZUluaXQ6IGFueTtcclxuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmFsdWUgIT09IHYpIHtcclxuICAgICAgaWYgKCF0aGlzLl9pc0NvbnRlbnRJbml0KSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVCZWZvcmVJbml0ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2ZpbmRSYWRpb0J5VmFsdWUodik7XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fdXBkYXRlUmFkaW9zQnlWYWx1ZSgpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maW5kUmFkaW9CeVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9yYWRpb3MpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkLnNldCh0aGlzLl9yYWRpb3MoKS5maW5kKHJhZGlvID0+IHYgPT09IHJhZGlvLnZhbHVlKCkpID8/IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFVwZGF0ZXMgYWxsIGNoaWxkIHJhZGlvcyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCByYWRpby4gKi9cclxuICBwcml2YXRlIF91cGRhdGVSYWRpb3NCeVZhbHVlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9pc0NvbnRlbnRJbml0KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fcmFkaW9zKCkuZm9yRWFjaChyYWRpbyA9PiB7XHJcbiAgICAgIHJhZGlvLnNlbGVjdGVkLnNldCh0aGlzLnZhbHVlID09PSByYWRpby52YWx1ZSgpKTtcclxuICAgICAgcmFkaW8ubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcmFkaW8gYnV0dG9uLiBJZiBzZXQgdG8gYSBuZXcgcmFkaW8gYnV0dG9uLCB0aGUgcmFkaW8gZ3JvdXAgdmFsdWVcclxuICAgKiB3aWxsIGJlIHVwZGF0ZWQgdG8gbWF0Y2ggdGhlIG5ldyBzZWxlY3RlZCBidXR0b24uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBtb2RlbDxOdWxsYWJsZTxBcmRpdW1SYWRpb0NvbXBvbmVudD4+KG51bGwpO1xyXG5cclxuICBwcml2YXRlIF9jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKSB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5zZWxlY3RlZCgpO1xyXG4gICAgaWYgKHMgJiYgIXMuc2VsZWN0ZWQoKSkge1xyXG4gICAgICBzLnNlbGVjdGVkLnNldCh0cnVlKTtcclxuICAgICAgcy5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vISBuYW1lXHJcbiAgLyoqIE5hbWUgb2YgdGhlIHJhZGlvIGJ1dHRvbiBncm91cC4gQWxsIHJhZGlvIGJ1dHRvbnMgaW5zaWRlIHRoaXMgZ3JvdXAgd2lsbCB1c2UgdGhpcyBuYW1lLiAqL1xyXG4gIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmc+KFJhbmRvbS5pZCgpKTtcclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9yYWRpb3MoKSkge1xyXG4gICAgICB0aGlzLl9yYWRpb3MoKS5mb3JFYWNoKHJhZGlvID0+IHtcclxuICAgICAgICByYWRpby5uYW1lLnNldCh0aGlzLm5hbWUoKSk7XHJcbiAgICAgICAgcmFkaW8ubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8hIHVwZGF0ZSBoYW5kbGVyc1xyXG4gIHByaXZhdGUgX2hhbmRsZUJsdXJFdmVudHMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25CbHVyKGV2ZW50KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlRm9jdXNFdmVudHMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25Gb2N1cyhldmVudCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhbmRsZUNoYW5nZUV2ZW50cyhzZWxlY3RlZDogQXJkaXVtUmFkaW9Db21wb25lbnQpOiB2b2lkIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShzZWxlY3RlZC52YWx1ZSgpKTtcclxuXHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGhvb2tzXHJcbiAgcHJpdmF0ZSBfY2hpbGRFdmVudFN1YnM6IE91dHB1dFJlZlN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfaXNDb250ZW50SW5pdCA9IGZhbHNlO1xyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzQ29udGVudEluaXQgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLl92YWx1ZUJlZm9yZUluaXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fdmFsdWVCZWZvcmVJbml0KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xyXG4gICAgfSwgMCk7XHJcblxyXG4gICAgLy9zdWIgdG8gY2hpbGQgY29tcG9uZW50IGV2ZW50c1xyXG4gICAgZm9yIChjb25zdCByYWRpbyBvZiB0aGlzLl9yYWRpb3MoKSkge1xyXG4gICAgICB0aGlzLl9jaGlsZEV2ZW50U3Vicy5wdXNoKFxyXG4gICAgICAgIHJhZGlvLmJsdXJFdmVudC5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVCbHVyRXZlbnRzKHYpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXHJcbiAgICAgICAgcmFkaW8uZm9jdXNFdmVudC5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVGb2N1c0V2ZW50cyh2KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLl9jaGlsZEV2ZW50U3Vicy5wdXNoKFxyXG4gICAgICAgIHJhZGlvLnNlbGVjdGVkQ2hhbmdlLnN1YnNjcmliZSgodjogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgaWYgKCF2KSByZXR1cm47XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVDaGFuZ2VFdmVudHMocmFkaW8pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3lDaGlsZFN1YnNjcmlwdGlvbnMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGVzdHJveUNoaWxkU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuX2NoaWxkRXZlbnRTdWJzKSB7XHJcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2hpbGRFdmVudFN1YnMgPSBbXTtcclxuICB9XHJcbn1cclxuIl19
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsSUFBSSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBMEIvRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBR3BFLElBQ0ksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDtRQUNFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsb0RBQW9EO1FBUnpFLFlBQU8sR0FBRyxlQUFlLENBQXVCLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFvRXJHLGdCQUFXLEdBQUcsTUFBTSxFQUFPLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxNQUFNLENBQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQWlDeEQ7OztXQUdHO1FBQ00sYUFBUSxH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QUN2QztTQUNGLGtEQUdnRSxvQkFBb0IsdUZBdkIzRSwyQkFBMkI7OzRGQXNCMUIseUJBQXlCO2tCQXhCckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixpQkFBaUIsRUFBRSxNQUFNO3dCQUN6QixtQkFBbUIsRUFBRSxNQUFNO3dCQUMzQix3QkFBd0IsRUFBRSxNQUFNO3dCQUNoQyx5QkFBeUIsRUFBRSxNQUFNO3dCQUNqQyxJQUFJLEVBQUUsWUFBWTtxQkFDbkI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixXQUFXLDJCQUEyQjt5QkFDdkM7cUJBQ0Y7aUJBQ0Y7d0RBS0ssb0JBQW9CO3NCQUR2QixXQUFXO3VCQUFDLFNBQVM7Z0JBMkRsQixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXRSZWZTdWJzY3JpcHRpb24sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgY29udGVudENoaWxkcmVuLFxyXG4gIGVmZmVjdCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIGlucHV0LFxyXG4gIG1vZGVsLFxyXG4gIG91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRha2VDaGFuY2UgYXMgUmFuZG9tIH0gZnJvbSAndGFrZS1jaGFuY2UnO1xyXG5pbXBvcnQgeyBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSwgX2Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vX2ludGVybmFsL2Zvcm0tZmllbGQtY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVJEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jaGlsZC50b2tlbic7XHJcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XHJcbmltcG9ydCB7IEFyZGl1bVJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7XHJcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ251bGwnLFxyXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxyXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXHJcbiAgICByb2xlOiAncmFkaW9ncm91cCcsXHJcbiAgfSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bVJhZGlvR3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFSRF9GT1JNX0ZJRUxEX0NPTlRST0wsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBBcmRpdW1SYWRpb0dyb3VwQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIF9Gb3JtRmllbGRDb21wb25lbnRCYXNlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpb3MgPSBjb250ZW50Q2hpbGRyZW48QXJkaXVtUmFkaW9Db21wb25lbnQ+KEFyZGl1bVJhZGlvQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxyXG4gIGdldCBfaHRtbElkSG9zdEF0dHJpYnV0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0bWxJZCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcihfZm9ybUZpZWxkQ29tcG9uZW50RGVmYXVsdHMpOyAvLyBubyBuZWVkIGZvciBpbmplY3RpbmcgYSB0b2tlbiB3aXRoIGRlZmF1bHQgdmFsdWVzXHJcblxyXG4gICAgZWZmZWN0KFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uYW1lKCk7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xyXG4gICAgICB9LFxyXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuICAgICk7XHJcbiAgICBlZmZlY3QoXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkKCk7XHJcbiAgICAgICAgdGhpcy5fY2hlY2tTZWxlY3RlZFJhZGlvQnV0dG9uKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxyXG4gICAgKTtcclxuICAgIGVmZmVjdChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJhZGlvcyA9IHRoaXMuX3JhZGlvcygpO1xyXG4gICAgICAgIGlmICghcmFkaW9zKSByZXR1cm47XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xyXG4gICAgICAgIH0sIDApO1xyXG5cclxuICAgICAgICB0aGlzLl9kZXN0cm95Q2hpbGRTdWJzY3JpcHRpb25zKCk7XHJcblxyXG4gICAgICAgIC8vc3ViIHRvIGNoaWxkIGNvbXBvbmVudCBldmVudHNcclxuICAgICAgICBmb3IgKGNvbnN0IHJhZGlvIG9mIHJhZGlvcykge1xyXG4gICAgICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcclxuICAgICAgICAgICAgcmFkaW8uYmx1ckV2ZW50LnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVCbHVyRXZlbnRzKHYpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHJhZGlvLmZvY3VzRXZlbnQuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUZvY3VzRXZlbnRzKHYpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHJhZGlvLnNlbGVjdGVkQ2hhbmdlLnN1YnNjcmliZSgodjogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICghdikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNoYW5nZUV2ZW50cyhyYWRpbyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8hIHZhbHVlXHJcbiAgQElucHV0KClcclxuICBnZXQgdmFsdWUoKTogYW55IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkKCk/LnZhbHVlKCk7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PGFueT4oKTtcclxuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnk+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZUJlZm9yZUluaXQ6IGFueTtcclxuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmFsdWUgIT09IHYpIHtcclxuICAgICAgaWYgKCF0aGlzLl9pc0NvbnRlbnRJbml0KSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVCZWZvcmVJbml0ID0gdjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2ZpbmRSYWRpb0J5VmFsdWUodik7XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fdXBkYXRlUmFkaW9zQnlWYWx1ZSgpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maW5kUmFkaW9CeVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9yYWRpb3MpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkLnNldCh0aGlzLl9yYWRpb3MoKS5maW5kKHJhZGlvID0+IHYgPT09IHJhZGlvLnZhbHVlKCkpID8/IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFVwZGF0ZXMgYWxsIGNoaWxkIHJhZGlvcyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCByYWRpby4gKi9cclxuICBwcml2YXRlIF91cGRhdGVSYWRpb3NCeVZhbHVlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9pc0NvbnRlbnRJbml0KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fcmFkaW9zKCkuZm9yRWFjaChyYWRpbyA9PiB7XHJcbiAgICAgIHJhZGlvLnNlbGVjdGVkLnNldCh0aGlzLnZhbHVlID09PSByYWRpby52YWx1ZSgpKTtcclxuICAgICAgcmFkaW8ubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcmFkaW8gYnV0dG9uLiBJZiBzZXQgdG8gYSBuZXcgcmFkaW8gYnV0dG9uLCB0aGUgcmFkaW8gZ3JvdXAgdmFsdWVcclxuICAgKiB3aWxsIGJlIHVwZGF0ZWQgdG8gbWF0Y2ggdGhlIG5ldyBzZWxlY3RlZCBidXR0b24uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBtb2RlbDxOdWxsYWJsZTxBcmRpdW1SYWRpb0NvbXBvbmVudD4+KG51bGwpO1xyXG5cclxuICBwcml2YXRlIF9jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKSB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5zZWxlY3RlZCgpO1xyXG4gICAgaWYgKHMgJiYgIXMuc2VsZWN0ZWQoKSkge1xyXG4gICAgICBzLnNlbGVjdGVkLnNldCh0cnVlKTtcclxuICAgICAgcy5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vISBuYW1lXHJcbiAgLyoqIE5hbWUgb2YgdGhlIHJhZGlvIGJ1dHRvbiBncm91cC4gQWxsIHJhZGlvIGJ1dHRvbnMgaW5zaWRlIHRoaXMgZ3JvdXAgd2lsbCB1c2UgdGhpcyBuYW1lLiAqL1xyXG4gIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmc+KFJhbmRvbS5pZCgpKTtcclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9yYWRpb3MoKSkge1xyXG4gICAgICB0aGlzLl9yYWRpb3MoKS5mb3JFYWNoKHJhZGlvID0+IHtcclxuICAgICAgICByYWRpby5uYW1lLnNldCh0aGlzLm5hbWUoKSk7XHJcbiAgICAgICAgcmFkaW8ubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8hIHVwZGF0ZSBoYW5kbGVyc1xyXG4gIHByaXZhdGUgX2hhbmRsZUJsdXJFdmVudHMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25CbHVyKGV2ZW50KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlRm9jdXNFdmVudHMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25Gb2N1cyhldmVudCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhbmRsZUNoYW5nZUV2ZW50cyhzZWxlY3RlZDogQXJkaXVtUmFkaW9Db21wb25lbnQpOiB2b2lkIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShzZWxlY3RlZC52YWx1ZSgpKTtcclxuXHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGhvb2tzXHJcbiAgcHJpdmF0ZSBfY2hpbGRFdmVudFN1YnM6IE91dHB1dFJlZlN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfaXNDb250ZW50SW5pdCA9IGZhbHNlO1xyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzQ29udGVudEluaXQgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLl92YWx1ZUJlZm9yZUluaXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fdmFsdWVCZWZvcmVJbml0KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xyXG4gICAgfSwgMCk7XHJcblxyXG4gICAgLy9zdWIgdG8gY2hpbGQgY29tcG9uZW50IGV2ZW50c1xyXG4gICAgZm9yIChjb25zdCByYWRpbyBvZiB0aGlzLl9yYWRpb3MoKSkge1xyXG4gICAgICB0aGlzLl9jaGlsZEV2ZW50U3Vicy5wdXNoKFxyXG4gICAgICAgIHJhZGlvLmJsdXJFdmVudC5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVCbHVyRXZlbnRzKHYpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXHJcbiAgICAgICAgcmFkaW8uZm9jdXNFdmVudC5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVGb2N1c0V2ZW50cyh2KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLl9jaGlsZEV2ZW50U3Vicy5wdXNoKFxyXG4gICAgICAgIHJhZGlvLnNlbGVjdGVkQ2hhbmdlLnN1YnNjcmliZSgodjogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgaWYgKCF2KSByZXR1cm47XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVDaGFuZ2VFdmVudHMocmFkaW8pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3lDaGlsZFN1YnNjcmlwdGlvbnMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGVzdHJveUNoaWxkU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuX2NoaWxkRXZlbnRTdWJzKSB7XHJcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2hpbGRFdmVudFN1YnMgPSBbXTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation, computed, contentChild, forwardRef, input, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
|
|
4
|
-
import { _FormFieldComponentBase } from '../_internal/form-field-component';
|
|
5
4
|
import { _SelectableListComponentBase } from '../_internal/selectable-list-component';
|
|
5
|
+
import { ARD_FORM_FIELD_CONTROL } from '../form-field/form-field-child.token';
|
|
6
6
|
import { ARD_SEGMENT_DEFAULTS } from './segment.defaults';
|
|
7
7
|
import { ArdSegmentOptionTemplateDirective } from './segment.directives';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -100,7 +100,7 @@ export class ArdiumSegmentComponent extends _SelectableListComponentBase {
|
|
|
100
100
|
multi: true,
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
|
-
provide:
|
|
103
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
104
104
|
useExisting: ArdiumSegmentComponent,
|
|
105
105
|
},
|
|
106
106
|
], queries: [{ propertyName: "optionTemplate", first: true, predicate: ArdSegmentOptionTemplateDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #focusableElement\r\n class=\"ard-segment-container\"\r\n [class.ard-disabled]=\"disabled()\"\r\n [ariaDisabled]=\"disabled()\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-focus-visible]=\"isFocused() && !isMouseBeingUsed\"\r\n [class.ard-using-keyboard]=\"!isMouseBeingUsed\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n>\r\n @for (row of itemRows(); track $index) {\r\n <div\r\n class=\"ard-segment-row\"\r\n [class.ard-segment-row-partial]=\"row.isNotFull\"\r\n [class.ard-segment-row-uniform]=\"uniformWidths() || itemsPerRow() < items.length\"\r\n [style]=\"{ '--ard-_segment-row-items': itemsInActualRow }\"\r\n >\r\n @for (option of row.options; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ard-segment-option\"\r\n tabindex=\"-1\"\r\n [class.ard-option-disabled]=\"option.disabled() || (isItemLimitReached() && !option.selected())\"\r\n [class.ard-option-selected]=\"option.selected()\"\r\n [class.ard-option-highlighted]=\"option.highlighted()\"\r\n [ariaSelected]=\"option.selected()\"\r\n (mouseenter)=\"onItemMouseEnter(option, $event)\"\r\n (mouseleave)=\"onItemMouseLeave(option, $event)\"\r\n (click)=\"onItemClick(option, $event)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-button-content\">\r\n <span class=\"ard-option-label\">\r\n <ng-template #defaultOptionTemplate>\r\n {{ option.label() }}\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"optionTemplate()?.template || defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"getOptionContext(option)\"\r\n />\r\n </span>\r\n </div>\r\n </button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".ard-segment-container{display:flex;flex-direction:column}.ard-segment-container.ard-align-left .ard-segment-option{justify-content:left}.ard-segment-container.ard-align-middle .ard-segment-option{justify-content:center}.ard-segment-container.ard-align-right .ard-segment-option{justify-content:right}.ard-segment-row{width:100%;display:flex;align-items:center}.ard-segment-row.ard-segment-row-uniform{display:grid;grid-template-columns:repeat(var(--ard-_segment-row-items),1fr)}.ard-segment-option{-webkit-user-select:none;user-select:none}.ard-option-disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -114,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
114
114
|
multi: true,
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
|
-
provide:
|
|
117
|
+
provide: ARD_FORM_FIELD_CONTROL,
|
|
118
118
|
useExisting: ArdiumSegmentComponent,
|
|
119
119
|
},
|
|
120
120
|
], template: "<div\r\n #focusableElement\r\n class=\"ard-segment-container\"\r\n [class.ard-disabled]=\"disabled()\"\r\n [ariaDisabled]=\"disabled()\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-focus-visible]=\"isFocused() && !isMouseBeingUsed\"\r\n [class.ard-using-keyboard]=\"!isMouseBeingUsed\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n>\r\n @for (row of itemRows(); track $index) {\r\n <div\r\n class=\"ard-segment-row\"\r\n [class.ard-segment-row-partial]=\"row.isNotFull\"\r\n [class.ard-segment-row-uniform]=\"uniformWidths() || itemsPerRow() < items.length\"\r\n [style]=\"{ '--ard-_segment-row-items': itemsInActualRow }\"\r\n >\r\n @for (option of row.options; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ard-segment-option\"\r\n tabindex=\"-1\"\r\n [class.ard-option-disabled]=\"option.disabled() || (isItemLimitReached() && !option.selected())\"\r\n [class.ard-option-selected]=\"option.selected()\"\r\n [class.ard-option-highlighted]=\"option.highlighted()\"\r\n [ariaSelected]=\"option.selected()\"\r\n (mouseenter)=\"onItemMouseEnter(option, $event)\"\r\n (mouseleave)=\"onItemMouseLeave(option, $event)\"\r\n (click)=\"onItemClick(option, $event)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-button-content\">\r\n <span class=\"ard-option-label\">\r\n <ng-template #defaultOptionTemplate>\r\n {{ option.label() }}\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"optionTemplate()?.template || defaultOptionTemplate\"\r\n [ngTemplateOutletContext]=\"getOptionContext(option)\"\r\n />\r\n </span>\r\n </div>\r\n </button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".ard-segment-container{display:flex;flex-direction:column}.ard-segment-container.ard-align-left .ard-segment-option{justify-content:left}.ard-segment-container.ard-align-middle .ard-segment-option{justify-content:center}.ard-segment-container.ard-align-right .ard-segment-option{justify-content:right}.ard-segment-row{width:100%;display:flex;align-items:center}.ard-segment-row.ard-segment-row-uniform{display:grid;grid-template-columns:repeat(var(--ard-_segment-row-items),1fr)}.ard-segment-option{-webkit-user-select:none;user-select:none}.ard-option-disabled{pointer-events:none}\n"] }]
|
|
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
122
122
|
type: Inject,
|
|
123
123
|
args: [ARD_SEGMENT_DEFAULTS]
|
|
124
124
|
}] }] });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RixPQUFPLEVBQUUsb0JBQW9CLEVBQXNCLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQTBCekUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDRCQUE0QjtJQUt0RSxZQUEwQyxRQUE0QjtRQUNwRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMQSxpQkFBWSxHQUFXLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFXLFNBQVMsQ0FBQztRQU9yRCxjQUFjO1FBQ0wsZUFBVSxHQUFHLEtBQUssQ0FBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRSxZQUFPLEdBQUcsS0FBSyxDQUFpQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFD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b250ZW50SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGNvbnRlbnRDaGlsZCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIGlucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9faW50ZXJuYWwvZm9ybS1maWVsZC1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPbmVBeGlzQWxpZ25tZW50IH0gZnJvbSAnLi4vdHlwZXMvYWxpZ25tZW50LnR5cGVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBBcmRPcHRpb25TaW1wbGUgfSBmcm9tICcuLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xyXG5pbXBvcnQgeyBTaW1wbGVJdGVtU3RvcmFnZUhvc3QgfSBmcm9tICcuLy4uL19pbnRlcm5hbC9pdGVtLXN0b3JhZ2VzL3NpbXBsZS1pdGVtLXN0b3JhZ2UnO1xyXG5pbXBvcnQgeyBBUkRfU0VHTUVOVF9ERUZBVUxUUywgQXJkU2VnbWVudERlZmF1bHRzIH0gZnJvbSAnLi9zZWdtZW50LmRlZmF1bHRzJztcclxuaW1wb3J0IHsgQXJkU2VnbWVudE9wdGlvblRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWdtZW50LmRpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBTZWdtZW50QXBwZWFyYW5jZSwgU2VnbWVudFZhcmlhbnQgfSBmcm9tICcuL3NlZ21lbnQudHlwZXMnO1xyXG5cclxuaW50ZXJmYWNlIFNlZ21lbnRSb3cge1xyXG4gIG9wdGlvbnM6IEFyZE9wdGlvblNpbXBsZVtdO1xyXG4gIGlzTm90RnVsbD86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLXNlZ21lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWdtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWdtZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bVNlZ21lbnRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IF9Gb3JtRmllbGRDb21wb25lbnRCYXNlLFxyXG4gICAgICB1c2VFeGlzdGluZzogQXJkaXVtU2VnbWVudENvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bVNlZ21lbnRDb21wb25lbnQgZXh0ZW5kcyBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnRCYXNlIGltcGxlbWVudHMgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuICBvdmVycmlkZSByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZyA9ICcxMDQnO1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IF9jb21wb25lbnROYW1lOiBzdHJpbmcgPSAnc2VnbWVudCc7XHJcblxyXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRTZWdtZW50RGVmYXVsdHM7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBUkRfU0VHTUVOVF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZFNlZ21lbnREZWZhdWx0cykge1xyXG4gICAgc3VwZXIoZGVmYXVsdHMpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8U2VnbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xyXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxTZWdtZW50VmFyaWFudD4odGhpcy5fREVGQVVMVFMudmFyaWFudCk7XHJcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xyXG4gIHJlYWRvbmx5IGFsaWduID0gaW5wdXQ8T25lQXhpc0FsaWdubWVudD4odGhpcy5fREVGQVVMVFMuYWxpZ24pO1xyXG5cclxuICByZWFkb25seSBpY29uQmFzZWQgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmljb25CYXNlZCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmNvbXBhY3QsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxyXG4gICAgW1xyXG4gICAgICBgYXJkLWFwcGVhcmFuY2UtJHt0aGlzLmFwcGVhcmFuY2UoKX1gLFxyXG4gICAgICBgYXJkLXZhcmlhbnQtJHt0aGlzLnZhcmlhbnQoKX1gLFxyXG4gICAgICBgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsXHJcbiAgICAgIGBhcmQtYWxpZ24tJHt0aGlzLmFsaWduKCl9YCxcclxuICAgICAgdGhpcy5pY29uQmFzZWQoKSA/ICdhcmQtaWNvbi1iYXNlZCcgOiAnJyxcclxuICAgICAgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJycsXHJcbiAgICAgIHRoaXMuaXRlbVJvd3MoKS5sZW5ndGggPiAxID8gJ2FyZC1tdWx0aXJvdycgOiAnYXJkLXNpbmdsZXJvdycsXHJcbiAgICBdLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIC8vISBjb2VyY2VkIHByb3BlcnRpZXNcclxuICByZWFkb25seSBhdXRvRm9jdXMgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmF1dG9Gb2N1cywgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG4gIHJlYWRvbmx5IHVuaWZvcm1XaWR0aHMgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLnVuaWZvcm1XaWR0aHMsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgaXRlbXNQZXJSb3cgPSBpbnB1dDxudW1iZXIsIGFueT4odGhpcy5fREVGQVVMVFMuaXRlbXNQZXJSb3csIHtcclxuICAgIHRyYW5zZm9ybTogdiA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdGhpcy5fREVGQVVMVFMuaXRlbXNQZXJSb3cpO1xyXG4gICAgICBpZiAobmV3VmFsdWUgPT09IDApIHRocm93IG5ldyBFcnJvcihgQVJELUZUMTA0MGE6IENhbm5vdCBzZXQgPGFyZC1zZWdtZW50PidzIFtpdGVtc1BlclJvd10gdG8gMC5gKTtcclxuICAgICAgaWYgKG5ld1ZhbHVlIDwgMClcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFSRC1GVDEwNDBiOiBDYW5ub3Qgc2V0IDxhcmQtc2VnbWVudD4ncyBbaXRlbXNQZXJSb3ddIHRvIGEgbmVnYXRpdmUgdmFsdWUsIGdvdCBcIiR7bmV3VmFsdWV9XCIuYCk7XHJcbiAgICAgIGlmIChuZXdWYWx1ZSAlIDEgIT09IDApIHtcclxuICAgICAgICBjb25zdCByb3VuZGVkVmFsdWUgPSBNYXRoLnJvdW5kKG5ld1ZhbHVlKSB8fCAxOyAvLyByb3VuZCB0byBuZWFyZXN0IGludCwgYnV0IG5ldmVyIHJvdW5kIHRvIHplcm9cclxuICAgICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgICBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgIGBBUkQtV0ExMDQwYzogQ2Fubm90IHNldCA8YXJkLXNlZ21lbnQ+J3MgW2l0ZW1zUGVyUm93XSB0byBhIG5vbi1pbnRlcmdlciB2YWx1ZSwgZ290IFwiJHtuZXdWYWx1ZX1cIi4gVGhlIHZhbHVlIHdhcyByb3VuZGVkIHRvIFwiJHtyb3VuZGVkVmFsdWV9XCIuYFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbChuZXdWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgfSxcclxuICB9KTtcclxuICBnZXQgaXRlbXNJbkFjdHVhbFJvdygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXNQZXJSb3coKSA9PT0gSW5maW5pdHkgPyB0aGlzLml0ZW1zLmxlbmd0aCA6IHRoaXMuaXRlbXNQZXJSb3coKTtcclxuICB9XHJcblxyXG4gIC8vISBvcHRpb24gdGVtcGxhdGVcclxuICByZWFkb25seSBvcHRpb25UZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRTZWdtZW50T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUpO1xyXG5cclxuICAvLyEgbGlmZWN5Y2xlIGhvb2tzXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKCkpIHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8hIGl0ZW0gcm93IGdldHRlcnNcclxuICByZWFkb25seSBpdGVtUm93cyA9IGNvbXB1dGVkPFNlZ21lbnRSb3dbXT4oKCkgPT4ge1xyXG4gICAgY29uc3QgaXRlbVJvd3M6IFNlZ21lbnRSb3dbXSA9IFtdO1xyXG4gICAgbGV0IGN1cnJlbnRSb3c6IEFyZE9wdGlvblNpbXBsZVtdID0gW107XHJcbiAgICAvL2dldCBhbGwgcm93c1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcclxuICAgICAgLy9hZGQgaXRlbVxyXG4gICAgICBjdXJyZW50Um93LnB1c2goaXRlbSk7XHJcblxyXG4gICAgICAvL3B1c2ggaWYgaXRlbSBhbW91bnQgcmVhY2hlZCB0aGUgbGltaXRcclxuICAgICAgaWYgKHRoaXMuaXRlbXNQZXJSb3coKSAmJiBjdXJyZW50Um93Lmxlbmd0aCA9PT0gdGhpcy5pdGVtc1BlclJvdygpKSB7XHJcbiAgICAgICAgaXRlbVJvd3MucHVzaCh7IG9wdGlvbnM6IGN1cnJlbnRSb3cgfSk7XHJcbiAgICAgICAgY3VycmVudFJvdyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3B1c2ggdGhlIGxhc3Qgcm93IGlmIGl0IGlzIG5vdCBlbXB0eVxyXG4gICAgaWYgKGN1cnJlbnRSb3cubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIGl0ZW1Sb3dzLnB1c2goe1xyXG4gICAgICAgIG9wdGlvbnM6IGN1cnJlbnRSb3csXHJcbiAgICAgICAgaXNOb3RGdWxsOiBCb29sZWFuKHRoaXMuaXRlbXNQZXJSb3coKSksXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1Sb3dzO1xyXG4gIH0pO1xyXG5cclxuICAvLyEgZm9jdXMgaGFuZGxlciBvdmVycmlkZVxyXG4gIG92ZXJyaWRlIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uRm9jdXMoZXZlbnQpO1xyXG5cclxuICAgIGlmICh0aGlzLml0ZW1TdG9yYWdlLmlzQW55SXRlbUhpZ2hsaWdodGVkKCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkJsdXIoZXZlbnQpO1xyXG5cclxuICAgIHRoaXMuaXRlbVN0b3JhZ2UudW5oaWdobGlnaHRBbGwoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNmb2N1c2FibGVFbGVtZW50XHJcbiAgY2xhc3M9XCJhcmQtc2VnbWVudC1jb250YWluZXJcIlxyXG4gIFtjbGFzcy5hcmQtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgW2FyaWFEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXHJcbiAgW2NsYXNzLmFyZC1mb2N1cy12aXNpYmxlXT1cImlzRm9jdXNlZCgpICYmICFpc01vdXNlQmVpbmdVc2VkXCJcclxuICBbY2xhc3MuYXJkLXVzaW5nLWtleWJvYXJkXT1cIiFpc01vdXNlQmVpbmdVc2VkXCJcclxuICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbj5cclxuICBAZm9yIChyb3cgb2YgaXRlbVJvd3MoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYXJkLXNlZ21lbnQtcm93XCJcclxuICAgICAgW2NsYXNzLmFyZC1zZWdtZW50LXJvdy1wYXJ0aWFsXT1cInJvdy5pc05vdEZ1bGxcIlxyXG4gICAgICBbY2xhc3MuYXJkLXNlZ21lbnQtcm93LXVuaWZvcm1dPVwidW5pZm9ybVdpZHRocygpIHx8IGl0ZW1zUGVyUm93KCkgPCBpdGVtcy5sZW5ndGhcIlxyXG4gICAgICBbc3R5bGVdPVwieyAnLS1hcmQtX3NlZ21lbnQtcm93LWl0ZW1zJzogaXRlbXNJbkFjdHVhbFJvdyB9XCJcclxuICAgID5cclxuICAgICAgQGZvciAob3B0aW9uIG9mIHJvdy5vcHRpb25zOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXJkLXNlZ21lbnQtb3B0aW9uXCJcclxuICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgW2NsYXNzLmFyZC1vcHRpb24tZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkKCkgfHwgKGlzSXRlbUxpbWl0UmVhY2hlZCgpICYmICFvcHRpb24uc2VsZWN0ZWQoKSlcIlxyXG4gICAgICAgICAgW2NsYXNzLmFyZC1vcHRpb24tc2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgW2NsYXNzLmFyZC1vcHRpb24taGlnaGxpZ2h0ZWRdPVwib3B0aW9uLmhpZ2hsaWdodGVkKClcIlxyXG4gICAgICAgICAgW2FyaWFTZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJvbkl0ZW1Nb3VzZUVudGVyKG9wdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbkl0ZW1Nb3VzZUxlYXZlKG9wdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2sob3B0aW9uLCAkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtYnV0dG9uLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtb3B0aW9uLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0T3B0aW9uVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwoKSB9fVxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRPcHRpb25Db250ZXh0KG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlZ21lbnQvc2VnbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUs5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQXNCLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQTBCekUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDRCQUE0QjtJQUt0RSxZQUEwQyxRQUE0QjtRQUNwRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMQSxpQkFBWSxHQUFXLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFXLFNBQVMsQ0FBQztRQU9yRCxjQUFjO1FBQ0wsZUFBVSxHQUFHLEtBQUssQ0FBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRSxZQUFPLEdBQUcsS0FBSyxDQUFpQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFD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b250ZW50SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGNvbnRlbnRDaGlsZCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIGlucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19pbnRlcm5hbC9zZWxlY3RhYmxlLWxpc3QtY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVJEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jaGlsZC50b2tlbic7XHJcbmltcG9ydCB7IE9uZUF4aXNBbGlnbm1lbnQgfSBmcm9tICcuLi90eXBlcy9hbGlnbm1lbnQudHlwZXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb2xvciB9IGZyb20gJy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XHJcbmltcG9ydCB7IEFyZE9wdGlvblNpbXBsZSB9IGZyb20gJy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XHJcbmltcG9ydCB7IFNpbXBsZUl0ZW1TdG9yYWdlSG9zdCB9IGZyb20gJy4vLi4vX2ludGVybmFsL2l0ZW0tc3RvcmFnZXMvc2ltcGxlLWl0ZW0tc3RvcmFnZSc7XHJcbmltcG9ydCB7IEFSRF9TRUdNRU5UX0RFRkFVTFRTLCBBcmRTZWdtZW50RGVmYXVsdHMgfSBmcm9tICcuL3NlZ21lbnQuZGVmYXVsdHMnO1xyXG5pbXBvcnQgeyBBcmRTZWdtZW50T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3NlZ21lbnQuZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IFNlZ21lbnRBcHBlYXJhbmNlLCBTZWdtZW50VmFyaWFudCB9IGZyb20gJy4vc2VnbWVudC50eXBlcyc7XHJcblxyXG5pbnRlcmZhY2UgU2VnbWVudFJvdyB7XHJcbiAgb3B0aW9uczogQXJkT3B0aW9uU2ltcGxlW107XHJcbiAgaXNOb3RGdWxsPzogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtc2VnbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlZ21lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlZ21lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtU2VnbWVudENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVJEX0ZPUk1fRklFTERfQ09OVFJPTCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IEFyZGl1bVNlZ21lbnRDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1TZWdtZW50Q29tcG9uZW50IGV4dGVuZHMgX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdCwgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgX2NvbXBvbmVudElkOiBzdHJpbmcgPSAnMTA0JztcclxuICBvdmVycmlkZSByZWFkb25seSBfY29tcG9uZW50TmFtZTogc3RyaW5nID0gJ3NlZ21lbnQnO1xyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkU2VnbWVudERlZmF1bHRzO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX1NFR01FTlRfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRTZWdtZW50RGVmYXVsdHMpIHtcclxuICAgIHN1cGVyKGRlZmF1bHRzKTtcclxuICB9XHJcblxyXG4gIC8vISBhcHBlYXJhbmNlXHJcbiAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IGlucHV0PFNlZ21lbnRBcHBlYXJhbmNlPih0aGlzLl9ERUZBVUxUUy5hcHBlYXJhbmNlKTtcclxuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8U2VnbWVudFZhcmlhbnQ+KHRoaXMuX0RFRkFVTFRTLnZhcmlhbnQpO1xyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8Q29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcclxuICByZWFkb25seSBhbGlnbiA9IGlucHV0PE9uZUF4aXNBbGlnbm1lbnQ+KHRoaXMuX0RFRkFVTFRTLmFsaWduKTtcclxuXHJcbiAgcmVhZG9ubHkgaWNvbkJhc2VkID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5pY29uQmFzZWQsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuICByZWFkb25seSBjb21wYWN0ID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jb21wYWN0LCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcblxyXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT5cclxuICAgIFtcclxuICAgICAgYGFyZC1hcHBlYXJhbmNlLSR7dGhpcy5hcHBlYXJhbmNlKCl9YCxcclxuICAgICAgYGFyZC12YXJpYW50LSR7dGhpcy52YXJpYW50KCl9YCxcclxuICAgICAgYGFyZC1jb2xvci0ke3RoaXMuY29sb3IoKX1gLFxyXG4gICAgICBgYXJkLWFsaWduLSR7dGhpcy5hbGlnbigpfWAsXHJcbiAgICAgIHRoaXMuaWNvbkJhc2VkKCkgPyAnYXJkLWljb24tYmFzZWQnIDogJycsXHJcbiAgICAgIHRoaXMuY29tcGFjdCgpID8gJ2FyZC1jb21wYWN0JyA6ICcnLFxyXG4gICAgICB0aGlzLml0ZW1Sb3dzKCkubGVuZ3RoID4gMSA/ICdhcmQtbXVsdGlyb3cnIDogJ2FyZC1zaW5nbGVyb3cnLFxyXG4gICAgXS5qb2luKCcgJylcclxuICApO1xyXG5cclxuICAvLyEgY29lcmNlZCBwcm9wZXJ0aWVzXHJcbiAgcmVhZG9ubHkgYXV0b0ZvY3VzID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5hdXRvRm9jdXMsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuICByZWFkb25seSB1bmlmb3JtV2lkdGhzID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy51bmlmb3JtV2lkdGhzLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcblxyXG4gIHJlYWRvbmx5IGl0ZW1zUGVyUm93ID0gaW5wdXQ8bnVtYmVyLCBhbnk+KHRoaXMuX0RFRkFVTFRTLml0ZW1zUGVyUm93LCB7XHJcbiAgICB0cmFuc2Zvcm06IHYgPT4ge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHYsIHRoaXMuX0RFRkFVTFRTLml0ZW1zUGVyUm93KTtcclxuICAgICAgaWYgKG5ld1ZhbHVlID09PSAwKSB0aHJvdyBuZXcgRXJyb3IoYEFSRC1GVDEwNDBhOiBDYW5ub3Qgc2V0IDxhcmQtc2VnbWVudD4ncyBbaXRlbXNQZXJSb3ddIHRvIDAuYCk7XHJcbiAgICAgIGlmIChuZXdWYWx1ZSA8IDApXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBUkQtRlQxMDQwYjogQ2Fubm90IHNldCA8YXJkLXNlZ21lbnQ+J3MgW2l0ZW1zUGVyUm93XSB0byBhIG5lZ2F0aXZlIHZhbHVlLCBnb3QgXCIke25ld1ZhbHVlfVwiLmApO1xyXG4gICAgICBpZiAobmV3VmFsdWUgJSAxICE9PSAwKSB7XHJcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gTWF0aC5yb3VuZChuZXdWYWx1ZSkgfHwgMTsgLy8gcm91bmQgdG8gbmVhcmVzdCBpbnQsIGJ1dCBuZXZlciByb3VuZCB0byB6ZXJvXHJcbiAgICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgQVJELVdBMTA0MGM6IENhbm5vdCBzZXQgPGFyZC1zZWdtZW50PidzIFtpdGVtc1BlclJvd10gdG8gYSBub24taW50ZXJnZXIgdmFsdWUsIGdvdCBcIiR7bmV3VmFsdWV9XCIuIFRoZSB2YWx1ZSB3YXMgcm91bmRlZCB0byBcIiR7cm91bmRlZFZhbHVlfVwiLmBcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwobmV3VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICAgIH0sXHJcbiAgfSk7XHJcbiAgZ2V0IGl0ZW1zSW5BY3R1YWxSb3coKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zUGVyUm93KCkgPT09IEluZmluaXR5ID8gdGhpcy5pdGVtcy5sZW5ndGggOiB0aGlzLml0ZW1zUGVyUm93KCk7XHJcbiAgfVxyXG5cclxuICAvLyEgb3B0aW9uIHRlbXBsYXRlXHJcbiAgcmVhZG9ubHkgb3B0aW9uVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkU2VnbWVudE9wdGlvblRlbXBsYXRlRGlyZWN0aXZlKTtcclxuXHJcbiAgLy8hIGxpZmVjeWNsZSBob29rc1xyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cygpKSB7XHJcbiAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vISBpdGVtIHJvdyBnZXR0ZXJzXHJcbiAgcmVhZG9ubHkgaXRlbVJvd3MgPSBjb21wdXRlZDxTZWdtZW50Um93W10+KCgpID0+IHtcclxuICAgIGNvbnN0IGl0ZW1Sb3dzOiBTZWdtZW50Um93W10gPSBbXTtcclxuICAgIGxldCBjdXJyZW50Um93OiBBcmRPcHRpb25TaW1wbGVbXSA9IFtdO1xyXG4gICAgLy9nZXQgYWxsIHJvd3NcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XHJcbiAgICAgIC8vYWRkIGl0ZW1cclxuICAgICAgY3VycmVudFJvdy5wdXNoKGl0ZW0pO1xyXG5cclxuICAgICAgLy9wdXNoIGlmIGl0ZW0gYW1vdW50IHJlYWNoZWQgdGhlIGxpbWl0XHJcbiAgICAgIGlmICh0aGlzLml0ZW1zUGVyUm93KCkgJiYgY3VycmVudFJvdy5sZW5ndGggPT09IHRoaXMuaXRlbXNQZXJSb3coKSkge1xyXG4gICAgICAgIGl0ZW1Sb3dzLnB1c2goeyBvcHRpb25zOiBjdXJyZW50Um93IH0pO1xyXG4gICAgICAgIGN1cnJlbnRSb3cgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9wdXNoIHRoZSBsYXN0IHJvdyBpZiBpdCBpcyBub3QgZW1wdHlcclxuICAgIGlmIChjdXJyZW50Um93Lmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBpdGVtUm93cy5wdXNoKHtcclxuICAgICAgICBvcHRpb25zOiBjdXJyZW50Um93LFxyXG4gICAgICAgIGlzTm90RnVsbDogQm9vbGVhbih0aGlzLml0ZW1zUGVyUm93KCkpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtUm93cztcclxuICB9KTtcclxuXHJcbiAgLy8hIGZvY3VzIGhhbmRsZXIgb3ZlcnJpZGVcclxuICBvdmVycmlkZSBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkZvY3VzKGV2ZW50KTtcclxuXHJcbiAgICBpZiAodGhpcy5pdGVtU3RvcmFnZS5pc0FueUl0ZW1IaWdobGlnaHRlZCgpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25CbHVyKGV2ZW50KTtcclxuXHJcbiAgICB0aGlzLml0ZW1TdG9yYWdlLnVuaGlnaGxpZ2h0QWxsKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gIGNsYXNzPVwiYXJkLXNlZ21lbnQtY29udGFpbmVyXCJcclxuICBbY2xhc3MuYXJkLWRpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gIFthcmlhRGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxyXG4gIFtjbGFzcy5hcmQtZm9jdXMtdmlzaWJsZV09XCJpc0ZvY3VzZWQoKSAmJiAhaXNNb3VzZUJlaW5nVXNlZFwiXHJcbiAgW2NsYXNzLmFyZC11c2luZy1rZXlib2FyZF09XCIhaXNNb3VzZUJlaW5nVXNlZFwiXHJcbiAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXHJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4+XHJcbiAgQGZvciAocm93IG9mIGl0ZW1Sb3dzKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImFyZC1zZWdtZW50LXJvd1wiXHJcbiAgICAgIFtjbGFzcy5hcmQtc2VnbWVudC1yb3ctcGFydGlhbF09XCJyb3cuaXNOb3RGdWxsXCJcclxuICAgICAgW2NsYXNzLmFyZC1zZWdtZW50LXJvdy11bmlmb3JtXT1cInVuaWZvcm1XaWR0aHMoKSB8fCBpdGVtc1BlclJvdygpIDwgaXRlbXMubGVuZ3RoXCJcclxuICAgICAgW3N0eWxlXT1cInsgJy0tYXJkLV9zZWdtZW50LXJvdy1pdGVtcyc6IGl0ZW1zSW5BY3R1YWxSb3cgfVwiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiByb3cub3B0aW9uczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImFyZC1zZWdtZW50LW9wdGlvblwiXHJcbiAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLWRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCgpIHx8IChpc0l0ZW1MaW1pdFJlYWNoZWQoKSAmJiAhb3B0aW9uLnNlbGVjdGVkKCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLXNlbGVjdGVkXT1cIm9wdGlvbi5zZWxlY3RlZCgpXCJcclxuICAgICAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLWhpZ2hsaWdodGVkXT1cIm9wdGlvbi5oaWdobGlnaHRlZCgpXCJcclxuICAgICAgICAgIFthcmlhU2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25JdGVtTW91c2VFbnRlcihvcHRpb24sICRldmVudClcIlxyXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25JdGVtTW91c2VMZWF2ZShvcHRpb24sICRldmVudClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKG9wdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWJ1dHRvbi1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLW9wdGlvbi1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsKCkgfX1cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlKCk/LnRlbXBsYXRlIHx8IGRlZmF1bHRPcHRpb25UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0T3B0aW9uQ29udGV4dChvcHRpb24pXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|