@quadrel-enterprise-ui/framework 18.29.0 → 18.29.1

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.
@@ -39,9 +39,7 @@ export class QdTableResolverService {
39
39
  // TODO: Add Error handling
40
40
  this.tableStoreService
41
41
  .selectDataResolutionCriteria$()
42
- .pipe(takeUntil(this._destroyed$), distinctUntilChanged(isEqual), filter((resolutionCriteria) => {
43
- return !!resolutionCriteria && this.shouldDataBeResolved(resolutionCriteria);
44
- }), map(({ tableParams, connectorParams }) => {
42
+ .pipe(takeUntil(this._destroyed$), distinctUntilChanged(isEqual), filter((resolutionCriteria) => !!resolutionCriteria && this.shouldDataBeResolved(resolutionCriteria)), map(({ tableParams, connectorParams }) => {
45
43
  return {
46
44
  ...(this._hasPagination ? tableParams : {}),
47
45
  ...connectorParams
@@ -59,7 +57,7 @@ export class QdTableResolverService {
59
57
  this._refreshSubscription.unsubscribe();
60
58
  this._refreshSubscription = this.tableStoreService
61
59
  .selectDataResolutionCriteria$()
62
- .pipe(first(), tap(() => this.tableStoreService.setRequestState(QdTableRequestState.PENDING)), switchMap(resolutionCriteria => this.tableDataResolver.resolve({
60
+ .pipe(filter((criteria) => !!criteria), first(), tap(() => this.tableStoreService.setRequestState(QdTableRequestState.PENDING)), switchMap(resolutionCriteria => this.tableDataResolver.resolve({
63
61
  ...resolutionCriteria.tableParams,
64
62
  ...resolutionCriteria.connectorParams,
65
63
  ...(this._hasPagination && pageIndex !== undefined ? { page: pageIndex } : {})
@@ -92,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
92
90
  type: Inject,
93
91
  args: [QD_TABLE_DATA_RESOLVER_TOKEN]
94
92
  }] }, { type: i1.QdTableStoreService }, { type: i2.TranslateService }, { type: i3.QdTableExternalActionResultService }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9zZXJ2aWNlcy9yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQWlELG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBR3RGLE1BQU0sT0FBTyxzQkFBc0I7SUFNb0M7SUFDbEQ7SUFDQTtJQUNBO0lBUlgsV0FBVyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzNDLG9CQUFvQixDQUFnQjtJQUNwQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRTlCLFlBQ3FFLGlCQUF5QyxFQUMzRixpQkFBeUMsRUFDekMsZ0JBQWtDLEVBQ2xDLG1CQUF1RDtRQUhMLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBd0I7UUFD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O2FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzt1R0E3RlUsc0JBQXNCLGtCQU1YLDRCQUE0QjsyR0FOdkMsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFPTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IHsgZmlyc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBRZFRhYmxlQ29ubmVjdG9yU3RhdGUgfSBmcm9tICcuLi9tb2RlbC9jb25uZWN0b3JzLXN0YXRlLmVudW0nO1xuaW1wb3J0IHsgUWRUYWJsZURhdGFSZXNvbHZlciwgUWRUYWJsZURhdGFSZXNvbHZlclByb3BzLCBRZFRhYmxlUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlcic7XG5pbXBvcnQgeyBRRF9UQUJMRV9EQVRBX1JFU09MVkVSX1RPS0VOIH0gZnJvbSAnLi4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlci50b2tlbic7XG5pbXBvcnQgeyBRZFRhYmxlRGF0YVJlc29sdXRpb25Dcml0ZXJpYSB9IGZyb20gJy4uL21vZGVsL3RhYmxlLXN0b3JlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvdGFibGUtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlIH0gZnJvbSAnLi9leHRlcm5hbC1hY3Rpb24tcmVzdWx0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUWRUYWJsZVJlc29sdmVyU2VydmljZTxUIGV4dGVuZHMgc3RyaW5nPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3llZCQ6IFN1YmplY3Q8bnVsbD4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9yZWZyZXNoU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9oYXNQYWdpbmF0aW9uID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgdGFibGVEYXRhUmVzb2x2ZXI6IFFkVGFibGVEYXRhUmVzb2x2ZXI8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVN0b3JlU2VydmljZTogUWRUYWJsZVN0b3JlU2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25SZXN1bHRTZXJ2aWNlOiBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaWJlVG9FeHRlcm5hbFJlZnJlc2goKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGluaXQocmVmcmVzaE9uTGFuZ3VhZ2VDaGFuZ2U/OiBib29sZWFuLCBoYXNQYWdpbmF0aW9uID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWJsZURhdGFSZXNvbHZlcikgcmV0dXJuO1xuICAgIHRoaXMuX2hhc1BhZ2luYXRpb24gPSBoYXNQYWdpbmF0aW9uO1xuICAgIGlmIChyZWZyZXNoT25MYW5ndWFnZUNoYW5nZSkgdGhpcy5zdWJzY3JpYmVUb0xhbmdDaGFuZ2VzKCk7XG5cbiAgICAvLyBUT0RPOiBBZGQgRXJyb3IgaGFuZGxpbmdcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAuc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgIGZpbHRlcigocmVzb2x1dGlvbkNyaXRlcmlhKTogcmVzb2x1dGlvbkNyaXRlcmlhIGlzIFFkVGFibGVEYXRhUmVzb2x1dGlvbkNyaXRlcmlhPFQ+ID0+IHtcbiAgICAgICAgICByZXR1cm4gISFyZXNvbHV0aW9uQ3JpdGVyaWEgJiYgdGhpcy5zaG91bGREYXRhQmVSZXNvbHZlZChyZXNvbHV0aW9uQ3JpdGVyaWEpO1xuICAgICAgICB9KSxcbiAgICAgICAgbWFwKCh7IHRhYmxlUGFyYW1zLCBjb25uZWN0b3JQYXJhbXMgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi4odGhpcy5faGFzUGFnaW5hdGlvbiA/IHRhYmxlUGFyYW1zIDoge30pLFxuICAgICAgICAgICAgLi4uY29ubmVjdG9yUGFyYW1zXG4gICAgICAgICAgfSBhcyBRZFRhYmxlRGF0YVJlc29sdmVyUHJvcHM8VD47XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXRSZXF1ZXN0U3RhdGUoUWRUYWJsZVJlcXVlc3RTdGF0ZS5QRU5ESU5HKSksXG4gICAgICAgIHN3aXRjaE1hcChyZXNvbHV0aW9uUGFyYW1zID0+IHRoaXMudGFibGVEYXRhUmVzb2x2ZXIucmVzb2x2ZShyZXNvbHV0aW9uUGFyYW1zKSksXG4gICAgICAgIHRhcCgoeyBkYXRhLCBzaXplLCBwYWdlLCB0b3RhbEVsZW1lbnRzIH0pID0+IHtcbiAgICAgICAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldFBhZ2UocGFnZSA/PyAwLCBzaXplLCB0b3RhbEVsZW1lbnRzLCBkYXRhKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldFJlcXVlc3RTdGF0ZShRZFRhYmxlUmVxdWVzdFN0YXRlLlNVQ0NFU1MpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVmcmVzaChyZXNvbHZlck9wdGlvbnM6IHsgcGFnZUluZGV4PzogbnVtYmVyIH0gPSB7fSk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWJsZURhdGFSZXNvbHZlcikgcmV0dXJuIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gUmVmcmVzaCBza2lwcGVkOiByZXNvbHZlciBub3QgcHJvdmlkZWQuJyk7XG5cbiAgICBjb25zdCB7IHBhZ2VJbmRleCB9ID0gcmVzb2x2ZXJPcHRpb25zO1xuXG4gICAgaWYgKHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24pIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24gPSB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAuc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldFJlcXVlc3RTdGF0ZShRZFRhYmxlUmVxdWVzdFN0YXRlLlBFTkRJTkcpKSxcbiAgICAgICAgc3dpdGNoTWFwKHJlc29sdXRpb25Dcml0ZXJpYSA9PlxuICAgICAgICAgIHRoaXMudGFibGVEYXRhUmVzb2x2ZXIucmVzb2x2ZSh7XG4gICAgICAgICAgICAuLi5yZXNvbHV0aW9uQ3JpdGVyaWEudGFibGVQYXJhbXMsXG4gICAgICAgICAgICAuLi5yZXNvbHV0aW9uQ3JpdGVyaWEuY29ubmVjdG9yUGFyYW1zLFxuICAgICAgICAgICAgLi4uKHRoaXMuX2hhc1BhZ2luYXRpb24gJiYgcGFnZUluZGV4ICE9PSB1bmRlZmluZWQgPyB7IHBhZ2U6IHBhZ2VJbmRleCB9IDoge30pXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKCh7IHBhZ2UsIGRhdGEsIHNpemUsIHRvdGFsRWxlbWVudHMgfSkgPT4gdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXRQYWdlKHBhZ2UsIHNpemUsIHRvdGFsRWxlbWVudHMsIGRhdGEpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMudGFibGVTdG9yZVNlcnZpY2Uuc2V0UmVxdWVzdFN0YXRlKFFkVGFibGVSZXF1ZXN0U3RhdGUuU1VDQ0VTUykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvTGFuZ0NoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkRGF0YUJlUmVzb2x2ZWQoe1xuICAgIGhhc0Nvbm5lY3RvcnMsXG4gICAgY29ubmVjdG9yc1N0YXRlLFxuICAgIHRhYmxlUGFyYW1zXG4gIH06IFFkVGFibGVEYXRhUmVzb2x1dGlvbkNyaXRlcmlhPFQ+KTogYm9vbGVhbiB7XG4gICAgaWYgKGhhc0Nvbm5lY3RvcnMgJiYgY29ubmVjdG9yc1N0YXRlID09PSBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuQVdBSVRJTkcpIHJldHVybiBmYWxzZTtcblxuICAgIGlmICghdGhpcy5faGFzUGFnaW5hdGlvbikgcmV0dXJuIHRydWU7XG5cbiAgICByZXR1cm4gdGFibGVQYXJhbXM/LnNpemUgIT09IHVuZGVmaW5lZCAmJiB0YWJsZVBhcmFtcz8ucGFnZSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0V4dGVybmFsUmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvblJlc3VsdFNlcnZpY2UuYWN0aW9uU3VjY2VzcyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUocGFnZUluZGV4ID0+IHRoaXMucmVmcmVzaCh7IHBhZ2VJbmRleCB9KSk7XG4gIH1cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9zZXJ2aWNlcy9yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQWlELG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBR3RGLE1BQU0sT0FBTyxzQkFBc0I7SUFNb0M7SUFDbEQ7SUFDQTtJQUNBO0lBUlgsV0FBVyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzNDLG9CQUFvQixDQUFnQjtJQUNwQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRTlCLFlBQ3FFLGlCQUF5QyxFQUMzRixpQkFBeUMsRUFDekMsZ0JBQWtDLEVBQ2xDLG1CQUF1RDtRQUhMLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBd0I7UUFD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RU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjO2FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzt1R0EvRlUsc0JBQXNCLGtCQU1YLDRCQUE0QjsyR0FOdkMsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFPTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IHsgZmlyc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBRZFRhYmxlQ29ubmVjdG9yU3RhdGUgfSBmcm9tICcuLi9tb2RlbC9jb25uZWN0b3JzLXN0YXRlLmVudW0nO1xuaW1wb3J0IHsgUWRUYWJsZURhdGFSZXNvbHZlciwgUWRUYWJsZURhdGFSZXNvbHZlclByb3BzLCBRZFRhYmxlUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlcic7XG5pbXBvcnQgeyBRRF9UQUJMRV9EQVRBX1JFU09MVkVSX1RPS0VOIH0gZnJvbSAnLi4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlci50b2tlbic7XG5pbXBvcnQgeyBRZFRhYmxlRGF0YVJlc29sdXRpb25Dcml0ZXJpYSB9IGZyb20gJy4uL21vZGVsL3RhYmxlLXN0b3JlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvdGFibGUtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlIH0gZnJvbSAnLi9leHRlcm5hbC1hY3Rpb24tcmVzdWx0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUWRUYWJsZVJlc29sdmVyU2VydmljZTxUIGV4dGVuZHMgc3RyaW5nPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3llZCQ6IFN1YmplY3Q8bnVsbD4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9yZWZyZXNoU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9oYXNQYWdpbmF0aW9uID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgdGFibGVEYXRhUmVzb2x2ZXI6IFFkVGFibGVEYXRhUmVzb2x2ZXI8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVN0b3JlU2VydmljZTogUWRUYWJsZVN0b3JlU2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25SZXN1bHRTZXJ2aWNlOiBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaWJlVG9FeHRlcm5hbFJlZnJlc2goKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGluaXQocmVmcmVzaE9uTGFuZ3VhZ2VDaGFuZ2U/OiBib29sZWFuLCBoYXNQYWdpbmF0aW9uID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWJsZURhdGFSZXNvbHZlcikgcmV0dXJuO1xuICAgIHRoaXMuX2hhc1BhZ2luYXRpb24gPSBoYXNQYWdpbmF0aW9uO1xuICAgIGlmIChyZWZyZXNoT25MYW5ndWFnZUNoYW5nZSkgdGhpcy5zdWJzY3JpYmVUb0xhbmdDaGFuZ2VzKCk7XG5cbiAgICAvLyBUT0RPOiBBZGQgRXJyb3IgaGFuZGxpbmdcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAuc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAocmVzb2x1dGlvbkNyaXRlcmlhKTogcmVzb2x1dGlvbkNyaXRlcmlhIGlzIFFkVGFibGVEYXRhUmVzb2x1dGlvbkNyaXRlcmlhPFQ+ID0+XG4gICAgICAgICAgICAhIXJlc29sdXRpb25Dcml0ZXJpYSAmJiB0aGlzLnNob3VsZERhdGFCZVJlc29sdmVkKHJlc29sdXRpb25Dcml0ZXJpYSlcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKCh7IHRhYmxlUGFyYW1zLCBjb25uZWN0b3JQYXJhbXMgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi4odGhpcy5faGFzUGFnaW5hdGlvbiA/IHRhYmxlUGFyYW1zIDoge30pLFxuICAgICAgICAgICAgLi4uY29ubmVjdG9yUGFyYW1zXG4gICAgICAgICAgfSBhcyBRZFRhYmxlRGF0YVJlc29sdmVyUHJvcHM8VD47XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXRSZXF1ZXN0U3RhdGUoUWRUYWJsZVJlcXVlc3RTdGF0ZS5QRU5ESU5HKSksXG4gICAgICAgIHN3aXRjaE1hcChyZXNvbHV0aW9uUGFyYW1zID0+IHRoaXMudGFibGVEYXRhUmVzb2x2ZXIucmVzb2x2ZShyZXNvbHV0aW9uUGFyYW1zKSksXG4gICAgICAgIHRhcCgoeyBkYXRhLCBzaXplLCBwYWdlLCB0b3RhbEVsZW1lbnRzIH0pID0+IHtcbiAgICAgICAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldFBhZ2UocGFnZSA/PyAwLCBzaXplLCB0b3RhbEVsZW1lbnRzLCBkYXRhKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldFJlcXVlc3RTdGF0ZShRZFRhYmxlUmVxdWVzdFN0YXRlLlNVQ0NFU1MpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVmcmVzaChyZXNvbHZlck9wdGlvbnM6IHsgcGFnZUluZGV4PzogbnVtYmVyIH0gPSB7fSk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YWJsZURhdGFSZXNvbHZlcikgcmV0dXJuIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gUmVmcmVzaCBza2lwcGVkOiByZXNvbHZlciBub3QgcHJvdmlkZWQuJyk7XG5cbiAgICBjb25zdCB7IHBhZ2VJbmRleCB9ID0gcmVzb2x2ZXJPcHRpb25zO1xuXG4gICAgaWYgKHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24pIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24gPSB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAuc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoY3JpdGVyaWE6IGFueSk6IGNyaXRlcmlhIGlzIFFkVGFibGVEYXRhUmVzb2x1dGlvbkNyaXRlcmlhPFQ+ID0+ICEhY3JpdGVyaWEpLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXRSZXF1ZXN0U3RhdGUoUWRUYWJsZVJlcXVlc3RTdGF0ZS5QRU5ESU5HKSksXG4gICAgICAgIHN3aXRjaE1hcChyZXNvbHV0aW9uQ3JpdGVyaWEgPT5cbiAgICAgICAgICB0aGlzLnRhYmxlRGF0YVJlc29sdmVyLnJlc29sdmUoe1xuICAgICAgICAgICAgLi4ucmVzb2x1dGlvbkNyaXRlcmlhLnRhYmxlUGFyYW1zLFxuICAgICAgICAgICAgLi4ucmVzb2x1dGlvbkNyaXRlcmlhLmNvbm5lY3RvclBhcmFtcyxcbiAgICAgICAgICAgIC4uLih0aGlzLl9oYXNQYWdpbmF0aW9uICYmIHBhZ2VJbmRleCAhPT0gdW5kZWZpbmVkID8geyBwYWdlOiBwYWdlSW5kZXggfSA6IHt9KVxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoeyBwYWdlLCBkYXRhLCBzaXplLCB0b3RhbEVsZW1lbnRzIH0pID0+IHRoaXMudGFibGVTdG9yZVNlcnZpY2Uuc2V0UGFnZShwYWdlLCBzaXplLCB0b3RhbEVsZW1lbnRzLCBkYXRhKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldFJlcXVlc3RTdGF0ZShRZFRhYmxlUmVxdWVzdFN0YXRlLlNVQ0NFU1MpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0xhbmdDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2goKSk7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZERhdGFCZVJlc29sdmVkKHtcbiAgICBoYXNDb25uZWN0b3JzLFxuICAgIGNvbm5lY3RvcnNTdGF0ZSxcbiAgICB0YWJsZVBhcmFtc1xuICB9OiBRZFRhYmxlRGF0YVJlc29sdXRpb25Dcml0ZXJpYTxUPik6IGJvb2xlYW4ge1xuICAgIGlmIChoYXNDb25uZWN0b3JzICYmIGNvbm5lY3RvcnNTdGF0ZSA9PT0gUWRUYWJsZUNvbm5lY3RvclN0YXRlLkFXQUlUSU5HKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoIXRoaXMuX2hhc1BhZ2luYXRpb24pIHJldHVybiB0cnVlO1xuXG4gICAgcmV0dXJuIHRhYmxlUGFyYW1zPy5zaXplICE9PSB1bmRlZmluZWQgJiYgdGFibGVQYXJhbXM/LnBhZ2UgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9FeHRlcm5hbFJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25SZXN1bHRTZXJ2aWNlLmFjdGlvblN1Y2Nlc3MkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKHBhZ2VJbmRleCA9PiB0aGlzLnJlZnJlc2goeyBwYWdlSW5kZXggfSkpO1xuICB9XG59XG4iXX0=
@@ -141,4 +141,4 @@ export class QdTableStoreService {
141
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdTableStoreService, decorators: [{
142
142
  type: Injectable
143
143
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.QdTableStoreSelectorService }] });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9zdG9yZS90YWJsZS1zdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBWWpELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBSTdFLE1BQU0sT0FBTyxtQkFBbUI7SUFJWDtJQUNBO0lBSm5CLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFYixZQUNtQixLQUE2QixFQUM3Qix5QkFBc0Q7UUFEdEQsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUE2QjtJQUN0RSxDQUFDO0lBRUosSUFBSTtRQUNGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQ1osSUFBb0MsRUFDcEMsV0FBb0IsRUFDcEIsVUFBOEIsRUFDOUIsYUFBYSxHQUFHLEtBQUs7UUFFckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUk7WUFDSixXQUFXO1lBQ1gsVUFBVTtZQUNWLGFBQWE7U0FDZCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxZQUFvQztRQUM3RCxJQUFJLENBQUMsS0FB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QkFBcUIsQ0FBQyxhQUFxQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7dUdBckxVLG1CQUFtQjsyR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFFkVGFibGVDb25uZWN0b3IsXG4gIFFkVGFibGVDb25uZWN0b3JDcml0ZXJpYSxcbiAgUWRUYWJsZURhdGFSZXNvbHV0aW9uQ3JpdGVyaWEsXG4gIFFkVGFibGVQYWdpbmF0b3JDdXJyZW50UGFnZSxcbiAgUWRUYWJsZVN0YXRlLFxuICBRZFRhYmxlU3RvcmVcbn0gZnJvbSAnLi4vbW9kZWwvdGFibGUtc3RvcmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVBY3Rpb25zIH0gZnJvbSAnLi90YWJsZS5hY3Rpb25zJztcblxuaW1wb3J0IHsgUWRUYWJsZUNvbm5lY3RvclN0YXRlIH0gZnJvbSAnLi4vbW9kZWwvY29ubmVjdG9ycy1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IFFkU29ydERpcmVjdGlvbiB9IGZyb20gJy4uL21vZGVsL3NvcnQtZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgUWRUYWJsZUNvbmZpZ0NvbHVtbiB9IGZyb20gJy4uL21vZGVsL3RhYmxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL21vZGVsL3RhYmxlLWRhdGEtcmVzb2x2ZXInO1xuaW1wb3J0IHtcbiAgUWRUYWJsZURhdGEsXG4gIFFkVGFibGVEYXRhUm93LFxuICBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uLFxuICBRZFRhYmxlUm93SWRlbnRpZmllclxufSBmcm9tICcuLi9tb2RlbC90YWJsZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UgfSBmcm9tICcuL3RhYmxlLXN0b3JlLXNlbGVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUcmVlRGF0YSB9IGZyb20gJy4uLy4uL3RyZWUvbW9kZWwvdHJlZS1kYXRhLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRZFRhYmxlU3RvcmVTZXJ2aWNlPFQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgdGFibGVJZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPFFkVGFibGVTdG9yZTxUPj4sXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlOiBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2VcbiAgKSB7fVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnRhYmxlSWQgPSB0aGlzLnRhYmxlSWQ7XG4gIH1cblxuICAvKipcbiAgICogQWN0aW9uc1xuICAgKi9cbiAgaW5pdFRhYmxlU3RhdGUoXG4gICAgZGF0YTogUWRUYWJsZURhdGE8VD4gfCBRZFRyZWVEYXRhPFQ+LFxuICAgIGhhc1Jlc29sdmVyOiBib29sZWFuLFxuICAgIGNvbm5lY3RvcnM6IFFkVGFibGVDb25uZWN0b3JbXSxcbiAgICBoYXNQYWdpbmF0aW9uID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFFkVGFibGVBY3Rpb25zLmluaXRUYWJsZVN0YXRlKHtcbiAgICAgICAgdGFibGVJZDogdGhpcy50YWJsZUlkLFxuICAgICAgICBkYXRhLFxuICAgICAgICBoYXNSZXNvbHZlcixcbiAgICAgICAgY29ubmVjdG9ycyxcbiAgICAgICAgaGFzUGFnaW5hdGlvblxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaW5pdFRhYmxlU3RhdGVTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzOiBRZFRhYmxlUm93SWRlbnRpZmllcltdKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFFkVGFibGVBY3Rpb25zLmluaXRUYWJsZVN0YXRlU2VsZWN0ZWRSb3dzKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBzZWxlY3RlZFJvd3M6IFsuLi5zZWxlY3RlZFJvd3NdIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlU3RhdGVEYXRhKGRhdGE6IFFkVGFibGVEYXRhPFQ+IHwgUWRUcmVlRGF0YTxUPik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMudXBkYXRlVGFibGVTdGF0ZURhdGEoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIGRhdGEgfSkpO1xuICB9XG5cbiAgdXBkYXRlVGFibGVTdGF0ZVJvd1RvU2VsZWN0ZWQocm93SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMudXBkYXRlVGFibGVTdGF0ZVJvd1RvU2VsZWN0ZWQoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIHJvd0luZGV4IH0pKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlU3RhdGVTaW5nbGVSb3dUb1NlbGVjdGVkKHJvd0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnVwZGF0ZVRhYmxlU3RhdGVTaW5nbGVSb3dUb1NlbGVjdGVkKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCByb3dJbmRleCB9KSk7XG4gIH1cblxuICB1cGRhdGVUYWJsZVN0YXRlUm93VG9VbnNlbGVjdGVkKHJvd0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnVwZGF0ZVRhYmxlU3RhdGVSb3dUb1Vuc2VsZWN0ZWQoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIHJvd0luZGV4IH0pKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlU3RhdGVSZWNlbnRTZWNvbmRhcnlBY3Rpb24oYWN0aW9uOiBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uPGFueT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgUWRUYWJsZUFjdGlvbnMudXBkYXRlVGFibGVTdGF0ZVJlY2VudFNlY29uZGFyeUFjdGlvbih7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCwgcmVjZW50U2Vjb25kYXJ5QWN0aW9uOiBhY3Rpb24gfSlcbiAgICApO1xuICB9XG5cbiAgc2V0dXBQYWdpbmF0aW9uKHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnNldHVwUGFnaW5hdGlvbih7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCwgcGFnZVNpemUgfSkpO1xuICB9XG5cbiAgc2V0UGFnZShwYWdlSW5kZXg6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciwgdG90YWxDb3VudDogbnVtYmVyLCBkYXRhOiBRZFRhYmxlRGF0YTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChRZFRhYmxlQWN0aW9ucy5zZXRQYWdlKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBwYWdlSW5kZXgsIHBhZ2VTaXplLCB0b3RhbENvdW50LCBkYXRhIH0pKTtcbiAgfVxuXG4gIHNldFBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnNldFBhZ2VTaXplKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBwYWdlU2l6ZSB9KSk7XG4gIH1cblxuICBzZXRQYWdlUGFyYW1zKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCB0b3RhbENvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnNldFBhZ2VQYXJhbXMoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIHBhZ2VJbmRleCwgcGFnZVNpemUsIHRvdGFsQ291bnQgfSkpO1xuICB9XG5cbiAgc2V0dXBTb3J0KGNvbHVtbnM6IFFkVGFibGVDb25maWdDb2x1bW48VD5bXSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMuc2V0dXBTb3J0KHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBjb2x1bW5zIH0pKTtcbiAgfVxuXG4gIHNldFNvcnQoY29sdW1uOiBzdHJpbmcsIGRpcmVjdGlvbjogUWRTb3J0RGlyZWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChRZFRhYmxlQWN0aW9ucy5zZXRTb3J0KHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBjb2x1bW4sIGRpcmVjdGlvbiB9KSk7XG4gIH1cblxuICB1cGRhdGVTb3J0KGNvbHVtbjogc3RyaW5nLCBkaXJlY3Rpb246IFFkU29ydERpcmVjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMudXBkYXRlU29ydCh7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCwgY29sdW1uLCBkaXJlY3Rpb24gfSkpO1xuICB9XG5cbiAgc2V0UmVxdWVzdFN0YXRlKHJlcXVlc3RTdGF0ZTogUWRUYWJsZVJlcXVlc3RTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMuc2V0UmVxdWVzdFN0YXRlKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCByZXF1ZXN0U3RhdGUgfSkpO1xuICB9XG5cbiAgY29ubmVjdChcbiAgICBjb25uZWN0b3JOYW1lOiBzdHJpbmcsXG4gICAgY29ubmVjdG9yU3RhdGU6IFFkVGFibGVDb25uZWN0b3JTdGF0ZSxcbiAgICBjb25uZWN0b3JDcml0ZXJpYTogUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBRZFRhYmxlQWN0aW9ucy5jb25uZWN0KHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBjb25uZWN0b3JDcml0ZXJpYSwgY29ubmVjdG9yTmFtZSwgY29ubmVjdG9yU3RhdGUgfSlcbiAgICApO1xuICB9XG5cbiAgcmVzZXRDb25uZWN0b3JTdGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChRZFRhYmxlQWN0aW9ucy5yZXNldENvbm5lY3RvclN0YXRlcyh7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCB9KSk7XG4gIH1cblxuICBkZWxldGVUYWJsZVN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMuZGVsZXRlVGFibGVTdGF0ZSh7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCB9KSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0c1xuICAgKi9cbiAgdGFibGUkKCk6IE9ic2VydmFibGU8UWRUYWJsZVN0YXRlPHN0cmluZz4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnRhYmxlKCkpO1xuICB9XG5cbiAgdGFibGVEYXRhRW50cmllcyQoKTogT2JzZXJ2YWJsZTxRZFRhYmxlRGF0YTxhbnk+IHwgUWRUcmVlRGF0YTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS50YWJsZURhdGFFbnRyaWVzKCkpO1xuICB9XG5cbiAgc2VsZWN0ZWRSb3dzJCgpOiBPYnNlcnZhYmxlPFFkVGFibGVSb3dJZGVudGlmaWVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0ZWRSb3dzKCkpXG4gICAgICAucGlwZShmaWx0ZXIoc2VsZWN0ZWRSb3dzID0+IHNlbGVjdGVkUm93cyAhPT0gdW5kZWZpbmVkKSk7XG4gIH1cblxuICBpc1RhYmxlUm93U2VsZWN0ZWQkKHJvd0luZGV4OiBudW1iZXIpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLmlzVGFibGVSb3dTZWxlY3RlZChyb3dJbmRleCkpO1xuICB9XG5cbiAgcmVjZW50U2Vjb25kYXJ5QWN0aW9uJCgpOiBPYnNlcnZhYmxlPFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb248VD4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UucmVjZW50U2Vjb25kYXJ5QWN0aW9uKCkpXG4gICAgICAucGlwZShmaWx0ZXIoYWN0aW9uID0+IGFjdGlvbj8ucm93RGF0YSAhPT0gdW5kZWZpbmVkKSk7XG4gIH1cblxuICB0YWJsZVJvdyQocm93SW5kZXg6IG51bWJlcik6IE9ic2VydmFibGU8UWRUYWJsZURhdGFSb3c8VD4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnRhYmxlUm93KHJvd0luZGV4KSk7XG4gIH1cblxuICBjYW5QYWdlQmFja3dhcmQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UuY2FuUGFnZUJhY2t3YXJkKCkpO1xuICB9XG5cbiAgY2FuUGFnZUZvcndhcmQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UuY2FuUGFnZUZvcndhcmQoKSk7XG4gIH1cblxuICBwYWdlSW5mbyQoKTogT2JzZXJ2YWJsZTxRZFRhYmxlUGFnaW5hdG9yQ3VycmVudFBhZ2UgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnBhZ2VJbmZvKCkpO1xuICB9XG5cbiAgcGFnZVNpemUkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS5wYWdlU2l6ZSgpKTtcbiAgfVxuXG4gIHRvdGFsQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS50b3RhbENvdW50KCkpO1xuICB9XG5cbiAgcGFnZUNoYW5nZUluZm8kKCk6IE9ic2VydmFibGU8XG4gICAgeyBwYWdlSW5kZXg6IG51bWJlcjsgcGFnZVNpemU6IG51bWJlcjsgcmVxdWVzdFN0YXRlOiBRZFRhYmxlUmVxdWVzdFN0YXRlIH0gfCB1bmRlZmluZWRcbiAgPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS5wYWdlQ2hhbmdlSW5mbygpKTtcbiAgfVxuXG4gIGNvbHVtblNvcnREaXJlY3Rpb24kKGNvbHVtbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxRZFNvcnREaXJlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLmNvbHVtblNvcnREaXJlY3Rpb24oY29sdW1uKSk7XG4gIH1cblxuICBzZWxlY3RJc0xvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0SXNMb2FkaW5nKCkpO1xuICB9XG5cbiAgc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSQoKTogT2JzZXJ2YWJsZTxRZFRhYmxlRGF0YVJlc29sdXRpb25Dcml0ZXJpYTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSgpKTtcbiAgfVxuXG4gIHNlbGVjdENvbm5lY3RvclN0YXRlJChjb25uZWN0b3JOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFFkVGFibGVDb25uZWN0b3JTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0Q29ubmVjdG9yU3RhdGUoY29ubmVjdG9yTmFtZSkpO1xuICB9XG59XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9zdG9yZS90YWJsZS1zdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBWWpELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBSTdFLE1BQU0sT0FBTyxtQkFBbUI7SUFJWDtJQUNBO0lBSm5CLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFYixZQUNtQixLQUE2QixFQUM3Qix5QkFBc0Q7UUFEdEQsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUE2QjtJQUN0RSxDQUFDO0lBRUosSUFBSTtRQUNGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQ1osSUFBb0MsRUFDcEMsV0FBb0IsRUFDcEIsVUFBOEIsRUFDOUIsYUFBYSxHQUFHLEtBQUs7UUFFckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUk7WUFDSixXQUFXO1lBQ1gsVUFBVTtZQUNWLGFBQWE7U0FDZCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxZQUFvQztRQUM3RCxJQUFJLENBQUMsS0FB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QkFBcUIsQ0FBQyxhQUFxQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7dUdBckxVLG1CQUFtQjsyR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFFkVGFibGVDb25uZWN0b3IsXG4gIFFkVGFibGVDb25uZWN0b3JDcml0ZXJpYSxcbiAgUWRUYWJsZURhdGFSZXNvbHV0aW9uQ3JpdGVyaWEsXG4gIFFkVGFibGVQYWdpbmF0b3JDdXJyZW50UGFnZSxcbiAgUWRUYWJsZVN0YXRlLFxuICBRZFRhYmxlU3RvcmVcbn0gZnJvbSAnLi4vbW9kZWwvdGFibGUtc3RvcmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVBY3Rpb25zIH0gZnJvbSAnLi90YWJsZS5hY3Rpb25zJztcblxuaW1wb3J0IHsgUWRUYWJsZUNvbm5lY3RvclN0YXRlIH0gZnJvbSAnLi4vbW9kZWwvY29ubmVjdG9ycy1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IFFkU29ydERpcmVjdGlvbiB9IGZyb20gJy4uL21vZGVsL3NvcnQtZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgUWRUYWJsZUNvbmZpZ0NvbHVtbiB9IGZyb20gJy4uL21vZGVsL3RhYmxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL21vZGVsL3RhYmxlLWRhdGEtcmVzb2x2ZXInO1xuaW1wb3J0IHtcbiAgUWRUYWJsZURhdGEsXG4gIFFkVGFibGVEYXRhUm93LFxuICBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uLFxuICBRZFRhYmxlUm93SWRlbnRpZmllclxufSBmcm9tICcuLi9tb2RlbC90YWJsZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UgfSBmcm9tICcuL3RhYmxlLXN0b3JlLXNlbGVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUcmVlRGF0YSB9IGZyb20gJy4uLy4uL3RyZWUvbW9kZWwvdHJlZS1kYXRhLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRZFRhYmxlU3RvcmVTZXJ2aWNlPFQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgdGFibGVJZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPFFkVGFibGVTdG9yZTxUPj4sXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlOiBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2VcbiAgKSB7fVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnRhYmxlSWQgPSB0aGlzLnRhYmxlSWQ7XG4gIH1cblxuICAvKipcbiAgICogQWN0aW9uc1xuICAgKi9cbiAgaW5pdFRhYmxlU3RhdGUoXG4gICAgZGF0YTogUWRUYWJsZURhdGE8VD4gfCBRZFRyZWVEYXRhPFQ+LFxuICAgIGhhc1Jlc29sdmVyOiBib29sZWFuLFxuICAgIGNvbm5lY3RvcnM6IFFkVGFibGVDb25uZWN0b3JbXSxcbiAgICBoYXNQYWdpbmF0aW9uID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFFkVGFibGVBY3Rpb25zLmluaXRUYWJsZVN0YXRlKHtcbiAgICAgICAgdGFibGVJZDogdGhpcy50YWJsZUlkLFxuICAgICAgICBkYXRhLFxuICAgICAgICBoYXNSZXNvbHZlcixcbiAgICAgICAgY29ubmVjdG9ycyxcbiAgICAgICAgaGFzUGFnaW5hdGlvblxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaW5pdFRhYmxlU3RhdGVTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzOiBRZFRhYmxlUm93SWRlbnRpZmllcltdKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFFkVGFibGVBY3Rpb25zLmluaXRUYWJsZVN0YXRlU2VsZWN0ZWRSb3dzKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBzZWxlY3RlZFJvd3M6IFsuLi5zZWxlY3RlZFJvd3NdIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlU3RhdGVEYXRhKGRhdGE6IFFkVGFibGVEYXRhPFQ+IHwgUWRUcmVlRGF0YTxUPik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMudXBkYXRlVGFibGVTdGF0ZURhdGEoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIGRhdGEgfSkpO1xuICB9XG5cbiAgdXBkYXRlVGFibGVTdGF0ZVJvd1RvU2VsZWN0ZWQocm93SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMudXBkYXRlVGFibGVTdGF0ZVJvd1RvU2VsZWN0ZWQoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIHJvd0luZGV4IH0pKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlU3RhdGVTaW5nbGVSb3dUb1NlbGVjdGVkKHJvd0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnVwZGF0ZVRhYmxlU3RhdGVTaW5nbGVSb3dUb1NlbGVjdGVkKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCByb3dJbmRleCB9KSk7XG4gIH1cblxuICB1cGRhdGVUYWJsZVN0YXRlUm93VG9VbnNlbGVjdGVkKHJvd0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnVwZGF0ZVRhYmxlU3RhdGVSb3dUb1Vuc2VsZWN0ZWQoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIHJvd0luZGV4IH0pKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlU3RhdGVSZWNlbnRTZWNvbmRhcnlBY3Rpb24oYWN0aW9uOiBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uPGFueT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgUWRUYWJsZUFjdGlvbnMudXBkYXRlVGFibGVTdGF0ZVJlY2VudFNlY29uZGFyeUFjdGlvbih7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCwgcmVjZW50U2Vjb25kYXJ5QWN0aW9uOiBhY3Rpb24gfSlcbiAgICApO1xuICB9XG5cbiAgc2V0dXBQYWdpbmF0aW9uKHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnNldHVwUGFnaW5hdGlvbih7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCwgcGFnZVNpemUgfSkpO1xuICB9XG5cbiAgc2V0UGFnZShwYWdlSW5kZXg6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciwgdG90YWxDb3VudDogbnVtYmVyLCBkYXRhOiBRZFRhYmxlRGF0YTxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChRZFRhYmxlQWN0aW9ucy5zZXRQYWdlKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBwYWdlSW5kZXgsIHBhZ2VTaXplLCB0b3RhbENvdW50LCBkYXRhIH0pKTtcbiAgfVxuXG4gIHNldFBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnNldFBhZ2VTaXplKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBwYWdlU2l6ZSB9KSk7XG4gIH1cblxuICBzZXRQYWdlUGFyYW1zKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCB0b3RhbENvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFFkVGFibGVBY3Rpb25zLnNldFBhZ2VQYXJhbXMoeyB0YWJsZUlkOiB0aGlzLnRhYmxlSWQsIHBhZ2VJbmRleCwgcGFnZVNpemUsIHRvdGFsQ291bnQgfSkpO1xuICB9XG5cbiAgc2V0dXBTb3J0KGNvbHVtbnM6IFFkVGFibGVDb25maWdDb2x1bW48VD5bXSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMuc2V0dXBTb3J0KHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBjb2x1bW5zIH0pKTtcbiAgfVxuXG4gIHNldFNvcnQoY29sdW1uOiBzdHJpbmcsIGRpcmVjdGlvbjogUWRTb3J0RGlyZWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChRZFRhYmxlQWN0aW9ucy5zZXRTb3J0KHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBjb2x1bW4sIGRpcmVjdGlvbiB9KSk7XG4gIH1cblxuICB1cGRhdGVTb3J0KGNvbHVtbjogc3RyaW5nLCBkaXJlY3Rpb246IFFkU29ydERpcmVjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMudXBkYXRlU29ydCh7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCwgY29sdW1uLCBkaXJlY3Rpb24gfSkpO1xuICB9XG5cbiAgc2V0UmVxdWVzdFN0YXRlKHJlcXVlc3RTdGF0ZTogUWRUYWJsZVJlcXVlc3RTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMuc2V0UmVxdWVzdFN0YXRlKHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCByZXF1ZXN0U3RhdGUgfSkpO1xuICB9XG5cbiAgY29ubmVjdChcbiAgICBjb25uZWN0b3JOYW1lOiBzdHJpbmcsXG4gICAgY29ubmVjdG9yU3RhdGU6IFFkVGFibGVDb25uZWN0b3JTdGF0ZSxcbiAgICBjb25uZWN0b3JDcml0ZXJpYTogUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBRZFRhYmxlQWN0aW9ucy5jb25uZWN0KHsgdGFibGVJZDogdGhpcy50YWJsZUlkLCBjb25uZWN0b3JDcml0ZXJpYSwgY29ubmVjdG9yTmFtZSwgY29ubmVjdG9yU3RhdGUgfSlcbiAgICApO1xuICB9XG5cbiAgcmVzZXRDb25uZWN0b3JTdGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChRZFRhYmxlQWN0aW9ucy5yZXNldENvbm5lY3RvclN0YXRlcyh7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCB9KSk7XG4gIH1cblxuICBkZWxldGVUYWJsZVN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUWRUYWJsZUFjdGlvbnMuZGVsZXRlVGFibGVTdGF0ZSh7IHRhYmxlSWQ6IHRoaXMudGFibGVJZCB9KSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0c1xuICAgKi9cbiAgdGFibGUkKCk6IE9ic2VydmFibGU8UWRUYWJsZVN0YXRlPHN0cmluZz4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnRhYmxlKCkpO1xuICB9XG5cbiAgdGFibGVEYXRhRW50cmllcyQoKTogT2JzZXJ2YWJsZTxRZFRhYmxlRGF0YTxhbnk+IHwgUWRUcmVlRGF0YTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS50YWJsZURhdGFFbnRyaWVzKCkpO1xuICB9XG5cbiAgc2VsZWN0ZWRSb3dzJCgpOiBPYnNlcnZhYmxlPFFkVGFibGVSb3dJZGVudGlmaWVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0ZWRSb3dzKCkpXG4gICAgICAucGlwZShmaWx0ZXIoc2VsZWN0ZWRSb3dzID0+IHNlbGVjdGVkUm93cyAhPT0gdW5kZWZpbmVkKSk7XG4gIH1cblxuICBpc1RhYmxlUm93U2VsZWN0ZWQkKHJvd0luZGV4OiBudW1iZXIpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLmlzVGFibGVSb3dTZWxlY3RlZChyb3dJbmRleCkpO1xuICB9XG5cbiAgcmVjZW50U2Vjb25kYXJ5QWN0aW9uJCgpOiBPYnNlcnZhYmxlPFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb248VD4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UucmVjZW50U2Vjb25kYXJ5QWN0aW9uKCkpXG4gICAgICAucGlwZShmaWx0ZXIoYWN0aW9uID0+IGFjdGlvbj8ucm93RGF0YSAhPT0gdW5kZWZpbmVkKSk7XG4gIH1cblxuICB0YWJsZVJvdyQocm93SW5kZXg6IG51bWJlcik6IE9ic2VydmFibGU8UWRUYWJsZURhdGFSb3c8VD4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnRhYmxlUm93KHJvd0luZGV4KSk7XG4gIH1cblxuICBjYW5QYWdlQmFja3dhcmQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UuY2FuUGFnZUJhY2t3YXJkKCkpO1xuICB9XG5cbiAgY2FuUGFnZUZvcndhcmQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UuY2FuUGFnZUZvcndhcmQoKSk7XG4gIH1cblxuICBwYWdlSW5mbyQoKTogT2JzZXJ2YWJsZTxRZFRhYmxlUGFnaW5hdG9yQ3VycmVudFBhZ2UgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLnBhZ2VJbmZvKCkpO1xuICB9XG5cbiAgcGFnZVNpemUkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS5wYWdlU2l6ZSgpKTtcbiAgfVxuXG4gIHRvdGFsQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS50b3RhbENvdW50KCkpO1xuICB9XG5cbiAgcGFnZUNoYW5nZUluZm8kKCk6IE9ic2VydmFibGU8XG4gICAgeyBwYWdlSW5kZXg6IG51bWJlcjsgcGFnZVNpemU6IG51bWJlcjsgcmVxdWVzdFN0YXRlOiBRZFRhYmxlUmVxdWVzdFN0YXRlIH0gfCB1bmRlZmluZWRcbiAgPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMudGFibGVTdG9yZVNlbGVjdG9yU2VydmljZS5wYWdlQ2hhbmdlSW5mbygpKTtcbiAgfVxuXG4gIGNvbHVtblNvcnREaXJlY3Rpb24kKGNvbHVtbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxRZFNvcnREaXJlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QodGhpcy50YWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLmNvbHVtblNvcnREaXJlY3Rpb24oY29sdW1uKSk7XG4gIH1cblxuICBzZWxlY3RJc0xvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0SXNMb2FkaW5nKCkpO1xuICB9XG5cbiAgc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSQoKTogT2JzZXJ2YWJsZTxRZFRhYmxlRGF0YVJlc29sdXRpb25Dcml0ZXJpYTxUPiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0RGF0YVJlc29sdXRpb25Dcml0ZXJpYSgpKTtcbiAgfVxuXG4gIHNlbGVjdENvbm5lY3RvclN0YXRlJChjb25uZWN0b3JOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFFkVGFibGVDb25uZWN0b3JTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdCh0aGlzLnRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2Uuc2VsZWN0Q29ubmVjdG9yU3RhdGUoY29ubmVjdG9yTmFtZSkpO1xuICB9XG59XG4iXX0=
@@ -263,11 +263,11 @@ export class QdTableComponent {
263
263
  }
264
264
  ngOnInit() {
265
265
  this.tableStoreService.tableId = this.config.uid || uuid();
266
- this.resolverService.init(this.config.refreshOnLanguageChange, this.hasPagination);
267
266
  this.tableStoreService.init();
268
267
  this.tableStoreService.initTableState(this._data, this.hasResolver, this._connectors, this.hasPagination);
269
268
  this.tableStoreService.updateTableStateRecentSecondaryAction(undefined);
270
269
  this.tableStoreService.setupSort(this.config.columns);
270
+ this.resolverService.init(this.config.refreshOnLanguageChange, this.hasPagination);
271
271
  this.data$ = this.tableStoreService.tableDataEntries$();
272
272
  this.mapColumnFillsWidth();
273
273
  this.validateConfig();
@@ -488,4 +488,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
488
488
  type: HostBinding,
489
489
  args: ['attr.data-test-id']
490
490
  }] } });
491
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1B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QjtZQUMzQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixrQ0FBa0M7U0FDbkMscUVBMkZVLHlCQUF5QixxRUMvUHRDLHNkQU9BOzsyRkR1S2EsZ0JBQWdCO2tCQXhCNUIsU0FBUzsrQkFDRSxVQUFVLGFBR1Q7d0JBQ1QsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLGtDQUFrQztxQkFDbkMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsaUNBQWlDLEVBQUUsa0NBQWtDO3dCQUNyRSxpQ0FBaUMsRUFBRSxrQ0FBa0M7d0JBQ3JFLG9CQUFvQixFQUFFLHdDQUF3Qzt3QkFDOUQsNENBQTRDLEVBQUUsTUFBTTtxQkFDckQ7OzBCQXFIRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBQy9DLFFBQVE7a1dBM0ZGLE1BQU07c0JBQWQsS0FBSztnQkF3QkYsSUFBSTtzQkFEUCxLQUFLO2dCQVNpQixNQUFNO3NCQUE1QixLQUFLO3VCQUFDLGNBQWM7Z0JBUVgscUJBQXFCO3NCQUE5QixNQUFNO2dCQVFHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRStCLFNBQVM7c0JBQTlDLFNBQVM7dUJBQUMseUJBQXlCO2dCQUVFLFVBQVU7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBORVZFUiwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5cbmltcG9ydCB7IFFkQnJlYWtwb2ludFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL2JyZWFrcG9pbnQuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRW1wdHlTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUZpbGxpbmdXaWR0aFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ZpbGxpbmctd2lkdGguc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlUmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVSZXNwb25zaXZlUm93U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcmVzcG9uc2l2ZS1yb3cuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlUm93U2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcm93LXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVTZWNvbmRhcnlBY3Rpb25zU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Vjb25kYXJ5LWFjdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3RhYmxlLXN0b3JlLXNlbGVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvdGFibGUtc3RvcmUuc2VydmljZSc7XG5cbmltcG9ydCB7IFFkVGFibGVEYXRhUmVzb2x2ZXIgfSBmcm9tICcuL21vZGVsL3RhYmxlLWRhdGEtcmVzb2x2ZXInO1xuaW1wb3J0IHsgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTiB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlci50b2tlbic7XG5cbmltcG9ydCB7IFFkVGFibGVDb25maWcsIFFkVGFibGVGaWxsaW5nQ29sdW1uIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVEYXRhLCBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlU2VsZWN0ZWRSb3dzIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1yb3ctc2VsZWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlQWN0aW9uUmVzdWx0LCBRZFRhYmxlUmVmcmVzaENvbmZpZyB9IGZyb20gJy4vbW9kZWwvdGFibGUtY29uZmlnLWFjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVDb25uZWN0b3IsIFFkVGFibGVDb25uZWN0b3JDcml0ZXJpYSwgUWRUYWJsZVN0YXRlIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1zdG9yZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUNvbm5lY3RvclN0YXRlIH0gZnJvbSAnLi9tb2RlbC9jb25uZWN0b3JzLXN0YXRlLmVudW0nO1xuaW1wb3J0IHsgUWRQYWdpbmF0b3JEaXJlY3Rpb24gfSBmcm9tICcuL21vZGVsL3BhZ2luYXRvci1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IvdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudE5hbWUsIFFkUHVzaEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3B1c2gtZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUV4dGVybmFsQWN0aW9uUmVzdWx0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXh0ZXJuYWwtYWN0aW9uLXJlc3VsdC5zZXJ2aWNlJztcblxuLyoqXG4gKiBRZFRhYmxlQ29tcG9uZW50IGlzIGEgcmVzcG9uc2l2ZSBhbmQgaGlnaGx5IGNvbmZpZ3VyYWJsZSB0YWJsZSBjb21wb25lbnQgZGVzaWduZWQgZm9yIGVmZmVjdGl2ZSBkYXRhIGRpc3BsYXkgYW5kIHVzZXIgaW50ZXJhY3Rpb24uXG4gKiBJdCBzdXBwb3J0cyBwYWdpbmF0aW9uLCBzb3J0aW5nLCBhY3Rpb25zLCBzZWxlY3Rpb25zLCBhbmQgY3VzdG9taXphYmxlIGNvbHVtbnMuXG4gKlxuICogIyMjIyAqKkZlYXR1cmVzKipcbiAqIC0gKipSV0QgUmVhZHkqKjogQXV0b21hdGljYWxseSBhZGFwdHMgdG8gdmFyaW91cyBzY3JlZW4gc2l6ZXMuXG4gKiAtICoqQ3VzdG9tIENvbHVtbnMqKjogRGVmaW5lIGNvbnRlbnQgdHlwZXMgbGlrZSB0ZXh0LCBkYXRlLCBjaGlwLCBvciBpY29uLlxuICogLSAqKlBhZ2luYXRpb24gJiBTb3J0aW5nKio6IFN1cHBvcnRzIGRhdGEgcGFnaW5hdGlvbiBhbmQgY29sdW1uIHNvcnRpbmcuIFBhZ2luYXRpb24gaXMgb3B0aW9uYWwuXG4gKiAtICoqUm93IFNlbGVjdGlvbnMqKjogU2luZ2xlIG9yIG11bHRpcGxlIHJvdyBzZWxlY3Rpb24uXG4gKiAtICoqQWN0aW9ucyoqOiBQcmltYXJ5IGFuZCBzZWNvbmRhcnkgcm93IGFjdGlvbnMgd2l0aCByZWZyZXNoIHN1cHBvcnQuXG4gKiAtICoqSW50ZXJuYXRpb25hbGl6YXRpb24gKGkxOG5zKSoqOiBMb2NhbGl6ZSBjb2x1bW4gaGVhZGVycyBhbmQgc3BlY2lmaWMgY29udGVudCB0eXBlcyAoZS5nLiwgdGV4dCwgY2hpcCkuXG4gKiAtICoqU2VjdGlvbiBUb29sYmFyIENvbW11bmljYXRpb24qKjogQ29tbXVuaWNhdGUgd2l0aCB0aGUgUUxTIGZvciBzZWFyY2ggYW5kIGZpbHRlcmluZy5cbiAqXG4gKiAjIyMjICoqQmFzaWMgVXNhZ2UqKlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgQ29sdW1uRGVmaW5pdGlvbiA9ICduYW1lJyB8ICdhZ2UnIHwgJ2FjdGl2ZSc7XG4gKlxuICogY29uZmlnOiBRZFRhYmxlQ29uZmlnPENvbHVtbkRlZmluaXRpb24+ID0ge1xuICogICBjb2x1bW5zOiBbXG4gKiAgICAgeyBjb2x1bW46ICduYW1lJywgdHlwZTogJ3RleHQnIH0sXG4gKiAgICAgeyBjb2x1bW46ICdhZ2UnLCB0eXBlOiAnaW50ZWdlcicgfSxcbiAqICAgICB7IGNvbHVtbjogJ2FjdGl2ZScsIHR5cGU6ICdib29sZWFuJyB9XG4gKiAgIF1cbiAqIH07XG4gKlxuICogZGF0YTogUWRUYWJsZURhdGE8Q29sdW1uRGVmaW5pdGlvbj4gPSBbXG4gKiAgIHsgbmFtZTogJ0FsaWNlJywgYWdlOiAzMCwgYWN0aXZlOiB0cnVlIH0sXG4gKiAgIHsgbmFtZTogJ0JvYicsIGFnZTogMjUsIGFjdGl2ZTogZmFsc2UgfVxuICogXTtcbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxxZC10YWJsZSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cImRhdGFcIj48L3FkLXRhYmxlPlxuICogYGBgXG4gKlxuICogIyMjIyAqKlJlc29sdmVyLCBQYWdpbmF0aW9uLCBhbmQgU29ydGluZyoqXG4gKlxuICogTG9hZCBkYXRhIGR5bmFtaWNhbGx5LCBtYW5hZ2UgcGFnaW5hdGlvbiwgYW5kIGVuYWJsZSBjb2x1bW4gc29ydGluZyB1c2luZyBRdWFkcmVsJ3MgaW50ZXJmYWNlIGFuZCBpbmplY3Rpb24gdG9rZW4uXG4gKlxuICogUGFnaW5hdGlvbiBpcyBvcHRpb25hbC4gSWYgbm90IGNvbmZpZ3VyZWQsIHRoZSBmdWxsIGRhdGFzZXQgaXMgaGFuZGxlZCBjbGllbnQtc2lkZS5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBleHBvcnQgY2xhc3MgTXlUYWJsZVJlc29sdmVyIGltcGxlbWVudHMgUWRUYWJsZURhdGFSZXNvbHZlcjxDb2x1bW5EZWZpbml0aW9uPiB7XG4gKiAgIHJlc29sdmUoY3JpdGVyaWE6IFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wczxDb2x1bW5EZWZpbml0aW9uPik6IE9ic2VydmFibGU8UWRUYWJsZVJlc29sdmVkRGF0YTxDb2x1bW5EZWZpbml0aW9uPj4ge1xuICogICAgIC8vIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiBoZXJlXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBDb21wb25lbnQoe1xuICogICBzZWxlY3RvcjogJ215LXRhYmxlJyxcbiAqICAgdGVtcGxhdGU6ICc8cWQtdGFibGUgW2NvbmZpZ109XCJjb25maWdcIj48L3FkLXRhYmxlPicsXG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHtcbiAqICAgICAgIHByb3ZpZGU6IFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4sXG4gKiAgICAgICB1c2VDbGFzczogTXlUYWJsZVJlc29sdmVyXG4gKiAgICAgfVxuICogICBdXG4gKiB9KVxuICogY2xhc3MgTXlUYWJsZUNvbXBvbmVudCB7XG4gKiAgIGNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAqICAgICBjb2x1bW5zOiBbXG4gKiAgICAgICB7IGNvbHVtbjogJ25hbWUnLCB0eXBlOiAndGV4dCcsIHNvcnQ6IHsgZGlyZWN0aW9uOiAnYXNjJyB9IH0sXG4gKiAgICAgICB7IGNvbHVtbjogJ2FnZScsIHR5cGU6ICdpbnRlZ2VyJywgc29ydDoge30gfSxcbiAqICAgICAgIHsgY29sdW1uOiAnYWN0aXZlJywgdHlwZTogJ2Jvb2xlYW4nIH1cbiAqICAgICBdLFxuICogICAgIHBhZ2luYXRpb246IHtcbiAqICAgICAgIHBhZ2VTaXplczogWzEwLCAyMCwgNTBdLFxuICogICAgICAgcGFnZVNpemVEZWZhdWx0OiAxMFxuICogICAgIH0gLy8g4oaQIG9taXQgdGhpcyBzZWN0aW9uIHRvIGRpc2FibGUgcGFnaW5hdGlvblxuICogICB9O1xuICogfVxuICogYGBgXG4gKlxuICogIyMjIyAqKlNlbGVjdGlvbnMgYW5kIEFjdGlvbnMqKlxuICpcbiAqIENvbmZpZ3VyZSByb3cgc2VsZWN0aW9ucyBhbmQgdHJpZ2dlciBwcmltYXJ5IG9yIHNlY29uZGFyeSBhY3Rpb25zLlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAqICAgY29sdW1uczogW1xuICogICAgIHsgY29sdW1uOiAnbmFtZScsIHR5cGU6ICd0ZXh0JyB9LFxuICogICAgIHsgY29sdW1uOiAnYWdlJywgdHlwZTogJ2ludGVnZXInIH0sXG4gKiAgICAgeyBjb2x1bW46ICdhY3RpdmUnLCB0eXBlOiAnYm9vbGVhbicgfVxuICogICBdLFxuICogICBzZWxlY3Rpb246IHtcbiAqICAgICB0eXBlOiAnbXVsdGlTZWxlY3QnLFxuICogICAgIGhhbmRsZXI6IChzZWxlY3RlZFJvd3MpID0+IHNlbGVjdChzZWxlY3RlZFJvd3MpXG4gKiAgIH0sXG4gKiAgIHNlY29uZGFyeUFjdGlvbnM6IFtcbiAqICAgICB7XG4gKiAgICAgICB0eXBlOiAnZWRpdCcsXG4gKiAgICAgICBoYW5kbGVyOiAoeyByb3dEYXRhIH0pID0+IGVkaXQocm93RGF0YSlcbiAqICAgICB9LFxuICogICAgIHtcbiAqICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICogICAgICAgaXNEaXNhYmxlZDogKHJvdykgPT4gIXJvdy5hY3RpdmUsXG4gKiAgICAgICBoYW5kbGVyOiAoeyByb3dEYXRhIH0pID0+IGRlbGV0ZShyb3dEYXRhKVxuICogICAgIH1cbiAqICAgXVxuICogfTtcbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdxZC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbW1vbi5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFFkVGFibGVTdG9yZVNlcnZpY2UsXG4gICAgUWRUYWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLFxuICAgIFFkVGFibGVFbXB0eVN0YXRlU2VydmljZSxcbiAgICBRZFRhYmxlU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UsXG4gICAgUWRUYWJsZVJlc3BvbnNpdmVSb3dTZXJ2aWNlLFxuICAgIFFkVGFibGVSb3dTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIFFkVGFibGVGaWxsaW5nV2lkdGhTZXJ2aWNlLFxuICAgIFFkVGFibGVSZXNvbHZlclNlcnZpY2UsXG4gICAgUWRUYWJsZUV4dGVybmFsQWN0aW9uUmVzdWx0U2VydmljZVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MucWQtdGFibGVdJzogJ3RydWUnLFxuICAgICdbY2xhc3MubWFpbi1jb2x1bW4tZmlsbHMtd2lkdGhdJzogJ3doaWNoQ29sdW1uRmlsbHNXaWR0aCA9PT0gXCJtYWluXCInLFxuICAgICdbY2xhc3MubGFzdC1jb2x1bW4tZmlsbHMtd2lkdGhdJzogJ3doaWNoQ29sdW1uRmlsbHNXaWR0aCA9PT0gXCJsYXN0XCInLFxuICAgICdbY2xhc3MuaGFybW9uaXplZF0nOiAnd2hpY2hDb2x1bW5GaWxsc1dpZHRoID09PSBcImhhcm1vbml6ZWRcIicsXG4gICAgJ1thdHRyLmRhdGEtcWQtbm8taG9yaXpvbnRhbC1wYWRkaW5nLXNtYWxsXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFFkVGFibGVDb21wb25lbnQ8VCBleHRlbmRzIHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb2YgdGhlIHRhYmxlLiBUaGUgZ2VuZXJpYyB0eXBlIHNwZWNpZmllcyB0aGUgY29sdW1uIGRlZmluaXRpb24uIDxiciAvPlxuICAgKlxuICAgKiAqKlVzYWdlOioqXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHR5cGUgQ29sdW1uRGVmaW5pdGlvbiA9ICdhcnRpY2xlJyB8ICdtYXNzJyB8ICdkb2N1bWVudHMnO1xuICAgKiBjb25zdCB0YWJsZUNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAgICogICBjb2x1bW5zOiBbXG4gICAqICAgICB7XG4gICAqICAgICAgIGNvbHVtbjogJ2FydGljbGUnLFxuICAgKiAgICAgICB0eXBlOiAndGV4dCdcbiAgICogICAgIH0sXG4gICAqICAgICB7XG4gICAqICAgICAgIGNvbHVtbjogJ21hc3MnLFxuICAgKiAgICAgICB0eXBlOiAnaW50ZWdlcidcbiAgICogICAgIH0sXG4gICAqICAgICB7XG4gICAqICAgICAgIGNvbHVtbjogJ2RvY3VtZW50cycsXG4gICAqICAgICAgIHR5cGU6ICdib29sZWFuJ1xuICAgKiAgICAgfVxuICAgKiAgIF1cbiAgICogfVxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnITogUWRUYWJsZUNvbmZpZzxUPjtcblxuICAvKipcbiAgICogT25lIHdheSB0byBmaWxsIHRoZSB0YWJsZSB3aXRoIGRhdGEuIEFub3RoZXIgb3B0aW9uIGlzIHRvIHVzZSBhIHJlc29sdmVyLCB3aGljaCBpcyBuZWVkZWQgZm9yIHBhZ2luYXRpb24sIGZvciBpbnN0YW5jZS4gPGJyIC8+XG4gICAqIFRoZSBnZW5lcmljIHR5cGUgaXMgdXNlZCBmb3IgdGhlIGNvbHVtbiBkZWZpbml0aW9uLiA8YnIgLz5cbiAgICpcbiAgICogKipVc2FnZToqKlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0eXBlIENvbHVtbkRlZmluaXRpb24gPSAnYXJ0aWNsZScgfCAnbWFzcycgfCAnZG9jdW1lbnRzJztcbiAgICogY29uc3QgdGFibGVEYXRhOiBRZFRhYmxlRGF0YTxDb2x1bW5EZWZpbml0aW9uPiA9IFtcbiAgICogICB7XG4gICAqICAgICBhcnRpY2xlOiAnYXJ0aWNsZSBvbmUnLFxuICAgKiAgICAgbWFzczogMTAsXG4gICAqICAgICBkb2N1bWVudHM6IHRydWVcbiAgICogICB9LFxuICAgKiAgIHtcbiAgICogICAgIGFydGljbGU6ICdhcnRpY2xlIHR3bycsXG4gICAqICAgICBtYXNzOiAyMCxcbiAgICogICAgIGRvY3VtZW50czogZmFsc2VcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkYXRhKGRhdGE6IFFkVGFibGVEYXRhPFQ+KSB7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogQSBzdGF0aWMgdGVzdCBJRCBmb3IgaW50ZWdyYXRpb24gdGVzdHMgY2FuIGJlIHNldC4gPGJyIC8+XG4gICAqIFRoZSB2YWx1ZSBmb3IgdGhlIEhUTUwgYXR0cmlidXRlIFtkYXRhLXRlc3QtaWRdLlxuICAgKi9cbiAgQElucHV0KCdkYXRhLXRlc3QtaWQnKSB0ZXN0SWQgPSAndGFibGUnO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIGFuIHNlY29uZGFyeSBhY3Rpb24gaXMgdHJpZ2dlcmVkLiBUaGUgcmV0dXJuIHZhbHVlIGNvbnRhaW5zIHRoZSByb3ctc3BlY2lmaWMgZGF0YS4gPGJyIC8+XG4gICAqIGBzZWNvbmRhcnlBY3Rpb25zYCBtdXN0IGJlIGRlZmluZWQgaW4gdGhlIHRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqICogQHJldHVybnMgRXZlbnRFbWl0dGVyIHdpdGggZ2VuZXJpYyB0eXBlOiBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uXG4gICAqL1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uT3V0cHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uPFQ+PigpO1xuXG4gIC8qKlxuICAgKiBPdXRwdXRzIGFuIGV2ZW50IHdoZW4gb25lIG9yIG1vcmUgbGluZXMgYXJlIHNlbGVjdGVkLiBUaGUgcmV0dXJuIHZhbHVlIGNvbnRhaW5zIHRoZSByb3ctc3BlY2lmaWMgZGF0YS4gPGJyIC8+XG4gICAqIGBtdWx0aVNlbGVjdGAgb3IgYHNpbmdsZVNlbGVjdGAgbXVzdCBiZSBhY3RpdmF0ZWQgaW4gdGhlIHRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqICogQHJldHVybnMgRXZlbnRFbWl0dGVyIHdpdGggZ2VuZXJpYyB0eXBlOiBRZFRhYmxlU2VsZWN0ZWRSb3dzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzT3V0cHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxRZFRhYmxlU2VsZWN0ZWRSb3dzPFQ+PigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG5vIGNvbnRlbnRzIGFyZSBwcmVzZW50LiA8YnIgLz5cbiAgICogVGhlIGBlbXB0eVN0YXRlVmlld2AgbXVzdCBiZSBlbmFibGVkIGluIHRoZSB0YWJsZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgQE91dHB1dCgpIGVtcHR5U3RhdGVBY3Rpb25PdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50KSBwYWdpbmF0b3I/OiBRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50PFQ+O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRlc3QtaWQnKSBnZXQgZGF0YVRlc3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRlc3RJZCArICctJyArIHRoaXMudGFibGVTdG9yZVNlcnZpY2UudGFibGVJZDtcbiAgfVxuXG4gIGRhdGEkITogT2JzZXJ2YWJsZTxRZFRhYmxlRGF0YTxUPiB8IHVuZGVmaW5lZD47XG4gIGhhc0RhdGEkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaGFzRW1wdHlTdGF0ZVZpZXckITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcml2YXRlIHRhYmxlJCE6IE9ic2VydmFibGU8UWRUYWJsZVN0YXRlPHN0cmluZz4gfCB1bmRlZmluZWQ+O1xuICBwcml2YXRlIF9kYXRhOiBRZFRhYmxlRGF0YTxUPiA9IFtdO1xuICBwcml2YXRlIF9yZWNlbnRTZWNvbmRhcnlBY3Rpb25zU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9yb3dTZWxlY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9lbXB0eVN0YXRlQWN0aW9uU2VydmljZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfYnJlYWtwb2ludFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfcHVzaEV2ZW50c1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfcmVmcmVzaFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfY29ubmVjdG9yczogUWRUYWJsZUNvbm5lY3RvcltdID0gW107XG5cbiAgZ2V0IHdoaWNoQ29sdW1uRmlsbHNXaWR0aCgpOiBRZFRhYmxlRmlsbGluZ0NvbHVtbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsbGluZ1dpZHRoU2VydmljZS53aGljaENvbHVtbkZpbGxzV2lkdGg7XG4gIH1cblxuICBnZXQgaGFzUmVzb2x2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50YWJsZURhdGFSZXNvbHZlcjtcbiAgfVxuXG4gIGdldCBoYXNQYWdpbmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5oYXNQYWdpbmF0aW9uIHx8ICEhdGhpcy5jb25maWcucGFnaW5hdGlvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgdGFibGVEYXRhUmVzb2x2ZXI6IFFkVGFibGVEYXRhUmVzb2x2ZXI8VD4sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBwdXNoRXZlbnRzU2VydmljZTogUWRQdXNoRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlU3RvcmVTZXJ2aWNlOiBRZFRhYmxlU3RvcmVTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2U6IFFkVGFibGVTZWNvbmRhcnlBY3Rpb25zU2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvd1NlbGVjdGlvblNlcnZpY2U6IFFkVGFibGVSb3dTZWxlY3Rpb25TZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW1wdHlTdGF0ZVNlcnZpY2U6IFFkVGFibGVFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNpdmVSb3dTZXJ2aWNlOiBRZFRhYmxlUmVzcG9uc2l2ZVJvd1NlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxsaW5nV2lkdGhTZXJ2aWNlOiBRZFRhYmxlRmlsbGluZ1dpZHRoU2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRTZXJ2aWNlOiBRZEJyZWFrcG9pbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZXJTZXJ2aWNlOiBRZFRhYmxlUmVzb2x2ZXJTZXJ2aWNlPFQ+XG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnRhYmxlSWQgPSB0aGlzLmNvbmZpZy51aWQgfHwgdXVpZCgpO1xuXG4gICAgdGhpcy5yZXNvbHZlclNlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZy5yZWZyZXNoT25MYW5ndWFnZUNoYW5nZSwgdGhpcy5oYXNQYWdpbmF0aW9uKTtcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLmluaXRUYWJsZVN0YXRlKHRoaXMuX2RhdGEsIHRoaXMuaGFzUmVzb2x2ZXIsIHRoaXMuX2Nvbm5lY3RvcnMsIHRoaXMuaGFzUGFnaW5hdGlvbik7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXR1cFNvcnQodGhpcy5jb25maWcuY29sdW1ucyk7XG5cbiAgICB0aGlzLmRhdGEkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZURhdGFFbnRyaWVzJCgpIGFzIE9ic2VydmFibGU8UWRUYWJsZURhdGE8VD4+O1xuXG4gICAgdGhpcy5tYXBDb2x1bW5GaWxsc1dpZHRoKCk7XG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZygpO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUmVzcG9uc2l2ZVJvd1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVGaWxsaW5nV2lkdGhTZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplRW1wdHlTdGF0ZVNlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVSb3dTZWxlY3Rpb25TZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVQdXNoRXZlbnRzU2VydmljZSgpO1xuICAgIHRoaXMuaW5pdFJlZnJlc2goKTtcblxuICAgIHRoaXMudGFibGUkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZSQoKTtcbiAgICB0aGlzLmhhc0RhdGEkID0gdGhpcy5kYXRhJC5waXBlKG1hcChzdGF0ZSA9PiAoc3RhdGUgPz8gW10pLmxlbmd0aCA+IDApKTtcbiAgICB0aGlzLmhhc0VtcHR5U3RhdGVWaWV3JCA9IHRoaXMuaGFzRGF0YSQucGlwZShcbiAgICAgIG1hcChoYXNEYXRhID0+ICFoYXNEYXRhICYmICEhdGhpcy5jb25maWcuZW1wdHlTdGF0ZVZpZXcgJiYgIXRoaXMuY29uZmlnLmVtcHR5U3RhdGVWaWV3LmRpc2FibGVkKVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snZGF0YSddICYmXG4gICAgICAhY2hhbmdlc1snZGF0YSddLmZpcnN0Q2hhbmdlICYmXG4gICAgICBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydkYXRhJ10ucHJldmlvdXNWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnVwZGF0ZVRhYmxlU3RhdGVEYXRhKHRoaXMuX2RhdGEpO1xuICAgICAgaWYgKCF0aGlzLmhhc1BhZ2luYXRpb24pIHtcbiAgICAgICAgdGhpcy5kYXRhJCA9IG9mKHRoaXMuX2RhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ2NvbmZpZyddICYmXG4gICAgICAhY2hhbmdlc1snY29uZmlnJ10uZmlyc3RDaGFuZ2UgJiZcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2NvbmZpZyddLnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlVGFibGVDb25maWcoKTtcbiAgICAgIHRoaXMudXBkYXRlRmlsbGluZ1dpZHRoU2VydmljZVRhYmxlQ29uZmlnKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5yZXNldENvbm5lY3RvclN0YXRlcygpO1xuICAgIHRoaXMuZmlsbGluZ1dpZHRoU2VydmljZS5kZXN0cm95KCk7XG5cbiAgICB0aGlzLl9yZWNlbnRTZWNvbmRhcnlBY3Rpb25zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3Jvd1NlbGVjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZUFjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnVpZCB8fCB0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuZGVsZXRlVGFibGVTdGF0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJDb25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYmxlRGF0YVJlc29sdmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBxZENvbm5lY3RUb0ZpbHRlciBvbmx5IHdvcmtzIHdpdGggYSByZXNvbHZlci4gUGxlYXNlIGluamVjdCB0aGUgcmVzb2x2ZXIgdXNpbmcgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTi4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY29ubmVjdG9ycy5wdXNoKHsgY29ubmVjdG9yTmFtZSwgY29ubmVjdG9yU3RhdGU6IFFkVGFibGVDb25uZWN0b3JTdGF0ZS5BV0FJVElORyB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUZyb21Db25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nLCBDb25uZWN0b3JDcml0ZXJpYTogUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29ubmVjdG9yU3RhdGUgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNlbGVjdENvbm5lY3RvclN0YXRlJChjb25uZWN0b3JOYW1lKSk7XG4gICAgaWYgKGNvbm5lY3RvclN0YXRlID09PSBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQpIHtcbiAgICAgIHRoaXMucGFnaW5hdG9yPy5uYXZpZ2F0ZVRvUGFnZShRZFBhZ2luYXRvckRpcmVjdGlvbi5GaXJzdFBhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuY29ubmVjdChjb25uZWN0b3JOYW1lLCBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQsIENvbm5lY3RvckNyaXRlcmlhKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzcG9uc2l2ZVJvd1NlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50U2VydmljZS5nZXRNYXRjaGluZ0JyZWFrcG9pbnQoKS5zdWJzY3JpYmUoYnJlYWtwb2ludCA9PiB7XG4gICAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmN1cnJlbnRCcmVha3BvaW50ID0gYnJlYWtwb2ludDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVzcG9uc2l2ZVJvd1NlcnZpY2VUYWJsZUNvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRmlsbGluZ1dpZHRoU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGxpbmdXaWR0aFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWxsaW5nV2lkdGhTZXJ2aWNlVGFibGVDb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5maWxsaW5nV2lkdGhTZXJ2aWNlLnVwZGF0ZVRhYmxlQ29uZmlnKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVtcHR5U3RhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuZW1wdHlTdGF0ZVNlcnZpY2UuaTE4bnMgPSB0aGlzLmNvbmZpZy5pMThucztcblxuICAgIHRoaXMuX2VtcHR5U3RhdGVBY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5lbXB0eVN0YXRlU2VydmljZS5lbXB0eVN0YXRlQWN0aW9uJC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuZW1wdHlTdGF0ZUFjdGlvbk91dHB1dC5lbWl0KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUm93U2VsZWN0aW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd1NlbGVjdGlvblNlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9yb3dTZWxlY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkUm93cyQuc3Vic2NyaWJlKHNlbGVjdGVkUm93cyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93c091dHB1dC5lbWl0KHNlbGVjdGVkUm93cyk7XG4gICAgICB0aGlzLmNvbmZpZy5zZWxlY3Rpb24/LmhhbmRsZXI/LihzZWxlY3RlZFJvd3MpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25zU2VydmljZS5jb25maWdzID0gdGhpcy5jb25maWcuc2Vjb25kYXJ5QWN0aW9ucyA/PyBbXTtcblxuICAgIHRoaXMuX3JlY2VudFNlY29uZGFyeUFjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAucmVjZW50U2Vjb25kYXJ5QWN0aW9uJCgpXG4gICAgICAuc3Vic2NyaWJlKHJlY2VudEFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghcmVjZW50QWN0aW9uKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25PdXRwdXQuZW1pdChyZWNlbnRBY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY29uZmlnLnNlY29uZGFyeUFjdGlvbnM/LmZpbmQoYSA9PiBhLnR5cGUgPT09IHJlY2VudEFjdGlvbi50eXBlKTtcbiAgICAgICAgaWYgKCFhY3Rpb24/LmhhbmRsZXIpXG4gICAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gTm8gaGFuZGxlciBkZWZpbmVkIGZvciBzZWNvbmRhcnkgYWN0aW9uOicsIHJlY2VudEFjdGlvbi50eXBlKTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhY3Rpb24uaGFuZGxlcihyZWNlbnRBY3Rpb24pO1xuICAgICAgICBpZiAoYWN0aW9uLnJlZnJlc2g/LmlzRW5hYmxlZCkgdGhpcy5wcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQsIGFjdGlvbi5yZWZyZXNoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUHVzaEV2ZW50c1NlcnZpY2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHJldHVybjtcblxuICAgIGlmICghdGhpcy5jb25maWcudWlkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnUUQtVUkgfCBRZFRhYmxlIC0gQSB1aWQgaGFzIHRvIGJlIGRlZmluZWQgd2hlbiByZWZyZXNoT25QdXNoRXZlbnQgaXMgZW5hYmxlZC4gJyArXG4gICAgICAgICAgJ1RoZSB0YWJsZSB1aWQgaGFzIHRvIG1hdGNoIHRoZSBwYXRoIG9mIHRoZSBzZXJ2ZXIgc2lkZSBldmVudC4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnB1c2hFdmVudHNTZXJ2aWNlLmlzQ29ubmVjdGVkT3JDb25uZWN0aW5nKCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBZb3UgaGF2ZSB0byBjb25uZWN0IHRoZSBRZFB1c2hFdmVudHNTZXJ2aWNlIG9uIHlvdXIgb3duICcgK1xuICAgICAgICAgICdpZiB5b3UgZW5hYmxlIHRoZSByZWZyZXNoT25QdXNoRXZlbnQgZmxhZyBpbiB0aGUgdGFibGUuJ1xuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50cyA9IFsuLi4odGhpcy5jb25maWc/LnJlZnJlc2hpbmdFdmVudHMgfHwgW10pLCAnUkVTT1VSQ0VfVVBEQVRFRCddIGFzIEV2ZW50TmFtZVtdO1xuICAgIGNvbnN0IGNvbWJpbmVkRXZlbnRzJCA9IG1lcmdlKC4uLmV2ZW50cy5tYXAoZXZlbnROYW1lID0+IHRoaXMucHVzaEV2ZW50c1NlcnZpY2Uub2JzZXJ2ZShldmVudE5hbWUpKSk7XG5cbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uID0gY29tYmluZWRFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKG1lc3NhZ2VFdmVudCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKG1lc3NhZ2VFdmVudC5kYXRhKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnBhdGguaW5jbHVkZXModGhpcy5jb25maWcudWlkKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gcHJvY2VzcyBtZXNzYWdlRXZlbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGV2ZW50IHN0cmVhbTonLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyaWdnZXJSZWZyZXNoKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQ6IFFkVGFibGVBY3Rpb25SZXN1bHQsIHJlZnJlc2hDb25maWc6IFFkVGFibGVSZWZyZXNoQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHJlc3VsdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdWNjZXNzID0+IHN1Y2Nlc3MgJiYgdGhpcy50cmlnZ2VyUmVmcmVzaChyZWZyZXNoQ29uZmlnLnBhZ2UpKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHJpZ2dlclJlZnJlc2gocmVmcmVzaENvbmZpZy5wYWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fcmVmcmVzaFN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnJlZnJlc2g/LnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnRyaWdnZXJSZWZyZXNoKHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJSZWZyZXNoKHBhZ2VJbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZXJTZXJ2aWNlLnJlZnJlc2gocGFnZUluZGV4ICE9PSB1bmRlZmluZWQgPyB7IHBhZ2VJbmRleCB9IDoge30pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUNvbmZpZygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmkxOG5zKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1FELVVJIHwgUWRUYWJsZSAtIE5vIHRyYW5zbGF0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBzZWNvbmRhcnlBY3Rpb25zLicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2FuIGJlIGRlbGV0ZWQgd2hlbiB0aGUgcHJvcGVydHkgXCJtYWluQ29sdW1uTm90RmlsbGluZ1dpZHRoXCIgaXMgZHJvcHBlZC5cbiAgICpcbiAgICogKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBtYXBDb2x1bW5GaWxsc1dpZHRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcubWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1FELVVJIHwgUWRUYWJsZSAtIFRoZSBjb25maWcga2V5IFwibWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aFwiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgXCJ3aGljaENvbHVtbkZpbGxzV2lkdGhcIiBpbnN0ZWFkLidcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLndoaWNoQ29sdW1uRmlsbHNXaWR0aCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb25maWcud2hpY2hDb2x1bW5GaWxsc1dpZHRoID0gJ25vbmUnO1xuICB9XG59XG4iLCI8dGFibGUgW2NsYXNzXT1cIidxZC10YWJsZV9fdGFibGUnXCI+XG4gIDx0ciBxZC10YWJsZS1oZWFkIFtjb25maWddPVwiY29uZmlnXCIgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIj48L3RyPlxuICA8dGJvZHkgcWQtdGFibGUtYm9keSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cIihkYXRhJCB8IGFzeW5jKSA/PyBbXVwiIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCI+PC90Ym9keT5cbjwvdGFibGU+XG5cbjxxZC10YWJsZS1wYWdpbmF0b3IgW2NvbmZpZ109XCJjb25maWdcIiBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiICpuZ0lmPVwiaGFzUGFnaW5hdGlvblwiPjwvcWQtdGFibGUtcGFnaW5hdG9yPlxuPHFkLXRhYmxlLWVtcHR5LXN0YXRlICpuZ0lmPVwiaGFzRW1wdHlTdGF0ZVZpZXckIHwgYXN5bmNcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eVN0YXRlVmlld1wiPjwvcWQtdGFibGUtZW1wdHktc3RhdGU+XG4iXX0=
491
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1B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QjtZQUMzQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixrQ0FBa0M7U0FDbkMscUVBMkZVLHlCQUF5QixxRUMvUHRDLHNkQU9BOzsyRkR1S2EsZ0JBQWdCO2tCQXhCNUIsU0FBUzsrQkFDRSxVQUFVLGFBR1Q7d0JBQ1QsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLGtDQUFrQztxQkFDbkMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsaUNBQWlDLEVBQUUsa0NBQWtDO3dCQUNyRSxpQ0FBaUMsRUFBRSxrQ0FBa0M7d0JBQ3JFLG9CQUFvQixFQUFFLHdDQUF3Qzt3QkFDOUQsNENBQTRDLEVBQUUsTUFBTTtxQkFDckQ7OzBCQXFIRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBQy9DLFFBQVE7a1dBM0ZGLE1BQU07c0JBQWQsS0FBSztnQkF3QkYsSUFBSTtzQkFEUCxLQUFLO2dCQVNpQixNQUFNO3NCQUE1QixLQUFLO3VCQUFDLGNBQWM7Z0JBUVgscUJBQXFCO3NCQUE5QixNQUFNO2dCQVFHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRStCLFNBQVM7c0JBQTlDLFNBQVM7dUJBQUMseUJBQXlCO2dCQUVFLFVBQVU7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBORVZFUiwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5cbmltcG9ydCB7IFFkQnJlYWtwb2ludFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL2JyZWFrcG9pbnQuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRW1wdHlTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUZpbGxpbmdXaWR0aFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ZpbGxpbmctd2lkdGguc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlUmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVSZXNwb25zaXZlUm93U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcmVzcG9uc2l2ZS1yb3cuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlUm93U2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcm93LXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVTZWNvbmRhcnlBY3Rpb25zU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Vjb25kYXJ5LWFjdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3RhYmxlLXN0b3JlLXNlbGVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvdGFibGUtc3RvcmUuc2VydmljZSc7XG5cbmltcG9ydCB7IFFkVGFibGVEYXRhUmVzb2x2ZXIgfSBmcm9tICcuL21vZGVsL3RhYmxlLWRhdGEtcmVzb2x2ZXInO1xuaW1wb3J0IHsgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTiB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlci50b2tlbic7XG5cbmltcG9ydCB7IFFkVGFibGVDb25maWcsIFFkVGFibGVGaWxsaW5nQ29sdW1uIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVEYXRhLCBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlU2VsZWN0ZWRSb3dzIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1yb3ctc2VsZWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlQWN0aW9uUmVzdWx0LCBRZFRhYmxlUmVmcmVzaENvbmZpZyB9IGZyb20gJy4vbW9kZWwvdGFibGUtY29uZmlnLWFjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVDb25uZWN0b3IsIFFkVGFibGVDb25uZWN0b3JDcml0ZXJpYSwgUWRUYWJsZVN0YXRlIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1zdG9yZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUNvbm5lY3RvclN0YXRlIH0gZnJvbSAnLi9tb2RlbC9jb25uZWN0b3JzLXN0YXRlLmVudW0nO1xuaW1wb3J0IHsgUWRQYWdpbmF0b3JEaXJlY3Rpb24gfSBmcm9tICcuL21vZGVsL3BhZ2luYXRvci1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IvdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudE5hbWUsIFFkUHVzaEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3B1c2gtZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUV4dGVybmFsQWN0aW9uUmVzdWx0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXh0ZXJuYWwtYWN0aW9uLXJlc3VsdC5zZXJ2aWNlJztcblxuLyoqXG4gKiBRZFRhYmxlQ29tcG9uZW50IGlzIGEgcmVzcG9uc2l2ZSBhbmQgaGlnaGx5IGNvbmZpZ3VyYWJsZSB0YWJsZSBjb21wb25lbnQgZGVzaWduZWQgZm9yIGVmZmVjdGl2ZSBkYXRhIGRpc3BsYXkgYW5kIHVzZXIgaW50ZXJhY3Rpb24uXG4gKiBJdCBzdXBwb3J0cyBwYWdpbmF0aW9uLCBzb3J0aW5nLCBhY3Rpb25zLCBzZWxlY3Rpb25zLCBhbmQgY3VzdG9taXphYmxlIGNvbHVtbnMuXG4gKlxuICogIyMjIyAqKkZlYXR1cmVzKipcbiAqIC0gKipSV0QgUmVhZHkqKjogQXV0b21hdGljYWxseSBhZGFwdHMgdG8gdmFyaW91cyBzY3JlZW4gc2l6ZXMuXG4gKiAtICoqQ3VzdG9tIENvbHVtbnMqKjogRGVmaW5lIGNvbnRlbnQgdHlwZXMgbGlrZSB0ZXh0LCBkYXRlLCBjaGlwLCBvciBpY29uLlxuICogLSAqKlBhZ2luYXRpb24gJiBTb3J0aW5nKio6IFN1cHBvcnRzIGRhdGEgcGFnaW5hdGlvbiBhbmQgY29sdW1uIHNvcnRpbmcuIFBhZ2luYXRpb24gaXMgb3B0aW9uYWwuXG4gKiAtICoqUm93IFNlbGVjdGlvbnMqKjogU2luZ2xlIG9yIG11bHRpcGxlIHJvdyBzZWxlY3Rpb24uXG4gKiAtICoqQWN0aW9ucyoqOiBQcmltYXJ5IGFuZCBzZWNvbmRhcnkgcm93IGFjdGlvbnMgd2l0aCByZWZyZXNoIHN1cHBvcnQuXG4gKiAtICoqSW50ZXJuYXRpb25hbGl6YXRpb24gKGkxOG5zKSoqOiBMb2NhbGl6ZSBjb2x1bW4gaGVhZGVycyBhbmQgc3BlY2lmaWMgY29udGVudCB0eXBlcyAoZS5nLiwgdGV4dCwgY2hpcCkuXG4gKiAtICoqU2VjdGlvbiBUb29sYmFyIENvbW11bmljYXRpb24qKjogQ29tbXVuaWNhdGUgd2l0aCB0aGUgUUxTIGZvciBzZWFyY2ggYW5kIGZpbHRlcmluZy5cbiAqXG4gKiAjIyMjICoqQmFzaWMgVXNhZ2UqKlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgQ29sdW1uRGVmaW5pdGlvbiA9ICduYW1lJyB8ICdhZ2UnIHwgJ2FjdGl2ZSc7XG4gKlxuICogY29uZmlnOiBRZFRhYmxlQ29uZmlnPENvbHVtbkRlZmluaXRpb24+ID0ge1xuICogICBjb2x1bW5zOiBbXG4gKiAgICAgeyBjb2x1bW46ICduYW1lJywgdHlwZTogJ3RleHQnIH0sXG4gKiAgICAgeyBjb2x1bW46ICdhZ2UnLCB0eXBlOiAnaW50ZWdlcicgfSxcbiAqICAgICB7IGNvbHVtbjogJ2FjdGl2ZScsIHR5cGU6ICdib29sZWFuJyB9XG4gKiAgIF1cbiAqIH07XG4gKlxuICogZGF0YTogUWRUYWJsZURhdGE8Q29sdW1uRGVmaW5pdGlvbj4gPSBbXG4gKiAgIHsgbmFtZTogJ0FsaWNlJywgYWdlOiAzMCwgYWN0aXZlOiB0cnVlIH0sXG4gKiAgIHsgbmFtZTogJ0JvYicsIGFnZTogMjUsIGFjdGl2ZTogZmFsc2UgfVxuICogXTtcbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxxZC10YWJsZSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cImRhdGFcIj48L3FkLXRhYmxlPlxuICogYGBgXG4gKlxuICogIyMjIyAqKlJlc29sdmVyLCBQYWdpbmF0aW9uLCBhbmQgU29ydGluZyoqXG4gKlxuICogTG9hZCBkYXRhIGR5bmFtaWNhbGx5LCBtYW5hZ2UgcGFnaW5hdGlvbiwgYW5kIGVuYWJsZSBjb2x1bW4gc29ydGluZyB1c2luZyBRdWFkcmVsJ3MgaW50ZXJmYWNlIGFuZCBpbmplY3Rpb24gdG9rZW4uXG4gKlxuICogUGFnaW5hdGlvbiBpcyBvcHRpb25hbC4gSWYgbm90IGNvbmZpZ3VyZWQsIHRoZSBmdWxsIGRhdGFzZXQgaXMgaGFuZGxlZCBjbGllbnQtc2lkZS5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBleHBvcnQgY2xhc3MgTXlUYWJsZVJlc29sdmVyIGltcGxlbWVudHMgUWRUYWJsZURhdGFSZXNvbHZlcjxDb2x1bW5EZWZpbml0aW9uPiB7XG4gKiAgIHJlc29sdmUoY3JpdGVyaWE6IFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wczxDb2x1bW5EZWZpbml0aW9uPik6IE9ic2VydmFibGU8UWRUYWJsZVJlc29sdmVkRGF0YTxDb2x1bW5EZWZpbml0aW9uPj4ge1xuICogICAgIC8vIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiBoZXJlXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBDb21wb25lbnQoe1xuICogICBzZWxlY3RvcjogJ215LXRhYmxlJyxcbiAqICAgdGVtcGxhdGU6ICc8cWQtdGFibGUgW2NvbmZpZ109XCJjb25maWdcIj48L3FkLXRhYmxlPicsXG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHtcbiAqICAgICAgIHByb3ZpZGU6IFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4sXG4gKiAgICAgICB1c2VDbGFzczogTXlUYWJsZVJlc29sdmVyXG4gKiAgICAgfVxuICogICBdXG4gKiB9KVxuICogY2xhc3MgTXlUYWJsZUNvbXBvbmVudCB7XG4gKiAgIGNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAqICAgICBjb2x1bW5zOiBbXG4gKiAgICAgICB7IGNvbHVtbjogJ25hbWUnLCB0eXBlOiAndGV4dCcsIHNvcnQ6IHsgZGlyZWN0aW9uOiAnYXNjJyB9IH0sXG4gKiAgICAgICB7IGNvbHVtbjogJ2FnZScsIHR5cGU6ICdpbnRlZ2VyJywgc29ydDoge30gfSxcbiAqICAgICAgIHsgY29sdW1uOiAnYWN0aXZlJywgdHlwZTogJ2Jvb2xlYW4nIH1cbiAqICAgICBdLFxuICogICAgIHBhZ2luYXRpb246IHtcbiAqICAgICAgIHBhZ2VTaXplczogWzEwLCAyMCwgNTBdLFxuICogICAgICAgcGFnZVNpemVEZWZhdWx0OiAxMFxuICogICAgIH0gLy8g4oaQIG9taXQgdGhpcyBzZWN0aW9uIHRvIGRpc2FibGUgcGFnaW5hdGlvblxuICogICB9O1xuICogfVxuICogYGBgXG4gKlxuICogIyMjIyAqKlNlbGVjdGlvbnMgYW5kIEFjdGlvbnMqKlxuICpcbiAqIENvbmZpZ3VyZSByb3cgc2VsZWN0aW9ucyBhbmQgdHJpZ2dlciBwcmltYXJ5IG9yIHNlY29uZGFyeSBhY3Rpb25zLlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAqICAgY29sdW1uczogW1xuICogICAgIHsgY29sdW1uOiAnbmFtZScsIHR5cGU6ICd0ZXh0JyB9LFxuICogICAgIHsgY29sdW1uOiAnYWdlJywgdHlwZTogJ2ludGVnZXInIH0sXG4gKiAgICAgeyBjb2x1bW46ICdhY3RpdmUnLCB0eXBlOiAnYm9vbGVhbicgfVxuICogICBdLFxuICogICBzZWxlY3Rpb246IHtcbiAqICAgICB0eXBlOiAnbXVsdGlTZWxlY3QnLFxuICogICAgIGhhbmRsZXI6IChzZWxlY3RlZFJvd3MpID0+IHNlbGVjdChzZWxlY3RlZFJvd3MpXG4gKiAgIH0sXG4gKiAgIHNlY29uZGFyeUFjdGlvbnM6IFtcbiAqICAgICB7XG4gKiAgICAgICB0eXBlOiAnZWRpdCcsXG4gKiAgICAgICBoYW5kbGVyOiAoeyByb3dEYXRhIH0pID0+IGVkaXQocm93RGF0YSlcbiAqICAgICB9LFxuICogICAgIHtcbiAqICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICogICAgICAgaXNEaXNhYmxlZDogKHJvdykgPT4gIXJvdy5hY3RpdmUsXG4gKiAgICAgICBoYW5kbGVyOiAoeyByb3dEYXRhIH0pID0+IGRlbGV0ZShyb3dEYXRhKVxuICogICAgIH1cbiAqICAgXVxuICogfTtcbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdxZC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbW1vbi5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFFkVGFibGVTdG9yZVNlcnZpY2UsXG4gICAgUWRUYWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlLFxuICAgIFFkVGFibGVFbXB0eVN0YXRlU2VydmljZSxcbiAgICBRZFRhYmxlU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UsXG4gICAgUWRUYWJsZVJlc3BvbnNpdmVSb3dTZXJ2aWNlLFxuICAgIFFkVGFibGVSb3dTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIFFkVGFibGVGaWxsaW5nV2lkdGhTZXJ2aWNlLFxuICAgIFFkVGFibGVSZXNvbHZlclNlcnZpY2UsXG4gICAgUWRUYWJsZUV4dGVybmFsQWN0aW9uUmVzdWx0U2VydmljZVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MucWQtdGFibGVdJzogJ3RydWUnLFxuICAgICdbY2xhc3MubWFpbi1jb2x1bW4tZmlsbHMtd2lkdGhdJzogJ3doaWNoQ29sdW1uRmlsbHNXaWR0aCA9PT0gXCJtYWluXCInLFxuICAgICdbY2xhc3MubGFzdC1jb2x1bW4tZmlsbHMtd2lkdGhdJzogJ3doaWNoQ29sdW1uRmlsbHNXaWR0aCA9PT0gXCJsYXN0XCInLFxuICAgICdbY2xhc3MuaGFybW9uaXplZF0nOiAnd2hpY2hDb2x1bW5GaWxsc1dpZHRoID09PSBcImhhcm1vbml6ZWRcIicsXG4gICAgJ1thdHRyLmRhdGEtcWQtbm8taG9yaXpvbnRhbC1wYWRkaW5nLXNtYWxsXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFFkVGFibGVDb21wb25lbnQ8VCBleHRlbmRzIHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb2YgdGhlIHRhYmxlLiBUaGUgZ2VuZXJpYyB0eXBlIHNwZWNpZmllcyB0aGUgY29sdW1uIGRlZmluaXRpb24uIDxiciAvPlxuICAgKlxuICAgKiAqKlVzYWdlOioqXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHR5cGUgQ29sdW1uRGVmaW5pdGlvbiA9ICdhcnRpY2xlJyB8ICdtYXNzJyB8ICdkb2N1bWVudHMnO1xuICAgKiBjb25zdCB0YWJsZUNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAgICogICBjb2x1bW5zOiBbXG4gICAqICAgICB7XG4gICAqICAgICAgIGNvbHVtbjogJ2FydGljbGUnLFxuICAgKiAgICAgICB0eXBlOiAndGV4dCdcbiAgICogICAgIH0sXG4gICAqICAgICB7XG4gICAqICAgICAgIGNvbHVtbjogJ21hc3MnLFxuICAgKiAgICAgICB0eXBlOiAnaW50ZWdlcidcbiAgICogICAgIH0sXG4gICAqICAgICB7XG4gICAqICAgICAgIGNvbHVtbjogJ2RvY3VtZW50cycsXG4gICAqICAgICAgIHR5cGU6ICdib29sZWFuJ1xuICAgKiAgICAgfVxuICAgKiAgIF1cbiAgICogfVxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnITogUWRUYWJsZUNvbmZpZzxUPjtcblxuICAvKipcbiAgICogT25lIHdheSB0byBmaWxsIHRoZSB0YWJsZSB3aXRoIGRhdGEuIEFub3RoZXIgb3B0aW9uIGlzIHRvIHVzZSBhIHJlc29sdmVyLCB3aGljaCBpcyBuZWVkZWQgZm9yIHBhZ2luYXRpb24sIGZvciBpbnN0YW5jZS4gPGJyIC8+XG4gICAqIFRoZSBnZW5lcmljIHR5cGUgaXMgdXNlZCBmb3IgdGhlIGNvbHVtbiBkZWZpbml0aW9uLiA8YnIgLz5cbiAgICpcbiAgICogKipVc2FnZToqKlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0eXBlIENvbHVtbkRlZmluaXRpb24gPSAnYXJ0aWNsZScgfCAnbWFzcycgfCAnZG9jdW1lbnRzJztcbiAgICogY29uc3QgdGFibGVEYXRhOiBRZFRhYmxlRGF0YTxDb2x1bW5EZWZpbml0aW9uPiA9IFtcbiAgICogICB7XG4gICAqICAgICBhcnRpY2xlOiAnYXJ0aWNsZSBvbmUnLFxuICAgKiAgICAgbWFzczogMTAsXG4gICAqICAgICBkb2N1bWVudHM6IHRydWVcbiAgICogICB9LFxuICAgKiAgIHtcbiAgICogICAgIGFydGljbGU6ICdhcnRpY2xlIHR3bycsXG4gICAqICAgICBtYXNzOiAyMCxcbiAgICogICAgIGRvY3VtZW50czogZmFsc2VcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkYXRhKGRhdGE6IFFkVGFibGVEYXRhPFQ+KSB7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogQSBzdGF0aWMgdGVzdCBJRCBmb3IgaW50ZWdyYXRpb24gdGVzdHMgY2FuIGJlIHNldC4gPGJyIC8+XG4gICAqIFRoZSB2YWx1ZSBmb3IgdGhlIEhUTUwgYXR0cmlidXRlIFtkYXRhLXRlc3QtaWRdLlxuICAgKi9cbiAgQElucHV0KCdkYXRhLXRlc3QtaWQnKSB0ZXN0SWQgPSAndGFibGUnO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIGFuIHNlY29uZGFyeSBhY3Rpb24gaXMgdHJpZ2dlcmVkLiBUaGUgcmV0dXJuIHZhbHVlIGNvbnRhaW5zIHRoZSByb3ctc3BlY2lmaWMgZGF0YS4gPGJyIC8+XG4gICAqIGBzZWNvbmRhcnlBY3Rpb25zYCBtdXN0IGJlIGRlZmluZWQgaW4gdGhlIHRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqICogQHJldHVybnMgRXZlbnRFbWl0dGVyIHdpdGggZ2VuZXJpYyB0eXBlOiBRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uXG4gICAqL1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uT3V0cHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxRZFRhYmxlUmVjZW50U2Vjb25kYXJ5QWN0aW9uPFQ+PigpO1xuXG4gIC8qKlxuICAgKiBPdXRwdXRzIGFuIGV2ZW50IHdoZW4gb25lIG9yIG1vcmUgbGluZXMgYXJlIHNlbGVjdGVkLiBUaGUgcmV0dXJuIHZhbHVlIGNvbnRhaW5zIHRoZSByb3ctc3BlY2lmaWMgZGF0YS4gPGJyIC8+XG4gICAqIGBtdWx0aVNlbGVjdGAgb3IgYHNpbmdsZVNlbGVjdGAgbXVzdCBiZSBhY3RpdmF0ZWQgaW4gdGhlIHRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqICogQHJldHVybnMgRXZlbnRFbWl0dGVyIHdpdGggZ2VuZXJpYyB0eXBlOiBRZFRhYmxlU2VsZWN0ZWRSb3dzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzT3V0cHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxRZFRhYmxlU2VsZWN0ZWRSb3dzPFQ+PigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG5vIGNvbnRlbnRzIGFyZSBwcmVzZW50LiA8YnIgLz5cbiAgICogVGhlIGBlbXB0eVN0YXRlVmlld2AgbXVzdCBiZSBlbmFibGVkIGluIHRoZSB0YWJsZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgQE91dHB1dCgpIGVtcHR5U3RhdGVBY3Rpb25PdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50KSBwYWdpbmF0b3I/OiBRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50PFQ+O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRlc3QtaWQnKSBnZXQgZGF0YVRlc3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRlc3RJZCArICctJyArIHRoaXMudGFibGVTdG9yZVNlcnZpY2UudGFibGVJZDtcbiAgfVxuXG4gIGRhdGEkITogT2JzZXJ2YWJsZTxRZFRhYmxlRGF0YTxUPiB8IHVuZGVmaW5lZD47XG4gIGhhc0RhdGEkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaGFzRW1wdHlTdGF0ZVZpZXckITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcml2YXRlIHRhYmxlJCE6IE9ic2VydmFibGU8UWRUYWJsZVN0YXRlPHN0cmluZz4gfCB1bmRlZmluZWQ+O1xuICBwcml2YXRlIF9kYXRhOiBRZFRhYmxlRGF0YTxUPiA9IFtdO1xuICBwcml2YXRlIF9yZWNlbnRTZWNvbmRhcnlBY3Rpb25zU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9yb3dTZWxlY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9lbXB0eVN0YXRlQWN0aW9uU2VydmljZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfYnJlYWtwb2ludFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfcHVzaEV2ZW50c1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfcmVmcmVzaFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfY29ubmVjdG9yczogUWRUYWJsZUNvbm5lY3RvcltdID0gW107XG5cbiAgZ2V0IHdoaWNoQ29sdW1uRmlsbHNXaWR0aCgpOiBRZFRhYmxlRmlsbGluZ0NvbHVtbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsbGluZ1dpZHRoU2VydmljZS53aGljaENvbHVtbkZpbGxzV2lkdGg7XG4gIH1cblxuICBnZXQgaGFzUmVzb2x2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50YWJsZURhdGFSZXNvbHZlcjtcbiAgfVxuXG4gIGdldCBoYXNQYWdpbmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5oYXNQYWdpbmF0aW9uIHx8ICEhdGhpcy5jb25maWcucGFnaW5hdGlvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgdGFibGVEYXRhUmVzb2x2ZXI6IFFkVGFibGVEYXRhUmVzb2x2ZXI8VD4sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBwdXNoRXZlbnRzU2VydmljZTogUWRQdXNoRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlU3RvcmVTZXJ2aWNlOiBRZFRhYmxlU3RvcmVTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2U6IFFkVGFibGVTZWNvbmRhcnlBY3Rpb25zU2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvd1NlbGVjdGlvblNlcnZpY2U6IFFkVGFibGVSb3dTZWxlY3Rpb25TZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW1wdHlTdGF0ZVNlcnZpY2U6IFFkVGFibGVFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNpdmVSb3dTZXJ2aWNlOiBRZFRhYmxlUmVzcG9uc2l2ZVJvd1NlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxsaW5nV2lkdGhTZXJ2aWNlOiBRZFRhYmxlRmlsbGluZ1dpZHRoU2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRTZXJ2aWNlOiBRZEJyZWFrcG9pbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZXJTZXJ2aWNlOiBRZFRhYmxlUmVzb2x2ZXJTZXJ2aWNlPFQ+XG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnRhYmxlSWQgPSB0aGlzLmNvbmZpZy51aWQgfHwgdXVpZCgpO1xuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuaW5pdFRhYmxlU3RhdGUodGhpcy5fZGF0YSwgdGhpcy5oYXNSZXNvbHZlciwgdGhpcy5fY29ubmVjdG9ycywgdGhpcy5oYXNQYWdpbmF0aW9uKTtcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnVwZGF0ZVRhYmxlU3RhdGVSZWNlbnRTZWNvbmRhcnlBY3Rpb24odW5kZWZpbmVkKTtcbiAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNldHVwU29ydCh0aGlzLmNvbmZpZy5jb2x1bW5zKTtcblxuICAgIHRoaXMucmVzb2x2ZXJTZXJ2aWNlLmluaXQodGhpcy5jb25maWcucmVmcmVzaE9uTGFuZ3VhZ2VDaGFuZ2UsIHRoaXMuaGFzUGFnaW5hdGlvbik7XG5cbiAgICB0aGlzLmRhdGEkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZURhdGFFbnRyaWVzJCgpIGFzIE9ic2VydmFibGU8UWRUYWJsZURhdGE8VD4+O1xuXG4gICAgdGhpcy5tYXBDb2x1bW5GaWxsc1dpZHRoKCk7XG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZygpO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUmVzcG9uc2l2ZVJvd1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVGaWxsaW5nV2lkdGhTZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplRW1wdHlTdGF0ZVNlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVSb3dTZWxlY3Rpb25TZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVQdXNoRXZlbnRzU2VydmljZSgpO1xuICAgIHRoaXMuaW5pdFJlZnJlc2goKTtcblxuICAgIHRoaXMudGFibGUkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZSQoKTtcbiAgICB0aGlzLmhhc0RhdGEkID0gdGhpcy5kYXRhJC5waXBlKG1hcChzdGF0ZSA9PiAoc3RhdGUgPz8gW10pLmxlbmd0aCA+IDApKTtcbiAgICB0aGlzLmhhc0VtcHR5U3RhdGVWaWV3JCA9IHRoaXMuaGFzRGF0YSQucGlwZShcbiAgICAgIG1hcChoYXNEYXRhID0+ICFoYXNEYXRhICYmICEhdGhpcy5jb25maWcuZW1wdHlTdGF0ZVZpZXcgJiYgIXRoaXMuY29uZmlnLmVtcHR5U3RhdGVWaWV3LmRpc2FibGVkKVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snZGF0YSddICYmXG4gICAgICAhY2hhbmdlc1snZGF0YSddLmZpcnN0Q2hhbmdlICYmXG4gICAgICBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydkYXRhJ10ucHJldmlvdXNWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnVwZGF0ZVRhYmxlU3RhdGVEYXRhKHRoaXMuX2RhdGEpO1xuICAgICAgaWYgKCF0aGlzLmhhc1BhZ2luYXRpb24pIHtcbiAgICAgICAgdGhpcy5kYXRhJCA9IG9mKHRoaXMuX2RhdGEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ2NvbmZpZyddICYmXG4gICAgICAhY2hhbmdlc1snY29uZmlnJ10uZmlyc3RDaGFuZ2UgJiZcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2NvbmZpZyddLnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlVGFibGVDb25maWcoKTtcbiAgICAgIHRoaXMudXBkYXRlRmlsbGluZ1dpZHRoU2VydmljZVRhYmxlQ29uZmlnKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5yZXNldENvbm5lY3RvclN0YXRlcygpO1xuICAgIHRoaXMuZmlsbGluZ1dpZHRoU2VydmljZS5kZXN0cm95KCk7XG5cbiAgICB0aGlzLl9yZWNlbnRTZWNvbmRhcnlBY3Rpb25zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3Jvd1NlbGVjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZUFjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnVpZCB8fCB0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuZGVsZXRlVGFibGVTdGF0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJDb25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYmxlRGF0YVJlc29sdmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBxZENvbm5lY3RUb0ZpbHRlciBvbmx5IHdvcmtzIHdpdGggYSByZXNvbHZlci4gUGxlYXNlIGluamVjdCB0aGUgcmVzb2x2ZXIgdXNpbmcgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTi4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY29ubmVjdG9ycy5wdXNoKHsgY29ubmVjdG9yTmFtZSwgY29ubmVjdG9yU3RhdGU6IFFkVGFibGVDb25uZWN0b3JTdGF0ZS5BV0FJVElORyB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUZyb21Db25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nLCBDb25uZWN0b3JDcml0ZXJpYTogUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29ubmVjdG9yU3RhdGUgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNlbGVjdENvbm5lY3RvclN0YXRlJChjb25uZWN0b3JOYW1lKSk7XG4gICAgaWYgKGNvbm5lY3RvclN0YXRlID09PSBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQpIHtcbiAgICAgIHRoaXMucGFnaW5hdG9yPy5uYXZpZ2F0ZVRvUGFnZShRZFBhZ2luYXRvckRpcmVjdGlvbi5GaXJzdFBhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuY29ubmVjdChjb25uZWN0b3JOYW1lLCBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQsIENvbm5lY3RvckNyaXRlcmlhKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzcG9uc2l2ZVJvd1NlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50U2VydmljZS5nZXRNYXRjaGluZ0JyZWFrcG9pbnQoKS5zdWJzY3JpYmUoYnJlYWtwb2ludCA9PiB7XG4gICAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmN1cnJlbnRCcmVha3BvaW50ID0gYnJlYWtwb2ludDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVzcG9uc2l2ZVJvd1NlcnZpY2VUYWJsZUNvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRmlsbGluZ1dpZHRoU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGxpbmdXaWR0aFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWxsaW5nV2lkdGhTZXJ2aWNlVGFibGVDb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5maWxsaW5nV2lkdGhTZXJ2aWNlLnVwZGF0ZVRhYmxlQ29uZmlnKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVtcHR5U3RhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuZW1wdHlTdGF0ZVNlcnZpY2UuaTE4bnMgPSB0aGlzLmNvbmZpZy5pMThucztcblxuICAgIHRoaXMuX2VtcHR5U3RhdGVBY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5lbXB0eVN0YXRlU2VydmljZS5lbXB0eVN0YXRlQWN0aW9uJC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuZW1wdHlTdGF0ZUFjdGlvbk91dHB1dC5lbWl0KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUm93U2VsZWN0aW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd1NlbGVjdGlvblNlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9yb3dTZWxlY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkUm93cyQuc3Vic2NyaWJlKHNlbGVjdGVkUm93cyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93c091dHB1dC5lbWl0KHNlbGVjdGVkUm93cyk7XG4gICAgICB0aGlzLmNvbmZpZy5zZWxlY3Rpb24/LmhhbmRsZXI/LihzZWxlY3RlZFJvd3MpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25zU2VydmljZS5jb25maWdzID0gdGhpcy5jb25maWcuc2Vjb25kYXJ5QWN0aW9ucyA/PyBbXTtcblxuICAgIHRoaXMuX3JlY2VudFNlY29uZGFyeUFjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAucmVjZW50U2Vjb25kYXJ5QWN0aW9uJCgpXG4gICAgICAuc3Vic2NyaWJlKHJlY2VudEFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghcmVjZW50QWN0aW9uKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25PdXRwdXQuZW1pdChyZWNlbnRBY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY29uZmlnLnNlY29uZGFyeUFjdGlvbnM/LmZpbmQoYSA9PiBhLnR5cGUgPT09IHJlY2VudEFjdGlvbi50eXBlKTtcbiAgICAgICAgaWYgKCFhY3Rpb24/LmhhbmRsZXIpXG4gICAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gTm8gaGFuZGxlciBkZWZpbmVkIGZvciBzZWNvbmRhcnkgYWN0aW9uOicsIHJlY2VudEFjdGlvbi50eXBlKTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhY3Rpb24uaGFuZGxlcihyZWNlbnRBY3Rpb24pO1xuICAgICAgICBpZiAoYWN0aW9uLnJlZnJlc2g/LmlzRW5hYmxlZCkgdGhpcy5wcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQsIGFjdGlvbi5yZWZyZXNoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUHVzaEV2ZW50c1NlcnZpY2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHJldHVybjtcblxuICAgIGlmICghdGhpcy5jb25maWcudWlkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnUUQtVUkgfCBRZFRhYmxlIC0gQSB1aWQgaGFzIHRvIGJlIGRlZmluZWQgd2hlbiByZWZyZXNoT25QdXNoRXZlbnQgaXMgZW5hYmxlZC4gJyArXG4gICAgICAgICAgJ1RoZSB0YWJsZSB1aWQgaGFzIHRvIG1hdGNoIHRoZSBwYXRoIG9mIHRoZSBzZXJ2ZXIgc2lkZSBldmVudC4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnB1c2hFdmVudHNTZXJ2aWNlLmlzQ29ubmVjdGVkT3JDb25uZWN0aW5nKCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBZb3UgaGF2ZSB0byBjb25uZWN0IHRoZSBRZFB1c2hFdmVudHNTZXJ2aWNlIG9uIHlvdXIgb3duICcgK1xuICAgICAgICAgICdpZiB5b3UgZW5hYmxlIHRoZSByZWZyZXNoT25QdXNoRXZlbnQgZmxhZyBpbiB0aGUgdGFibGUuJ1xuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50cyA9IFsuLi4odGhpcy5jb25maWc/LnJlZnJlc2hpbmdFdmVudHMgfHwgW10pLCAnUkVTT1VSQ0VfVVBEQVRFRCddIGFzIEV2ZW50TmFtZVtdO1xuICAgIGNvbnN0IGNvbWJpbmVkRXZlbnRzJCA9IG1lcmdlKC4uLmV2ZW50cy5tYXAoZXZlbnROYW1lID0+IHRoaXMucHVzaEV2ZW50c1NlcnZpY2Uub2JzZXJ2ZShldmVudE5hbWUpKSk7XG5cbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uID0gY29tYmluZWRFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKG1lc3NhZ2VFdmVudCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKG1lc3NhZ2VFdmVudC5kYXRhKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnBhdGguaW5jbHVkZXModGhpcy5jb25maWcudWlkKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gcHJvY2VzcyBtZXNzYWdlRXZlbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGV2ZW50IHN0cmVhbTonLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyaWdnZXJSZWZyZXNoKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQ6IFFkVGFibGVBY3Rpb25SZXN1bHQsIHJlZnJlc2hDb25maWc6IFFkVGFibGVSZWZyZXNoQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHJlc3VsdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdWNjZXNzID0+IHN1Y2Nlc3MgJiYgdGhpcy50cmlnZ2VyUmVmcmVzaChyZWZyZXNoQ29uZmlnLnBhZ2UpKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHJpZ2dlclJlZnJlc2gocmVmcmVzaENvbmZpZy5wYWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fcmVmcmVzaFN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnJlZnJlc2g/LnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnRyaWdnZXJSZWZyZXNoKHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJSZWZyZXNoKHBhZ2VJbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZXJTZXJ2aWNlLnJlZnJlc2gocGFnZUluZGV4ICE9PSB1bmRlZmluZWQgPyB7IHBhZ2VJbmRleCB9IDoge30pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUNvbmZpZygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmkxOG5zKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1FELVVJIHwgUWRUYWJsZSAtIE5vIHRyYW5zbGF0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBzZWNvbmRhcnlBY3Rpb25zLicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2FuIGJlIGRlbGV0ZWQgd2hlbiB0aGUgcHJvcGVydHkgXCJtYWluQ29sdW1uTm90RmlsbGluZ1dpZHRoXCIgaXMgZHJvcHBlZC5cbiAgICpcbiAgICogKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBtYXBDb2x1bW5GaWxsc1dpZHRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcubWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1FELVVJIHwgUWRUYWJsZSAtIFRoZSBjb25maWcga2V5IFwibWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aFwiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgXCJ3aGljaENvbHVtbkZpbGxzV2lkdGhcIiBpbnN0ZWFkLidcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLndoaWNoQ29sdW1uRmlsbHNXaWR0aCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb25maWcud2hpY2hDb2x1bW5GaWxsc1dpZHRoID0gJ25vbmUnO1xuICB9XG59XG4iLCI8dGFibGUgW2NsYXNzXT1cIidxZC10YWJsZV9fdGFibGUnXCI+XG4gIDx0ciBxZC10YWJsZS1oZWFkIFtjb25maWddPVwiY29uZmlnXCIgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIj48L3RyPlxuICA8dGJvZHkgcWQtdGFibGUtYm9keSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cIihkYXRhJCB8IGFzeW5jKSA/PyBbXVwiIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCI+PC90Ym9keT5cbjwvdGFibGU+XG5cbjxxZC10YWJsZS1wYWdpbmF0b3IgW2NvbmZpZ109XCJjb25maWdcIiBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiICpuZ0lmPVwiaGFzUGFnaW5hdGlvblwiPjwvcWQtdGFibGUtcGFnaW5hdG9yPlxuPHFkLXRhYmxlLWVtcHR5LXN0YXRlICpuZ0lmPVwiaGFzRW1wdHlTdGF0ZVZpZXckIHwgYXN5bmNcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eVN0YXRlVmlld1wiPjwvcWQtdGFibGUtZW1wdHktc3RhdGU+XG4iXX0=
@@ -20763,9 +20763,7 @@ class QdTableResolverService {
20763
20763
  // TODO: Add Error handling
20764
20764
  this.tableStoreService
20765
20765
  .selectDataResolutionCriteria$()
20766
- .pipe(takeUntil(this._destroyed$), distinctUntilChanged(isEqual$1), filter((resolutionCriteria) => {
20767
- return !!resolutionCriteria && this.shouldDataBeResolved(resolutionCriteria);
20768
- }), map(({ tableParams, connectorParams }) => {
20766
+ .pipe(takeUntil(this._destroyed$), distinctUntilChanged(isEqual$1), filter((resolutionCriteria) => !!resolutionCriteria && this.shouldDataBeResolved(resolutionCriteria)), map(({ tableParams, connectorParams }) => {
20769
20767
  return {
20770
20768
  ...(this._hasPagination ? tableParams : {}),
20771
20769
  ...connectorParams
@@ -20783,7 +20781,7 @@ class QdTableResolverService {
20783
20781
  this._refreshSubscription.unsubscribe();
20784
20782
  this._refreshSubscription = this.tableStoreService
20785
20783
  .selectDataResolutionCriteria$()
20786
- .pipe(first(), tap(() => this.tableStoreService.setRequestState(QdTableRequestState.PENDING)), switchMap(resolutionCriteria => this.tableDataResolver.resolve({
20784
+ .pipe(filter((criteria) => !!criteria), first(), tap(() => this.tableStoreService.setRequestState(QdTableRequestState.PENDING)), switchMap(resolutionCriteria => this.tableDataResolver.resolve({
20787
20785
  ...resolutionCriteria.tableParams,
20788
20786
  ...resolutionCriteria.connectorParams,
20789
20787
  ...(this._hasPagination && pageIndex !== undefined ? { page: pageIndex } : {})
@@ -22074,11 +22072,11 @@ class QdTableComponent {
22074
22072
  }
22075
22073
  ngOnInit() {
22076
22074
  this.tableStoreService.tableId = this.config.uid || v4();
22077
- this.resolverService.init(this.config.refreshOnLanguageChange, this.hasPagination);
22078
22075
  this.tableStoreService.init();
22079
22076
  this.tableStoreService.initTableState(this._data, this.hasResolver, this._connectors, this.hasPagination);
22080
22077
  this.tableStoreService.updateTableStateRecentSecondaryAction(undefined);
22081
22078
  this.tableStoreService.setupSort(this.config.columns);
22079
+ this.resolverService.init(this.config.refreshOnLanguageChange, this.hasPagination);
22082
22080
  this.data$ = this.tableStoreService.tableDataEntries$();
22083
22081
  this.mapColumnFillsWidth();
22084
22082
  this.validateConfig();