igniteui-angular 16.0.0-beta.1 → 16.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/banner/banner.component.mjs +12 -12
- package/esm2022/lib/calendar/calendar-base.mjs +1 -1
- package/esm2022/lib/calendar/calendar.mjs +2 -1
- package/esm2022/lib/card/card.component.mjs +1 -2
- package/esm2022/lib/chips/chip.component.mjs +2 -2
- package/esm2022/lib/data-operations/data-util.mjs +1 -1
- package/esm2022/lib/data-operations/filtering-strategy.mjs +1 -1
- package/esm2022/lib/data-operations/pivot-sort-strategy.mjs +1 -1
- package/esm2022/lib/data-operations/pivot-strategy.mjs +3 -3
- package/esm2022/lib/data-operations/sorting-strategy.mjs +3 -3
- package/esm2022/lib/date-common/picker-base.directive.mjs +1 -2
- package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +1 -2
- package/esm2022/lib/directives/autocomplete/autocomplete.directive.mjs +1 -3
- package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +2 -2
- package/esm2022/lib/directives/for-of/for_of.directive.mjs +1 -1
- package/esm2022/lib/directives/mask/mask-parsing.service.mjs +4 -5
- package/esm2022/lib/directives/mask/mask.directive.mjs +1 -2
- package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +1 -3
- package/esm2022/lib/grids/columns/column.component.mjs +2 -1
- package/esm2022/lib/grids/columns/interfaces.mjs +1 -1
- package/esm2022/lib/grids/columns/templates.directive.mjs +1 -8
- package/esm2022/lib/grids/common/strategy.mjs +1 -1
- package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +2 -2
- package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +1 -2
- package/esm2022/lib/grids/grid/grid.directives.mjs +1 -11
- package/esm2022/lib/grids/grid-base.directive.mjs +3 -5
- package/esm2022/lib/grids/grid-public-cell.mjs +12 -12
- package/esm2022/lib/grids/grid.rowEdit.directive.mjs +1 -5
- package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +1 -3
- package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +2 -2
- package/esm2022/lib/grids/pivot-grid/pivot-grid.directives.mjs +1 -2
- package/esm2022/lib/grids/pivot-grid/pivot-grid.pipes.mjs +2 -2
- package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +5 -5
- package/esm2022/lib/grids/pivot-grid/pivot-row.component.mjs +2 -2
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resize-handle.directive.mjs +1 -2
- package/esm2022/lib/grids/row-drag.directive.mjs +1 -3
- package/esm2022/lib/grids/selection/row-selectors.mjs +1 -4
- package/esm2022/lib/grids/state.directive.mjs +2 -2
- package/esm2022/lib/grids/summaries/grid-root-summary.pipe.mjs +1 -1
- package/esm2022/lib/grids/toolbar/common.mjs +1 -2
- package/esm2022/lib/grids/tree-grid/tree-grid-api.service.mjs +2 -2
- package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +1 -2
- package/esm2022/lib/grids/tree-grid/tree-grid.filtering.strategy.mjs +1 -1
- package/esm2022/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +1 -1
- package/esm2022/lib/icon/icon.service.mjs +2 -2
- package/esm2022/lib/services/excel/excel-files.mjs +2 -2
- package/esm2022/lib/services/excel/worksheet-data-dictionary.mjs +1 -1
- package/esm2022/lib/services/exporter-common/base-export-service.mjs +2 -2
- package/esm2022/lib/services/transaction/igx-transaction.mjs +1 -1
- package/esm2022/lib/services/transaction/transaction-factory.service.mjs +1 -2
- package/esm2022/lib/splitter/splitter-pane/splitter-pane.component.mjs +1 -3
- package/esm2022/lib/tabs/tab-content.directive.mjs +1 -2
- package/esm2022/lib/tabs/tab-header.directive.mjs +1 -2
- package/esm2022/lib/tabs/tab-item.directive.mjs +1 -2
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +1 -2
- package/esm2022/lib/tree/tree-navigation.service.mjs +1 -1
- package/esm2022/lib/tree/tree-node/tree-node.component.mjs +1 -3
- package/esm2022/lib/tree/tree-selection.service.mjs +1 -2
- package/fesm2022/igniteui-angular.mjs +48 -100
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/banner/banner.component.d.ts +9 -9
- package/lib/directives/for-of/for_of.directive.d.ts +1 -1
- package/lib/grids/columns/column.component.d.ts +1 -1
- package/lib/grids/columns/interfaces.d.ts +1 -2
- package/lib/grids/grid-base.directive.d.ts +1 -1
- package/lib/grids/grid-public-cell.d.ts +8 -8
- package/migrations/common/UpdateChanges.js +2 -3
- package/migrations/common/util.js +3 -1
- package/migrations/update-13_0_0/index.js +4 -4
- package/package.json +5 -5
- package/schematics/tsconfig.tsbuildinfo +1 -1
|
@@ -136,4 +136,4 @@ export class TreeGridMatchingRecordsOnlyFilteringStrategy extends TreeGridFilter
|
|
|
136
136
|
return rec;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLmZpbHRlcmluZy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvdHJlZS1ncmlkLmZpbHRlcmluZy5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUN2SCxPQUFPLEVBQUUscUJBQXFCLEVBQWlCLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLMUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHFCQUFxQjtJQUVoRSxZQUFtQix3QkFBbUM7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFETyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVc7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUF1QixFQUFFLGVBQTBDLEVBQzdFLHVCQUFtRCxFQUFFLElBQWU7UUFDcEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFUyxhQUFhLENBQUMsR0FBUSxFQUFFLFNBQWlCLEVBQUUsU0FBa0IsS0FBSyxFQUFFLFNBQWtCLEtBQUssRUFBRSxJQUFlO1FBQ2xILE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsTUFBTSxrQkFBa0IsR0FBRyxHQUFzQixDQUFDO1FBQ2xELElBQUksS0FBSyxHQUFHLElBQUks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cnQgeyBwYXJzZURhdGUsIHJlc29sdmVOZXN0ZWRQYXRoIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuaW1wb3J0IHsgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IEJhc2VGaWx0ZXJpbmdTdHJhdGVneSwgSWd4RmlsdGVySXRlbSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IENvbHVtblR5cGUsIEdyaWRUeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFRyZWVHcmlkQVBJU2VydmljZSB9IGZyb20gJy4vdHJlZS1ncmlkLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4vdHJlZS1ncmlkLmludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgVHJlZUdyaWRGaWx0ZXJpbmdTdHJhdGVneSBleHRlbmRzIEJhc2VGaWx0ZXJpbmdTdHJhdGVneSB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaGllcmFyY2hpY2FsRmlsdGVyRmllbGRzPzogc3RyaW5nW10pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyKGRhdGE6IElUcmVlR3JpZFJlY29yZFtdLCBleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsXG4gICAgICAgIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlPzogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgZ3JpZD86IEdyaWRUeXBlKTogSVRyZWVHcmlkUmVjb3JkW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJJbXBsKGRhdGEsIGV4cHJlc3Npb25zVHJlZSwgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUsIHVuZGVmaW5lZCwgZ3JpZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZpZWxkVmFsdWUocmVjOiBhbnksIGZpZWxkTmFtZTogc3RyaW5nLCBpc0RhdGU6IGJvb2xlYW4gPSBmYWxzZSwgaXNUaW1lOiBib29sZWFuID0gZmFsc2UsIGdyaWQ/OiBHcmlkVHlwZSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IGdyaWQ/LmdldENvbHVtbkJ5TmFtZShmaWVsZE5hbWUpO1xuICAgICAgICBjb25zdCBoaWVyYXJjaGljYWxSZWNvcmQgPSByZWMgYXMgSVRyZWVHcmlkUmVjb3JkO1xuICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmlzSGllcmFyY2hpY2FsRmlsdGVyRmllbGQoZmllbGROYW1lKSA/XG4gICAgICAgICAgICB0aGlzLmdldEhpZXJhcmNoaWNhbEZpZWxkVmFsdWUoaGllcmFyY2hpY2FsUmVjb3JkLCBmaWVsZE5hbWUpIDpcbiAgICAgICAgICAgIHJlc29sdmVOZXN0ZWRQYXRoKGhpZXJhcmNoaWNhbFJlY29yZC5kYXRhLCBmaWVsZE5hbWUpO1xuXG4gICAgICAgIHZhbHVlID0gY29sdW1uPy5mb3JtYXR0ZXIgJiYgdGhpcy5zaG91bGRGb3JtYXRGaWx0ZXJWYWx1ZXMoY29sdW1uKSA/XG4gICAgICAgICAgICBjb2x1bW4uZm9ybWF0dGVyKHZhbHVlLCByZWMuZGF0YSkgOlxuICAgICAgICAgICAgdmFsdWUgJiYgKGlzRGF0ZSB8fCBpc1RpbWUpID8gcGFyc2VEYXRlKHZhbHVlKSA6IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhpZXJhcmNoaWNhbEZpZWxkVmFsdWUocmVjb3JkOiBJVHJlZUdyaWRSZWNvcmQsIGZpZWxkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZXNvbHZlTmVzdGVkUGF0aChyZWNvcmQuZGF0YSwgZmllbGQpO1xuXG4gICAgICAgIHJldHVybiByZWNvcmQucGFyZW50ID9cbiAgICAgICAgICAgIGAke3RoaXMuZ2V0SGllcmFyY2hpY2FsRmllbGRWYWx1ZShyZWNvcmQucGFyZW50LCBmaWVsZCl9JHt2YWx1ZSA/IGAuWyR7dmFsdWV9XWAgOiAnJ31gIDpcbiAgICAgICAgICAgIGBbJHt2YWx1ZX1dYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckltcGwoZGF0YTogSVRyZWVHcmlkUmVjb3JkW10sIGV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSxcbiAgICAgICAgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsIHBhcmVudDogSVRyZWVHcmlkUmVjb3JkLCBncmlkPzogR3JpZFR5cGUpOiBJVHJlZUdyaWRSZWNvcmRbXSB7XG4gICAgICAgIGxldCBpOiBudW1iZXI7XG4gICAgICAgIGxldCByZWM6IElUcmVlR3JpZFJlY29yZDtcbiAgICAgICAgY29uc3QgbGVuID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHJlczogSVRyZWVHcmlkUmVjb3JkW10gPSBbXTtcbiAgICAgICAgaWYgKChGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUuZW1wdHkoZXhwcmVzc2lvbnNUcmVlKSAmJiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUuZW1wdHkoYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUpKSB8fCAhbGVuKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHJlYyA9IERhdGFVdGlsLmNsb25lVHJlZUdyaWRSZWNvcmQoZGF0YVtpXSk7XG4gICAgICAgICAgICByZWMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICAgICAgaWYgKHJlYy5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlckltcGwocmVjLmNoaWxkcmVuLCBleHByZXNzaW9uc1RyZWUsIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlLCByZWMsIGdyaWQpO1xuICAgICAgICAgICAgICAgIHJlYy5jaGlsZHJlbiA9IGZpbHRlcmVkQ2hpbGRyZW4ubGVuZ3RoID4gMCA/IGZpbHRlcmVkQ2hpbGRyZW4gOiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5tYXRjaFJlY29yZChyZWMsIGV4cHJlc3Npb25zVHJlZSwgZ3JpZCkgJiYgdGhpcy5tYXRjaFJlY29yZChyZWMsIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlLCBncmlkKSkge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHJlYyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlYy5jaGlsZHJlbiAmJiByZWMuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJlYy5pc0ZpbHRlcmVkT3V0UGFyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXMucHVzaChyZWMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0hpZXJhcmNoaWNhbEZpbHRlckZpZWxkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGllcmFyY2hpY2FsRmlsdGVyRmllbGRzICYmIHRoaXMuaGllcmFyY2hpY2FsRmlsdGVyRmllbGRzLmluZGV4T2YoZmllbGQpICE9PSAtMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0RmlsdGVySXRlbXMoY29sdW1uOiBDb2x1bW5UeXBlLCB0cmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlKTogUHJvbWlzZTxJZ3hGaWx0ZXJJdGVtW10+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzSGllcmFyY2hpY2FsRmlsdGVyRmllbGQoY29sdW1uLmZpZWxkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmdldEZpbHRlckl0ZW1zKGNvbHVtbiwgdHJlZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGF0YSA9IChjb2x1bW4uZ3JpZC5ncmlkQVBJIGFzIElneFRyZWVHcmlkQVBJU2VydmljZSkuZmlsdGVyVHJlZURhdGFCeUV4cHJlc3Npb25zKHRyZWUpO1xuICAgICAgICBkYXRhID0gRGF0YVV0aWwudHJlZUdyaWRTb3J0KFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIFt7IGZpZWxkTmFtZTogY29sdW1uLmZpZWxkLCBkaXI6IFNvcnRpbmdEaXJlY3Rpb24uQXNjLCBpZ25vcmVDYXNlOiBjb2x1bW4uc29ydGluZ0lnbm9yZUNhc2UgfV0sXG4gICAgICAgICAgICBjb2x1bW4uZ3JpZC5zb3J0U3RyYXRlZ3ksXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgY29sdW1uLmdyaWQpO1xuXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRIaWVyYXJjaGljYWxGaWx0ZXJJdGVtcyhkYXRhLCBjb2x1bW4pO1xuXG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShpdGVtcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIaWVyYXJjaGljYWxGaWx0ZXJJdGVtcyhyZWNvcmRzOiBJVHJlZUdyaWRSZWNvcmRbXSwgY29sdW1uOiBDb2x1bW5UeXBlLCBwYXJlbnQ/OiBJZ3hGaWx0ZXJJdGVtKTogSWd4RmlsdGVySXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHJlY29yZHM/Lm1hcChyZWNvcmQgPT4ge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gcmVzb2x2ZU5lc3RlZFBhdGgocmVjb3JkLmRhdGEsIGNvbHVtbi5maWVsZCk7XG4gICAgICAgICAgICBjb25zdCBhcHBseUZvcm1hdHRlciA9IGNvbHVtbi5mb3JtYXR0ZXIgJiYgdGhpcy5zaG91bGRGb3JtYXRGaWx0ZXJWYWx1ZXMoY29sdW1uKTtcblxuICAgICAgICAgICAgdmFsdWUgPSBhcHBseUZvcm1hdHRlciA/XG4gICAgICAgICAgICAgICAgY29sdW1uLmZvcm1hdHRlcih2YWx1ZSwgcmVjb3JkLmRhdGEpIDpcbiAgICAgICAgICAgICAgICB2YWx1ZTtcblxuICAgICAgICAgICAgY29uc3QgaGllcmFyY2hpY2FsVmFsdWUgPSBwYXJlbnQgP1xuICAgICAgICAgICAgICAgICh2YWx1ZSB8fCB2YWx1ZSA9PT0gMCkgPyBgJHtwYXJlbnQudmFsdWV9Llske3ZhbHVlfV1gIDogdmFsdWUgOlxuICAgICAgICAgICAgICAgIGBbJHt2YWx1ZX1dYDtcblxuICAgICAgICAgICAgY29uc3QgZmlsdGVySXRlbTogSWd4RmlsdGVySXRlbSA9IHsgdmFsdWU6IGhpZXJhcmNoaWNhbFZhbHVlIH07XG4gICAgICAgICAgICBmaWx0ZXJJdGVtLmxhYmVsID0gdGhpcy5nZXRGaWx0ZXJJdGVtTGFiZWwoY29sdW1uLCB2YWx1ZSwgIWFwcGx5Rm9ybWF0dGVyLCByZWNvcmQuZGF0YSk7XG4gICAgICAgICAgICBmaWx0ZXJJdGVtLmNoaWxkcmVuID0gdGhpcy5nZXRIaWVyYXJjaGljYWxGaWx0ZXJJdGVtcyhyZWNvcmQuY2hpbGRyZW4sIGNvbHVtbiwgZmlsdGVySXRlbSk7XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVySXRlbTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJlZUdyaWRGb3JtYXR0ZWRWYWx1ZXNGaWx0ZXJpbmdTdHJhdGVneSBleHRlbmRzIFRyZWVHcmlkRmlsdGVyaW5nU3RyYXRlZ3kge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgRm9ybWF0dGVkVmFsdWVzRmlsdGVyaW5nU3RyYXRlZ3kuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmllbGRzIEFuIGFycmF5IG9mIGNvbHVtbiBmaWVsZCBuYW1lcyB0aGF0IHNob3VsZCBiZSBmb3JtYXR0ZWQuXG4gICAgICogSWYgb21pdHRlZCB0aGUgdmFsdWVzIG9mIGFsbCBjb2x1bW5zIHdoaWNoIGhhcyBmb3JtYXR0ZXIgd2lsbCBiZSBmb3JtYXR0ZWQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWVsZHM/OiBzdHJpbmdbXSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRGb3JtYXRGaWx0ZXJWYWx1ZXMoY29sdW1uOiBDb2x1bW5UeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5maWVsZHMgfHwgdGhpcy5maWVsZHMubGVuZ3RoID09PSAwIHx8IHRoaXMuZmllbGRzLnNvbWUoZiA9PiBmID09PSBjb2x1bW4uZmllbGQpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRyZWVHcmlkTWF0Y2hpbmdSZWNvcmRzT25seUZpbHRlcmluZ1N0cmF0ZWd5IGV4dGVuZHMgVHJlZUdyaWRGaWx0ZXJpbmdTdHJhdGVneSB7XG4gICAgcHVibGljIG92ZXJyaWRlIGZpbHRlcihkYXRhOiBJVHJlZUdyaWRSZWNvcmRbXSwgZXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLFxuICAgICAgICBhZHZhbmNlZEV4cHJlc3Npb25zVHJlZT86IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsIGdyaWQ/OiBHcmlkVHlwZSk6IElUcmVlR3JpZFJlY29yZFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVySW1wbGVtZW50YXRpb24oZGF0YSwgZXhwcmVzc2lvbnNUcmVlLCBhZHZhbmNlZEV4cHJlc3Npb25zVHJlZSwgdW5kZWZpbmVkLCBncmlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckltcGxlbWVudGF0aW9uKGRhdGE6IElUcmVlR3JpZFJlY29yZFtdLCBleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsXG4gICAgICAgIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBwYXJlbnQ6IElUcmVlR3JpZFJlY29yZCwgZ3JpZD86IEdyaWRUeXBlKTogSVRyZWVHcmlkUmVjb3JkW10ge1xuICAgICAgICBsZXQgaTogbnVtYmVyO1xuICAgICAgICBsZXQgcmVjOiBJVHJlZUdyaWRSZWNvcmQ7XG4gICAgICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBjb25zdCByZXM6IElUcmVlR3JpZFJlY29yZFtdID0gW107XG4gICAgICAgIGlmICgoRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmVtcHR5KGV4cHJlc3Npb25zVHJlZSkgJiYgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmVtcHR5KGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlKSkgfHwgIWxlbikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICByZWMgPSBEYXRhVXRpbC5jbG9uZVRyZWVHcmlkUmVjb3JkKGRhdGFbaV0pO1xuICAgICAgICAgICAgcmVjLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIGlmIChyZWMuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gdGhpcy5maWx0ZXJJbXBsZW1lbnRhdGlvbihyZWMuY2hpbGRyZW4sIGV4cHJlc3Npb25zVHJlZSwgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUsIHJlYywgZ3JpZCk7XG4gICAgICAgICAgICAgICAgcmVjLmNoaWxkcmVuID0gZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5tYXRjaFJlY29yZChyZWMsIGV4cHJlc3Npb25zVHJlZSwgZ3JpZCkgJiYgdGhpcy5tYXRjaFJlY29yZChyZWMsIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlLCBncmlkKSkge1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHJlYyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlYy5jaGlsZHJlbiAmJiByZWMuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJlYyA9IHRoaXMuc2V0Q29ycmVjdExldmVsVG9GaWx0ZXJlZFJlY29yZHMocmVjKTtcbiAgICAgICAgICAgICAgICByZXMucHVzaCguLi5yZWMuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb3JyZWN0TGV2ZWxUb0ZpbHRlcmVkUmVjb3JkcyhyZWM6IElUcmVlR3JpZFJlY29yZCk6IElUcmVlR3JpZFJlY29yZCB7XG4gICAgICAgIGlmIChyZWMuY2hpbGRyZW4gJiYgcmVjLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJlYy5jaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkLmxldmVsID0gY2hpbGQubGV2ZWwgLSAxO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldENvcnJlY3RMZXZlbFRvRmlsdGVyZWRSZWNvcmRzKGNoaWxkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWM7XG4gICAgfVxufVxuIl19
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLmZpbHRlcmluZy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9ncmlkcy90cmVlLWdyaWQvdHJlZS1ncmlkLmZpbHRlcmluZy5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUN2SCxPQUFPLEVBQUUscUJBQXFCLEVBQWlCLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLMUUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHFCQUFxQjtJQUVoRSxZQUFtQix3QkFBbUM7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFETyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVc7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUF1QixFQUFFLGVBQTBDLEVBQzdFLHVCQUFtRCxFQUFFLElBQWU7UUFDcEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFUyxhQUFhLENBQUMsR0FBUSxFQUFFLFNBQWlCLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLElBQWU7UUFDaEcsTUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxNQUFNLGtCQUFrQixHQUFHLEdBQXNCLENBQUM7UUFDbEQsSUFBSSxLQUFLLEdB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IjpbImltcG9ydCB7IHBhcnNlRGF0ZSwgcmVzb2x2ZU5lc3RlZFBhdGggfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IERhdGFVdGlsIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsIElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWV4cHJlc3Npb25zLXRyZWUnO1xuaW1wb3J0IHsgQmFzZUZpbHRlcmluZ1N0cmF0ZWd5LCBJZ3hGaWx0ZXJJdGVtIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBTb3J0aW5nRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgQ29sdW1uVHlwZSwgR3JpZFR5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWd4VHJlZUdyaWRBUElTZXJ2aWNlIH0gZnJvbSAnLi90cmVlLWdyaWQtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRyZWVHcmlkUmVjb3JkIH0gZnJvbSAnLi90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmVlR3JpZEZpbHRlcmluZ1N0cmF0ZWd5IGV4dGVuZHMgQmFzZUZpbHRlcmluZ1N0cmF0ZWd5IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBoaWVyYXJjaGljYWxGaWx0ZXJGaWVsZHM/OiBzdHJpbmdbXSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXIoZGF0YTogSVRyZWVHcmlkUmVjb3JkW10sIGV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSxcbiAgICAgICAgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWU/OiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBncmlkPzogR3JpZFR5cGUpOiBJVHJlZUdyaWRSZWNvcmRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckltcGwoZGF0YSwgZXhwcmVzc2lvbnNUcmVlLCBhZHZhbmNlZEV4cHJlc3Npb25zVHJlZSwgdW5kZWZpbmVkLCBncmlkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmllbGRWYWx1ZShyZWM6IGFueSwgZmllbGROYW1lOiBzdHJpbmcsIGlzRGF0ZSA9IGZhbHNlLCBpc1RpbWUgPSBmYWxzZSwgZ3JpZD86IEdyaWRUeXBlKTogYW55IHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gZ3JpZD8uZ2V0Q29sdW1uQnlOYW1lKGZpZWxkTmFtZSk7XG4gICAgICAgIGNvbnN0IGhpZXJhcmNoaWNhbFJlY29yZCA9IHJlYyBhcyBJVHJlZUdyaWRSZWNvcmQ7XG4gICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuaXNIaWVyYXJjaGljYWxGaWx0ZXJGaWVsZChmaWVsZE5hbWUpID9cbiAgICAgICAgICAgIHRoaXMuZ2V0SGllcmFyY2hpY2FsRmllbGRWYWx1ZShoaWVyYXJjaGljYWxSZWNvcmQsIGZpZWxkTmFtZSkgOlxuICAgICAgICAgICAgcmVzb2x2ZU5lc3RlZFBhdGgoaGllcmFyY2hpY2FsUmVjb3JkLmRhdGEsIGZpZWxkTmFtZSk7XG5cbiAgICAgICAgdmFsdWUgPSBjb2x1bW4/LmZvcm1hdHRlciAmJiB0aGlzLnNob3VsZEZvcm1hdEZpbHRlclZhbHVlcyhjb2x1bW4pID9cbiAgICAgICAgICAgIGNvbHVtbi5mb3JtYXR0ZXIodmFsdWUsIHJlYy5kYXRhKSA6XG4gICAgICAgICAgICB2YWx1ZSAmJiAoaXNEYXRlIHx8IGlzVGltZSkgPyBwYXJzZURhdGUodmFsdWUpIDogdmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SGllcmFyY2hpY2FsRmllbGRWYWx1ZShyZWNvcmQ6IElUcmVlR3JpZFJlY29yZCwgZmllbGQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHJlc29sdmVOZXN0ZWRQYXRoKHJlY29yZC5kYXRhLCBmaWVsZCk7XG5cbiAgICAgICAgcmV0dXJuIHJlY29yZC5wYXJlbnQgP1xuICAgICAgICAgICAgYCR7dGhpcy5nZXRIaWVyYXJjaGljYWxGaWVsZFZhbHVlKHJlY29yZC5wYXJlbnQsIGZpZWxkKX0ke3ZhbHVlID8gYC5bJHt2YWx1ZX1dYCA6ICcnfWAgOlxuICAgICAgICAgICAgYFske3ZhbHVlfV1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVySW1wbChkYXRhOiBJVHJlZUdyaWRSZWNvcmRbXSwgZXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLFxuICAgICAgICBhZHZhbmNlZEV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgcGFyZW50OiBJVHJlZUdyaWRSZWNvcmQsIGdyaWQ/OiBHcmlkVHlwZSk6IElUcmVlR3JpZFJlY29yZFtdIHtcbiAgICAgICAgbGV0IGk6IG51bWJlcjtcbiAgICAgICAgbGV0IHJlYzogSVRyZWVHcmlkUmVjb3JkO1xuICAgICAgICBjb25zdCBsZW4gPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcmVzOiBJVHJlZUdyaWRSZWNvcmRbXSA9IFtdO1xuICAgICAgICBpZiAoKEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZS5lbXB0eShleHByZXNzaW9uc1RyZWUpICYmIEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZS5lbXB0eShhZHZhbmNlZEV4cHJlc3Npb25zVHJlZSkpIHx8ICFsZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgcmVjID0gRGF0YVV0aWwuY2xvbmVUcmVlR3JpZFJlY29yZChkYXRhW2ldKTtcbiAgICAgICAgICAgIHJlYy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgICAgICBpZiAocmVjLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmlsdGVySW1wbChyZWMuY2hpbGRyZW4sIGV4cHJlc3Npb25zVHJlZSwgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUsIHJlYywgZ3JpZCk7XG4gICAgICAgICAgICAgICAgcmVjLmNoaWxkcmVuID0gZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoUmVjb3JkKHJlYywgZXhwcmVzc2lvbnNUcmVlLCBncmlkKSAmJiB0aGlzLm1hdGNoUmVjb3JkKHJlYywgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUsIGdyaWQpKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2gocmVjKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVjLmNoaWxkcmVuICYmIHJlYy5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVjLmlzRmlsdGVyZWRPdXRQYXJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHJlYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSGllcmFyY2hpY2FsRmlsdGVyRmllbGQoZmllbGQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWVyYXJjaGljYWxGaWx0ZXJGaWVsZHMgJiYgdGhpcy5oaWVyYXJjaGljYWxGaWx0ZXJGaWVsZHMuaW5kZXhPZihmaWVsZCkgIT09IC0xO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBnZXRGaWx0ZXJJdGVtcyhjb2x1bW46IENvbHVtblR5cGUsIHRyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUpOiBQcm9taXNlPElneEZpbHRlckl0ZW1bXT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNIaWVyYXJjaGljYWxGaWx0ZXJGaWVsZChjb2x1bW4uZmllbGQpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3VwZXIuZ2V0RmlsdGVySXRlbXMoY29sdW1uLCB0cmVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkYXRhID0gKGNvbHVtbi5ncmlkLmdyaWRBUEkgYXMgSWd4VHJlZUdyaWRBUElTZXJ2aWNlKS5maWx0ZXJUcmVlRGF0YUJ5RXhwcmVzc2lvbnModHJlZSk7XG4gICAgICAgIGRhdGEgPSBEYXRhVXRpbC50cmVlR3JpZFNvcnQoXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgW3sgZmllbGROYW1lOiBjb2x1bW4uZmllbGQsIGRpcjogU29ydGluZ0RpcmVjdGlvbi5Bc2MsIGlnbm9yZUNhc2U6IGNvbHVtbi5zb3J0aW5nSWdub3JlQ2FzZSB9XSxcbiAgICAgICAgICAgIGNvbHVtbi5ncmlkLnNvcnRTdHJhdGVneSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBjb2x1bW4uZ3JpZCk7XG5cbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEhpZXJhcmNoaWNhbEZpbHRlckl0ZW1zKGRhdGEsIGNvbHVtbik7XG5cblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGl0ZW1zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhpZXJhcmNoaWNhbEZpbHRlckl0ZW1zKHJlY29yZHM6IElUcmVlR3JpZFJlY29yZFtdLCBjb2x1bW46IENvbHVtblR5cGUsIHBhcmVudD86IElneEZpbHRlckl0ZW0pOiBJZ3hGaWx0ZXJJdGVtW10ge1xuICAgICAgICByZXR1cm4gcmVjb3Jkcz8ubWFwKHJlY29yZCA9PiB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSByZXNvbHZlTmVzdGVkUGF0aChyZWNvcmQuZGF0YSwgY29sdW1uLmZpZWxkKTtcbiAgICAgICAgICAgIGNvbnN0IGFwcGx5Rm9ybWF0dGVyID0gY29sdW1uLmZvcm1hdHRlciAmJiB0aGlzLnNob3VsZEZvcm1hdEZpbHRlclZhbHVlcyhjb2x1bW4pO1xuXG4gICAgICAgICAgICB2YWx1ZSA9IGFwcGx5Rm9ybWF0dGVyID9cbiAgICAgICAgICAgICAgICBjb2x1bW4uZm9ybWF0dGVyKHZhbHVlLCByZWNvcmQuZGF0YSkgOlxuICAgICAgICAgICAgICAgIHZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBoaWVyYXJjaGljYWxWYWx1ZSA9IHBhcmVudCA/XG4gICAgICAgICAgICAgICAgKHZhbHVlIHx8IHZhbHVlID09PSAwKSA/IGAke3BhcmVudC52YWx1ZX0uWyR7dmFsdWV9XWAgOiB2YWx1ZSA6XG4gICAgICAgICAgICAgICAgYFske3ZhbHVlfV1gO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJJdGVtOiBJZ3hGaWx0ZXJJdGVtID0geyB2YWx1ZTogaGllcmFyY2hpY2FsVmFsdWUgfTtcbiAgICAgICAgICAgIGZpbHRlckl0ZW0ubGFiZWwgPSB0aGlzLmdldEZpbHRlckl0ZW1MYWJlbChjb2x1bW4sIHZhbHVlLCAhYXBwbHlGb3JtYXR0ZXIsIHJlY29yZC5kYXRhKTtcbiAgICAgICAgICAgIGZpbHRlckl0ZW0uY2hpbGRyZW4gPSB0aGlzLmdldEhpZXJhcmNoaWNhbEZpbHRlckl0ZW1zKHJlY29yZC5jaGlsZHJlbiwgY29sdW1uLCBmaWx0ZXJJdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJJdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmVlR3JpZEZvcm1hdHRlZFZhbHVlc0ZpbHRlcmluZ1N0cmF0ZWd5IGV4dGVuZHMgVHJlZUdyaWRGaWx0ZXJpbmdTdHJhdGVneSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiBGb3JtYXR0ZWRWYWx1ZXNGaWx0ZXJpbmdTdHJhdGVneS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWVsZHMgQW4gYXJyYXkgb2YgY29sdW1uIGZpZWxkIG5hbWVzIHRoYXQgc2hvdWxkIGJlIGZvcm1hdHRlZC5cbiAgICAgKiBJZiBvbWl0dGVkIHRoZSB2YWx1ZXMgb2YgYWxsIGNvbHVtbnMgd2hpY2ggaGFzIGZvcm1hdHRlciB3aWxsIGJlIGZvcm1hdHRlZC5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpZWxkcz86IHN0cmluZ1tdKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZEZvcm1hdEZpbHRlclZhbHVlcyhjb2x1bW46IENvbHVtblR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZpZWxkcyB8fCB0aGlzLmZpZWxkcy5sZW5ndGggPT09IDAgfHwgdGhpcy5maWVsZHMuc29tZShmID0+IGYgPT09IGNvbHVtbi5maWVsZCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJlZUdyaWRNYXRjaGluZ1JlY29yZHNPbmx5RmlsdGVyaW5nU3RyYXRlZ3kgZXh0ZW5kcyBUcmVlR3JpZEZpbHRlcmluZ1N0cmF0ZWd5IHtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZmlsdGVyKGRhdGE6IElUcmVlR3JpZFJlY29yZFtdLCBleHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsXG4gICAgICAgIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlPzogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgZ3JpZD86IEdyaWRUeXBlKTogSVRyZWVHcmlkUmVjb3JkW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJJbXBsZW1lbnRhdGlvbihkYXRhLCBleHByZXNzaW9uc1RyZWUsIGFkdmFuY2VkRXhwcmVzc2lvbnNUcmVlLCB1bmRlZmluZWQsIGdyaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVySW1wbGVtZW50YXRpb24oZGF0YTogSVRyZWVHcmlkUmVjb3JkW10sIGV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSxcbiAgICAgICAgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsIHBhcmVudDogSVRyZWVHcmlkUmVjb3JkLCBncmlkPzogR3JpZFR5cGUpOiBJVHJlZUdyaWRSZWNvcmRbXSB7XG4gICAgICAgIGxldCBpOiBudW1iZXI7XG4gICAgICAgIGxldCByZWM6IElUcmVlR3JpZFJlY29yZDtcbiAgICAgICAgY29uc3QgbGVuID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHJlczogSVRyZWVHcmlkUmVjb3JkW10gPSBbXTtcbiAgICAgICAgaWYgKChGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUuZW1wdHkoZXhwcmVzc2lvbnNUcmVlKSAmJiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUuZW1wdHkoYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUpKSB8fCAhbGVuKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHJlYyA9IERhdGFVdGlsLmNsb25lVHJlZUdyaWRSZWNvcmQoZGF0YVtpXSk7XG4gICAgICAgICAgICByZWMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICAgICAgaWYgKHJlYy5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlckltcGxlbWVudGF0aW9uKHJlYy5jaGlsZHJlbiwgZXhwcmVzc2lvbnNUcmVlLCBhZHZhbmNlZEV4cHJlc3Npb25zVHJlZSwgcmVjLCBncmlkKTtcbiAgICAgICAgICAgICAgICByZWMuY2hpbGRyZW4gPSBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDAgPyBmaWx0ZXJlZENoaWxkcmVuIDogbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoUmVjb3JkKHJlYywgZXhwcmVzc2lvbnNUcmVlLCBncmlkKSAmJiB0aGlzLm1hdGNoUmVjb3JkKHJlYywgYWR2YW5jZWRFeHByZXNzaW9uc1RyZWUsIGdyaWQpKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2gocmVjKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVjLmNoaWxkcmVuICYmIHJlYy5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVjID0gdGhpcy5zZXRDb3JyZWN0TGV2ZWxUb0ZpbHRlcmVkUmVjb3JkcyhyZWMpO1xuICAgICAgICAgICAgICAgIHJlcy5wdXNoKC4uLnJlYy5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENvcnJlY3RMZXZlbFRvRmlsdGVyZWRSZWNvcmRzKHJlYzogSVRyZWVHcmlkUmVjb3JkKTogSVRyZWVHcmlkUmVjb3JkIHtcbiAgICAgICAgaWYgKHJlYy5jaGlsZHJlbiAmJiByZWMuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmVjLmNoaWxkcmVuLm1hcChjaGlsZCA9PiB7XG4gICAgICAgICAgICAgICAgY2hpbGQubGV2ZWwgPSBjaGlsZC5sZXZlbCAtIDE7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q29ycmVjdExldmVsVG9GaWx0ZXJlZFJlY29yZHMoY2hpbGQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlYztcbiAgICB9XG59XG4iXX0=
|
|
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
109
109
|
standalone: true
|
|
110
110
|
}]
|
|
111
111
|
}] });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLmdyb3VwaW5nLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdHJlZS1ncmlkL3RyZWUtZ3JpZC5ncm91cGluZy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRWhELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxhQUFhO0NBS2xCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtDQUdoQztBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUFVO2FBQ3RDLGNBQVMsR0FBOEIsSUFBSSxDQUFDO0lBRXBELE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVrQixhQUFhLENBQUMsR0FBUSxFQUFFLEdBQVcsRUFBRSxTQUFrQixLQUFLLEVBQUUsU0FBa0IsS0FBSztRQUNwRyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ1YsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENB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QUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsYUFBYSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdEM7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQzttSEFwR1EsdUJBQXVCO2lIQUF2Qix1QkFBdUI7O2dHQUF2Qix1QkFBdUI7a0JBSm5DLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgR3JpZENvbHVtbkRhdGFUeXBlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBJR3JvdXBpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFNvcnRpbmcgfSBmcm9tICcuLi9jb21tb24vc3RyYXRlZ3knO1xuXG5jb25zdCBISURERU5fRklFTERfTkFNRSA9ICdfSWd4X0hpZGRlbl9EYXRhXyc7XG5cbi8qKlxuICogQGhpZGRlblxuICogQGludGVybmFsXG4gKi9cbmNsYXNzIEdyb3VwQnlSZWNvcmQge1xuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgICBwdWJsaWMgZ3JvdXBzOiBHcm91cEJ5UmVjb3JkW107XG4gICAgcHVibGljIHJlY29yZHM6IGFueVtdO1xufVxuXG5leHBvcnQgY2xhc3MgSVRyZWVHcmlkQWdncmVnYXRpb24ge1xuICAgIHB1YmxpYyBmaWVsZDogc3RyaW5nO1xuICAgIHB1YmxpYyBhZ2dyZWdhdGU6IChwYXJlbnQ6IGFueSwgY2hpbGRyZW46IGFueVtdKSA9PiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBJZ3hHcm91cGVkVHJlZUdyaWRTb3J0aW5nIGV4dGVuZHMgSWd4U29ydGluZyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBJZ3hHcm91cGVkVHJlZUdyaWRTb3J0aW5nID0gbnVsbDtcblxuICAgIHB1YmxpYyBzdGF0aWMgaW5zdGFuY2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZSB8fCAodGhpcy5faW5zdGFuY2UgPSBuZXcgSWd4R3JvdXBlZFRyZWVHcmlkU29ydGluZygpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0RmllbGRWYWx1ZShvYmo6IGFueSwga2V5OiBzdHJpbmcsIGlzRGF0ZTogYm9vbGVhbiA9IGZhbHNlLCBpc1RpbWU6IGJvb2xlYW4gPSBmYWxzZSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBvYmouZGF0YVtISURERU5fRklFTERfTkFNRV0gP1xuICAgICAgICAgICAgb2JqLmRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSA/XG4gICAgICAgICAgICAgICAgb2JqLmRhdGEgOlxuICAgICAgICAgICAgICAgIG9iai5kYXRhW0hJRERFTl9GSUVMRF9OQU1FXSA6XG4gICAgICAgICAgICBvYmouZGF0YTtcblxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0RmllbGRWYWx1ZShkYXRhLCBrZXksIGlzRGF0ZSwgaXNUaW1lKTtcbiAgICB9XG59XG5cbi8qKiBAaGlkZGVuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ3RyZWVHcmlkR3JvdXBpbmcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4VHJlZUdyaWRHcm91cGluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIGdyaWQ6IEdyaWRUeXBlO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSxcbiAgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nRXhwcmVzc2lvbnM6IElHcm91cGluZ0V4cHJlc3Npb25bXSxcbiAgICAgICAgICAgICAgICAgICAgIGdyb3VwS2V5OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICBjaGlsZERhdGFLZXk6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgIGdyaWQ6IEdyaWRUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgYWdncmVnYXRpb25zPzogSVRyZWVHcmlkQWdncmVnYXRpb25bXVxuICAgICAgICAgICAgICAgICAgICApOiBhbnlbXSB7XG4gICAgICAgIGlmIChncm91cGluZ0V4cHJlc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ3JvdXBLZXk/LnRvTG93ZXJDYXNlKCkgPT09IGNoaWxkRGF0YUtleT8udG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdHcm91cCBrZXkgYW5kIGNoaWxkIGRhdGEga2V5IGNhbm5vdCBiZSB0aGUgc2FtZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ3JpZCA9IGdyaWQ7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGNvbnN0IGdyb3VwZWRSZWNvcmRzID0gdGhpcy5ncm91cEJ5TXVsdGlwbGUoY29sbGVjdGlvbiwgZ3JvdXBpbmdFeHByZXNzaW9ucyk7XG4gICAgICAgIHRoaXMuZmxhdHRlbkdyb3VwaW5nKGdyb3VwZWRSZWNvcmRzLCBncm91cEtleSxcbiAgICAgICAgICAgIGNoaWxkRGF0YUtleSwgcmVzdWx0LCBhZ2dyZWdhdGlvbnMpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmbGF0dGVuR3JvdXBpbmcoZ3JvdXBSZWNvcmRzOiBHcm91cEJ5UmVjb3JkW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBLZXk6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZERhdGFLZXk6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBhbnlbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbnM6IElUcmVlR3JpZEFnZ3JlZ2F0aW9uW10gPSBbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwUmVjb3JkIG9mIGdyb3VwUmVjb3Jkcykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0ge307XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGdyb3VwUmVjb3JkLnJlY29yZHM7XG5cbiAgICAgICAgICAgIHBhcmVudFtjaGlsZERhdGFLZXldID0gW107XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgYWdncmVnYXRpb24gb2YgYWdncmVnYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgcGFyZW50W2FnZ3JlZ2F0aW9uLmZpZWxkXSA9IGFnZ3JlZ2F0aW9uLmFnZ3JlZ2F0ZShwYXJlbnQsIGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFyZW50W2dyb3VwS2V5XSA9IGdyb3VwUmVjb3JkLnZhbHVlICsgYCAoJHtncm91cFJlY29yZC5yZWNvcmRzLmxlbmd0aH0pYDtcbiAgICAgICAgICAgIHBhcmVudFtISURERU5fRklFTERfTkFNRV0gPSB7IFtncm91cFJlY29yZC5rZXldOiBncm91cFJlY29yZC52YWx1ZSB9O1xuICAgICAgICAgICAgZGF0YS5wdXNoKHBhcmVudCk7XG5cbiAgICAgICAgICAgIGlmIChncm91cFJlY29yZC5ncm91cHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZsYXR0ZW5Hcm91cGluZyhncm91cFJlY29yZC5ncm91cHMsIGdyb3VwS2V5LCBjaGlsZERhdGFLZXksXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFtjaGlsZERhdGFLZXldLCBhZ2dyZWdhdGlvbnMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRbY2hpbGREYXRhS2V5XSA9IGNoaWxkcmVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBncm91cEJ5TXVsdGlwbGUoYXJyYXk6IGFueVtdLCBncm91cGluZ0V4cHJlc3Npb25zOiBJR3JvdXBpbmdFeHByZXNzaW9uW10sIGluZGV4ID0gMCk6IEdyb3VwQnlSZWNvcmRbXSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHRoaXMuZ3JvdXBCeShhcnJheSwgZ3JvdXBpbmdFeHByZXNzaW9uc1tpbmRleF0pO1xuXG4gICAgICAgIGlmIChpbmRleCArIDEgPCBncm91cGluZ0V4cHJlc3Npb25zLmxlbmd0aCkge1xuICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwQnlSZWNvcmQgb2YgcmVzKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBCeVJlY29yZC5ncm91cHMgPSB0aGlzLmdyb3VwQnlNdWx0aXBsZShncm91cEJ5UmVjb3JkLnJlY29yZHMsIGdyb3VwaW5nRXhwcmVzc2lvbnMsIGluZGV4ICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ3JvdXBCeShhcnJheTogYW55W10sIGdyb3VwaW5nRXhwcmVzc2lvbjogSUdyb3VwaW5nRXhwcmVzc2lvbik6IEdyb3VwQnlSZWNvcmRbXSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGdyb3VwaW5nRXhwcmVzc2lvbi5maWVsZE5hbWU7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuZ3JpZD8uZ2V0Q29sdW1uQnlOYW1lKGtleSk7XG4gICAgICAgIGNvbnN0IGlzRGF0ZVRpbWUgPSBjb2x1bW4/LmRhdGFUeXBlID09PSBHcmlkQ29sdW1uRGF0YVR5cGUuRGF0ZSB8fFxuICAgICAgICAgICAgY29sdW1uPy5kYXRhVHlwZSA9PT0gR3JpZENvbHVtbkRhdGFUeXBlLkRhdGVUaW1lIHx8XG4gICAgICAgICAgICBjb2x1bW4/LmRhdGFUeXBlID09PSBHcmlkQ29sdW1uRGF0YVR5cGUuVGltZTtcbiAgICAgICAgY29uc3QgbWFwOiBNYXA8YW55LCBHcm91cEJ5UmVjb3JkPiA9IG5ldyBNYXA8YW55LCBHcm91cEJ5UmVjb3JkPigpO1xuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiBhcnJheSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpc0RhdGVUaW1lXG4gICAgICAgICAgICAgICAgPyBmb3JtYXREYXRlKHJlY29yZFtrZXldLCBjb2x1bW4ucGlwZUFyZ3MuZm9ybWF0LCB0aGlzLmdyaWQubG9jYWxlKVxuICAgICAgICAgICAgICAgIDogcmVjb3JkW2tleV07XG5cbiAgICAgICAgICAgIGxldCB2YWx1ZUNhc2UgPSB2YWx1ZTtcbiAgICAgICAgICAgIGxldCBncm91cEJ5UmVjb3JkOiBHcm91cEJ5UmVjb3JkO1xuXG4gICAgICAgICAgICBpZiAoZ3JvdXBpbmdFeHByZXNzaW9uLmlnbm9yZUNhc2UpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZUNhc2UgPSB2YWx1ZT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1hcC5oYXModmFsdWVDYXNlKSkge1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQgPSBtYXAuZ2V0KHZhbHVlQ2FzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQgPSBuZXcgR3JvdXBCeVJlY29yZCgpO1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQua2V5ID0ga2V5O1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBncm91cEJ5UmVjb3JkLnJlY29yZHMgPSBbXTtcbiAgICAgICAgICAgICAgICBtYXAuc2V0KHZhbHVlQ2FzZSwgZ3JvdXBCeVJlY29yZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQucmVjb3Jkcy5wdXNoKHJlY29yZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShtYXAudmFsdWVzKCkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLmdyb3VwaW5nLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvdHJlZS1ncmlkL3RyZWUtZ3JpZC5ncm91cGluZy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRWhELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxhQUFhO0NBS2xCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtDQUdoQztBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUFVO2FBQ3RDLGNBQVMsR0FBOEIsSUFBSSxDQUFDO0lBRXBELE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVrQixhQUFhLENBQUMsR0FBUSxFQUFFLEdBQVcsRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLO1FBQ2xGLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDVixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFD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Z0JBQ3hCLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixhQUFhLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDckM7WUFFRCxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO21IQXBHUSx1QkFBdUI7aUhBQXZCLHVCQUF1Qjs7Z0dBQXZCLHVCQUF1QjtrQkFKbkMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZFR5cGUgfSBmcm9tICcuLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWd4U29ydGluZyB9IGZyb20gJy4uL2NvbW1vbi9zdHJhdGVneSc7XG5cbmNvbnN0IEhJRERFTl9GSUVMRF9OQU1FID0gJ19JZ3hfSGlkZGVuX0RhdGFfJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuY2xhc3MgR3JvdXBCeVJlY29yZCB7XG4gICAgcHVibGljIGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBncm91cHM6IEdyb3VwQnlSZWNvcmRbXTtcbiAgICBwdWJsaWMgcmVjb3JkczogYW55W107XG59XG5cbmV4cG9ydCBjbGFzcyBJVHJlZUdyaWRBZ2dyZWdhdGlvbiB7XG4gICAgcHVibGljIGZpZWxkOiBzdHJpbmc7XG4gICAgcHVibGljIGFnZ3JlZ2F0ZTogKHBhcmVudDogYW55LCBjaGlsZHJlbjogYW55W10pID0+IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIElneEdyb3VwZWRUcmVlR3JpZFNvcnRpbmcgZXh0ZW5kcyBJZ3hTb3J0aW5nIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IElneEdyb3VwZWRUcmVlR3JpZFNvcnRpbmcgPSBudWxsO1xuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW5jZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlIHx8ICh0aGlzLl9pbnN0YW5jZSA9IG5ldyBJZ3hHcm91cGVkVHJlZUdyaWRTb3J0aW5nKCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBnZXRGaWVsZFZhbHVlKG9iajogYW55LCBrZXk6IHN0cmluZywgaXNEYXRlID0gZmFsc2UsIGlzVGltZSA9IGZhbHNlKTogYW55IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IG9iai5kYXRhW0hJRERFTl9GSUVMRF9OQU1FXSA/XG4gICAgICAgICAgICBvYmouZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpID9cbiAgICAgICAgICAgICAgICBvYmouZGF0YSA6XG4gICAgICAgICAgICAgICAgb2JqLmRhdGFbSElEREVOX0ZJRUxEX05BTUVdIDpcbiAgICAgICAgICAgIG9iai5kYXRhO1xuXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRGaWVsZFZhbHVlKGRhdGEsIGtleSwgaXNEYXRlLCBpc1RpbWUpO1xuICAgIH1cbn1cblxuLyoqIEBoaWRkZW4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAndHJlZUdyaWRHcm91cGluZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hUcmVlR3JpZEdyb3VwaW5nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgZ3JpZDogR3JpZFR5cGU7XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLFxuICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdFeHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdLFxuICAgICAgICAgICAgICAgICAgICAgZ3JvdXBLZXk6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgIGNoaWxkRGF0YUtleTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgZ3JpZDogR3JpZFR5cGUsXG4gICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbnM/OiBJVHJlZUdyaWRBZ2dyZWdhdGlvbltdXG4gICAgICAgICAgICAgICAgICAgICk6IGFueVtdIHtcbiAgICAgICAgaWYgKGdyb3VwaW5nRXhwcmVzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChncm91cEtleT8udG9Mb3dlckNhc2UoKSA9PT0gY2hpbGREYXRhS2V5Py50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dyb3VwIGtleSBhbmQgY2hpbGQgZGF0YSBrZXkgY2Fubm90IGJlIHRoZSBzYW1lLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ncmlkID0gZ3JpZDtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgY29uc3QgZ3JvdXBlZFJlY29yZHMgPSB0aGlzLmdyb3VwQnlNdWx0aXBsZShjb2xsZWN0aW9uLCBncm91cGluZ0V4cHJlc3Npb25zKTtcbiAgICAgICAgdGhpcy5mbGF0dGVuR3JvdXBpbmcoZ3JvdXBlZFJlY29yZHMsIGdyb3VwS2V5LFxuICAgICAgICAgICAgY2hpbGREYXRhS2V5LCByZXN1bHQsIGFnZ3JlZ2F0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZsYXR0ZW5Hcm91cGluZyhncm91cFJlY29yZHM6IEdyb3VwQnlSZWNvcmRbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cEtleTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkRGF0YUtleTogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGFueVtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uczogSVRyZWVHcmlkQWdncmVnYXRpb25bXSA9IFtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBSZWNvcmQgb2YgZ3JvdXBSZWNvcmRzKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB7fTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ3JvdXBSZWNvcmQucmVjb3JkcztcblxuICAgICAgICAgICAgcGFyZW50W2NoaWxkRGF0YUtleV0gPSBbXTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBhZ2dyZWdhdGlvbiBvZiBhZ2dyZWdhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRbYWdncmVnYXRpb24uZmllbGRdID0gYWdncmVnYXRpb24uYWdncmVnYXRlKHBhcmVudCwgY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJlbnRbZ3JvdXBLZXldID0gZ3JvdXBSZWNvcmQudmFsdWUgKyBgICgke2dyb3VwUmVjb3JkLnJlY29yZHMubGVuZ3RofSlgO1xuICAgICAgICAgICAgcGFyZW50W0hJRERFTl9GSUVMRF9OQU1FXSA9IHsgW2dyb3VwUmVjb3JkLmtleV06IGdyb3VwUmVjb3JkLnZhbHVlIH07XG4gICAgICAgICAgICBkYXRhLnB1c2gocGFyZW50KTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwUmVjb3JkLmdyb3Vwcykge1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbkdyb3VwaW5nKGdyb3VwUmVjb3JkLmdyb3VwcywgZ3JvdXBLZXksIGNoaWxkRGF0YUtleSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50W2NoaWxkRGF0YUtleV0sIGFnZ3JlZ2F0aW9ucyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcmVudFtjaGlsZERhdGFLZXldID0gY2hpbGRyZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdyb3VwQnlNdWx0aXBsZShhcnJheTogYW55W10sIGdyb3VwaW5nRXhwcmVzc2lvbnM6IElHcm91cGluZ0V4cHJlc3Npb25bXSwgaW5kZXggPSAwKTogR3JvdXBCeVJlY29yZFtdIHtcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5ncm91cEJ5KGFycmF5LCBncm91cGluZ0V4cHJlc3Npb25zW2luZGV4XSk7XG5cbiAgICAgICAgaWYgKGluZGV4ICsgMSA8IGdyb3VwaW5nRXhwcmVzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBCeVJlY29yZCBvZiByZXMpIHtcbiAgICAgICAgICAgICAgICBncm91cEJ5UmVjb3JkLmdyb3VwcyA9IHRoaXMuZ3JvdXBCeU11bHRpcGxlKGdyb3VwQnlSZWNvcmQucmVjb3JkcywgZ3JvdXBpbmdFeHByZXNzaW9ucywgaW5kZXggKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBncm91cEJ5KGFycmF5OiBhbnlbXSwgZ3JvdXBpbmdFeHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uKTogR3JvdXBCeVJlY29yZFtdIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZ3JvdXBpbmdFeHByZXNzaW9uLmZpZWxkTmFtZTtcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5ncmlkPy5nZXRDb2x1bW5CeU5hbWUoa2V5KTtcbiAgICAgICAgY29uc3QgaXNEYXRlVGltZSA9IGNvbHVtbj8uZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5EYXRlIHx8XG4gICAgICAgICAgICBjb2x1bW4/LmRhdGFUeXBlID09PSBHcmlkQ29sdW1uRGF0YVR5cGUuRGF0ZVRpbWUgfHxcbiAgICAgICAgICAgIGNvbHVtbj8uZGF0YVR5cGUgPT09IEdyaWRDb2x1bW5EYXRhVHlwZS5UaW1lO1xuICAgICAgICBjb25zdCBtYXA6IE1hcDxhbnksIEdyb3VwQnlSZWNvcmQ+ID0gbmV3IE1hcDxhbnksIEdyb3VwQnlSZWNvcmQ+KCk7XG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIGFycmF5KSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlzRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICA/IGZvcm1hdERhdGUocmVjb3JkW2tleV0sIGNvbHVtbi5waXBlQXJncy5mb3JtYXQsIHRoaXMuZ3JpZC5sb2NhbGUpXG4gICAgICAgICAgICAgICAgOiByZWNvcmRba2V5XTtcblxuICAgICAgICAgICAgbGV0IHZhbHVlQ2FzZSA9IHZhbHVlO1xuICAgICAgICAgICAgbGV0IGdyb3VwQnlSZWNvcmQ6IEdyb3VwQnlSZWNvcmQ7XG5cbiAgICAgICAgICAgIGlmIChncm91cGluZ0V4cHJlc3Npb24uaWdub3JlQ2FzZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlQ2FzZSA9IHZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobWFwLmhhcyh2YWx1ZUNhc2UpKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBCeVJlY29yZCA9IG1hcC5nZXQodmFsdWVDYXNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBCeVJlY29yZCA9IG5ldyBHcm91cEJ5UmVjb3JkKCk7XG4gICAgICAgICAgICAgICAgZ3JvdXBCeVJlY29yZC5rZXkgPSBrZXk7XG4gICAgICAgICAgICAgICAgZ3JvdXBCeVJlY29yZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGdyb3VwQnlSZWNvcmQucmVjb3JkcyA9IFtdO1xuICAgICAgICAgICAgICAgIG1hcC5zZXQodmFsdWVDYXNlLCBncm91cEJ5UmVjb3JkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZ3JvdXBCeVJlY29yZC5yZWNvcmRzLnB1c2gocmVjb3JkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKG1hcC52YWx1ZXMoKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -149,7 +149,7 @@ export class IgxIconService {
|
|
|
149
149
|
* @hidden
|
|
150
150
|
*/
|
|
151
151
|
cacheSvgIcon(name, value, family = this._family, stripMeta) {
|
|
152
|
-
family =
|
|
152
|
+
family = family ? family : this._family;
|
|
153
153
|
if (this._platformUtil?.isBrowser && name && value) {
|
|
154
154
|
const doc = this._domParser.parseFromString(value, 'image/svg+xml');
|
|
155
155
|
const svg = doc.querySelector('svg');
|
|
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
194
194
|
type: Inject,
|
|
195
195
|
args: [DOCUMENT]
|
|
196
196
|
}] }]; } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBZ0IzQzs7Ozs7Ozs7Ozs7R0FXRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBa0J2QixZQUN3QixVQUF3QixFQUN4QixXQUF1QixFQUN2QixhQUEyQixFQUNULFNBQWM7UUFIaEMsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUNULGNBQVMsR0FBVCxTQUFTLENBQUs7UUFWaEQsWUFBTyxHQUFHLGdCQUFnQixDQUFDO1FBQzNCLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUMzRCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBU3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVsRCxJQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztTQUNyQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBVyxhQUFhLENBQUMsU0FBaUI7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksbUJBQW1CLENBQUMsS0FBYSxFQUFFLFlBQW9CLEtBQUs7UUFDL0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGVBQWUsQ0FBQyxLQUFhO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFVBQVUsQ0FBQyxJQUFZLEVBQUUsR0FBVyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ2pGLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDVixNQUFNLElBQUksS0FBSyxDQUFDLCtGQUErRixHQUFHLElBQUksQ0FBQyxDQUFDO2FBQzNIO1lBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDcEY7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO2FBQU07WUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7U0FDNUY7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsU0FBaUIsRUFBRSxFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQzVGLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNwQyxPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3hEO2FBQU07WUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUM7U0FDakc7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUU7UUFDcEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBMEIsQ0FBQztZQUMxRixPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxVQUFVLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUU7UUFDL0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxRQUFRLENBQUMsR0FBVztRQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVksQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQWtCO1FBQ3ZGLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNwRSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBZSxDQUFDO1lBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxFQUFvQixDQUFDLENBQUM7YUFDakU7WUFFRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUIsR0FBRyxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFFekQsSUFBSSxTQUFTLEVBQUU7b0JBQ1gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDekMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFdkMsSUFBSSxLQUFLLEVBQUU7d0JBQ1AsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDMUI7b0JBRUQsSUFBSSxJQUFJLEVBQUU7d0JBQ04sR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDekI7aUJBQ0o7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDdkQ7U0FDSjtJQUNMLENBQUM7bUhBOUxRLGNBQWMsb0pBc0JDLFFBQVE7dUhBdEJ2QixjQUFjLGNBRlgsTUFBTTs7Z0dBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQW9CUSxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBTZWN1cml0eUNvbnRleHQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGF0Zm9ybVV0aWwgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBTVkcgaWNvbiBpcyBsb2FkZWQgdGhyb3VnaFxuICogYSBIVFRQIHJlcXVlc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWd4SWNvbkxvYWRlZEV2ZW50IHtcbiAgICAvKiogTmFtZSBvZiB0aGUgaWNvbiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGFjdHVhbCBTVkcgdGV4dCAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgLyoqIFRoZSBmb250LWZhbWlseSBmb3IgdGhlIGljb24uIERlZmF1bHRzIHRvIG1hdGVyaWFsLiAqL1xuICAgIGZhbWlseTogc3RyaW5nO1xufVxuXG4vKipcbiAqICoqSWduaXRlIFVJIGZvciBBbmd1bGFyIEljb24gU2VydmljZSoqIC1cbiAqXG4gKiBUaGUgSWduaXRlIFVJIEljb24gU2VydmljZSBtYWtlcyBpdCBlYXN5IGZvciBkZXZlbG9wZXJzIHRvIGluY2x1ZGUgY3VzdG9tIFNWRyBpbWFnZXMgYW5kIHVzZSB0aGVtIHdpdGggSWd4SWNvbkNvbXBvbmVudC5cbiAqIEluIGFkZGl0aW9uIGl0IGNvdWxkIGJlIHVzZWQgdG8gYXNzb2NpYXRlIGEgY3VzdG9tIGNsYXNzIHRvIGJlIGFwcGxpZWQgb24gSWd4SWNvbkNvbXBvbmVudCBhY2NvcmRpbmcgdG8gZ2l2ZW4gZm9udC1mYW1pbHkuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJGYW1pbHlBbGlhcygnbWF0ZXJpYWwnLCAnbWF0ZXJpYWwtaWNvbnMnKTtcbiAqIHRoaXMuaWNvblNlcnZpY2UuYWRkU3ZnSWNvbignYXJ1YmEnLCAnL2Fzc2V0cy9zdmcvY291bnRyeV9mbGFncy9hcnViYS5zdmcnLCAnc3ZnLWZsYWdzJyk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hJY29uU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYW4gaWNvbiBpcyBzdWNjZXNzZnVsbHkgbG9hZGVkXG4gICAgICogdGhyb3VnaCBhIEhUVFAgcmVxdWVzdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuc2VydmljZS5pY29uTG9hZGVkLnN1YnNjcmliZSgoZXY6IElneEljb25Mb2FkZWRFdmVudCkgPT4gLi4uKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgaWNvbkxvYWRlZDogT2JzZXJ2YWJsZTxJZ3hJY29uTG9hZGVkRXZlbnQ+O1xuXG4gICAgcHJpdmF0ZSBfZmFtaWx5ID0gJ21hdGVyaWFsLWljb25zJztcbiAgICBwcml2YXRlIF9mYW1pbHlBbGlhc2VzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBwcml2YXRlIF9jYWNoZWRTdmdJY29ucyA9IG5ldyBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBTYWZlSHRtbD4+KCk7XG4gICAgcHJpdmF0ZSBfaWNvbkxvYWRlZCA9IG5ldyBTdWJqZWN0PElneEljb25Mb2FkZWRFdmVudD4oKTtcbiAgICBwcml2YXRlIF9kb21QYXJzZXI6IERPTVBhcnNlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcGxhdGZvcm1VdGlsOiBQbGF0Zm9ybVV0aWwsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaWNvbkxvYWRlZCA9IHRoaXMuX2ljb25Mb2FkZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgaWYodGhpcy5fcGxhdGZvcm1VdGlsPy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RvbVBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBSZXR1cm5zIHRoZSBkZWZhdWx0IGZvbnQtZmFtaWx5LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgIGNvbnN0IGRlZmF1bHRGYW1pbHkgPSB0aGlzLmljb25TZXJ2aWNlLmRlZmF1bHRGYW1pbHk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBkZWZhdWx0RmFtaWx5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mYW1pbHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFNldHMgdGhlIGRlZmF1bHQgZm9udC1mYW1pbHkuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAgdGhpcy5pY29uU2VydmljZS5kZWZhdWx0RmFtaWx5ID0gJ3N2Zy1mbGFncyc7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNldCBkZWZhdWx0RmFtaWx5KGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ZhbWlseSA9IGNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgUmVnaXN0ZXJzIGEgY3VzdG9tIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gSWd4SWNvbkNvbXBvbmVudCBmb3IgYSBnaXZlbiBmb250LWZhbWlseS5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyRmFtaWx5QWxpYXMoJ21hdGVyaWFsJywgJ21hdGVyaWFsLWljb25zJyk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyRmFtaWx5QWxpYXMoYWxpYXM6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcgPSBhbGlhcyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9mYW1pbHlBbGlhc2VzLnNldChhbGlhcywgY2xhc3NOYW1lKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFJldHVybnMgdGhlIGN1c3RvbSBjbGFzcywgaWYgYW55LCBhc3NvY2lhdGVkIHRvIGEgZ2l2ZW4gZm9udC1mYW1pbHkuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAgY29uc3QgZmFtaWx5Q2xhc3MgPSB0aGlzLmljb25TZXJ2aWNlLmZhbWlseUNsYXNzTmFtZSgnbWF0ZXJpYWwnKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFtaWx5Q2xhc3NOYW1lKGFsaWFzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmFtaWx5QWxpYXNlcy5nZXQoYWxpYXMpIHx8IGFsaWFzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBZGRzIGFuIFNWRyBpbWFnZSB0byB0aGUgY2FjaGUuIFNWRyBzb3VyY2UgaXMgYW4gdXJsLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgIHRoaXMuaWNvblNlcnZpY2UuYWRkU3ZnSWNvbignYXJ1YmEnLCAnL2Fzc2V0cy9zdmcvY291bnRyeV9mbGFncy9hcnViYS5zdmcnLCAnc3ZnLWZsYWdzJyk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGFkZFN2Z0ljb24obmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZywgZmFtaWx5ID0gdGhpcy5fZmFtaWx5LCBzdHJpcE1ldGEgPSBmYWxzZSkge1xuICAgICAgICBpZiAobmFtZSAmJiB1cmwpIHtcbiAgICAgICAgICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHVybCk7XG4gICAgICAgICAgICBpZiAoIXNhZmVVcmwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBwcm92aWRlZCBVUkwgY291bGQgbm90IGJlIHByb2Nlc3NlZCBhcyB0cnVzdGVkIHJlc291cmNlIFVSTCBieSBBbmd1bGFyJ3MgRG9tU2FuaXRpemVyOiBcIiR7dXJsfVwiLmApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzYW5pdGl6ZWRVcmwgPSB0aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlJFU09VUkNFX1VSTCwgc2FmZVVybCk7XG4gICAgICAgICAgICBpZiAoIXNhbml0aXplZFVybCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIFVSTCBwcm92aWRlZCB3YXMgbm90IHRydXN0ZWQgYXMgYSByZXNvdXJjZSBVUkw6IFwiJHt1cmx9XCIuYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1N2Z0ljb25DYWNoZWQobmFtZSwgZmFtaWx5KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2hTdmcodXJsKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhY2hlU3ZnSWNvbihuYW1lLCByZXMsIGZhbWlseSwgc3RyaXBNZXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faWNvbkxvYWRlZC5uZXh0KHsgbmFtZSwgdmFsdWU6IHJlcywgZmFtaWx5IH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3Ugc2hvdWxkIHByb3ZpZGUgYXQgbGVhc3QgYG5hbWVgIGFuZCBgdXJsYCB0byByZWdpc3RlciBhbiBzdmcgaWNvbi4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBZGRzIGFuIFNWRyBpbWFnZSB0byB0aGUgY2FjaGUuIFNWRyBzb3VyY2UgaXMgaXRzIHRleHQuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAgdGhpcy5pY29uU2VydmljZS5hZGRTdmdJY29uRnJvbVRleHQoJ3NpbXBsZScsICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIwMCAyMDBcIj5cbiAgICAgKiAgIDxwYXRoIGQ9XCJNNzQgNzRoNTR2NTRINzRcIiAvPjwvc3ZnPicsICdzdmctZmxhZ3MnKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkU3ZnSWNvbkZyb21UZXh0KG5hbWU6IHN0cmluZywgaWNvblRleHQ6IHN0cmluZywgZmFtaWx5OiBzdHJpbmcgPSAnJywgc3RyaXBNZXRhID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKG5hbWUgJiYgaWNvblRleHQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU3ZnSWNvbkNhY2hlZChuYW1lLCBmYW1pbHkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNhY2hlU3ZnSWNvbihuYW1lLCBpY29uVGV4dCwgZmFtaWx5LCBzdHJpcE1ldGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3Ugc2hvdWxkIHByb3ZpZGUgYXQgbGVhc3QgYG5hbWVgIGFuZCBgaWNvblRleHRgIHRvIHJlZ2lzdGVyIGFuIHN2ZyBpY29uLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFJldHVybnMgd2hldGhlciBhIGdpdmVuIFNWRyBpbWFnZSBpcyBwcmVzZW50IGluIHRoZSBjYWNoZS5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogICBjb25zdCBpc1N2Z0NhY2hlZCA9IHRoaXMuaWNvblNlcnZpY2UuaXNTdmdJY29uQ2FjaGVkKCdhcnViYScsICdzdmctZmxhZ3MnKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTdmdJY29uQ2FjaGVkKG5hbWU6IHN0cmluZywgZmFtaWx5OiBzdHJpbmcgPSAnJyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmYW1pbHlDbGFzc05hbWUgPSB0aGlzLmZhbWlseUNsYXNzTmFtZShmYW1pbHkpO1xuICAgICAgICBpZiAodGhpcy5fY2FjaGVkU3ZnSWNvbnMuaGFzKGZhbWlseUNsYXNzTmFtZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZhbWlseVJlZ2lzdHJ5ID0gdGhpcy5fY2FjaGVkU3ZnSWNvbnMuZ2V0KGZhbWlseUNsYXNzTmFtZSkgYXMgTWFwPHN0cmluZywgU2FmZUh0bWw+O1xuICAgICAgICAgICAgcmV0dXJuIGZhbWlseVJlZ2lzdHJ5LmhhcyhuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgUmV0dXJucyB0aGUgY2FjaGVkIFNWRyBpbWFnZSBhcyBzdHJpbmcuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAgY29uc3Qgc3ZnSWNvbiA9IHRoaXMuaWNvblNlcnZpY2UuZ2V0U3ZnSWNvbignYXJ1YmEnLCAnc3ZnLWZsYWdzJyk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldFN2Z0ljb24obmFtZTogc3RyaW5nLCBmYW1pbHk6IHN0cmluZyA9ICcnKSB7XG4gICAgICAgIGNvbnN0IGZhbWlseUNsYXNzTmFtZSA9IHRoaXMuZmFtaWx5Q2xhc3NOYW1lKGZhbWlseSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWNoZWRTdmdJY29ucy5nZXQoZmFtaWx5Q2xhc3NOYW1lKT8uZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZldGNoU3ZnKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgcmVxID0gdGhpcy5faHR0cENsaWVudC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pO1xuICAgICAgICByZXR1cm4gcmVxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhY2hlU3ZnSWNvbihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGZhbWlseSA9IHRoaXMuX2ZhbWlseSwgc3RyaXBNZXRhOiBib29sZWFuKSB7XG4gICAgICAgIGZhbWlseSA9ICEhZmFtaWx5ID8gZmFtaWx5IDogdGhpcy5fZmFtaWx5O1xuXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybVV0aWw/LmlzQnJvd3NlciAmJiBuYW1lICYmIHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSB0aGlzLl9kb21QYXJzZXIucGFyc2VGcm9tU3RyaW5nKHZhbHVlLCAnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgICAgICAgICAgY29uc3Qgc3ZnID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIGFzIFNWR0VsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5fY2FjaGVkU3ZnSWNvbnMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRTdmdJY29ucy5zZXQoZmFtaWx5LCBuZXcgTWFwPHN0cmluZywgU2FmZUh0bWw+KCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc3ZnKSB7XG4gICAgICAgICAgICAgICAgc3ZnLnNldEF0dHJpYnV0ZSgnZml0JywgJycpO1xuICAgICAgICAgICAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAneE1pZFlNaWQgbWVldCcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHN0cmlwTWV0YSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IHN2Zy5xdWVyeVNlbGVjdG9yKCd0aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXNjID0gc3ZnLnF1ZXJ5U2VsZWN0b3IoJ2Rlc2MnKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Zy5yZW1vdmVDaGlsZCh0aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVzYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnLnJlbW92ZUNoaWxkKGRlc2MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgc2FmZVN2ZyA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzdmcub3V0ZXJIVE1MKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRTdmdJY29ucy5nZXQoZmFtaWx5KS5zZXQobmFtZSwgc2FmZVN2Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBZ0IzQzs7Ozs7Ozs7Ozs7R0FXRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBa0J2QixZQUN3QixVQUF3QixFQUN4QixXQUF1QixFQUN2QixhQUEyQixFQUNULFNBQWM7UUFIaEMsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUNULGNBQVMsR0FBVCxTQUFTLENBQUs7UUFWaEQsWUFBTyxHQUFHLGdCQUFnQixDQUFDO1FBQzNCLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUMzRCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBU3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVsRCxJQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztTQUNyQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVE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LEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixHQUFHLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUV6RCxJQUFJLFNBQVMsRUFBRTtvQkFDWCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN6QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUV2QyxJQUFJLEtBQUssRUFBRTt3QkFDUCxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMxQjtvQkFFRCxJQUFJLElBQUksRUFBRTt3QkFDTixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUN6QjtpQkFDSjtnQkFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQzthQUN2RDtTQUNKO0lBQ0wsQ0FBQzttSEE5TFEsY0FBYyxvSkFzQkMsUUFBUTt1SEF0QnZCLGNBQWMsY0FGWCxNQUFNOztnR0FFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBb0JRLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFNlY3VyaXR5Q29udGV4dCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYXRmb3JtVXRpbCB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIFNWRyBpY29uIGlzIGxvYWRlZCB0aHJvdWdoXG4gKiBhIEhUVFAgcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZ3hJY29uTG9hZGVkRXZlbnQge1xuICAgIC8qKiBOYW1lIG9mIHRoZSBpY29uICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgYWN0dWFsIFNWRyB0ZXh0ICovXG4gICAgdmFsdWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZvbnQtZmFtaWx5IGZvciB0aGUgaWNvbi4gRGVmYXVsdHMgdG8gbWF0ZXJpYWwuICovXG4gICAgZmFtaWx5OiBzdHJpbmc7XG59XG5cbi8qKlxuICogKipJZ25pdGUgVUkgZm9yIEFuZ3VsYXIgSWNvbiBTZXJ2aWNlKiogLVxuICpcbiAqIFRoZSBJZ25pdGUgVUkgSWNvbiBTZXJ2aWNlIG1ha2VzIGl0IGVhc3kgZm9yIGRldmVsb3BlcnMgdG8gaW5jbHVkZSBjdXN0b20gU1ZHIGltYWdlcyBhbmQgdXNlIHRoZW0gd2l0aCBJZ3hJY29uQ29tcG9uZW50LlxuICogSW4gYWRkaXRpb24gaXQgY291bGQgYmUgdXNlZCB0byBhc3NvY2lhdGUgYSBjdXN0b20gY2xhc3MgdG8gYmUgYXBwbGllZCBvbiBJZ3hJY29uQ29tcG9uZW50IGFjY29yZGluZyB0byBnaXZlbiBmb250LWZhbWlseS5cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBgdHlwZXNjcmlwdFxuICogdGhpcy5pY29uU2VydmljZS5yZWdpc3RlckZhbWlseUFsaWFzKCdtYXRlcmlhbCcsICdtYXRlcmlhbC1pY29ucycpO1xuICogdGhpcy5pY29uU2VydmljZS5hZGRTdmdJY29uKCdhcnViYScsICcvYXNzZXRzL3N2Zy9jb3VudHJ5X2ZsYWdzL2FydWJhLnN2ZycsICdzdmctZmxhZ3MnKTtcbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElneEljb25TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhbiBpY29uIGlzIHN1Y2Nlc3NmdWxseSBsb2FkZWRcbiAgICAgKiB0aHJvdWdoIGEgSFRUUCByZXF1ZXN0LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5zZXJ2aWNlLmljb25Mb2FkZWQuc3Vic2NyaWJlKChldjogSWd4SWNvbkxvYWRlZEV2ZW50KSA9PiAuLi4pO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBpY29uTG9hZGVkOiBPYnNlcnZhYmxlPElneEljb25Mb2FkZWRFdmVudD47XG5cbiAgICBwcml2YXRlIF9mYW1pbHkgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgIHByaXZhdGUgX2ZhbWlseUFsaWFzZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICAgIHByaXZhdGUgX2NhY2hlZFN2Z0ljb25zID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFNhZmVIdG1sPj4oKTtcbiAgICBwcml2YXRlIF9pY29uTG9hZGVkID0gbmV3IFN1YmplY3Q8SWd4SWNvbkxvYWRlZEV2ZW50PigpO1xuICAgIHByaXZhdGUgX2RvbVBhcnNlcjogRE9NUGFyc2VyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9wbGF0Zm9ybVV0aWw6IFBsYXRmb3JtVXRpbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IGFueSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5pY29uTG9hZGVkID0gdGhpcy5faWNvbkxvYWRlZC5hc09ic2VydmFibGUoKTtcblxuICAgICAgICBpZih0aGlzLl9wbGF0Zm9ybVV0aWw/LmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5fZG9tUGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFJldHVybnMgdGhlIGRlZmF1bHQgZm9udC1mYW1pbHkuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAgY29uc3QgZGVmYXVsdEZhbWlseSA9IHRoaXMuaWNvblNlcnZpY2UuZGVmYXVsdEZhbWlseTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGRlZmF1bHRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZhbWlseTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgU2V0cyB0aGUgZGVmYXVsdCBmb250LWZhbWlseS5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogICB0aGlzLmljb25TZXJ2aWNlLmRlZmF1bHRGYW1pbHkgPSAnc3ZnLWZsYWdzJztcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGRlZmF1bHRGYW1pbHkoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZmFtaWx5ID0gY2xhc3NOYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBSZWdpc3RlcnMgYSBjdXN0b20gY2xhc3MgdG8gYmUgYXBwbGllZCB0byBJZ3hJY29uQ29tcG9uZW50IGZvciBhIGdpdmVuIGZvbnQtZmFtaWx5LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJGYW1pbHlBbGlhcygnbWF0ZXJpYWwnLCAnbWF0ZXJpYWwtaWNvbnMnKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJGYW1pbHlBbGlhcyhhbGlhczogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZyA9IGFsaWFzKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZhbWlseUFsaWFzZXMuc2V0KGFsaWFzLCBjbGFzc05hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgUmV0dXJucyB0aGUgY3VzdG9tIGNsYXNzLCBpZiBhbnksIGFzc29jaWF0ZWQgdG8gYSBnaXZlbiBmb250LWZhbWlseS5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogICBjb25zdCBmYW1pbHlDbGFzcyA9IHRoaXMuaWNvblNlcnZpY2UuZmFtaWx5Q2xhc3NOYW1lKCdtYXRlcmlhbCcpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBmYW1pbHlDbGFzc05hbWUoYWxpYXM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mYW1pbHlBbGlhc2VzLmdldChhbGlhcykgfHwgYWxpYXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFkZHMgYW4gU1ZHIGltYWdlIHRvIHRoZSBjYWNoZS4gU1ZHIHNvdXJjZSBpcyBhbiB1cmwuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICAgdGhpcy5pY29uU2VydmljZS5hZGRTdmdJY29uKCdhcnViYScsICcvYXNzZXRzL3N2Zy9jb3VudHJ5X2ZsYWdzL2FydWJhLnN2ZycsICdzdmctZmxhZ3MnKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkU3ZnSWNvbihuYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nLCBmYW1pbHkgPSB0aGlzLl9mYW1pbHksIHN0cmlwTWV0YSA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChuYW1lICYmIHVybCkge1xuICAgICAgICAgICAgY29uc3Qgc2FmZVVybCA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgICAgICAgICAgIGlmICghc2FmZVVybCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHByb3ZpZGVkIFVSTCBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIGFzIHRydXN0ZWQgcmVzb3VyY2UgVVJMIGJ5IEFuZ3VsYXIncyBEb21TYW5pdGl6ZXI6IFwiJHt1cmx9XCIuYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNhbml0aXplZFVybCA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuUkVTT1VSQ0VfVVJMLCBzYWZlVXJsKTtcbiAgICAgICAgICAgIGlmICghc2FuaXRpemVkVXJsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgVVJMIHByb3ZpZGVkIHdhcyBub3QgdHJ1c3RlZCBhcyBhIHJlc291cmNlIFVSTDogXCIke3VybH1cIi5gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzU3ZnSWNvbkNhY2hlZChuYW1lLCBmYW1pbHkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZXRjaFN2Zyh1cmwpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVTdmdJY29uKG5hbWUsIHJlcywgZmFtaWx5LCBzdHJpcE1ldGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pY29uTG9hZGVkLm5leHQoeyBuYW1lLCB2YWx1ZTogcmVzLCBmYW1pbHkgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBzaG91bGQgcHJvdmlkZSBhdCBsZWFzdCBgbmFtZWAgYW5kIGB1cmxgIHRvIHJlZ2lzdGVyIGFuIHN2ZyBpY29uLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFkZHMgYW4gU1ZHIGltYWdlIHRvIHRoZSBjYWNoZS4gU1ZHIHNvdXJjZSBpcyBpdHMgdGV4dC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogICB0aGlzLmljb25TZXJ2aWNlLmFkZFN2Z0ljb25Gcm9tVGV4dCgnc2ltcGxlJywgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAwIDIwMFwiPlxuICAgICAqICAgPHBhdGggZD1cIk03NCA3NGg1NHY1NEg3NFwiIC8+PC9zdmc+JywgJ3N2Zy1mbGFncycpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRTdmdJY29uRnJvbVRleHQobmFtZTogc3RyaW5nLCBpY29uVGV4dDogc3RyaW5nLCBmYW1pbHkgPSAnJywgc3RyaXBNZXRhID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKG5hbWUgJiYgaWNvblRleHQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU3ZnSWNvbkNhY2hlZChuYW1lLCBmYW1pbHkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNhY2hlU3ZnSWNvbihuYW1lLCBpY29uVGV4dCwgZmFtaWx5LCBzdHJpcE1ldGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3Ugc2hvdWxkIHByb3ZpZGUgYXQgbGVhc3QgYG5hbWVgIGFuZCBgaWNvblRleHRgIHRvIHJlZ2lzdGVyIGFuIHN2ZyBpY29uLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFJldHVybnMgd2hldGhlciBhIGdpdmVuIFNWRyBpbWFnZSBpcyBwcmVzZW50IGluIHRoZSBjYWNoZS5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogICBjb25zdCBpc1N2Z0NhY2hlZCA9IHRoaXMuaWNvblNlcnZpY2UuaXNTdmdJY29uQ2FjaGVkKCdhcnViYScsICdzdmctZmxhZ3MnKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTdmdJY29uQ2FjaGVkKG5hbWU6IHN0cmluZywgZmFtaWx5ID0gJycpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZmFtaWx5Q2xhc3NOYW1lID0gdGhpcy5mYW1pbHlDbGFzc05hbWUoZmFtaWx5KTtcbiAgICAgICAgaWYgKHRoaXMuX2NhY2hlZFN2Z0ljb25zLmhhcyhmYW1pbHlDbGFzc05hbWUpKSB7XG4gICAgICAgICAgICBjb25zdCBmYW1pbHlSZWdpc3RyeSA9IHRoaXMuX2NhY2hlZFN2Z0ljb25zLmdldChmYW1pbHlDbGFzc05hbWUpIGFzIE1hcDxzdHJpbmcsIFNhZmVIdG1sPjtcbiAgICAgICAgICAgIHJldHVybiBmYW1pbHlSZWdpc3RyeS5oYXMobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIFJldHVybnMgdGhlIGNhY2hlZCBTVkcgaW1hZ2UgYXMgc3RyaW5nLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgIGNvbnN0IHN2Z0ljb24gPSB0aGlzLmljb25TZXJ2aWNlLmdldFN2Z0ljb24oJ2FydWJhJywgJ3N2Zy1mbGFncycpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTdmdJY29uKG5hbWU6IHN0cmluZywgZmFtaWx5ID0gJycpIHtcbiAgICAgICAgY29uc3QgZmFtaWx5Q2xhc3NOYW1lID0gdGhpcy5mYW1pbHlDbGFzc05hbWUoZmFtaWx5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlZFN2Z0ljb25zLmdldChmYW1pbHlDbGFzc05hbWUpPy5nZXQobmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgZmV0Y2hTdmcodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCByZXEgPSB0aGlzLl9odHRwQ2xpZW50LmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSk7XG4gICAgICAgIHJldHVybiByZXE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgY2FjaGVTdmdJY29uKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZmFtaWx5ID0gdGhpcy5fZmFtaWx5LCBzdHJpcE1ldGE6IGJvb2xlYW4pIHtcbiAgICAgICAgZmFtaWx5ID0gZmFtaWx5ID8gZmFtaWx5IDogdGhpcy5fZmFtaWx5O1xuXG4gICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybVV0aWw/LmlzQnJvd3NlciAmJiBuYW1lICYmIHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSB0aGlzLl9kb21QYXJzZXIucGFyc2VGcm9tU3RyaW5nKHZhbHVlLCAnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgICAgICAgICAgY29uc3Qgc3ZnID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIGFzIFNWR0VsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5fY2FjaGVkU3ZnSWNvbnMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRTdmdJY29ucy5zZXQoZmFtaWx5LCBuZXcgTWFwPHN0cmluZywgU2FmZUh0bWw+KCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc3ZnKSB7XG4gICAgICAgICAgICAgICAgc3ZnLnNldEF0dHJpYnV0ZSgnZml0JywgJycpO1xuICAgICAgICAgICAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAneE1pZFlNaWQgbWVldCcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHN0cmlwTWV0YSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IHN2Zy5xdWVyeVNlbGVjdG9yKCd0aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXNjID0gc3ZnLnF1ZXJ5U2VsZWN0b3IoJ2Rlc2MnKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Zy5yZW1vdmVDaGlsZCh0aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVzYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnLnJlbW92ZUNoaWxkKGRlc2MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgc2FmZVN2ZyA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzdmcub3V0ZXJIVE1MKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRTdmdJY29ucy5nZXQoZmFtaWx5KS5zZXQobmFtZSwgc2FmZVN2Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|