igniteui-angular 13.2.2 → 13.2.5
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/directives/for-of/for_of.directive.mjs +2 -2
- package/esm2020/lib/grids/api.service.mjs +3 -4
- package/esm2020/lib/grids/columns/column-layout.component.mjs +3 -3
- package/esm2020/lib/grids/columns/column.component.mjs +4 -4
- package/esm2020/lib/grids/common/crud.service.mjs +3 -3
- package/esm2020/lib/grids/common/events.mjs +1 -1
- package/esm2020/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +2 -2
- package/esm2020/lib/grids/filtering/grid-filtering.service.mjs +7 -7
- package/esm2020/lib/grids/grid/grid.component.mjs +11 -11
- package/esm2020/lib/grids/grid-base.directive.mjs +84 -68
- package/esm2020/lib/grids/grid-mrl-navigation.service.mjs +2 -2
- package/esm2020/lib/grids/grid-public-row.mjs +3 -3
- package/esm2020/lib/grids/grouping/group-by-area.directive.mjs +2 -2
- package/esm2020/lib/grids/grouping/tree-grid-group-by-area.component.mjs +6 -6
- package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +4 -5
- package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +26 -14
- package/esm2020/lib/grids/hierarchical-grid/row-island.component.mjs +7 -11
- package/esm2020/lib/grids/pivot-grid/pivot-grid.component.mjs +22 -9
- package/esm2020/lib/grids/state.directive.mjs +9 -9
- package/esm2020/lib/grids/summaries/grid-summary.service.mjs +5 -5
- package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +27 -9
- package/esm2020/lib/services/exporter-common/base-export-service.mjs +3 -3
- package/esm2020/lib/splitter/splitter-pane/splitter-pane.component.mjs +61 -11
- package/esm2020/lib/splitter/splitter.component.mjs +20 -3
- package/fesm2015/igniteui-angular.mjs +294 -173
- package/fesm2015/igniteui-angular.mjs.map +1 -1
- package/fesm2020/igniteui-angular.mjs +292 -173
- package/fesm2020/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/themes/schemas/dark/_stepper.scss +6 -1
- package/lib/grids/common/events.d.ts +1 -0
- package/lib/grids/grid-base.directive.d.ts +7 -1
- package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
- package/lib/grids/hierarchical-grid/row-island.component.d.ts +1 -0
- package/lib/grids/pivot-grid/pivot-grid.component.d.ts +4 -0
- package/lib/grids/tree-grid/tree-grid.component.d.ts +2 -2
- package/lib/splitter/splitter-pane/splitter-pane.component.d.ts +19 -5
- package/migrations/update-13_0_0/changes/inputs.json +416 -1
- package/migrations/update-13_0_0/index.js +208 -0
- package/package.json +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
|
@@ -70,7 +70,7 @@ export class IgxGroupByAreaDirective {
|
|
|
70
70
|
const drag = event.detail.owner;
|
|
71
71
|
if (drag instanceof IgxColumnMovingDragDirective) {
|
|
72
72
|
const column = drag.column;
|
|
73
|
-
if (!this.grid.
|
|
73
|
+
if (!this.grid.columns.find(c => c === column)) {
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
const isGrouped = this.expressions.findIndex((item) => item.fieldName === column.field) !== -1;
|
|
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
155
155
|
type: Pipe,
|
|
156
156
|
args: [{ name: 'igxGroupByMeta' }]
|
|
157
157
|
}] });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnktYXJlYS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JvdXBpbmcvZ3JvdXAtYnktYXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUlKLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFL0U7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0IsdUJBQXVCO0lBd0V6QyxZQUFvQixHQUE0QixFQUFZLFFBQXNCO1FBQTlELFFBQUcsR0FBSCxHQUFHLENBQXlCO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBYztRQS9EM0UsWUFBTyxHQUFtQixjQUFjLENBQUMsV0FBVyxDQUFDO1FBR3JELGlCQUFZLEdBQUksSUFBSSxDQUFDO1FBNkNyQixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQVk3RCxpQkFBWSxHQUEwQixFQUFFLENBQUM7SUFHcUMsQ0FBQztJQTFEdkYsSUFDVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQ1csWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFNRDs7T0FFRztJQUNILElBQ1csV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsV0FBVyxDQUFDLEtBQTRCO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFXLGVBQWUsQ0FBQyxLQUFhO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQVVELDJEQUEyRDtJQUMzRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztJQUNsQyxDQUFDO0lBUUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDL0QsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEVBQVUsRUFBRSxLQUFvQjtRQUNqRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFO1lBQzFDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQUs7UUFDcEIsTUFBTSxJQUFJLEdBQWlDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzlELElBQUksSUFBSSxZQUFZLDRCQUE0QixFQUFFO1lBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsRUFBRTtnQkFDL0MsT0FBTzthQUNWO1lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9GLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3pFLE1BQU0sa0JBQWtCLEdBQUc7b0JBQ3ZCLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSztvQkFDdkIsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUc7b0JBQzVHLFVBQVUsRUFBRSxNQUFNLENBQUMsaUJBQWlCO29CQUNwQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVk7b0JBQzdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7aUJBQzVDLENBQUM7Z0JBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0o7SUFDTCxDQUFDO0lBRVMsdUJBQXVCLENBQUMsVUFBOEI7UUFDNUQsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRTFCLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV2RSxxRUFBcUU7WUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUU7Z0JBQ3ZELE9BQU87YUFDVjtZQUVELGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRVMsa0JBQWtCLENBQUMsRUFBVTtRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVTLGtCQUFrQjtJQUM1QixDQUFDOztvSEE3SWlCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHNiQTJEM0IsZ0JBQWdCOzJGQTNEWix1QkFBdUI7a0JBRDNDLFNBQVM7NEhBT0EsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixXQUFXO3VCQUFDLDBCQUEwQjtnQkFJNUIsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBTWxDLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsbUNBQW1DO2dCQU96QyxJQUFJO3NCQURWLEtBQUs7Z0JBT0ssV0FBVztzQkFEckIsS0FBSztnQkFpQkssZUFBZTtzQkFEekIsS0FBSztnQkFVQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBSUEsS0FBSztzQkFEWCxZQUFZO3VCQUFDLGdCQUFnQjs7QUE4RmxDOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFFcEIsU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUFjO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1RSxDQUFDOzsrR0FMUSxrQkFBa0I7NkdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUGlwZSxcclxuICAgIFBpcGVUcmFuc2Zvcm0sXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZHJlblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ2hpcHNBcmVhUmVvcmRlckV2ZW50QXJncywgSWd4Q2hpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NoaXBzL3B1YmxpY19hcGknO1xyXG5pbXBvcnQgeyBEaXNwbGF5RGVuc2l0eSB9IGZyb20gJy4uLy4uL2NvcmUvZGlzcGxheURlbnNpdHknO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybVV0aWwgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgSUdyb3VwaW5nRXhwcmVzc2lvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9ncm91cGluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XHJcbmltcG9ydCB7IEZsYXRHcmlkVHlwZSwgR3JpZFR5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJZ3hDb2x1bW5Nb3ZpbmdEcmFnRGlyZWN0aXZlIH0gZnJvbSAnLi4vbW92aW5nL21vdmluZy5kcmFnLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQW4gaW50ZXJuYWwgY29tcG9uZW50IHJlcHJlc2VudGluZyBhIGJhc2UgZ3JvdXAtYnkgZHJvcCBhcmVhLlxyXG4gKlxyXG4gKiBAaGlkZGVuIEBpbnRlcm5hbFxyXG4gKi9cclxuIEBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZHJvcCBhcmVhIHRlbXBsYXRlIGlmIHByb3ZpZGVkIGJ5IHRoZSBwYXJlbnQgZ3JpZC5cclxuICAgICAqIE90aGVyd2lzZSwgdXNlcyB0aGUgZGVmYXVsdCBpbnRlcm5hbCBvbmUuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZHJvcEFyZWFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkZW5zaXR5OiBEaXNwbGF5RGVuc2l0eSA9IERpc3BsYXlEZW5zaXR5LmNvbWZvcnRhYmxlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWdyaWQtZ3JvdXBhcmVhJylcclxuICAgIHB1YmxpYyBkZWZhdWx0Q2xhc3MgPSAgdHJ1ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1ncmlkLWdyb3VwYXJlYS0tY29zeScpXHJcbiAgICBwdWJsaWMgZ2V0IGNvc3lTdHlsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZW5zaXR5ID09PSAnY29zeSc7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZ3JpZC1ncm91cGFyZWEtLWNvbXBhY3QnKVxyXG4gICAgcHVibGljIGdldCBjb21wYWN0U3R5bGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVuc2l0eSA9PT0gJ2NvbXBhY3QnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBUaGUgcGFyZW50IGdyaWQgY29udGFpbmluZyB0aGUgY29tcG9uZW50LiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBncmlkOiBGbGF0R3JpZFR5cGUgfCBHcmlkVHlwZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBncm91cC1ieSBleHByZXNzaW9ucyBwcm92aWRlZCBieSB0aGUgcGFyZW50IGdyaWQuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGV4cHJlc3Npb25zKCk6IElHcm91cGluZ0V4cHJlc3Npb25bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cHJlc3Npb25zO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgZXhwcmVzc2lvbnModmFsdWU6IElHcm91cGluZ0V4cHJlc3Npb25bXSkge1xyXG4gICAgICAgIHRoaXMuX2V4cHJlc3Npb25zID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5jaGlwRXhwcmVzc2lvbnMgPSB0aGlzLl9leHByZXNzaW9ucztcclxuICAgICAgICB0aGlzLmV4cHJlc3Npb25zQ2hhbmdlZCgpO1xyXG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbnNDaGFuZ2UuZW1pdCh0aGlzLl9leHByZXNzaW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZGVmYXVsdCBtZXNzYWdlIGZvciB0aGUgZGVmYXVsdCBkcm9wIGFyZWEgdGVtcGxhdGUuXHJcbiAgICAgKiBPYnZpb3VzbHksIGlmIGFub3RoZXIgdGVtcGxhdGUgaXMgcHJvdmlkZWQsIHRoaXMgaXMgaWdub3JlZC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZHJvcEFyZWFNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Ryb3BBcmVhTWVzc2FnZSA/PyB0aGlzLmdyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX2dyb3VwQnlBcmVhX21lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBkcm9wQXJlYU1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2Ryb3BBcmVhTWVzc2FnZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGV4cHJlc3Npb25zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJR3JvdXBpbmdFeHByZXNzaW9uW10+KCk7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbihJZ3hDaGlwQ29tcG9uZW50KVxyXG4gICAgcHVibGljIGNoaXBzOiBRdWVyeUxpc3Q8SWd4Q2hpcENvbXBvbmVudD47XHJcblxyXG4gICAgcHVibGljIGNoaXBFeHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdO1xyXG5cclxuICAgIC8qKiBUaGUgbmF0aXZlIERPTSBlbGVtZW50LiBVc2VkIGluIHNpemluZyBjYWxjdWxhdGlvbnMuICovXHJcbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZXhwcmVzc2lvbnM6IElHcm91cGluZ0V4cHJlc3Npb25bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfZHJvcEFyZWFNZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtVXRpbCkgeyB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBnZXQgZHJvcEFyZWFWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5ncmlkLmNvbHVtbkluRHJhZyAmJiB0aGlzLmdyaWQuY29sdW1uSW5EcmFnLmdyb3VwYWJsZSkgfHxcclxuICAgICAgICAgICAgIXRoaXMuZXhwcmVzc2lvbnMubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVLZXlEb3duKGlkOiBzdHJpbmcsIGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMucGxhdGZvcm0uaXNBY3RpdmF0aW9uS2V5KGV2ZW50KSkge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdyb3VwU29ydGluZyhpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVDbGljayhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKGlkKS5ncm91cGFibGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZUdyb3VwU29ydGluZyhpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgIHB1YmxpYyBvbkRyYWdEcm9wKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgZHJhZzogSWd4Q29sdW1uTW92aW5nRHJhZ0RpcmVjdGl2ZSA9IGV2ZW50LmRldGFpbC5vd25lcjtcclxuICAgICAgICBpZiAoZHJhZyBpbnN0YW5jZW9mIElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gZHJhZy5jb2x1bW47XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmlkLmNvbHVtbkxpc3QuZmluZChjID0+IGMgPT09IGNvbHVtbikpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgaXNHcm91cGVkID0gdGhpcy5leHByZXNzaW9ucy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uZmllbGROYW1lID09PSBjb2x1bW4uZmllbGQpICE9PSAtMTtcclxuICAgICAgICAgICAgaWYgKGNvbHVtbi5ncm91cGFibGUgJiYgIWlzR3JvdXBlZCAmJiAhY29sdW1uLmNvbHVtbkdyb3VwICYmICEhY29sdW1uLmZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cGluZ0V4cHJlc3Npb24gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lOiBjb2x1bW4uZmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlyOiB0aGlzLmdyaWQuc29ydGluZ0V4cHJlc3Npb25zLmZpbmQoZXhwciA9PiBleHByLmZpZWxkTmFtZSA9PT0gY29sdW1uLmZpZWxkKT8uZGlyIHx8IFNvcnRpbmdEaXJlY3Rpb24uQXNjLFxyXG4gICAgICAgICAgICAgICAgICAgIGlnbm9yZUNhc2U6IGNvbHVtbi5zb3J0aW5nSWdub3JlQ2FzZSxcclxuICAgICAgICAgICAgICAgICAgICBzdHJhdGVneTogY29sdW1uLnNvcnRTdHJhdGVneSxcclxuICAgICAgICAgICAgICAgICAgICBncm91cGluZ0NvbXBhcmVyOiBjb2x1bW4uZ3JvdXBpbmdDb21wYXJlclxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwQnkoZ3JvdXBpbmdFeHByZXNzaW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0UmVvcmRlcmVkRXhwcmVzc2lvbnMoY2hpcHNBcnJheTogSWd4Q2hpcENvbXBvbmVudFtdKSB7XHJcbiAgICAgICAgY29uc3QgbmV3RXhwcmVzc2lvbnMgPSBbXTtcclxuXHJcbiAgICAgICAgY2hpcHNBcnJheS5mb3JFYWNoKGNoaXAgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBleHByID0gdGhpcy5leHByZXNzaW9ucy5maW5kKGl0ZW0gPT4gaXRlbS5maWVsZE5hbWUgPT09IGNoaXAuaWQpO1xyXG5cclxuICAgICAgICAgICAgLy8gZGlzYWxsb3cgY2hhbmdpbmcgb3JkZXIgaWYgdGhlcmUgYXJlIGNvbHVtbnMgd2l0aCBncm91cGFibGU6IGZhbHNlXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmlkLmdldENvbHVtbkJ5TmFtZShleHByLmZpZWxkTmFtZSk/Lmdyb3VwYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBuZXdFeHByZXNzaW9ucy5wdXNoKGV4cHIpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3RXhwcmVzc2lvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUdyb3VwU29ydGluZyhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgZXhwciA9IHRoaXMuZXhwcmVzc2lvbnMuZmluZChlID0+IGUuZmllbGROYW1lID09PSBpZCk7XHJcbiAgICAgICAgZXhwci5kaXIgPSAzIC0gZXhwci5kaXI7XHJcbiAgICAgICAgdGhpcy5ncmlkLnBpcGVUcmlnZ2VyKys7XHJcbiAgICAgICAgdGhpcy5ncmlkLm5vdGlmeUNoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZXhwcmVzc2lvbnNDaGFuZ2VkKCkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBoYW5kbGVSZW9yZGVyKGV2ZW50OiBJQ2hpcHNBcmVhUmVvcmRlckV2ZW50QXJncyk7XHJcblxyXG4gICAgcHVibGljIGFic3RyYWN0IGhhbmRsZU1vdmVFbmQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ3JvdXBCeShleHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uKTtcclxuXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgY2xlYXJHcm91cGluZyhuYW1lOiBzdHJpbmcpO1xyXG5cclxufVxyXG5cclxuLyoqXHJcbiAqIEEgcGlwZSB0byBjaXJjdW12ZW50IHRoZSB1c2Ugb2YgZ2V0dGVycy9tZXRob2RzIGp1c3QgdG8gZ2V0IHNvbWUgYWRkaXRpb25hbFxyXG4gKiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBncm91cGluZyBleHByZXNzaW9uIGFuZCBwYXNzIGl0IHRvIHRoZSBjaGlwIHJlcHJlc2VudGluZ1xyXG4gKiB0aGF0IGV4cHJlc3Npb24uXHJcbiAqXHJcbiAqIEBoaWRkZW4gQGludGVybmFsXHJcbiAqL1xyXG5AUGlwZSh7IG5hbWU6ICdpZ3hHcm91cEJ5TWV0YScgfSlcclxuZXhwb3J0IGNsYXNzIElneEdyb3VwQnlNZXRhUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oa2V5OiBzdHJpbmcsIGdyaWQ6IEdyaWRUeXBlKSB7XHJcbiAgICAgICAgY29uc3QgY29sdW1uID0gZ3JpZC5nZXRDb2x1bW5CeU5hbWUoa2V5KTtcclxuICAgICAgICByZXR1cm4geyBncm91cGFibGU6ICEhY29sdW1uPy5ncm91cGFibGUsIHRpdGxlOiBjb2x1bW4/LmhlYWRlciB8fCBrZXkgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnktYXJlYS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZ3JvdXBpbmcvZ3JvdXAtYnktYXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUlKLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFL0U7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0IsdUJBQXVCO0lBd0V6QyxZQUFvQixHQUE0QixFQUFZLFFBQXNCO1FBQTlELFFBQUcsR0FBSCxHQUFHLENBQXlCO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBYztRQS9EM0UsWUFBTyxHQUFtQixjQUFjLENBQUMsV0FBVyxDQUFDO1FBR3JELGlCQUFZLEdBQUksSUFBSSxDQUFDO1FBNkNyQixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQVk3RCxpQkFBWSxHQUEwQixFQUFFLENBQUM7SUFHcUMsQ0FBQztJQTFEdkYsSUFDVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQ1csWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFNRDs7T0FFRztJQUNILElBQ1csV0FB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SztnQkFJQyxZQUFZO3NCQURsQixXQUFXO3VCQUFDLDBCQUEwQjtnQkFJNUIsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBTWxDLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsbUNBQW1DO2dCQU96QyxJQUFJO3NCQURWLEtBQUs7Z0JBT0ssV0FBVztzQkFEckIsS0FBSztnQkFpQkssZUFBZTtzQkFEekIsS0FBSztnQkFVQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBSUEsS0FBSztzQkFEWCxZQUFZO3VCQUFDLGdCQUFnQjs7QUE4RmxDOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFFcEIsU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUFjO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1RSxDQUFDOzsrR0FMUSxrQkFBa0I7NkdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoaXBzQXJlYVJlb3JkZXJFdmVudEFyZ3MsIElneENoaXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGlwcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERpc3BsYXlEZW5zaXR5IH0gZnJvbSAnLi4vLi4vY29yZS9kaXNwbGF5RGVuc2l0eSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVV0aWwgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IEZsYXRHcmlkVHlwZSwgR3JpZFR5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWd4Q29sdW1uTW92aW5nRHJhZ0RpcmVjdGl2ZSB9IGZyb20gJy4uL21vdmluZy9tb3ZpbmcuZHJhZy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEFuIGludGVybmFsIGNvbXBvbmVudCByZXByZXNlbnRpbmcgYSBiYXNlIGdyb3VwLWJ5IGRyb3AgYXJlYS5cbiAqXG4gKiBAaGlkZGVuIEBpbnRlcm5hbFxuICovXG4gQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFRoZSBkcm9wIGFyZWEgdGVtcGxhdGUgaWYgcHJvdmlkZWQgYnkgdGhlIHBhcmVudCBncmlkLlxuICAgICAqIE90aGVyd2lzZSwgdXNlcyB0aGUgZGVmYXVsdCBpbnRlcm5hbCBvbmUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZHJvcEFyZWFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZW5zaXR5OiBEaXNwbGF5RGVuc2l0eSA9IERpc3BsYXlEZW5zaXR5LmNvbWZvcnRhYmxlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZ3JpZC1ncm91cGFyZWEnKVxuICAgIHB1YmxpYyBkZWZhdWx0Q2xhc3MgPSAgdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWdyaWQtZ3JvdXBhcmVhLS1jb3N5JylcbiAgICBwdWJsaWMgZ2V0IGNvc3lTdHlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVuc2l0eSA9PT0gJ2Nvc3knO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWdyaWQtZ3JvdXBhcmVhLS1jb21wYWN0JylcbiAgICBwdWJsaWMgZ2V0IGNvbXBhY3RTdHlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVuc2l0eSA9PT0gJ2NvbXBhY3QnO1xuICAgIH1cblxuICAgIC8qKiBUaGUgcGFyZW50IGdyaWQgY29udGFpbmluZyB0aGUgY29tcG9uZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdyaWQ6IEZsYXRHcmlkVHlwZSB8IEdyaWRUeXBlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdyb3VwLWJ5IGV4cHJlc3Npb25zIHByb3ZpZGVkIGJ5IHRoZSBwYXJlbnQgZ3JpZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZXhwcmVzc2lvbnMoKTogSUdyb3VwaW5nRXhwcmVzc2lvbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cHJlc3Npb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZXhwcmVzc2lvbnModmFsdWU6IElHcm91cGluZ0V4cHJlc3Npb25bXSkge1xuICAgICAgICB0aGlzLl9leHByZXNzaW9ucyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNoaXBFeHByZXNzaW9ucyA9IHRoaXMuX2V4cHJlc3Npb25zO1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25zQ2hhbmdlZCgpO1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25zQ2hhbmdlLmVtaXQodGhpcy5fZXhwcmVzc2lvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IG1lc3NhZ2UgZm9yIHRoZSBkZWZhdWx0IGRyb3AgYXJlYSB0ZW1wbGF0ZS5cbiAgICAgKiBPYnZpb3VzbHksIGlmIGFub3RoZXIgdGVtcGxhdGUgaXMgcHJvdmlkZWQsIHRoaXMgaXMgaWdub3JlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZHJvcEFyZWFNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcm9wQXJlYU1lc3NhZ2UgPz8gdGhpcy5ncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9ncm91cEJ5QXJlYV9tZXNzYWdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZHJvcEFyZWFNZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZHJvcEFyZWFNZXNzYWdlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGV4cHJlc3Npb25zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJR3JvdXBpbmdFeHByZXNzaW9uW10+KCk7XG5cbiAgICBAVmlld0NoaWxkcmVuKElneENoaXBDb21wb25lbnQpXG4gICAgcHVibGljIGNoaXBzOiBRdWVyeUxpc3Q8SWd4Q2hpcENvbXBvbmVudD47XG5cbiAgICBwdWJsaWMgY2hpcEV4cHJlc3Npb25zOiBJR3JvdXBpbmdFeHByZXNzaW9uW107XG5cbiAgICAvKiogVGhlIG5hdGl2ZSBET00gZWxlbWVudC4gVXNlZCBpbiBzaXppbmcgY2FsY3VsYXRpb25zLiAqL1xuICAgIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZXhwcmVzc2lvbnM6IElHcm91cGluZ0V4cHJlc3Npb25bXSA9IFtdO1xuICAgIHByaXZhdGUgX2Ryb3BBcmVhTWVzc2FnZTogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtVXRpbCkgeyB9XG5cblxuICAgIHB1YmxpYyBnZXQgZHJvcEFyZWFWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZ3JpZC5jb2x1bW5JbkRyYWcgJiYgdGhpcy5ncmlkLmNvbHVtbkluRHJhZy5ncm91cGFibGUpIHx8XG4gICAgICAgICAgICAhdGhpcy5leHByZXNzaW9ucy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUtleURvd24oaWQ6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucGxhdGZvcm0uaXNBY3RpdmF0aW9uS2V5KGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVHcm91cFNvcnRpbmcoaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNsaWNrKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKGlkKS5ncm91cGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUdyb3VwU29ydGluZyhpZCk7XG4gICAgfVxuXG4gICAgIHB1YmxpYyBvbkRyYWdEcm9wKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGRyYWc6IElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUgPSBldmVudC5kZXRhaWwub3duZXI7XG4gICAgICAgIGlmIChkcmFnIGluc3RhbmNlb2YgSWd4Q29sdW1uTW92aW5nRHJhZ0RpcmVjdGl2ZSkge1xuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gZHJhZy5jb2x1bW47XG4gICAgICAgICAgICBpZiAoIXRoaXMuZ3JpZC5jb2x1bW5zLmZpbmQoYyA9PiBjID09PSBjb2x1bW4pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpc0dyb3VwZWQgPSB0aGlzLmV4cHJlc3Npb25zLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5maWVsZE5hbWUgPT09IGNvbHVtbi5maWVsZCkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKGNvbHVtbi5ncm91cGFibGUgJiYgIWlzR3JvdXBlZCAmJiAhY29sdW1uLmNvbHVtbkdyb3VwICYmICEhY29sdW1uLmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXBpbmdFeHByZXNzaW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZE5hbWU6IGNvbHVtbi5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgZGlyOiB0aGlzLmdyaWQuc29ydGluZ0V4cHJlc3Npb25zLmZpbmQoZXhwciA9PiBleHByLmZpZWxkTmFtZSA9PT0gY29sdW1uLmZpZWxkKT8uZGlyIHx8IFNvcnRpbmdEaXJlY3Rpb24uQXNjLFxuICAgICAgICAgICAgICAgICAgICBpZ25vcmVDYXNlOiBjb2x1bW4uc29ydGluZ0lnbm9yZUNhc2UsXG4gICAgICAgICAgICAgICAgICAgIHN0cmF0ZWd5OiBjb2x1bW4uc29ydFN0cmF0ZWd5LFxuICAgICAgICAgICAgICAgICAgICBncm91cGluZ0NvbXBhcmVyOiBjb2x1bW4uZ3JvdXBpbmdDb21wYXJlclxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwQnkoZ3JvdXBpbmdFeHByZXNzaW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRSZW9yZGVyZWRFeHByZXNzaW9ucyhjaGlwc0FycmF5OiBJZ3hDaGlwQ29tcG9uZW50W10pIHtcbiAgICAgICAgY29uc3QgbmV3RXhwcmVzc2lvbnMgPSBbXTtcblxuICAgICAgICBjaGlwc0FycmF5LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBjb25zdCBleHByID0gdGhpcy5leHByZXNzaW9ucy5maW5kKGl0ZW0gPT4gaXRlbS5maWVsZE5hbWUgPT09IGNoaXAuaWQpO1xuXG4gICAgICAgICAgICAvLyBkaXNhbGxvdyBjaGFuZ2luZyBvcmRlciBpZiB0aGVyZSBhcmUgY29sdW1ucyB3aXRoIGdyb3VwYWJsZTogZmFsc2VcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmlkLmdldENvbHVtbkJ5TmFtZShleHByLmZpZWxkTmFtZSk/Lmdyb3VwYWJsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbmV3RXhwcmVzc2lvbnMucHVzaChleHByKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5ld0V4cHJlc3Npb25zO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVHcm91cFNvcnRpbmcoaWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBleHByID0gdGhpcy5leHByZXNzaW9ucy5maW5kKGUgPT4gZS5maWVsZE5hbWUgPT09IGlkKTtcbiAgICAgICAgZXhwci5kaXIgPSAzIC0gZXhwci5kaXI7XG4gICAgICAgIHRoaXMuZ3JpZC5waXBlVHJpZ2dlcisrO1xuICAgICAgICB0aGlzLmdyaWQubm90aWZ5Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBleHByZXNzaW9uc0NoYW5nZWQoKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGFic3RyYWN0IGhhbmRsZVJlb3JkZXIoZXZlbnQ6IElDaGlwc0FyZWFSZW9yZGVyRXZlbnRBcmdzKTtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBoYW5kbGVNb3ZlRW5kKCk7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ3JvdXBCeShleHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uKTtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBjbGVhckdyb3VwaW5nKG5hbWU6IHN0cmluZyk7XG5cbn1cblxuLyoqXG4gKiBBIHBpcGUgdG8gY2lyY3VtdmVudCB0aGUgdXNlIG9mIGdldHRlcnMvbWV0aG9kcyBqdXN0IHRvIGdldCBzb21lIGFkZGl0aW9uYWxcbiAqIGluZm9ybWF0aW9uIGZyb20gdGhlIGdyb3VwaW5nIGV4cHJlc3Npb24gYW5kIHBhc3MgaXQgdG8gdGhlIGNoaXAgcmVwcmVzZW50aW5nXG4gKiB0aGF0IGV4cHJlc3Npb24uXG4gKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoeyBuYW1lOiAnaWd4R3JvdXBCeU1ldGEnIH0pXG5leHBvcnQgY2xhc3MgSWd4R3JvdXBCeU1ldGFQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGtleTogc3RyaW5nLCBncmlkOiBHcmlkVHlwZSkge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSBncmlkLmdldENvbHVtbkJ5TmFtZShrZXkpO1xuICAgICAgICByZXR1cm4geyBncm91cGFibGU6ICEhY29sdW1uPy5ncm91cGFibGUsIHRpdGxlOiBjb2x1bW4/LmhlYWRlciB8fCBrZXkgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -28,13 +28,13 @@ export class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
28
28
|
return this._hideGroupedColumns;
|
|
29
29
|
}
|
|
30
30
|
set hideGroupedColumns(value) {
|
|
31
|
-
if (this.grid.
|
|
31
|
+
if (this.grid.columns && this.expressions) {
|
|
32
32
|
this.setColumnsVisibility(value);
|
|
33
33
|
}
|
|
34
34
|
this._hideGroupedColumns = value;
|
|
35
35
|
}
|
|
36
36
|
ngAfterContentInit() {
|
|
37
|
-
if (this.grid.
|
|
37
|
+
if (this.grid.columns && this.expressions) {
|
|
38
38
|
this.groupingDiffer = this.differs.find(this.expressions).create();
|
|
39
39
|
this.updateColumnsVisibility();
|
|
40
40
|
}
|
|
@@ -85,9 +85,9 @@ export class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
85
85
|
this.updateColumnsVisibility();
|
|
86
86
|
}
|
|
87
87
|
updateColumnsVisibility() {
|
|
88
|
-
if (this.groupingDiffer && this.grid.
|
|
88
|
+
if (this.groupingDiffer && this.grid.columns && !this.grid.hasColumnLayouts) {
|
|
89
89
|
const changes = this.groupingDiffer.diff(this.expressions);
|
|
90
|
-
if (changes && this.grid.
|
|
90
|
+
if (changes && this.grid.columns.length > 0) {
|
|
91
91
|
changes.forEachAddedItem((rec) => {
|
|
92
92
|
const col = this.grid.getColumnByName(rec.item.fieldName);
|
|
93
93
|
col.hidden = this.hideGroupedColumns;
|
|
@@ -100,7 +100,7 @@ export class IgxTreeGridGroupByAreaComponent extends IgxGroupByAreaDirective {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
setColumnsVisibility(value) {
|
|
103
|
-
if (this.grid.
|
|
103
|
+
if (this.grid.columns.length > 0 && !this.grid.hasColumnLayouts) {
|
|
104
104
|
this.expressions.forEach((expr) => {
|
|
105
105
|
const col = this.grid.getColumnByName(expr.fieldName);
|
|
106
106
|
col.hidden = value;
|
|
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
116
116
|
}], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.ElementRef }, { type: i1.PlatformUtil }]; }, propDecorators: { hideGroupedColumns: [{
|
|
117
117
|
type: Input
|
|
118
118
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLWdyb3VwLWJ5LWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2dyb3VwaW5nL3RyZWUtZ3JpZC1ncm91cC1ieS1hcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy9ncm91cGluZy9ncm91cC1ieS1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsS0FBSyxHQUlSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7OztBQUVwRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHVCQUF1QjtJQWtCeEUsWUFBb0IsT0FBd0IsRUFBRSxHQUE0QixFQUFFLFFBQXNCO1FBQzlGLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFETCxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUpwQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFNUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7SUFJdEMsQ0FBQztJQW5CRCxJQUNXLGtCQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0IsQ0FBQyxLQUFjO1FBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMxQyxJQUFJLENBQUMs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QUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3RELEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzs0SEE3R1EsK0JBQStCO2dIQUEvQiwrQkFBK0IsNEdBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLENBQUMsaURDekJuRyxndERBa0NBOzJGRFBhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDSSw2QkFBNkIsYUFFNUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLENBQUM7MEpBSXBGLGtCQUFrQjtzQkFENUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElDaGlwc0FyZWFSZW9yZGVyRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY2hpcHMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVV0aWwgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVNvcnRpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2dyb3VwLWJ5LWFyZWEuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCBjb21wb25lbnQgcmVwcmVzZW50aW5nIHRoZSBncm91cC1ieSBkcm9wIGFyZWEgZm9yIHRoZSBpZ3gtZ3JpZCBjb21wb25lbnQuXG4gKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtdHJlZS1ncmlkLWdyb3VwLWJ5LWFyZWEnLFxuICAgIHRlbXBsYXRlVXJsOiAnZ3JvdXAtYnktYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBJZ3hHcm91cEJ5QXJlYURpcmVjdGl2ZSwgdXNlRXhpc3Rpbmc6IElneFRyZWVHcmlkR3JvdXBCeUFyZWFDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4VHJlZUdyaWRHcm91cEJ5QXJlYUNvbXBvbmVudCBleHRlbmRzIElneEdyb3VwQnlBcmVhRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaGlkZUdyb3VwZWRDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZUdyb3VwZWRDb2x1bW5zO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaGlkZUdyb3VwZWRDb2x1bW5zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmdyaWQuY29sdW1uTGlzdCAmJiB0aGlzLmV4cHJlc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLnNldENvbHVtbnNWaXNpYmlsaXR5KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hpZGVHcm91cGVkQ29sdW1ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hpZGVHcm91cGVkQ29sdW1ucyA9IGZhbHNlO1xuICAgIHByaXZhdGUgZ3JvdXBpbmdEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPElHcm91cGluZ0V4cHJlc3Npb24+O1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycywgcmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcGxhdGZvcm06IFBsYXRmb3JtVXRpbCkge1xuICAgICAgICBzdXBlcihyZWYsIHBsYXRmb3JtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ncmlkLmNvbHVtbkxpc3QgJiYgdGhpcy5leHByZXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy5ncm91cGluZ0RpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMuZXhwcmVzc2lvbnMpLmNyZWF0ZSgpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zVmlzaWJpbGl0eSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ncmlkLnNvcnRpbmdFeHByZXNzaW9uc0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzb3J0aW5nRXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZXhwcmVzc2lvbnMgfHwgIXRoaXMuZXhwcmVzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBzb3J0aW5nRXhwcmVzc2lvbnMuZm9yRWFjaCgoc29ydEV4cHI6IElTb3J0aW5nRXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHNvcnRFeHByLmZpZWxkTmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cGluZ0V4cHIgPSB0aGlzLmV4cHJlc3Npb25zLmZpbmQoZXggPT4gZXguZmllbGROYW1lID09PSBmaWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChncm91cGluZ0V4cHIgJiYgZ3JvdXBpbmdFeHByLmRpciAhPT0gc29ydEV4cHIuZGlyKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nRXhwci5kaXIgPSBzb3J0RXhwci5kaXI7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMgPSBbLi4udGhpcy5leHByZXNzaW9uc107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZVJlb3JkZXIoZXZlbnQ6IElDaGlwc0FyZWFSZW9yZGVyRXZlbnRBcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY2hpcHNBcnJheSwgb3JpZ2luYWxFdmVudCB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IG5ld0V4cHJlc3Npb25zID0gdGhpcy5nZXRSZW9yZGVyZWRFeHByZXNzaW9ucyhjaGlwc0FycmF5KTtcblxuICAgICAgICB0aGlzLmNoaXBFeHByZXNzaW9ucyA9IG5ld0V4cHJlc3Npb25zO1xuXG4gICAgICAgIC8vIFdoZW4gcmVvcmRlcmVkIHVzaW5nIGtleWJvYXJkIG5hdmlnYXRpb24sIHdlIGRvbid0IGhhdmUgYG9uTW92ZUVuZGAgZXZlbnQuXG4gICAgICAgIGlmIChvcmlnaW5hbEV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IG5ld0V4cHJlc3Npb25zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZU1vdmVFbmQoKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbnMgPSB0aGlzLmNoaXBFeHByZXNzaW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ3JvdXBCeShleHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbnMucHVzaChleHByZXNzaW9uKTtcbiAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IFsuLi50aGlzLmV4cHJlc3Npb25zXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJHcm91cGluZyhuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IHRoaXMuZXhwcmVzc2lvbnMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5maWVsZE5hbWUgIT09IG5hbWUpO1xuICAgICAgICB0aGlzLmdyaWQuc29ydGluZ0V4cHJlc3Npb25zID0gdGhpcy5ncmlkLnNvcnRpbmdFeHByZXNzaW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmZpZWxkTmFtZSAhPT0gbmFtZSk7XG4gICAgICAgIHRoaXMuZ3JpZC5ub3RpZnlDaGFuZ2VzKHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBleHByZXNzaW9uc0NoYW5nZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29sdW1uc1Zpc2liaWxpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbHVtbnNWaXNpYmlsaXR5KCkge1xuICAgICAgICBpZiAodGhpcy5ncm91cGluZ0RpZmZlciAmJiB0aGlzLmdyaWQuY29sdW1uTGlzdCAmJiAhdGhpcy5ncmlkLmhhc0NvbHVtbkxheW91dHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmdyb3VwaW5nRGlmZmVyLmRpZmYodGhpcy5leHByZXNzaW9ucyk7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcyAmJiB0aGlzLmdyaWQuY29sdW1uTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlcy5mb3JFYWNoQWRkZWRJdGVtKChyZWMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sID0gdGhpcy5ncmlkLmdldENvbHVtbkJ5TmFtZShyZWMuaXRlbS5maWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb2wuaGlkZGVuID0gdGhpcy5oaWRlR3JvdXBlZENvbHVtbnM7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY2hhbmdlcy5mb3JFYWNoUmVtb3ZlZEl0ZW0oKHJlYykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKHJlYy5pdGVtLmZpZWxkTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbC5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29sdW1uc1Zpc2liaWxpdHkodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5jb2x1bW5MaXN0Lmxlbmd0aCA+IDAgJiYgIXRoaXMuZ3JpZC5oYXNDb2x1bW5MYXlvdXRzKSB7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLmZvckVhY2goKGV4cHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKGV4cHIuZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICBjb2wuaGlkZGVuID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGlneC1jaGlwcy1hcmVhIChyZW9yZGVyKT1cImhhbmRsZVJlb3JkZXIoJGV2ZW50KVwiIChtb3ZlRW5kKT1cImhhbmRsZU1vdmVFbmQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV4cHJlc3Npb24gb2YgY2hpcEV4cHJlc3Npb25zOyBsZXQgbGFzdCA9IGxhc3Q7XCI+XG4gICAgICAgIDxpZ3gtY2hpcFxuICAgICAgICAgICAgW2lkXT1cImV4cHJlc3Npb24uZmllbGROYW1lXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIoZXhwcmVzc2lvbi5maWVsZE5hbWUgfCBpZ3hHcm91cEJ5TWV0YTpncmlkKS50aXRsZVwiXG4gICAgICAgICAgICBbZGlzcGxheURlbnNpdHldPVwiZ3JpZC5kaXNwbGF5RGVuc2l0eVwiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cIihleHByZXNzaW9uLmZpZWxkTmFtZSB8IGlneEdyb3VwQnlNZXRhOmdyaWQpLmdyb3VwYWJsZVwiXG4gICAgICAgICAgICBbZHJhZ2dhYmxlXT1cIihleHByZXNzaW9uLmZpZWxkTmFtZSB8IGlneEdyb3VwQnlNZXRhOmdyaWQpLmdyb3VwYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShleHByZXNzaW9uLmZpZWxkTmFtZSB8IGlneEdyb3VwQnlNZXRhOmdyaWQpLmdyb3VwYWJsZVwiXG4gICAgICAgICAgICAoa2V5RG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudC5vd25lci5pZCwgJGV2ZW50Lm9yaWdpbmFsRXZlbnQpXCJcbiAgICAgICAgICAgIChyZW1vdmUpPVwiY2xlYXJHcm91cGluZygkZXZlbnQub3duZXIuaWQpXCJcbiAgICAgICAgICAgIChjaGlwQ2xpY2spPVwiaGFuZGxlQ2xpY2soZXhwcmVzc2lvbi5maWVsZE5hbWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgKGV4cHJlc3Npb24uZmllbGROYW1lIHwgaWd4R3JvdXBCeU1ldGE6Z3JpZCkudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8aWd4LWljb24gaWd4U3VmZml4Pnt7IGV4cHJlc3Npb24uZGlyID09PSAxID8gJ2Fycm93X3Vwd2FyZCcgOiAnYXJyb3dfZG93bndhcmQnIH19PC9pZ3gtaWNvbj5cbiAgICAgICAgPC9pZ3gtY2hpcD5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImlneC1ncmlkLWdyb3VwYXJlYV9fY29ubmVjdG9yXCI+XG4gICAgICAgICAgICA8aWd4LWljb24gW2hpZGRlbl09XCIobGFzdCAmJiAhZHJvcEFyZWFWaXNpYmxlKVwiPmFycm93X2ZvcndhcmQ8L2lneC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBpZ3hHcm91cEFyZWFEcm9wIGNsYXNzPVwiaWd4LWRyb3AtYXJlYXt7IGRlbnNpdHkgIT09ICdjb21mb3J0YWJsZScgPyAnLS0nICsgZGVuc2l0eSA6ICcnfX1cIlxuICAgICAgICBbYXR0ci5ncmlkSWRdPVwiZ3JpZC5pZFwiXG4gICAgICAgIFtoaWRkZW5dPVwiIWRyb3BBcmVhVmlzaWJsZVwiXG4gICAgICAgIChpZ3hEcm9wKT1cIm9uRHJhZ0Ryb3AoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcEFyZWFUZW1wbGF0ZSB8fCBkZWZhdWx0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2lneC1jaGlwcy1hcmVhPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgPGlneC1pY29uIGNsYXNzPVwiaWd4LWRyb3AtYXJlYV9faWNvblwiPmdyb3VwX3dvcms8L2lneC1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiaWd4LWRyb3AtYXJlYV9fdGV4dFwiPnt7IGRyb3BBcmVhTWVzc2FnZSB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLWdyb3VwLWJ5LWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2dyb3VwaW5nL3RyZWUtZ3JpZC1ncm91cC1ieS1hcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy9ncm91cGluZy9ncm91cC1ieS1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsS0FBSyxHQUlSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7OztBQUVwRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHVCQUF1QjtJQWtCeEUsWUFBb0IsT0FBd0IsRUFBRSxHQUE0QixFQUFFLFFBQXNCO1FBQzlGLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFETCxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUpwQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFNUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7SUFJdEMsQ0FBQztJQW5CRCxJQUNXLGtCQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0IsQ0FBQyxLQUFjO1FBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN2QyxJQUFJLENBQUMs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QUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3RELEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzs0SEE3R1EsK0JBQStCO2dIQUEvQiwrQkFBK0IsNEdBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLENBQUMsaURDekJuRyxndERBa0NBOzJGRFBhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDSSw2QkFBNkIsYUFFNUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLENBQUM7MEpBSXBGLGtCQUFrQjtzQkFENUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElDaGlwc0FyZWFSZW9yZGVyRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY2hpcHMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVV0aWwgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVNvcnRpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2dyb3VwLWJ5LWFyZWEuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCBjb21wb25lbnQgcmVwcmVzZW50aW5nIHRoZSBncm91cC1ieSBkcm9wIGFyZWEgZm9yIHRoZSBpZ3gtZ3JpZCBjb21wb25lbnQuXG4gKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtdHJlZS1ncmlkLWdyb3VwLWJ5LWFyZWEnLFxuICAgIHRlbXBsYXRlVXJsOiAnZ3JvdXAtYnktYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBJZ3hHcm91cEJ5QXJlYURpcmVjdGl2ZSwgdXNlRXhpc3Rpbmc6IElneFRyZWVHcmlkR3JvdXBCeUFyZWFDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4VHJlZUdyaWRHcm91cEJ5QXJlYUNvbXBvbmVudCBleHRlbmRzIElneEdyb3VwQnlBcmVhRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaGlkZUdyb3VwZWRDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZUdyb3VwZWRDb2x1bW5zO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaGlkZUdyb3VwZWRDb2x1bW5zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmdyaWQuY29sdW1ucyAmJiB0aGlzLmV4cHJlc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLnNldENvbHVtbnNWaXNpYmlsaXR5KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hpZGVHcm91cGVkQ29sdW1ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hpZGVHcm91cGVkQ29sdW1ucyA9IGZhbHNlO1xuICAgIHByaXZhdGUgZ3JvdXBpbmdEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPElHcm91cGluZ0V4cHJlc3Npb24+O1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycywgcmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcGxhdGZvcm06IFBsYXRmb3JtVXRpbCkge1xuICAgICAgICBzdXBlcihyZWYsIHBsYXRmb3JtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ncmlkLmNvbHVtbnMgJiYgdGhpcy5leHByZXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy5ncm91cGluZ0RpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMuZXhwcmVzc2lvbnMpLmNyZWF0ZSgpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zVmlzaWJpbGl0eSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ncmlkLnNvcnRpbmdFeHByZXNzaW9uc0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzb3J0aW5nRXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZXhwcmVzc2lvbnMgfHwgIXRoaXMuZXhwcmVzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBzb3J0aW5nRXhwcmVzc2lvbnMuZm9yRWFjaCgoc29ydEV4cHI6IElTb3J0aW5nRXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHNvcnRFeHByLmZpZWxkTmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cGluZ0V4cHIgPSB0aGlzLmV4cHJlc3Npb25zLmZpbmQoZXggPT4gZXguZmllbGROYW1lID09PSBmaWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChncm91cGluZ0V4cHIgJiYgZ3JvdXBpbmdFeHByLmRpciAhPT0gc29ydEV4cHIuZGlyKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nRXhwci5kaXIgPSBzb3J0RXhwci5kaXI7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMgPSBbLi4udGhpcy5leHByZXNzaW9uc107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZVJlb3JkZXIoZXZlbnQ6IElDaGlwc0FyZWFSZW9yZGVyRXZlbnRBcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY2hpcHNBcnJheSwgb3JpZ2luYWxFdmVudCB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IG5ld0V4cHJlc3Npb25zID0gdGhpcy5nZXRSZW9yZGVyZWRFeHByZXNzaW9ucyhjaGlwc0FycmF5KTtcblxuICAgICAgICB0aGlzLmNoaXBFeHByZXNzaW9ucyA9IG5ld0V4cHJlc3Npb25zO1xuXG4gICAgICAgIC8vIFdoZW4gcmVvcmRlcmVkIHVzaW5nIGtleWJvYXJkIG5hdmlnYXRpb24sIHdlIGRvbid0IGhhdmUgYG9uTW92ZUVuZGAgZXZlbnQuXG4gICAgICAgIGlmIChvcmlnaW5hbEV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IG5ld0V4cHJlc3Npb25zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZU1vdmVFbmQoKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbnMgPSB0aGlzLmNoaXBFeHByZXNzaW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ3JvdXBCeShleHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbnMucHVzaChleHByZXNzaW9uKTtcbiAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IFsuLi50aGlzLmV4cHJlc3Npb25zXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJHcm91cGluZyhuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IHRoaXMuZXhwcmVzc2lvbnMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5maWVsZE5hbWUgIT09IG5hbWUpO1xuICAgICAgICB0aGlzLmdyaWQuc29ydGluZ0V4cHJlc3Npb25zID0gdGhpcy5ncmlkLnNvcnRpbmdFeHByZXNzaW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmZpZWxkTmFtZSAhPT0gbmFtZSk7XG4gICAgICAgIHRoaXMuZ3JpZC5ub3RpZnlDaGFuZ2VzKHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBleHByZXNzaW9uc0NoYW5nZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29sdW1uc1Zpc2liaWxpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbHVtbnNWaXNpYmlsaXR5KCkge1xuICAgICAgICBpZiAodGhpcy5ncm91cGluZ0RpZmZlciAmJiB0aGlzLmdyaWQuY29sdW1ucyAmJiAhdGhpcy5ncmlkLmhhc0NvbHVtbkxheW91dHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmdyb3VwaW5nRGlmZmVyLmRpZmYodGhpcy5leHByZXNzaW9ucyk7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcyAmJiB0aGlzLmdyaWQuY29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlcy5mb3JFYWNoQWRkZWRJdGVtKChyZWMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sID0gdGhpcy5ncmlkLmdldENvbHVtbkJ5TmFtZShyZWMuaXRlbS5maWVsZE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb2wuaGlkZGVuID0gdGhpcy5oaWRlR3JvdXBlZENvbHVtbnM7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY2hhbmdlcy5mb3JFYWNoUmVtb3ZlZEl0ZW0oKHJlYykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKHJlYy5pdGVtLmZpZWxkTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbC5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29sdW1uc1Zpc2liaWxpdHkodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5jb2x1bW5zLmxlbmd0aCA+IDAgJiYgIXRoaXMuZ3JpZC5oYXNDb2x1bW5MYXlvdXRzKSB7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLmZvckVhY2goKGV4cHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKGV4cHIuZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICBjb2wuaGlkZGVuID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGlneC1jaGlwcy1hcmVhIChyZW9yZGVyKT1cImhhbmRsZVJlb3JkZXIoJGV2ZW50KVwiIChtb3ZlRW5kKT1cImhhbmRsZU1vdmVFbmQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV4cHJlc3Npb24gb2YgY2hpcEV4cHJlc3Npb25zOyBsZXQgbGFzdCA9IGxhc3Q7XCI+XG4gICAgICAgIDxpZ3gtY2hpcFxuICAgICAgICAgICAgW2lkXT1cImV4cHJlc3Npb24uZmllbGROYW1lXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIoZXhwcmVzc2lvbi5maWVsZE5hbWUgfCBpZ3hHcm91cEJ5TWV0YTpncmlkKS50aXRsZVwiXG4gICAgICAgICAgICBbZGlzcGxheURlbnNpdHldPVwiZ3JpZC5kaXNwbGF5RGVuc2l0eVwiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cIihleHByZXNzaW9uLmZpZWxkTmFtZSB8IGlneEdyb3VwQnlNZXRhOmdyaWQpLmdyb3VwYWJsZVwiXG4gICAgICAgICAgICBbZHJhZ2dhYmxlXT1cIihleHByZXNzaW9uLmZpZWxkTmFtZSB8IGlneEdyb3VwQnlNZXRhOmdyaWQpLmdyb3VwYWJsZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShleHByZXNzaW9uLmZpZWxkTmFtZSB8IGlneEdyb3VwQnlNZXRhOmdyaWQpLmdyb3VwYWJsZVwiXG4gICAgICAgICAgICAoa2V5RG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudC5vd25lci5pZCwgJGV2ZW50Lm9yaWdpbmFsRXZlbnQpXCJcbiAgICAgICAgICAgIChyZW1vdmUpPVwiY2xlYXJHcm91cGluZygkZXZlbnQub3duZXIuaWQpXCJcbiAgICAgICAgICAgIChjaGlwQ2xpY2spPVwiaGFuZGxlQ2xpY2soZXhwcmVzc2lvbi5maWVsZE5hbWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgKGV4cHJlc3Npb24uZmllbGROYW1lIHwgaWd4R3JvdXBCeU1ldGE6Z3JpZCkudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8aWd4LWljb24gaWd4U3VmZml4Pnt7IGV4cHJlc3Npb24uZGlyID09PSAxID8gJ2Fycm93X3Vwd2FyZCcgOiAnYXJyb3dfZG93bndhcmQnIH19PC9pZ3gtaWNvbj5cbiAgICAgICAgPC9pZ3gtY2hpcD5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImlneC1ncmlkLWdyb3VwYXJlYV9fY29ubmVjdG9yXCI+XG4gICAgICAgICAgICA8aWd4LWljb24gW2hpZGRlbl09XCIobGFzdCAmJiAhZHJvcEFyZWFWaXNpYmxlKVwiPmFycm93X2ZvcndhcmQ8L2lneC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBpZ3hHcm91cEFyZWFEcm9wIGNsYXNzPVwiaWd4LWRyb3AtYXJlYXt7IGRlbnNpdHkgIT09ICdjb21mb3J0YWJsZScgPyAnLS0nICsgZGVuc2l0eSA6ICcnfX1cIlxuICAgICAgICBbYXR0ci5ncmlkSWRdPVwiZ3JpZC5pZFwiXG4gICAgICAgIFtoaWRkZW5dPVwiIWRyb3BBcmVhVmlzaWJsZVwiXG4gICAgICAgIChpZ3hEcm9wKT1cIm9uRHJhZ0Ryb3AoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcEFyZWFUZW1wbGF0ZSB8fCBkZWZhdWx0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2lneC1jaGlwcy1hcmVhPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgPGlneC1pY29uIGNsYXNzPVwiaWd4LWRyb3AtYXJlYV9faWNvblwiPmdyb3VwX3dvcms8L2lneC1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiaWd4LWRyb3AtYXJlYV9fdGV4dFwiPnt7IGRyb3BBcmVhTWVzc2FnZSB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -68,7 +68,7 @@ export class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirective {
|
|
|
68
68
|
*/
|
|
69
69
|
get maxLevelHeaderDepth() {
|
|
70
70
|
if (this._maxLevelHeaderDepth === null) {
|
|
71
|
-
this._maxLevelHeaderDepth = this.
|
|
71
|
+
this._maxLevelHeaderDepth = this.columns.reduce((acc, col) => Math.max(acc, col.level), 0);
|
|
72
72
|
}
|
|
73
73
|
return this._maxLevelHeaderDepth;
|
|
74
74
|
}
|
|
@@ -111,13 +111,12 @@ export class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirective {
|
|
|
111
111
|
columns.push(ref.instance);
|
|
112
112
|
});
|
|
113
113
|
const result = flatten(columns);
|
|
114
|
-
this.
|
|
115
|
-
this.columnList.notifyOnChanges();
|
|
114
|
+
this.updateColumns(result);
|
|
116
115
|
this.initPinning();
|
|
117
116
|
const factoryColumn = this.resolver.resolveComponentFactory(IgxColumnComponent);
|
|
118
117
|
const outputs = factoryColumn.outputs.filter(o => o.propName !== 'columnChange');
|
|
119
118
|
outputs.forEach(output => {
|
|
120
|
-
this.
|
|
119
|
+
this.columns.forEach(column => {
|
|
121
120
|
if (column[output.propName]) {
|
|
122
121
|
column[output.propName].pipe(takeUntil(column.destroy$)).subscribe((args) => {
|
|
123
122
|
const rowIslandColumn = this.parentIsland.childColumns.find(col => col.field === column.field);
|
|
@@ -227,4 +226,4 @@ const flatten = (arr) => {
|
|
|
227
226
|
});
|
|
228
227
|
return result;
|
|
229
228
|
};
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpY2FsLWdyaWQtYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvaGllcmFyY2hpY2FsLWdyaWQvaGllcmFyY2hpY2FsLWdyaWQtYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxTQUFTLEVBR1QsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTlELE9BQU8sRUFBMEIsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLM0MsT0FBTyxFQUFZLHFCQUFxQixFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFckQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxx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LFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7NENBN0duQyxjQUFjO3NCQURwQixLQUFLO2dCQWVDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBYUMsV0FBVztzQkFEakIsTUFBTTtnQkFRQSxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBNkwzRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFO0lBQzNCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIExPQ0FMRV9JRCxcbiAgICBOZ01vZHVsZVJlZixcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4R3JpZEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9ncmlkLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEhpZXJhcmNoaWNhbEdyaWRBUElTZXJ2aWNlIH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtZ3JpZC1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hSb3dJc2xhbmRDb21wb25lbnQgfSBmcm9tICcuL3Jvdy1pc2xhbmQuY29tcG9uZW50JztcbmltcG9ydCB7IElneEZpbHRlcmluZ1NlcnZpY2UgfSBmcm9tICcuLi9maWx0ZXJpbmcvZ3JpZC1maWx0ZXJpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJRGlzcGxheURlbnNpdHlPcHRpb25zLCBEaXNwbGF5RGVuc2l0eVRva2VuIH0gZnJvbSAnLi4vLi4vY29yZS9kaXNwbGF5RGVuc2l0eSc7XG5pbXBvcnQgeyBJZ3hTdW1tYXJ5T3BlcmFuZCB9IGZyb20gJy4uL3N1bW1hcmllcy9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWd4SGllcmFyY2hpY2FsR3JpZE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtZ3JpZC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWd4R3JpZFN1bW1hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyaWVzL2dyaWQtc3VtbWFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IElneEdyaWRTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IElneENvbHVtblJlc2l6aW5nU2VydmljZSB9IGZyb20gJy4uL3Jlc2l6aW5nL3Jlc2l6aW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFR5cGUsIElHWF9HUklEX1NFUlZJQ0VfQkFTRSwgSVBhdGhTZWdtZW50IH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneENvbHVtbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1ucy9jb2x1bW4tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IElneENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRm9yT2ZTdGF0ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGxhdGZvcm1VdGlsIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hGbGF0VHJhbnNhY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IElneFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL2lneC10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJZ3hPdmVybGF5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL292ZXJsYXkvb3ZlcmxheSc7XG5pbXBvcnQgeyBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IElneEdyaWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBoaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2VGYWN0b3J5ID0gKCkgPT4gbmV3IElneFRyYW5zYWN0aW9uU2VydmljZSgpO1xuXG5leHBvcnQgY29uc3QgSWd4SGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlRmFjdG9yeSA9IHtcbiAgICBwcm92aWRlOiBJZ3hHcmlkVHJhbnNhY3Rpb24sXG4gICAgdXNlRmFjdG9yeTogaGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlRmFjdG9yeVxufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWd4SGllcmFyY2hpY2FsR3JpZEJhc2VEaXJlY3RpdmUgZXh0ZW5kcyBJZ3hHcmlkQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEdyaWRUeXBlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIGtleSBpbmRpY2F0aW5nIHdoZXRoZXIgYSByb3cgaGFzIGNoaWxkcmVuLiBJZiByb3cgaGFzIG5vIGNoaWxkcmVuIGl0IGRvZXMgbm90IHJlbmRlciBhbiBleHBhbmQgaW5kaWNhdG9yLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1oaWVyYXJjaGljYWwtZ3JpZCAjZ3JpZCBbZGF0YV09XCJsb2NhbERhdGFcIiBbaGFzQ2hpbGRyZW5LZXldPVwiJ2hhc0VtcGxveWVlcydcIj5cbiAgICAgKiA8L2lneC1oaWVyYXJjaGljYWwtZ3JpZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoYXNDaGlsZHJlbktleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIHdoZXRoZXIgdGhlIGV4cGFuZC9jb2xsYXBzZSBhbGwgYnV0dG9uIGluIHRoZSBoZWFkZXIgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgICAqXG4gICAgICogQHJlbWFya1xuICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtaGllcmFyY2hpY2FsLWdyaWQgI2dyaWQgW2RhdGFdPVwibG9jYWxEYXRhXCIgW3Nob3dFeHBhbmRBbGxdPVwidHJ1ZVwiPlxuICAgICAqIDwvaWd4LWhpZXJhcmNoaWNhbC1ncmlkPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dFeHBhbmRBbGwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhIG5ldyBjaHVuayBvZiBkYXRhIGlzIGxvYWRlZCBmcm9tIHZpcnR1YWxpemF0aW9uLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIDxpZ3gtaGllcmFyY2hpY2FsLWdyaWQgW2lkXT1cIidpZ3gtZ3JpZC0xJ1wiIFtkYXRhXT1cIkRhdGFcIiBbYXV0b0dlbmVyYXRlXT1cInRydWVcIiAoZGF0YVByZUxvYWQpPVwiaGFuZGxlRXZlbnQoKVwiPlxuICAgICAqICA8L2lneC1oaWVyYXJjaGljYWwtZ3JpZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGF0YVByZUxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPElGb3JPZlN0YXRlPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2RyYWdJbmRpY2F0b3JJY29uQmFzZScsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkcmFnSW5kaWNhdG9ySWNvbkJhc2U6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBtYXhMZXZlbEhlYWRlckRlcHRoKCkge1xuICAgICAgICBpZiAodGhpcy5fbWF4TGV2ZWxIZWFkZXJEZXB0aCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fbWF4TGV2ZWxIZWFkZXJEZXB0aCA9IHRoaXMuY29sdW1uTGlzdC5yZWR1Y2UoKGFjYywgY29sKSA9PiBNYXRoLm1heChhY2MsIGNvbC5sZXZlbCksIDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhMZXZlbEhlYWRlckRlcHRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG91dGxldCB1c2VkIHRvIGF0dGFjaCB0aGUgZ3JpZCdzIG92ZXJsYXlzIHRvLlxuICAgICAqXG4gICAgICogQHJlbWFya1xuICAgICAqIElmIHNldCwgcmV0dXJucyB0aGUgb3V0bGV0IGRlZmluZWQgb3V0c2lkZSB0aGUgZ3JpZC4gT3RoZXJ3aXNlIHJldHVybnMgdGhlIGdyaWQncyBpbnRlcm5hbCBvdXRsZXQgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgb3V0bGV0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yb290R3JpZCA/IHRoaXMucm9vdEdyaWQucmVzb2x2ZU91dGxldCgpIDogdGhpcy5yZXNvbHZlT3V0bGV0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgb3V0bGV0IHVzZWQgdG8gYXR0YWNoIHRoZSBncmlkJ3Mgb3ZlcmxheXMgdG8uXG4gICAgICovXG4gICAgcHVibGljIHNldCBvdXRsZXQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fdXNlck91dGxldERpcmVjdGl2ZSA9IHZhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgYmF0Y2hFZGl0aW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwdWJsaWMgZ2V0IGJhdGNoRWRpdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhdGNoRWRpdGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGJhdGNoRWRpdGluZyh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5fYmF0Y2hFZGl0aW5nKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fdHJhbnNhY3Rpb25zO1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hUcmFuc2FjdGlvblNlcnZpY2UodmFsKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2FjdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYmF0Y2hFZGl0aW5nQ2hhbmdlLmVtaXQodmFsKTtcbiAgICAgICAgICAgIHRoaXMuX2JhdGNoRWRpdGluZyA9IHZhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGFyZW50SXNsYW5kOiBJZ3hSb3dJc2xhbmRDb21wb25lbnQ7XG4gICAgcHVibGljIGFic3RyYWN0IHJvb3RHcmlkOiBHcmlkVHlwZTtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBleHBhbmRDaGlsZHJlbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc2VsZWN0aW9uU2VydmljZTogSWd4R3JpZFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjb2xSZXNpemluZ1NlcnZpY2U6IElneENvbHVtblJlc2l6aW5nU2VydmljZSxcbiAgICAgICAgQEluamVjdChJR1hfR1JJRF9TRVJWSUNFX0JBU0UpIHB1YmxpYyBncmlkQVBJOiBJZ3hIaWVyYXJjaGljYWxHcmlkQVBJU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uRmFjdG9yeTogSWd4RmxhdFRyYW5zYWN0aW9uRmFjdG9yeSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50LFxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBuYXZpZ2F0aW9uOiBJZ3hIaWVyYXJjaGljYWxHcmlkTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIGZpbHRlcmluZ1NlcnZpY2U6IElneEZpbHRlcmluZ1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIHByb3RlY3RlZCBvdmVybGF5U2VydmljZTogSWd4T3ZlcmxheVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBzdW1tYXJ5U2VydmljZTogSWd4R3JpZFN1bW1hcnlTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERpc3BsYXlEZW5zaXR5VG9rZW4pIHByb3RlY3RlZCBfZGlzcGxheURlbnNpdHlPcHRpb25zOiBJRGlzcGxheURlbnNpdHlPcHRpb25zLFxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgbG9jYWxlSWQ6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybVV0aWwsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSWd4R3JpZFRyYW5zYWN0aW9uKSBwcm90ZWN0ZWQgX2RpVHJhbnNhY3Rpb25zPzogVHJhbnNhY3Rpb25TZXJ2aWNlPFRyYW5zYWN0aW9uLCBTdGF0ZT4pIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBzZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgY29sUmVzaXppbmdTZXJ2aWNlLFxuICAgICAgICAgICAgZ3JpZEFQSSxcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uRmFjdG9yeSxcbiAgICAgICAgICAgIGVsZW1lbnRSZWYsXG4gICAgICAgICAgICB6b25lLFxuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBjZHIsXG4gICAgICAgICAgICByZXNvbHZlcixcbiAgICAgICAgICAgIGRpZmZlcnMsXG4gICAgICAgICAgICB2aWV3UmVmLFxuICAgICAgICAgICAgYXBwUmVmLFxuICAgICAgICAgICAgbW9kdWxlUmVmLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uLFxuICAgICAgICAgICAgZmlsdGVyaW5nU2VydmljZSxcbiAgICAgICAgICAgIG92ZXJsYXlTZXJ2aWNlLFxuICAgICAgICAgICAgc3VtbWFyeVNlcnZpY2UsXG4gICAgICAgICAgICBfZGlzcGxheURlbnNpdHlPcHRpb25zLFxuICAgICAgICAgICAgbG9jYWxlSWQsXG4gICAgICAgICAgICBwbGF0Zm9ybSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDb2x1bW5zTGlzdChjb2xzOiBBcnJheTxhbnk+KSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbXTtcbiAgICAgICAgY29uc3QgdG9wTGV2ZWxDb2xzID0gY29scy5maWx0ZXIoYyA9PiBjLmxldmVsID09PSAwKTtcbiAgICAgICAgdG9wTGV2ZWxDb2xzLmZvckVhY2goKGNvbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5fY3JlYXRlQ29sdW1uKGNvbCk7XG4gICAgICAgICAgICByZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgY29sdW1ucy5wdXNoKHJlZi5pbnN0YW5jZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBmbGF0dGVuKGNvbHVtbnMpO1xuICAgICAgICB0aGlzLmNvbHVtbkxpc3QucmVzZXQocmVzdWx0KTtcbiAgICAgICAgdGhpcy5jb2x1bW5MaXN0Lm5vdGlmeU9uQ2hhbmdlcygpO1xuICAgICAgICB0aGlzLmluaXRQaW5uaW5nKCk7XG5cbiAgICAgICAgY29uc3QgZmFjdG9yeUNvbHVtbiA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoSWd4Q29sdW1uQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3Qgb3V0cHV0cyA9IGZhY3RvcnlDb2x1bW4ub3V0cHV0cy5maWx0ZXIobyA9PiBvLnByb3BOYW1lICE9PSAnY29sdW1uQ2hhbmdlJyk7XG4gICAgICAgIG91dHB1dHMuZm9yRWFjaChvdXRwdXQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5MaXN0LmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uW291dHB1dC5wcm9wTmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uW291dHB1dC5wcm9wTmFtZV0ucGlwZSh0YWtlVW50aWwoY29sdW1uLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChhcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dJc2xhbmRDb2x1bW4gPSB0aGlzLnBhcmVudElzbGFuZC5jaGlsZENvbHVtbnMuZmluZChjb2wgPT4gY29sLmZpZWxkID09PSBjb2x1bW4uZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcm93SXNsYW5kQ29sdW1uW291dHB1dC5wcm9wTmFtZV0uZW1pdCh7IGFyZ3MsIG93bmVyOiB0aGlzIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVDb2x1bW4oY29sKSB7XG4gICAgICAgIGxldCByZWY7XG4gICAgICAgIGlmIChjb2wgaW5zdGFuY2VvZiBJZ3hDb2x1bW5Hcm91cENvbXBvbmVudCkge1xuICAgICAgICAgICAgcmVmID0gdGhpcy5fY3JlYXRlQ29sR3JvdXBDb21wb25lbnQoY29sKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlZiA9IHRoaXMuX2NyZWF0ZUNvbENvbXBvbmVudChjb2wpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVDb2xHcm91cENvbXBvbmVudChjb2w6IElneENvbHVtbkdyb3VwQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IGZhY3RvcnlHcm91cCA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoSWd4Q29sdW1uR3JvdXBDb21wb25lbnQpO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnZpZXdSZWYuY3JlYXRlQ29tcG9uZW50KElneENvbHVtbkdyb3VwQ29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLnZpZXdSZWYuaW5qZWN0b3IgfSk7XG4gICAgICAgIHJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGZhY3RvcnlHcm91cC5pbnB1dHMuZm9yRWFjaCgoaW5wdXQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BOYW1lID0gaW5wdXQucHJvcE5hbWU7XG4gICAgICAgICAgICByZWYuaW5zdGFuY2VbcHJvcE5hbWVdID0gY29sW3Byb3BOYW1lXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjb2wuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgIGNvbC5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDb2wgPSB0aGlzLl9jcmVhdGVDb2x1bW4oY2hpbGQpLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgIG5ld0NvbC5wYXJlbnQgPSByZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgbmV3Q2hpbGRyZW4ucHVzaChuZXdDb2wpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZWYuaW5zdGFuY2UuY2hpbGRyZW4ucmVzZXQobmV3Q2hpbGRyZW4pO1xuICAgICAgICAgICAgcmVmLmluc3RhbmNlLmNoaWxkcmVuLm5vdGlmeU9uQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVDb2xDb21wb25lbnQoY29sKSB7XG4gICAgICAgIGNvbnN0IGZhY3RvcnlDb2x1bW4gPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KElneENvbHVtbkNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IHJlZiA9IHRoaXMudmlld1JlZi5jcmVhdGVDb21wb25lbnQoSWd4Q29sdW1uQ29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLnZpZXdSZWYuaW5qZWN0b3IgfSk7XG4gICAgICAgIGZhY3RvcnlDb2x1bW4uaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wTmFtZSA9IGlucHV0LnByb3BOYW1lO1xuICAgICAgICAgICAgaWYgKCEoY29sW3Byb3BOYW1lXSBpbnN0YW5jZW9mIElneFN1bW1hcnlPcGVyYW5kKSkge1xuICAgICAgICAgICAgICAgIHJlZi5pbnN0YW5jZVtwcm9wTmFtZV0gPSBjb2xbcHJvcE5hbWVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZWYuaW5zdGFuY2VbcHJvcE5hbWVdID0gY29sW3Byb3BOYW1lXS5jb25zdHJ1Y3RvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEdyaWRzRm9ySXNsYW5kKHJvd0lzbGFuZElEOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZEFQSS5nZXRDaGlsZEdyaWRzRm9yUm93SXNsYW5kKHJvd0lzbGFuZElEKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q2hpbGRHcmlkKHBhdGg6IEFycmF5PElQYXRoU2VnbWVudD4pIHtcbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZEFQSS5nZXRDaGlsZEdyaWQocGF0aCk7XG4gICAgfVxufVxuXG5jb25zdCBmbGF0dGVuID0gKGFycjogYW55W10pID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG5cbiAgICBhcnIuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGVsKTtcbiAgICAgICAgaWYgKGVsLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGZsYXR0ZW4oZWwuY2hpbGRyZW4udG9BcnJheSgpKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbiJdfQ==
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2hpY2FsLWdyaWQtYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvaGllcmFyY2hpY2FsLWdyaWQvaGllcmFyY2hpY2FsLWdyaWQtYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxTQUFTLEVBR1QsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTlELE9BQU8sRUFBMEIsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLM0MsT0FBTyxFQUFZLHFCQUFxQixFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFckQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxx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QUFTOzswQkFFaEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7NENBN0duQyxjQUFjO3NCQURwQixLQUFLO2dCQWVDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBYUMsV0FBVztzQkFEakIsTUFBTTtnQkFRQSxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBNEwzRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFO0lBQzNCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIExPQ0FMRV9JRCxcbiAgICBOZ01vZHVsZVJlZixcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4R3JpZEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9ncmlkLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEhpZXJhcmNoaWNhbEdyaWRBUElTZXJ2aWNlIH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtZ3JpZC1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hSb3dJc2xhbmRDb21wb25lbnQgfSBmcm9tICcuL3Jvdy1pc2xhbmQuY29tcG9uZW50JztcbmltcG9ydCB7IElneEZpbHRlcmluZ1NlcnZpY2UgfSBmcm9tICcuLi9maWx0ZXJpbmcvZ3JpZC1maWx0ZXJpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJRGlzcGxheURlbnNpdHlPcHRpb25zLCBEaXNwbGF5RGVuc2l0eVRva2VuIH0gZnJvbSAnLi4vLi4vY29yZS9kaXNwbGF5RGVuc2l0eSc7XG5pbXBvcnQgeyBJZ3hTdW1tYXJ5T3BlcmFuZCB9IGZyb20gJy4uL3N1bW1hcmllcy9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWd4SGllcmFyY2hpY2FsR3JpZE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9oaWVyYXJjaGljYWwtZ3JpZC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWd4R3JpZFN1bW1hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyaWVzL2dyaWQtc3VtbWFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IElneEdyaWRTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IElneENvbHVtblJlc2l6aW5nU2VydmljZSB9IGZyb20gJy4uL3Jlc2l6aW5nL3Jlc2l6aW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFR5cGUsIElHWF9HUklEX1NFUlZJQ0VfQkFTRSwgSVBhdGhTZWdtZW50IH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneENvbHVtbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1ucy9jb2x1bW4tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IElneENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRm9yT2ZTdGF0ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGxhdGZvcm1VdGlsIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hGbGF0VHJhbnNhY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IElneFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL2lneC10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJZ3hPdmVybGF5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL292ZXJsYXkvb3ZlcmxheSc7XG5pbXBvcnQgeyBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IElneEdyaWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBoaWVyYXJjaGljYWxUcmFuc2FjdGlvblNlcnZpY2VGYWN0b3J5ID0gKCkgPT4gbmV3IElneFRyYW5zYWN0aW9uU2VydmljZSgpO1xuXG5leHBvcnQgY29uc3QgSWd4SGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlRmFjdG9yeSA9IHtcbiAgICBwcm92aWRlOiBJZ3hHcmlkVHJhbnNhY3Rpb24sXG4gICAgdXNlRmFjdG9yeTogaGllcmFyY2hpY2FsVHJhbnNhY3Rpb25TZXJ2aWNlRmFjdG9yeVxufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWd4SGllcmFyY2hpY2FsR3JpZEJhc2VEaXJlY3RpdmUgZXh0ZW5kcyBJZ3hHcmlkQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEdyaWRUeXBlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIGtleSBpbmRpY2F0aW5nIHdoZXRoZXIgYSByb3cgaGFzIGNoaWxkcmVuLiBJZiByb3cgaGFzIG5vIGNoaWxkcmVuIGl0IGRvZXMgbm90IHJlbmRlciBhbiBleHBhbmQgaW5kaWNhdG9yLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1oaWVyYXJjaGljYWwtZ3JpZCAjZ3JpZCBbZGF0YV09XCJsb2NhbERhdGFcIiBbaGFzQ2hpbGRyZW5LZXldPVwiJ2hhc0VtcGxveWVlcydcIj5cbiAgICAgKiA8L2lneC1oaWVyYXJjaGljYWwtZ3JpZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoYXNDaGlsZHJlbktleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIHdoZXRoZXIgdGhlIGV4cGFuZC9jb2xsYXBzZSBhbGwgYnV0dG9uIGluIHRoZSBoZWFkZXIgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgICAqXG4gICAgICogQHJlbWFya1xuICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtaGllcmFyY2hpY2FsLWdyaWQgI2dyaWQgW2RhdGFdPVwibG9jYWxEYXRhXCIgW3Nob3dFeHBhbmRBbGxdPVwidHJ1ZVwiPlxuICAgICAqIDwvaWd4LWhpZXJhcmNoaWNhbC1ncmlkPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dFeHBhbmRBbGwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhIG5ldyBjaHVuayBvZiBkYXRhIGlzIGxvYWRlZCBmcm9tIHZpcnR1YWxpemF0aW9uLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIDxpZ3gtaGllcmFyY2hpY2FsLWdyaWQgW2lkXT1cIidpZ3gtZ3JpZC0xJ1wiIFtkYXRhXT1cIkRhdGFcIiBbYXV0b0dlbmVyYXRlXT1cInRydWVcIiAoZGF0YVByZUxvYWQpPVwiaGFuZGxlRXZlbnQoKVwiPlxuICAgICAqICA8L2lneC1oaWVyYXJjaGljYWwtZ3JpZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGF0YVByZUxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPElGb3JPZlN0YXRlPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2RyYWdJbmRpY2F0b3JJY29uQmFzZScsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkcmFnSW5kaWNhdG9ySWNvbkJhc2U6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBtYXhMZXZlbEhlYWRlckRlcHRoKCkge1xuICAgICAgICBpZiAodGhpcy5fbWF4TGV2ZWxIZWFkZXJEZXB0aCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fbWF4TGV2ZWxIZWFkZXJEZXB0aCA9IHRoaXMuY29sdW1ucy5yZWR1Y2UoKGFjYywgY29sKSA9PiBNYXRoLm1heChhY2MsIGNvbC5sZXZlbCksIDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhMZXZlbEhlYWRlckRlcHRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG91dGxldCB1c2VkIHRvIGF0dGFjaCB0aGUgZ3JpZCdzIG92ZXJsYXlzIHRvLlxuICAgICAqXG4gICAgICogQHJlbWFya1xuICAgICAqIElmIHNldCwgcmV0dXJucyB0aGUgb3V0bGV0IGRlZmluZWQgb3V0c2lkZSB0aGUgZ3JpZC4gT3RoZXJ3aXNlIHJldHVybnMgdGhlIGdyaWQncyBpbnRlcm5hbCBvdXRsZXQgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgb3V0bGV0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yb290R3JpZCA/IHRoaXMucm9vdEdyaWQucmVzb2x2ZU91dGxldCgpIDogdGhpcy5yZXNvbHZlT3V0bGV0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgb3V0bGV0IHVzZWQgdG8gYXR0YWNoIHRoZSBncmlkJ3Mgb3ZlcmxheXMgdG8uXG4gICAgICovXG4gICAgcHVibGljIHNldCBvdXRsZXQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fdXNlck91dGxldERpcmVjdGl2ZSA9IHZhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgYmF0Y2hFZGl0aW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwdWJsaWMgZ2V0IGJhdGNoRWRpdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhdGNoRWRpdGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGJhdGNoRWRpdGluZyh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbCAhPT0gdGhpcy5fYmF0Y2hFZGl0aW5nKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fdHJhbnNhY3Rpb25zO1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hUcmFuc2FjdGlvblNlcnZpY2UodmFsKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2FjdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYmF0Y2hFZGl0aW5nQ2hhbmdlLmVtaXQodmFsKTtcbiAgICAgICAgICAgIHRoaXMuX2JhdGNoRWRpdGluZyA9IHZhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGFyZW50SXNsYW5kOiBJZ3hSb3dJc2xhbmRDb21wb25lbnQ7XG4gICAgcHVibGljIGFic3RyYWN0IHJvb3RHcmlkOiBHcmlkVHlwZTtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBleHBhbmRDaGlsZHJlbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc2VsZWN0aW9uU2VydmljZTogSWd4R3JpZFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjb2xSZXNpemluZ1NlcnZpY2U6IElneENvbHVtblJlc2l6aW5nU2VydmljZSxcbiAgICAgICAgQEluamVjdChJR1hfR1JJRF9TRVJWSUNFX0JBU0UpIHB1YmxpYyBncmlkQVBJOiBJZ3hIaWVyYXJjaGljYWxHcmlkQVBJU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uRmFjdG9yeTogSWd4RmxhdFRyYW5zYWN0aW9uRmFjdG9yeSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50LFxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBuYXZpZ2F0aW9uOiBJZ3hIaWVyYXJjaGljYWxHcmlkTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIGZpbHRlcmluZ1NlcnZpY2U6IElneEZpbHRlcmluZ1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIHByb3RlY3RlZCBvdmVybGF5U2VydmljZTogSWd4T3ZlcmxheVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBzdW1tYXJ5U2VydmljZTogSWd4R3JpZFN1bW1hcnlTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERpc3BsYXlEZW5zaXR5VG9rZW4pIHByb3RlY3RlZCBfZGlzcGxheURlbnNpdHlPcHRpb25zOiBJRGlzcGxheURlbnNpdHlPcHRpb25zLFxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgbG9jYWxlSWQ6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybVV0aWwsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSWd4R3JpZFRyYW5zYWN0aW9uKSBwcm90ZWN0ZWQgX2RpVHJhbnNhY3Rpb25zPzogVHJhbnNhY3Rpb25TZXJ2aWNlPFRyYW5zYWN0aW9uLCBTdGF0ZT4pIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBzZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgY29sUmVzaXppbmdTZXJ2aWNlLFxuICAgICAgICAgICAgZ3JpZEFQSSxcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uRmFjdG9yeSxcbiAgICAgICAgICAgIGVsZW1lbnRSZWYsXG4gICAgICAgICAgICB6b25lLFxuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBjZHIsXG4gICAgICAgICAgICByZXNvbHZlcixcbiAgICAgICAgICAgIGRpZmZlcnMsXG4gICAgICAgICAgICB2aWV3UmVmLFxuICAgICAgICAgICAgYXBwUmVmLFxuICAgICAgICAgICAgbW9kdWxlUmVmLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uLFxuICAgICAgICAgICAgZmlsdGVyaW5nU2VydmljZSxcbiAgICAgICAgICAgIG92ZXJsYXlTZXJ2aWNlLFxuICAgICAgICAgICAgc3VtbWFyeVNlcnZpY2UsXG4gICAgICAgICAgICBfZGlzcGxheURlbnNpdHlPcHRpb25zLFxuICAgICAgICAgICAgbG9jYWxlSWQsXG4gICAgICAgICAgICBwbGF0Zm9ybSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDb2x1bW5zTGlzdChjb2xzOiBBcnJheTxhbnk+KSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbXTtcbiAgICAgICAgY29uc3QgdG9wTGV2ZWxDb2xzID0gY29scy5maWx0ZXIoYyA9PiBjLmxldmVsID09PSAwKTtcbiAgICAgICAgdG9wTGV2ZWxDb2xzLmZvckVhY2goKGNvbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5fY3JlYXRlQ29sdW1uKGNvbCk7XG4gICAgICAgICAgICByZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgY29sdW1ucy5wdXNoKHJlZi5pbnN0YW5jZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBmbGF0dGVuKGNvbHVtbnMpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbHVtbnMocmVzdWx0KTtcbiAgICAgICAgdGhpcy5pbml0UGlubmluZygpO1xuXG4gICAgICAgIGNvbnN0IGZhY3RvcnlDb2x1bW4gPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KElneENvbHVtbkNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IG91dHB1dHMgPSBmYWN0b3J5Q29sdW1uLm91dHB1dHMuZmlsdGVyKG8gPT4gby5wcm9wTmFtZSAhPT0gJ2NvbHVtbkNoYW5nZScpO1xuICAgICAgICBvdXRwdXRzLmZvckVhY2gob3V0cHV0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbHVtbltvdXRwdXQucHJvcE5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbltvdXRwdXQucHJvcE5hbWVdLnBpcGUodGFrZVVudGlsKGNvbHVtbi5kZXN0cm95JCkpLnN1YnNjcmliZSgoYXJncykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93SXNsYW5kQ29sdW1uID0gdGhpcy5wYXJlbnRJc2xhbmQuY2hpbGRDb2x1bW5zLmZpbmQoY29sID0+IGNvbC5maWVsZCA9PT0gY29sdW1uLmZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0lzbGFuZENvbHVtbltvdXRwdXQucHJvcE5hbWVdLmVtaXQoeyBhcmdzLCBvd25lcjogdGhpcyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY3JlYXRlQ29sdW1uKGNvbCkge1xuICAgICAgICBsZXQgcmVmO1xuICAgICAgICBpZiAoY29sIGluc3RhbmNlb2YgSWd4Q29sdW1uR3JvdXBDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJlZiA9IHRoaXMuX2NyZWF0ZUNvbEdyb3VwQ29tcG9uZW50KGNvbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWYgPSB0aGlzLl9jcmVhdGVDb2xDb21wb25lbnQoY29sKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVmO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY3JlYXRlQ29sR3JvdXBDb21wb25lbnQoY29sOiBJZ3hDb2x1bW5Hcm91cENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBmYWN0b3J5R3JvdXAgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KElneENvbHVtbkdyb3VwQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy52aWV3UmVmLmNyZWF0ZUNvbXBvbmVudChJZ3hDb2x1bW5Hcm91cENvbXBvbmVudCwgeyBpbmplY3RvcjogdGhpcy52aWV3UmVmLmluamVjdG9yIH0pO1xuICAgICAgICByZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBmYWN0b3J5R3JvdXAuaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wTmFtZSA9IGlucHV0LnByb3BOYW1lO1xuICAgICAgICAgICAgcmVmLmluc3RhbmNlW3Byb3BOYW1lXSA9IGNvbFtwcm9wTmFtZV07XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoY29sLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NoaWxkcmVuID0gW107XG4gICAgICAgICAgICBjb2wuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q29sID0gdGhpcy5fY3JlYXRlQ29sdW1uKGNoaWxkKS5pbnN0YW5jZTtcbiAgICAgICAgICAgICAgICBuZXdDb2wucGFyZW50ID0gcmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgIG5ld0NoaWxkcmVuLnB1c2gobmV3Q29sKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVmLmluc3RhbmNlLmNoaWxkcmVuLnJlc2V0KG5ld0NoaWxkcmVuKTtcbiAgICAgICAgICAgIHJlZi5pbnN0YW5jZS5jaGlsZHJlbi5ub3RpZnlPbkNoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVmO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY3JlYXRlQ29sQ29tcG9uZW50KGNvbCkge1xuICAgICAgICBjb25zdCBmYWN0b3J5Q29sdW1uID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShJZ3hDb2x1bW5Db21wb25lbnQpO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnZpZXdSZWYuY3JlYXRlQ29tcG9uZW50KElneENvbHVtbkNvbXBvbmVudCwgeyBpbmplY3RvcjogdGhpcy52aWV3UmVmLmluamVjdG9yIH0pO1xuICAgICAgICBmYWN0b3J5Q29sdW1uLmlucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcE5hbWUgPSBpbnB1dC5wcm9wTmFtZTtcbiAgICAgICAgICAgIGlmICghKGNvbFtwcm9wTmFtZV0gaW5zdGFuY2VvZiBJZ3hTdW1tYXJ5T3BlcmFuZCkpIHtcbiAgICAgICAgICAgICAgICByZWYuaW5zdGFuY2VbcHJvcE5hbWVdID0gY29sW3Byb3BOYW1lXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVmLmluc3RhbmNlW3Byb3BOYW1lXSA9IGNvbFtwcm9wTmFtZV0uY29uc3RydWN0b3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVmO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRHcmlkc0ZvcklzbGFuZChyb3dJc2xhbmRJRDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRBUEkuZ2V0Q2hpbGRHcmlkc0ZvclJvd0lzbGFuZChyb3dJc2xhbmRJRCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldENoaWxkR3JpZChwYXRoOiBBcnJheTxJUGF0aFNlZ21lbnQ+KSB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRBUEkuZ2V0Q2hpbGRHcmlkKHBhdGgpO1xuICAgIH1cbn1cblxuY29uc3QgZmxhdHRlbiA9IChhcnI6IGFueVtdKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuXG4gICAgYXJyLmZvckVhY2goZWwgPT4ge1xuICAgICAgICByZXN1bHQucHVzaChlbCk7XG4gICAgICAgIGlmIChlbC5jaGlsZHJlbikge1xuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChmbGF0dGVuKGVsLmNoaWxkcmVuLnRvQXJyYXkoKSkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4iXX0=
|