ca-components 1.0.91 → 1.0.93
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/ca-input/directives/restrict-input.directive.mjs +5 -5
- package/esm2022/lib/components/ca-input/input-test/input-test.component.mjs +3 -3
- package/esm2022/lib/components/ca-input/pipes/input-pattern.pipe.mjs +19 -17
- package/fesm2022/ca-components.mjs +24 -22
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-input/pipes/input-pattern.pipe.d.ts +14 -7
- package/package.json +1 -1
|
@@ -12,10 +12,8 @@ export class RestrictInputDirective {
|
|
|
12
12
|
onInput(event) {
|
|
13
13
|
let inputValue = this.el.nativeElement.value;
|
|
14
14
|
const maxLength = this.restrictInput.maxLength;
|
|
15
|
-
const configName = this.restrictInput.
|
|
16
|
-
|
|
17
|
-
: this.restrictInput.name.toLowerCase();
|
|
18
|
-
const { regex, restrictConsecutiveDots, restrictMultipeDots, restrictConsecutiveSpaces, isDecimalAndDotOnly, } = this.inputPatternPipe.transform(configName);
|
|
15
|
+
const configName = this.restrictInput.name.toLowerCase();
|
|
16
|
+
const { regex, restrictConsecutiveDots, restrictMultipeDots, restrictConsecutiveSpaces, isDecimalAndDotOnly, } = this.inputPatternPipe.transform(configName, this.restrictInput);
|
|
19
17
|
// Prevent first space character
|
|
20
18
|
if (inputValue.startsWith(' ')) {
|
|
21
19
|
inputValue = inputValue.trimStart(); // Remove leading space
|
|
@@ -28,6 +26,7 @@ export class RestrictInputDirective {
|
|
|
28
26
|
const inputValueToTestWithRegex = isDecimalAndDotOnly
|
|
29
27
|
? inputValue.replace(/[^0-9.]/g, '')
|
|
30
28
|
: inputValue;
|
|
29
|
+
// console.log("AM I PSS", inputValueToTestWithRegex, regex.test(inputValueToTestWithRegex), regex);
|
|
31
30
|
if (regex.test(inputValueToTestWithRegex)) {
|
|
32
31
|
if (maxLength) {
|
|
33
32
|
// Allow only numbers and one dot (.)
|
|
@@ -53,6 +52,7 @@ export class RestrictInputDirective {
|
|
|
53
52
|
if (restrictMultipeDots) {
|
|
54
53
|
inputValue = inputValue.replace(/^([^.]*)\.(.*)$/, (m, p1, p2) => p1 + '.' + p2.replace(/\./g, ''));
|
|
55
54
|
}
|
|
55
|
+
// console.log("WHAT IS INPUT VALUE", inputValue);
|
|
56
56
|
this.el.nativeElement.value = inputValue;
|
|
57
57
|
// 🔥 Manually trigger max Directive because current one needs to be done first
|
|
58
58
|
this.el.nativeElement.dispatchEvent(new Event('applyMaxValueDirective'));
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
95
|
type: HostListener,
|
|
96
96
|
args: ['input', ['$event']]
|
|
97
97
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3QtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvZGlyZWN0aXZlcy9yZXN0cmljdC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQU85RSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ1ksRUFBYyxFQUNkLFFBQWtCO1FBRGxCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSnRCLHdCQUFtQixHQUFXLEVBQUUsQ0FBQztRQU1yQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtJQUN4RixDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUU3QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWM7WUFDaEQsQ0FBQyxDQUFDLGlCQUFpQjtZQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUMsTUFBTSxFQUNGLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsbUJBQW1C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SG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0UGF0dGVyblBpcGUgfSBmcm9tICcuLi9waXBlcy9pbnB1dC1wYXR0ZXJuLnBpcGUnO1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRUcmFuc2Zvcm1TdHJpbmdFbnVtIH0gZnJvbSAnLi4vZW51bXMvaW5wdXQtdGV4dC10cmFuc2Zvcm0uZW51bSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3Jlc3RyaWN0SW5wdXRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW0lucHV0UGF0dGVyblBpcGVdLCAvLyBQcm92aWRlIHRoZSBwaXBlIHNvIGl0IGNhbiBiZSBpbmplY3RlZFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdElucHV0RGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSByZXN0cmljdElucHV0ITogSUNhSW5wdXQ7XG4gICAgcHJpdmF0ZSBpbnB1dFBhdHRlcm5QaXBlITogSW5wdXRQYXR0ZXJuUGlwZTtcblxuICAgIHByaXZhdGUgbGFzdFZhbGlkSW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy5pbnB1dFBhdHRlcm5QaXBlID0gdGhpcy5pbmplY3Rvci5nZXQoSW5wdXRQYXR0ZXJuUGlwZSk7IC8vIEluamVjdCBwaXBlIG1hbnVhbGx5XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXQoZXZlbnQ6IElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IGlucHV0VmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICAgICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5yZXN0cmljdElucHV0Lm1heExlbmd0aDtcbiAgICAgICAgY29uc3QgY29uZmlnTmFtZSA9IHRoaXMucmVzdHJpY3RJbnB1dC5wcmljZVNlcGFyYXRvclxuICAgICAgICAgICAgPyAncHJpY2Utc2VwYXJhdG9yJ1xuICAgICAgICAgICAgOiB0aGlzLnJlc3RyaWN0SW5wdXQubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICByZWdleCxcbiAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzLFxuICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90cyxcbiAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXMsXG4gICAgICAgICAgICBpc0RlY2ltYWxBbmREb3RPbmx5LFxuICAgICAgICB9ID0gdGhpcy5pbnB1dFBhdHRlcm5QaXBlLnRyYW5zZm9ybShjb25maWdOYW1lKTtcblxuICAgICAgICAvLyBQcmV2ZW50IGZpcnN0IHNwYWNlIGNoYXJhY3RlclxuICAgICAgICBpZiAoaW5wdXRWYWx1ZS5zdGFydHNXaXRoKCcgJykpIHtcbiAgICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlLnRyaW1TdGFydCgpOyAvLyBSZW1vdmUgbGVhZGluZyBzcGFjZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWxsb3cgZG90cyBidXQgZG9udCBhbGxvdyBvbiBmaXJzdCBwbGFjZS4uLlxuICAgICAgICBjb25zdCBkb3RJbmRleCA9IGlucHV0VmFsdWUuaW5kZXhPZignLicpO1xuICAgICAgICBpZiAoZG90SW5kZXggPT0gMCkge1xuICAgICAgICAgICAgaW5wdXRWYWx1ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZVRvVGVzdFdpdGhSZWdleCA9IGlzRGVjaW1hbEFuZERvdE9ubHlcbiAgICAgICAgICAgID8gaW5wdXRWYWx1ZS5yZXBsYWNlKC9bXjAtOS5dL2csICcnKVxuICAgICAgICAgICAgOiBpbnB1dFZhbHVlO1xuXG4gICAgICAgIGlmIChyZWdleC50ZXN0KGlucHV0VmFsdWVUb1Rlc3RXaXRoUmVnZXgpKSB7XG4gICAgICAgICAgICBpZiAobWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgLy8gQWxsb3cgb25seSBudW1iZXJzIGFuZCBvbmUgZG90ICguKVxuICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBMZW5ndGhWYWx1ZSA9IGlzRGVjaW1hbEFuZERvdE9ubHlcbiAgICAgICAgICAgICAgICAgICAgPyBpbnB1dFZhbHVlLnJlcGxhY2UoL1teMC05Ll0vZywgJycpXG4gICAgICAgICAgICAgICAgICAgIDogaW5wdXRWYWx1ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IFtpbnRlZ2VyUGFydCwgZGVjaW1hbFBhcnRdID0gdGVtcExlbmd0aFZhbHVlLnNwbGl0KCcuJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBFbnN1cmUgaW50ZWdlciBwYXJ0IHJlc3BlY3RzIG1heExlbmd0aCAoZXhjbHVkaW5nIHRob3VzYW5kIHNlcGFyYXRvcnMpXG4gICAgICAgICAgICAgICAgaWYgKGludGVnZXJQYXJ0Lmxlbmd0aCA+IG1heExlbmd0aCEpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnRlZ2VyUGFydC5zdWJzdHJpbmcoMCwgbWF4TGVuZ3RoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGVjaW1hbFBhcnQgPyAnLicgKyBkZWNpbWFsUGFydCA6ICcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTYXZlIGxhc3QgdmFsaWQgdmFsdWVcbiAgICAgICAgICAgIHRoaXMubGFzdFZhbGlkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWU7XG5cbiAgICAgICAgICAgIGlmIChyZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgaW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUucmVwbGFjZSgvXFxzezIsfS9nLCAnICcpOyAvLyBSZXBsYWNlIGNvbnNlY3V0aXZlIHNwYWNlcyB3aXRoIGEgc2luZ2xlIHNwYWNlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZXN0cmljdENvbnNlY3V0aXZlRG90cykge1xuICAgICAgICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlLnJlcGxhY2UoL1xcLnsyLH0vZywgJy4nKTsgLy8gUmVwbGFjZSBjb25zZWN1dGl2ZSBkb3RzIHdpdGggYSBzaW5nbGUgZG90XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZXN0cmljdE11bHRpcGVEb3RzKSB7XG4gICAgICAgICAgICAgICAgaW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgL14oW14uXSopXFwuKC4qKSQvLFxuICAgICAgICAgICAgICAgICAgICAobTogYW55LCBwMTogYW55LCBwMjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgcDEgKyAnLicgKyBwMi5yZXBsYWNlKC9cXC4vZywgJycpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gaW5wdXRWYWx1ZTtcblxuICAgICAgICAgICAgLy8g8J+UpSBNYW51YWxseSB0cmlnZ2VyIG1heCBEaXJlY3RpdmUgYmVjYXVzZSBjdXJyZW50IG9uZSBuZWVkcyB0byBiZSBkb25lIGZpcnN0XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICBuZXcgRXZlbnQoJ2FwcGx5TWF4VmFsdWVEaXJlY3RpdmUnKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtVGV4dCA9IHRoaXMuZ2V0VGV4dFRyYW5zZm9ybWF0aW9uKFxuICAgICAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5yZXN0cmljdElucHV0Py50ZXh0VHJhbnNmb3JtIGFzIElucHV0VHJhbnNmb3JtU3RyaW5nRW51bVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKHRyYW5zZm9ybVRleHQpIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRyYW5zZm9ybVRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiBlbnRlcmVkIGlzIG5vdCBwYXNzaW5nIHJlZ0V4IHRoZW4gdGhlIGlucHV0IHZhbHVlIHdpbGwgYmUgbGFzdCBzYXZlZC4uLlxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5sYXN0VmFsaWRJbnB1dFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUZXh0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgICAgIHRleHRUcmFuc2Zvcm06IElucHV0VHJhbnNmb3JtU3RyaW5nRW51bSB8IHVuZGVmaW5lZFxuICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHN3aXRjaCAodGV4dFRyYW5zZm9ybSkge1xuICAgICAgICAgICAgY2FzZSBJbnB1dFRyYW5zZm9ybVN0cmluZ0VudW0uQ0FQSVRBTElaRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgSW5wdXRUcmFuc2Zvcm1TdHJpbmdFbnVtLlVQUEVSQ0FTRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVVcHBlckNhc2UoJ2VuLVVTJyk7XG4gICAgICAgICAgICBjYXNlIElucHV0VHJhbnNmb3JtU3RyaW5nRW51bS5DQVBJVEFMSVpFRF9DQVNFOlxuICAgICAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkQ2FzZVdvcmRzID0gdmFsdWUucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgLyheXFx3ezF9KXwoXFxzK1xcd3sxfSkvZyxcbiAgICAgICAgICAgICAgICAgICAgKGxldHRlcjogc3RyaW5nKSA9PiBsZXR0ZXIudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhcGl0YWxpemVkQ2FzZVdvcmRzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3QtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvZGlyZWN0aXZlcy9yZXN0cmljdC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQU85RSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ1ksRUFBYyxFQUNkLFFBQWtCO1FBRGxCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSnRCLHdCQUFtQixHQUFXLEVBQUUsQ0FBQztRQU1yQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtJQUN4RixDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUU3QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RCxNQUFNLEVBQ0YsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG1CQUFtQixHQUN0QixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFT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YUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FDekIsS0FBYSxFQUNiLGFBQW1EO1FBRW5ELFFBQVEsYUFBYSxFQUFFLENBQUM7WUFDcEIsS0FBSyx3QkFBd0IsQ0FBQyxVQUFVO2dCQUNwQyxPQUFPLENBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7b0JBQzdCLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ25DLENBQUM7WUFDTixLQUFLLHdCQUF3QixDQUFDLFNBQVM7Z0JBQ25DLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLEtBQUssd0JBQXdCLENBQUMsZ0JBQWdCO2dCQUMxQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQ3RDLHNCQUFzQixFQUN0QixDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUMzQyxDQUFDO2dCQUNGLE9BQU8sb0JBQW9CLENBQUM7WUFDaEM7Z0JBQ0ksT0FBTztRQUNmLENBQUM7SUFDTCxDQUFDOytHQXpIUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrSkFGcEIsQ0FBQyxnQkFBZ0IsQ0FBQzs7NEZBRXBCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSx5Q0FBeUM7aUJBQzNFO3NHQUVZLGFBQWE7c0JBQXJCLEtBQUs7Z0JBYU4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0UGF0dGVyblBpcGUgfSBmcm9tICcuLi9waXBlcy9pbnB1dC1wYXR0ZXJuLnBpcGUnO1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRUcmFuc2Zvcm1TdHJpbmdFbnVtIH0gZnJvbSAnLi4vZW51bXMvaW5wdXQtdGV4dC10cmFuc2Zvcm0uZW51bSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3Jlc3RyaWN0SW5wdXRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW0lucHV0UGF0dGVyblBpcGVdLCAvLyBQcm92aWRlIHRoZSBwaXBlIHNvIGl0IGNhbiBiZSBpbmplY3RlZFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdElucHV0RGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSByZXN0cmljdElucHV0ITogSUNhSW5wdXQ7XG4gICAgcHJpdmF0ZSBpbnB1dFBhdHRlcm5QaXBlITogSW5wdXRQYXR0ZXJuUGlwZTtcblxuICAgIHByaXZhdGUgbGFzdFZhbGlkSW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy5pbnB1dFBhdHRlcm5QaXBlID0gdGhpcy5pbmplY3Rvci5nZXQoSW5wdXRQYXR0ZXJuUGlwZSk7IC8vIEluamVjdCBwaXBlIG1hbnVhbGx5XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXQoZXZlbnQ6IElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IGlucHV0VmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICAgICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5yZXN0cmljdElucHV0Lm1heExlbmd0aDtcbiAgICAgICAgY29uc3QgY29uZmlnTmFtZSA9IHRoaXMucmVzdHJpY3RJbnB1dC5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHJlZ2V4LFxuICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHMsXG4gICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzLFxuICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlcyxcbiAgICAgICAgICAgIGlzRGVjaW1hbEFuZERvdE9ubHksXG4gICAgICAgIH0gPSB0aGlzLmlucHV0UGF0dGVyblBpcGUudHJhbnNmb3JtKGNvbmZpZ05hbWUsIHRoaXMucmVzdHJpY3RJbnB1dCk7XG5cbiAgICAgICAgLy8gUHJldmVudCBmaXJzdCBzcGFjZSBjaGFyYWN0ZXJcbiAgICAgICAgaWYgKGlucHV0VmFsdWUuc3RhcnRzV2l0aCgnICcpKSB7XG4gICAgICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZS50cmltU3RhcnQoKTsgLy8gUmVtb3ZlIGxlYWRpbmcgc3BhY2VcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFsbG93IGRvdHMgYnV0IGRvbnQgYWxsb3cgb24gZmlyc3QgcGxhY2UuLi5cbiAgICAgICAgY29uc3QgZG90SW5kZXggPSBpbnB1dFZhbHVlLmluZGV4T2YoJy4nKTtcbiAgICAgICAgaWYgKGRvdEluZGV4ID09IDApIHtcbiAgICAgICAgICAgIGlucHV0VmFsdWUgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWVUb1Rlc3RXaXRoUmVnZXggPSBpc0RlY2ltYWxBbmREb3RPbmx5XG4gICAgICAgICAgICA/IGlucHV0VmFsdWUucmVwbGFjZSgvW14wLTkuXS9nLCAnJylcbiAgICAgICAgICAgIDogaW5wdXRWYWx1ZTtcblxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkFNIEkgUFNTXCIsIGlucHV0VmFsdWVUb1Rlc3RXaXRoUmVnZXgsIHJlZ2V4LnRlc3QoaW5wdXRWYWx1ZVRvVGVzdFdpdGhSZWdleCksIHJlZ2V4KTtcblxuICAgICAgICBpZiAocmVnZXgudGVzdChpbnB1dFZhbHVlVG9UZXN0V2l0aFJlZ2V4KSkge1xuICAgICAgICAgICAgaWYgKG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgIC8vIEFsbG93IG9ubHkgbnVtYmVycyBhbmQgb25lIGRvdCAoLilcbiAgICAgICAgICAgICAgICBjb25zdCB0ZW1wTGVuZ3RoVmFsdWUgPSBpc0RlY2ltYWxBbmREb3RPbmx5XG4gICAgICAgICAgICAgICAgICAgID8gaW5wdXRWYWx1ZS5yZXBsYWNlKC9bXjAtOS5dL2csICcnKVxuICAgICAgICAgICAgICAgICAgICA6IGlucHV0VmFsdWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBbaW50ZWdlclBhcnQsIGRlY2ltYWxQYXJ0XSA9IHRlbXBMZW5ndGhWYWx1ZS5zcGxpdCgnLicpO1xuXG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIGludGVnZXIgcGFydCByZXNwZWN0cyBtYXhMZW5ndGggKGV4Y2x1ZGluZyB0aG91c2FuZCBzZXBhcmF0b3JzKVxuICAgICAgICAgICAgICAgIGlmIChpbnRlZ2VyUGFydC5sZW5ndGggPiBtYXhMZW5ndGghKSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0VmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgaW50ZWdlclBhcnQuc3Vic3RyaW5nKDAsIG1heExlbmd0aCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgKGRlY2ltYWxQYXJ0ID8gJy4nICsgZGVjaW1hbFBhcnQgOiAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2F2ZSBsYXN0IHZhbGlkIHZhbHVlXG4gICAgICAgICAgICB0aGlzLmxhc3RWYWxpZElucHV0VmFsdWUgPSBpbnB1dFZhbHVlO1xuXG4gICAgICAgICAgICBpZiAocmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlcykge1xuICAgICAgICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlLnJlcGxhY2UoL1xcc3syLH0vZywgJyAnKTsgLy8gUmVwbGFjZSBjb25zZWN1dGl2ZSBzcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVzdHJpY3RDb25zZWN1dGl2ZURvdHMpIHtcbiAgICAgICAgICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZS5yZXBsYWNlKC9cXC57Mix9L2csICcuJyk7IC8vIFJlcGxhY2UgY29uc2VjdXRpdmUgZG90cyB3aXRoIGEgc2luZ2xlIGRvdFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVzdHJpY3RNdWx0aXBlRG90cykge1xuICAgICAgICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgICAgIC9eKFteLl0qKVxcLiguKikkLyxcbiAgICAgICAgICAgICAgICAgICAgKG06IGFueSwgcDE6IGFueSwgcDI6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHAxICsgJy4nICsgcDIucmVwbGFjZSgvXFwuL2csICcnKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiV0hBVCBJUyBJTlBVVCBWQUxVRVwiLCBpbnB1dFZhbHVlKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gaW5wdXRWYWx1ZTtcblxuICAgICAgICAgICAgLy8g8J+UpSBNYW51YWxseSB0cmlnZ2VyIG1heCBEaXJlY3RpdmUgYmVjYXVzZSBjdXJyZW50IG9uZSBuZWVkcyB0byBiZSBkb25lIGZpcnN0XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICBuZXcgRXZlbnQoJ2FwcGx5TWF4VmFsdWVEaXJlY3RpdmUnKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtVGV4dCA9IHRoaXMuZ2V0VGV4dFRyYW5zZm9ybWF0aW9uKFxuICAgICAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5yZXN0cmljdElucHV0Py50ZXh0VHJhbnNmb3JtIGFzIElucHV0VHJhbnNmb3JtU3RyaW5nRW51bVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKHRyYW5zZm9ybVRleHQpIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRyYW5zZm9ybVRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiBlbnRlcmVkIGlzIG5vdCBwYXNzaW5nIHJlZ0V4IHRoZW4gdGhlIGlucHV0IHZhbHVlIHdpbGwgYmUgbGFzdCBzYXZlZC4uLlxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5sYXN0VmFsaWRJbnB1dFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUZXh0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgICAgIHRleHRUcmFuc2Zvcm06IElucHV0VHJhbnNmb3JtU3RyaW5nRW51bSB8IHVuZGVmaW5lZFxuICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHN3aXRjaCAodGV4dFRyYW5zZm9ybSkge1xuICAgICAgICAgICAgY2FzZSBJbnB1dFRyYW5zZm9ybVN0cmluZ0VudW0uQ0FQSVRBTElaRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgSW5wdXRUcmFuc2Zvcm1TdHJpbmdFbnVtLlVQUEVSQ0FTRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVVcHBlckNhc2UoJ2VuLVVTJyk7XG4gICAgICAgICAgICBjYXNlIElucHV0VHJhbnNmb3JtU3RyaW5nRW51bS5DQVBJVEFMSVpFRF9DQVNFOlxuICAgICAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkQ2FzZVdvcmRzID0gdmFsdWUucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgLyheXFx3ezF9KXwoXFxzK1xcd3sxfSkvZyxcbiAgICAgICAgICAgICAgICAgICAgKGxldHRlcjogc3RyaW5nKSA9PiBsZXR0ZXIudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhcGl0YWxpemVkQ2FzZVdvcmRzO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|