ca-components 1.0.86 → 1.0.87
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.
|
@@ -72,7 +72,8 @@ export class InputTestComponent {
|
|
|
72
72
|
: obj; // ✅ Apply mask
|
|
73
73
|
this.inputValue = value;
|
|
74
74
|
this.onChange(value); // Notify Angular form about the change
|
|
75
|
-
|
|
75
|
+
if (value)
|
|
76
|
+
this.onTouched(); // Mark as touched
|
|
76
77
|
this.inputElement.nativeElement.value = value;
|
|
77
78
|
this.chdet.detectChanges();
|
|
78
79
|
}
|
|
@@ -190,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
190
191
|
}], inputConfig: [{
|
|
191
192
|
type: Input
|
|
192
193
|
}] } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU94RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxRQUFRO0FBQ1IsT0FBTyxFQUNILGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEVBQ2IsdUJBQXVCLEdBQzFCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1B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OUIsU0FBUzsrQkFDSSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFFYixRQUFRO3dCQUNSLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLDZCQUE2Qjt3QkFDN0IsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixrQ0FBa0M7d0JBQ2xDLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFFYixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFFakIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQix3QkFBd0I7cUJBQzNCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkFrQ2hDLFFBQVE7OzBCQUFJLElBQUk7c0dBNUJpQixZQUFZO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzNCLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBJbnB1dENoYW5nZVZhbHVlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vY2EtaW5wdXQtZHJvcGRvd24vZW51bXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHtcbiAgICBJbnB1dENsYXNzUGlwZSxcbiAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbn0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ2FTdmdQaXBlLCBMb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRDbGVhckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2EtaW5wdXQtY2xlYXIvY2EtaW5wdXQtY2xlYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gZGlyZWN0aXZlc1xuaW1wb3J0IHsgQ2Fwc0xvY2tEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQcmljZUZvcm1hdERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IE5neE1hc2tTZXJ2aWNlIH0gZnJvbSAnbmd4LW1hc2snO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhLWlucHV0LXRlc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBNb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmdiTW9kdWxlLFxuICAgICAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAgICAgTmd4TWFza01vZHVsZSxcblxuICAgICAgICAvLyBQaXBlc1xuICAgICAgICBJbnB1dEVycm9yUGlwZSxcbiAgICAgICAgSW5wdXRDb250YWluZXJDbGFzc1BpcGUsXG4gICAgICAgIElucHV0Q2xhc3NQaXBlLFxuICAgICAgICBJbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzUGlwZSxcbiAgICAgICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgICAgIExhYmVsQ2xhc3NQaXBlLFxuICAgICAgICBDYVN2Z1BpcGUsXG4gICAgICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1BpcGUsXG4gICAgICAgIE1heFZhbHVlRGlyZWN0aXZlLFxuICAgICAgICBJbnB1dFR5cGVQaXBlLFxuXG4gICAgICAgIC8vIERpcmVjdGl2ZXNcbiAgICAgICAgUmVzdHJpY3RJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgUHJpY2VGb3JtYXREaXJlY3RpdmUsXG4gICAgICAgIFNob3dDbGVhclBpcGUsXG4gICAgICAgIENhcHNMb2NrRGlyZWN0aXZlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dENsZWFyQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRlc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRlc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgQElucHV0KCkgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IhOiBMYWJlbENvbG9yIHwgbnVsbDtcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2V0IGlucHV0Q29uZmlnKGNvbmZpZzogSUNhSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faW5wdXRDb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlzQ2Fwc0xvY2tPbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlucHV0Q29tbWFuZHNUeXBlID0gSW5wdXRDb21tYW5kc1R5cGU7XG4gICAgcHVibGljIGlucHV0U3RyaW5nRW51bSA9IElucHV0U3RyaW5nRW51bTtcbiAgICBwdWJsaWMgZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtID0gRHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtO1xuXG4gICAgLy8gUGFzc3dvcmRcbiAgICBwdWJsaWMgaXNUb2dnbGVQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBpbnB1dENvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0Q29uZmlnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHVibGljIGNoZGV0OiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5jb250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZShfOiBhbnkpOiB2b2lkIHt9XG4gICAgcHVibGljIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gICAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBJbnB1dENoYW5nZVZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5faW5wdXRDb25maWcubWFza1xuICAgICAgICAgICAgPyB0aGlzLm1hc2tBcHBsaWVyLmFwcGx5TWFzayhvYmogYXMgc3RyaW5nLCB0aGlzLl9pbnB1dENvbmZpZy5tYXNrKVxuICAgICAgICAgICAgOiBvYmo7IC8vIOKchSBBcHBseSBtYXNrXG5cbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmNoZGV0LmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIGhhbmRsZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFySW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRCbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlclNob3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJIaWRkZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZVBhc3N3b3JkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmlzVG9nZ2xlUGFzc3dvcmQgPSAhdGhpcy5pc1RvZ2dsZVBhc3N3b3JkO1xuICAgIH1cblxuICAgIGhhbmRsZUNhcHNMb2NrKHN0YXR1czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ2Fwc0xvY2tPbiA9IHN0YXR1cztcbiAgICB9XG5cbiAgICBwdWJsaWMgaWRlbnRpZnkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICAvLyAjcmVnaW9uIG9uUGxhY2Vob2xkZXJJY29uZXZlbnRcbiAgICBwdWJsaWMgb25QbGFjZWhvbGRlckljb25FdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIGlmICh0aGlzLmlzRWRpdElucHV0KSB7XG4gICAgICAgIC8vICAgICB0aGlzLnNldENvbW1hbmRFdmVudC5uZXh0KHtcbiAgICAgICAgLy8gICAgICAgICBkYXRhOiB0aGlzLnN1cGVyQ29udHJvbC5jb250cm9sPy52YWx1ZSxcbiAgICAgICAgLy8gICAgICAgICBhY3Rpb246ICdUb2dnbGUgRHJvcGRvd24nLFxuICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICB0aGlzLnNldENvbW1hbmRFdmVudC5uZXh0KHtcbiAgICAgICAgLy8gICAgICAgICBkYXRhOiB0aGlzLnN1cGVyQ29udHJvbC5jb250cm9sPy52YWx1ZSxcbiAgICAgICAgLy8gICAgICAgICBhY3Rpb246ICdQbGFjZWhvbGRlciBJY29uIEV2ZW50JyxcbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAvLyB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiaW5wdXQtY3VzdG9tLWdyb3VwIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgIHwgaW5wdXRDb250YWluZXJDbGFzc1xuICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgIFwiXG4gICAgbmdiVG9vbHRpcFxuICAgIFttYWluQ2FUb29sdGlwXT1cImNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiJyNERjNDM0MnXCJcbiAgICBbZGlzYWJsZVRvb2x0aXBdPVwiIV9pbnB1dENvbmZpZy5yZXF1aXJlZExhYmVsIHx8ICEhY29udHJvbD8udmFsaWRcIlxuICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICB0cmlnZ2Vycz1cImhvdmVyXCJcbj5cbiAgICA8IS0tIElucHV0IFBhc3N3b3JkIENhcHMgTG9jayBBbmQgRXllIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnR5cGUgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1wYXNzd29yZFxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgICAgICAgIFtpc0NhcHNMb2NrT25dPVwiaXNDYXBzTG9ja09uXCJcbiAgICAgICAgICAgIFtpc1RvZ2dsZVBhc3N3b3JkXT1cImlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgICAgICAgKG9uVG9nZ2xlUGFzc3dvcmRDbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBhc3N3b3JkPlxuICAgIH1cbiAgICA8IS0tIElucHV0IENsZWFyIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnIHwgc2hvd0NsZWFyKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtY2xlYXJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpbmNvcnJlY3RWYWx1ZV09XCJpbmNvcnJlY3RWYWx1ZVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgICAgICAgIChjbGVhcklucHV0Q2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1jbGVhcj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIEljb24gLS0+XG4gICAgQGlmIChcbiAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbiB8fFxuICAgICAgICBfaW5wdXRDb25maWcubmFtZSA9PT0gJ2RhdGVwaWNrZXInIHx8XG4gICAgICAgIF9pbnB1dENvbmZpZy5uYW1lID09PSAndGltZXBpY2tlcidcbiAgICApIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiY29udHJvbD8udG91Y2hlZCFcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFtpc0VkaXRJbnB1dF09XCJpc0VkaXRJbnB1dFwiXG4gICAgICAgICAgICAob25QbGFjZWhvbGRlckljb25FdmVudEVtaXR0ZXIpPVwib25QbGFjZWhvbGRlckljb25FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblBvcG92ZXJTaG93bkVtaXR0ZXIpPVwib25Qb3BvdmVyU2hvd24oKVwiXG4gICAgICAgICAgICAob25Qb3BvdmVySGlkZGVuRW1pdHRlcik9XCJvblBvcG92ZXJIaWRkZW4oKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIFRleHQgLS0+XG4gICAgQGlmIChcbiAgICAgICAgX2lucHV0Q29uZmlnXG4gICAgICAgICAgICB8IHNob3dQbGFjZWhvbGRlclRleHQ6IGNvbnRyb2wgOiBpc1Zpc2libGVDb21tYW5kcyA6IGNvbnRyb2w/LnZhbHVlXG4gICAgKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImNhLXBsYWNlaG9sZGVyLXRleHQge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUubGVmdF09XCJcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uUEVSU09OUyB8fFxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0U3RyaW5nRW51bS5WRUhJQ0xFU1xuICAgICAgICAgICAgICAgICAgICA/IDMwICsgKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDkgKyAncHgnXG4gICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgICAgICAgOiAoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDEpICogOCArICdweCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUucmlnaHRdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgICAgICAgICAgID8gJzI4cHgnXG4gICAgICAgICAgICAgICAgICAgIDogJ2F1dG8nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IExhYmVsIC0tPlxuICAgIEBpZiAoIV9pbnB1dENvbmZpZy5tdWx0aVNlbGVjdERyb3Bkb3duQWN0aXZlKSB7XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgW2Zvcl09XCJfaW5wdXRDb25maWcubmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWxhYmVsIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5jdXN0b21DbGFzc1xuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfCBsYWJlbENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IF9pbnB1dENvbmZpZy5sYWJlbCB9fSA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzIVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdtdWx0aXBsZS1sYWJlbHMtcG9zaXRpb24tb24tZm9jdXMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuaXNSZXF1aXJlZCAmJiAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCBvZiBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgaWRlbnRpZnlcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgfVxuXG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXN0cmljdElucHV0XT1cImlucHV0Q29uZmlnXCJcbiAgICAgICAgcHJpY2VGb3JtYXRcbiAgICAgICAgW3ByaWNlU2VwYXJhdG9yXT1cImlucHV0Q29uZmlnLnByaWNlU2VwYXJhdG9yXCJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUlucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cImhhbmRsZUlucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9pbnB1dENvbmZpZy5yZWFkT25seVwiXG4gICAgICAgIFt0eXBlXT1cIl9pbnB1dENvbmZpZy50eXBlIHwgaW5wdXRUeXBlOiBpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sXG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcudGV4dFRyYW5zZm9ybSB9fVxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRBbGlnbiB9fVxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XG4gICAgICAgIFwiXG4gICAgICAgIFthcHBNYXhWYWx1ZV09XCJpbnB1dENvbmZpZy5tYXhcIlxuICAgICAgICBhcHBDYXBzTG9ja1xuICAgICAgICAoY2Fwc0xvY2tTdGF0dXMpPVwiaGFuZGxlQ2Fwc0xvY2soJGV2ZW50KVwiXG4gICAgICAgIFttYXNrXT1cIl9pbnB1dENvbmZpZy5tYXNrXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICBjb250cm9sXG4gICAgICAgICAgICAgICAgfCBpbnB1dENsYXNzXG4gICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IGlzVmlzaWJsZUNvbW1hbmRzXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy5pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZFxuICAgICAgICAgICAgICAgICAgICA6IGlzRHJvcGRvd25Ub2dnbGVyXG4gICAgICAgICAgICAgICAgICAgIDogaXNFZGl0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiB0ZW1wbGF0ZVxuICAgICAgICBcIlxuICAgIC8+XG5cbiAgICA8IS0tIFBsYWNlaG9sZGVyIEljb24gb24gUmlnaHQgU2lkZSAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25SaWdodFNpZGUpIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInBsYWNlaG9sZGVyLWljb24tcmlnaHQtc2lkZSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25Db2xvclxuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgfCBjYVN2ZzogJ2NvbW1vbidcbiAgICAgICAgICAgIFwiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgRXJyb3IgTWVzc2FnZSAtLT5cbiAgICBAaWYgKFxuICAgICAgICAhKCFjb250cm9sPy52YWx1ZSAmJiBpc0ZvY3VzSW5wdXQpICYmXG4gICAgICAgIChpc1RvdWNoZWRJbnB1dCB8fCBjb250cm9sPy50b3VjaGVkIHx8IGNvbnRyb2w/LnZhbHVlKSAmJlxuICAgICAgICBjb250cm9sPy5pbnZhbGlkICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNJbnZhbGlkU2VhcmNoSW5Ecm9wZG93biAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWRcbiAgICApIHtcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICEoX2lucHV0Q29uZmlnLmhpZGVFcnJvck1lc3NhZ2UgfHwgX2lucHV0Q29uZmlnLmVycm9ySW5zaWRlSW5wdXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1lcnJvciB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBFcnJvciBNZXNzYWdlIEluc2lkZSBJbnB1dCAtLT5cbiAgICAgICAgQGlmIChfaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1pbnNpZGUtaW5wdXQge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoX2lucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciAmJiBpbnB1dC52YWx1ZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWZpeGVkLXBsYWNlaG9kZXItbGFiZWxcIj5cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5maXhlZFBsYWNob2xkZXIgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU94RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxRQUFRO0FBQ1IsT0FBTyxFQUNILGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEVBQ2IsdUJBQXVCLEdBQzFCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1B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bkIsa0JBQWtCO2tCQXhDOUIsU0FBUzsrQkFDSSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFFYixRQUFRO3dCQUNSLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLDZCQUE2Qjt3QkFDN0IsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixrQ0FBa0M7d0JBQ2xDLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFFYixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFFakIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQix3QkFBd0I7cUJBQzNCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkFrQ2hDLFFBQVE7OzBCQUFJLElBQUk7c0dBNUJpQixZQUFZO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzNCLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBJbnB1dENoYW5nZVZhbHVlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vY2EtaW5wdXQtZHJvcGRvd24vZW51bXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHtcbiAgICBJbnB1dENsYXNzUGlwZSxcbiAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbn0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ2FTdmdQaXBlLCBMb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRDbGVhckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2EtaW5wdXQtY2xlYXIvY2EtaW5wdXQtY2xlYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gZGlyZWN0aXZlc1xuaW1wb3J0IHsgQ2Fwc0xvY2tEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQcmljZUZvcm1hdERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IE5neE1hc2tTZXJ2aWNlIH0gZnJvbSAnbmd4LW1hc2snO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhLWlucHV0LXRlc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBNb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmdiTW9kdWxlLFxuICAgICAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAgICAgTmd4TWFza01vZHVsZSxcblxuICAgICAgICAvLyBQaXBlc1xuICAgICAgICBJbnB1dEVycm9yUGlwZSxcbiAgICAgICAgSW5wdXRDb250YWluZXJDbGFzc1BpcGUsXG4gICAgICAgIElucHV0Q2xhc3NQaXBlLFxuICAgICAgICBJbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzUGlwZSxcbiAgICAgICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgICAgIExhYmVsQ2xhc3NQaXBlLFxuICAgICAgICBDYVN2Z1BpcGUsXG4gICAgICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1BpcGUsXG4gICAgICAgIE1heFZhbHVlRGlyZWN0aXZlLFxuICAgICAgICBJbnB1dFR5cGVQaXBlLFxuXG4gICAgICAgIC8vIERpcmVjdGl2ZXNcbiAgICAgICAgUmVzdHJpY3RJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgUHJpY2VGb3JtYXREaXJlY3RpdmUsXG4gICAgICAgIFNob3dDbGVhclBpcGUsXG4gICAgICAgIENhcHNMb2NrRGlyZWN0aXZlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dENsZWFyQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRlc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRlc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgQElucHV0KCkgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IhOiBMYWJlbENvbG9yIHwgbnVsbDtcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2V0IGlucHV0Q29uZmlnKGNvbmZpZzogSUNhSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faW5wdXRDb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlzQ2Fwc0xvY2tPbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlucHV0Q29tbWFuZHNUeXBlID0gSW5wdXRDb21tYW5kc1R5cGU7XG4gICAgcHVibGljIGlucHV0U3RyaW5nRW51bSA9IElucHV0U3RyaW5nRW51bTtcbiAgICBwdWJsaWMgZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtID0gRHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtO1xuXG4gICAgLy8gUGFzc3dvcmRcbiAgICBwdWJsaWMgaXNUb2dnbGVQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBpbnB1dENvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0Q29uZmlnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHVibGljIGNoZGV0OiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5jb250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZShfOiBhbnkpOiB2b2lkIHt9XG4gICAgcHVibGljIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gICAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBJbnB1dENoYW5nZVZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5faW5wdXRDb25maWcubWFza1xuICAgICAgICAgICAgPyB0aGlzLm1hc2tBcHBsaWVyLmFwcGx5TWFzayhvYmogYXMgc3RyaW5nLCB0aGlzLl9pbnB1dENvbmZpZy5tYXNrKVxuICAgICAgICAgICAgOiBvYmo7IC8vIOKchSBBcHBseSBtYXNrXG5cbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgaWYoIHZhbHVlICkgIHRoaXMub25Ub3VjaGVkKCk7IC8vIE1hcmsgYXMgdG91Y2hlZFxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5jaGRldC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBoYW5kbGVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7IC8vIE1hcmsgYXMgdG91Y2hlZFxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSgnJyk7XG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Qmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJTaG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qb3BvdmVySGlkZGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2dnbGVQYXNzd29yZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pc1RvZ2dsZVBhc3N3b3JkID0gIXRoaXMuaXNUb2dnbGVQYXNzd29yZDtcbiAgICB9XG5cbiAgICBoYW5kbGVDYXBzTG9jayhzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0NhcHNMb2NrT24gPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgLy8gI3JlZ2lvbiBvblBsYWNlaG9sZGVySWNvbmV2ZW50XG4gICAgcHVibGljIG9uUGxhY2Vob2xkZXJJY29uRXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBpZiAodGhpcy5pc0VkaXRJbnB1dCkge1xuICAgICAgICAvLyAgICAgdGhpcy5zZXRDb21tYW5kRXZlbnQubmV4dCh7XG4gICAgICAgIC8vICAgICAgICAgZGF0YTogdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbD8udmFsdWUsXG4gICAgICAgIC8vICAgICAgICAgYWN0aW9uOiAnVG9nZ2xlIERyb3Bkb3duJyxcbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgdGhpcy5zZXRDb21tYW5kRXZlbnQubmV4dCh7XG4gICAgICAgIC8vICAgICAgICAgZGF0YTogdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbD8udmFsdWUsXG4gICAgICAgIC8vICAgICAgICAgYWN0aW9uOiAnUGxhY2Vob2xkZXIgSWNvbiBFdmVudCcsXG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImlucHV0LWN1c3RvbS1ncm91cCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBjb250cm9sXG4gICAgICAgICAgICB8IGlucHV0Q29udGFpbmVyQ2xhc3NcbiAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICBcIlxuICAgIG5nYlRvb2x0aXBcbiAgICBbbWFpbkNhVG9vbHRpcF09XCJjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZVwiXG4gICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjREYzQzNDJ1wiXG4gICAgW2Rpc2FibGVUb29sdGlwXT1cIiFfaW5wdXRDb25maWcucmVxdWlyZWRMYWJlbCB8fCAhIWNvbnRyb2w/LnZhbGlkXCJcbiAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgdHJpZ2dlcnM9XCJob3ZlclwiXG4+XG4gICAgPCEtLSBJbnB1dCBQYXNzd29yZCBDYXBzIExvY2sgQW5kIEV5ZSAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy50eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGFzc3dvcmRcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJpc1RvdWNoZWRJbnB1dFwiXG4gICAgICAgICAgICBbaXNDYXBzTG9ja09uXT1cImlzQ2Fwc0xvY2tPblwiXG4gICAgICAgICAgICBbaXNUb2dnbGVQYXNzd29yZF09XCJpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgICAgIChvblRvZ2dsZVBhc3N3b3JkQ2xpY2spPVwib25Ub2dnbGVQYXNzd29yZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wYXNzd29yZD5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBDbGVhciAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZyB8IHNob3dDbGVhcikge1xuICAgICAgICA8YXBwLWNhLWlucHV0LWNsZWFyXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaW5jb3JyZWN0VmFsdWVdPVwiaW5jb3JyZWN0VmFsdWVcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAoY2xlYXJJbnB1dENsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtY2xlYXI+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBJY29uIC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb24gfHxcbiAgICAgICAgX2lucHV0Q29uZmlnLm5hbWUgPT09ICdkYXRlcGlja2VyJyB8fFxuICAgICAgICBfaW5wdXRDb25maWcubmFtZSA9PT0gJ3RpbWVwaWNrZXInXG4gICAgKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvblxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImNvbnRyb2w/LnRvdWNoZWQhXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbaXNFZGl0SW5wdXRdPVwiaXNFZGl0SW5wdXRcIlxuICAgICAgICAgICAgKG9uUGxhY2Vob2xkZXJJY29uRXZlbnRFbWl0dGVyKT1cIm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Qb3BvdmVyU2hvd25FbWl0dGVyKT1cIm9uUG9wb3ZlclNob3duKClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlckhpZGRlbkVtaXR0ZXIpPVwib25Qb3BvdmVySGlkZGVuKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBUZXh0IC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgfCBzaG93UGxhY2Vob2xkZXJUZXh0OiBjb250cm9sIDogaXNWaXNpYmxlQ29tbWFuZHMgOiBjb250cm9sPy52YWx1ZVxuICAgICkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjYS1wbGFjZWhvbGRlci10ZXh0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVmlzaWJsZUNvbW1hbmRzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlBFUlNPTlMgfHxcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uVkVISUNMRVNcbiAgICAgICAgICAgICAgICAgICAgPyAzMCArIChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA5ICsgJ3B4J1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgICA/ICdhdXRvJ1xuICAgICAgICAgICAgICAgICAgICAgIDogKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDggKyAncHgnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLnJpZ2h0XT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICA/ICcyOHB4J1xuICAgICAgICAgICAgICAgICAgICA6ICdhdXRvJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBMYWJlbCAtLT5cbiAgICBAaWYgKCFfaW5wdXRDb25maWcubXVsdGlTZWxlY3REcm9wZG93bkFjdGl2ZSkge1xuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIFtmb3JdPVwiX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1sYWJlbCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX0ge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3NcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIHwgbGFiZWxDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChfaW5wdXRDb25maWcubGFiZWwpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBfaW5wdXRDb25maWcubGFiZWwgfX0gPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIl9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5jdXN0b21DbGFzcyFcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlwbGUtbGFiZWxzLXBvc2l0aW9uLW9uLWZvY3VzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucz8ubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmlzUmVxdWlyZWQgJiYgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgb2YgX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGlkZW50aWZ5XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbcmVzdHJpY3RJbnB1dF09XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIHByaWNlRm9ybWF0XG4gICAgICAgIFtwcmljZVNlcGFyYXRvcl09XCJpbnB1dENvbmZpZy5wcmljZVNlcGFyYXRvclwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJoYW5kbGVJbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkT25seV09XCJfaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbdHlwZV09XCJfaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRUcmFuc2Zvcm0gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVxuICAgICAgICBcIlxuICAgICAgICBbYXBwTWF4VmFsdWVdPVwiaW5wdXRDb25maWcubWF4XCJcbiAgICAgICAgYXBwQ2Fwc0xvY2tcbiAgICAgICAgKGNhcHNMb2NrU3RhdHVzKT1cImhhbmRsZUNhcHNMb2NrKCRldmVudClcIlxuICAgICAgICBbbWFza109XCJfaW5wdXRDb25maWcubWFza1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgIHwgaW5wdXRDbGFzc1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIDogaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgICAgICAgICAgOiBpc0Ryb3Bkb3duVG9nZ2xlclxuICAgICAgICAgICAgICAgICAgICA6IGlzRWRpdElucHV0XG4gICAgICAgICAgICAgICAgICAgIDogdGVtcGxhdGVcbiAgICAgICAgXCJcbiAgICAvPlxuXG4gICAgPCEtLSBQbGFjZWhvbGRlciBJY29uIG9uIFJpZ2h0IFNpZGUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci1pY29uLXJpZ2h0LXNpZGUge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uQ29sb3JcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgIHwgY2FTdmc6ICdjb21tb24nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IEVycm9yIE1lc3NhZ2UgLS0+XG4gICAgQGlmIChcbiAgICAgICAgISghY29udHJvbD8udmFsdWUgJiYgaXNGb2N1c0lucHV0KSAmJlxuICAgICAgICAoaXNUb3VjaGVkSW5wdXQgfHwgY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy52YWx1ZSkgJiZcbiAgICAgICAgY29udHJvbD8uaW52YWxpZCAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzSW52YWxpZFNlYXJjaEluRHJvcGRvd24gJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkXG4gICAgKSB7XG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAhKF9pbnB1dENvbmZpZy5oaWRlRXJyb3JNZXNzYWdlIHx8IF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3Ige3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRXJyb3IgTWVzc2FnZSBJbnNpZGUgSW5wdXQgLS0+XG4gICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmVycm9ySW5zaWRlSW5wdXQpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItaW5zaWRlLWlucHV0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5maXhlZFBsYWNob2xkZXIgJiYgaW5wdXQudmFsdWUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1maXhlZC1wbGFjZWhvZGVyLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -25166,7 +25166,8 @@ class InputTestComponent {
|
|
|
25166
25166
|
: obj; // ✅ Apply mask
|
|
25167
25167
|
this.inputValue = value;
|
|
25168
25168
|
this.onChange(value); // Notify Angular form about the change
|
|
25169
|
-
|
|
25169
|
+
if (value)
|
|
25170
|
+
this.onTouched(); // Mark as touched
|
|
25170
25171
|
this.inputElement.nativeElement.value = value;
|
|
25171
25172
|
this.chdet.detectChanges();
|
|
25172
25173
|
}
|