valtech-components 2.0.979 → 2.0.981
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/components/atoms/countdown/countdown.component.mjs +3 -3
- package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
- package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +3 -3
- package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +3 -3
- package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -3
- package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +3 -3
- package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +3 -3
- package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +3 -3
- package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +3 -3
- package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
- package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +3 -3
- package/esm2022/lib/components/molecules/page-links/page-links.component.mjs +3 -3
- package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
- package/esm2022/lib/components/molecules/rating/rating.component.mjs +3 -3
- package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +3 -3
- package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +3 -3
- package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +3 -3
- package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +3 -3
- package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +3 -3
- package/esm2022/lib/components/organisms/attachment-uploader/attachment-uploader.component.mjs +3 -3
- package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
- package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +3 -3
- package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +3 -3
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +3 -3
- package/esm2022/lib/components/organisms/debug-console/debug-console.component.mjs +2 -2
- package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/preferences-view/preferences-view.component.mjs +59 -26
- package/esm2022/lib/services/preferences/preferences.service.mjs +3 -2
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +136 -102
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/preferences-view/preferences-view.component.d.ts +8 -4
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/styles/alert.scss +4 -4
|
@@ -269,7 +269,7 @@ export class CurrencyInputComponent {
|
|
|
269
269
|
</ion-note>
|
|
270
270
|
}
|
|
271
271
|
</div>
|
|
272
|
-
`, isInline: true, styles: [":host{display:block;width:100%}.currency-input-container.has-error .currency-input-wrapper{border-color:var(--ion-color-danger)}.currency-label{display:block;font-size
|
|
272
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.currency-input-container.has-error .currency-input-wrapper{border-color:var(--ion-color-danger)}.currency-label{display:block;font-size:.875rem;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.currency-input-wrapper{display:flex;align-items:center;border:1px solid var(--ion-color-medium-shade);border-radius:8px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s}.currency-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.currency-input-wrapper.disabled{opacity:.5;pointer-events:none}.currency-selector{flex-shrink:0;border-right:1px solid var(--ion-color-light-shade);background:var(--ion-color-light)}.currency-selector ion-select{--padding-start: 12px;--padding-end: 8px;min-width:100px}.currency-symbol{flex-shrink:0;padding:0 12px;font-weight:600;color:var(--ion-color-medium-shade);font-size:1rem}.currency-symbol.prefix{border-right:1px solid var(--ion-color-light-shade);background:var(--ion-color-light)}.currency-symbol.suffix{border-left:1px solid var(--ion-color-light-shade);background:var(--ion-color-light)}.amount-input{flex:1}.amount-input ion-input{--padding-start: 12px;--padding-end: 12px;--background: transparent;text-align:right;font-size:1rem;font-weight:500}.amount-input ion-input::part(native){text-align:right}.hint{display:block;font-size:.75rem;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }] }); }
|
|
273
273
|
}
|
|
274
274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyInputComponent, decorators: [{
|
|
275
275
|
type: Component,
|
|
@@ -338,10 +338,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
338
338
|
</ion-note>
|
|
339
339
|
}
|
|
340
340
|
</div>
|
|
341
|
-
`, styles: [":host{display:block;width:100%}.currency-input-container.has-error .currency-input-wrapper{border-color:var(--ion-color-danger)}.currency-label{display:block;font-size
|
|
341
|
+
`, styles: [":host{display:block;width:100%}.currency-input-container.has-error .currency-input-wrapper{border-color:var(--ion-color-danger)}.currency-label{display:block;font-size:.875rem;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.currency-input-wrapper{display:flex;align-items:center;border:1px solid var(--ion-color-medium-shade);border-radius:8px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s}.currency-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.currency-input-wrapper.disabled{opacity:.5;pointer-events:none}.currency-selector{flex-shrink:0;border-right:1px solid var(--ion-color-light-shade);background:var(--ion-color-light)}.currency-selector ion-select{--padding-start: 12px;--padding-end: 8px;min-width:100px}.currency-symbol{flex-shrink:0;padding:0 12px;font-weight:600;color:var(--ion-color-medium-shade);font-size:1rem}.currency-symbol.prefix{border-right:1px solid var(--ion-color-light-shade);background:var(--ion-color-light)}.currency-symbol.suffix{border-left:1px solid var(--ion-color-light-shade);background:var(--ion-color-light)}.amount-input{flex:1}.amount-input ion-input{--padding-start: 12px;--padding-end: 12px;--background: transparent;text-align:right;font-size:1rem;font-weight:500}.amount-input ion-input::part(native){text-align:right}.hint{display:block;font-size:.75rem;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}\n"] }]
|
|
342
342
|
}], propDecorators: { props: [{
|
|
343
343
|
type: Input
|
|
344
344
|
}], currencyChange: [{
|
|
345
345
|
type: Output
|
|
346
346
|
}] } });
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jdXJyZW5jeS1pbnB1dC9jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQW1FLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUEwRTdHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQXhHbkM7UUEyR1ksbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUV4RSxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRXpCLG1CQUFjLEdBQUcsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDN0Msb0JBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV0QyxzQkFBaUIsR0FBd0IsSUFBSSxDQUFDO1FBQzlDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0EyTTNCO0lBek1DLFFBQVE7UUFDTix1QkFBdUI7UUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFD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SUFDbkIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLO1lBQ0wsY0FBYyxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0QsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXJOVSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5SkFwR3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlFVCxrakRBbEVTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFFBQVEsOGVBQUUsU0FBUyxrVkFBRSxlQUFlLDZGQUFFLE9BQU87OzRGQXFHL0Usc0JBQXNCO2tCQXhHbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUNqRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRVQ7OEJBb0NRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25JbnB1dCwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ3VycmVuY3lJbnB1dE1ldGFkYXRhLCBDdXJyZW5jeUlucHV0Q2hhbmdlRXZlbnQsIEN1cnJlbmN5Q29uZmlnLCBDT01NT05fQ1VSUkVOQ0lFUyB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY3VycmVuY3ktaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dCwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIiBbY2xhc3MuaGFzLWVycm9yXT1cImhhc0Vycm9yXCI+XG4gICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImN1cnJlbmN5LWxhYmVsXCI+e3sgZ2V0TGFiZWwoKSB9fTwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dC13cmFwcGVyXCIgW2NsYXNzLmRpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIj5cbiAgICAgICAgQGlmIChwcm9wcy5zaG93Q3VycmVuY3lTZWxlY3Rvcikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW5jeS1zZWxlY3RvclwiPlxuICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImN1cnJlbmN5Q29udHJvbFwiXG4gICAgICAgICAgICAgIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25DdXJyZW5jeUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGZvciAoY3VyciBvZiBnZXRDdXJyZW5jeUxpc3QoKTsgdHJhY2sgY3Vyci5jb2RlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJjdXJyLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGN1cnIuY29kZSB9fSAoe3sgY3Vyci5zeW1ib2wgfX0pXG4gICAgICAgICAgICAgICAgPC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIGlmIChwcm9wcy5zaG93U3ltYm9sICE9PSBmYWxzZSkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY3VycmVuY3ktc3ltYm9sXCJcbiAgICAgICAgICAgIFtjbGFzcy5wcmVmaXhdPVwiZ2V0U3ltYm9sUG9zaXRpb24oKSA9PT0gJ3ByZWZpeCdcIlxuICAgICAgICAgICAgW2NsYXNzLnN1ZmZpeF09XCJnZXRTeW1ib2xQb3NpdGlvbigpID09PSAnc3VmZml4J1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChnZXRTeW1ib2xQb3NpdGlvbigpID09PSAncHJlZml4Jykge1xuICAgICAgICAgICAgICB7eyBnZXRDdXJyZW5jeVN5bWJvbCgpIH19XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50LWlucHV0XCI+XG4gICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRpc3BsYXlDb250cm9sXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cImRlY2ltYWxcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiXG4gICAgICAgICAgICAoaW9uSW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgICAgIChpb25Gb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgICAgID48L2lvbi1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChwcm9wcy5zaG93U3ltYm9sICE9PSBmYWxzZSAmJiBnZXRTeW1ib2xQb3NpdGlvbigpID09PSAnc3VmZml4JyAmJiAhcHJvcHMuc2hvd0N1cnJlbmN5U2VsZWN0b3IpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VycmVuY3ktc3ltYm9sIHN1ZmZpeFwiPlxuICAgICAgICAgICAge3sgZ2V0Q3VycmVuY3lTeW1ib2woKSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChwcm9wcy5oaW50ICYmICFoYXNFcnJvcikge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJoaW50XCI+e3sgZ2V0SGludCgpIH19PC9pb24tbm90ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChoYXNFcnJvciAmJiBwcm9wcy5zaG93RXJyb3JzKSB7XG4gICAgICAgIDxpb24tbm90ZSBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgIDwvaW9uLW5vdGU+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtY3VycmVuY3ktaW5wdXRcbiAqXG4gKiBBIGN1cnJlbmN5L21vbmV5IGlucHV0IHdpdGggZm9ybWF0dGluZywgc3ltYm9sIGRpc3BsYXksIGFuZCBvcHRpb25hbCBjdXJyZW5jeSBzZWxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1jdXJyZW5jeS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHByaWNlQ29udHJvbCxcbiAqICAgICBjdXJyZW5jeUNvZGU6ICdVU0QnLFxuICogICAgIHBsYWNlaG9sZGVyOiAnMC4wMCdcbiAqICAgfVwiXG4gKiA+PC92YWwtY3VycmVuY3ktaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGN1cnJlbmN5IHNlbGVjdG9yXG4gKiBgYGBodG1sXG4gKiA8dmFsLWN1cnJlbmN5LWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogYW1vdW50Q29udHJvbCxcbiAqICAgICBsYWJlbDogJ0Ftb3VudCcsXG4gKiAgICAgc2hvd0N1cnJlbmN5U2VsZWN0b3I6IHRydWUsXG4gKiAgICAgY3VycmVuY2llczogbXlDdXJyZW5jaWVzLFxuICogICAgIG1pbjogMCxcbiAqICAgICBtYXg6IDEwMDAwLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChjdXJyZW5jeUNoYW5nZSk9XCJvbkN1cnJlbmN5Q2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLWN1cnJlbmN5LWlucHV0PlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wczogQ3VycmVuY3lJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBjdXJyZW5jeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VycmVuY3lJbnB1dENoYW5nZUV2ZW50PigpO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBkaXNwbGF5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcbiAgY3VycmVuY3lDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgdmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzRm9jdXNlZCA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGN1cnJlbmN5XG4gICAgY29uc3QgZGVmYXVsdEN1cnJlbmN5ID0gdGhpcy5wcm9wcy5jdXJyZW5jeUNvZGUgfHwgdGhpcy5wcm9wcy5jdXJyZW5jeT8uY29kZSB8fCAnVVNEJztcbiAgICB0aGlzLmN1cnJlbmN5Q29udHJvbC5zZXRWYWx1ZShkZWZhdWx0Q3VycmVuY3kpO1xuXG4gICAgLy8gRm9ybWF0IGluaXRpYWwgdmFsdWVcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRyb2wuc2V0VmFsdWUodGhpcy5mb3JtYXRWYWx1ZSh0aGlzLnByb3BzLmNvbnRyb2wudmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGlmICghdGhpcy5pc0ZvY3VzZWQgJiYgdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5wbGFjZWhvbGRlciB8fCB0aGlzLmdldERlZmF1bHRQbGFjZWhvbGRlcigpO1xuICB9XG5cbiAgZ2V0SGludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlY2ltYWxzID0gdGhpcy5nZXREZWNpbWFsUGxhY2VzKCk7XG4gICAgcmV0dXJuIGRlY2ltYWxzID4gMCA/IGAwLiR7JzAnLnJlcGVhdChkZWNpbWFscyl9YCA6ICcwJztcbiAgfVxuXG4gIGdldEN1cnJlbmN5TGlzdCgpOiBDdXJyZW5jeUNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jdXJyZW5jaWVzIHx8IENPTU1PTl9DVVJSRU5DSUVTO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDdXJyZW5jeSgpOiBDdXJyZW5jeUNvbmZpZyB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuY3VycmVuY3lDb250cm9sLnZhbHVlIHx8ICdVU0QnO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnByb3BzLmN1cnJlbmN5IHx8XG4gICAgICB0aGlzLmdldEN1cnJlbmN5TGlzdCgpLmZpbmQoYyA9PiBjLmNvZGUgPT09IGNvZGUpIHx8XG4gICAgICBDT01NT05fQ1VSUkVOQ0lFU1swXVxuICAgICk7XG4gIH1cblxuICBnZXRDdXJyZW5jeVN5bWJvbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkQ3VycmVuY3koKS5zeW1ib2w7XG4gIH1cblxuICBnZXRTeW1ib2xQb3NpdGlvbigpOiAncHJlZml4JyB8ICdzdWZmaXgnIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RlZEN1cnJlbmN5KCkuc3ltYm9sUG9zaXRpb24gfHwgJ3ByZWZpeCc7XG4gIH1cblxuICBnZXREZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVjaW1hbFBsYWNlcyA/PyB0aGlzLmdldFNlbGVjdGVkQ3VycmVuY3koKS5kZWNpbWFsUGxhY2VzID8/IDI7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5wcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZSB8fCAnJztcblxuICAgIC8vIFBhcnNlIHRoZSBudW1lcmljIHZhbHVlXG4gICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gdGhpcy5wYXJzZVZhbHVlKGlucHV0VmFsdWUpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBtYWluIGNvbnRyb2wgd2l0aCByYXcgbnVtYmVyXG4gICAgdGhpcy5wcm9wcy5jb250cm9sPy5zZXRWYWx1ZShudW1lcmljVmFsdWUpO1xuXG4gICAgLy8gRW1pdCBjaGFuZ2VcbiAgICB0aGlzLmVtaXRDaGFuZ2UobnVtZXJpY1ZhbHVlKTtcbiAgfVxuXG4gIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuXG4gICAgLy8gU2hvdyByYXcgbnVtYmVyIGZvciBlZGl0aW5nXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKFN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMucHJvcHMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuXG4gICAgLy8gRm9ybWF0IHRoZSBkaXNwbGF5IHZhbHVlXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBvbkN1cnJlbmN5Q2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIC8vIFJlZm9ybWF0IHdpdGggbmV3IGN1cnJlbmN5IHNldHRpbmdzXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRDaGFuZ2UodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVZhbHVlKGlucHV0OiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoIWlucHV0IHx8IGlucHV0LnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbmN5ID0gdGhpcy5nZXRTZWxlY3RlZEN1cnJlbmN5KCk7XG5cbiAgICAvLyBSZW1vdmUgY3VycmVuY3kgc3ltYm9sXG4gICAgbGV0IGNsZWFuZWQgPSBpbnB1dC5yZXBsYWNlKGN1cnJlbmN5LnN5bWJvbCwgJycpO1xuXG4gICAgLy8gUmVtb3ZlIHRob3VzYW5kcyBzZXBhcmF0b3JcbiAgICBjb25zdCB0aG91c2FuZHNTZXAgPSB0aGlzLnByb3BzLnNob3dUaG91c2FuZHNTZXBhcmF0b3IgIT09IGZhbHNlID8gKGN1cnJlbmN5LnRob3VzYW5kc1NlcGFyYXRvciB8fCAnLCcpIDogJyc7XG4gICAgaWYgKHRob3VzYW5kc1NlcCkge1xuICAgICAgY2xlYW5lZCA9IGNsZWFuZWQuc3BsaXQodGhvdXNhbmRzU2VwKS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICAvLyBOb3JtYWxpemUgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICBjb25zdCBkZWNpbWFsU2VwID0gY3VycmVuY3kuZGVjaW1hbFNlcGFyYXRvciB8fCAnLic7XG4gICAgY2xlYW5lZCA9IGNsZWFuZWQucmVwbGFjZShkZWNpbWFsU2VwLCAnLicpO1xuXG4gICAgLy8gUmVtb3ZlIGFueSByZW1haW5pbmcgbm9uLW51bWVyaWMgY2hhcmFjdGVycyAoZXhjZXB0IG1pbnVzIGFuZCBkZWNpbWFsKVxuICAgIGNsZWFuZWQgPSBjbGVhbmVkLnJlcGxhY2UoL1teXFxkLlxcLV0vZywgJycpO1xuXG4gICAgLy8gSGFuZGxlIG5lZ2F0aXZlXG4gICAgaWYgKCF0aGlzLnByb3BzLmFsbG93TmVnYXRpdmUpIHtcbiAgICAgIGNsZWFuZWQgPSBjbGVhbmVkLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KGNsZWFuZWQpO1xuXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgbWluL21heCBjb25zdHJhaW50c1xuICAgIGlmICh0aGlzLnByb3BzLm1pbiAhPT0gdW5kZWZpbmVkICYmIHZhbHVlIDwgdGhpcy5wcm9wcy5taW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1pbjtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMubWF4ICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPiB0aGlzLnByb3BzLm1heCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubWF4O1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgY3VycmVuY3kgPSB0aGlzLmdldFNlbGVjdGVkQ3VycmVuY3koKTtcbiAgICBjb25zdCBkZWNpbWFscyA9IHRoaXMuZ2V0RGVjaW1hbFBsYWNlcygpO1xuXG4gICAgLy8gRm9ybWF0IHRoZSBudW1iZXJcbiAgICBsZXQgZm9ybWF0dGVkID0gdmFsdWUudG9GaXhlZChkZWNpbWFscyk7XG5cbiAgICAvLyBSZXBsYWNlIGRlY2ltYWwgc2VwYXJhdG9yXG4gICAgY29uc3QgZGVjaW1hbFNlcCA9IGN1cnJlbmN5LmRlY2ltYWxTZXBhcmF0b3IgfHwgJy4nO1xuICAgIGZvcm1hdHRlZCA9IGZvcm1hdHRlZC5yZXBsYWNlKCcuJywgZGVjaW1hbFNlcCk7XG5cbiAgICAvLyBBZGQgdGhvdXNhbmRzIHNlcGFyYXRvclxuICAgIGlmICh0aGlzLnByb3BzLnNob3dUaG91c2FuZHNTZXBhcmF0b3IgIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCB0aG91c2FuZHNTZXAgPSBjdXJyZW5jeS50aG91c2FuZHNTZXBhcmF0b3IgfHwgJywnO1xuICAgICAgY29uc3QgcGFydHMgPSBmb3JtYXR0ZWQuc3BsaXQoZGVjaW1hbFNlcCk7XG4gICAgICBwYXJ0c1swXSA9IHBhcnRzWzBdLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kc1NlcCk7XG4gICAgICBmb3JtYXR0ZWQgPSBwYXJ0cy5qb2luKGRlY2ltYWxTZXApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbmN5Q2hhbmdlLmVtaXQoe1xuICAgICAgdmFsdWUsXG4gICAgICBmb3JtYXR0ZWRWYWx1ZTogdmFsdWUgIT09IG51bGwgPyB0aGlzLmZvcm1hdFZhbHVlKHZhbHVlKSA6ICcnLFxuICAgICAgY3VycmVuY3k6IHRoaXMuZ2V0U2VsZWN0ZWRDdXJyZW5jeSgpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jdXJyZW5jeS1pbnB1dC9jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQW1FLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUEwRTdHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQXhHbkM7UUEyR1ksbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUV4RSxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRXpCLG1CQUFjLEdBQUcsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDN0Msb0JBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV0QyxzQkFBaUIsR0FBd0IsSUFBSSxDQUFDO1FBQzlDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0EyTTNCO0lBek1DLFFBQVE7UUFDTix1QkFBdUI7UUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFD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SUFDbkIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLO1lBQ0wsY0FBYyxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0QsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXJOVSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5SkFwR3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlFVCx5akRBbEVTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFFBQVEsOGVBQUUsU0FBUyxrVkFBRSxlQUFlLDZGQUFFLE9BQU87OzRGQXFHL0Usc0JBQXNCO2tCQXhHbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUNqRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRVQ7OEJBb0NRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25JbnB1dCwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ3VycmVuY3lJbnB1dE1ldGFkYXRhLCBDdXJyZW5jeUlucHV0Q2hhbmdlRXZlbnQsIEN1cnJlbmN5Q29uZmlnLCBDT01NT05fQ1VSUkVOQ0lFUyB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY3VycmVuY3ktaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dCwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIiBbY2xhc3MuaGFzLWVycm9yXT1cImhhc0Vycm9yXCI+XG4gICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImN1cnJlbmN5LWxhYmVsXCI+e3sgZ2V0TGFiZWwoKSB9fTwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dC13cmFwcGVyXCIgW2NsYXNzLmRpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIj5cbiAgICAgICAgQGlmIChwcm9wcy5zaG93Q3VycmVuY3lTZWxlY3Rvcikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW5jeS1zZWxlY3RvclwiPlxuICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImN1cnJlbmN5Q29udHJvbFwiXG4gICAgICAgICAgICAgIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25DdXJyZW5jeUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGZvciAoY3VyciBvZiBnZXRDdXJyZW5jeUxpc3QoKTsgdHJhY2sgY3Vyci5jb2RlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJjdXJyLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGN1cnIuY29kZSB9fSAoe3sgY3Vyci5zeW1ib2wgfX0pXG4gICAgICAgICAgICAgICAgPC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIGlmIChwcm9wcy5zaG93U3ltYm9sICE9PSBmYWxzZSkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY3VycmVuY3ktc3ltYm9sXCJcbiAgICAgICAgICAgIFtjbGFzcy5wcmVmaXhdPVwiZ2V0U3ltYm9sUG9zaXRpb24oKSA9PT0gJ3ByZWZpeCdcIlxuICAgICAgICAgICAgW2NsYXNzLnN1ZmZpeF09XCJnZXRTeW1ib2xQb3NpdGlvbigpID09PSAnc3VmZml4J1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChnZXRTeW1ib2xQb3NpdGlvbigpID09PSAncHJlZml4Jykge1xuICAgICAgICAgICAgICB7eyBnZXRDdXJyZW5jeVN5bWJvbCgpIH19XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50LWlucHV0XCI+XG4gICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRpc3BsYXlDb250cm9sXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cImRlY2ltYWxcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiXG4gICAgICAgICAgICAoaW9uSW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgICAgIChpb25Gb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgICAgID48L2lvbi1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChwcm9wcy5zaG93U3ltYm9sICE9PSBmYWxzZSAmJiBnZXRTeW1ib2xQb3NpdGlvbigpID09PSAnc3VmZml4JyAmJiAhcHJvcHMuc2hvd0N1cnJlbmN5U2VsZWN0b3IpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VycmVuY3ktc3ltYm9sIHN1ZmZpeFwiPlxuICAgICAgICAgICAge3sgZ2V0Q3VycmVuY3lTeW1ib2woKSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChwcm9wcy5oaW50ICYmICFoYXNFcnJvcikge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJoaW50XCI+e3sgZ2V0SGludCgpIH19PC9pb24tbm90ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChoYXNFcnJvciAmJiBwcm9wcy5zaG93RXJyb3JzKSB7XG4gICAgICAgIDxpb24tbm90ZSBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgIDwvaW9uLW5vdGU+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtY3VycmVuY3ktaW5wdXRcbiAqXG4gKiBBIGN1cnJlbmN5L21vbmV5IGlucHV0IHdpdGggZm9ybWF0dGluZywgc3ltYm9sIGRpc3BsYXksIGFuZCBvcHRpb25hbCBjdXJyZW5jeSBzZWxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1jdXJyZW5jeS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHByaWNlQ29udHJvbCxcbiAqICAgICBjdXJyZW5jeUNvZGU6ICdVU0QnLFxuICogICAgIHBsYWNlaG9sZGVyOiAnMC4wMCdcbiAqICAgfVwiXG4gKiA+PC92YWwtY3VycmVuY3ktaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGN1cnJlbmN5IHNlbGVjdG9yXG4gKiBgYGBodG1sXG4gKiA8dmFsLWN1cnJlbmN5LWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogYW1vdW50Q29udHJvbCxcbiAqICAgICBsYWJlbDogJ0Ftb3VudCcsXG4gKiAgICAgc2hvd0N1cnJlbmN5U2VsZWN0b3I6IHRydWUsXG4gKiAgICAgY3VycmVuY2llczogbXlDdXJyZW5jaWVzLFxuICogICAgIG1pbjogMCxcbiAqICAgICBtYXg6IDEwMDAwLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChjdXJyZW5jeUNoYW5nZSk9XCJvbkN1cnJlbmN5Q2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLWN1cnJlbmN5LWlucHV0PlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wczogQ3VycmVuY3lJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBjdXJyZW5jeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VycmVuY3lJbnB1dENoYW5nZUV2ZW50PigpO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBkaXNwbGF5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcbiAgY3VycmVuY3lDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgdmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzRm9jdXNlZCA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGN1cnJlbmN5XG4gICAgY29uc3QgZGVmYXVsdEN1cnJlbmN5ID0gdGhpcy5wcm9wcy5jdXJyZW5jeUNvZGUgfHwgdGhpcy5wcm9wcy5jdXJyZW5jeT8uY29kZSB8fCAnVVNEJztcbiAgICB0aGlzLmN1cnJlbmN5Q29udHJvbC5zZXRWYWx1ZShkZWZhdWx0Q3VycmVuY3kpO1xuXG4gICAgLy8gRm9ybWF0IGluaXRpYWwgdmFsdWVcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRyb2wuc2V0VmFsdWUodGhpcy5mb3JtYXRWYWx1ZSh0aGlzLnByb3BzLmNvbnRyb2wudmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGlmICghdGhpcy5pc0ZvY3VzZWQgJiYgdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5wbGFjZWhvbGRlciB8fCB0aGlzLmdldERlZmF1bHRQbGFjZWhvbGRlcigpO1xuICB9XG5cbiAgZ2V0SGludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlY2ltYWxzID0gdGhpcy5nZXREZWNpbWFsUGxhY2VzKCk7XG4gICAgcmV0dXJuIGRlY2ltYWxzID4gMCA/IGAwLiR7JzAnLnJlcGVhdChkZWNpbWFscyl9YCA6ICcwJztcbiAgfVxuXG4gIGdldEN1cnJlbmN5TGlzdCgpOiBDdXJyZW5jeUNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jdXJyZW5jaWVzIHx8IENPTU1PTl9DVVJSRU5DSUVTO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDdXJyZW5jeSgpOiBDdXJyZW5jeUNvbmZpZyB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuY3VycmVuY3lDb250cm9sLnZhbHVlIHx8ICdVU0QnO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnByb3BzLmN1cnJlbmN5IHx8XG4gICAgICB0aGlzLmdldEN1cnJlbmN5TGlzdCgpLmZpbmQoYyA9PiBjLmNvZGUgPT09IGNvZGUpIHx8XG4gICAgICBDT01NT05fQ1VSUkVOQ0lFU1swXVxuICAgICk7XG4gIH1cblxuICBnZXRDdXJyZW5jeVN5bWJvbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkQ3VycmVuY3koKS5zeW1ib2w7XG4gIH1cblxuICBnZXRTeW1ib2xQb3NpdGlvbigpOiAncHJlZml4JyB8ICdzdWZmaXgnIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RlZEN1cnJlbmN5KCkuc3ltYm9sUG9zaXRpb24gfHwgJ3ByZWZpeCc7XG4gIH1cblxuICBnZXREZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVjaW1hbFBsYWNlcyA/PyB0aGlzLmdldFNlbGVjdGVkQ3VycmVuY3koKS5kZWNpbWFsUGxhY2VzID8/IDI7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5wcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZSB8fCAnJztcblxuICAgIC8vIFBhcnNlIHRoZSBudW1lcmljIHZhbHVlXG4gICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gdGhpcy5wYXJzZVZhbHVlKGlucHV0VmFsdWUpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBtYWluIGNvbnRyb2wgd2l0aCByYXcgbnVtYmVyXG4gICAgdGhpcy5wcm9wcy5jb250cm9sPy5zZXRWYWx1ZShudW1lcmljVmFsdWUpO1xuXG4gICAgLy8gRW1pdCBjaGFuZ2VcbiAgICB0aGlzLmVtaXRDaGFuZ2UobnVtZXJpY1ZhbHVlKTtcbiAgfVxuXG4gIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuXG4gICAgLy8gU2hvdyByYXcgbnVtYmVyIGZvciBlZGl0aW5nXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKFN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMucHJvcHMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuXG4gICAgLy8gRm9ybWF0IHRoZSBkaXNwbGF5IHZhbHVlXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBvbkN1cnJlbmN5Q2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIC8vIFJlZm9ybWF0IHdpdGggbmV3IGN1cnJlbmN5IHNldHRpbmdzXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRDaGFuZ2UodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVZhbHVlKGlucHV0OiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoIWlucHV0IHx8IGlucHV0LnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbmN5ID0gdGhpcy5nZXRTZWxlY3RlZEN1cnJlbmN5KCk7XG5cbiAgICAvLyBSZW1vdmUgY3VycmVuY3kgc3ltYm9sXG4gICAgbGV0IGNsZWFuZWQgPSBpbnB1dC5yZXBsYWNlKGN1cnJlbmN5LnN5bWJvbCwgJycpO1xuXG4gICAgLy8gUmVtb3ZlIHRob3VzYW5kcyBzZXBhcmF0b3JcbiAgICBjb25zdCB0aG91c2FuZHNTZXAgPSB0aGlzLnByb3BzLnNob3dUaG91c2FuZHNTZXBhcmF0b3IgIT09IGZhbHNlID8gKGN1cnJlbmN5LnRob3VzYW5kc1NlcGFyYXRvciB8fCAnLCcpIDogJyc7XG4gICAgaWYgKHRob3VzYW5kc1NlcCkge1xuICAgICAgY2xlYW5lZCA9IGNsZWFuZWQuc3BsaXQodGhvdXNhbmRzU2VwKS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICAvLyBOb3JtYWxpemUgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICBjb25zdCBkZWNpbWFsU2VwID0gY3VycmVuY3kuZGVjaW1hbFNlcGFyYXRvciB8fCAnLic7XG4gICAgY2xlYW5lZCA9IGNsZWFuZWQucmVwbGFjZShkZWNpbWFsU2VwLCAnLicpO1xuXG4gICAgLy8gUmVtb3ZlIGFueSByZW1haW5pbmcgbm9uLW51bWVyaWMgY2hhcmFjdGVycyAoZXhjZXB0IG1pbnVzIGFuZCBkZWNpbWFsKVxuICAgIGNsZWFuZWQgPSBjbGVhbmVkLnJlcGxhY2UoL1teXFxkLlxcLV0vZywgJycpO1xuXG4gICAgLy8gSGFuZGxlIG5lZ2F0aXZlXG4gICAgaWYgKCF0aGlzLnByb3BzLmFsbG93TmVnYXRpdmUpIHtcbiAgICAgIGNsZWFuZWQgPSBjbGVhbmVkLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KGNsZWFuZWQpO1xuXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgbWluL21heCBjb25zdHJhaW50c1xuICAgIGlmICh0aGlzLnByb3BzLm1pbiAhPT0gdW5kZWZpbmVkICYmIHZhbHVlIDwgdGhpcy5wcm9wcy5taW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1pbjtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMubWF4ICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPiB0aGlzLnByb3BzLm1heCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubWF4O1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgY3VycmVuY3kgPSB0aGlzLmdldFNlbGVjdGVkQ3VycmVuY3koKTtcbiAgICBjb25zdCBkZWNpbWFscyA9IHRoaXMuZ2V0RGVjaW1hbFBsYWNlcygpO1xuXG4gICAgLy8gRm9ybWF0IHRoZSBudW1iZXJcbiAgICBsZXQgZm9ybWF0dGVkID0gdmFsdWUudG9GaXhlZChkZWNpbWFscyk7XG5cbiAgICAvLyBSZXBsYWNlIGRlY2ltYWwgc2VwYXJhdG9yXG4gICAgY29uc3QgZGVjaW1hbFNlcCA9IGN1cnJlbmN5LmRlY2ltYWxTZXBhcmF0b3IgfHwgJy4nO1xuICAgIGZvcm1hdHRlZCA9IGZvcm1hdHRlZC5yZXBsYWNlKCcuJywgZGVjaW1hbFNlcCk7XG5cbiAgICAvLyBBZGQgdGhvdXNhbmRzIHNlcGFyYXRvclxuICAgIGlmICh0aGlzLnByb3BzLnNob3dUaG91c2FuZHNTZXBhcmF0b3IgIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCB0aG91c2FuZHNTZXAgPSBjdXJyZW5jeS50aG91c2FuZHNTZXBhcmF0b3IgfHwgJywnO1xuICAgICAgY29uc3QgcGFydHMgPSBmb3JtYXR0ZWQuc3BsaXQoZGVjaW1hbFNlcCk7XG4gICAgICBwYXJ0c1swXSA9IHBhcnRzWzBdLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kc1NlcCk7XG4gICAgICBmb3JtYXR0ZWQgPSBwYXJ0cy5qb2luKGRlY2ltYWxTZXApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbmN5Q2hhbmdlLmVtaXQoe1xuICAgICAgdmFsdWUsXG4gICAgICBmb3JtYXR0ZWRWYWx1ZTogdmFsdWUgIT09IG51bGwgPyB0aGlzLmZvcm1hdFZhbHVlKHZhbHVlKSA6ICcnLFxuICAgICAgY3VycmVuY3k6IHRoaXMuZ2V0U2VsZWN0ZWRDdXJyZW5jeSgpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -309,7 +309,7 @@ export class DateRangeInputComponent {
|
|
|
309
309
|
</ion-note>
|
|
310
310
|
}
|
|
311
311
|
</div>
|
|
312
|
-
`, isInline: true, styles: [":host{display:block;width:100%}.date-range-container.disabled{opacity:.5;pointer-events:none}.date-range-container.has-error .date-inputs-wrapper{border-color:var(--ion-color-danger)}.range-label{display:block;font-size
|
|
312
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.date-range-container.disabled{opacity:.5;pointer-events:none}.date-range-container.has-error .date-inputs-wrapper{border-color:var(--ion-color-danger)}.range-label{display:block;font-size:.875rem;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.date-inputs-wrapper{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--ion-color-medium-shade);border-radius:8px;background:var(--ion-background-color, #fff);transition:border-color .2s}.date-inputs-wrapper:focus-within{border-color:var(--ion-color-primary)}.horizontal .date-inputs-wrapper{flex-direction:row}.vertical .date-inputs-wrapper{flex-direction:column;align-items:stretch}.vertical .date-inputs-wrapper .date-separator{transform:rotate(90deg);align-self:center}.date-input{flex:1;display:flex;flex-direction:column;gap:4px}.date-input .date-label{font-size:.75rem;color:var(--ion-color-medium);font-weight:500}.date-input .button-container ion-datetime-button{--background: var(--ion-color-light);--border-radius: 6px}.date-input .button-container ion-datetime-button::part(native){padding:8px 12px;font-size:.875rem}.date-separator{display:flex;align-items:center;justify-content:center;color:var(--ion-color-medium);padding:0 4px}.date-separator ion-icon{font-size:1.125rem}.day-count{margin-top:8px;font-size:.8125rem;color:var(--ion-color-primary);font-weight:500;text-align:center}.hint{display:block;font-size:.75rem;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}ion-datetime{--background: var(--ion-background-color, #fff)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showAdjacentDays", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: IonDatetimeButton, selector: "ion-datetime-button", inputs: ["color", "datetime", "disabled", "mode"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
313
313
|
}
|
|
314
314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateRangeInputComponent, decorators: [{
|
|
315
315
|
type: Component,
|
|
@@ -407,10 +407,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
407
407
|
</ion-note>
|
|
408
408
|
}
|
|
409
409
|
</div>
|
|
410
|
-
`, styles: [":host{display:block;width:100%}.date-range-container.disabled{opacity:.5;pointer-events:none}.date-range-container.has-error .date-inputs-wrapper{border-color:var(--ion-color-danger)}.range-label{display:block;font-size
|
|
410
|
+
`, styles: [":host{display:block;width:100%}.date-range-container.disabled{opacity:.5;pointer-events:none}.date-range-container.has-error .date-inputs-wrapper{border-color:var(--ion-color-danger)}.range-label{display:block;font-size:.875rem;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.date-inputs-wrapper{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--ion-color-medium-shade);border-radius:8px;background:var(--ion-background-color, #fff);transition:border-color .2s}.date-inputs-wrapper:focus-within{border-color:var(--ion-color-primary)}.horizontal .date-inputs-wrapper{flex-direction:row}.vertical .date-inputs-wrapper{flex-direction:column;align-items:stretch}.vertical .date-inputs-wrapper .date-separator{transform:rotate(90deg);align-self:center}.date-input{flex:1;display:flex;flex-direction:column;gap:4px}.date-input .date-label{font-size:.75rem;color:var(--ion-color-medium);font-weight:500}.date-input .button-container ion-datetime-button{--background: var(--ion-color-light);--border-radius: 6px}.date-input .button-container ion-datetime-button::part(native){padding:8px 12px;font-size:.875rem}.date-separator{display:flex;align-items:center;justify-content:center;color:var(--ion-color-medium);padding:0 4px}.date-separator ion-icon{font-size:1.125rem}.day-count{margin-top:8px;font-size:.8125rem;color:var(--ion-color-primary);font-weight:500;text-align:center}.hint{display:block;font-size:.75rem;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:.75rem;margin-top:4px;padding-left:4px}ion-datetime{--background: var(--ion-background-color, #fff)}\n"] }]
|
|
411
411
|
}], propDecorators: { props: [{
|
|
412
412
|
type: Input
|
|
413
413
|
}], rangeChange: [{
|
|
414
414
|
type: Output
|
|
415
415
|
}] } });
|
|
416
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtcmFuZ2UtaW5wdXQvZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRzlDLFFBQVEsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUF1R25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQXJJcEM7UUF3SVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVqRSxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRXpCLHlCQUFvQixHQUFHLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUM1RCx1QkFBa0Is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dUJBQXVCO21HQUF2Qix1QkFBdUIscUpBakl4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThGVCw4cURBL0ZTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsb2hCQUFFLGlCQUFpQixtSEFBRSxRQUFRLHNEQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBa0k1Rix1QkFBdUI7a0JBckluQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQzlGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEZUOzhCQW9DUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25EYXRldGltZSxcbiAgSW9uRGF0ZXRpbWVCdXR0b24sXG4gIElvbk1vZGFsLFxuICBJb25Ob3RlLFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhcnJvd0ZvcndhcmRPdXRsaW5lLCBjYWxlbmRhck91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXRNZXRhZGF0YSwgRGF0ZVJhbmdlQ2hhbmdlRXZlbnQsIERhdGVSYW5nZVZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgYXJyb3dGb3J3YXJkT3V0bGluZSwgY2FsZW5kYXJPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1yYW5nZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWwsIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGF0ZS1yYW5nZS1jb250YWluZXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIlxuICAgICAgW2NsYXNzLmhvcml6b250YWxdPVwicHJvcHMubGF5b3V0ICE9PSAndmVydGljYWwnXCJcbiAgICAgIFtjbGFzcy52ZXJ0aWNhbF09XCJwcm9wcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwicmFuZ2UtbGFiZWxcIj57eyBnZXRMYWJlbCgpIH19PC9sYWJlbD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXRzLXdyYXBwZXJcIj5cbiAgICAgICAgPCEtLSBTdGFydCBEYXRlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dCBzdGFydC1kYXRlXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5zdGFydExhYmVsIHx8IHByb3BzLnN0YXJ0TGFiZWxDb250ZW50S2V5KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj57eyBnZXRTdGFydExhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBbZGF0ZXRpbWVdPVwic3RhcnREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cInN0YXJ0RGF0ZXRpbWVJZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsU3RhcnRDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbcHJlc2VudGF0aW9uXT1cInByb3BzLnByZXNlbnRhdGlvbiB8fCAnZGF0ZSdcIlxuICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwicHJvcHMubG9jYWxlIHx8ICdlcy1FUydcIlxuICAgICAgICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCJwcm9wcy5maXJzdERheU9mV2VlayA/PyAxXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImdldE1pbkRhdGUoKVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJnZXRNYXhTdGFydERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgZ2V0U3RhcnRMYWJlbCgpIHx8IGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBTZXBhcmF0b3IgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXNlcGFyYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZm9yd2FyZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBFbmQgRGF0ZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXQgZW5kLWRhdGVcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmVuZExhYmVsIHx8IHByb3BzLmVuZExhYmVsQ29udGVudEtleSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWxhYmVsXCI+e3sgZ2V0RW5kTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIFtkYXRldGltZV09XCJlbmREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cImVuZERhdGV0aW1lSWRcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbEVuZENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwcmVzZW50YXRpb25dPVwicHJvcHMucHJlc2VudGF0aW9uIHx8ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgW2xvY2FsZV09XCJwcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJ1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDFcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiZ2V0TWluRW5kRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImdldE1heERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uRW5kRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIHNsb3Q9XCJ0aXRsZVwiPnt7IGdldEVuZExhYmVsKCkgfHwgZ2V0RW5kRGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzaG93RGF5Q291bnQgJiYgZGF5Q291bnQgIT09IG51bGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRheS1jb3VudFwiPlxuICAgICAgICAgIHt7IGRheUNvdW50IH19IHt7IGdldERheUxhYmVsKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuaGludCAmJiAhaGFzRXJyb3IpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiaGludFwiPnt7IGdldEhpbnQoKSB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IgJiYgcHJvcHMuc2hvd0Vycm9ycykge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L2lvbi1ub3RlPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICpcbiAqIEEgZGF0ZSByYW5nZSBwaWNrZXIgd2l0aCBzdGFydCBhbmQgZW5kIGRhdGUgc2VsZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiBkYXRlUmFuZ2VDb250cm9sLFxuICogICAgIHN0YXJ0TGFiZWw6ICdDaGVjay1pbicsXG4gKiAgICAgZW5kTGFiZWw6ICdDaGVjay1vdXQnXG4gKiAgIH1cIlxuICogPjwvdmFsLWRhdGUtcmFuZ2UtaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHZhbGlkYXRpb25cbiAqIGBgYGh0bWxcbiAqIDx2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHJhbmdlQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1RyaXAgZGF0ZXMnLFxuICogICAgIHJlcXVpcmVCb3RoOiB0cnVlLFxuICogICAgIG1pblJhbmdlRGF5czogMixcbiAqICAgICBtYXhSYW5nZURheXM6IDMwLFxuICogICAgIGRpc2FibGVQYXN0RGF0ZXM6IHRydWUsXG4gKiAgICAgc2hvd0Vycm9yczogdHJ1ZVxuICogICB9XCJcbiAqICAgKHJhbmdlQ2hhbmdlKT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gKiA+PC92YWwtZGF0ZS1yYW5nZS1pbnB1dD5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BzOiBEYXRlUmFuZ2VJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVJhbmdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIGludGVybmFsU3RhcnRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBpbnRlcm5hbEVuZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgc3RhcnREYXRldGltZUlkID0gYHN0YXJ0LWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gIGVuZERhdGV0aW1lSWQgPSBgZW5kLWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG5cbiAgc2hvd0RheUNvdW50ID0gdHJ1ZTtcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICAvKiogR2V0IGRvbmUgYnV0dG9uIHRleHQgZnJvbSBwcm9wcyBvciBpMThuICovXG4gIGdldERvbmVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZG9uZVRleHQgfHwgdGhpcy5pMThuLnQoJ29rJyk7XG4gIH1cblxuICAvKiogR2V0IGNhbmNlbCBidXR0b24gdGV4dCBmcm9tIHByb3BzIG9yIGkxOG4gKi9cbiAgZ2V0Q2FuY2VsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgdGhpcy5pMThuLnQoJ2NhbmNlbCcpO1xuICB9XG5cbiAgLyoqIEdldCBzdGFydCBkYXRlIGZhbGxiYWNrIGxhYmVsICovXG4gIGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdzdGFydERhdGUnLCAnX2dsb2JhbCcpIHx8ICdTdGFydCBkYXRlJztcbiAgfVxuXG4gIC8qKiBHZXQgZW5kIGRhdGUgZmFsbGJhY2sgbGFiZWwgKi9cbiAgZ2V0RW5kRGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdlbmREYXRlJywgJ19nbG9iYWwnKSB8fCAnRW5kIGRhdGUnO1xuICB9XG5cbiAgLyoqIEdldCBkYXkvZGF5cyBsYWJlbCBiYXNlZCBvbiBjb3VudCAqL1xuICBnZXREYXlMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRheUNvdW50ID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2RheScsICdfZ2xvYmFsJykgfHwgJ2RheSc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZGF5cycsICdfZ2xvYmFsJykgfHwgJ2RheXMnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVXNlIHByb3ZpZGVkIGNvbnRyb2xzIG9yIGludGVybmFsIG9uZXNcbiAgICBpZiAodGhpcy5wcm9wcy5zdGFydENvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wgPSB0aGlzLnByb3BzLnN0YXJ0Q29udHJvbDtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuZW5kQ29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wgPSB0aGlzLnByb3BzLmVuZENvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIGlmICh0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZTtcbiAgICAgIGlmICh2YWx1ZS5zdGFydCkge1xuICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS5lbmQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wuc2V0VmFsdWUodmFsdWUuZW5kKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUuc3RhcnQgIT09IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuZW5kICE9PSB0aGlzLmludGVybmFsRW5kQ29udHJvbC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnNldFZhbHVlKHZhbHVlLmVuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0U3RhcnRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnN0YXJ0TGFiZWwgfHwgJyc7XG4gIH1cblxuICBnZXRFbmRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVuZExhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0SGludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRNaW5EYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuZGlzYWJsZVBhc3REYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWluO1xuICB9XG5cbiAgZ2V0TWF4RGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLmRpc2FibGVGdXR1cmVEYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWF4O1xuICB9XG5cbiAgZ2V0TWF4U3RhcnREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gU3RhcnQgZGF0ZSBjYW5ub3QgYmUgYWZ0ZXIgZW5kIGRhdGVcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG4gICAgaWYgKGVuZERhdGUpIHtcbiAgICAgIHJldHVybiBlbmREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNYXhEYXRlKCk7XG4gIH1cblxuICBnZXRNaW5FbmREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gRW5kIGRhdGUgY2Fubm90IGJlIGJlZm9yZSBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC52YWx1ZTtcbiAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICByZXR1cm4gc3RhcnREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNaW5EYXRlKCk7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5wcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldCBkYXlDb3VudCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgZW5kID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXN0YXJ0IHx8ICFlbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZW5kKTtcbiAgICBjb25zdCBkaWZmVGltZSA9IGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguY2VpbChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgZGlmZkRheXMpO1xuICB9XG5cbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25FbmREYXRlQ2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWFpbkNvbnRyb2woKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWU6IERhdGVSYW5nZVZhbHVlID0ge1xuICAgICAgc3RhcnQ6IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUsXG4gICAgICBlbmQ6IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIFZhbGlkYXRlIGFuZCBlbWl0XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVSYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHtcbiAgICAgIHZhbHVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIGRheUNvdW50OiB0aGlzLmRheUNvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJhbmdlKHZhbHVlOiBEYXRlUmFuZ2VWYWx1ZSk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIHJlcXVpcmVkXG4gICAgaWYgKHRoaXMucHJvcHMucmVxdWlyZUJvdGggJiYgKCF2YWx1ZS5zdGFydCB8fCAhdmFsdWUuZW5kKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGRheSBjb3VudCBjb25zdHJhaW50c1xuICAgIGNvbnN0IGRheXMgPSB0aGlzLmRheUNvdW50O1xuICAgIGlmIChkYXlzICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5taW5SYW5nZURheXMgIT09IHVuZGVmaW5lZCAmJiBkYXlzIDwgdGhpcy5wcm9wcy5taW5SYW5nZURheXMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzICE9PSB1bmRlZmluZWQgJiYgZGF5cyA+IHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
416
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtcmFuZ2UtaW5wdXQvZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRzlDLFFBQVEsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUF1R25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQXJJcEM7UUF3SVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVqRSxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRXpCLHlCQUFvQixHQUFHLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUM1RCx1QkFBa0Is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dUJBQXVCO21HQUF2Qix1QkFBdUIscUpBakl4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThGVCxrc0RBL0ZTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsb2hCQUFFLGlCQUFpQixtSEFBRSxRQUFRLHNEQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBa0k1Rix1QkFBdUI7a0JBckluQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQzlGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEZUOzhCQW9DUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25EYXRldGltZSxcbiAgSW9uRGF0ZXRpbWVCdXR0b24sXG4gIElvbk1vZGFsLFxuICBJb25Ob3RlLFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhcnJvd0ZvcndhcmRPdXRsaW5lLCBjYWxlbmRhck91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXRNZXRhZGF0YSwgRGF0ZVJhbmdlQ2hhbmdlRXZlbnQsIERhdGVSYW5nZVZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgYXJyb3dGb3J3YXJkT3V0bGluZSwgY2FsZW5kYXJPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1yYW5nZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWwsIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGF0ZS1yYW5nZS1jb250YWluZXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIlxuICAgICAgW2NsYXNzLmhvcml6b250YWxdPVwicHJvcHMubGF5b3V0ICE9PSAndmVydGljYWwnXCJcbiAgICAgIFtjbGFzcy52ZXJ0aWNhbF09XCJwcm9wcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwicmFuZ2UtbGFiZWxcIj57eyBnZXRMYWJlbCgpIH19PC9sYWJlbD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXRzLXdyYXBwZXJcIj5cbiAgICAgICAgPCEtLSBTdGFydCBEYXRlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dCBzdGFydC1kYXRlXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5zdGFydExhYmVsIHx8IHByb3BzLnN0YXJ0TGFiZWxDb250ZW50S2V5KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj57eyBnZXRTdGFydExhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBbZGF0ZXRpbWVdPVwic3RhcnREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cInN0YXJ0RGF0ZXRpbWVJZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsU3RhcnRDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbcHJlc2VudGF0aW9uXT1cInByb3BzLnByZXNlbnRhdGlvbiB8fCAnZGF0ZSdcIlxuICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwicHJvcHMubG9jYWxlIHx8ICdlcy1FUydcIlxuICAgICAgICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCJwcm9wcy5maXJzdERheU9mV2VlayA/PyAxXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImdldE1pbkRhdGUoKVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJnZXRNYXhTdGFydERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgZ2V0U3RhcnRMYWJlbCgpIHx8IGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBTZXBhcmF0b3IgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXNlcGFyYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZm9yd2FyZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBFbmQgRGF0ZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXQgZW5kLWRhdGVcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmVuZExhYmVsIHx8IHByb3BzLmVuZExhYmVsQ29udGVudEtleSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWxhYmVsXCI+e3sgZ2V0RW5kTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIFtkYXRldGltZV09XCJlbmREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cImVuZERhdGV0aW1lSWRcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbEVuZENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwcmVzZW50YXRpb25dPVwicHJvcHMucHJlc2VudGF0aW9uIHx8ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgW2xvY2FsZV09XCJwcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJ1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDFcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiZ2V0TWluRW5kRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImdldE1heERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uRW5kRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIHNsb3Q9XCJ0aXRsZVwiPnt7IGdldEVuZExhYmVsKCkgfHwgZ2V0RW5kRGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzaG93RGF5Q291bnQgJiYgZGF5Q291bnQgIT09IG51bGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRheS1jb3VudFwiPlxuICAgICAgICAgIHt7IGRheUNvdW50IH19IHt7IGdldERheUxhYmVsKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuaGludCAmJiAhaGFzRXJyb3IpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiaGludFwiPnt7IGdldEhpbnQoKSB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IgJiYgcHJvcHMuc2hvd0Vycm9ycykge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L2lvbi1ub3RlPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICpcbiAqIEEgZGF0ZSByYW5nZSBwaWNrZXIgd2l0aCBzdGFydCBhbmQgZW5kIGRhdGUgc2VsZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiBkYXRlUmFuZ2VDb250cm9sLFxuICogICAgIHN0YXJ0TGFiZWw6ICdDaGVjay1pbicsXG4gKiAgICAgZW5kTGFiZWw6ICdDaGVjay1vdXQnXG4gKiAgIH1cIlxuICogPjwvdmFsLWRhdGUtcmFuZ2UtaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHZhbGlkYXRpb25cbiAqIGBgYGh0bWxcbiAqIDx2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHJhbmdlQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1RyaXAgZGF0ZXMnLFxuICogICAgIHJlcXVpcmVCb3RoOiB0cnVlLFxuICogICAgIG1pblJhbmdlRGF5czogMixcbiAqICAgICBtYXhSYW5nZURheXM6IDMwLFxuICogICAgIGRpc2FibGVQYXN0RGF0ZXM6IHRydWUsXG4gKiAgICAgc2hvd0Vycm9yczogdHJ1ZVxuICogICB9XCJcbiAqICAgKHJhbmdlQ2hhbmdlKT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gKiA+PC92YWwtZGF0ZS1yYW5nZS1pbnB1dD5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BzOiBEYXRlUmFuZ2VJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVJhbmdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIGludGVybmFsU3RhcnRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBpbnRlcm5hbEVuZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgc3RhcnREYXRldGltZUlkID0gYHN0YXJ0LWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gIGVuZERhdGV0aW1lSWQgPSBgZW5kLWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG5cbiAgc2hvd0RheUNvdW50ID0gdHJ1ZTtcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICAvKiogR2V0IGRvbmUgYnV0dG9uIHRleHQgZnJvbSBwcm9wcyBvciBpMThuICovXG4gIGdldERvbmVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZG9uZVRleHQgfHwgdGhpcy5pMThuLnQoJ29rJyk7XG4gIH1cblxuICAvKiogR2V0IGNhbmNlbCBidXR0b24gdGV4dCBmcm9tIHByb3BzIG9yIGkxOG4gKi9cbiAgZ2V0Q2FuY2VsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgdGhpcy5pMThuLnQoJ2NhbmNlbCcpO1xuICB9XG5cbiAgLyoqIEdldCBzdGFydCBkYXRlIGZhbGxiYWNrIGxhYmVsICovXG4gIGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdzdGFydERhdGUnLCAnX2dsb2JhbCcpIHx8ICdTdGFydCBkYXRlJztcbiAgfVxuXG4gIC8qKiBHZXQgZW5kIGRhdGUgZmFsbGJhY2sgbGFiZWwgKi9cbiAgZ2V0RW5kRGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdlbmREYXRlJywgJ19nbG9iYWwnKSB8fCAnRW5kIGRhdGUnO1xuICB9XG5cbiAgLyoqIEdldCBkYXkvZGF5cyBsYWJlbCBiYXNlZCBvbiBjb3VudCAqL1xuICBnZXREYXlMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRheUNvdW50ID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2RheScsICdfZ2xvYmFsJykgfHwgJ2RheSc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZGF5cycsICdfZ2xvYmFsJykgfHwgJ2RheXMnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVXNlIHByb3ZpZGVkIGNvbnRyb2xzIG9yIGludGVybmFsIG9uZXNcbiAgICBpZiAodGhpcy5wcm9wcy5zdGFydENvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wgPSB0aGlzLnByb3BzLnN0YXJ0Q29udHJvbDtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuZW5kQ29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wgPSB0aGlzLnByb3BzLmVuZENvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIGlmICh0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZTtcbiAgICAgIGlmICh2YWx1ZS5zdGFydCkge1xuICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS5lbmQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wuc2V0VmFsdWUodmFsdWUuZW5kKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUuc3RhcnQgIT09IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuZW5kICE9PSB0aGlzLmludGVybmFsRW5kQ29udHJvbC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnNldFZhbHVlKHZhbHVlLmVuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0U3RhcnRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnN0YXJ0TGFiZWwgfHwgJyc7XG4gIH1cblxuICBnZXRFbmRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVuZExhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0SGludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRNaW5EYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuZGlzYWJsZVBhc3REYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWluO1xuICB9XG5cbiAgZ2V0TWF4RGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLmRpc2FibGVGdXR1cmVEYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWF4O1xuICB9XG5cbiAgZ2V0TWF4U3RhcnREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gU3RhcnQgZGF0ZSBjYW5ub3QgYmUgYWZ0ZXIgZW5kIGRhdGVcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG4gICAgaWYgKGVuZERhdGUpIHtcbiAgICAgIHJldHVybiBlbmREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNYXhEYXRlKCk7XG4gIH1cblxuICBnZXRNaW5FbmREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gRW5kIGRhdGUgY2Fubm90IGJlIGJlZm9yZSBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC52YWx1ZTtcbiAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICByZXR1cm4gc3RhcnREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNaW5EYXRlKCk7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5wcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldCBkYXlDb3VudCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgZW5kID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXN0YXJ0IHx8ICFlbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZW5kKTtcbiAgICBjb25zdCBkaWZmVGltZSA9IGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguY2VpbChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgZGlmZkRheXMpO1xuICB9XG5cbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25FbmREYXRlQ2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWFpbkNvbnRyb2woKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWU6IERhdGVSYW5nZVZhbHVlID0ge1xuICAgICAgc3RhcnQ6IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUsXG4gICAgICBlbmQ6IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIFZhbGlkYXRlIGFuZCBlbWl0XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVSYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHtcbiAgICAgIHZhbHVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIGRheUNvdW50OiB0aGlzLmRheUNvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJhbmdlKHZhbHVlOiBEYXRlUmFuZ2VWYWx1ZSk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIHJlcXVpcmVkXG4gICAgaWYgKHRoaXMucHJvcHMucmVxdWlyZUJvdGggJiYgKCF2YWx1ZS5zdGFydCB8fCAhdmFsdWUuZW5kKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGRheSBjb3VudCBjb25zdHJhaW50c1xuICAgIGNvbnN0IGRheXMgPSB0aGlzLmRheUNvdW50O1xuICAgIGlmIChkYXlzICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5taW5SYW5nZURheXMgIT09IHVuZGVmaW5lZCAmJiBkYXlzIDwgdGhpcy5wcm9wcy5taW5SYW5nZURheXMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzICE9PSB1bmRlZmluZWQgJiYgZGF5cyA+IHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -221,7 +221,7 @@ export class FooterLinksComponent {
|
|
|
221
221
|
</ion-col>
|
|
222
222
|
</ion-row>
|
|
223
223
|
</div>
|
|
224
|
-
`, isInline: true, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:flex-end;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:
|
|
224
|
+
`, isInline: true, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:flex-end;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:1.25rem}.footer-links .logo-clickable{cursor:pointer}.footer-links .footer-logo--css-var{display:block;background-image:var(--logo-var);background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity .2s ease}.footer-links .footer-logo--css-var:hover{opacity:.8}.footer-links .mobile-layout .footer-logo--css-var{margin-left:auto;margin-right:auto}.footer-links .footer-logo--light{display:block}.footer-links .footer-logo--dark{display:none}.footer-links :host-context(.dark) .footer-logo--light,.footer-links :host-context(.ion-palette-dark) .footer-logo--light,.footer-links :host-context(html.ion-palette-dark) .footer-logo--light,.footer-links :host-context(body.dark) .footer-logo--light,.footer-links :host-context([data-theme=dark]) .footer-logo--light{display:none}.footer-links :host-context(.dark) .footer-logo--dark,.footer-links :host-context(.ion-palette-dark) .footer-logo--dark,.footer-links :host-context(html.ion-palette-dark) .footer-logo--dark,.footer-links :host-context(body.dark) .footer-logo--dark,.footer-links :host-context([data-theme=dark]) .footer-logo--dark{display:block}@media (min-width: 768px){.footer-links .mobile-layout{display:none!important}.footer-links .desktop-layout{display:flex!important}.footer-links .social-links-container{margin-top:0;justify-content:flex-end}}@media (max-width: 767px){.footer-links .mobile-layout{display:block!important}.footer-links .desktop-layout{display:none!important}.footer-links .social-links-container{justify-content:center;margin-bottom:8px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: DividerComponent, selector: "val-divider", inputs: ["props"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: LinksCakeComponent, selector: "val-links-cake", inputs: ["props"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }] }); }
|
|
225
225
|
}
|
|
226
226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterLinksComponent, decorators: [{
|
|
227
227
|
type: Component,
|
|
@@ -388,10 +388,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
388
388
|
</ion-col>
|
|
389
389
|
</ion-row>
|
|
390
390
|
</div>
|
|
391
|
-
`, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:flex-end;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:
|
|
391
|
+
`, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:flex-end;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:1.25rem}.footer-links .logo-clickable{cursor:pointer}.footer-links .footer-logo--css-var{display:block;background-image:var(--logo-var);background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity .2s ease}.footer-links .footer-logo--css-var:hover{opacity:.8}.footer-links .mobile-layout .footer-logo--css-var{margin-left:auto;margin-right:auto}.footer-links .footer-logo--light{display:block}.footer-links .footer-logo--dark{display:none}.footer-links :host-context(.dark) .footer-logo--light,.footer-links :host-context(.ion-palette-dark) .footer-logo--light,.footer-links :host-context(html.ion-palette-dark) .footer-logo--light,.footer-links :host-context(body.dark) .footer-logo--light,.footer-links :host-context([data-theme=dark]) .footer-logo--light{display:none}.footer-links :host-context(.dark) .footer-logo--dark,.footer-links :host-context(.ion-palette-dark) .footer-logo--dark,.footer-links :host-context(html.ion-palette-dark) .footer-logo--dark,.footer-links :host-context(body.dark) .footer-logo--dark,.footer-links :host-context([data-theme=dark]) .footer-logo--dark{display:block}@media (min-width: 768px){.footer-links .mobile-layout{display:none!important}.footer-links .desktop-layout{display:flex!important}.footer-links .social-links-container{margin-top:0;justify-content:flex-end}}@media (max-width: 767px){.footer-links .mobile-layout{display:block!important}.footer-links .desktop-layout{display:none!important}.footer-links .social-links-container{justify-content:center;margin-bottom:8px}}\n"] }]
|
|
392
392
|
}], propDecorators: { props: [{
|
|
393
393
|
type: Input
|
|
394
394
|
}], logoClick: [{
|
|
395
395
|
type: Output
|
|
396
396
|
}] } });
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWxpbmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZm9vdGVyLWxpbmtzL2Zvb3Rlci1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUd4RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBMktILE1BQU0sT0FBTyxvQkFBb0I7SUExS2pDO1FBMktVLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQU94Qzs7V0FFRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZ0NoRDtJQTlCQzs7T0FFRztJQUNILElBQUksc0JBQXNCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUs7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixHQUFHLEVBQUUsVUFBVTtnQkFDZixRQUFRLEVBQUUsUUFBUTthQUNuQjtZQUNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBMUNVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZJQTVKckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlKVCxrcUVBbktDLFlBQVksZ1FBQ1osTUFBTSxrVEFDTixNQUFNLG9EQUNOLFNBQVMsb1BBQ1QsT0FBTywySkFDUCxnQkFBZ0IsMkVBQ2hCLGNBQWMseUVBQ2Qsa0JBQWtCLDhFQUNsQix5QkFBeUI7OzRGQThKaEIsb0JBQW9CO2tCQTFLaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osTUFBTTt3QkFDTixNQUFNO3dCQUNOLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQix5QkFBeUI7cUJBQzFCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlKVDs4QkFTUSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkNvbCwgSW9uSWNvbiwgSW9uUm93IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9sYW5ndWFnZS1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBMaW5rc0Nha2VDb21wb25lbnQgfSBmcm9tICcuLi9saW5rcy1jYWtlL2xpbmtzLWNha2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZvb3RlckxpbmtzTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZm9vdGVyLWxpbmtzXG4gKlxuICogQSByZXNwb25zaXZlIGZvb3RlciBjb21wb25lbnQgd2l0aCB0d28gY29sdW1ucyBvZiBsaW5rcywgc29jaWFsIG1lZGlhIGljb25zLFxuICogbG9nbywgYW5kIG9wdGlvbmFsIGxhbmd1YWdlIHNlbGVjdG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWZvb3Rlci1saW5rc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIGxlZnRMaW5rczogeyB0aXRsZTogJ0NvbXBhbnknLCBsaW5rczogWy4uLl0gfSxcbiAqICAgICByaWdodExpbmtzOiB7IHRpdGxlOiAnUmVzb3VyY2VzJywgbGlua3M6IFsuLi5dIH0sXG4gKiAgICAgbG9nbzogJ2xvZ28uc3ZnJyxcbiAqICAgICBsb2dvUm91dGU6ICcvJyxcbiAqICAgICBzb2NpYWxMaW5rczogW1xuICogICAgICAgeyBpY29uOiAnbG9nby1mYWNlYm9vaycsIHVybDogJ2h0dHBzOi8vZmFjZWJvb2suY29tJywgbmFtZTogJ0ZhY2Vib29rJyB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqID48L3ZhbC1mb290ZXItbGlua3M+XG4gKlxuICogQGlucHV0IHByb3BzIC0gRm9vdGVyIGNvbmZpZ3VyYXRpb25cbiAqIEBvdXRwdXQgbG9nb0NsaWNrIC0gRW1pdHMgd2hlbiBsb2dvIGlzIGNsaWNrZWRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvb3Rlci1saW5rcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uQ29sLFxuICAgIElvblJvdyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIExpbmtzQ2FrZUNvbXBvbmVudCxcbiAgICBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXItbGlua3NcIj5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIj5cbiAgICAgICAgICA8dmFsLWRpdmlkZXJcbiAgICAgICAgICAgICpuZ0lmPVwicHJvcHMuZGl2aWRlciAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgW3Byb3BzXT1cInByb3BzLmRpdmlkZXIgfHwgeyBzaXplOiAnc21hbGwnLCBjb2xvcjogJ21lZGl1bScsIGZpbGw6ICdzb2xpZCcgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8aW9uLWNvbCBzaXplLXhzPVwiMTJcIiBzaXplLW1kPVwiNlwiPlxuICAgICAgICAgIDx2YWwtbGlua3MtY2FrZSBbcHJvcHNdPVwicHJvcHMubGVmdExpbmtzXCIgLz5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8aW9uLWNvbCBzaXplLXhzPVwiMTJcIiBzaXplLW1kPVwiNlwiPlxuICAgICAgICAgIDx2YWwtbGlua3MtY2FrZSBbcHJvcHNdPVwicHJvcHMucmlnaHRMaW5rc1wiIC8+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3cgKm5nSWY9XCJwcm9wcy5sYW5ndWFnZVNlbGVjdG9yICE9PSBmYWxzZVwiIHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCI+XG4gICAgICAgICAgPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwibGFuZ3VhZ2VTZWxlY3RvckNvbmZpZ1wiIC8+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3cgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiPlxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiAqbmdJZj1cInByb3BzLmxvZ29Dc3NWYXJpYWJsZSB8fCBwcm9wcy5sb2dvIHx8IHByb3BzLnNvY2lhbExpbmtzPy5sZW5ndGhcIj5cbiAgICAgICAgICA8IS0tIE1vYmlsZSBsYXlvdXQ6IGNlbnRlcmVkIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbGF5b3V0XCI+XG4gICAgICAgICAgICA8IS0tIENTUyBWYXJpYWJsZSBsb2dvIChyZWNvbW1lbmRlZCBmb3IgZGFyayBtb2RlKSAtLT5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICpuZ0lmPVwicHJvcHMubG9nb0Nzc1ZhcmlhYmxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsb2dvLWNsaWNrYWJsZSBmb290ZXItbG9nbyBmb290ZXItbG9nby0tY3NzLXZhclwiXG4gICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BzLmxvZ29BbHQgfHwgJ0xvZ28nXCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tbG9nby12YXJdPVwiJ3ZhcignICsgcHJvcHMubG9nb0Nzc1ZhcmlhYmxlICsgJyknXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cInByb3BzLmxvZ29XaWR0aCB8fCAnMTByZW0nXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJwcm9wcy5sb2dvSGVpZ2h0IHx8ICczcmVtJ1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ29DbGljaygpXCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8IS0tIExpZ2h0IG1vZGUgbG9nbyAoZmFsbGJhY2spIC0tPlxuICAgICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgICAqbmdJZj1cIiFwcm9wcy5sb2dvQ3NzVmFyaWFibGUgJiYgcHJvcHMubG9nb1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibG9nby1jbGlja2FibGUgZm9vdGVyLWxvZ28gZm9vdGVyLWxvZ28tLWxpZ2h0XCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgICAgICAgICAgbW9kZTogJ2JveCcsXG4gICAgICAgICAgICAgICAgc2hhZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBzcmM6IHByb3BzLmxvZ28sXG4gICAgICAgICAgICAgICAgYWx0OiBwcm9wcy5sb2dvQWx0IHx8ICdMb2dvJyxcbiAgICAgICAgICAgICAgICBsaW1pdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkYXJrOiB0cnVlLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9nb0NsaWNrKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwhLS0gRGFyayBtb2RlIGxvZ28gKGZhbGxiYWNrKSAtLT5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcHJvcHMubG9nb0Nzc1ZhcmlhYmxlICYmIHByb3BzLmxvZ28gJiYgcHJvcHMubG9nb0RhcmtcIlxuICAgICAgICAgICAgICBjbGFzcz1cImxvZ28tY2xpY2thYmxlIGZvb3Rlci1sb2dvIGZvb3Rlci1sb2dvLS1kYXJrXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgICAgICAgICAgbW9kZTogJ2JveCcsXG4gICAgICAgICAgICAgICAgc2hhZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBzcmM6IHByb3BzLmxvZ29EYXJrLFxuICAgICAgICAgICAgICAgIGFsdDogcHJvcHMubG9nb0FsdCB8fCAnTG9nbycsXG4gICAgICAgICAgICAgICAgbGltaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGFyazogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ29DbGljaygpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29jaWFsLWxpbmtzLWNvbnRhaW5lclwiICpuZ0lmPVwicHJvcHMuc29jaWFsTGlua3M/Lmxlbmd0aFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbVwiPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzb2NpYWwgb2YgcHJvcHMuc29jaWFsTGlua3NcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJzb2NpYWwudXJsXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNvY2lhbC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic29jaWFsLm5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInNvY2lhbC5pY29uXCIgc2xvdD1cImljb24tb25seVwiIFtjb2xvcl09XCJwcm9wcy5zb2NpYWxJY29uQ29sb3IgfHwgJ2RhcmsnXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIERlc2t0b3AgbGF5b3V0OiBzcGFjZS1iZXR3ZWVuIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNrdG9wLWxheW91dFwiPlxuICAgICAgICAgICAgPCEtLSBDU1MgVmFyaWFibGUgbG9nbyAocmVjb21tZW5kZWQgZm9yIGRhcmsgbW9kZSkgLS0+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAqbmdJZj1cInByb3BzLmxvZ29Dc3NWYXJpYWJsZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibG9nby1jbGlja2FibGUgZm9vdGVyLWxvZ28gZm9vdGVyLWxvZ28tLWNzcy12YXJcIlxuICAgICAgICAgICAgICByb2xlPVwiaW1nXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwcm9wcy5sb2dvQWx0IHx8ICdMb2dvJ1wiXG4gICAgICAgICAgICAgIFtzdHlsZS4tLWxvZ28tdmFyXT1cIid2YXIoJyArIHByb3BzLmxvZ29Dc3NWYXJpYWJsZSArICcpJ1wiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJwcm9wcy5sb2dvV2lkdGggfHwgJzEycmVtJ1wiXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwicHJvcHMubG9nb0hlaWdodCB8fCAnM3JlbSdcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvQ2xpY2soKVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgPCEtLSBMaWdodCBtb2RlIGxvZ28gKGZhbGxiYWNrKSAtLT5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcHJvcHMubG9nb0Nzc1ZhcmlhYmxlICYmIHByb3BzLmxvZ29cIlxuICAgICAgICAgICAgICBjbGFzcz1cImxvZ28tY2xpY2thYmxlIGZvb3Rlci1sb2dvIGZvb3Rlci1sb2dvLS1saWdodFwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2LFxuICAgICAgICAgICAgICAgIG1vZGU6ICdib3gnLFxuICAgICAgICAgICAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgc3JjOiBwcm9wcy5sb2dvLFxuICAgICAgICAgICAgICAgIGFsdDogcHJvcHMubG9nb0FsdCB8fCAnTG9nbycsXG4gICAgICAgICAgICAgICAgbGltaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGFyazogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ29DbGljaygpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8IS0tIERhcmsgbW9kZSBsb2dvIChmYWxsYmFjaykgLS0+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXByb3BzLmxvZ29Dc3NWYXJpYWJsZSAmJiBwcm9wcy5sb2dvICYmIHByb3BzLmxvZ29EYXJrXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsb2dvLWNsaWNrYWJsZSBmb290ZXItbG9nbyBmb290ZXItbG9nby0tZGFya1wiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2LFxuICAgICAgICAgICAgICAgIG1vZGU6ICdib3gnLFxuICAgICAgICAgICAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgc3JjOiBwcm9wcy5sb2dvRGFyayxcbiAgICAgICAgICAgICAgICBhbHQ6IHByb3BzLmxvZ29BbHQgfHwgJ0xvZ28nLFxuICAgICAgICAgICAgICAgIGxpbWl0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRhcms6IHRydWUsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvQ2xpY2soKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvY2lhbC1saW5rcy1jb250YWluZXJcIiAqbmdJZj1cInByb3BzLnNvY2lhbExpbmtzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc29jaWFsIG9mIHByb3BzLnNvY2lhbExpbmtzXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwic29jaWFsLnVybFwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzb2NpYWwtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNvY2lhbC5uYW1lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJzb2NpYWwuaWNvblwiIHNsb3Q9XCJpY29uLW9ubHlcIiBbY29sb3JdPVwicHJvcHMuc29jaWFsSWNvbkNvbG9yIHx8ICdkYXJrJ1wiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Zvb3Rlci1saW5rcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb290ZXJMaW5rc0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcblxuICAvKipcbiAgICogRm9vdGVyIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wcyE6IEZvb3RlckxpbmtzTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGxvZ28gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBsb2dvQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbGFuZ3VhZ2Ugc2VsZWN0b3IgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGdldCBsYW5ndWFnZVNlbGVjdG9yQ29uZmlnKCk6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSB7XG4gICAgaWYgKHRoaXMucHJvcHMubGFuZ3VhZ2VTZWxlY3RvciAmJiB0eXBlb2YgdGhpcy5wcm9wcy5sYW5ndWFnZVNlbGVjdG9yID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubGFuZ3VhZ2VTZWxlY3RvcjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNob3dMYWJlbDogZmFsc2UsXG4gICAgICBsYWJlbENvbmZpZzoge1xuICAgICAgICBjbGFzc05hbWU6ICdfZ2xvYmFsJyxcbiAgICAgICAga2V5OiAnbGFuZ3VhZ2UnLFxuICAgICAgICBmYWxsYmFjazogJ0lkaW9tYScsXG4gICAgICB9LFxuICAgICAgc2hvd0ZsYWdzOiB0cnVlLFxuICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbG9nbyBjbGljayAtIG5hdmlnYXRlcyBpZiByb3V0ZSBwcm92aWRlZCwgb3RoZXJ3aXNlIGVtaXRzIGV2ZW50LlxuICAgKi9cbiAgb25Mb2dvQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMubG9nb1JvdXRlKSB7XG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZUJ5VXJsKHRoaXMucHJvcHMubG9nb1JvdXRlKTtcbiAgICB9XG4gICAgdGhpcy5sb2dvQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iXX0=
|
|
397
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWxpbmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZm9vdGVyLWxpbmtzL2Zvb3Rlci1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUd4RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBMktILE1BQU0sT0FBTyxvQkFBb0I7SUExS2pDO1FBMktVLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQU94Qzs7V0FFRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZ0NoRDtJQTlCQzs7T0FFRztJQUNILElBQUksc0JBQXNCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUs7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixHQUFHLEVBQUUsVUFBVTtnQkFDZixRQUFRLEVBQUUsUUFBUTthQUNuQjtZQUNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBMUNVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZJQTVKckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlKVCxxcUVBbktDLFlBQVksZ1FBQ1osTUFBTSxrVEFDTixNQUFNLG9EQUNOLFNBQVMsb1BBQ1QsT0FBTywySkFDUCxnQkFBZ0IsMkVBQ2hCLGNBQWMseUVBQ2Qsa0JBQWtCLDhFQUNsQix5QkFBeUI7OzRGQThKaEIsb0JBQW9CO2tCQTFLaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osTUFBTTt3QkFDTixNQUFNO3dCQUNOLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQix5QkFBeUI7cUJBQzFCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlKVDs4QkFTUSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkNvbCwgSW9uSWNvbiwgSW9uUm93IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9sYW5ndWFnZS1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBMaW5rc0Nha2VDb21wb25lbnQgfSBmcm9tICcuLi9saW5rcy1jYWtlL2xpbmtzLWNha2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZvb3RlckxpbmtzTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZm9vdGVyLWxpbmtzXG4gKlxuICogQSByZXNwb25zaXZlIGZvb3RlciBjb21wb25lbnQgd2l0aCB0d28gY29sdW1ucyBvZiBsaW5rcywgc29jaWFsIG1lZGlhIGljb25zLFxuICogbG9nbywgYW5kIG9wdGlvbmFsIGxhbmd1YWdlIHNlbGVjdG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWZvb3Rlci1saW5rc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIGxlZnRMaW5rczogeyB0aXRsZTogJ0NvbXBhbnknLCBsaW5rczogWy4uLl0gfSxcbiAqICAgICByaWdodExpbmtzOiB7IHRpdGxlOiAnUmVzb3VyY2VzJywgbGlua3M6IFsuLi5dIH0sXG4gKiAgICAgbG9nbzogJ2xvZ28uc3ZnJyxcbiAqICAgICBsb2dvUm91dGU6ICcvJyxcbiAqICAgICBzb2NpYWxMaW5rczogW1xuICogICAgICAgeyBpY29uOiAnbG9nby1mYWNlYm9vaycsIHVybDogJ2h0dHBzOi8vZmFjZWJvb2suY29tJywgbmFtZTogJ0ZhY2Vib29rJyB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqID48L3ZhbC1mb290ZXItbGlua3M+XG4gKlxuICogQGlucHV0IHByb3BzIC0gRm9vdGVyIGNvbmZpZ3VyYXRpb25cbiAqIEBvdXRwdXQgbG9nb0NsaWNrIC0gRW1pdHMgd2hlbiBsb2dvIGlzIGNsaWNrZWRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvb3Rlci1saW5rcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uQ29sLFxuICAgIElvblJvdyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIExpbmtzQ2FrZUNvbXBvbmVudCxcbiAgICBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXItbGlua3NcIj5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIj5cbiAgICAgICAgICA8dmFsLWRpdmlkZXJcbiAgICAgICAgICAgICpuZ0lmPVwicHJvcHMuZGl2aWRlciAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgW3Byb3BzXT1cInByb3BzLmRpdmlkZXIgfHwgeyBzaXplOiAnc21hbGwnLCBjb2xvcjogJ21lZGl1bScsIGZpbGw6ICdzb2xpZCcgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8aW9uLWNvbCBzaXplLXhzPVwiMTJcIiBzaXplLW1kPVwiNlwiPlxuICAgICAgICAgIDx2YWwtbGlua3MtY2FrZSBbcHJvcHNdPVwicHJvcHMubGVmdExpbmtzXCIgLz5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8aW9uLWNvbCBzaXplLXhzPVwiMTJcIiBzaXplLW1kPVwiNlwiPlxuICAgICAgICAgIDx2YWwtbGlua3MtY2FrZSBbcHJvcHNdPVwicHJvcHMucmlnaHRMaW5rc1wiIC8+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3cgKm5nSWY9XCJwcm9wcy5sYW5ndWFnZVNlbGVjdG9yICE9PSBmYWxzZVwiIHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCI+XG4gICAgICAgICAgPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwibGFuZ3VhZ2VTZWxlY3RvckNvbmZpZ1wiIC8+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3cgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiPlxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiAqbmdJZj1cInByb3BzLmxvZ29Dc3NWYXJpYWJsZSB8fCBwcm9wcy5sb2dvIHx8IHByb3BzLnNvY2lhbExpbmtzPy5sZW5ndGhcIj5cbiAgICAgICAgICA8IS0tIE1vYmlsZSBsYXlvdXQ6IGNlbnRlcmVkIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtbGF5b3V0XCI+XG4gICAgICAgICAgICA8IS0tIENTUyBWYXJpYWJsZSBsb2dvIChyZWNvbW1lbmRlZCBmb3IgZGFyayBtb2RlKSAtLT5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICpuZ0lmPVwicHJvcHMubG9nb0Nzc1ZhcmlhYmxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsb2dvLWNsaWNrYWJsZSBmb290ZXItbG9nbyBmb290ZXItbG9nby0tY3NzLXZhclwiXG4gICAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BzLmxvZ29BbHQgfHwgJ0xvZ28nXCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tbG9nby12YXJdPVwiJ3ZhcignICsgcHJvcHMubG9nb0Nzc1ZhcmlhYmxlICsgJyknXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cInByb3BzLmxvZ29XaWR0aCB8fCAnMTByZW0nXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJwcm9wcy5sb2dvSGVpZ2h0IHx8ICczcmVtJ1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ29DbGljaygpXCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8IS0tIExpZ2h0IG1vZGUgbG9nbyAoZmFsbGJhY2spIC0tPlxuICAgICAgICAgICAgPHZhbC1pbWFnZVxuICAgICAgICAgICAgICAqbmdJZj1cIiFwcm9wcy5sb2dvQ3NzVmFyaWFibGUgJiYgcHJvcHMubG9nb1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibG9nby1jbGlja2FibGUgZm9vdGVyLWxvZ28gZm9vdGVyLWxvZ28tLWxpZ2h0XCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgICAgICAgICAgbW9kZTogJ2JveCcsXG4gICAgICAgICAgICAgICAgc2hhZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBzcmM6IHByb3BzLmxvZ28sXG4gICAgICAgICAgICAgICAgYWx0OiBwcm9wcy5sb2dvQWx0IHx8ICdMb2dvJyxcbiAgICAgICAgICAgICAgICBsaW1pdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkYXJrOiB0cnVlLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9nb0NsaWNrKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwhLS0gRGFyayBtb2RlIGxvZ28gKGZhbGxiYWNrKSAtLT5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcHJvcHMubG9nb0Nzc1ZhcmlhYmxlICYmIHByb3BzLmxvZ28gJiYgcHJvcHMubG9nb0RhcmtcIlxuICAgICAgICAgICAgICBjbGFzcz1cImxvZ28tY2xpY2thYmxlIGZvb3Rlci1sb2dvIGZvb3Rlci1sb2dvLS1kYXJrXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgICAgICAgICAgbW9kZTogJ2JveCcsXG4gICAgICAgICAgICAgICAgc2hhZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgICAgICAgICAgICBzcmM6IHByb3BzLmxvZ29EYXJrLFxuICAgICAgICAgICAgICAgIGFsdDogcHJvcHMubG9nb0FsdCB8fCAnTG9nbycsXG4gICAgICAgICAgICAgICAgbGltaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGFyazogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ29DbGljaygpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29jaWFsLWxpbmtzLWNvbnRhaW5lclwiICpuZ0lmPVwicHJvcHMuc29jaWFsTGlua3M/Lmxlbmd0aFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbVwiPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzb2NpYWwgb2YgcHJvcHMuc29jaWFsTGlua3NcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJzb2NpYWwudXJsXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNvY2lhbC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic29jaWFsLm5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInNvY2lhbC5pY29uXCIgc2xvdD1cImljb24tb25seVwiIFtjb2xvcl09XCJwcm9wcy5zb2NpYWxJY29uQ29sb3IgfHwgJ2RhcmsnXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIERlc2t0b3AgbGF5b3V0OiBzcGFjZS1iZXR3ZWVuIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNrdG9wLWxheW91dFwiPlxuICAgICAgICAgICAgPCEtLSBDU1MgVmFyaWFibGUgbG9nbyAocmVjb21tZW5kZWQgZm9yIGRhcmsgbW9kZSkgLS0+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAqbmdJZj1cInByb3BzLmxvZ29Dc3NWYXJpYWJsZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibG9nby1jbGlja2FibGUgZm9vdGVyLWxvZ28gZm9vdGVyLWxvZ28tLWNzcy12YXJcIlxuICAgICAgICAgICAgICByb2xlPVwiaW1nXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwcm9wcy5sb2dvQWx0IHx8ICdMb2dvJ1wiXG4gICAgICAgICAgICAgIFtzdHlsZS4tLWxvZ28tdmFyXT1cIid2YXIoJyArIHByb3BzLmxvZ29Dc3NWYXJpYWJsZSArICcpJ1wiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJwcm9wcy5sb2dvV2lkdGggfHwgJzEycmVtJ1wiXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwicHJvcHMubG9nb0hlaWdodCB8fCAnM3JlbSdcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvQ2xpY2soKVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgPCEtLSBMaWdodCBtb2RlIGxvZ28gKGZhbGxiYWNrKSAtLT5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcHJvcHMubG9nb0Nzc1ZhcmlhYmxlICYmIHByb3BzLmxvZ29cIlxuICAgICAgICAgICAgICBjbGFzcz1cImxvZ28tY2xpY2thYmxlIGZvb3Rlci1sb2dvIGZvb3Rlci1sb2dvLS1saWdodFwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2LFxuICAgICAgICAgICAgICAgIG1vZGU6ICdib3gnLFxuICAgICAgICAgICAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgc3JjOiBwcm9wcy5sb2dvLFxuICAgICAgICAgICAgICAgIGFsdDogcHJvcHMubG9nb0FsdCB8fCAnTG9nbycsXG4gICAgICAgICAgICAgICAgbGltaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGFyazogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ29DbGljaygpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8IS0tIERhcmsgbW9kZSBsb2dvIChmYWxsYmFjaykgLS0+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXByb3BzLmxvZ29Dc3NWYXJpYWJsZSAmJiBwcm9wcy5sb2dvICYmIHByb3BzLmxvZ29EYXJrXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsb2dvLWNsaWNrYWJsZSBmb290ZXItbG9nbyBmb290ZXItbG9nby0tZGFya1wiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2LFxuICAgICAgICAgICAgICAgIG1vZGU6ICdib3gnLFxuICAgICAgICAgICAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgc3JjOiBwcm9wcy5sb2dvRGFyayxcbiAgICAgICAgICAgICAgICBhbHQ6IHByb3BzLmxvZ29BbHQgfHwgJ0xvZ28nLFxuICAgICAgICAgICAgICAgIGxpbWl0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRhcms6IHRydWUsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvQ2xpY2soKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvY2lhbC1saW5rcy1jb250YWluZXJcIiAqbmdJZj1cInByb3BzLnNvY2lhbExpbmtzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc29jaWFsIG9mIHByb3BzLnNvY2lhbExpbmtzXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwic29jaWFsLnVybFwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzb2NpYWwtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNvY2lhbC5uYW1lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJzb2NpYWwuaWNvblwiIHNsb3Q9XCJpY29uLW9ubHlcIiBbY29sb3JdPVwicHJvcHMuc29jaWFsSWNvbkNvbG9yIHx8ICdkYXJrJ1wiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Zvb3Rlci1saW5rcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb290ZXJMaW5rc0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcblxuICAvKipcbiAgICogRm9vdGVyIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wcyE6IEZvb3RlckxpbmtzTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGxvZ28gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBsb2dvQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbGFuZ3VhZ2Ugc2VsZWN0b3IgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGdldCBsYW5ndWFnZVNlbGVjdG9yQ29uZmlnKCk6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSB7XG4gICAgaWYgKHRoaXMucHJvcHMubGFuZ3VhZ2VTZWxlY3RvciAmJiB0eXBlb2YgdGhpcy5wcm9wcy5sYW5ndWFnZVNlbGVjdG9yID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubGFuZ3VhZ2VTZWxlY3RvcjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNob3dMYWJlbDogZmFsc2UsXG4gICAgICBsYWJlbENvbmZpZzoge1xuICAgICAgICBjbGFzc05hbWU6ICdfZ2xvYmFsJyxcbiAgICAgICAga2V5OiAnbGFuZ3VhZ2UnLFxuICAgICAgICBmYWxsYmFjazogJ0lkaW9tYScsXG4gICAgICB9LFxuICAgICAgc2hvd0ZsYWdzOiB0cnVlLFxuICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbG9nbyBjbGljayAtIG5hdmlnYXRlcyBpZiByb3V0ZSBwcm92aWRlZCwgb3RoZXJ3aXNlIGVtaXRzIGV2ZW50LlxuICAgKi9cbiAgb25Mb2dvQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMubG9nb1JvdXRlKSB7XG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZUJ5VXJsKHRoaXMucHJvcHMubG9nb1JvdXRlKTtcbiAgICB9XG4gICAgdGhpcy5sb2dvQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -167,7 +167,7 @@ export class LanguageSelectorComponent {
|
|
|
167
167
|
</ng-template>
|
|
168
168
|
</ion-popover>
|
|
169
169
|
}
|
|
170
|
-
`, isInline: true, styles: [":host{display:inline-block;width:auto}val-popover-selector .popover-selector-container{display:inline-block;width:auto}val-popover-selector .selector-trigger .trigger-text{display:inline-flex;align-items:center;gap:8px;font-weight:700}val-popover-selector .selector-trigger .trigger-text .flag-emoji{font-size:1.2em;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}val-popover-selector .selector-trigger.has-flag .trigger-text{letter-spacing:.025em}val-popover-selector .selector-trigger:hover:not([disabled]) .trigger-text .flag-emoji{transform:scale(1.1)}val-popover-selector .option-content{gap:10px;padding:8px 0}val-popover-selector .option-content .flag-emoji{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}val-popover-selector .option-content span{font-weight:600;letter-spacing:.01em}.language-flag{font-size:1.2em;margin-right:6px;vertical-align:middle;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));transition:all .2s ease}@media (max-width: 768px){val-popover-selector .selector-trigger .trigger-text{font-size
|
|
170
|
+
`, isInline: true, styles: [":host{display:inline-block;width:auto}val-popover-selector .popover-selector-container{display:inline-block;width:auto}val-popover-selector .selector-trigger .trigger-text{display:inline-flex;align-items:center;gap:8px;font-weight:700}val-popover-selector .selector-trigger .trigger-text .flag-emoji{font-size:1.2em;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}val-popover-selector .selector-trigger.has-flag .trigger-text{letter-spacing:.025em}val-popover-selector .selector-trigger:hover:not([disabled]) .trigger-text .flag-emoji{transform:scale(1.1)}val-popover-selector .option-content{gap:10px;padding:8px 0}val-popover-selector .option-content .flag-emoji{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}val-popover-selector .option-content span{font-weight:600;letter-spacing:.01em}.language-flag{font-size:1.2em;margin-right:6px;vertical-align:middle;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));transition:all .2s ease}@media (max-width: 768px){val-popover-selector .selector-trigger .trigger-text{font-size:.8125rem;gap:6px}val-popover-selector .selector-trigger .trigger-text .flag-emoji{font-size:1.1em}}val-popover-selector .selector-trigger:hover:not([disabled]) .trigger-text .flag-emoji{transform:scale(1.1) rotate(3deg);transition:transform .25s cubic-bezier(.4,0,.2,1)}val-popover-selector .selector-trigger:active .trigger-text .flag-emoji{transform:scale(1.05)}val-popover-selector .language-changing .flag-emoji{animation:languageSwitch .4s ease-in-out}@keyframes languageSwitch{0%{transform:scale(1)}50%{transform:scale(1.15) rotate(8deg)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: PopoverSelectorComponent, selector: "val-popover-selector", inputs: ["props"], outputs: ["selectionChange"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonPopover, selector: "ion-popover" }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }] }); }
|
|
171
171
|
}
|
|
172
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
|
|
173
173
|
type: Component,
|
|
@@ -210,10 +210,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
210
210
|
</ng-template>
|
|
211
211
|
</ion-popover>
|
|
212
212
|
}
|
|
213
|
-
`, styles: [":host{display:inline-block;width:auto}val-popover-selector .popover-selector-container{display:inline-block;width:auto}val-popover-selector .selector-trigger .trigger-text{display:inline-flex;align-items:center;gap:8px;font-weight:700}val-popover-selector .selector-trigger .trigger-text .flag-emoji{font-size:1.2em;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}val-popover-selector .selector-trigger.has-flag .trigger-text{letter-spacing:.025em}val-popover-selector .selector-trigger:hover:not([disabled]) .trigger-text .flag-emoji{transform:scale(1.1)}val-popover-selector .option-content{gap:10px;padding:8px 0}val-popover-selector .option-content .flag-emoji{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}val-popover-selector .option-content span{font-weight:600;letter-spacing:.01em}.language-flag{font-size:1.2em;margin-right:6px;vertical-align:middle;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));transition:all .2s ease}@media (max-width: 768px){val-popover-selector .selector-trigger .trigger-text{font-size
|
|
213
|
+
`, styles: [":host{display:inline-block;width:auto}val-popover-selector .popover-selector-container{display:inline-block;width:auto}val-popover-selector .selector-trigger .trigger-text{display:inline-flex;align-items:center;gap:8px;font-weight:700}val-popover-selector .selector-trigger .trigger-text .flag-emoji{font-size:1.2em;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}val-popover-selector .selector-trigger.has-flag .trigger-text{letter-spacing:.025em}val-popover-selector .selector-trigger:hover:not([disabled]) .trigger-text .flag-emoji{transform:scale(1.1)}val-popover-selector .option-content{gap:10px;padding:8px 0}val-popover-selector .option-content .flag-emoji{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}val-popover-selector .option-content span{font-weight:600;letter-spacing:.01em}.language-flag{font-size:1.2em;margin-right:6px;vertical-align:middle;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));transition:all .2s ease}@media (max-width: 768px){val-popover-selector .selector-trigger .trigger-text{font-size:.8125rem;gap:6px}val-popover-selector .selector-trigger .trigger-text .flag-emoji{font-size:1.1em}}val-popover-selector .selector-trigger:hover:not([disabled]) .trigger-text .flag-emoji{transform:scale(1.1) rotate(3deg);transition:transform .25s cubic-bezier(.4,0,.2,1)}val-popover-selector .selector-trigger:active .trigger-text .flag-emoji{transform:scale(1.05)}val-popover-selector .language-changing .flag-emoji{animation:languageSwitch .4s ease-in-out}@keyframes languageSwitch{0%{transform:scale(1)}50%{transform:scale(1.15) rotate(8deg)}to{transform:scale(1)}}\n"] }]
|
|
214
214
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
215
215
|
type: Input
|
|
216
216
|
}], languageChange: [{
|
|
217
217
|
type: Output
|
|
218
218
|
}] } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQWtEMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUE0Q3BDO1FBM0NBOztXQUVHO1FBRUgsVUFBSyxHQUE2QixFQUFFLENBQUM7UUFFckM7OztXQUdHO1FBRUgsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzVDLGtEQUFrRDtRQUNsRCxjQUFTLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTFFLDJEQUEy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SUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsK0RBQStEO1lBQy9ELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBMUhVLHlCQUF5QjttR0FBekIseUJBQXlCLDRKQWhFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDVCwrckRBeENTLFlBQVksK0JBQUUsd0JBQXdCLGtIQUFFLFNBQVMsb1BBQUUsT0FBTywySkFBRSxVQUFVLHdEQUFFLE9BQU8seUZBQUUsT0FBTywwTkFBRSxRQUFROzs0RkFpRWpHLHlCQUF5QjtrQkFwRXJDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUNuRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNUO3dEQThCRCxLQUFLO3NCQURKLEtBQUs7Z0JBUU4sY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25Qb3BvdmVyLCBJb25MaXN0LCBJb25JdGVtLCBJb25MYWJlbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBsYW5ndWFnZSwgZ2xvYmVPdXRsaW5lLCBjaGVja21hcmsgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSwgSTE4bkxhbmcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXItc2VsZWN0b3IvcG9wb3Zlci1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3Zlck9wdGlvbiwgUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9wb3BvdmVyLXNlbGVjdG9yL3R5cGVzJztcbmltcG9ydCB7IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbGFuZ3VhZ2Utc2VsZWN0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gRGVmYXVsdCBtb2RlOiB1c2UgcG9wb3Zlci1zZWxlY3RvciAtLT5cbiAgICBAaWYgKHByb3BzLm1vZGUgIT09ICdpY29uJykge1xuICAgICAgPHZhbC1wb3BvdmVyLXNlbGVjdG9yIFtwcm9wc109XCJwb3BvdmVyUHJvcHNcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uTGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiPiA8L3ZhbC1wb3BvdmVyLXNlbGVjdG9yPlxuICAgIH1cblxuICAgIDwhLS0gSWNvbiBtb2RlOiBjb21wYWN0IGdsb2JlIGJ1dHRvbiB3aXRoIHBvcG92ZXIgLS0+XG4gICAgQGlmIChwcm9wcy5tb2RlID09PSAnaWNvbicpIHtcbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgIFtpZF09XCJwb3BvdmVySWRcIlxuICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ21lZGl1bSdcIlxuICAgICAgICBbZmlsbF09XCJwcm9wcy5maWxsIHx8ICdjbGVhcidcIlxuICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgIGNsYXNzPVwiaWNvbi1tb2RlLWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwicHJvcHMuaWNvbiB8fCAnZ2xvYmUtb3V0bGluZSdcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwicG9wb3ZlcklkXCIgW2Rpc21pc3NPblNlbGVjdF09XCJ0cnVlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8aW9uLWxpc3Q+XG4gICAgICAgICAgICBAZm9yIChsYW5nIG9mIGF2YWlsYWJsZUxhbmd1YWdlczsgdHJhY2sgbGFuZykge1xuICAgICAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkZXRhaWxdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxhbmd1YWdlQ2hhbmdlKGxhbmcpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibGFuZyA9PT0gY3VycmVudExhbmd1YWdlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgZ2V0TGFuZ3VhZ2VEaXNwbGF5TmFtZShsYW5nKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgIEBpZiAobGFuZyA9PT0gY3VycmVudExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJjaGVja21hcmtcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9pb24tcG9wb3Zlcj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtbGFuZ3VhZ2Utc2VsZWN0b3JcbiAqXG4gKiBBIGxhbmd1YWdlIHNlbGVjdG9yIGNvbXBvbmVudCB0aGF0IHVzZXMgSTE4blNlcnZpY2UuXG4gKiBCeSBkZWZhdWx0LCBsYW5ndWFnZSBjaGFuZ2VzIGFyZSByZWFjdGl2ZSAobm8gcGFnZSByZWxvYWQpLlxuICogU2V0IGZvcmNlUmVsb2FkOiB0cnVlIGluIHByb3BzIHRvIHJlbG9hZCBvbiBjaGFuZ2UuXG4gKlxuICogQGV4YW1wbGUgRGVmYXVsdCBtb2RlIChkcm9wZG93biwgbm8gbGFiZWwpOlxuICogPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwieyBzaG93RmxhZ3M6IHRydWUgfVwiPlxuICogPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBsYWJlbCAoaWYgbmVlZGVkKTpcbiAqIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cInsgc2hvd0xhYmVsOiB0cnVlIH1cIj5cbiAqIDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICpcbiAqIEBleGFtcGxlIEljb24gbW9kZSAoY29tcGFjdCBmb3IgaGVhZGVycy90b29sYmFycyk6XG4gKiA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJ7IG1vZGU6ICdpY29uJywgY29sb3I6ICdwcmltYXJ5JyB9XCI+XG4gKiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBsYW5ndWFnZSBzZWxlY3RvclxuICogQG91dHB1dCBsYW5ndWFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gLSBFbWl0dGVkIHdoZW4gbGFuZ3VhZ2UgY2hhbmdlc1xuICovXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBMYW5ndWFnZSBzZWxlY3RvciBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7fTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBsYW5ndWFnZSBzZWxlY3Rpb24gY2hhbmdlcy5cbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIGxhbmd1YWdlIGNvZGUuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgbGFuZ3VhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKiogUG9wb3ZlciBzZWxlY3RvciBjb25maWd1cmF0aW9uIChmb3IgZGVmYXVsdCBtb2RlKSAqL1xuICBwb3BvdmVyUHJvcHM6IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhO1xuXG4gIC8qKiBVbmlxdWUgSUQgZm9yIHRoZSBpY29uIG1vZGUgcG9wb3ZlciB0cmlnZ2VyICovXG4gIHBvcG92ZXJJZCA9IGBsYW5nLXNlbGVjdG9yLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDkpfWA7XG5cbiAgLyoqIEF2YWlsYWJsZSBsYW5ndWFnZXMgKGV4cG9zZWQgZm9yIGljb24gbW9kZSB0ZW1wbGF0ZSkgKi9cbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlIChleHBvc2VkIGZvciBpY29uIG1vZGUgdGVtcGxhdGUpICovXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKiogRGVmYXVsdCBsYW5ndWFnZSBkaXNwbGF5IG5hbWVzICovXG4gIHJlYWRvbmx5IGRlZmF1bHRMYW5ndWFnZU5hbWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGVzOiAnRXNwYcOxb2wnLFxuICAgIGVuOiAnRW5nbGlzaCcsXG4gICAgZnI6ICdGcmFuw6dhaXMnLFxuICAgIGRlOiAnRGV1dHNjaCcsXG4gIH07XG5cbiAgLyoqIERlZmF1bHQgZmxhZyBpY29ucyBmb3IgbGFuZ3VhZ2VzICovXG4gIHJlYWRvbmx5IGRlZmF1bHRMYW5ndWFnZUZsYWdzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGVzOiAn8J+HqvCfh7gnLFxuICAgIGVuOiAn8J+HuvCfh7gnLFxuICAgIGZyOiAn8J+Hq/Cfh7cnLFxuICAgIGRlOiAn8J+HqfCfh6onLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgbGFuZ3VhZ2UsIGdsb2JlT3V0bGluZSwgY2hlY2ttYXJrIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcy5wcm9wcy5hdmFpbGFibGVMYW5ndWFnZXMgfHwgdGhpcy5pMThuLnN1cHBvcnRlZExhbmd1YWdlcygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZVBvcG92ZXJQcm9wcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUG9wb3ZlclByb3BzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcy5wcm9wcy5hdmFpbGFibGVMYW5ndWFnZXMgfHwgdGhpcy5pMThuLnN1cHBvcnRlZExhbmd1YWdlcygpO1xuXG4gICAgLy8gQ29udmVydCBsYW5ndWFnZSBjb2RlcyB0byBwb3BvdmVyIG9wdGlvbnNcbiAgICBjb25zdCBvcHRpb25zOiBQb3BvdmVyT3B0aW9uW10gPSBhdmFpbGFibGVMYW5ndWFnZXMubWFwKGxhbmcgPT4gKHtcbiAgICAgIHZhbHVlOiBsYW5nLFxuICAgICAgbGFiZWw6IHRoaXMuZ2V0TGFuZ3VhZ2VEaXNwbGF5TmFtZShsYW5nKSxcbiAgICB9KSk7XG5cbiAgICAvLyBDcmVhdGUgcG9wb3ZlciBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5wb3BvdmVyUHJvcHMgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgc2VsZWN0ZWRWYWx1ZTogY3VycmVudExhbmd1YWdlLFxuICAgICAgbGFiZWw6IHRoaXMucHJvcHMuc2hvd0xhYmVsID09PSB0cnVlID8gdGhpcy5wcm9wcy5sYWJlbCB8fCB0aGlzLmkxOG4udCgnbGFuZ3VhZ2UnKSA6IHVuZGVmaW5lZCxcbiAgICAgIGljb246ICdsYW5ndWFnZScsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy5pMThuLnQoJ3NlbGVjdExhbmd1YWdlJyksXG4gICAgICBjb2xvcjogdGhpcy5wcm9wcy5jb2xvciB8fCAnbWVkaXVtJyxcbiAgICAgIHNpemU6IHRoaXMucHJvcHMuc2l6ZSB8fCAnZGVmYXVsdCcsXG4gICAgICBmaWxsOiB0aGlzLnByb3BzLmZpbGwgfHwgJ291dGxpbmUnLFxuICAgICAgc2hhcGU6IHRoaXMucHJvcHMuc2hhcGUsXG4gICAgICBleHBhbmQ6IHRoaXMucHJvcHMuZXhwYW5kLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMucHJvcHMuZGlzYWJsZWQgfHwgZmFsc2UsXG4gICAgICBpbnRlcmZhY2U6ICdwb3BvdmVyJyxcbiAgICAgIHNob3dDaGVja21hcms6IHRydWUsXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBjYW5jZWxUZXh0OiB0aGlzLmkxOG4udCgnY2FuY2VsJyksXG4gICAgICBva1RleHQ6IHRoaXMuaTE4bi50KCdvaycpLFxuICAgIH07XG4gIH1cblxuICAvKiogR2V0IGRpc3BsYXkgbmFtZSBmb3IgYSBsYW5ndWFnZSBjb2RlIChwdWJsaWMgZm9yIHRlbXBsYXRlIGFjY2VzcykgKi9cbiAgZ2V0TGFuZ3VhZ2VEaXNwbGF5TmFtZShsYW5ndWFnZUNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVXNlIGN1c3RvbSBuYW1lcyBpZiBwcm92aWRlZFxuICAgIGlmICh0aGlzLnByb3BzLmN1c3RvbUxhbmd1YWdlTmFtZXM/LltsYW5ndWFnZUNvZGVdKSB7XG4gICAgICBjb25zdCBjdXN0b21OYW1lID0gdGhpcy5wcm9wcy5jdXN0b21MYW5ndWFnZU5hbWVzW2xhbmd1YWdlQ29kZV07XG4gICAgICBjb25zdCBmbGFnID0gdGhpcy5wcm9wcy5zaG93RmxhZ3MgPyB0aGlzLmRlZmF1bHRMYW5ndWFnZUZsYWdzW2xhbmd1YWdlQ29kZV0gOiAnJztcbiAgICAgIHJldHVybiBmbGFnID8gYCR7ZmxhZ30gJHtjdXN0b21OYW1lfWAgOiBjdXN0b21OYW1lO1xuICAgIH1cblxuICAgIC8vIFVzZSBkZWZhdWx0IG5hbWVzXG4gICAgY29uc3QgZGVmYXVsdE5hbWUgPSB0aGlzLmRlZmF1bHRMYW5ndWFnZU5hbWVzW2xhbmd1YWdlQ29kZV0gfHwgbGFuZ3VhZ2VDb2RlLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgZmxhZyA9IHRoaXMucHJvcHMuc2hvd0ZsYWdzID8gdGhpcy5kZWZhdWx0TGFuZ3VhZ2VGbGFnc1tsYW5ndWFnZUNvZGVdIDogJyc7XG4gICAgcmV0dXJuIGZsYWcgPyBgJHtmbGFnfSAke2RlZmF1bHROYW1lfWAgOiBkZWZhdWx0TmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgbGFuZ3VhZ2Ugc2VsZWN0aW9uIGNoYW5nZS5cbiAgICogQHBhcmFtIHNlbGVjdGVkTGFuZ3VhZ2UgLSBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2UgY29kZShzKVxuICAgKi9cbiAgb25MYW5ndWFnZUNoYW5nZShzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGlmICh0eXBlb2Ygc2VsZWN0ZWRMYW5ndWFnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld0xhbmcgPSBzZWxlY3RlZExhbmd1YWdlIGFzIEkxOG5MYW5nO1xuXG4gICAgICAvLyBVcGRhdGUgY3VycmVudCBsYW5ndWFnZSBmb3IgaWNvbiBtb2RlXG4gICAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IG5ld0xhbmc7XG5cbiAgICAgIC8vIEVtaXQgdGhlIGNoYW5nZSBldmVudFxuICAgICAgdGhpcy5sYW5ndWFnZUNoYW5nZS5lbWl0KHNlbGVjdGVkTGFuZ3VhZ2UpO1xuXG4gICAgICAvLyBTZXQgdGhlIG5ldyBsYW5ndWFnZSAocmVhY3RpdmUgYnkgZGVmYXVsdCwgcmVsb2FkIGlmIGZvcmNlUmVsb2FkIGlzIHRydWUpXG4gICAgICB0aGlzLmkxOG4uc2V0TGFuZ3VhZ2UobmV3TGFuZywgdGhpcy5wcm9wcy5mb3JjZVJlbG9hZCk7XG5cbiAgICAgIC8vIFVwZGF0ZSBwb3BvdmVyIHNlbGVjdGVkIHZhbHVlIGZvciByZWFjdGl2ZSBVSSAoZGVmYXVsdCBtb2RlKVxuICAgICAgaWYgKHRoaXMucG9wb3ZlclByb3BzKSB7XG4gICAgICAgIHRoaXMucG9wb3ZlclByb3BzID0geyAuLi50aGlzLnBvcG92ZXJQcm9wcywgc2VsZWN0ZWRWYWx1ZTogbmV3TGFuZyB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQWtEMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUE0Q3BDO1FBM0NBOztXQUVHO1FBRUgsVUFBSyxHQUE2QixFQUFFLENBQUM7UUFFckM7OztXQUdHO1FBRUgsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSzVDLGtEQUFrRDtRQUNsRCxjQUFTLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTFFLDJEQUEy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SUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsK0RBQStEO1lBQy9ELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBMUhVLHlCQUF5QjttR0FBekIseUJBQXlCLDRKQWhFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDVCxtc0RBeENTLFlBQVksK0JBQUUsd0JBQXdCLGtIQUFFLFNBQVMsb1BBQUUsT0FBTywySkFBRSxVQUFVLHdEQUFFLE9BQU8seUZBQUUsT0FBTywwTkFBRSxRQUFROzs0RkFpRWpHLHlCQUF5QjtrQkFwRXJDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUNuRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNUO3dEQThCRCxLQUFLO3NCQURKLEtBQUs7Z0JBUU4sY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25Qb3BvdmVyLCBJb25MaXN0LCBJb25JdGVtLCBJb25MYWJlbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBsYW5ndWFnZSwgZ2xvYmVPdXRsaW5lLCBjaGVja21hcmsgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSwgSTE4bkxhbmcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXItc2VsZWN0b3IvcG9wb3Zlci1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3Zlck9wdGlvbiwgUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9wb3BvdmVyLXNlbGVjdG9yL3R5cGVzJztcbmltcG9ydCB7IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbGFuZ3VhZ2Utc2VsZWN0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDwhLS0gRGVmYXVsdCBtb2RlOiB1c2UgcG9wb3Zlci1zZWxlY3RvciAtLT5cbiAgICBAaWYgKHByb3BzLm1vZGUgIT09ICdpY29uJykge1xuICAgICAgPHZhbC1wb3BvdmVyLXNlbGVjdG9yIFtwcm9wc109XCJwb3BvdmVyUHJvcHNcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uTGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiPiA8L3ZhbC1wb3BvdmVyLXNlbGVjdG9yPlxuICAgIH1cblxuICAgIDwhLS0gSWNvbiBtb2RlOiBjb21wYWN0IGdsb2JlIGJ1dHRvbiB3aXRoIHBvcG92ZXIgLS0+XG4gICAgQGlmIChwcm9wcy5tb2RlID09PSAnaWNvbicpIHtcbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgIFtpZF09XCJwb3BvdmVySWRcIlxuICAgICAgICBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ21lZGl1bSdcIlxuICAgICAgICBbZmlsbF09XCJwcm9wcy5maWxsIHx8ICdjbGVhcidcIlxuICAgICAgICBbc2l6ZV09XCJwcm9wcy5zaXplIHx8ICdkZWZhdWx0J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgIGNsYXNzPVwiaWNvbi1tb2RlLWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwicHJvcHMuaWNvbiB8fCAnZ2xvYmUtb3V0bGluZSdcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwicG9wb3ZlcklkXCIgW2Rpc21pc3NPblNlbGVjdF09XCJ0cnVlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8aW9uLWxpc3Q+XG4gICAgICAgICAgICBAZm9yIChsYW5nIG9mIGF2YWlsYWJsZUxhbmd1YWdlczsgdHJhY2sgbGFuZykge1xuICAgICAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkZXRhaWxdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxhbmd1YWdlQ2hhbmdlKGxhbmcpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibGFuZyA9PT0gY3VycmVudExhbmd1YWdlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgZ2V0TGFuZ3VhZ2VEaXNwbGF5TmFtZShsYW5nKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgIEBpZiAobGFuZyA9PT0gY3VycmVudExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJjaGVja21hcmtcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9pb24tcG9wb3Zlcj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtbGFuZ3VhZ2Utc2VsZWN0b3JcbiAqXG4gKiBBIGxhbmd1YWdlIHNlbGVjdG9yIGNvbXBvbmVudCB0aGF0IHVzZXMgSTE4blNlcnZpY2UuXG4gKiBCeSBkZWZhdWx0LCBsYW5ndWFnZSBjaGFuZ2VzIGFyZSByZWFjdGl2ZSAobm8gcGFnZSByZWxvYWQpLlxuICogU2V0IGZvcmNlUmVsb2FkOiB0cnVlIGluIHByb3BzIHRvIHJlbG9hZCBvbiBjaGFuZ2UuXG4gKlxuICogQGV4YW1wbGUgRGVmYXVsdCBtb2RlIChkcm9wZG93biwgbm8gbGFiZWwpOlxuICogPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwieyBzaG93RmxhZ3M6IHRydWUgfVwiPlxuICogPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBsYWJlbCAoaWYgbmVlZGVkKTpcbiAqIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cInsgc2hvd0xhYmVsOiB0cnVlIH1cIj5cbiAqIDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICpcbiAqIEBleGFtcGxlIEljb24gbW9kZSAoY29tcGFjdCBmb3IgaGVhZGVycy90b29sYmFycyk6XG4gKiA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJ7IG1vZGU6ICdpY29uJywgY29sb3I6ICdwcmltYXJ5JyB9XCI+XG4gKiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBsYW5ndWFnZSBzZWxlY3RvclxuICogQG91dHB1dCBsYW5ndWFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gLSBFbWl0dGVkIHdoZW4gbGFuZ3VhZ2UgY2hhbmdlc1xuICovXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBMYW5ndWFnZSBzZWxlY3RvciBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7fTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBsYW5ndWFnZSBzZWxlY3Rpb24gY2hhbmdlcy5cbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIGxhbmd1YWdlIGNvZGUuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgbGFuZ3VhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKiogUG9wb3ZlciBzZWxlY3RvciBjb25maWd1cmF0aW9uIChmb3IgZGVmYXVsdCBtb2RlKSAqL1xuICBwb3BvdmVyUHJvcHM6IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhO1xuXG4gIC8qKiBVbmlxdWUgSUQgZm9yIHRoZSBpY29uIG1vZGUgcG9wb3ZlciB0cmlnZ2VyICovXG4gIHBvcG92ZXJJZCA9IGBsYW5nLXNlbGVjdG9yLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDkpfWA7XG5cbiAgLyoqIEF2YWlsYWJsZSBsYW5ndWFnZXMgKGV4cG9zZWQgZm9yIGljb24gbW9kZSB0ZW1wbGF0ZSkgKi9cbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlIChleHBvc2VkIGZvciBpY29uIG1vZGUgdGVtcGxhdGUpICovXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKiogRGVmYXVsdCBsYW5ndWFnZSBkaXNwbGF5IG5hbWVzICovXG4gIHJlYWRvbmx5IGRlZmF1bHRMYW5ndWFnZU5hbWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGVzOiAnRXNwYcOxb2wnLFxuICAgIGVuOiAnRW5nbGlzaCcsXG4gICAgZnI6ICdGcmFuw6dhaXMnLFxuICAgIGRlOiAnRGV1dHNjaCcsXG4gIH07XG5cbiAgLyoqIERlZmF1bHQgZmxhZyBpY29ucyBmb3IgbGFuZ3VhZ2VzICovXG4gIHJlYWRvbmx5IGRlZmF1bHRMYW5ndWFnZUZsYWdzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGVzOiAn8J+HqvCfh7gnLFxuICAgIGVuOiAn8J+HuvCfh7gnLFxuICAgIGZyOiAn8J+Hq/Cfh7cnLFxuICAgIGRlOiAn8J+HqfCfh6onLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgbGFuZ3VhZ2UsIGdsb2JlT3V0bGluZSwgY2hlY2ttYXJrIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcy5wcm9wcy5hdmFpbGFibGVMYW5ndWFnZXMgfHwgdGhpcy5pMThuLnN1cHBvcnRlZExhbmd1YWdlcygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZVBvcG92ZXJQcm9wcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUG9wb3ZlclByb3BzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcy5wcm9wcy5hdmFpbGFibGVMYW5ndWFnZXMgfHwgdGhpcy5pMThuLnN1cHBvcnRlZExhbmd1YWdlcygpO1xuXG4gICAgLy8gQ29udmVydCBsYW5ndWFnZSBjb2RlcyB0byBwb3BvdmVyIG9wdGlvbnNcbiAgICBjb25zdCBvcHRpb25zOiBQb3BvdmVyT3B0aW9uW10gPSBhdmFpbGFibGVMYW5ndWFnZXMubWFwKGxhbmcgPT4gKHtcbiAgICAgIHZhbHVlOiBsYW5nLFxuICAgICAgbGFiZWw6IHRoaXMuZ2V0TGFuZ3VhZ2VEaXNwbGF5TmFtZShsYW5nKSxcbiAgICB9KSk7XG5cbiAgICAvLyBDcmVhdGUgcG9wb3ZlciBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5wb3BvdmVyUHJvcHMgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgc2VsZWN0ZWRWYWx1ZTogY3VycmVudExhbmd1YWdlLFxuICAgICAgbGFiZWw6IHRoaXMucHJvcHMuc2hvd0xhYmVsID09PSB0cnVlID8gdGhpcy5wcm9wcy5sYWJlbCB8fCB0aGlzLmkxOG4udCgnbGFuZ3VhZ2UnKSA6IHVuZGVmaW5lZCxcbiAgICAgIGljb246ICdsYW5ndWFnZScsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy5pMThuLnQoJ3NlbGVjdExhbmd1YWdlJyksXG4gICAgICBjb2xvcjogdGhpcy5wcm9wcy5jb2xvciB8fCAnbWVkaXVtJyxcbiAgICAgIHNpemU6IHRoaXMucHJvcHMuc2l6ZSB8fCAnZGVmYXVsdCcsXG4gICAgICBmaWxsOiB0aGlzLnByb3BzLmZpbGwgfHwgJ291dGxpbmUnLFxuICAgICAgc2hhcGU6IHRoaXMucHJvcHMuc2hhcGUsXG4gICAgICBleHBhbmQ6IHRoaXMucHJvcHMuZXhwYW5kLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMucHJvcHMuZGlzYWJsZWQgfHwgZmFsc2UsXG4gICAgICBpbnRlcmZhY2U6ICdwb3BvdmVyJyxcbiAgICAgIHNob3dDaGVja21hcms6IHRydWUsXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBjYW5jZWxUZXh0OiB0aGlzLmkxOG4udCgnY2FuY2VsJyksXG4gICAgICBva1RleHQ6IHRoaXMuaTE4bi50KCdvaycpLFxuICAgIH07XG4gIH1cblxuICAvKiogR2V0IGRpc3BsYXkgbmFtZSBmb3IgYSBsYW5ndWFnZSBjb2RlIChwdWJsaWMgZm9yIHRlbXBsYXRlIGFjY2VzcykgKi9cbiAgZ2V0TGFuZ3VhZ2VEaXNwbGF5TmFtZShsYW5ndWFnZUNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVXNlIGN1c3RvbSBuYW1lcyBpZiBwcm92aWRlZFxuICAgIGlmICh0aGlzLnByb3BzLmN1c3RvbUxhbmd1YWdlTmFtZXM/LltsYW5ndWFnZUNvZGVdKSB7XG4gICAgICBjb25zdCBjdXN0b21OYW1lID0gdGhpcy5wcm9wcy5jdXN0b21MYW5ndWFnZU5hbWVzW2xhbmd1YWdlQ29kZV07XG4gICAgICBjb25zdCBmbGFnID0gdGhpcy5wcm9wcy5zaG93RmxhZ3MgPyB0aGlzLmRlZmF1bHRMYW5ndWFnZUZsYWdzW2xhbmd1YWdlQ29kZV0gOiAnJztcbiAgICAgIHJldHVybiBmbGFnID8gYCR7ZmxhZ30gJHtjdXN0b21OYW1lfWAgOiBjdXN0b21OYW1lO1xuICAgIH1cblxuICAgIC8vIFVzZSBkZWZhdWx0IG5hbWVzXG4gICAgY29uc3QgZGVmYXVsdE5hbWUgPSB0aGlzLmRlZmF1bHRMYW5ndWFnZU5hbWVzW2xhbmd1YWdlQ29kZV0gfHwgbGFuZ3VhZ2VDb2RlLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgZmxhZyA9IHRoaXMucHJvcHMuc2hvd0ZsYWdzID8gdGhpcy5kZWZhdWx0TGFuZ3VhZ2VGbGFnc1tsYW5ndWFnZUNvZGVdIDogJyc7XG4gICAgcmV0dXJuIGZsYWcgPyBgJHtmbGFnfSAke2RlZmF1bHROYW1lfWAgOiBkZWZhdWx0TmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgbGFuZ3VhZ2Ugc2VsZWN0aW9uIGNoYW5nZS5cbiAgICogQHBhcmFtIHNlbGVjdGVkTGFuZ3VhZ2UgLSBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2UgY29kZShzKVxuICAgKi9cbiAgb25MYW5ndWFnZUNoYW5nZShzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGlmICh0eXBlb2Ygc2VsZWN0ZWRMYW5ndWFnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld0xhbmcgPSBzZWxlY3RlZExhbmd1YWdlIGFzIEkxOG5MYW5nO1xuXG4gICAgICAvLyBVcGRhdGUgY3VycmVudCBsYW5ndWFnZSBmb3IgaWNvbiBtb2RlXG4gICAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IG5ld0xhbmc7XG5cbiAgICAgIC8vIEVtaXQgdGhlIGNoYW5nZSBldmVudFxuICAgICAgdGhpcy5sYW5ndWFnZUNoYW5nZS5lbWl0KHNlbGVjdGVkTGFuZ3VhZ2UpO1xuXG4gICAgICAvLyBTZXQgdGhlIG5ldyBsYW5ndWFnZSAocmVhY3RpdmUgYnkgZGVmYXVsdCwgcmVsb2FkIGlmIGZvcmNlUmVsb2FkIGlzIHRydWUpXG4gICAgICB0aGlzLmkxOG4uc2V0TGFuZ3VhZ2UobmV3TGFuZywgdGhpcy5wcm9wcy5mb3JjZVJlbG9hZCk7XG5cbiAgICAgIC8vIFVwZGF0ZSBwb3BvdmVyIHNlbGVjdGVkIHZhbHVlIGZvciByZWFjdGl2ZSBVSSAoZGVmYXVsdCBtb2RlKVxuICAgICAgaWYgKHRoaXMucG9wb3ZlclByb3BzKSB7XG4gICAgICAgIHRoaXMucG9wb3ZlclByb3BzID0geyAuLi50aGlzLnBvcG92ZXJQcm9wcywgc2VsZWN0ZWRWYWx1ZTogbmV3TGFuZyB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|