valtech-components 2.0.652 → 2.0.653

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.
@@ -277,7 +277,7 @@ export class PhoneInputComponent {
277
277
  </ion-note>
278
278
  }
279
279
  </div>
280
- `, isInline: true, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center}.number-input ion-input{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;--highlight-height: 0;width:100%;min-height:unset;border:none;outline:none}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important;outline:none!important}.number-input ion-input::part(native):focus{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused{--border-color: transparent;--box-shadow: none;border:none;outline:none}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}.number-input input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { 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"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
280
+ `, isInline: true, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent}.number-input ion-input{--background: transparent !important;--border-style: none !important;--border-width: 0 !important;--border-color: transparent !important;--border-radius: 0 !important;--box-shadow: none !important;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent !important;--highlight-color-valid: transparent !important;--highlight-color-invalid: transparent !important;--highlight-height: 0 !important;--inner-border-width: 0 !important;width:100%;min-height:unset;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0 12px!important;outline:none!important}.number-input ion-input::part(native):focus,.number-input ion-input::part(native):focus-visible{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused,.number-input ion-input.has-value,.number-input ion-input.ion-valid,.number-input ion-input.ion-invalid{--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}::ng-deep .number-input ion-input .input-wrapper,::ng-deep .number-input ion-input .native-wrapper,::ng-deep .number-input ion-input .label-text-wrapper{border:none!important;box-shadow:none!important;outline:none!important;background:transparent!important}::ng-deep .number-input ion-input input,::ng-deep .number-input ion-input input:focus,::ng-deep .number-input ion-input input:focus-visible{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { 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"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
281
281
  }
282
282
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneInputComponent, decorators: [{
283
283
  type: Component,
@@ -340,7 +340,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
340
340
  </ion-note>
341
341
  }
342
342
  </div>
343
- `, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center}.number-input ion-input{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;--highlight-height: 0;width:100%;min-height:unset;border:none;outline:none}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important;outline:none!important}.number-input ion-input::part(native):focus{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused{--border-color: transparent;--box-shadow: none;border:none;outline:none}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}.number-input input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"] }]
343
+ `, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent}.number-input ion-input{--background: transparent !important;--border-style: none !important;--border-width: 0 !important;--border-color: transparent !important;--border-radius: 0 !important;--box-shadow: none !important;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent !important;--highlight-color-valid: transparent !important;--highlight-color-invalid: transparent !important;--highlight-height: 0 !important;--inner-border-width: 0 !important;width:100%;min-height:unset;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0 12px!important;outline:none!important}.number-input ion-input::part(native):focus,.number-input ion-input::part(native):focus-visible{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused,.number-input ion-input.has-value,.number-input ion-input.ion-valid,.number-input ion-input.ion-invalid{--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}::ng-deep .number-input ion-input .input-wrapper,::ng-deep .number-input ion-input .native-wrapper,::ng-deep .number-input ion-input .label-text-wrapper{border:none!important;box-shadow:none!important;outline:none!important;background:transparent!important}::ng-deep .number-input ion-input input,::ng-deep .number-input ion-input input:focus,::ng-deep .number-input ion-input input:focus-visible{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"] }]
344
344
  }], propDecorators: { preset: [{
345
345
  type: Input
346
346
  }], props: [{
@@ -348,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
348
348
  }], phoneChange: [{
349
349
  type: Output
350
350
  }] } });
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQTBELG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFFdkcsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQW9FOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWhHaEM7UUFpR1UsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7V0FFRztRQUNNLFVBQUssR0FBZ0MsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBQ0gsa0JBQWEs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QUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsNkJBQTZCO1FBQzdCLE9BQU8sVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0E3TlUsbUJBQW1CO21HQUFuQixtQkFBbUIsdUxBNUZwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQsNitGQTVEUyxZQUFZLDhCQUFFLG1CQUFtQiw2ZEFBRSxRQUFRLDhlQUFFLFNBQVMsa1ZBQUUsZUFBZSw2RkFBRSxPQUFPLGdGQUFFLE9BQU87OzRGQTZGeEYsbUJBQW1CO2tCQWhHL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUMxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQ7OEJBMkNRLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIElvbklucHV0LFxuICBJb25TZWxlY3QsXG4gIElvblNlbGVjdE9wdGlvbixcbiAgSW9uTm90ZSxcbiAgSW9uSWNvbixcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFBob25lSW5wdXRNZXRhZGF0YSwgUGhvbmVJbnB1dENoYW5nZUV2ZW50LCBDb3VudHJ5Q29kZSwgQ09NTU9OX0NPVU5UUllfQ09ERVMgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjYWxsT3V0bGluZSwgY2hldnJvbkRvd25PdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGhvbmUtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dCwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1pbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwicmVzb2x2ZWRQcm9wcy5jc3NDbGFzc1wiIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5sYWJlbCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJwaG9uZS1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicGhvbmUtaW5wdXQtd3JhcHBlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIj5cbiAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLnNob3dDb3VudHJ5U2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50cnktc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbENvdW50cnlDb250cm9sXCJcbiAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cInsgY3NzQ2xhc3M6ICdjb3VudHJ5LXNlbGVjdC1wb3BvdmVyJyB9XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Db3VudHJ5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAZm9yIChjb3VudHJ5IG9mIGdldENvdW50cnlMaXN0KCk7IHRyYWNrIGNvdW50cnkuY29kZSkge1xuICAgICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiY291bnRyeS5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd0ZsYWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxhZ1wiPnt7IGNvdW50cnkuZmxhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHt7IGNvdW50cnkuZGlhbENvZGUgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsLWNvZGUtZGlzcGxheVwiPlxuICAgICAgICAgICAge3sgZ2V0U2VsZWN0ZWRDb3VudHJ5KCk/LmRpYWxDb2RlIHx8ICcrMScgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXItaW5wdXRcIj5cbiAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxOdW1iZXJDb250cm9sXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIlxuICAgICAgICAgICAgaW5wdXRtb2RlPVwidGVsXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HXCJcbiAgICAgICAgICAgIFttYXhsZW5ndGhdPVwicmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMgfHwgMTVcIlxuICAgICAgICAgICAgKGlvbklucHV0KT1cIm9uTnVtYmVySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJjYWxsLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHJlc29sdmVkUHJvcHMuaGludCAmJiAhaGFzRXJyb3IpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiaGludFwiPnt7IGdldEhpbnQoKSB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IgJiYgcmVzb2x2ZWRQcm9wcy5zaG93RXJyb3JzKSB7XG4gICAgICAgIDxpb24tbm90ZSBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgIDwvaW9uLW5vdGU+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcGhvbmUtaW5wdXRcbiAqXG4gKiBBIHBob25lIG51bWJlciBpbnB1dCB3aXRoIGNvdW50cnkgY29kZSBzZWxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1waG9uZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHBob25lQ29udHJvbCxcbiAqICAgICBwbGFjZWhvbGRlcjogJ1Bob25lIG51bWJlcicsXG4gKiAgICAgZGVmYXVsdENvdW50cnk6ICdNWCdcbiAqICAgfVwiXG4gKiA+PC92YWwtcGhvbmUtaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGN1c3RvbSBjb3VudHJpZXNcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGhvbmUtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiBwaG9uZUNvbnRyb2wsXG4gKiAgICAgbGFiZWw6ICdQaG9uZScsXG4gKiAgICAgY291bnRyeUNvZGVzOiBteUNvdW50cnlDb2RlcyxcbiAqICAgICBwcmVmZXJyZWRDb3VudHJpZXM6IFsnTVgnLCAnVVMnLCAnRVMnXSxcbiAqICAgICBzaG93RXJyb3JzOiB0cnVlXG4gKiAgIH1cIlxuICogICAocGhvbmVDaGFuZ2UpPVwib25QaG9uZUNoYW5nZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1waG9uZS1pbnB1dD5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgUGhvbmVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBwaG9uZSBpbnB1dCBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtcGhvbmUtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7IGNvbnRyb2w6IGN0cmwgfVwiPjwvdmFsLXBob25lLWlucHV0PlxuICAgKi9cbiAgQElucHV0KCkgcHJlc2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaG9uZSBpbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC4gVmFsdWVzIGhlcmUgb3ZlcnJpZGUgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFBob25lSW5wdXRNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IFBob25lSW5wdXRNZXRhZGF0YSA9IHt9IGFzIFBob25lSW5wdXRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcGhvbmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBob25lSW5wdXRDaGFuZ2VFdmVudD4oKTtcblxuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG5cbiAgaW50ZXJuYWxDb3VudHJ5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcbiAgaW50ZXJuYWxOdW1iZXJDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgdmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHByZXNldCBjb25maWd1cmF0aW9uIHdpdGggZXhwbGljaXQgcHJvcHMuXG4gICAqIEV4cGxpY2l0IHByb3BzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0XG4gICAgICA/ICh0aGlzLnByZXNldHMuZ2V0KCdwaG9uZUlucHV0JywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8UGhvbmVJbnB1dE1ldGFkYXRhPilcbiAgICAgIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGNvdW50cnlcbiAgICBjb25zdCBkZWZhdWx0Q291bnRyeSA9IHRoaXMucmVzb2x2ZWRQcm9wcy5kZWZhdWx0Q291bnRyeSB8fCAnVVMnO1xuICAgIHRoaXMuaW50ZXJuYWxDb3VudHJ5Q29udHJvbC5zZXRWYWx1ZShkZWZhdWx0Q291bnRyeSk7XG5cbiAgICAvLyBTeW5jIHdpdGggZXh0ZXJuYWwgY29udHJvbHMgaWYgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb250cm9sKSB7XG4gICAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wgPSB0aGlzLnJlc29sdmVkUHJvcHMuY291bnRyeUNvbnRyb2w7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMubnVtYmVyQ29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wgPSB0aGlzLnJlc29sdmVkUHJvcHMubnVtYmVyQ29udHJvbDtcbiAgICB9XG5cbiAgICAvLyBQYXJzZSBpbml0aWFsIHZhbHVlIGZyb20gbWFpbiBjb250cm9sXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgdGhpcy5wYXJzZVBob25lTnVtYmVyKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAodmFsdWUgJiYgIXRoaXMuaXNJbnRlcm5hbFVwZGF0ZSkge1xuICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIC8vIFRyeSB0byBleHRyYWN0IGNvdW50cnkgY29kZVxuICAgIGNvbnN0IGNvdW50cmllcyA9IHRoaXMuZ2V0Q291bnRyeUxpc3QoKTtcbiAgICBmb3IgKGNvbnN0IGNvdW50cnkgb2YgY291bnRyaWVzKSB7XG4gICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aChjb3VudHJ5LmRpYWxDb2RlKSkge1xuICAgICAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wuc2V0VmFsdWUoY291bnRyeS5jb2RlKTtcbiAgICAgICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUuc3Vic3RyaW5nKGNvdW50cnkuZGlhbENvZGUubGVuZ3RoKS50cmltKCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgbm8gY291bnRyeSBjb2RlIGZvdW5kLCBqdXN0IHNldCB0aGUgbnVtYmVyXG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAvLyBVc2UgZm9ybWF0IGZyb20gc2VsZWN0ZWQgY291bnRyeSBpZiBhdmFpbGFibGVcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBpZiAoY291bnRyeT8uZm9ybWF0ICYmICF0aGlzLnJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHJldHVybiBjb3VudHJ5LmZvcm1hdDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlciB8fCAnJztcbiAgfVxuXG4gIGdldEhpbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRDb3VudHJ5TGlzdCgpOiBDb3VudHJ5Q29kZVtdIHtcbiAgICBjb25zdCBjb3VudHJpZXMgPSB0aGlzLnJlc29sdmVkUHJvcHMuY291bnRyeUNvZGVzIHx8IENPTU1PTl9DT1VOVFJZX0NPREVTO1xuXG4gICAgLy8gU29ydCBieSBwcmVmZXJyZWQgY291bnRyaWVzIGZpcnN0XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5wcmVmZXJyZWRDb3VudHJpZXM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgcHJlZmVycmVkID0gdGhpcy5yZXNvbHZlZFByb3BzLnByZWZlcnJlZENvdW50cmllcztcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmNvdW50cmllcy5maWx0ZXIoYyA9PiBwcmVmZXJyZWQuaW5jbHVkZXMoYy5jb2RlKSksXG4gICAgICAgIC4uLmNvdW50cmllcy5maWx0ZXIoYyA9PiAhcHJlZmVycmVkLmluY2x1ZGVzKGMuY29kZSkpLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gY291bnRyaWVzO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDb3VudHJ5KCk6IENvdW50cnlDb2RlIHwgbnVsbCB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuaW50ZXJuYWxDb3VudHJ5Q29udHJvbC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5nZXRDb3VudHJ5TGlzdCgpLmZpbmQoYyA9PiBjLmNvZGUgPT09IGNvZGUpIHx8IG51bGw7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy50b3VjaGVkICYmIHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy5pbnZhbGlkKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5yZXNvbHZlZFByb3BzLmVycm9ycykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sLmVycm9ycyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgZXJyb3JLZXlzKSB7XG4gICAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMuZXJyb3JzW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgb25Db3VudHJ5Q2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uTnVtYmVySW5wdXQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgLy8gRmlsdGVyIG5vbi1udW1lcmljIGNoYXJhY3RlcnMgZXhjZXB0IHNwYWNlcyBhbmQgZGFzaGVzXG4gICAgbGV0IHZhbHVlID0gKGV2ZW50LmRldGFpbC52YWx1ZSB8fCAnJykucmVwbGFjZSgvW15cXGRcXHNcXC1dL2csICcnKTtcblxuICAgIC8vIEFwcGx5IG1heCBkaWdpdHMgbGltaXRcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cykge1xuICAgICAgY29uc3QgZGlnaXRzT25seSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG4gICAgICBpZiAoZGlnaXRzT25seS5sZW5ndGggPiB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKSB7XG4gICAgICAgIHZhbHVlID0gZGlnaXRzT25seS5zdWJzdHJpbmcoMCwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYWluQ29udHJvbCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBjb25zdCBudW1iZXIgPSB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC52YWx1ZSB8fCAnJztcbiAgICBjb25zdCBmdWxsTnVtYmVyID0gY291bnRyeSA/IGAke2NvdW50cnkuZGlhbENvZGV9JHtudW1iZXJ9YCA6IG51bWJlcjtcblxuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IHRydWU7XG4gICAgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnNldFZhbHVlKGZ1bGxOdW1iZXIpO1xuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuXG4gICAgLy8gRW1pdCBjaGFuZ2UgZXZlbnRcbiAgICBjb25zdCBkaWdpdHNPbmx5ID0gbnVtYmVyLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVOdW1iZXIoZGlnaXRzT25seSk7XG5cbiAgICB0aGlzLnBob25lQ2hhbmdlLmVtaXQoe1xuICAgICAgZnVsbE51bWJlcixcbiAgICAgIG51bWJlcixcbiAgICAgIGNvdW50cnksXG4gICAgICBpc1ZhbGlkLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZU51bWJlcihkaWdpdHNPbmx5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm1pbkRpZ2l0cyAmJiBkaWdpdHNPbmx5Lmxlbmd0aCA8IHRoaXMucmVzb2x2ZWRQcm9wcy5taW5EaWdpdHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMgJiYgZGlnaXRzT25seS5sZW5ndGggPiB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMucGF0dGVybikge1xuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHRoaXMucmVzb2x2ZWRQcm9wcy5wYXR0ZXJuKTtcbiAgICAgIHJldHVybiByZWdleC50ZXN0KGRpZ2l0c09ubHkpO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBhdCBsZWFzdCA3IGRpZ2l0c1xuICAgIHJldHVybiBkaWdpdHNPbmx5Lmxlbmd0aCA+PSA3O1xuICB9XG59XG4iXX0=
351
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQTBELG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFFdkcsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQW9FOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWhHaEM7UUFpR1UsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7V0FFRztRQUNNLFVBQUssR0FBZ0MsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBQ0gsa0JBQWEs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QUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsNkJBQTZCO1FBQzdCLE9BQU8sVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0E3TlUsbUJBQW1CO21HQUFuQixtQkFBbUIsdUxBNUZwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQsd3lIQTVEUyxZQUFZLDhCQUFFLG1CQUFtQiw2ZEFBRSxRQUFRLDhlQUFFLFNBQVMsa1ZBQUUsZUFBZSw2RkFBRSxPQUFPLGdGQUFFLE9BQU87OzRGQTZGeEYsbUJBQW1CO2tCQWhHL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUMxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQ7OEJBMkNRLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIElvbklucHV0LFxuICBJb25TZWxlY3QsXG4gIElvblNlbGVjdE9wdGlvbixcbiAgSW9uTm90ZSxcbiAgSW9uSWNvbixcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFBob25lSW5wdXRNZXRhZGF0YSwgUGhvbmVJbnB1dENoYW5nZUV2ZW50LCBDb3VudHJ5Q29kZSwgQ09NTU9OX0NPVU5UUllfQ09ERVMgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjYWxsT3V0bGluZSwgY2hldnJvbkRvd25PdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGhvbmUtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dCwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24sIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1pbnB1dC1jb250YWluZXJcIiBbY2xhc3NdPVwicmVzb2x2ZWRQcm9wcy5jc3NDbGFzc1wiIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5sYWJlbCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJwaG9uZS1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicGhvbmUtaW5wdXQtd3JhcHBlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIj5cbiAgICAgICAgQGlmIChyZXNvbHZlZFByb3BzLnNob3dDb3VudHJ5U2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50cnktc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbENvdW50cnlDb250cm9sXCJcbiAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cInsgY3NzQ2xhc3M6ICdjb3VudHJ5LXNlbGVjdC1wb3BvdmVyJyB9XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Db3VudHJ5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAZm9yIChjb3VudHJ5IG9mIGdldENvdW50cnlMaXN0KCk7IHRyYWNrIGNvdW50cnkuY29kZSkge1xuICAgICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiY291bnRyeS5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd0ZsYWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxhZ1wiPnt7IGNvdW50cnkuZmxhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHt7IGNvdW50cnkuZGlhbENvZGUgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsLWNvZGUtZGlzcGxheVwiPlxuICAgICAgICAgICAge3sgZ2V0U2VsZWN0ZWRDb3VudHJ5KCk/LmRpYWxDb2RlIHx8ICcrMScgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXItaW5wdXRcIj5cbiAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxOdW1iZXJDb250cm9sXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIlxuICAgICAgICAgICAgaW5wdXRtb2RlPVwidGVsXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5XT1JLSU5HXCJcbiAgICAgICAgICAgIFttYXhsZW5ndGhdPVwicmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMgfHwgMTVcIlxuICAgICAgICAgICAgKGlvbklucHV0KT1cIm9uTnVtYmVySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJjYWxsLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvaW9uLWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHJlc29sdmVkUHJvcHMuaGludCAmJiAhaGFzRXJyb3IpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiaGludFwiPnt7IGdldEhpbnQoKSB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IgJiYgcmVzb2x2ZWRQcm9wcy5zaG93RXJyb3JzKSB7XG4gICAgICAgIDxpb24tbm90ZSBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgIDwvaW9uLW5vdGU+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcGhvbmUtaW5wdXRcbiAqXG4gKiBBIHBob25lIG51bWJlciBpbnB1dCB3aXRoIGNvdW50cnkgY29kZSBzZWxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1waG9uZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHBob25lQ29udHJvbCxcbiAqICAgICBwbGFjZWhvbGRlcjogJ1Bob25lIG51bWJlcicsXG4gKiAgICAgZGVmYXVsdENvdW50cnk6ICdNWCdcbiAqICAgfVwiXG4gKiA+PC92YWwtcGhvbmUtaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGN1c3RvbSBjb3VudHJpZXNcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGhvbmUtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiBwaG9uZUNvbnRyb2wsXG4gKiAgICAgbGFiZWw6ICdQaG9uZScsXG4gKiAgICAgY291bnRyeUNvZGVzOiBteUNvdW50cnlDb2RlcyxcbiAqICAgICBwcmVmZXJyZWRDb3VudHJpZXM6IFsnTVgnLCAnVVMnLCAnRVMnXSxcbiAqICAgICBzaG93RXJyb3JzOiB0cnVlXG4gKiAgIH1cIlxuICogICAocGhvbmVDaGFuZ2UpPVwib25QaG9uZUNoYW5nZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1waG9uZS1pbnB1dD5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgUGhvbmVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBwaG9uZSBpbnB1dCBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtcGhvbmUtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7IGNvbnRyb2w6IGN0cmwgfVwiPjwvdmFsLXBob25lLWlucHV0PlxuICAgKi9cbiAgQElucHV0KCkgcHJlc2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaG9uZSBpbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC4gVmFsdWVzIGhlcmUgb3ZlcnJpZGUgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFBob25lSW5wdXRNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IFBob25lSW5wdXRNZXRhZGF0YSA9IHt9IGFzIFBob25lSW5wdXRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcGhvbmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBob25lSW5wdXRDaGFuZ2VFdmVudD4oKTtcblxuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG5cbiAgaW50ZXJuYWxDb3VudHJ5Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcbiAgaW50ZXJuYWxOdW1iZXJDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgdmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHByZXNldCBjb25maWd1cmF0aW9uIHdpdGggZXhwbGljaXQgcHJvcHMuXG4gICAqIEV4cGxpY2l0IHByb3BzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0XG4gICAgICA/ICh0aGlzLnByZXNldHMuZ2V0KCdwaG9uZUlucHV0JywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8UGhvbmVJbnB1dE1ldGFkYXRhPilcbiAgICAgIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGNvdW50cnlcbiAgICBjb25zdCBkZWZhdWx0Q291bnRyeSA9IHRoaXMucmVzb2x2ZWRQcm9wcy5kZWZhdWx0Q291bnRyeSB8fCAnVVMnO1xuICAgIHRoaXMuaW50ZXJuYWxDb3VudHJ5Q29udHJvbC5zZXRWYWx1ZShkZWZhdWx0Q291bnRyeSk7XG5cbiAgICAvLyBTeW5jIHdpdGggZXh0ZXJuYWwgY29udHJvbHMgaWYgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb250cm9sKSB7XG4gICAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wgPSB0aGlzLnJlc29sdmVkUHJvcHMuY291bnRyeUNvbnRyb2w7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMubnVtYmVyQ29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wgPSB0aGlzLnJlc29sdmVkUHJvcHMubnVtYmVyQ29udHJvbDtcbiAgICB9XG5cbiAgICAvLyBQYXJzZSBpbml0aWFsIHZhbHVlIGZyb20gbWFpbiBjb250cm9sXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgdGhpcy5wYXJzZVBob25lTnVtYmVyKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAodmFsdWUgJiYgIXRoaXMuaXNJbnRlcm5hbFVwZGF0ZSkge1xuICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIC8vIFRyeSB0byBleHRyYWN0IGNvdW50cnkgY29kZVxuICAgIGNvbnN0IGNvdW50cmllcyA9IHRoaXMuZ2V0Q291bnRyeUxpc3QoKTtcbiAgICBmb3IgKGNvbnN0IGNvdW50cnkgb2YgY291bnRyaWVzKSB7XG4gICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aChjb3VudHJ5LmRpYWxDb2RlKSkge1xuICAgICAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wuc2V0VmFsdWUoY291bnRyeS5jb2RlKTtcbiAgICAgICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUuc3Vic3RyaW5nKGNvdW50cnkuZGlhbENvZGUubGVuZ3RoKS50cmltKCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgbm8gY291bnRyeSBjb2RlIGZvdW5kLCBqdXN0IHNldCB0aGUgbnVtYmVyXG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAvLyBVc2UgZm9ybWF0IGZyb20gc2VsZWN0ZWQgY291bnRyeSBpZiBhdmFpbGFibGVcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBpZiAoY291bnRyeT8uZm9ybWF0ICYmICF0aGlzLnJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXIpIHtcbiAgICAgIHJldHVybiBjb3VudHJ5LmZvcm1hdDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlciB8fCAnJztcbiAgfVxuXG4gIGdldEhpbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRDb3VudHJ5TGlzdCgpOiBDb3VudHJ5Q29kZVtdIHtcbiAgICBjb25zdCBjb3VudHJpZXMgPSB0aGlzLnJlc29sdmVkUHJvcHMuY291bnRyeUNvZGVzIHx8IENPTU1PTl9DT1VOVFJZX0NPREVTO1xuXG4gICAgLy8gU29ydCBieSBwcmVmZXJyZWQgY291bnRyaWVzIGZpcnN0XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5wcmVmZXJyZWRDb3VudHJpZXM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgcHJlZmVycmVkID0gdGhpcy5yZXNvbHZlZFByb3BzLnByZWZlcnJlZENvdW50cmllcztcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmNvdW50cmllcy5maWx0ZXIoYyA9PiBwcmVmZXJyZWQuaW5jbHVkZXMoYy5jb2RlKSksXG4gICAgICAgIC4uLmNvdW50cmllcy5maWx0ZXIoYyA9PiAhcHJlZmVycmVkLmluY2x1ZGVzKGMuY29kZSkpLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gY291bnRyaWVzO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDb3VudHJ5KCk6IENvdW50cnlDb2RlIHwgbnVsbCB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuaW50ZXJuYWxDb3VudHJ5Q29udHJvbC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5nZXRDb3VudHJ5TGlzdCgpLmZpbmQoYyA9PiBjLmNvZGUgPT09IGNvZGUpIHx8IG51bGw7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy50b3VjaGVkICYmIHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy5pbnZhbGlkKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5yZXNvbHZlZFByb3BzLmVycm9ycykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sLmVycm9ycyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgZXJyb3JLZXlzKSB7XG4gICAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMuZXJyb3JzW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgb25Db3VudHJ5Q2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uTnVtYmVySW5wdXQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgLy8gRmlsdGVyIG5vbi1udW1lcmljIGNoYXJhY3RlcnMgZXhjZXB0IHNwYWNlcyBhbmQgZGFzaGVzXG4gICAgbGV0IHZhbHVlID0gKGV2ZW50LmRldGFpbC52YWx1ZSB8fCAnJykucmVwbGFjZSgvW15cXGRcXHNcXC1dL2csICcnKTtcblxuICAgIC8vIEFwcGx5IG1heCBkaWdpdHMgbGltaXRcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cykge1xuICAgICAgY29uc3QgZGlnaXRzT25seSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG4gICAgICBpZiAoZGlnaXRzT25seS5sZW5ndGggPiB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKSB7XG4gICAgICAgIHZhbHVlID0gZGlnaXRzT25seS5zdWJzdHJpbmcoMCwgdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlcm5hbE51bWJlckNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYWluQ29udHJvbCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkoKTtcbiAgICBjb25zdCBudW1iZXIgPSB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC52YWx1ZSB8fCAnJztcbiAgICBjb25zdCBmdWxsTnVtYmVyID0gY291bnRyeSA/IGAke2NvdW50cnkuZGlhbENvZGV9JHtudW1iZXJ9YCA6IG51bWJlcjtcblxuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IHRydWU7XG4gICAgdGhpcy5yZXNvbHZlZFByb3BzLmNvbnRyb2w/LnNldFZhbHVlKGZ1bGxOdW1iZXIpO1xuICAgIHRoaXMuaXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuXG4gICAgLy8gRW1pdCBjaGFuZ2UgZXZlbnRcbiAgICBjb25zdCBkaWdpdHNPbmx5ID0gbnVtYmVyLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVOdW1iZXIoZGlnaXRzT25seSk7XG5cbiAgICB0aGlzLnBob25lQ2hhbmdlLmVtaXQoe1xuICAgICAgZnVsbE51bWJlcixcbiAgICAgIG51bWJlcixcbiAgICAgIGNvdW50cnksXG4gICAgICBpc1ZhbGlkLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZU51bWJlcihkaWdpdHNPbmx5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm1pbkRpZ2l0cyAmJiBkaWdpdHNPbmx5Lmxlbmd0aCA8IHRoaXMucmVzb2x2ZWRQcm9wcy5taW5EaWdpdHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMgJiYgZGlnaXRzT25seS5sZW5ndGggPiB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMucGF0dGVybikge1xuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHRoaXMucmVzb2x2ZWRQcm9wcy5wYXR0ZXJuKTtcbiAgICAgIHJldHVybiByZWdleC50ZXN0KGRpZ2l0c09ubHkpO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBhdCBsZWFzdCA3IGRpZ2l0c1xuICAgIHJldHVybiBkaWdpdHNPbmx5Lmxlbmd0aCA+PSA3O1xuICB9XG59XG4iXX0=
@@ -12854,7 +12854,7 @@ class PhoneInputComponent {
12854
12854
  </ion-note>
12855
12855
  }
12856
12856
  </div>
12857
- `, isInline: true, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center}.number-input ion-input{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;--highlight-height: 0;width:100%;min-height:unset;border:none;outline:none}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important;outline:none!important}.number-input ion-input::part(native):focus{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused{--border-color: transparent;--box-shadow: none;border:none;outline:none}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}.number-input input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$3.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"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
12857
+ `, isInline: true, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent}.number-input ion-input{--background: transparent !important;--border-style: none !important;--border-width: 0 !important;--border-color: transparent !important;--border-radius: 0 !important;--box-shadow: none !important;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent !important;--highlight-color-valid: transparent !important;--highlight-color-invalid: transparent !important;--highlight-height: 0 !important;--inner-border-width: 0 !important;width:100%;min-height:unset;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0 12px!important;outline:none!important}.number-input ion-input::part(native):focus,.number-input ion-input::part(native):focus-visible{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused,.number-input ion-input.has-value,.number-input ion-input.ion-valid,.number-input ion-input.ion-invalid{--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}::ng-deep .number-input ion-input .input-wrapper,::ng-deep .number-input ion-input .native-wrapper,::ng-deep .number-input ion-input .label-text-wrapper{border:none!important;box-shadow:none!important;outline:none!important;background:transparent!important}::ng-deep .number-input ion-input input,::ng-deep .number-input ion-input input:focus,::ng-deep .number-input ion-input input:focus-visible{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$3.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"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
12858
12858
  }
12859
12859
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PhoneInputComponent, decorators: [{
12860
12860
  type: Component,
@@ -12917,7 +12917,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
12917
12917
  </ion-note>
12918
12918
  }
12919
12919
  </div>
12920
- `, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:500;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center}.number-input ion-input{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;--highlight-height: 0;width:100%;min-height:unset;border:none;outline:none}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important;outline:none!important}.number-input ion-input::part(native):focus{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused{--border-color: transparent;--box-shadow: none;border:none;outline:none}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}.number-input input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"] }]
12920
+ `, styles: [":host{display:block;width:100%}.phone-input-container.has-error .phone-input-wrapper{border-color:var(--ion-color-danger)}.phone-label{display:block;font-size:14px;font-weight:700;color:var(--ion-color-dark);margin-bottom:8px}.phone-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--ion-border-color, #e0e0e0);border-radius:28px;background:var(--ion-background-color, #fff);overflow:hidden;transition:border-color .2s;height:56px}.phone-input-wrapper:focus-within{border-color:var(--ion-color-primary)}.phone-input-wrapper.disabled{opacity:.5;pointer-events:none}.country-selector{flex-shrink:0;border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center;padding:0 4px 0 12px}.country-selector ion-select{--background: transparent;--border-style: none;--border-width: 0;--border-color: transparent;--border-radius: 0;--box-shadow: none;--padding-start: 4px;--padding-end: 4px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-width:80px;max-width:100px}.country-selector ion-select::part(container){border:none;box-shadow:none}.country-selector ion-select::part(icon){opacity:.6}.country-selector .flag{margin-right:4px}.dial-code-display{flex-shrink:0;padding:0 12px;font-weight:500;color:var(--ion-color-medium-shade);border-right:1px solid var(--ion-border-color, #e0e0e0);background:var(--ion-color-light-tint, #f5f5f5);display:flex;align-items:center}.number-input{flex:1;display:flex;align-items:center;background:transparent}.number-input ion-input{--background: transparent !important;--border-style: none !important;--border-width: 0 !important;--border-color: transparent !important;--border-radius: 0 !important;--box-shadow: none !important;--padding-start: 12px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--highlight-color-focused: transparent !important;--highlight-color-valid: transparent !important;--highlight-color-invalid: transparent !important;--highlight-height: 0 !important;--inner-border-width: 0 !important;width:100%;min-height:unset;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.number-input ion-input::part(native){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0 12px!important;outline:none!important}.number-input ion-input::part(native):focus,.number-input ion-input::part(native):focus-visible{border:none!important;box-shadow:none!important;outline:none!important}.number-input ion-input.has-focus,.number-input ion-input.ion-focused,.number-input ion-input.has-value,.number-input ion-input.ion-valid,.number-input ion-input.ion-invalid{--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important}.number-input ion-input ion-icon{color:var(--ion-color-medium);font-size:18px;margin-right:8px}::ng-deep .number-input ion-input .input-wrapper,::ng-deep .number-input ion-input .native-wrapper,::ng-deep .number-input ion-input .label-text-wrapper{border:none!important;box-shadow:none!important;outline:none!important;background:transparent!important}::ng-deep .number-input ion-input input,::ng-deep .number-input ion-input input:focus,::ng-deep .number-input ion-input input:focus-visible{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.hint{display:block;font-size:12px;color:var(--ion-color-medium);margin-top:4px;padding-left:4px}.error-message{display:block;font-size:12px;margin-top:4px;padding-left:4px}::ng-deep .country-select-popover{--width: 200px}::ng-deep .country-select-popover .flag{margin-right:8px}\n"] }]
12921
12921
  }], propDecorators: { preset: [{
12922
12922
  type: Input
12923
12923
  }], props: [{