@datarailsshared/datarailsshared 1.6.216 → 1.6.220
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/datarailsshared-datarailsshared-1.6.220.tgz +0 -0
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +5 -1
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +10 -4
- package/esm2022/lib/emoji-picker/emoji-picker.component.mjs +87 -25
- package/esm2022/local-api.mjs +176 -0
- package/esm2022/public-api.mjs +4 -177
- package/fesm2022/datarailsshared-datarailsshared.mjs +261 -214
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +2 -1
- package/lib/emoji-picker/emoji-picker.component.d.ts +14 -5
- package/local-api.d.ts +173 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -174
- package/datarailsshared-datarailsshared-1.6.216.tgz +0 -0
- package/esm2022/lib/emoji-picker/emoji-data.service.mjs +0 -29
- package/lib/emoji-picker/emoji-data.service.d.ts +0 -13
|
Binary file
|
|
@@ -223,6 +223,10 @@ export class DrSelectComponent {
|
|
|
223
223
|
}
|
|
224
224
|
this.onChange(selectedItem);
|
|
225
225
|
this.change.emit(selectedItem);
|
|
226
|
+
this.ngSelect.blur();
|
|
227
|
+
if (this.searchable) {
|
|
228
|
+
this.ngSelect.searchInput.nativeElement.blur();
|
|
229
|
+
}
|
|
226
230
|
}
|
|
227
231
|
onTabKeypress(e) {
|
|
228
232
|
if (this.selectOnTabKeyPress && this.ngSelect) {
|
|
@@ -461,4 +465,4 @@ export class DrSelectComponent {
|
|
|
461
465
|
type: HostBinding,
|
|
462
466
|
args: ['class.textView']
|
|
463
467
|
}] }); })();
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ3VCdkIsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lB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UUFBUTtrQkFBcEIsS0FBSztZQUlHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFJRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csSUFBSTtrQkFBYixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTTtZQUNxRSxRQUFRO2tCQUFuRixTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzFCLGFBQWE7a0JBQTNDLFlBQVk7bUJBQUMsZUFBZTtZQUNPLGtCQUFrQjtrQkFBckQsWUFBWTttQkFBQyxvQkFBb0I7WUFDRixjQUFjO2tCQUE3QyxZQUFZO21CQUFDLGdCQUFnQjtZQUNRLG9CQUFvQjtrQkFBekQsWUFBWTttQkFBQyxzQkFBc0I7WUFDRSxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCO1lBQ0YsZ0JBQWdCO2tCQUFqRCxZQUFZO21CQUFDLGtCQUFrQjtZQUNELFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgb3BlbjogKCkgPT4gdm9pZDtcbiAgICB3cml0ZVZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICBibHVyOiAoKSA9PiB2b2lkO1xuICAgIGl0ZW1zTGlzdDogSXRlbXNMaXN0O1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICB0eXBlOiAnc2VsZWN0JyB8ICdzZWFyY2gtaW5wdXQnID0gJ3NlbGVjdCc7XG5cbiAgICBASW5wdXQoKSBjbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gfCBSZWFkb25seTxBcnJheTxhbnk+PiA9IFtdO1xuICAgIEBJbnB1dCgpIGFkZFRhZzogYm9vbGVhbiB8ICgodGVybTogc3RyaW5nKSA9PiBhbnkgfCBQcm9taXNlPGFueT4pO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsID0gZmFsc2U7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkITogU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICB0ZXJtOiBzdHJpbmc7XG4gICAgICAgIGl0ZW1zOiBhbnlbXTtcbiAgICB9PigpO1xuICAgIEBPdXRwdXQoKSBzY3JvbGxUb0VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnbm90Rm91bmRUZW1wbGF0ZScpIG5vdEZvdW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5vcGVuKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3QuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duT3BlbigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzVG9BZGQgPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFzVGV4dFZpZXcpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCgndGV4dFZpZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93bkNsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKC4uLnRoaXMuZHJvcGRvd25DbGFzcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmICF0aGlzLm9wdGlvbkhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ25nLWRyb3Bkb3duLXBhbmVsLS13aXRoLXNlYXJjaCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubmctZHJvcGRvd24tcGFuZWwnKTtcbiAgICAgICAgICAgIGlmIChkcm9wZG93bikge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlc1RvQWRkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNsZWFySW5wdXRUZXh0QWZ0ZXJTZWxlY3Rpb24gJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChzZWxlY3RlZEl0ZW0pO1xuICAgIH1cblxuICAgIG9uVGFiS2V5cHJlc3MoZSkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RPblRhYktleVByZXNzICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2xvc2UoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmNsb3NlVXAuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3Q/Lmxhc3RTZWxlY3RlZEl0ZW0/LmxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0gPSB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5sYXN0U2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QuZmlsdGVyKHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlcikge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcihudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnY3VzdG9tLWJhY2tkcm9wJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJlbW92ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ25vLXNjcm9sbCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzSG9zdEF0dHJpYnV0ZXMoLi4uYXR0cmlidXRlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuc29tZSgoYXR0cmlidXRlKSA9PiB0aGlzLmdldEhvc3RFbGVtZW50KCkuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIHRoaXMubmdTZWxlY3Q/LmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPG5nLXNlbGVjdFxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcbiAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcbiAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbYWRkVGFnXT1cImFkZFRhZ1wiXG4gICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcbiAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2xhYmVsRm9ySWRdPVwiaWRcIlxuICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIm1heFNlbGVjdGVkSXRlbXNcIlxuICAgIFtrZXlEb3duRm5dPVwia2V5RG93bkZuXCJcbiAgICBbc2VhcmNoRm5dPVwic2VhcmNoRm5cIlxuICAgIFtpc09wZW5dPVwiKHR5cGUgIT09ICdzZWFyY2gtaW5wdXQnIHx8ICEhc2VsZWN0Q29tcG9uZW50LnNlYXJjaFRlcm0/Lmxlbmd0aCkgJiYgaXNPcGVuXCJcbiAgICBbZ3JvdXBCeV09XCJncm91cEJ5XCJcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICBbc2VsZWN0T25UYWJdPVwic2VsZWN0T25UYWJLZXlQcmVzc1wiXG4gICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgW3R5cGVhaGVhZF09XCJ0eXBlYWhlYWRcIlxuICAgIChzZWFyY2gpPVwic2VhcmNoLmVtaXQoJGV2ZW50KVwiXG4gICAgKHNjcm9sbFRvRW5kKT1cInNjcm9sbFRvRW5kLmVtaXQoJGV2ZW50KVwiXG4gICAgKGtleWRvd24udGFiKT1cIm9uVGFiS2V5cHJlc3MoJGV2ZW50KVwiXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCJcbiAgICAoY2hhbmdlKT1cIm9uVmFsdWVTZWxlY3RlZChzZWxlY3RlZEl0ZW0pXCJcbiAgICAob3Blbik9XCJvcGVuLmVtaXQoJGV2ZW50KTsgb25Ecm9wZG93bk9wZW4oKVwiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2UoJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJkci1zZWxlY3RcIlxuICAgIFtjbGFzcy5uZy1zZWxlY3QtLW5vLXZhbHVlLXBhZGRpbmddPVwibm9WYWx1ZVBhZGRpbmdcIlxuICAgIFtjbGFzcy5uZy1zZWxlY3QtLW11bHRpcGxlLWhlaWdodC1pbmNyZWFzZWRdPVwibXVsdGlwbGVIZWlnaHRJbmNyZWFzZWRcIlxuICAgICNzZWxlY3RDb21wb25lbnQ+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uSGVhZGVyVGVtcGxhdGVcIiBuZy1oZWFkZXItdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkhlYWRlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmctaGVhZGVyLXRtcFxuICAgICAgICAqbmdJZj1cIiFvcHRpb25IZWFkZXJUZW1wbGF0ZSAmJiBpc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlciAmJiBpdGVtcz8ubGVuZ3RoID49IG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXJcIlxuICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPGRyLWlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImRyLXNlbGVjdF9fc2VhcmNoXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdENvbXBvbmVudC5pdGVtc0xpc3QuZmlsdGVyKCRldmVudCArICcnKVwiXG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCI+XG4gICAgICAgIDwvZHItaW5wdXQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsYWJlbFRlbXBsYXRlXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiIGxldC1jbGVhcj1cImNsZWFyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibXVsdGlMYWJlbFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbXM6IGl0ZW1zLCBjbGVhcjogY2xlYXIgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvblRlbXBsYXRlXCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXRlbSQ9XCJpdGVtJFwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgaXRlbSQ6IGl0ZW0kIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbldpdGhEZXNjcmlwdGlvblwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkci1zZWxlY3RfX29wdGlvbi13aXRoLWRlc2NfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHItc2VsZWN0X19vcHRpb24td2l0aC1kZXNjX19kZXNjcmlwdGlvblwiPnt7IGl0ZW0/LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uRm9vdGVyVGVtcGxhdGVcIiBuZy1mb290ZXItdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25Gb290ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCBjbG9zZTogc2VsZWN0Q29tcG9uZW50LmNsb3NlLmJpbmQoc2VsZWN0Q29tcG9uZW50KSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJncm91cEJ5XCIgbmctb3B0Z3JvdXAtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICB7eyBpdGVtW2dyb3VwQnldIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbmctbG9hZGluZ3NwaW5uZXItdG1wPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJkci1zZWxlY3RfX2xvYWRpbmdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lcl09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJUeXBlXT1cIidjaXJjbGUnXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJTaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lck5vT3ZlcmxheV09XCJ0cnVlXCI+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJub3RGb3VuZFRlbXBsYXRlXCIgbmctbm90Zm91bmQtdG1wPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vdEZvdW5kVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1zZWxlY3Q+XG48aSAqbmdJZj1cInR5cGUgPT09ICdzZWFyY2gtaW5wdXQnXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBkci1pY29uLXNlYXJjaFwiPjwvaT5cbiJdfQ==
|
|
468
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ3VCdkIsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lB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a0JBQVYsS0FBSztZQUNrQixNQUFNO2tCQUE3QixXQUFXO21CQUFDLFNBQVM7WUFDYixTQUFTO2tCQUFqQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBRU8sUUFBUTtrQkFBcEIsS0FBSztZQUlHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFJRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csSUFBSTtrQkFBYixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTTtZQUNxRSxRQUFRO2tCQUFuRixTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzFCLGFBQWE7a0JBQTNDLFlBQVk7bUJBQUMsZUFBZTtZQUNPLGtCQUFrQjtrQkFBckQsWUFBWTttQkFBQyxvQkFBb0I7WUFDRixjQUFjO2tCQUE3QyxZQUFZO21CQUFDLGdCQUFnQjtZQUNRLG9CQUFvQjtrQkFBekQsWUFBWTttQkFBQyxzQkFBc0I7WUFDRSxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCO1lBQ0YsZ0JBQWdCO2tCQUFqRCxZQUFZO21CQUFDLGtCQUFrQjtZQUNELFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgb3BlbjogKCkgPT4gdm9pZDtcbiAgICB3cml0ZVZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICBibHVyOiAoKSA9PiB2b2lkO1xuICAgIGl0ZW1zTGlzdDogSXRlbXNMaXN0O1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbiAgICBzZWFyY2hJbnB1dDogRWxlbWVudFJlZjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICB0eXBlOiAnc2VsZWN0JyB8ICdzZWFyY2gtaW5wdXQnID0gJ3NlbGVjdCc7XG5cbiAgICBASW5wdXQoKSBjbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gfCBSZWFkb25seTxBcnJheTxhbnk+PiA9IFtdO1xuICAgIEBJbnB1dCgpIGFkZFRhZzogYm9vbGVhbiB8ICgodGVybTogc3RyaW5nKSA9PiBhbnkgfCBQcm9taXNlPGFueT4pO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsID0gZmFsc2U7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkITogU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICB0ZXJtOiBzdHJpbmc7XG4gICAgICAgIGl0ZW1zOiBhbnlbXTtcbiAgICB9PigpO1xuICAgIEBPdXRwdXQoKSBzY3JvbGxUb0VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnbm90Rm91bmRUZW1wbGF0ZScpIG5vdEZvdW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5vcGVuKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3QuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duT3BlbigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzVG9BZGQgPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFzVGV4dFZpZXcpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCgndGV4dFZpZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93bkNsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKC4uLnRoaXMuZHJvcGRvd25DbGFzcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmICF0aGlzLm9wdGlvbkhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ25nLWRyb3Bkb3duLXBhbmVsLS13aXRoLXNlYXJjaCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubmctZHJvcGRvd24tcGFuZWwnKTtcbiAgICAgICAgICAgIGlmIChkcm9wZG93bikge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlc1RvQWRkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNsZWFySW5wdXRUZXh0QWZ0ZXJTZWxlY3Rpb24gJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChzZWxlY3RlZEl0ZW0pO1xuXG4gICAgICAgIHRoaXMubmdTZWxlY3QuYmx1cigpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYktleXByZXNzKGUpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0T25UYWJLZXlQcmVzcyAmJiB0aGlzLm5nU2VsZWN0KSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbG9zZVVwLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWFyY2gtaW5wdXQnICYmIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0Py5sYXN0U2VsZWN0ZWRJdGVtPy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QubGFzdFNlbGVjdGVkSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcih0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5maWx0ZXIobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnbm8tc2Nyb2xsJyk7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2N1c3RvbS1iYWNrZHJvcCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZW1vdmVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0hvc3RBdHRyaWJ1dGVzKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvbWUoKGF0dHJpYnV0ZSkgPT4gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgICAgICB0aGlzLm5nU2VsZWN0Py5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1zZWxlY3RcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2FkZFRhZ109XCJhZGRUYWdcIlxuICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtsb2FkaW5nVGV4dF09XCJsb2FkaW5nVGV4dFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtsYWJlbEZvcklkXT1cImlkXCJcbiAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJtYXhTZWxlY3RlZEl0ZW1zXCJcbiAgICBba2V5RG93bkZuXT1cImtleURvd25GblwiXG4gICAgW3NlYXJjaEZuXT1cInNlYXJjaEZuXCJcbiAgICBbaXNPcGVuXT1cIih0eXBlICE9PSAnc2VhcmNoLWlucHV0JyB8fCAhIXNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtPy5sZW5ndGgpICYmIGlzT3BlblwiXG4gICAgW2dyb3VwQnldPVwiZ3JvdXBCeVwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgW3NlbGVjdE9uVGFiXT1cInNlbGVjdE9uVGFiS2V5UHJlc3NcIlxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxuICAgIFt0eXBlYWhlYWRdPVwidHlwZWFoZWFkXCJcbiAgICAoc2VhcmNoKT1cInNlYXJjaC5lbWl0KCRldmVudClcIlxuICAgIChzY3JvbGxUb0VuZCk9XCJzY3JvbGxUb0VuZC5lbWl0KCRldmVudClcIlxuICAgIChrZXlkb3duLnRhYik9XCJvblRhYktleXByZXNzKCRldmVudClcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aFwiXG4gICAgKGNoYW5nZSk9XCJvblZhbHVlU2VsZWN0ZWQoc2VsZWN0ZWRJdGVtKVwiXG4gICAgKG9wZW4pPVwib3Blbi5lbWl0KCRldmVudCk7IG9uRHJvcGRvd25PcGVuKClcIlxuICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgIGNsYXNzPVwiZHItc2VsZWN0XCJcbiAgICBbY2xhc3Mubmctc2VsZWN0LS1uby12YWx1ZS1wYWRkaW5nXT1cIm5vVmFsdWVQYWRkaW5nXCJcbiAgICBbY2xhc3Mubmctc2VsZWN0LS1tdWx0aXBsZS1oZWlnaHQtaW5jcmVhc2VkXT1cIm11bHRpcGxlSGVpZ2h0SW5jcmVhc2VkXCJcbiAgICAjc2VsZWN0Q29tcG9uZW50PlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbkhlYWRlclRlbXBsYXRlXCIgbmctaGVhZGVyLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25IZWFkZXJUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIG5nLWhlYWRlci10bXBcbiAgICAgICAgKm5nSWY9XCIhb3B0aW9uSGVhZGVyVGVtcGxhdGUgJiYgaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIgJiYgaXRlbXM/Lmxlbmd0aCA+PSBtaW5JdGVtc1RvRGlzcGxheVNlYXJjaEluSGVhZGVyXCJcbiAgICAgICAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJkci1zZWxlY3RfX3NlYXJjaFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RDb21wb25lbnQuc2VhcmNoVGVybVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RDb21wb25lbnQuaXRlbXNMaXN0LmZpbHRlcigkZXZlbnQgKyAnJylcIlxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiPlxuICAgICAgICA8L2RyLWlucHV0PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibGFiZWxUZW1wbGF0ZVwiIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJtdWx0aUxhYmVsVGVtcGxhdGVcIiBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcywgY2xlYXI6IGNsZWFyIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWl0ZW0kPVwiaXRlbSRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIGl0ZW0kOiBpdGVtJCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25XaXRoRGVzY3JpcHRpb25cIiBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHItc2VsZWN0X19vcHRpb24td2l0aC1kZXNjX193cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fb3B0aW9uLXdpdGgtZGVzY19fZGVzY3JpcHRpb25cIj57eyBpdGVtPy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbkZvb3RlclRlbXBsYXRlXCIgbmctZm9vdGVyLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uRm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgY2xvc2U6IHNlbGVjdENvbXBvbmVudC5jbG9zZS5iaW5kKHNlbGVjdENvbXBvbmVudCkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZ3JvdXBCeVwiIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAge3sgaXRlbVtncm91cEJ5XSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmdzcGlubmVyLXRtcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZHItc2VsZWN0X19sb2FkaW5nXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJdPVwibG9hZGluZ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyVHlwZV09XCInY2lyY2xlJ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyU2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJOb092ZXJsYXldPVwidHJ1ZVwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibm90Rm91bmRUZW1wbGF0ZVwiIG5nLW5vdGZvdW5kLXRtcD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJub3RGb3VuZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctc2VsZWN0PlxuPGkgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoLWlucHV0J1wiIGNsYXNzPVwic2VhcmNoLWljb24gZHItaWNvbi1zZWFyY2hcIj48L2k+XG4iXX0=
|
|
@@ -12,7 +12,7 @@ const _c0 = ["dynamicInputRef"];
|
|
|
12
12
|
function DrSelectAddItemComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
13
13
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
14
14
|
i0.ɵɵelementStart(0, "div", 3);
|
|
15
|
-
i0.ɵɵlistener("click", function DrSelectAddItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDynamicAdding()); });
|
|
15
|
+
i0.ɵɵlistener("click", function DrSelectAddItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.instantAddValue ? ctx_r2.onDynamicAdd(ctx_r2.instantAddValue) : ctx_r2.onDynamicAdding()); });
|
|
16
16
|
i0.ɵɵelement(1, "i", 4);
|
|
17
17
|
i0.ɵɵelementStart(2, "p", 5);
|
|
18
18
|
i0.ɵɵtext(3);
|
|
@@ -71,6 +71,7 @@ export class DrSelectAddItemComponent {
|
|
|
71
71
|
this.dynamicAddLabel = 'Add new';
|
|
72
72
|
this.values = [];
|
|
73
73
|
this.showOnlyInput = false;
|
|
74
|
+
this.instantAddValue = '';
|
|
74
75
|
this.dynamicValueAdded = new EventEmitter();
|
|
75
76
|
}
|
|
76
77
|
ngOnChanges(changes) {
|
|
@@ -94,6 +95,9 @@ export class DrSelectAddItemComponent {
|
|
|
94
95
|
}
|
|
95
96
|
onDynamicAdd(value, keydownEvent) {
|
|
96
97
|
this.isDirty = true;
|
|
98
|
+
if (this.instantAddValue) {
|
|
99
|
+
this.dynamicValue = this.instantAddValue;
|
|
100
|
+
}
|
|
97
101
|
if (!this.isDynamicValueValid())
|
|
98
102
|
return;
|
|
99
103
|
if (keydownEvent && keydownEvent.key !== 'Enter')
|
|
@@ -116,7 +120,7 @@ export class DrSelectAddItemComponent {
|
|
|
116
120
|
} if (rf & 2) {
|
|
117
121
|
let _t;
|
|
118
122
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputRef = _t.first);
|
|
119
|
-
} }, inputs: { dynamicAddLabel: "dynamicAddLabel", bindValue: "bindValue", values: "values", alertMsg: "alertMsg", showOnlyInput: "showOnlyInput" }, outputs: { dynamicValueAdded: "dynamicValueAdded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [[1, "dr-select__dynamic-add", "dynamic-add"], ["class", "dynamic-add__add-item", 3, "click", 4, "ngIf"], ["class", "dynamic-add__field", 4, "ngIf"], [1, "dynamic-add__add-item", 3, "click"], [1, "dr-icon-add"], [1, "dynamic-add__add-item__text"], [1, "dynamic-add__field"], ["class", "dynamic-add__field__alert", 4, "ngIf"], ["placeholder", "Type...", 1, "dynamic-add__field__input", 3, "ngModel", "ngModelChange", "keydown"], ["dynamicInputRef", ""], [1, "dynamic-add__field__buttons"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click", 4, "ngIf"], ["theme", "icon", "icon", "dr-icon-exit", "iconSize", "18px", 3, "click"], [1, "dynamic-add__field__alert"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click"]], template: function DrSelectAddItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
} }, inputs: { dynamicAddLabel: "dynamicAddLabel", bindValue: "bindValue", values: "values", alertMsg: "alertMsg", showOnlyInput: "showOnlyInput", instantAddValue: "instantAddValue" }, outputs: { dynamicValueAdded: "dynamicValueAdded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [[1, "dr-select__dynamic-add", "dynamic-add"], ["class", "dynamic-add__add-item", 3, "click", 4, "ngIf"], ["class", "dynamic-add__field", 4, "ngIf"], [1, "dynamic-add__add-item", 3, "click"], [1, "dr-icon-add"], [1, "dynamic-add__add-item__text"], [1, "dynamic-add__field"], ["class", "dynamic-add__field__alert", 4, "ngIf"], ["placeholder", "Type...", 1, "dynamic-add__field__input", 3, "ngModel", "ngModelChange", "keydown"], ["dynamicInputRef", ""], [1, "dynamic-add__field__buttons"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click", 4, "ngIf"], ["theme", "icon", "icon", "dr-icon-exit", "iconSize", "18px", 3, "click"], [1, "dynamic-add__field__alert"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click"]], template: function DrSelectAddItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
120
124
|
i0.ɵɵelementStart(0, "div", 0);
|
|
121
125
|
i0.ɵɵtemplate(1, DrSelectAddItemComponent_div_1_Template, 4, 1, "div", 1);
|
|
122
126
|
i0.ɵɵtemplate(2, DrSelectAddItemComponent_div_2_Template, 7, 5, "div", 2);
|
|
@@ -130,7 +134,7 @@ export class DrSelectAddItemComponent {
|
|
|
130
134
|
}
|
|
131
135
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrSelectAddItemComponent, [{
|
|
132
136
|
type: Component,
|
|
133
|
-
args: [{ selector: 'dr-select-add-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dr-select__dynamic-add dynamic-add\">\n <div
|
|
137
|
+
args: [{ selector: 'dr-select-add-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dr-select__dynamic-add dynamic-add\">\n <div\n *ngIf=\"!(showOnlyInput && isDynamicAdding)\"\n class=\"dynamic-add__add-item\"\n (click)=\"instantAddValue ? onDynamicAdd(instantAddValue) : onDynamicAdding()\">\n <i class=\"dr-icon-add\"></i>\n <p class=\"dynamic-add__add-item__text\">{{ dynamicAddLabel }}</p>\n </div>\n <div *ngIf=\"isDynamicAdding\" class=\"dynamic-add__field\">\n <p *ngIf=\"alertMsg && !isDynamicValueValid() && isDirty\" class=\"dynamic-add__field__alert\">{{ alertMsg }}</p>\n <dr-input\n #dynamicInputRef\n class=\"dynamic-add__field__input\"\n [class.dynamic-add__field__input--error]=\"!isDynamicValueValid() && isDirty\"\n [(ngModel)]=\"dynamicValue\"\n (keydown)=\"onDynamicAdd(dynamicValue, $event)\"\n placeholder=\"Type...\"></dr-input>\n <div class=\"dynamic-add__field__buttons\">\n <dr-button\n *ngIf=\"dynamicValue && isDynamicValueValid()\"\n theme=\"icon\"\n icon=\"dr-icon-approve\"\n iconSize=\"18px\"\n (click)=\"onDynamicAdd(dynamicValue)\"></dr-button>\n <dr-button theme=\"icon\" icon=\"dr-icon-exit\" iconSize=\"18px\" (click)=\"onDynamicAddingClose()\"></dr-button>\n </div>\n </div>\n</div>\n", styles: [".dynamic-add__add-item{cursor:pointer;display:flex;align-items:center;border-bottom:1px solid #dfe0e3;padding:6px}.dynamic-add__add-item:hover{background:#f9f7ff}.dynamic-add__add-item__text{font-size:14px;line-height:22px;margin:0;color:#6d6e6f}.dynamic-add__add-item .dr-icon-add{color:#6d6e6f}.dynamic-add__field{position:relative}.dynamic-add__field__buttons{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center}.dynamic-add__field__alert{font-size:12px;position:absolute;color:#bf1d30;z-index:100;right:30px}::ng-deep .ng-dropdown-panel .ng-dropdown-footer:has(.dynamic-add),::ng-deep .ng-dropdown-panel .ng-dropdown-header:has(.dynamic-add){padding:0;border:none}::ng-deep .ng-dropdown-panel .ng-dropdown-footer .dynamic-add__add-item{border-bottom:none}::ng-deep .dynamic-add__field__input{padding-left:12px!important;height:36px!important;border:none!important;background:#f9f7ff!important;border-radius:0!important}::ng-deep .dynamic-add__field__input>input{background:#f9f7ff}::ng-deep .dynamic-add__field__input>input::placeholder{line-height:22px;font-size:14px;font-weight:400;color:#9ea1aa}::ng-deep .dynamic-add__field__input--error{background:#ffdfe4!important}::ng-deep .dynamic-add__field__input--error>input{background:#ffdfe4}\n"] }]
|
|
134
138
|
}], function () { return [{ type: i1.DrSelectComponent }]; }, { dynamicAddLabel: [{
|
|
135
139
|
type: Input
|
|
136
140
|
}], bindValue: [{
|
|
@@ -141,10 +145,12 @@ export class DrSelectAddItemComponent {
|
|
|
141
145
|
type: Input
|
|
142
146
|
}], showOnlyInput: [{
|
|
143
147
|
type: Input
|
|
148
|
+
}], instantAddValue: [{
|
|
149
|
+
type: Input
|
|
144
150
|
}], dynamicValueAdded: [{
|
|
145
151
|
type: Output
|
|
146
152
|
}], inputRef: [{
|
|
147
153
|
type: ViewChild,
|
|
148
154
|
args: ['dynamicInputRef']
|
|
149
155
|
}] }); })();
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztJQ1o5RCw4QkFHa0Y7SUFBOUUsa0tBQVMsd0NBQWtCLDJDQUE2QixHQUFHLHdCQUFpQixDQUFBLElBQUM7SUFDN0UsdUJBQTJCO0lBQzNCLDRCQUF1QztJQUFBLFlBQXFCO0lBQUEsaUJBQUksRUFBQTs7O0lBQXpCLGVBQXFCO0lBQXJCLDRDQUFxQjs7O0lBRzVELDZCQUEyRjtJQUFBLFlBQWM7SUFBQSxpQkFBSTs7O0lBQWxCLGVBQWM7SUFBZCxxQ0FBYzs7OztJQVNyRyxxQ0FLeUM7SUFBckMscUxBQVMsZUFBQSx3Q0FBMEIsQ0FBQSxJQUFDO0lBQUMsaUJBQVk7Ozs7SUFmN0QsOEJBQXdEO0lBQ3BELDJFQUE2RztJQUM3RyxzQ0FNMEI7SUFGdEIsOE9BQTBCLHNLQUNm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OztZQXpCRyxlQUF5QztZQUF6QyxrRUFBeUM7WUFNeEMsZUFBcUI7WUFBckIsMENBQXFCOzs7dUZEYWxCLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO29FQVEvQixlQUFlO2tCQUE5QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNXLE1BQU07a0JBQXRCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDWSxpQkFBaUI7a0JBQWxDLE1BQU07WUFFMkIsUUFBUTtrQkFBekMsU0FBUzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyByZWR1Y2UgYXMgX3JlZHVjZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZHItaW5wdXQvZHItaW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QtYWRkLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC1hZGQtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEclNlbGVjdEFkZEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHVibGljIGlzRHluYW1pY0FkZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZHluYW1pY1ZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGN1cnJlbnRWYWx1ZXM6IGFueVtdID0gW107XG4gICAgcHVibGljIGlzRGlydHk6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgZHluYW1pY0FkZExhYmVsID0gJ0FkZCBuZXcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBiaW5kVmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwcml2YXRlIHZhbHVlczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWxlcnRNc2c6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd09ubHlJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbnN0YW50QWRkVmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIEBPdXRwdXQoKSBwcml2YXRlIGR5bmFtaWNWYWx1ZUFkZGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnZHluYW1pY0lucHV0UmVmJykgc2V0IGlucHV0UmVmKGlucHV0OiBEcklucHV0Q29tcG9uZW50KSB7XG4gICAgICAgIGlmICghaW5wdXQpIHJldHVybjtcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRyU2VsZWN0OiBEclNlbGVjdENvbXBvbmVudCkge31cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlQ3VycmVudFZhbHVlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVDdXJyZW50VmFsdWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHluYW1pY0FkZGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0R5bmFtaWNBZGRpbmcgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkR5bmFtaWNBZGRpbmdDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0R5bmFtaWNBZGRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5keW5hbWljVmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEeW5hbWljVmFsdWVWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdGhpcy5keW5hbWljVmFsdWU/LnRyaW0oKTtcbiAgICAgICAgaWYgKCF0cmltbWVkVmFsdWUpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuICF0aGlzLmN1cnJlbnRWYWx1ZXMuaW5jbHVkZXModHJpbW1lZFZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EeW5hbWljQWRkKHZhbHVlOiBzdHJpbmcsIGtleWRvd25FdmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbnN0YW50QWRkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1ZhbHVlID0gdGhpcy5pbnN0YW50QWRkVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNEeW5hbWljVmFsdWVWYWxpZCgpKSByZXR1cm47XG4gICAgICAgIGlmIChrZXlkb3duRXZlbnQgJiYga2V5ZG93bkV2ZW50LmtleSAhPT0gJ0VudGVyJykgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub25EeW5hbWljQWRkaW5nQ2xvc2UoKTtcbiAgICAgICAgdGhpcy5kclNlbGVjdC5jbG9zZSgpO1xuICAgICAgICB0aGlzLmR5bmFtaWNWYWx1ZUFkZGVkLmVtaXQodmFsdWU/LnRyaW0oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDdXJyZW50VmFsdWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZXMgPSB0aGlzLmJpbmRWYWx1ZVxuICAgICAgICAgICAgPyBfcmVkdWNlKFxuICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goY3Vyclt0aGlzLmJpbmRWYWx1ZV0pO1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZXM7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fZHluYW1pYy1hZGQgZHluYW1pYy1hZGRcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiIShzaG93T25seUlucHV0ICYmIGlzRHluYW1pY0FkZGluZylcIlxuICAgICAgICBjbGFzcz1cImR5bmFtaWMtYWRkX19hZGQtaXRlbVwiXG4gICAgICAgIChjbGljayk9XCJpbnN0YW50QWRkVmFsdWUgPyBvbkR5bmFtaWNBZGQoaW5zdGFudEFkZFZhbHVlKSA6IG9uRHluYW1pY0FkZGluZygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1hZGRcIj48L2k+XG4gICAgICAgIDxwIGNsYXNzPVwiZHluYW1pYy1hZGRfX2FkZC1pdGVtX190ZXh0XCI+e3sgZHluYW1pY0FkZExhYmVsIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpc0R5bmFtaWNBZGRpbmdcIiBjbGFzcz1cImR5bmFtaWMtYWRkX19maWVsZFwiPlxuICAgICAgICA8cCAqbmdJZj1cImFsZXJ0TXNnICYmICFpc0R5bmFtaWNWYWx1ZVZhbGlkKCkgJiYgaXNEaXJ0eVwiIGNsYXNzPVwiZHluYW1pYy1hZGRfX2ZpZWxkX19hbGVydFwiPnt7IGFsZXJ0TXNnIH19PC9wPlxuICAgICAgICA8ZHItaW5wdXRcbiAgICAgICAgICAgICNkeW5hbWljSW5wdXRSZWZcbiAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy1hZGRfX2ZpZWxkX19pbnB1dFwiXG4gICAgICAgICAgICBbY2xhc3MuZHluYW1pYy1hZGRfX2ZpZWxkX19pbnB1dC0tZXJyb3JdPVwiIWlzRHluYW1pY1ZhbHVlVmFsaWQoKSAmJiBpc0RpcnR5XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZHluYW1pY1ZhbHVlXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uRHluYW1pY0FkZChkeW5hbWljVmFsdWUsICRldmVudClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlLi4uXCI+PC9kci1pbnB1dD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtYWRkX19maWVsZF9fYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZHluYW1pY1ZhbHVlICYmIGlzRHluYW1pY1ZhbHVlVmFsaWQoKVwiXG4gICAgICAgICAgICAgICAgdGhlbWU9XCJpY29uXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZHItaWNvbi1hcHByb3ZlXCJcbiAgICAgICAgICAgICAgICBpY29uU2l6ZT1cIjE4cHhcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkR5bmFtaWNBZGQoZHluYW1pY1ZhbHVlKVwiPjwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPGRyLWJ1dHRvbiB0aGVtZT1cImljb25cIiBpY29uPVwiZHItaWNvbi1leGl0XCIgaWNvblNpemU9XCIxOHB4XCIgKGNsaWNrKT1cIm9uRHluYW1pY0FkZGluZ0Nsb3NlKClcIj48L2RyLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { PickerComponent } from '@ctrl/ngx-emoji-mart';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
3
2
|
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
4
3
|
import { DrButtonComponent } from '../dr-inputs/button/button.component';
|
|
5
4
|
import { EmojiPickerMode } from './emoji-picker.types';
|
|
6
5
|
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
const _c0 = ["pickerContainer"];
|
|
8
8
|
function EmojiPickerComponent_ng_container_0_ng_template_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
9
9
|
i0.ɵɵelementContainer(0);
|
|
10
10
|
} }
|
|
@@ -25,55 +25,117 @@ function EmojiPickerComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
25
25
|
i0.ɵɵlistener("click", function EmojiPickerComponent_ng_container_0_Template_dr_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.toggleEmojiPicker()); });
|
|
26
26
|
i0.ɵɵelementEnd();
|
|
27
27
|
i0.ɵɵtemplate(4, EmojiPickerComponent_ng_container_0_ng_template_4_Template, 2, 1, "ng-template", 4);
|
|
28
|
-
i0.ɵɵlistener("backdropClick", function EmojiPickerComponent_ng_container_0_Template_ng_template_backdropClick_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.
|
|
28
|
+
i0.ɵɵlistener("backdropClick", function EmojiPickerComponent_ng_container_0_Template_ng_template_backdropClick_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.destroyEmojiPicker()); });
|
|
29
29
|
i0.ɵɵelementContainerEnd();
|
|
30
30
|
} if (rf & 2) {
|
|
31
31
|
const _r4 = i0.ɵɵreference(3);
|
|
32
32
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
33
33
|
i0.ɵɵadvance(4);
|
|
34
|
-
i0.ɵɵproperty("cdkConnectedOverlayOrigin", _r4)("cdkConnectedOverlayOpen", ctx_r0.
|
|
34
|
+
i0.ɵɵproperty("cdkConnectedOverlayOrigin", _r4)("cdkConnectedOverlayOpen", ctx_r0.emojiOverlayOpened)("cdkConnectedOverlayPositions", ctx_r0.positions)("cdkConnectedOverlayPush", true)("cdkConnectedOverlayViewportMargin", 16)("cdkConnectedOverlayHasBackdrop", true)("cdkConnectedOverlayBackdropClass", "emoji-modal-backdrop");
|
|
35
35
|
} }
|
|
36
36
|
function EmojiPickerComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
|
|
38
|
-
i0.ɵɵelementStart(0, "emoji-mart", 7);
|
|
39
|
-
i0.ɵɵlistener("emojiSelect", function EmojiPickerComponent_ng_template_1_Template_emoji_mart_emojiSelect_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.onEmojiSelected($event)); });
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
41
|
-
} if (rf & 2) {
|
|
42
|
-
i0.ɵɵproperty("darkMode", false);
|
|
37
|
+
i0.ɵɵelementContainer(0, null, 7);
|
|
43
38
|
} }
|
|
44
39
|
export class EmojiPickerComponent {
|
|
45
|
-
constructor() {
|
|
40
|
+
constructor(cdr) {
|
|
41
|
+
this.cdr = cdr;
|
|
46
42
|
this.mode = EmojiPickerMode.BUTTON;
|
|
47
43
|
this.emojiSelected = new EventEmitter();
|
|
48
|
-
this.
|
|
44
|
+
this.emojiOverlayOpened = false;
|
|
49
45
|
this.EmojiPickerMode = EmojiPickerMode;
|
|
46
|
+
this.positions = [
|
|
47
|
+
{
|
|
48
|
+
originX: 'start',
|
|
49
|
+
originY: 'top',
|
|
50
|
+
overlayX: 'start',
|
|
51
|
+
overlayY: 'bottom',
|
|
52
|
+
offsetY: -8,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
originX: 'start',
|
|
56
|
+
originY: 'bottom',
|
|
57
|
+
overlayX: 'start',
|
|
58
|
+
overlayY: 'top',
|
|
59
|
+
offsetY: 8,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
originX: 'end',
|
|
63
|
+
originY: 'top',
|
|
64
|
+
overlayX: 'end',
|
|
65
|
+
overlayY: 'bottom',
|
|
66
|
+
offsetY: -8,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
originX: 'end',
|
|
70
|
+
originY: 'bottom',
|
|
71
|
+
overlayX: 'end',
|
|
72
|
+
overlayY: 'top',
|
|
73
|
+
offsetY: 8,
|
|
74
|
+
},
|
|
75
|
+
];
|
|
50
76
|
}
|
|
51
|
-
|
|
52
|
-
this.
|
|
77
|
+
async ngAfterViewInit() {
|
|
78
|
+
if (this.mode === EmojiPickerMode.FLAT) {
|
|
79
|
+
await this.renderEmojiPicker();
|
|
80
|
+
}
|
|
53
81
|
}
|
|
54
|
-
|
|
55
|
-
this.
|
|
82
|
+
async toggleEmojiPicker() {
|
|
83
|
+
this.emojiOverlayOpened = !this.emojiOverlayOpened;
|
|
84
|
+
if (this.emojiOverlayOpened && !this.pickerComponentRef) {
|
|
85
|
+
// Wait for the overlay to render the template
|
|
86
|
+
setTimeout(async () => {
|
|
87
|
+
await this.renderEmojiPicker();
|
|
88
|
+
this.cdr.markForCheck();
|
|
89
|
+
}, 0);
|
|
90
|
+
}
|
|
56
91
|
}
|
|
57
92
|
onEmojiSelected(event) {
|
|
58
93
|
const emojiReaction = { id: event.emoji.id, emoji: event.emoji.native };
|
|
59
94
|
this.emojiSelected.emit(emojiReaction);
|
|
60
|
-
this.
|
|
95
|
+
if (this.mode === EmojiPickerMode.BUTTON) {
|
|
96
|
+
this.destroyEmojiPicker();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
destroyEmojiPicker() {
|
|
100
|
+
this.emojiOverlayOpened = false;
|
|
101
|
+
this.pickerComponentRef?.destroy();
|
|
102
|
+
this.pickerComponentRef = null;
|
|
61
103
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
104
|
+
async renderEmojiPicker() {
|
|
105
|
+
if (!this.PickerComponent) {
|
|
106
|
+
// See details here: https://github.com/scttcper/ngx-emoji-mart
|
|
107
|
+
this.PickerComponent = await import('@ctrl/ngx-emoji-mart').then((m) => m.PickerComponent);
|
|
108
|
+
}
|
|
109
|
+
this.pickerComponentRef = this.pickerContainer.createComponent(this.PickerComponent);
|
|
110
|
+
this.pickerComponentRef.instance.emoji = 'thumbsup';
|
|
111
|
+
this.pickerComponentRef.instance.darkMode = false;
|
|
112
|
+
this.pickerComponentRef.instance.color = '#0D99FF';
|
|
113
|
+
this.pickerComponentRef.instance.emojiSelect.subscribe((event) => this.onEmojiSelected(event));
|
|
114
|
+
this.cdr.detectChanges();
|
|
115
|
+
}
|
|
116
|
+
/** @nocollapse */ static { this.ɵfac = function EmojiPickerComponent_Factory(t) { return new (t || EmojiPickerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
117
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: EmojiPickerComponent, selectors: [["dr-emoji-picker"]], viewQuery: function EmojiPickerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
118
|
+
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
|
119
|
+
} if (rf & 2) {
|
|
120
|
+
let _t;
|
|
121
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pickerContainer = _t.first);
|
|
122
|
+
} }, inputs: { mode: "mode" }, outputs: { emojiSelected: "emojiSelected" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["flatTpl", ""], ["theme", "icon", "icon", "dr-icon-emoji-smiley", "cdkOverlayOrigin", "", 3, "click"], ["emojiButton", "", "trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPush", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "emoji-picker-popup"], [4, "ngTemplateOutlet"], ["pickerContainer", ""]], template: function EmojiPickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵtemplate(0, EmojiPickerComponent_ng_container_0_Template, 5, 7, "ng-container", 0);
|
|
124
|
+
i0.ɵɵtemplate(1, EmojiPickerComponent_ng_template_1_Template, 2, 0, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
66
125
|
} if (rf & 2) {
|
|
67
126
|
const _r1 = i0.ɵɵreference(2);
|
|
68
127
|
i0.ɵɵproperty("ngIf", ctx.mode === ctx.EmojiPickerMode.BUTTON)("ngIfElse", _r1);
|
|
69
|
-
} }, dependencies: [DrButtonComponent,
|
|
128
|
+
} }, dependencies: [DrButtonComponent, CdkOverlayOrigin, CdkConnectedOverlay, NgIf, NgTemplateOutlet], styles: [".emoji-picker-popup[_ngcontent-%COMP%]{position:relative;overflow:hidden;z-index:1000;box-shadow:0 2px 36px #00000026;border-radius:12px;width:352px;height:435px;background:#fff;animation:_ngcontent-%COMP%_fadeIn .2s ease-in-out}.emoji-picker-popup[_ngcontent-%COMP%] section.emoji-mart{border-color:transparent;height:100%;overflow-y:auto}.emoji-picker-popup[_ngcontent-%COMP%] .emoji-picker-section[_ngcontent-%COMP%]{display:block;height:100%}.emoji-picker-popup[_ngcontent-%COMP%] .emoji-picker-section[_ngcontent-%COMP%] section.emoji-mart{border-color:transparent}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}"], changeDetection: 0 }); }
|
|
70
129
|
}
|
|
71
130
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmojiPickerComponent, [{
|
|
72
131
|
type: Component,
|
|
73
|
-
args: [{ selector: 'dr-emoji-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DrButtonComponent,
|
|
74
|
-
}],
|
|
132
|
+
args: [{ selector: 'dr-emoji-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DrButtonComponent, CdkOverlayOrigin, CdkConnectedOverlay, NgIf, NgTemplateOutlet], template: "<ng-container *ngIf=\"mode === EmojiPickerMode.BUTTON; else flatTpl\">\n <dr-button\n #emojiButton\n theme=\"icon\"\n icon=\"dr-icon-emoji-smiley\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n (click)=\"toggleEmojiPicker()\"></dr-button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"emojiOverlayOpened\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayViewportMargin]=\"16\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'emoji-modal-backdrop'\"\n (backdropClick)=\"destroyEmojiPicker()\">\n <div class=\"emoji-picker-popup\">\n <ng-container *ngTemplateOutlet=\"flatTpl\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #flatTpl>\n <!-- Placeholder where the emoji picker will be rendered -->\n <ng-container #pickerContainer></ng-container>\n</ng-template>\n", styles: [".emoji-picker-popup{position:relative;overflow:hidden;z-index:1000;box-shadow:0 2px 36px #00000026;border-radius:12px;width:352px;height:435px;background:#fff;animation:fadeIn .2s ease-in-out}.emoji-picker-popup ::ng-deep section.emoji-mart{border-color:transparent;height:100%;overflow-y:auto}.emoji-picker-popup .emoji-picker-section{display:block;height:100%}.emoji-picker-popup .emoji-picker-section ::ng-deep section.emoji-mart{border-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"] }]
|
|
133
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { mode: [{
|
|
75
134
|
type: Input
|
|
76
135
|
}], emojiSelected: [{
|
|
77
136
|
type: Output
|
|
137
|
+
}], pickerContainer: [{
|
|
138
|
+
type: ViewChild,
|
|
139
|
+
args: ['pickerContainer', { read: ViewContainerRef }]
|
|
78
140
|
}] }); })();
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2Vtb2ppLXBpY2tlci9lbW9qaS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZW1vamktcGlja2VyL2Vtb2ppLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0lDVzdDLHdCQUF5RDs7O0lBRDdELDhCQUFnQztJQUM1QixvSEFBeUQ7SUFDN0QsaUJBQU07Ozs7SUFEYSxlQUF5QjtJQUF6QixzQ0FBeUI7Ozs7SUFoQnBELDZCQUFvRTtJQUNoRSx1Q0FNa0M7SUFBOUIsNktBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQUMsaUJBQVk7SUFDOUMsb0dBVWM7SUFKViwrTEFBaUIsZUFBQSx5QkFBa0IsQ0FBQSxJQUFDO0lBSzVDLDBCQUFlOzs7O0lBVFAsZUFBcUM7SUFBckMsK0NBQXFDLGdEQUFBLHdDQUFBLDREQUFBOzs7O0lBYXpDLHFDQUtpQztJQUQ3QixpTUFBZSxlQUFBLCtCQUF1QixDQUFBLElBQUM7SUFDVixpQkFBYTs7SUFGMUMsZ0NBQWtCOztBRFgxQixNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBU2EsU0FBSSxHQUFvQixlQUFlLENBQUMsTUFBTSxDQUFDO1FBRTlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0QsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDWCxvQkFBZSxHQUFHLGVBQWUsQ0FBQztLQWV4RDtJQWJHLGlCQUFpQjtRQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQXlEO1FBQ3JFLE1BQU0sYUFBYSxHQUFtQixFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dHQXBCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQjtZQ2ZqQyx1RkFtQmU7WUFFZixzSEFRYzs7O1lBN0JDLDhEQUF1QyxpQkFBQTs0QkRheEMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7O3VGQUVsRyxvQkFBb0I7Y0FSaEMsU0FBUzsyQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDO2dCQUduRyxJQUFJO2tCQUFaLEtBQUs7WUFFSSxhQUFhO2tCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAY3RybC9uZ3gtZW1vamktbWFydCc7XG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRHJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9kci1pbnB1dHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1vamlQaWNrZXJNb2RlLCBJRW1vamlSZWFjdGlvbiB9IGZyb20gJy4vZW1vamktcGlja2VyLnR5cGVzJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWVtb2ppLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Vtb2ppLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZW1vamktcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRHJCdXR0b25Db21wb25lbnQsIFBpY2tlckNvbXBvbmVudCwgQ2RrT3ZlcmxheU9yaWdpbiwgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEVtb2ppUGlja2VyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBtb2RlOiBFbW9qaVBpY2tlck1vZGUgPSBFbW9qaVBpY2tlck1vZGUuQlVUVE9OO1xuXG4gICAgQE91dHB1dCgpIGVtb2ppU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPElFbW9qaVJlYWN0aW9uPigpO1xuXG4gICAgZW1vamlzT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IEVtb2ppUGlja2VyTW9kZSA9IEVtb2ppUGlja2VyTW9kZTtcblxuICAgIHRvZ2dsZUVtb2ppUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtb2ppc09wZW5lZCA9ICF0aGlzLmVtb2ppc09wZW5lZDtcbiAgICB9XG5cbiAgICBjbG9zZUVtb2ppUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtb2ppc09wZW5lZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uRW1vamlTZWxlY3RlZChldmVudDogeyBlbW9qaTogeyBuYXRpdmU6IHN0cmluZzsgaWQ6IHN0cmluZyB8IG51bWJlciB9IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZW1vamlSZWFjdGlvbjogSUVtb2ppUmVhY3Rpb24gPSB7IGlkOiBldmVudC5lbW9qaS5pZCwgZW1vamk6IGV2ZW50LmVtb2ppLm5hdGl2ZSB9O1xuICAgICAgICB0aGlzLmVtb2ppU2VsZWN0ZWQuZW1pdChlbW9qaVJlYWN0aW9uKTtcbiAgICAgICAgdGhpcy5jbG9zZUVtb2ppUGlja2VyKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09IEVtb2ppUGlja2VyTW9kZS5CVVRUT047IGVsc2UgZmxhdFRwbFwiPlxuICAgIDxkci1idXR0b25cbiAgICAgICAgI2Vtb2ppQnV0dG9uXG4gICAgICAgIHRoZW1lPVwiaWNvblwiXG4gICAgICAgIGljb249XCJkci1pY29uLWVtb2ppLXNtaWxleVwiXG4gICAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICAgI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUVtb2ppUGlja2VyKClcIj48L2RyLWJ1dHRvbj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImVtb2ppc09wZW5lZFwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwidHJ1ZVwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzc109XCInZW1vamktbW9kYWwtYmFja2Ryb3AnXCJcbiAgICAgICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2VFbW9qaVBpY2tlcigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1waWNrZXItcG9wdXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmbGF0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNmbGF0VHBsPlxuICAgIDwhLS0gU2VlIGRldGFpbHMgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL3NjdHRjcGVyL25neC1lbW9qaS1tYXJ0IC0tPlxuICAgIDxlbW9qaS1tYXJ0XG4gICAgICAgIGVtb2ppPVwidGh1bWJzdXBcIlxuICAgICAgICBjb2xvcj1cIiMwRDk5RkZcIlxuICAgICAgICBbZGFya01vZGVdPVwiZmFsc2VcIlxuICAgICAgICAoZW1vamlTZWxlY3QpPVwib25FbW9qaVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImVtb2ppLXBpY2tlci1zZWN0aW9uXCI+PC9lbW9qaS1tYXJ0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2Vtb2ppLXBpY2tlci9lbW9qaS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZW1vamktcGlja2VyL2Vtb2ppLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7SUNJN0Msd0JBQXlEOzs7SUFEN0QsOEJBQWdDO0lBQzVCLG9IQUF5RDtJQUM3RCxpQkFBTTs7OztJQURhLGVBQXlCO0lBQXpCLHNDQUF5Qjs7OztJQW5CcEQsNkJBQW9FO0lBQ2hFLHVDQU1rQztJQUE5Qiw2S0FBUyxlQUFBLDBCQUFtQixDQUFBLElBQUM7SUFBQyxpQkFBWTtJQUM5QyxvR0FhYztJQUpWLCtMQUFpQixlQUFBLDJCQUFvQixDQUFBLElBQUM7SUFLOUMsMEJBQWU7Ozs7SUFaUCxlQUFxQztJQUFyQywrQ0FBcUMsc0RBQUEsa0RBQUEsaUNBQUEseUNBQUEsd0NBQUEsNERBQUE7OztJQWdCekMsaUNBQThDOztBRERs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QUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUNwRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0ExRlEsb0JBQW9CO21HQUFwQixvQkFBb0I7bUNBS1MsZ0JBQWdCOzs7OztZQzlCMUQsdUZBc0JlO1lBRWYsc0hBR2M7OztZQTNCQyw4REFBdUMsaUJBQUE7NEJEdUJ4QyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCOzt1RkFFakYsb0JBQW9CO2NBUmhDLFNBQVM7MkJBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29FQUdsRixJQUFJO2tCQUFaLEtBQUs7WUFFSSxhQUFhO2tCQUF0QixNQUFNO1lBRW1ELGVBQWU7a0JBQXhFLFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW4sIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbW9qaVBpY2tlck1vZGUsIElFbW9qaVJlYWN0aW9uIH0gZnJvbSAnLi9lbW9qaS1waWNrZXIudHlwZXMnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZW1vamktcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW1vamktcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbW9qaS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtEckJ1dHRvbkNvbXBvbmVudCwgQ2RrT3ZlcmxheU9yaWdpbiwgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEVtb2ppUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgbW9kZTogRW1vamlQaWNrZXJNb2RlID0gRW1vamlQaWNrZXJNb2RlLkJVVFRPTjtcblxuICAgIEBPdXRwdXQoKSBlbW9qaVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJRW1vamlSZWFjdGlvbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlckNvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBwaWNrZXJDb250YWluZXI/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgZW1vamlPdmVybGF5T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgRW1vamlQaWNrZXJNb2RlID0gRW1vamlQaWNrZXJNb2RlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3NpdGlvbnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXRZOiAtOCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRZOiA4LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgICAgb2Zmc2V0WTogLTgsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRZOiA4LFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBwcml2YXRlIHBpY2tlckNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIHByaXZhdGUgUGlja2VyQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBFbW9qaVBpY2tlck1vZGUuRkxBVCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZW5kZXJFbW9qaVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgdG9nZ2xlRW1vamlQaWNrZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuZW1vamlPdmVybGF5T3BlbmVkID0gIXRoaXMuZW1vamlPdmVybGF5T3BlbmVkO1xuICAgICAgICBpZiAodGhpcy5lbW9qaU92ZXJsYXlPcGVuZWQgJiYgIXRoaXMucGlja2VyQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICAvLyBXYWl0IGZvciB0aGUgb3ZlcmxheSB0byByZW5kZXIgdGhlIHRlbXBsYXRlXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnJlbmRlckVtb2ppUGlja2VyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRW1vamlTZWxlY3RlZChldmVudDogeyBlbW9qaTogeyBuYXRpdmU6IHN0cmluZzsgaWQ6IHN0cmluZyB8IG51bWJlciB9IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZW1vamlSZWFjdGlvbjogSUVtb2ppUmVhY3Rpb24gPSB7IGlkOiBldmVudC5lbW9qaS5pZCwgZW1vamk6IGV2ZW50LmVtb2ppLm5hdGl2ZSB9O1xuICAgICAgICB0aGlzLmVtb2ppU2VsZWN0ZWQuZW1pdChlbW9qaVJlYWN0aW9uKTtcblxuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBFbW9qaVBpY2tlck1vZGUuQlVUVE9OKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lFbW9qaVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveUVtb2ppUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtb2ppT3ZlcmxheU9wZW5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBpY2tlckNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnBpY2tlckNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyByZW5kZXJFbW9qaVBpY2tlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLlBpY2tlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU2VlIGRldGFpbHMgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL3NjdHRjcGVyL25neC1lbW9qaS1tYXJ0XG4gICAgICAgICAgICB0aGlzLlBpY2tlckNvbXBvbmVudCA9IGF3YWl0IGltcG9ydCgnQGN0cmwvbmd4LWVtb2ppLW1hcnQnKS50aGVuKChtKSA9PiBtLlBpY2tlckNvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBpY2tlckNvbXBvbmVudFJlZiA9IHRoaXMucGlja2VyQ29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLlBpY2tlckNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucGlja2VyQ29tcG9uZW50UmVmLmluc3RhbmNlLmVtb2ppID0gJ3RodW1ic3VwJztcbiAgICAgICAgdGhpcy5waWNrZXJDb21wb25lbnRSZWYuaW5zdGFuY2UuZGFya01vZGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5waWNrZXJDb21wb25lbnRSZWYuaW5zdGFuY2UuY29sb3IgPSAnIzBEOTlGRic7XG4gICAgICAgIHRoaXMucGlja2VyQ29tcG9uZW50UmVmLmluc3RhbmNlLmVtb2ppU2VsZWN0LnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkVtb2ppU2VsZWN0ZWQoZXZlbnQpKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSBFbW9qaVBpY2tlck1vZGUuQlVUVE9OOyBlbHNlIGZsYXRUcGxcIj5cbiAgICA8ZHItYnV0dG9uXG4gICAgICAgICNlbW9qaUJ1dHRvblxuICAgICAgICB0aGVtZT1cImljb25cIlxuICAgICAgICBpY29uPVwiZHItaWNvbi1lbW9qaS1zbWlsZXlcIlxuICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVFbW9qaVBpY2tlcigpXCI+PC9kci1idXR0b24+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJlbW9qaU92ZXJsYXlPcGVuZWRcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJwb3NpdGlvbnNcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVB1c2hdPVwidHJ1ZVwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5Vmlld3BvcnRNYXJnaW5dPVwiMTZcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRydWVcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3NdPVwiJ2Vtb2ppLW1vZGFsLWJhY2tkcm9wJ1wiXG4gICAgICAgIChiYWNrZHJvcENsaWNrKT1cImRlc3Ryb3lFbW9qaVBpY2tlcigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1waWNrZXItcG9wdXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmbGF0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNmbGF0VHBsPlxuICAgIDwhLS0gUGxhY2Vob2xkZXIgd2hlcmUgdGhlIGVtb2ppIHBpY2tlciB3aWxsIGJlIHJlbmRlcmVkIC0tPlxuICAgIDxuZy1jb250YWluZXIgI3BpY2tlckNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|