@acorex/components 4.2.45 → 4.2.50
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/esm2020/lib/property-editor/property-editor.class.mjs +1 -1
- package/esm2020/lib/search-bar/search-bar.component.mjs +88 -65
- package/fesm2015/acorex-components.mjs +91 -64
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +86 -63
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/property-editor/property-editor.class.d.ts +2 -0
- package/lib/search-bar/search-bar.component.d.ts +5 -1
- package/package.json +1 -1
|
@@ -98,4 +98,4 @@ export function propertyEditor(options) {
|
|
|
98
98
|
AXPropertyDecorators.register(target, key, options);
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUErRC9CLE1BQU0sT0FBZ0Isd0JBQXdCO0lBd0M1QyxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZDNUMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVsQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBTXJDLG1DQUE4QixHQUFvQyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQU94RyxnQkFBVyxHQUFvQixJQUFJLFlBQVksRUFBSyxDQUFDO1FBR3JELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBcUIvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUF0Q0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFJRCx5QkFBeUIsQ0FBQyxTQUFrQztRQUMxRCxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFTRCxJQUNXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FB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TUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixVQUFVLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7QUFwQ2MsNkJBQVEsR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztBQXVDN0QsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUE0QjtJQUN6RCxPQUFPLENBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQ2pDLE9BQWUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzVCLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYRGF0YVR5cGUgPSAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgJ2Jvb2xlYW4nIHwgJ29iamVjdCc7XHJcbmV4cG9ydCB0eXBlIEFYQ29udHJvbFR5cGUgPSAndGV4dGJveCcgfCAnbnVtYmVyYm94JyB8ICdkYXRlUGlja2VyJyB8ICdzd2l0Y2gnIHwgJ2N1c3RvbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlEZWYge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xyXG4gIGVkaXRvckNsYXNzOiBhbnk7XHJcbiAgZWRpdG9yT3B0aW9ucz86IGFueTtcclxuICB2aXNpYmxlPzogYm9vbGVhbiB8ICgoKSA9PiBib29sZWFuKTtcclxuICBvcmRlcj86IG51bWJlcjtcclxuICByb3c/OiBudW1iZXI7XHJcbiAgY29sPzogbnVtYmVyIHwgQVhQcm9wZXJ0eUNvbERlZjtcclxuICBmaWx0ZXJPcHRpb25zPzogRmlsdGVyTW9kZWw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyTW9kZWwge1xyXG4gIG9wZXJhdG9yPzogYW55O1xyXG4gIGZpbHRlcnM/OiBGaWx0ZXJzTW9kZWxbXTtcclxuICB0cnVuY2F0ZURhdGU/OiBib29sZWFuO1xyXG4gIGpvaW5UeXBlPzogc3RyaW5nO1xyXG4gIGlnbm9yZUNhc2U/OiBib29sZWFuO1xyXG4gIGxvZ2ljPzogJ2FuZCcgfCAnb3InO1xyXG4gIGFkdmFuY2U/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlcnNNb2RlbCB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxuICBmaWx0ZXJPcHRpb25zOiBGaWx0ZXJNb2RlbDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlDb2xEZWYge1xyXG4gIGxnPzogbnVtYmVyO1xyXG4gIG1kPzogbnVtYmVyO1xyXG4gIHNtPzogbnVtYmVyO1xyXG4gIHhzPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlFZGl0b3JEZWYge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgZWRpdG9yQ2xhc3M6IGFueTtcclxuICBlZGl0b3JPcHRpb25zPzogYW55O1xyXG4gIHZpc2libGU/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pO1xyXG4gIG9yZGVyPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlDb25maWcge1xyXG4gIHByb3BlcnR5OiBBWFByb3BlcnR5RGVmO1xyXG4gIHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCB7XHJcbiAgcHJvcGVydHk6IEFYUHJvcGVydHlEZWY7XHJcbiAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQ8VD4ge1xyXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX2luaXRpYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3ZhbHVlQm91bmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGdldCBpbml0aWF0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhdGVkICYmIHRoaXMuX3ZhbHVlQm91bmQ7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0YWJsZUNvbXBvbmVudFJlZ2lzdGVyZWQ6IFN1YmplY3Q8QVhWYWxpZGF0YWJsZUNvbXBvbmVudD4gPSBuZXcgU3ViamVjdDxBWFZhbGlkYXRhYmxlQ29tcG9uZW50PigpO1xyXG5cclxuICByZWdpc3RlckZvclZhbGlkYXRpb25Gb3JtKGNvbXBvbmVudD86IEFYVmFsaWRhdGFibGVDb21wb25lbnQpIHtcclxuICAgIHRoaXMudmFsaWRhdGFibGVDb21wb25lbnRSZWdpc3RlcmVkLm5leHQoY29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VD4gPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uUmVuZGVyQ29tcGxldGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogVCkge1xyXG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIC8vVE9ETzogZmluZCBiZXR0ZXIgc29sdXRpb25cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVCb3VuZCA9IHRydWU7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5vblJlbmRlckNvbXBsZXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9pbml0aWF0ZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1aWQ6IHN0cmluZztcclxuXHJcbiAgaGFuZGxlVmFsdWVDaGFuZ2UodjogVCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHY7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgY2xzOiBhbnk7XHJcbiAgcHJvcGVydHk6IHN0cmluZztcclxuICBvcHRpb25zOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsczogYW55LCBwcm9wZXJ0eTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcclxuICAgIHRoaXMuY2xzID0gY2xzO1xyXG4gICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICB9XHJcbn1cclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWFByb3BlcnR5RGVjb3JhdG9ycyB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUkVHSVNUUlkgPSBuZXcgQXJyYXk8QVhQcm9wZXJ0eURlY29yYXRvcj4oKTtcclxuXHJcbiAgc3RhdGljIHJlZ2lzdGVyKGNsczogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBvcHRpb25zPzogYW55KSB7XHJcbiAgICBjb25zdCBpdGVtID0gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuZmluZCgoYykgPT4gYy5jbHMgPT09IGNscyAmJiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBpdGVtLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkucHVzaChuZXcgQVhQcm9wZXJ0eURlY29yYXRvcihjbHMsIHByb3BlcnR5LCBvcHRpb25zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaGFzKGNsczogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuc29tZSgoYykgPT4gYy5jbHMgPT09IGNscyAmJiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0KGNsczogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogQVhQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICByZXR1cm4gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuZmluZCgoYykgPT4gYy5jbHMgPT09IGNscyAmJiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNWYWxpZChwcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAocHJvcGVydHkpIHtcclxuICAgICAgcmV0dXJuIEFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLnNvbWUoKGMpID0+IGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRQcm9wZXJ0aWVzKHRhcmdldDogYW55KTogQVhQcm9wZXJ0eURlY29yYXRvcltdIHtcclxuICAgIGNvbnN0IGxpc3Q6IEFYUHJvcGVydHlEZWNvcmF0b3JbXSA9IFtdO1xyXG4gICAgY29uc3QgcDogYW55W10gPSBBcnJheTxhbnk+KCk7XHJcbiAgICBsZXQgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0YXJnZXQpO1xyXG4gICAgd2hpbGUgKHN1cGVyQ2xhc3MuY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCcpIHtcclxuICAgICAgcC5wdXNoKHN1cGVyQ2xhc3MuY29uc3RydWN0b3IpO1xyXG4gICAgICBzdXBlckNsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1cGVyQ2xhc3MpO1xyXG4gICAgfVxyXG4gICAgbGlzdC5wdXNoKC4uLkFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLmZpbHRlcigoYykgPT4gcC5pbmNsdWRlcyhjLmNscy5jb25zdHJ1Y3RvcikpKTtcclxuICAgIHJldHVybiBsaXN0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnR5RWRpdG9yKG9wdGlvbnM6IEFYUHJvcGVydHlFZGl0b3JEZWYpIHtcclxuICByZXR1cm4gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgKG9wdGlvbnMgYXMgYW55KS5uYW1lID0ga2V5O1xyXG4gICAgQVhQcm9wZXJ0eURlY29yYXRvcnMucmVnaXN0ZXIodGFyZ2V0LCBrZXksIG9wdGlvbnMpO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFpRS9CLE1BQU0sT0FBZ0Isd0JBQXdCO0lBd0M1QyxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZDNUMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVsQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBTXJDLG1DQUE4QixHQUFvQyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQU94RyxnQkFBVyxHQUFvQixJQUFJLFlBQVksRUFBSyxDQUFDO1FBR3JELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBcUIvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUF0Q0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFJRCx5QkFBeUIsQ0FBQyxTQUFrQztRQUMxRCxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFTRCxJQUNXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FB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TUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixVQUFVLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7QUFwQ2MsNkJBQVEsR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztBQXVDN0QsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUE0QjtJQUN6RCxPQUFPLENBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQ2pDLE9BQWUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzVCLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYRGF0YVR5cGUgPSAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgJ2Jvb2xlYW4nIHwgJ29iamVjdCc7XHJcbmV4cG9ydCB0eXBlIEFYQ29udHJvbFR5cGUgPSAndGV4dGJveCcgfCAnbnVtYmVyYm94JyB8ICdkYXRlUGlja2VyJyB8ICdzd2l0Y2gnIHwgJ2N1c3RvbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlEZWYge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGZpZWxkOiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgZWRpdG9yQ2xhc3M6IGFueTtcclxuICBlZGl0b3JPcHRpb25zPzogYW55O1xyXG4gIHZpc2libGU/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pO1xyXG4gIG9yZGVyPzogbnVtYmVyO1xyXG4gIHJvdz86IG51bWJlcjtcclxuICBjb2w/OiBudW1iZXIgfCBBWFByb3BlcnR5Q29sRGVmO1xyXG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJNb2RlbCB7XHJcbiAgb3BlcmF0b3I/OiBhbnk7XHJcbiAgZmlsdGVycz86IEZpbHRlcnNNb2RlbFtdO1xyXG4gIHRydW5jYXRlRGF0ZT86IGJvb2xlYW47XHJcbiAgam9pblR5cGU/OiBzdHJpbmc7XHJcbiAgaWdub3JlQ2FzZT86IGJvb2xlYW47XHJcbiAgbG9naWM/OiAnYW5kJyB8ICdvcic7XHJcbiAgYWR2YW5jZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyc01vZGVsIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG4gIGZpZWxkPzogc3RyaW5nO1xyXG4gIGZpbHRlck9wdGlvbnM6IEZpbHRlck1vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ0eUNvbERlZiB7XHJcbiAgbGc/OiBudW1iZXI7XHJcbiAgbWQ/OiBudW1iZXI7XHJcbiAgc20/OiBudW1iZXI7XHJcbiAgeHM/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ0eUVkaXRvckRlZiB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBoaW50Pzogc3RyaW5nO1xyXG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcclxuICBlZGl0b3JDbGFzczogYW55O1xyXG4gIGVkaXRvck9wdGlvbnM/OiBhbnk7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW4gfCAoKCkgPT4gYm9vbGVhbik7XHJcbiAgb3JkZXI/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ0eUNvbmZpZyB7XHJcbiAgcHJvcGVydHk6IEFYUHJvcGVydHlEZWY7XHJcbiAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50IHtcclxuICBwcm9wZXJ0eTogQVhQcm9wZXJ0eURlZjtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudDxUPiB7XHJcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfaW5pdGlhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdmFsdWVCb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0IGluaXRpYXRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pbml0aWF0ZWQgJiYgdGhpcy5fdmFsdWVCb3VuZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRhYmxlQ29tcG9uZW50UmVnaXN0ZXJlZDogU3ViamVjdDxBWFZhbGlkYXRhYmxlQ29tcG9uZW50PiA9IG5ldyBTdWJqZWN0PEFYVmFsaWRhdGFibGVDb21wb25lbnQ+KCk7XHJcblxyXG4gIHJlZ2lzdGVyRm9yVmFsaWRhdGlvbkZvcm0oY29tcG9uZW50PzogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCkge1xyXG4gICAgdGhpcy52YWxpZGF0YWJsZUNvbXBvbmVudFJlZ2lzdGVyZWQubmV4dChjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUPiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25SZW5kZXJDb21wbGV0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBUKSB7XHJcbiAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgLy9UT0RPOiBmaW5kIGJldHRlciBzb2x1dGlvblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLl92YWx1ZUJvdW5kID0gdHJ1ZTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLm9uUmVuZGVyQ29tcGxldGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2luaXRpYXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVpZDogc3RyaW5nO1xyXG5cclxuICBoYW5kbGVWYWx1ZUNoYW5nZSh2OiBUKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICBjbHM6IGFueTtcclxuICBwcm9wZXJ0eTogc3RyaW5nO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoY2xzOiBhbnksIHByb3BlcnR5OiBzdHJpbmcsIG9wdGlvbnM6IGFueSkge1xyXG4gICAgdGhpcy5jbHMgPSBjbHM7XHJcbiAgICB0aGlzLnByb3BlcnR5ID0gcHJvcGVydHk7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYUHJvcGVydHlEZWNvcmF0b3JzIHtcclxuICBwcml2YXRlIHN0YXRpYyBSRUdJU1RSWSA9IG5ldyBBcnJheTxBWFByb3BlcnR5RGVjb3JhdG9yPigpO1xyXG5cclxuICBzdGF0aWMgcmVnaXN0ZXIoY2xzOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGl0ZW0gPSBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5maW5kKChjKSA9PiBjLmNscyA9PT0gY2xzICYmIGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIGl0ZW0ub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5wdXNoKG5ldyBBWFByb3BlcnR5RGVjb3JhdG9yKGNscywgcHJvcGVydHksIG9wdGlvbnMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBoYXMoY2xzOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5zb21lKChjKSA9PiBjLmNscyA9PT0gY2xzICYmIGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXQoY2xzOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcpOiBBWFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5maW5kKChjKSA9PiBjLmNscyA9PT0gY2xzICYmIGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpc1ZhbGlkKHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmIChwcm9wZXJ0eSkge1xyXG4gICAgICByZXR1cm4gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuc29tZSgoYykgPT4gYy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFByb3BlcnRpZXModGFyZ2V0OiBhbnkpOiBBWFByb3BlcnR5RGVjb3JhdG9yW10ge1xyXG4gICAgY29uc3QgbGlzdDogQVhQcm9wZXJ0eURlY29yYXRvcltdID0gW107XHJcbiAgICBjb25zdCBwOiBhbnlbXSA9IEFycmF5PGFueT4oKTtcclxuICAgIGxldCBzdXBlckNsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XHJcbiAgICB3aGlsZSAoc3VwZXJDbGFzcy5jb25zdHJ1Y3Rvci5uYW1lICE9PSAnT2JqZWN0Jykge1xyXG4gICAgICBwLnB1c2goc3VwZXJDbGFzcy5jb25zdHJ1Y3Rvcik7XHJcbiAgICAgIHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3VwZXJDbGFzcyk7XHJcbiAgICB9XHJcbiAgICBsaXN0LnB1c2goLi4uQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuZmlsdGVyKChjKSA9PiBwLmluY2x1ZGVzKGMuY2xzLmNvbnN0cnVjdG9yKSkpO1xyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHlFZGl0b3Iob3B0aW9uczogQVhQcm9wZXJ0eUVkaXRvckRlZikge1xyXG4gIHJldHVybiAodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAob3B0aW9ucyBhcyBhbnkpLm5hbWUgPSBrZXk7XHJcbiAgICBBWFByb3BlcnR5RGVjb3JhdG9ycy5yZWdpc3Rlcih0YXJnZXQsIGtleSwgb3B0aW9ucyk7XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AXConfig } from '@acorex/core';
|
|
1
|
+
import { AXConfig, AXDateTime } from '@acorex/core';
|
|
2
2
|
import { Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
3
3
|
import * as _ from 'lodash';
|
|
4
4
|
import { AXDropdownComponent } from '../dropdown/dropdown.component';
|
|
@@ -23,16 +23,19 @@ export class AXSearchBarComponent {
|
|
|
23
23
|
this._items = [];
|
|
24
24
|
this._filterItems = [];
|
|
25
25
|
this._filterItemsClone = [];
|
|
26
|
+
this._defultValueCount = [];
|
|
26
27
|
this._context = {};
|
|
27
28
|
}
|
|
28
29
|
set items(v) {
|
|
30
|
+
this._defultValueCount = v.filter((x) => x.value);
|
|
29
31
|
v.forEach((el) => {
|
|
30
32
|
if (el.value != null) {
|
|
31
33
|
this._filterItems.push({
|
|
32
34
|
name: el.property.name,
|
|
33
35
|
title: el.property.title,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
field: el.property.field,
|
|
37
|
+
textValue: this._handleTextValue(el),
|
|
38
|
+
value: el.value ? this._handleDefultVlaue(el) : null,
|
|
36
39
|
component: el
|
|
37
40
|
});
|
|
38
41
|
}
|
|
@@ -52,52 +55,7 @@ export class AXSearchBarComponent {
|
|
|
52
55
|
this.dropdown.toggle();
|
|
53
56
|
}
|
|
54
57
|
async handleValueChange(e) {
|
|
55
|
-
|
|
56
|
-
let text = [];
|
|
57
|
-
if (e.property.editorOptions?.valueField && e.value != null) {
|
|
58
|
-
if (e.property.editorOptions.returnAllData) {
|
|
59
|
-
value = e.value;
|
|
60
|
-
text = await this.handleTextValue(e);
|
|
61
|
-
}
|
|
62
|
-
else if (e.property.editorOptions?.mode == 'multiple') {
|
|
63
|
-
e.value.forEach((element) => {
|
|
64
|
-
value.push(element[e.property.editorOptions.valueField]);
|
|
65
|
-
text.push(element[e.property.editorOptions.textField]);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
if (e.value.length) {
|
|
70
|
-
value = e.value[0][e.property.editorOptions.valueField];
|
|
71
|
-
text = e.value[0][e.property.editorOptions.textField];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
value = e.value;
|
|
77
|
-
text = e.value;
|
|
78
|
-
}
|
|
79
|
-
const findEl = this._filterItemsClone.find((el) => el.name == e.property.name);
|
|
80
|
-
if (findEl) {
|
|
81
|
-
findEl.value = value;
|
|
82
|
-
findEl.textValue = text ? text.toString() : null;
|
|
83
|
-
}
|
|
84
|
-
else if (e.value != null) {
|
|
85
|
-
this._filterItemsClone.push({
|
|
86
|
-
name: e.property.name,
|
|
87
|
-
title: e.property.title,
|
|
88
|
-
value,
|
|
89
|
-
textValue: text.toString(),
|
|
90
|
-
component: e,
|
|
91
|
-
filterOptions: {
|
|
92
|
-
filters: e.property?.filterOptions?.filters ? e.property.filterOptions.filters : [],
|
|
93
|
-
logic: e.property?.filterOptions?.logic ? e.property.filterOptions.logic : 'and',
|
|
94
|
-
ignoreCase: e.property?.filterOptions?.ignoreCase ? e.property.filterOptions.ignoreCase : true,
|
|
95
|
-
joinType: e.property?.filterOptions?.joinType ? e.property.filterOptions.joinType : 'INNER',
|
|
96
|
-
operator: e.property?.filterOptions?.operator ? e.property.filterOptions.operator : null,
|
|
97
|
-
truncateDate: e.property?.filterOptions?.truncateDate ? e.property.filterOptions.truncateDate : true
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
58
|
+
await this._handleInitVlaue(e);
|
|
101
59
|
this.onValueChange.emit(e);
|
|
102
60
|
}
|
|
103
61
|
handleItemRemoveClick(item) {
|
|
@@ -113,7 +71,6 @@ export class AXSearchBarComponent {
|
|
|
113
71
|
if (c.result) {
|
|
114
72
|
this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
|
|
115
73
|
this.handleButtonClick();
|
|
116
|
-
console.log(this._filterItems);
|
|
117
74
|
this.onSearchValue.emit(this._filterItems);
|
|
118
75
|
}
|
|
119
76
|
});
|
|
@@ -150,43 +107,109 @@ export class AXSearchBarComponent {
|
|
|
150
107
|
}
|
|
151
108
|
}
|
|
152
109
|
}
|
|
153
|
-
return className.toString().replace(
|
|
110
|
+
return className.toString().replace(/,/g, ' ');
|
|
154
111
|
}
|
|
155
112
|
_handleShowTitleSelected(item) {
|
|
156
|
-
if (item.
|
|
113
|
+
if (item.title) {
|
|
157
114
|
return item.title + ':';
|
|
158
115
|
}
|
|
159
116
|
}
|
|
160
117
|
_handleShowValueSelected(item) {
|
|
161
118
|
if (item.component.property.editorClass === 'ax/editors/check') {
|
|
162
|
-
return item.
|
|
119
|
+
return item.component.property.editorOptions.label;
|
|
163
120
|
}
|
|
164
121
|
else {
|
|
165
122
|
return item.textValue;
|
|
166
123
|
}
|
|
167
124
|
}
|
|
168
125
|
ngOnInit() { }
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
dataItem.value.
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
126
|
+
_handleTextValue(dataItem) {
|
|
127
|
+
let text = '';
|
|
128
|
+
if (Array.isArray(dataItem.value)) {
|
|
129
|
+
if (dataItem.value.length) {
|
|
130
|
+
dataItem.value.forEach((element, index) => {
|
|
131
|
+
text +=
|
|
132
|
+
index === dataItem.value.length - 1
|
|
133
|
+
? element[dataItem.property.editorOptions.textField]
|
|
134
|
+
: element[dataItem.property.editorOptions.textField] + ',';
|
|
135
|
+
});
|
|
136
|
+
}
|
|
178
137
|
return text;
|
|
179
138
|
}
|
|
139
|
+
else if (dataItem.property.editorClass === 'ax/editors/date') {
|
|
140
|
+
if (dataItem.value) {
|
|
141
|
+
return new AXDateTime(dataItem.value, 'jalali').format('yyyy/MM/DD');
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
180
147
|
else {
|
|
181
148
|
return;
|
|
182
149
|
}
|
|
183
150
|
}
|
|
151
|
+
async _handleDefultVlaue(dataItem) {
|
|
152
|
+
this._handleInitVlaue(dataItem);
|
|
153
|
+
this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
|
|
154
|
+
if (this._filterItems.length === this._defultValueCount.length) {
|
|
155
|
+
this.onSearchValue.emit(this._filterItems);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async _handleInitVlaue(e) {
|
|
159
|
+
let value = [];
|
|
160
|
+
let text = [];
|
|
161
|
+
if (e.property.editorOptions?.valueField && e.value != null) {
|
|
162
|
+
if (e.property.editorOptions.returnAllData) {
|
|
163
|
+
value = e.value;
|
|
164
|
+
text = await this._handleTextValue(e);
|
|
165
|
+
}
|
|
166
|
+
else if (e.property.editorOptions?.mode == 'multiple') {
|
|
167
|
+
e.value.forEach((element) => {
|
|
168
|
+
value.push(element[e.property.editorOptions.valueField]);
|
|
169
|
+
text.push(element[e.property.editorOptions.textField]);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
if (e.value.length) {
|
|
174
|
+
value = e.value[0][e.property.editorOptions.valueField];
|
|
175
|
+
text = e.value[0][e.property.editorOptions.textField];
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
value = e.value;
|
|
181
|
+
text = e.value;
|
|
182
|
+
}
|
|
183
|
+
const findEl = this._filterItemsClone.find((el) => el.name == e.property.name);
|
|
184
|
+
if (findEl) {
|
|
185
|
+
findEl.value = value;
|
|
186
|
+
findEl.textValue = e.property.editorClass === 'ax/editors/date' ? new AXDateTime(text, 'jalali').format('yyyy/MM/DD') : text.toString();
|
|
187
|
+
}
|
|
188
|
+
else if (e.value != null) {
|
|
189
|
+
this._filterItemsClone.push({
|
|
190
|
+
name: e.property.name,
|
|
191
|
+
field: e.property.field,
|
|
192
|
+
title: e.property.title,
|
|
193
|
+
value,
|
|
194
|
+
textValue: e.property.editorClass === 'ax/editors/date' ? new AXDateTime(text, 'jalali').format('yyyy/MM/DD') : text.toString(),
|
|
195
|
+
component: e,
|
|
196
|
+
filterOptions: {
|
|
197
|
+
filters: e.property?.filterOptions?.filters ? e.property.filterOptions.filters : [],
|
|
198
|
+
logic: e.property?.filterOptions?.logic ? e.property.filterOptions.logic : 'and',
|
|
199
|
+
ignoreCase: e.property?.filterOptions?.ignoreCase ? e.property.filterOptions.ignoreCase : true,
|
|
200
|
+
joinType: e.property?.filterOptions?.joinType ? e.property.filterOptions.joinType : 'INNER',
|
|
201
|
+
operator: e.property?.filterOptions?.operator ? e.property.filterOptions.operator : null,
|
|
202
|
+
truncateDate: e.property?.filterOptions?.truncateDate ? e.property.filterOptions.truncateDate : true
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
184
207
|
}
|
|
185
208
|
AXSearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
-
AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n
|
|
209
|
+
AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <ax-validation-form #form>\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"], components: [{ type: i1.AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: i2.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: i3.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i4.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i7.AXTranslatorPipe } });
|
|
187
210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, decorators: [{
|
|
188
211
|
type: Component,
|
|
189
|
-
args: [{ selector: 'ax-search-bar', template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n
|
|
212
|
+
args: [{ selector: 'ax-search-bar', template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <ax-validation-form #form>\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"] }]
|
|
190
213
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dropdown: [{
|
|
191
214
|
type: ViewChild,
|
|
192
215
|
args: ['dropdown', { static: true }]
|
|
@@ -209,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
209
232
|
}], onSearchValue: [{
|
|
210
233
|
type: Output
|
|
211
234
|
}] } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7QUFnQnBGLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsR0FBK0I7UUFBL0IsUUFBRyxHQUFILEdBQUcsQ0FBNEI7UUFLbkQsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFHM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQXNCMUIsUUFBRyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFHMUMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0RCxrQkFBYSxHQUF5QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpFLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FB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LEtBQUs7Z0JBb0JOLEdBQUc7c0JBREYsS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVydHlDb2xEZWYsIEFYUHJvcGVydHlDb25maWcsIEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQsIEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJUZXh0SXRlbXNNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IGFueTtcclxuICB0ZXh0VmFsdWU6IHN0cmluZztcclxuICBmaWx0ZXJPcHRpb25zPzogRmlsdGVyTW9kZWw7XHJcbiAgY29tcG9uZW50OiBBWFByb3BlcnR5Q29uZmlnO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXNlYXJjaC1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pIHt9XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93bjogQVhEcm9wZG93bkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkcmVuKEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZSkgX2VkaXRvcnM6IFF1ZXJ5TGlzdDxBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmU+O1xyXG4gIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpdGVtcyh2OiBBWFByb3BlcnR5Q29uZmlnW10pIHtcclxuICAgIHYuZm9yRWFjaCgoZWwpID0+IHtcclxuICAgICAgaWYgKGVsLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IGVsLnByb3BlcnR5Lm5hbWUsXHJcbiAgICAgICAgICB0aXRsZTogZWwucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMuaGFuZGxlVGV4dFZhbHVlKGVsKSxcclxuICAgICAgICAgIHZhbHVlOiBlbC52YWx1ZSxcclxuICAgICAgICAgIGNvbXBvbmVudDogZWxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9pdGVtcyA9IF8uY2hhaW4odilcclxuICAgICAgLmdyb3VwQnkoKHgpID0+IHgucHJvcGVydHkucm93KVxyXG4gICAgICAubWFwKCh2YWx1ZSwga2V5KSA9PiAoeyByb3c6IGtleSwgaXRlbXM6IHZhbHVlIH0pKVxyXG4gICAgICAudmFsdWUoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcnRsOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdsYXlvdXQucnRsJyk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8RmlsdGVyVGV4dEl0ZW1zTW9kZWxbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIF9pdGVtczogYW55W10gPSBbXTtcclxuICBfZmlsdGVySXRlbXM6IEZpbHRlclRleHRJdGVtc01vZGVsW10gPSBbXTtcclxuICBfZmlsdGVySXRlbXNDbG9uZTogRmlsdGVyVGV4dEl0ZW1zTW9kZWxbXSA9IFtdO1xyXG4gIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuXHJcbiAgcHVibGljIGNsZWFySXRlbShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2VkaXRvcnMuZmluZCgoeCkgPT4geC5wcm9wZXJ0eS5wcm9wZXJ0eS5uYW1lID09PSBuYW1lKS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9pdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5faXRlbXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQpIHtcclxuICAgIGxldCB2YWx1ZSA9IFtdO1xyXG4gICAgbGV0IHRleHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucz8udmFsdWVGaWVsZCAmJiBlLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucy5yZXR1cm5BbGxEYXRhKSB7XHJcbiAgICAgICAgdmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgICAgIHRleHQgPSBhd2FpdCB0aGlzLmhhbmRsZVRleHRWYWx1ZShlKTtcclxuICAgICAgfSBlbHNlIGlmIChlLnByb3BlcnR5LmVkaXRvck9wdGlvbnM/Lm1vZGUgPT0gJ211bHRpcGxlJykge1xyXG4gICAgICAgIGUudmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgdmFsdWUucHVzaChlbGVtZW50W2UucHJvcGVydHkuZWRpdG9yT3B0aW9ucy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgICB0ZXh0LnB1c2goZWxlbWVudFtlLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudGV4dEZpZWxkXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGUudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGUudmFsdWVbMF1bZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgdGV4dCA9IGUudmFsdWVbMF1bZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWx1ZSA9IGUudmFsdWU7XHJcbiAgICAgIHRleHQgPSBlLnZhbHVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmluZEVsID0gdGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maW5kKChlbCkgPT4gZWwubmFtZSA9PSBlLnByb3BlcnR5Lm5hbWUpO1xyXG4gICAgaWYgKGZpbmRFbCkge1xyXG4gICAgICBmaW5kRWwudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgZmluZEVsLnRleHRWYWx1ZSA9IHRleHQgPyB0ZXh0LnRvU3RyaW5nKCkgOiBudWxsO1xyXG4gICAgfSBlbHNlIGlmIChlLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZS5wdXNoKHtcclxuICAgICAgICBuYW1lOiBlLnByb3BlcnR5Lm5hbWUsXHJcbiAgICAgICAgdGl0bGU6IGUucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgdGV4dFZhbHVlOiB0ZXh0LnRvU3RyaW5nKCksXHJcbiAgICAgICAgY29tcG9uZW50OiBlLFxyXG4gICAgICAgIGZpbHRlck9wdGlvbnM6IHtcclxuICAgICAgICAgIGZpbHRlcnM6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/LmZpbHRlcnMgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMuZmlsdGVycyA6IFtdLFxyXG4gICAgICAgICAgbG9naWM6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/LmxvZ2ljID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLmxvZ2ljIDogJ2FuZCcsXHJcbiAgICAgICAgICBpZ25vcmVDYXNlOiBlLnByb3BlcnR5Py5maWx0ZXJPcHRpb25zPy5pZ25vcmVDYXNlID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLmlnbm9yZUNhc2UgOiB0cnVlLFxyXG4gICAgICAgICAgam9pblR5cGU6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/LmpvaW5UeXBlID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLmpvaW5UeXBlIDogJ0lOTkVSJyxcclxuICAgICAgICAgIG9wZXJhdG9yOiBlLnByb3BlcnR5Py5maWx0ZXJPcHRpb25zPy5vcGVyYXRvciA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy5vcGVyYXRvciA6IG51bGwsXHJcbiAgICAgICAgICB0cnVuY2F0ZURhdGU6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/LnRydW5jYXRlRGF0ZSA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy50cnVuY2F0ZURhdGUgOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW06IEZpbHRlclRleHRJdGVtc01vZGVsKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgaWYgKGUucHJvcGVydHkucHJvcGVydHkubmFtZSA9PSBpdGVtLm5hbWUpIHtcclxuICAgICAgICBlLmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSB0aGlzLl9maWx0ZXJJdGVtcy5maWx0ZXIoKGVsKSA9PiBlbC5uYW1lICE9IGl0ZW0ubmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCkge1xyXG4gICAgdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbigoYykgPT4ge1xyXG4gICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maWx0ZXIoKGVsKSA9PiBlbC52YWx1ZSAhPSBudWxsICYmIGVsLnZhbHVlICE9ICcnKSkpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQnV0dG9uQ2xpY2soKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLl9maWx0ZXJJdGVtcyk7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5fZWRpdG9ycy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgIGUuY2xlYXIoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSBbXTtcclxuICAgIHRoaXMuX2ZpbHRlckl0ZW1zQ2xvbmUgPSBbXTtcclxuICAgIHRoaXMuaGFuZGxlQnV0dG9uQ2xpY2soKTtcclxuICAgIHRoaXMub25TZWFyY2hWYWx1ZS5lbWl0KHRoaXMuX2ZpbHRlckl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlbmRlckNvbChlOiBudW1iZXIgfCBBWFByb3BlcnR5Q29sRGVmKSB7XHJcbiAgICBsZXQgY2xhc3NOYW1lOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgaWYgKHR5cGVvZiBlID09ICdudW1iZXInKSB7XHJcbiAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wtJHtlfWApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZSkge1xyXG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgICAgICBjYXNlICdsZyc6XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wtbGctJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnbWQnOlxyXG4gICAgICAgICAgICBjbGFzc05hbWUucHVzaChgY29sLW1kLSR7ZVtrZXldfWApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3NtJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC1zbS0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICd4cyc6XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wteHMtJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsYXNzTmFtZS50b1N0cmluZygpLnJlcGxhY2UoLywvLCAnICcpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dUaXRsZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JDbGFzcyAhPT0gJ2F4L2VkaXRvcnMvY2hlY2snKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLnRpdGxlICsgJzonO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dWYWx1ZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvY2hlY2snKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLnRpdGxlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGl0ZW0udGV4dFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIHByaXZhdGUgaGFuZGxlVGV4dFZhbHVlKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIGlmIChkYXRhSXRlbS52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgbGV0IHRleHQgPSAnJztcclxuICAgICAgZGF0YUl0ZW0udmFsdWUuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcclxuICAgICAgICB0ZXh0ICs9XHJcbiAgICAgICAgICBpbmRleCA9PT0gZGF0YUl0ZW0udmFsdWUubGVuZ3RoIC0gMVxyXG4gICAgICAgICAgICA/IGVsZW1lbnRbZGF0YUl0ZW0ucHJvcGVydHkuZWRpdG9yT3B0aW9ucy50ZXh0RmllbGRdXHJcbiAgICAgICAgICAgIDogZWxlbWVudFtkYXRhSXRlbS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF0gKyAnLCc7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGV4dDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGF4LWRyb3AtZG93biBbZml0UGFyZW50XT1cInRydWVcIiBbc2l6ZV09XCJzaXplXCIgW3Nob3dEcm9wRG93bkJ1dHRvbl09XCJmYWxzZVwiIGljb249XCJmYXIgZmEtc2xpZGVycy1oXCIgI2Ryb3Bkb3duXHJcbiAgICBtYXhIZWlnaHQ9XCJ1bnNldFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzdGFydD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXggY2hpcHMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9maWx0ZXJJdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwcy10ZXh0XCIgc3R5bGU9XCJkaXJlY3Rpb246cnRsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxiPnt7X2hhbmRsZVNob3dUaXRsZVNlbGVjdGVkKGl0ZW0pfX08L2I+IHt7X2hhbmRsZVNob3dWYWx1ZVNlbGVjdGVkKGl0ZW0pfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJoYW5kbGVJdGVtUmVtb3ZlQ2xpY2soaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS10aW1lcyBjbG9zZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgcGFuZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJveFwiPlxyXG4gICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1mb3JtICNmb3JtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfaXRlbXNcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb3Agb2YgaXRlbS5pdGVtc1wiIGNsYXNzPVwie3tyZW5kZXJDb2wocHJvcC5wcm9wZXJ0eS5jb2wpfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YXgtZm9ybS1ncm91cD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLnByb3BlcnR5LnZpc2libGUgIT0gZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57e3Byb3AucHJvcGVydHkudGl0bGV9fTwvYXgtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4LXByb3BlcnR5LWVkaXRvci1yZW5kZXJlciBbdmFsaWRhdGlvbkZvcm1dPVwiZm9ybVwiIFtwcm9wZXJ0eV09XCJwcm9wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJfY29udGV4dFwiIChvblZhbHVlQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC9heC1mb3JtLWdyb3VwPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIChjbGljayk9XCJzZWFyY2goKVwiPnt7J2NvbW1vbi5zZWFyY2gnIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gdHlwZT1cImJsYW5rIGRhbmdlclwiIChjbGljayk9XCJjbGVhcigpXCI+e3snZGF0YUdyaWQuY2xlYXJGaWx0ZXInIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbi1mb3JtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGVuZD5cclxuICAgICAgICA8YXgtYnV0dG9uIGVuZCBpY29uPVwiZmFyIGZhLXNsaWRlcnMtaCBpY29uXCIgdHlwZT1cImxpZ2h0IGJsYW5rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCI+e3snY29tbW9uLnNlYXJjaCcgfCB0cmFuc319PC9heC1idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvYXgtZHJvcC1kb3duPiJdfQ==
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUxRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBaUJwRixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLEdBQStCO1FBQS9CLFFBQUcsR0FBSCxHQUFHLENBQTRCO1FBS25ELFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUF3QjFCLFFBQUcsR0FBWSxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRzFDLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEQsa0JBQWEsR0FBeUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6RSxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ25C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Q0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztrSEFoTlUsb0JBQW9CO3NHQUFwQixvQkFBb0IseVZBSXBCLHlCQUF5Qiw4REFEdEIsaUNBQWlDLGdEQzNCakQsa3hFQTJDZTs0RkRuQkYsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7aUdBTWdCLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDVSxRQUFRO3NCQUF4RCxZQUFZO3VCQUFDLGlDQUFpQztnQkFDVCxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLHlCQUF5QjtnQkFFcEMsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBc0JOLEdBQUc7c0JBREYsS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcsIEFYRGF0ZVRpbWUgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVydHlDb2xEZWYsIEFYUHJvcGVydHlDb25maWcsIEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQsIEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJUZXh0SXRlbXNNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG4gIHRleHRWYWx1ZTogc3RyaW5nO1xyXG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJNb2RlbDtcclxuICBjb21wb25lbnQ6IEFYUHJvcGVydHlDb25maWc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtc2VhcmNoLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZWFyY2hCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pikge31cclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duOiBBWERyb3Bkb3duQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGRyZW4oQVhQcm9wZXJ0eUVkaXRvclJlbmRlcmVyRGlyZWN0aXZlKSBfZWRpdG9yczogUXVlcnlMaXN0PEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZT47XHJcbiAgQFZpZXdDaGlsZChBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50KSBmb3JtOiBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGl0ZW1zKHY6IEFYUHJvcGVydHlDb25maWdbXSkge1xyXG4gICAgdGhpcy5fZGVmdWx0VmFsdWVDb3VudCA9IHYuZmlsdGVyKCh4KSA9PiB4LnZhbHVlKTtcclxuICAgIHYuZm9yRWFjaCgoZWwpID0+IHtcclxuICAgICAgaWYgKGVsLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IGVsLnByb3BlcnR5Lm5hbWUsXHJcbiAgICAgICAgICB0aXRsZTogZWwucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgICBmaWVsZDogZWwucHJvcGVydHkuZmllbGQsXHJcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMuX2hhbmRsZVRleHRWYWx1ZShlbCksXHJcbiAgICAgICAgICB2YWx1ZTogZWwudmFsdWUgPyB0aGlzLl9oYW5kbGVEZWZ1bHRWbGF1ZShlbCkgOiBudWxsLFxyXG4gICAgICAgICAgY29tcG9uZW50OiBlbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2l0ZW1zID0gXy5jaGFpbih2KVxyXG4gICAgICAuZ3JvdXBCeSgoeCkgPT4geC5wcm9wZXJ0eS5yb3cpXHJcbiAgICAgIC5tYXAoKHZhbHVlLCBrZXkpID0+ICh7IHJvdzoga2V5LCBpdGVtczogdmFsdWUgfSkpXHJcbiAgICAgIC52YWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2VhcmNoVmFsdWU6IEV2ZW50RW1pdHRlcjxGaWx0ZXJUZXh0SXRlbXNNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgX2l0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIF9maWx0ZXJJdGVtczogRmlsdGVyVGV4dEl0ZW1zTW9kZWxbXSA9IFtdO1xyXG4gIF9maWx0ZXJJdGVtc0Nsb25lOiBGaWx0ZXJUZXh0SXRlbXNNb2RlbFtdID0gW107XHJcbiAgX2RlZnVsdFZhbHVlQ291bnQ6IGFueSA9IFtdO1xyXG4gIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuXHJcbiAgcHVibGljIGNsZWFySXRlbShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2VkaXRvcnMuZmluZCgoeCkgPT4geC5wcm9wZXJ0eS5wcm9wZXJ0eS5uYW1lID09PSBuYW1lKS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9pdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5faXRlbXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQpIHtcclxuICAgIGF3YWl0IHRoaXMuX2hhbmRsZUluaXRWbGF1ZShlKTtcclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW06IEZpbHRlclRleHRJdGVtc01vZGVsKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgaWYgKGUucHJvcGVydHkucHJvcGVydHkubmFtZSA9PSBpdGVtLm5hbWUpIHtcclxuICAgICAgICBlLmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSB0aGlzLl9maWx0ZXJJdGVtcy5maWx0ZXIoKGVsKSA9PiBlbC5uYW1lICE9IGl0ZW0ubmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCkge1xyXG4gICAgdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbigoYykgPT4ge1xyXG4gICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maWx0ZXIoKGVsKSA9PiBlbC52YWx1ZSAhPSBudWxsICYmIGVsLnZhbHVlICE9ICcnKSkpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQnV0dG9uQ2xpY2soKTtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoVmFsdWUuZW1pdCh0aGlzLl9maWx0ZXJJdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgZS5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IFtdO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZSA9IFtdO1xyXG4gICAgdGhpcy5oYW5kbGVCdXR0b25DbGljaygpO1xyXG4gICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ29sKGU6IG51bWJlciB8IEFYUHJvcGVydHlDb2xEZWYpIHtcclxuICAgIGxldCBjbGFzc05hbWU6IHN0cmluZ1tdID0gW107XHJcbiAgICBpZiAodHlwZW9mIGUgPT0gJ251bWJlcicpIHtcclxuICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC0ke2V9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBlKSB7XHJcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgIGNhc2UgJ2xnJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC1sZy0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdtZCc6XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wtbWQtJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnc20nOlxyXG4gICAgICAgICAgICBjbGFzc05hbWUucHVzaChgY29sLXNtLSR7ZVtrZXldfWApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3hzJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC14cy0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NOYW1lLnRvU3RyaW5nKCkucmVwbGFjZSgvLC9nLCAnICcpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dUaXRsZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLnRpdGxlKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLnRpdGxlICsgJzonO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dWYWx1ZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvY2hlY2snKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLmxhYmVsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGl0ZW0udGV4dFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG4gIHByaXZhdGUgX2hhbmRsZVRleHRWYWx1ZShkYXRhSXRlbTogYW55KSB7XHJcbiAgICBsZXQgdGV4dCA9ICcnO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YUl0ZW0udmFsdWUpKSB7XHJcbiAgICAgIGlmIChkYXRhSXRlbS52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICBkYXRhSXRlbS52YWx1ZS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgdGV4dCArPVxyXG4gICAgICAgICAgICBpbmRleCA9PT0gZGF0YUl0ZW0udmFsdWUubGVuZ3RoIC0gMVxyXG4gICAgICAgICAgICAgID8gZWxlbWVudFtkYXRhSXRlbS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF1cclxuICAgICAgICAgICAgICA6IGVsZW1lbnRbZGF0YUl0ZW0ucHJvcGVydHkuZWRpdG9yT3B0aW9ucy50ZXh0RmllbGRdICsgJywnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG4gICAgfSBlbHNlIGlmIChkYXRhSXRlbS5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvZGF0ZScpIHtcclxuICAgICAgaWYgKGRhdGFJdGVtLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGRhdGFJdGVtLnZhbHVlLCAnamFsYWxpJykuZm9ybWF0KCd5eXl5L01NL0REJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVEZWZ1bHRWbGF1ZShkYXRhSXRlbTogYW55KSB7XHJcbiAgICB0aGlzLl9oYW5kbGVJbml0VmxhdWUoZGF0YUl0ZW0pO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuX2ZpbHRlckl0ZW1zQ2xvbmUuZmlsdGVyKChlbCkgPT4gZWwudmFsdWUgIT0gbnVsbCAmJiBlbC52YWx1ZSAhPSAnJykpKTtcclxuICAgIGlmICh0aGlzLl9maWx0ZXJJdGVtcy5sZW5ndGggPT09IHRoaXMuX2RlZnVsdFZhbHVlQ291bnQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub25TZWFyY2hWYWx1ZS5lbWl0KHRoaXMuX2ZpbHRlckl0ZW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUluaXRWbGF1ZShlKSB7XHJcbiAgICBsZXQgdmFsdWUgPSBbXTtcclxuICAgIGxldCB0ZXh0OiBhbnkgPSBbXTtcclxuICAgIGlmIChlLnByb3BlcnR5LmVkaXRvck9wdGlvbnM/LnZhbHVlRmllbGQgJiYgZS52YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChlLnByb3BlcnR5LmVkaXRvck9wdGlvbnMucmV0dXJuQWxsRGF0YSkge1xyXG4gICAgICAgIHZhbHVlID0gZS52YWx1ZTtcclxuICAgICAgICB0ZXh0ID0gYXdhaXQgdGhpcy5faGFuZGxlVGV4dFZhbHVlKGUpO1xyXG4gICAgICB9IGVsc2UgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucz8ubW9kZSA9PSAnbXVsdGlwbGUnKSB7XHJcbiAgICAgICAgZS52YWx1ZS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZS5wdXNoKGVsZW1lbnRbZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnZhbHVlRmllbGRdKTtcclxuICAgICAgICAgIHRleHQucHVzaChlbGVtZW50W2UucHJvcGVydHkuZWRpdG9yT3B0aW9ucy50ZXh0RmllbGRdKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoZS52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgIHZhbHVlID0gZS52YWx1ZVswXVtlLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICB0ZXh0ID0gZS52YWx1ZVswXVtlLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudGV4dEZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhbHVlID0gZS52YWx1ZTtcclxuICAgICAgdGV4dCA9IGUudmFsdWU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaW5kRWwgPSB0aGlzLl9maWx0ZXJJdGVtc0Nsb25lLmZpbmQoKGVsKSA9PiBlbC5uYW1lID09IGUucHJvcGVydHkubmFtZSk7XHJcbiAgICBpZiAoZmluZEVsKSB7XHJcbiAgICAgIGZpbmRFbC52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICBmaW5kRWwudGV4dFZhbHVlID0gZS5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvZGF0ZScgPyBuZXcgQVhEYXRlVGltZSh0ZXh0LCAnamFsYWxpJykuZm9ybWF0KCd5eXl5L01NL0REJykgOiB0ZXh0LnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2UgaWYgKGUudmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9maWx0ZXJJdGVtc0Nsb25lLnB1c2goe1xyXG4gICAgICAgIG5hbWU6IGUucHJvcGVydHkubmFtZSxcclxuICAgICAgICBmaWVsZDogZS5wcm9wZXJ0eS5maWVsZCxcclxuICAgICAgICB0aXRsZTogZS5wcm9wZXJ0eS50aXRsZSxcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICB0ZXh0VmFsdWU6IGUucHJvcGVydHkuZWRpdG9yQ2xhc3MgPT09ICdheC9lZGl0b3JzL2RhdGUnID8gbmV3IEFYRGF0ZVRpbWUodGV4dCwgJ2phbGFsaScpLmZvcm1hdCgneXl5eS9NTS9ERCcpIDogdGV4dC50b1N0cmluZygpLFxyXG4gICAgICAgIGNvbXBvbmVudDogZSxcclxuICAgICAgICBmaWx0ZXJPcHRpb25zOiB7XHJcbiAgICAgICAgICBmaWx0ZXJzOiBlLnByb3BlcnR5Py5maWx0ZXJPcHRpb25zPy5maWx0ZXJzID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLmZpbHRlcnMgOiBbXSxcclxuICAgICAgICAgIGxvZ2ljOiBlLnByb3BlcnR5Py5maWx0ZXJPcHRpb25zPy5sb2dpYyA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy5sb2dpYyA6ICdhbmQnLFxyXG4gICAgICAgICAgaWdub3JlQ2FzZTogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8uaWdub3JlQ2FzZSA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy5pZ25vcmVDYXNlIDogdHJ1ZSxcclxuICAgICAgICAgIGpvaW5UeXBlOiBlLnByb3BlcnR5Py5maWx0ZXJPcHRpb25zPy5qb2luVHlwZSA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy5qb2luVHlwZSA6ICdJTk5FUicsXHJcbiAgICAgICAgICBvcGVyYXRvcjogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8ub3BlcmF0b3IgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMub3BlcmF0b3IgOiBudWxsLFxyXG4gICAgICAgICAgdHJ1bmNhdGVEYXRlOiBlLnByb3BlcnR5Py5maWx0ZXJPcHRpb25zPy50cnVuY2F0ZURhdGUgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMudHJ1bmNhdGVEYXRlIDogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxheC1kcm9wLWRvd24gW2ZpdFBhcmVudF09XCJ0cnVlXCIgW3NpemVdPVwic2l6ZVwiIFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIiBpY29uPVwiZmFyIGZhLXNsaWRlcnMtaFwiICNkcm9wZG93blxyXG4gICAgbWF4SGVpZ2h0PVwidW5zZXRcIj5cclxuICAgIDxuZy1jb250YWluZXIgc3RhcnQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4IGNoaXBzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfZmlsdGVySXRlbXNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtdGV4dFwiIHN0eWxlPVwiZGlyZWN0aW9uOnJ0bDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Yj57e19oYW5kbGVTaG93VGl0bGVTZWxlY3RlZChpdGVtKX19PC9iPiB7e19oYW5kbGVTaG93VmFsdWVTZWxlY3RlZChpdGVtKX19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIHBhbmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1ib3hcIj5cclxuICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tZm9ybSAjZm9ybT5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2l0ZW1zXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9wIG9mIGl0ZW0uaXRlbXNcIiBjbGFzcz1cInt7cmVuZGVyQ29sKHByb3AucHJvcGVydHkuY29sKX19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGF4LWZvcm0tZ3JvdXA+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcC5wcm9wZXJ0eS52aXNpYmxlICE9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3twcm9wLnByb3BlcnR5LnRpdGxlfX08L2F4LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBheC1wcm9wZXJ0eS1lZGl0b3ItcmVuZGVyZXIgW3ZhbGlkYXRpb25Gb3JtXT1cImZvcm1cIiBbcHJvcGVydHldPVwicHJvcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiX2NvbnRleHRcIiAob25WYWx1ZUNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvYXgtZm9ybS1ncm91cD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiAoY2xpY2spPVwic2VhcmNoKClcIj57eydjb21tb24uc2VhcmNoJyB8IHRyYW5zfX08L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIHR5cGU9XCJibGFuayBkYW5nZXJcIiAoY2xpY2spPVwiY2xlYXIoKVwiPnt7J2RhdGFHcmlkLmNsZWFyRmlsdGVyJyB8IHRyYW5zfX08L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24tZm9ybT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBlbmQ+XHJcbiAgICAgICAgPGF4LWJ1dHRvbiBlbmQgaWNvbj1cImZhciBmYS1zbGlkZXJzLWggaWNvblwiIHR5cGU9XCJsaWdodCBibGFua1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIiAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soKVwiPnt7J2NvbW1vbi5zZWFyY2gnIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG48L2F4LWRyb3AtZG93bj4iXX0=
|