taxtank-core 0.33.18 → 0.33.20

Sign up to get free protection for your applications and to get access to all the features.
@@ -200,7 +200,7 @@ export class TransactionCollection extends TransactionBaseCollection {
200
200
  plainToClass(ChartData, { name: 'Income', data: [] }),
201
201
  plainToClass(ChartData, { name: 'Expense', data: [] })
202
202
  ];
203
- new FinancialYear().getPastMonths().forEach((month) => {
203
+ new FinancialYear().getPastMonths().forEach(month => {
204
204
  chartData[0].data.push({
205
205
  label: MONTHS[month],
206
206
  value: this.getIncomeTransactions().getByMonth(month).claimAmount
@@ -227,5 +227,8 @@ export class TransactionCollection extends TransactionBaseCollection {
227
227
  getTaxable() {
228
228
  return this.filter(transaction => transaction.claimPercent > 0);
229
229
  }
230
+ get tankType() {
231
+ return this.first.tankType;
232
+ }
230
233
  }
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBSVgsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUE2QixxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRTs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBc0M7SUFDL0U7O09BRUc7SUFDSCxZQUFZLGVBQThCLEVBQUUsRUFBRSxnQkFBZ0MsRUFBRTtRQUM5RSxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxD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QUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25NZXRhRmllbGQsXG4gIFZlaGljbGVDbGFpbVxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IEV4cG9ydENlbGxUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC9jaGFydC1kYXRhJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiwgRmluYW5jaWFsWWVhciwgTU9OVEhTIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiB9IGZyb20gJy4uL3NvbGUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbjxUcmFuc2FjdGlvbj4ge1xuICAvKipcbiAgICogd2UgdXNlIGRlcHJlY2lhdGlvbnMgYXMgZXhwZW5zZSB0cmFuc2FjdGlvbnMgYSBsb3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IFtdLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSA9IFtdKSB7XG4gICAgc3VwZXIoWy4uLnRyYW5zYWN0aW9ucywgLi4uZGVwcmVjaWF0aW9ucy5tYXAoKGRlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLnRvVHJhbnNhY3Rpb24oKSldKTtcbiAgfVxuXG4gIGdldFNvbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0RmluZEFuZE1hdGNoKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uY2FuRmluZEFuZE1hdGNoKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhdHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyID0+XG4gICAgICBzdW0gKyB0cmFuc2FjdGlvbi5nZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucy5maWx0ZXJCeSgndHJhbnNhY3Rpb24uaWQnLCB0cmFuc2FjdGlvbi5pZCkpLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQ2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5ncm9zc0Ftb3VudCwgMCk7XG4gIH1cblxuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBjYXRlZ29yaWVzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyBieSBtb250aFxuICAgKiBAcGFyYW0gbW9udGhJbmRleCBieSB3aGljaCBkZXNpcmVkIG1vbnRoIHNob3VsZCBiZSB0YWtlblxuICAgKi9cbiAgZ2V0QnlNb250aChtb250aEluZGV4OiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+XG4gICAgICB0cmFuc2FjdGlvbi5kYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXhcbiAgICApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnMgbWV0YSBmaWVsZHNcbiAgICovXG4gIGdldFRyYW5zYWN0aW9uc01ldGFGaWVsZHMoKTogQ29sbGVjdGlvbjxUcmFuc2FjdGlvbk1ldGFGaWVsZD4ge1xuICAgIGNvbnN0IG1ldGFGaWVsZHNBcnJheTogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIG1ldGFGaWVsZHNBcnJheS5wdXNoKC4uLnRyYW5zYWN0aW9uLm1ldGFGaWVsZHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uTWV0YUZpZWxkPihtZXRhRmllbGRzQXJyYXkpO1xuICB9XG5cbiAgZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0luY29tZSgpKVxuICAgICk7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1JbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIGdldCBjbGFpbUV4cGVuc2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1JbnRlcmVzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEludGVyZXN0VHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIGFuZCBwcm9wZXJ0aWVzIGZpbHRlcmVkIGJ5IHByb3BlcnRpZXMgaWRzXG4gICAqIEBwYXJhbSBpZHMgSWRzIG9mIHByb3BlcnRpZXMgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLnByb3BlcnR5Py5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgaW5jb21lIHNvdXJjZSBpZFxuICAgKiBAcGFyYW0gaWQgaWQgb2YgaW5jb21lIHNvdXJjZSBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeUluY29tZVNvdXJjZUlkKGlkOiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaW5jb21lU291cmNlPy5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnlcbiAgICogQHBhcmFtIGNhdGVnb3J5IENoYXJ0IGFjY291bnRzIGNhdGVnb3J5IHZhbHVlXG4gICAqL1xuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yeShjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5ID09PSBjYXRlZ29yeSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBvZiBwcm9wZXJ0eSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFByb3BlcnR5VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3RhbmtUeXBlJywgVGFua1R5cGVFbnVtLlBST1BFUlRZKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5SW52b2ljZXMoaW52b2ljZXM6IFNvbGVJbnZvaWNlQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCdpbnZvaWNlSXRlbS5pZCcsIGludm9pY2VzLmdldEludm9pY2VJdGVtc0lkcygpKTtcbiAgfVxuXG4gIGdldEFtb3VudFBlckludm9pY2UoKTogRGljdGlvbmFyeTxudW1iZXI+IHtcbiAgICAvLyBAVE9ETyBpbnZvaWNlSXRlbS5pbnZvaWNlIHdpbGwgYmUgcmVtb3ZlZCBvbiBiYWNrZW5kXG4gICAgY29uc3QgdHJhbnNhY3Rpb25zQnlJbnZvaWNlID0gdGhpcy5ncm91cEJ5KCdpbnZvaWNlSXRlbS5pbnZvaWNlLmlkJyk7XG4gICAgY29uc3QgZGljdGlvbmFyeTogRGljdGlvbmFyeTxudW1iZXI+ID0gbmV3IERpY3Rpb25hcnkoW10pO1xuXG4gICAgdHJhbnNhY3Rpb25zQnlJbnZvaWNlLmtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBkaWN0aW9uYXJ5LmFkZChrZXksIHRyYW5zYWN0aW9uc0J5SW52b2ljZS5nZXQoa2V5KS5zdW1CeSgnZ3Jvc3NBbW91bnQnKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGljdGlvbmFyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IHRhbmsgdHlwZVxuICAgKi9cbiAgZ2V0QnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3RhbmtUeXBlJywgdGFua1R5cGUpO1xuICB9XG5cbiAgZ2V0RXhwb3J0SGVhZGVyKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydEYXRlJywgJ0Rlc2NyaXB0aW9uJywgJ0RlYml0JywgJ0NyZWRpdCddO1xuICB9XG5cbiAgZ2V0RXhwb3J0Rm9vdGVyKCk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiAnVG90YWwnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6ICcnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRoaXMuc3VtQnkoJ2RlYml0JyksIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0aGlzLnN1bUJ5KCdjcmVkaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pXG4gICAgXTtcbiAgfVxuXG4gIGdldEV4cG9ydEJvZHkoKTogRXhwb3J0Q2VsbFtdW10ge1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIGlzIG5vdCBhIHJlcXVpcmVkIGZpZWxkIGZvciB0cmFuc2FjdGlvbnMuXG4gICAgICogaWYgdGhlcmUgaXMgbm8gZGVzY3JpcHRpb24sIHRoZW4gYWRkIGFuIGVtcHR5IGxpbmUgc28gdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3JzIHdoZW4gdHJhbnNsYXRlZCBpbnRvIGEgc3RyaW5nLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGF0ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkRBVEUgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGVzY3JpcHRpb24gPz8gJy0nLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRlYml0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uY3JlZGl0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSlcbiAgICBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIHRyYW5zYWN0aW9ucyBmaWx0ZXJlZCBieSB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBnZXRCeVZlaGljbGVDbGFpbSh2ZWhpY2xlQ2xhaW0/OiBWZWhpY2xlQ2xhaW0pOiB0aGlzIHtcbiAgICBpZiAoIXZlaGljbGVDbGFpbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKFtdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVoaWNsZUNsYWltLmlzU29sZVRhbmsoKVxuICAgICAgLy8gc29sZSB0YW5rIG1heSBoYXZlIG11bHRpcGxlIHZlaGljbGUgY2xhaW1zLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSBidXNpbmVzcy5pZFxuICAgICAgPyB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCB2ZWhpY2xlQ2xhaW0uYnVzaW5lc3MuaWQpXG4gICAgICAvLyB3b3JrIHRhbmsgbWF5IGhhdmUgb25seSBvbmUgdmVoaWNsZSBjbGFpbSwgc28gd2UgbmVlZCB0byBmaWx0ZXIgYnkgdGFuayB0eXBlXG4gICAgICA6IHRoaXMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmZpbHRlckJ5KCd0YW5rVHlwZScsIFRhbmtUeXBlRW51bS5XT1JLKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIHRyYW5zYWN0aW9ucyBleGNlcHQgS01TIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0TG9nYm9va1RyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLnJlbW92ZUJ5KCdjaGFydEFjY291bnRzLmlkJywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgY2hhcnQgZGF0YSB3aXRoIHRyYW5zYWN0aW9ucyBjYXNoIHBvc2l0aW9uLlxuICAgKiBDYXNoIHBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZXMgKGluY2x1ZGUgZGVwcmVjaWF0aW9ucylcbiAgICogQ2hhcnQgZGF0YSBmb3IgZWFjaCBtb250aCBmcm9tIGZpbiB5ZWFyIHN0YXJ0IHRpbGwgY3VycmVudCBtb250aFxuICAgKi9cbiAgZ2V0Q2FzaFBvc2l0aW9uQ2hhcnREYXRhKCk6IENoYXJ0RGF0YVtdIHtcbiAgICBjb25zdCBjaGFydERhdGE6IENoYXJ0RGF0YVtdID0gW1xuICAgICAgcGxhaW5Ub0NsYXNzKENoYXJ0RGF0YSwgeyBuYW1lOiAnSW5jb21lJywgZGF0YTogW10gfSksXG4gICAgICBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7IG5hbWU6ICdFeHBlbnNlJywgZGF0YTogW10gfSlcbiAgICBdO1xuXG4gICAgbmV3IEZpbmFuY2lhbFllYXIoKS5nZXRQYXN0TW9udGhzKCkuZm9yRWFjaCgobW9udGg6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgICAgY2hhcnREYXRhWzBdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudFxuICAgICAgfSk7XG4gICAgICBjaGFydERhdGFbMV0uZGF0YS5wdXNoKHtcbiAgICAgICAgbGFiZWw6IE1PTlRIU1ttb250aF0sXG4gICAgICAgIHZhbHVlOiBNYXRoLmFicyh0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudClcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmdldEJ5VHJhbnNhY3Rpb25zSWRzKHRoaXMuZ2V0SWRzKCkpLnN1bUJ5KCdhbW91bnQnKVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBidXNpbmVzcyB0cmFuc2FjdGlvbnMgY2FsY3VsYXRlZCBkaWZmZXJlbnRseSwgc2VwYXJhdGVkIGNvbGxlY3Rpb24/XG4gICAqL1xuICBnZXRCdXNpbmVzc0NsYWltQW1vdW50KGJ1c2luZXNzSWQ6IG51bWJlciA9IG51bGwpOiBudW1iZXIge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IGJ1c2luZXNzSWQgPyB0aGlzLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIGJ1c2luZXNzSWQpIDogdGhpcztcbiAgICBjb25zdCBleHBlbnNlcyA9IHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk7XG4gICAgY29uc3QgaW5jb21lcyA9IHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKTtcblxuICAgIHJldHVybiBpbmNvbWVzLnN1bUJ5KCdjbGFpbUFtb3VudCcpICsgZXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cblxuICBnZXRUYXhhYmxlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgPiAwKTtcbiAgfVxufVxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBSVgsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUE2QixxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRTs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBc0M7SUFDL0U7O09BRUc7SUFDSCxZQUFZLGVBQThCLEVBQUUsRUFBRSxnQkFBZ0MsRUFBRTtRQUM5RSxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxD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QUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uTWV0YUZpZWxkLFxuICBWZWhpY2xlQ2xhaW1cbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24sIEZpbmFuY2lhbFllYXIsIE1PTlRIUyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9zb2xlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuY29sbGVjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb248VHJhbnNhY3Rpb24+IHtcbiAgLyoqXG4gICAqIHdlIHVzZSBkZXByZWNpYXRpb25zIGFzIGV4cGVuc2UgdHJhbnNhY3Rpb25zIGEgbG90XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXSwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10gPSBbXSkge1xuICAgIHN1cGVyKFsuLi50cmFuc2FjdGlvbnMsIC4uLmRlcHJlY2lhdGlvbnMubWFwKChkZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi50b1RyYW5zYWN0aW9uKCkpXSk7XG4gIH1cblxuICBnZXRTb2xlVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCkpO1xuICB9XG5cbiAgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEZpbmRBbmRNYXRjaChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigodHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmNhbkZpbmRBbmRNYXRjaChhbGxvY2F0aW9ucykpO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IG51bWJlciA9PlxuICAgICAgc3VtICsgdHJhbnNhY3Rpb24uZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMuZmlsdGVyQnkoJ3RyYW5zYWN0aW9uLmlkJywgdHJhbnNhY3Rpb24uaWQpKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGRhdGUgb2YgdGhlIGxhc3QgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldExhc3RUcmFuc2FjdGlvbkRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE1hdGgubWF4LmFwcGx5KE1hdGgsIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmRhdGUpKSk7XG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmNsYWltQW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBncm9zc0NsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5ncm9zc0NsYWltQW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uZ3Jvc3NBbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIG1ldGEgZmllbGRzXG4gICAqL1xuICBnZXRUcmFuc2FjdGlvbnNNZXRhRmllbGRzKCk6IENvbGxlY3Rpb248VHJhbnNhY3Rpb25NZXRhRmllbGQ+IHtcbiAgICBjb25zdCBtZXRhRmllbGRzQXJyYXk6IFRyYW5zYWN0aW9uTWV0YUZpZWxkW10gPSBbXTtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBtZXRhRmllbGRzQXJyYXkucHVzaCguLi50cmFuc2FjdGlvbi5tZXRhRmllbGRzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbjxUcmFuc2FjdGlvbk1ldGFGaWVsZD4obWV0YUZpZWxkc0FycmF5KTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNFeHBlbnNlKCkgJiYgIXRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGluY29tZSBzb3VyY2UgaWRcbiAgICogQHBhcmFtIGlkIGlkIG9mIGluY29tZSBzb3VyY2UgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0QnlJbmNvbWVTb3VyY2VJZChpZDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZT8uaWQgPT09IGlkKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGNhdGVnb3J5XG4gICAqIEBwYXJhbSBjYXRlZ29yeSBDaGFydCBhY2NvdW50cyBjYXRlZ29yeSB2YWx1ZVxuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcnkoY2F0ZWdvcnk6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gb2YgcHJvcGVydHkgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRQcm9wZXJ0eVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0YW5rVHlwZScsIFRhbmtUeXBlRW51bS5QUk9QRVJUWSk7XG4gIH1cblxuICBnZXREZWJpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNEZWJpdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVkaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzQ3JlZGl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5QWxsb2NhdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUludm9pY2VzKGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnaW52b2ljZUl0ZW0uaWQnLCBpbnZvaWNlcy5nZXRJbnZvaWNlSXRlbXNJZHMoKSk7XG4gIH1cblxuICBnZXRBbW91bnRQZXJJbnZvaWNlKCk6IERpY3Rpb25hcnk8bnVtYmVyPiB7XG4gICAgLy8gQFRPRE8gaW52b2ljZUl0ZW0uaW52b2ljZSB3aWxsIGJlIHJlbW92ZWQgb24gYmFja2VuZFxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5SW52b2ljZSA9IHRoaXMuZ3JvdXBCeSgnaW52b2ljZUl0ZW0uaW52b2ljZS5pZCcpO1xuICAgIGNvbnN0IGRpY3Rpb25hcnk6IERpY3Rpb25hcnk8bnVtYmVyPiA9IG5ldyBEaWN0aW9uYXJ5KFtdKTtcblxuICAgIHRyYW5zYWN0aW9uc0J5SW52b2ljZS5rZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgZGljdGlvbmFyeS5hZGQoa2V5LCB0cmFuc2FjdGlvbnNCeUludm9pY2UuZ2V0KGtleSkuc3VtQnkoJ2dyb3NzQW1vdW50JykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIFZlaGljbGUgY2F0ZWdvcnlcbiAgICovXG4gIGdldFZlaGljbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNWZWhpY2xlVHJhbnNhY3Rpb24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0YW5rVHlwZScsIHRhbmtUeXBlKTtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdEZXNjcmlwdGlvbicsICdEZWJpdCcsICdDcmVkaXQnXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogJ1RvdGFsJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0aGlzLnN1bUJ5KCdkZWJpdCcpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdGhpcy5zdW1CeSgnY3JlZGl0JyksIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KVxuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBpcyBub3QgYSByZXF1aXJlZCBmaWVsZCBmb3IgdHJhbnNhY3Rpb25zLlxuICAgICAqIGlmIHRoZXJlIGlzIG5vIGRlc2NyaXB0aW9uLCB0aGVuIGFkZCBhbiBlbXB0eSBsaW5lIHNvIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyB3aGVuIHRyYW5zbGF0ZWQgaW50byBhIHN0cmluZy5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uID8/ICctJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kZWJpdCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmNyZWRpdCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pXG4gICAgXSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSB0cmFuc2FjdGlvbnMgZmlsdGVyZWQgYnkgdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgZ2V0QnlWZWhpY2xlQ2xhaW0odmVoaWNsZUNsYWltPzogVmVoaWNsZUNsYWltKTogdGhpcyB7XG4gICAgaWYgKCF2ZWhpY2xlQ2xhaW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZShbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlaGljbGVDbGFpbS5pc1NvbGVUYW5rKClcbiAgICAgIC8vIHNvbGUgdGFuayBtYXkgaGF2ZSBtdWx0aXBsZSB2ZWhpY2xlIGNsYWltcywgc28gd2UgbmVlZCB0byBmaWx0ZXIgYnkgYnVzaW5lc3MuaWRcbiAgICAgID8gdGhpcy5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCkuZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmVoaWNsZUNsYWltLmJ1c2luZXNzLmlkKVxuICAgICAgLy8gd29yayB0YW5rIG1heSBoYXZlIG9ubHkgb25lIHZlaGljbGUgY2xhaW0sIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IHRhbmsgdHlwZVxuICAgICAgOiB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uV09SSyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSB0cmFuc2FjdGlvbnMgZXhjZXB0IEtNUyB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldExvZ2Jvb2tUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5yZW1vdmVCeSgnY2hhcnRBY2NvdW50cy5pZCcsIFtDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUkssIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGNoYXJ0IGRhdGEgd2l0aCB0cmFuc2FjdGlvbnMgY2FzaCBwb3NpdGlvbi5cbiAgICogQ2FzaCBwb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzIChpbmNsdWRlIGRlcHJlY2lhdGlvbnMpXG4gICAqIENoYXJ0IGRhdGEgZm9yIGVhY2ggbW9udGggZnJvbSBmaW4geWVhciBzdGFydCB0aWxsIGN1cnJlbnQgbW9udGhcbiAgICovXG4gIGdldENhc2hQb3NpdGlvbkNoYXJ0RGF0YSgpOiBDaGFydERhdGFbXSB7XG4gICAgY29uc3QgY2hhcnREYXRhOiBDaGFydERhdGFbXSA9IFtcbiAgICAgIHBsYWluVG9DbGFzcyhDaGFydERhdGEsIHsgbmFtZTogJ0luY29tZScsIGRhdGE6IFtdIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKENoYXJ0RGF0YSwgeyBuYW1lOiAnRXhwZW5zZScsIGRhdGE6IFtdIH0pXG4gICAgXTtcblxuICAgIG5ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0UGFzdE1vbnRocygpLmZvckVhY2gobW9udGggPT4ge1xuICAgICAgY2hhcnREYXRhWzBdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudFxuICAgICAgfSk7XG4gICAgICBjaGFydERhdGFbMV0uZGF0YS5wdXNoKHtcbiAgICAgICAgbGFiZWw6IE1PTlRIU1ttb250aF0sXG4gICAgICAgIHZhbHVlOiBNYXRoLmFicyh0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudClcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmdldEJ5VHJhbnNhY3Rpb25zSWRzKHRoaXMuZ2V0SWRzKCkpLnN1bUJ5KCdhbW91bnQnKVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBidXNpbmVzcyB0cmFuc2FjdGlvbnMgY2FsY3VsYXRlZCBkaWZmZXJlbnRseSwgc2VwYXJhdGVkIGNvbGxlY3Rpb24/XG4gICAqL1xuICBnZXRCdXNpbmVzc0NsYWltQW1vdW50KGJ1c2luZXNzSWQ6IG51bWJlciA9IG51bGwpOiBudW1iZXIge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IGJ1c2luZXNzSWQgPyB0aGlzLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIGJ1c2luZXNzSWQpIDogdGhpcztcbiAgICBjb25zdCBleHBlbnNlcyA9IHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk7XG4gICAgY29uc3QgaW5jb21lcyA9IHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKTtcblxuICAgIHJldHVybiBpbmNvbWVzLnN1bUJ5KCdjbGFpbUFtb3VudCcpICsgZXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cblxuICBnZXRUYXhhYmxlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgPiAwKTtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZSgpOiBUYW5rVHlwZUVudW0ge1xuICAgIHJldHVybiB0aGlzLmZpcnN0LnRhbmtUeXBlO1xuICB9XG59XG4iXX0=
@@ -1,12 +1,11 @@
1
1
  import { UserRolesEnum } from 'taxtank-core/common';
2
2
  export const REPORTS = {
3
3
  [UserRolesEnum.CLIENT]: [
4
- // @TODO TT-4385
5
- // {
6
- // title: 'Income & Expense Report',
7
- // description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories.',
8
- // routerLink: './income-expense',
9
- // },
4
+ {
5
+ title: 'Income & Expense Report',
6
+ description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories.',
7
+ routerLink: './income-expense',
8
+ },
10
9
  {
11
10
  title: 'Transactions Report',
12
11
  description: 'Detailed report of the transactions allocated to each category. Filter by tank, property, business or your own search criteria.',
@@ -105,4 +104,4 @@ export const REPORTS = {
105
104
  },
106
105
  ],
107
106
  };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3JlcG9ydHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBOEM7SUFDaEUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEIsZ0JBQWdCO1FBQ2hCLElBQUk7UUFDSixzQ0FBc0M7UUFDdEMsNkpBQTZKO1FBQzdKLG9DQUFvQztRQUNwQyxLQUFLO1FBQ0w7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSxpSUFBaUk7WUFDOUksVUFBVSxFQUFFLGdCQUFnQjtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLGNBQWM7WUFDckIsV0FBVyxFQUFFLGlKQUFpSjtZQUM5SixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLFdBQVc7WUFDbEIsV0FBVyxFQUFFLGdIQUFnSDtZQUM3SCxVQUFVLEVBQUUsY0FBYztTQUMzQjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDekI7WUFDRSxLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdBQVcsRUFBRSw0RkFBNEY7WUFDekcsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSxrR0FBa0c7WUFDL0csVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSxpSEFBaUg7WUFDOUgsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO0tBQ0Y7SUFDRCxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUM3QjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLHNIQUFzSDtZQUNuSSxVQUFVLEVBQUUseUJBQXlCO1NBQ3RDO1FBQ0Q7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSx3SEFBd0g7WUFDckksVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSxpSEFBaUg7WUFDOUgsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsWUFBWTtZQUNuQixXQUFXLEVBQUUscUhBQXFIO1lBQ2xJLFVBQVUsRUFBRSxnQkFBZ0I7U0FDN0I7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3pCO1lBQ0UsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUsb0dBQW9HO1lBQ2pILFVBQVUsRUFBRSxxQkFBcUI7U0FDbEM7UUFDRDtZQUNFLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsV0FBVyxFQUFFLDRGQUE0RjtZQUN6RyxVQUFVLEVBQUUsb0JBQW9CO1lBQ2hDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxxQkFBcUI7WUFDNUIsV0FBVyxFQUFFLHlGQUF5RjtZQUN0RyxVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsV0FBVyxFQUFFLGlIQUFpSDtZQUM5SCxVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxZQUFZO1lBQ25CLFdBQVcsRUFBRSx3R0FBd0c7WUFDckgsVUFBVSxFQUFFLE9BQU87U0FDcEI7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQzVCO1lBQ0UsS0FBSyxFQUFFLFlBQVk7WUFDbkIsV0FBVyxFQUFFLHFIQUFxSDtZQUNsSSxVQUFVLEVBQUUsZUFBZTtTQUM1QjtLQUNGO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXBvcnQgfSBmcm9tICcuL3JlcG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgUkVQT1JUUzogUGFydGlhbDxSZWNvcmQ8VXNlclJvbGVzRW51bSwgSVJlcG9ydFtdPj4gPSB7XG4gIFtVc2VyUm9sZXNFbnVtLkNMSUVOVF06IFtcbiAgICAvLyBAVE9ETyBUVC00Mzg1XG4gICAgLy8ge1xuICAgIC8vICAgdGl0bGU6ICdJbmNvbWUgJiBFeHBlbnNlIFJlcG9ydCcsXG4gICAgLy8gICBkZXNjcmlwdGlvbjogJ0luY29tZSBhbmQgZXhwZW5zZSByZXBvcnQgd2l0aCBwcmlvciB5ZWFyIGNvbXBhcmlzb24gYW5kIG1vbnRobHkgdmlldyBvcHRpb24uIEZpbHRlciBieSBUYW5rLCBwcm9wZXJ0eSwgYnVzaW5lc3Mgb3IgcGVyc29uYWwgY2F0ZWdvcmllcy4nLFxuICAgIC8vICAgcm91dGVyTGluazogJy4vaW5jb21lLWV4cGVuc2UnLFxuICAgIC8vIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbnMgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGV0YWlsZWQgcmVwb3J0IG9mIHRoZSB0cmFuc2FjdGlvbnMgYWxsb2NhdGVkIHRvIGVhY2ggY2F0ZWdvcnkuIEZpbHRlciBieSB0YW5rLCBwcm9wZXJ0eSwgYnVzaW5lc3Mgb3IgeW91ciBvd24gc2VhcmNoIGNyaXRlcmlhLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi90cmFuc2FjdGlvbnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdNeVRheCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb2RlZCB0byB0aGUgQVRPXFwncyBNeVRheCByZXBvcnQsIG91ciBpbnRlcmFjdGl2ZSByZXBvcnQgZW5hYmxlIHlvdSB0byBzZWxmIGxvZGdlIGZhc3RlciwgZWFzaWVyIGFuZCBtb3JlIGFjY3VyYXRlbHkgb25saW5lIHdpdGhvdXQgdGhlIHN0cmVzcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vbXktdGF4JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnTmV0IEFzc2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2VlIHlvdXIgY3VycmVudCBuZXQgZmluYW5jaWFsIHBvc2l0aW9uLCBpbmNsdWRpbmcgYSBicmVha2Rvd24gb2YgbmV0IGFzc2V0cyBhbmQgbGlhYmlsaXRpZXMgYWNyb3NzIGFsbCB0YW5rcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vbmV0LWFzc2V0cycsXG4gICAgfSxcbiAgXSxcbiAgW1VzZXJSb2xlc0VudW0uV09SS19UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnTW90b3IgVmVoaWNsZSBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyB3b3JrLXJlbGF0ZWQgdmVoaWNsZSBleHBlbnNlcyBiYXNlZCB1cG9uIHlvdXIgbG9nYm9vayBjbGFpbSBtZXRob2Qgb3IgcGVyY2VudGFnZS4nLFxuICAgICAgcm91dGVyTGluazogJy4vdmVoaWNsZS1leHBlbnNlcycsXG4gICAgICBxdWVyeVBhcmFtczogeyB0YW5rVHlwZTogMiB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0RlcHJlY2lhdGlvbiBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBwbGFudCAmIGVxdWlwbWVudCBkZXByZWNpYXRpb24gaW5jbHVkaW5nIHZlaGljbGVzIGFuZCB3b3JrLXJlbGF0ZWQgYXNzZXRzIG92ZXIgJDMwMC4nLFxuICAgICAgcm91dGVyTGluazogJy4vZGVwcmVjaWF0aW9uJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiAyIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnTG93IFZhbHVlIFBvb2wgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVnaXN0ZXIgb2YgbmV3IGFzc2V0cyB2YWx1ZWQgYmV0d2VlbiAkMzAxIGFuZCAkMSwwMDAgYW5kIGV4aXN0aW5nIGFzc2V0cyB0aGF0IGZhbGwgYmVsb3cgdGhlICQxLDAwMCB0aHJlc2hvbGQuJyxcbiAgICAgIHJvdXRlckxpbms6ICcuL2xvdy12YWx1ZS1wb29sJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiAyIH1cbiAgICB9LFxuICBdLFxuICBbVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnUHJvcGVydHkgU2NoZWR1bGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb21wbGlhbnQgcHJvcGVydHkgc2NoZWR1bGUgZGV0YWlsaW5nIGluY29tZXMsIGV4cGVuc2VzIGFuZCBkZXByZWNpYXRpb24gZm9yIGVhY2ggcHJvcGVydHkgYW5kIG93bmVyc2hpcCBwZXJjZW50YWdlLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9wcm9wZXJ0eS10cmFuc2FjdGlvbnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdEZXByZWNpYXRpb24gUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVnaXN0ZXIgb2YgYnVpbGRpbmcgJiBpbXByb3ZlbWVudHMgZGVwcmVjaWF0aW9uIChjYXBpdGFsIHdvcmtzKSBhbmQgcGxhbnQgJiBlcXVpcG1lbnQgZGVwcmVjaWF0aW9uIGZvciBlYWNoIHByb3BlcnR5LicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9kZXByZWNpYXRpb24nLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDEgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdMb3cgVmFsdWUgUG9vbCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBuZXcgYXNzZXRzIHZhbHVlZCBiZXR3ZWVuICQzMDEgYW5kICQxLDAwMCBhbmQgZXhpc3RpbmcgYXNzZXRzIHRoYXQgZmFsbCBiZWxvdyB0aGUgJDEsMDAwIHRocmVzaG9sZC4nLFxuICAgICAgcm91dGVyTGluazogJy4vbG93LXZhbHVlLXBvb2wnLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDEgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdDR1QgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ2FsY3VsYXRlIG5ldCBjYXBpdGFsIGdhaW5zIGFjcm9zcyBhbGwgYXNzZXQgY2xhc3NlcywgaW5jbHVkaW5nIHRoZSBhcHBsaWNhdGlvbiBvZiBsb3NzZXMgYW5kIGVsaWdpYmxlIGNvbmNlc3Npb25zLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9jZ3QvcHJvcGVydHknLFxuICAgIH0sXG4gIF0sXG4gIFtVc2VyUm9sZXNFbnVtLlNPTEVfVEFOS106IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0J1c2luZXNzIFNjaGVkdWxlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29tcGxpYW50IHNjaGVkdWxlIGRldGFpbGluZyBwcm9maXQgYW5kIGxvc3MgZm9yIGVhY2ggcHJpbWFyeSBhbmQgbm9uLXByaW1hcnkgcHJvZHVjdGlvbiBidXNpbmVzcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vYnVzaW5lc3Mtc2NoZWR1bGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdNb3RvciBWZWhpY2xlIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIHdvcmstcmVsYXRlZCB2ZWhpY2xlIGV4cGVuc2VzIGJhc2VkIHVwb24geW91ciBsb2dib29rIGNsYWltIG1ldGhvZCBvciBwZXJjZW50YWdlLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi92ZWhpY2xlLWV4cGVuc2VzJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiA0IH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnRGVwcmVjaWF0aW9uIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RyYWNrIHNtYWxsIGJ1c2luZXNzIHBvb2wgZGVwcmVjaWF0aW9uLCBpbnN0YW50IGFzc2V0IHdyaXRlLW9mZnMgYW5kIHBsYW50ICYgZXF1aXBtZW50LicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9kZXByZWNpYXRpb24nLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDQgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdMb3cgVmFsdWUgUG9vbCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBuZXcgYXNzZXRzIHZhbHVlZCBiZXR3ZWVuICQzMDEgYW5kICQxLDAwMCBhbmQgZXhpc3RpbmcgYXNzZXRzIHRoYXQgZmFsbCBiZWxvdyB0aGUgJDEsMDAwIHRocmVzaG9sZC4nLFxuICAgICAgcm91dGVyTGluazogJy4vbG93LXZhbHVlLXBvb2wnLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDQgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdCQVMgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU3VtbWFyaXNlcyB5b3VyIEdTVCBvYmxpZ2F0aW9ucyBmcm9tIGFwcGxpY2FibGUgc2FsZXMgYW5kIHB1cmNoYXNlcyB0byBlbmFibGUgYWNjdXJhdGUgQVRPIGxvZGdlbWVudHMuJyxcbiAgICAgIHJvdXRlckxpbms6ICcuL2JhcycsXG4gICAgfSxcbiAgXSxcbiAgW1VzZXJSb2xlc0VudW0uSE9MRElOR19UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQ0dUIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0NhbGN1bGF0ZSBuZXQgY2FwaXRhbCBnYWlucyBhY3Jvc3MgYWxsIGFzc2V0IGNsYXNzZXMsIGluY2x1ZGluZyB0aGUgYXBwbGljYXRpb24gb2YgbG9zc2VzIGFuZCBlbGlnaWJsZSBjb25jZXNzaW9ucy4nLFxuICAgICAgcm91dGVyTGluazogJy4vY2d0L2hvbGRpbmcnLFxuICAgIH0sXG4gIF0sXG59XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3JlcG9ydHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBOEM7SUFDaEUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEI7WUFDRSxLQUFLLEVBQUUseUJBQXlCO1lBQ2hDLFdBQVcsRUFBRSwwSUFBMEk7WUFDdkosVUFBVSxFQUFFLGtCQUFrQjtTQUMvQjtRQUNEO1lBQ0UsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixXQUFXLEVBQUUsaUlBQWlJO1lBQzlJLFVBQVUsRUFBRSxnQkFBZ0I7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFdBQVcsRUFBRSxpSkFBaUo7WUFDOUosVUFBVSxFQUFFLFVBQVU7U0FDdkI7UUFDRDtZQUNFLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFdBQVcsRUFBRSxnSEFBZ0g7WUFDN0gsVUFBVSxFQUFFLGNBQWM7U0FDM0I7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3pCO1lBQ0UsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixXQUFXLEVBQUUsNEZBQTRGO1lBQ3pHLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixXQUFXLEVBQUUsa0dBQWtHO1lBQy9HLFVBQVUsRUFBRSxnQkFBZ0I7WUFDNUIsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixXQUFXLEVBQUUsaUhBQWlIO1lBQzlILFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUM3QjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDN0I7WUFDRSxLQUFLLEVBQUUsbUJBQW1CO1lBQzFCLFdBQVcsRUFBRSxzSEFBc0g7WUFDbkksVUFBVSxFQUFFLHlCQUF5QjtTQUN0QztRQUNEO1lBQ0UsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixXQUFXLEVBQUUsd0hBQXdIO1lBQ3JJLFVBQVUsRUFBRSxnQkFBZ0I7WUFDNUIsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixXQUFXLEVBQUUsaUhBQWlIO1lBQzlILFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLFlBQVk7WUFDbkIsV0FBVyxFQUFFLHFIQUFxSDtZQUNsSSxVQUFVLEVBQUUsZ0JBQWdCO1NBQzdCO0tBQ0Y7SUFDRCxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN6QjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLG9HQUFvRztZQUNqSCxVQUFVLEVBQUUscUJBQXFCO1NBQ2xDO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdBQVcsRUFBRSw0RkFBNEY7WUFDekcsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSx5RkFBeUY7WUFDdEcsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSxpSEFBaUg7WUFDOUgsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsWUFBWTtZQUNuQixXQUFXLEVBQUUsd0dBQXdHO1lBQ3JILFVBQVUsRUFBRSxPQUFPO1NBQ3BCO0tBQ0Y7SUFDRCxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUM1QjtZQUNFLEtBQUssRUFBRSxZQUFZO1lBQ25CLFdBQVcsRUFBRSxxSEFBcUg7WUFDbEksVUFBVSxFQUFFLGVBQWU7U0FDNUI7S0FDRjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVwb3J0IH0gZnJvbSAnLi9yZXBvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICd0YXh0YW5rLWNvcmUvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFJFUE9SVFM6IFBhcnRpYWw8UmVjb3JkPFVzZXJSb2xlc0VudW0sIElSZXBvcnRbXT4+ID0ge1xuICBbVXNlclJvbGVzRW51bS5DTElFTlRdOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdJbmNvbWUgJiBFeHBlbnNlIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luY29tZSBhbmQgZXhwZW5zZSByZXBvcnQgd2l0aCBwcmlvciB5ZWFyIGNvbXBhcmlzb24gYW5kIG1vbnRobHkgdmlldyBvcHRpb24uIEZpbHRlciBieSBUYW5rLCBwcm9wZXJ0eSwgYnVzaW5lc3Mgb3IgcGVyc29uYWwgY2F0ZWdvcmllcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vaW5jb21lLWV4cGVuc2UnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbnMgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGV0YWlsZWQgcmVwb3J0IG9mIHRoZSB0cmFuc2FjdGlvbnMgYWxsb2NhdGVkIHRvIGVhY2ggY2F0ZWdvcnkuIEZpbHRlciBieSB0YW5rLCBwcm9wZXJ0eSwgYnVzaW5lc3Mgb3IgeW91ciBvd24gc2VhcmNoIGNyaXRlcmlhLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi90cmFuc2FjdGlvbnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdNeVRheCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb2RlZCB0byB0aGUgQVRPXFwncyBNeVRheCByZXBvcnQsIG91ciBpbnRlcmFjdGl2ZSByZXBvcnQgZW5hYmxlIHlvdSB0byBzZWxmIGxvZGdlIGZhc3RlciwgZWFzaWVyIGFuZCBtb3JlIGFjY3VyYXRlbHkgb25saW5lIHdpdGhvdXQgdGhlIHN0cmVzcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vbXktdGF4JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnTmV0IEFzc2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2VlIHlvdXIgY3VycmVudCBuZXQgZmluYW5jaWFsIHBvc2l0aW9uLCBpbmNsdWRpbmcgYSBicmVha2Rvd24gb2YgbmV0IGFzc2V0cyBhbmQgbGlhYmlsaXRpZXMgYWNyb3NzIGFsbCB0YW5rcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vbmV0LWFzc2V0cycsXG4gICAgfSxcbiAgXSxcbiAgW1VzZXJSb2xlc0VudW0uV09SS19UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnTW90b3IgVmVoaWNsZSBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyB3b3JrLXJlbGF0ZWQgdmVoaWNsZSBleHBlbnNlcyBiYXNlZCB1cG9uIHlvdXIgbG9nYm9vayBjbGFpbSBtZXRob2Qgb3IgcGVyY2VudGFnZS4nLFxuICAgICAgcm91dGVyTGluazogJy4vdmVoaWNsZS1leHBlbnNlcycsXG4gICAgICBxdWVyeVBhcmFtczogeyB0YW5rVHlwZTogMiB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0RlcHJlY2lhdGlvbiBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBwbGFudCAmIGVxdWlwbWVudCBkZXByZWNpYXRpb24gaW5jbHVkaW5nIHZlaGljbGVzIGFuZCB3b3JrLXJlbGF0ZWQgYXNzZXRzIG92ZXIgJDMwMC4nLFxuICAgICAgcm91dGVyTGluazogJy4vZGVwcmVjaWF0aW9uJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiAyIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnTG93IFZhbHVlIFBvb2wgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVnaXN0ZXIgb2YgbmV3IGFzc2V0cyB2YWx1ZWQgYmV0d2VlbiAkMzAxIGFuZCAkMSwwMDAgYW5kIGV4aXN0aW5nIGFzc2V0cyB0aGF0IGZhbGwgYmVsb3cgdGhlICQxLDAwMCB0aHJlc2hvbGQuJyxcbiAgICAgIHJvdXRlckxpbms6ICcuL2xvdy12YWx1ZS1wb29sJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiAyIH1cbiAgICB9LFxuICBdLFxuICBbVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnUHJvcGVydHkgU2NoZWR1bGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb21wbGlhbnQgcHJvcGVydHkgc2NoZWR1bGUgZGV0YWlsaW5nIGluY29tZXMsIGV4cGVuc2VzIGFuZCBkZXByZWNpYXRpb24gZm9yIGVhY2ggcHJvcGVydHkgYW5kIG93bmVyc2hpcCBwZXJjZW50YWdlLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9wcm9wZXJ0eS10cmFuc2FjdGlvbnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdEZXByZWNpYXRpb24gUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVnaXN0ZXIgb2YgYnVpbGRpbmcgJiBpbXByb3ZlbWVudHMgZGVwcmVjaWF0aW9uIChjYXBpdGFsIHdvcmtzKSBhbmQgcGxhbnQgJiBlcXVpcG1lbnQgZGVwcmVjaWF0aW9uIGZvciBlYWNoIHByb3BlcnR5LicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9kZXByZWNpYXRpb24nLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDEgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdMb3cgVmFsdWUgUG9vbCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBuZXcgYXNzZXRzIHZhbHVlZCBiZXR3ZWVuICQzMDEgYW5kICQxLDAwMCBhbmQgZXhpc3RpbmcgYXNzZXRzIHRoYXQgZmFsbCBiZWxvdyB0aGUgJDEsMDAwIHRocmVzaG9sZC4nLFxuICAgICAgcm91dGVyTGluazogJy4vbG93LXZhbHVlLXBvb2wnLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDEgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdDR1QgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ2FsY3VsYXRlIG5ldCBjYXBpdGFsIGdhaW5zIGFjcm9zcyBhbGwgYXNzZXQgY2xhc3NlcywgaW5jbHVkaW5nIHRoZSBhcHBsaWNhdGlvbiBvZiBsb3NzZXMgYW5kIGVsaWdpYmxlIGNvbmNlc3Npb25zLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9jZ3QvcHJvcGVydHknLFxuICAgIH0sXG4gIF0sXG4gIFtVc2VyUm9sZXNFbnVtLlNPTEVfVEFOS106IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0J1c2luZXNzIFNjaGVkdWxlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29tcGxpYW50IHNjaGVkdWxlIGRldGFpbGluZyBwcm9maXQgYW5kIGxvc3MgZm9yIGVhY2ggcHJpbWFyeSBhbmQgbm9uLXByaW1hcnkgcHJvZHVjdGlvbiBidXNpbmVzcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vYnVzaW5lc3Mtc2NoZWR1bGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdNb3RvciBWZWhpY2xlIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIHdvcmstcmVsYXRlZCB2ZWhpY2xlIGV4cGVuc2VzIGJhc2VkIHVwb24geW91ciBsb2dib29rIGNsYWltIG1ldGhvZCBvciBwZXJjZW50YWdlLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi92ZWhpY2xlLWV4cGVuc2VzJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiA0IH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnRGVwcmVjaWF0aW9uIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RyYWNrIHNtYWxsIGJ1c2luZXNzIHBvb2wgZGVwcmVjaWF0aW9uLCBpbnN0YW50IGFzc2V0IHdyaXRlLW9mZnMgYW5kIHBsYW50ICYgZXF1aXBtZW50LicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9kZXByZWNpYXRpb24nLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDQgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdMb3cgVmFsdWUgUG9vbCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBuZXcgYXNzZXRzIHZhbHVlZCBiZXR3ZWVuICQzMDEgYW5kICQxLDAwMCBhbmQgZXhpc3RpbmcgYXNzZXRzIHRoYXQgZmFsbCBiZWxvdyB0aGUgJDEsMDAwIHRocmVzaG9sZC4nLFxuICAgICAgcm91dGVyTGluazogJy4vbG93LXZhbHVlLXBvb2wnLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDQgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdCQVMgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU3VtbWFyaXNlcyB5b3VyIEdTVCBvYmxpZ2F0aW9ucyBmcm9tIGFwcGxpY2FibGUgc2FsZXMgYW5kIHB1cmNoYXNlcyB0byBlbmFibGUgYWNjdXJhdGUgQVRPIGxvZGdlbWVudHMuJyxcbiAgICAgIHJvdXRlckxpbms6ICcuL2JhcycsXG4gICAgfSxcbiAgXSxcbiAgW1VzZXJSb2xlc0VudW0uSE9MRElOR19UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQ0dUIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0NhbGN1bGF0ZSBuZXQgY2FwaXRhbCBnYWlucyBhY3Jvc3MgYWxsIGFzc2V0IGNsYXNzZXMsIGluY2x1ZGluZyB0aGUgYXBwbGljYXRpb24gb2YgbG9zc2VzIGFuZCBlbGlnaWJsZSBjb25jZXNzaW9ucy4nLFxuICAgICAgcm91dGVyTGluazogJy4vY2d0L2hvbGRpbmcnLFxuICAgIH0sXG4gIF0sXG59XG4iXX0=
@@ -53,7 +53,7 @@ export class FacebookService {
53
53
  if (!response.authResponse) {
54
54
  return;
55
55
  }
56
- if (!response.authResponse.grantedScopes.includes('email')) {
56
+ if (!response.authResponse.grantedScopes?.includes('email')) {
57
57
  this.toastService.error(ERROR_EMAIL_PERMISSION);
58
58
  return;
59
59
  }
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
84
84
  type: Inject,
85
85
  args: ['environment']
86
86
  }] }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZWJvb2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2ZhY2Vib29rL2ZhY2Vib29rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV3ZDLE1BQU0sc0JBQXNCLEdBQUcscUVBQXFFLENBQUM7QUFLckcsTUFBTSxPQUFPLGVBQWU7YUFHbkIsZ0JBQVcsR0FBd0I7UUFDeEMsS0FBSyxFQUFFLHVCQUF1QjtRQUM5QixTQUFTLEVBQUUsV0FBVztRQUN0QixhQUFhLEVBQUUsSUFBSTtLQUNwQixBQUppQixDQUlqQjtJQUVEOztPQUVHO0lBQ0gsWUFDVSxJQUFnQixFQUNoQixZQUEwQixFQUMxQixVQUFzQixFQUN0QixNQUFjLEVBQ1MsV0FBZ0I7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDUyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLFNBQVM7UUFDakMsTUFBTSxXQUFXLEdBQVcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0NBQWdDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUN2RixTQUFTLENBQUMsQ0FBQyxRQUFpRCxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7O09BR0c7SUFDSyxPQUFPLENBQUMsUUFBNEI7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBZ0MsRUFBRSxFQUFFO2dCQUM1QyxpR0FBaUc7Z0JBQ2pHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO29CQUMxQixPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7b0JBQ2hELE9BQU87aUJBQ1I7Z0JBRUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxNQUFNO1FBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E1RVUsZUFBZSx3SEFpQmhCLGFBQWE7bUhBakJaLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBa0JJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0JztcbmltcG9ydCB7IEF1dGhUb2tlbkludGVyZmFjZSwgSnd0U2VydmljZSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRmFjZWJvb2tBdXRoT3B0aW9ucyB9IGZyb20gJy4vZmFjZWJvb2stYXV0aC1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGYWNlYm9va1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi9mYWNlYm9vay1zdGF0dXMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8qKlxuICogRmFjZUJvb2sgaW5zdGFuY2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWZpbml0ZWx5VHlwZWQvRGVmaW5pdGVseVR5cGVkL2Jsb2IvbWFzdGVyL3R5cGVzL2ZhY2Vib29rLWpzLXNkay9pbmRleC5kLnRzXG4gKi9cbmRlY2xhcmUgbGV0IEZCOiBhbnk7XG5jb25zdCBFUlJPUl9FTUFJTF9QRVJNSVNTSU9OID0gJ0FjY2VzcyB0byBlbWFpbCBkZW5pZWQuIFBsZWFzZSBwcm92aWRlIGFjY2VzcyB0byBlbWFpbCBpbiBmYWNlYm9vay4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGYWNlYm9va1NlcnZpY2Uge1xuICBpc0xvZ2dlZEluU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBpc0ZhY2Vib29rRW5hYmxlZDogYm9vbGVhbjtcbiAgc3RhdGljIGF1dGhPcHRpb25zOiBGYWNlYm9va0F1dGhPcHRpb25zID0ge1xuICAgIHNjb3BlOiAnZW1haWwsIHB1YmxpY19wcm9maWxlJyxcbiAgICBhdXRoX3R5cGU6ICdyZXJlcXVlc3QnLFxuICAgIHJldHVybl9zY29wZXM6IHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB3aGVuIGdvb2dsZSBsb2dpbiB3aWxsIGJlIGRvbmUsIGl0IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGFuIGFic3RyYWN0IGNsYXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCghdGhpcy5qd3RTZXJ2aWNlLmlzVG9rZW5FeHBpcmVkKCkpO1xuICAgIHRoaXMuaXNGYWNlYm9va0VuYWJsZWQgPSAhIWVudmlyb25tZW50WydmYWNlYm9va0FwcElkJ107XG4gIH1cblxuICBhc3luYyBsb2dpbihyZWRpcmVjdFVybCA9ICcvY2xpZW50Jyk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW46IHN0cmluZyA9IGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2F1dGhlbnRpY2F0aW9uL2ZhY2Vib29rYCwgeyBhY2Nlc3NUb2tlbiB9KVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IHsgdG9rZW46IHN0cmluZywgcmVmcmVzaFRva2VuOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmVkaXJlY3RVcmxdKTtcbiAgICAgIH0sIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3IudmlvbGF0aW9uc1swXS5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHNhdmUgdXNlcidzIGF1dGggdG9rZW5zXG4gICAqIEBUT0RPIG1vdmUgdG8gYWJzdHJhY3QgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgc2V0QXV0aChyZXNwb25zZTogQXV0aFRva2VuSW50ZXJmYWNlKSB7XG4gICAgdGhpcy5qd3RTZXJ2aWNlLnNhdmVUb2tlbnMocmVzcG9uc2UpO1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZmFjZWJvb2sgYXV0aCBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIHByaXZhdGUgZ2V0QWNjZXNzVG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgICAgRkIubG9naW4oKHJlc3BvbnNlOiBGYWNlYm9va1N0YXR1c1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIC8vIGF1dGhSZXNwb25zZSB3aWxsIGJlIGVtcHR5IGlmIHlvdSBjbG9zZSB0aGUgRmFjZWJvb2sgbG9naW4gd2luZG93IG9yIGVudGVyIGluY29ycmVjdCB1c2VyIGRhdGFcbiAgICAgICAgaWYgKCFyZXNwb25zZS5hdXRoUmVzcG9uc2UpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlc3BvbnNlLmF1dGhSZXNwb25zZS5ncmFudGVkU2NvcGVzLmluY2x1ZGVzKCdlbWFpbCcpKSB7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoRVJST1JfRU1BSUxfUEVSTUlTU0lPTik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5hdXRoUmVzcG9uc2UuYWNjZXNzVG9rZW4pO1xuICAgICAgfSwgRmFjZWJvb2tTZXJ2aWNlLmF1dGhPcHRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsb2dvdXQgdXNlciBmcm9tIGZhY2Vib29rLlxuICAgKiBOZWVkIHRvIGxvZ291dCB3aGVuIHVzZXIgaXMgdHJ5aW5nIHRvIGxvZ2luIHdpdGggZmFjZWJvb2sgd2l0aCBtYW51YWxseSByZWdpc3RlcmVkIGVtYWlsXG4gICAqL1xuICBwcml2YXRlIGxvZ291dCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBGQi5sb2dvdXQoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZWJvb2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2ZhY2Vib29rL2ZhY2Vib29rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV3ZDLE1BQU0sc0JBQXNCLEdBQUcscUVBQXFFLENBQUM7QUFLckcsTUFBTSxPQUFPLGVBQWU7YUFHbkIsZ0JBQVcsR0FBd0I7UUFDeEMsS0FBSyxFQUFFLHVCQUF1QjtRQUM5QixTQUFTLEVBQUUsV0FBVztRQUN0QixhQUFhLEVBQUUsSUFBSTtLQUNwQixBQUppQixDQUlqQjtJQUVEOztPQUVHO0lBQ0gsWUFDVSxJQUFnQixFQUNoQixZQUEwQixFQUMxQixVQUFzQixFQUN0QixNQUFjLEVBQ1MsV0FBZ0I7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDUyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLFNBQVM7UUFDakMsTUFBTSxXQUFXLEdBQVcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0NBQWdDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUN2RixTQUFTLENBQUMsQ0FBQyxRQUFpRCxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7O09BR0c7SUFDSyxPQUFPLENBQUMsUUFBNEI7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBZ0MsRUFBRSxFQUFFO2dCQUM1QyxpR0FBaUc7Z0JBQ2pHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO29CQUMxQixPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7b0JBQ2hELE9BQU87aUJBQ1I7Z0JBRUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxNQUFNO1FBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E1RVUsZUFBZSx3SEFpQmhCLGFBQWE7bUhBakJaLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBa0JJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0JztcbmltcG9ydCB7IEF1dGhUb2tlbkludGVyZmFjZSwgSnd0U2VydmljZSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRmFjZWJvb2tBdXRoT3B0aW9ucyB9IGZyb20gJy4vZmFjZWJvb2stYXV0aC1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGYWNlYm9va1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi9mYWNlYm9vay1zdGF0dXMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8qKlxuICogRmFjZUJvb2sgaW5zdGFuY2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWZpbml0ZWx5VHlwZWQvRGVmaW5pdGVseVR5cGVkL2Jsb2IvbWFzdGVyL3R5cGVzL2ZhY2Vib29rLWpzLXNkay9pbmRleC5kLnRzXG4gKi9cbmRlY2xhcmUgbGV0IEZCOiBhbnk7XG5jb25zdCBFUlJPUl9FTUFJTF9QRVJNSVNTSU9OID0gJ0FjY2VzcyB0byBlbWFpbCBkZW5pZWQuIFBsZWFzZSBwcm92aWRlIGFjY2VzcyB0byBlbWFpbCBpbiBmYWNlYm9vay4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGYWNlYm9va1NlcnZpY2Uge1xuICBpc0xvZ2dlZEluU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBpc0ZhY2Vib29rRW5hYmxlZDogYm9vbGVhbjtcbiAgc3RhdGljIGF1dGhPcHRpb25zOiBGYWNlYm9va0F1dGhPcHRpb25zID0ge1xuICAgIHNjb3BlOiAnZW1haWwsIHB1YmxpY19wcm9maWxlJyxcbiAgICBhdXRoX3R5cGU6ICdyZXJlcXVlc3QnLFxuICAgIHJldHVybl9zY29wZXM6IHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB3aGVuIGdvb2dsZSBsb2dpbiB3aWxsIGJlIGRvbmUsIGl0IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGFuIGFic3RyYWN0IGNsYXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCghdGhpcy5qd3RTZXJ2aWNlLmlzVG9rZW5FeHBpcmVkKCkpO1xuICAgIHRoaXMuaXNGYWNlYm9va0VuYWJsZWQgPSAhIWVudmlyb25tZW50WydmYWNlYm9va0FwcElkJ107XG4gIH1cblxuICBhc3luYyBsb2dpbihyZWRpcmVjdFVybCA9ICcvY2xpZW50Jyk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW46IHN0cmluZyA9IGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2F1dGhlbnRpY2F0aW9uL2ZhY2Vib29rYCwgeyBhY2Nlc3NUb2tlbiB9KVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IHsgdG9rZW46IHN0cmluZywgcmVmcmVzaFRva2VuOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmVkaXJlY3RVcmxdKTtcbiAgICAgIH0sIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3IudmlvbGF0aW9uc1swXS5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHNhdmUgdXNlcidzIGF1dGggdG9rZW5zXG4gICAqIEBUT0RPIG1vdmUgdG8gYWJzdHJhY3QgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgc2V0QXV0aChyZXNwb25zZTogQXV0aFRva2VuSW50ZXJmYWNlKSB7XG4gICAgdGhpcy5qd3RTZXJ2aWNlLnNhdmVUb2tlbnMocmVzcG9uc2UpO1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZmFjZWJvb2sgYXV0aCBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIHByaXZhdGUgZ2V0QWNjZXNzVG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgICAgRkIubG9naW4oKHJlc3BvbnNlOiBGYWNlYm9va1N0YXR1c1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIC8vIGF1dGhSZXNwb25zZSB3aWxsIGJlIGVtcHR5IGlmIHlvdSBjbG9zZSB0aGUgRmFjZWJvb2sgbG9naW4gd2luZG93IG9yIGVudGVyIGluY29ycmVjdCB1c2VyIGRhdGFcbiAgICAgICAgaWYgKCFyZXNwb25zZS5hdXRoUmVzcG9uc2UpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlc3BvbnNlLmF1dGhSZXNwb25zZS5ncmFudGVkU2NvcGVzPy5pbmNsdWRlcygnZW1haWwnKSkge1xuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKEVSUk9SX0VNQUlMX1BFUk1JU1NJT04pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UuYXV0aFJlc3BvbnNlLmFjY2Vzc1Rva2VuKTtcbiAgICAgIH0sIEZhY2Vib29rU2VydmljZS5hdXRoT3B0aW9ucyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogbG9nb3V0IHVzZXIgZnJvbSBmYWNlYm9vay5cbiAgICogTmVlZCB0byBsb2dvdXQgd2hlbiB1c2VyIGlzIHRyeWluZyB0byBsb2dpbiB3aXRoIGZhY2Vib29rIHdpdGggbWFudWFsbHkgcmVnaXN0ZXJlZCBlbWFpbFxuICAgKi9cbiAgcHJpdmF0ZSBsb2dvdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgRkIubG9nb3V0KChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,6 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { RestService } from '../../rest';
3
3
  import { SoleInvoice } from '../../../../models';
4
- import last from 'lodash/last';
5
4
  import { UserRolesEnum } from 'taxtank-core/common';
6
5
  import { SoleInvoiceCollection } from '../../../../collections';
7
6
  import * as i0 from "@angular/core";
@@ -30,8 +29,7 @@ export class SoleInvoiceService extends RestService {
30
29
  if (!this.cache) {
31
30
  return 1;
32
31
  }
33
- const number = last(this.cache)?.number ?? 0;
34
- return number + 1;
32
+ return this.cache.last.number + 1;
35
33
  }
36
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleInvoiceService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
35
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleInvoiceService, providedIn: 'root' }); }
@@ -45,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
45
43
  type: Inject,
46
44
  args: ['environment']
47
45
  }] }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtaW52b2ljZS9zb2xlLWludm9pY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUtoRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBZ0U7SUFNdEcsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTDdELGdCQUFXLEdBQUcsZUFBZSxDQUFDO1FBQzlCLGVBQVUsR0FBdUIsV0FBVyxDQUFDO1FBQzdDLG9CQUFlLEdBQUcscUJBQXFCLENBQUM7UUFDeEMsVUFBSyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBSWxDLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBb0IsRUFBRSxNQUErQjtRQUNoRSxnREFBZ0Q7UUFDaEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQW9CLEVBQUUsSUFBVTtRQUNuQyxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzdDLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDOytHQWhDVSxrQkFBa0Isa0JBTVQsYUFBYTttSEFOdEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IFNvbGVJbnZvaWNlIGFzIFNvbGVJbnZvaWNlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtaW52b2ljZSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVN0YXR1c2VzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL3NvbGUtaW52b2ljZS1zdGF0dXNlcy5lbnVtJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICd0YXh0YW5rLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2VTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8U29sZUludm9pY2VCYXNlLCBTb2xlSW52b2ljZSwgU29sZUludm9pY2VDb2xsZWN0aW9uPiB7XG4gIGVuZHBvaW50VXJpID0gJ3NvbGUtaW52b2ljZXMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgU29sZUludm9pY2UgPSBTb2xlSW52b2ljZTtcbiAgY29sbGVjdGlvbkNsYXNzID0gU29sZUludm9pY2VDb2xsZWN0aW9uO1xuICByb2xlcyA9IFtVc2VyUm9sZXNFbnVtLlNPTEVfVEFOS107XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHN1cGVyKGVudmlyb25tZW50KTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXR1cyhpbnZvaWNlOiBTb2xlSW52b2ljZSwgc3RhdHVzOiBTb2xlSW52b2ljZVN0YXR1c2VzRW51bSk6IE9ic2VydmFibGU8U29sZUludm9pY2U+IHtcbiAgICAvLyBAVE9ETyB1c2UgaWQgb25seSB0byBhdm9pZCB1bmV4cGVjdGVkIGNoYW5nZXNcbiAgICByZXR1cm4gdGhpcy5wdXQoT2JqZWN0LmFzc2lnbih7fSwgaW52b2ljZSwgeyBzdGF0dXMgfSkpO1xuICB9XG5cbiAgc2VuZChpbnZvaWNlOiBTb2xlSW52b2ljZSwgZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy5lbmRwb2ludFVyaX0vJHtpbnZvaWNlLmlkfS9zZW5kYCwgZm9ybURhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbmV4dCBudW1iZXIgZnJvbSB0aGUgbGFzdCBpbnZvaWNlXG4gICAqL1xuICBnZXROZXdJbnZvaWNlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBudW1iZXIgPSBsYXN0KHRoaXMuY2FjaGUpPy5udW1iZXIgPz8gMDtcbiAgICByZXR1cm4gbnVtYmVyICsgMTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtaW52b2ljZS9zb2xlLWludm9pY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBS2hFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFnRTtJQU10RyxZQUE2QyxXQUFnQjtRQUMzRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFEd0IsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFMN0QsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFDOUIsZUFBVSxHQUF1QixXQUFXLENBQUM7UUFDN0Msb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFJbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFvQixFQUFFLE1BQStCO1FBQ2hFLGdEQUFnRDtRQUNoRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsT0FBb0IsRUFBRSxJQUFVO1FBQ25DLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0EvQlUsa0JBQWtCLGtCQU1ULGFBQWE7bUhBTnRCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZSBhcyBTb2xlSW52b2ljZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvc29sZS9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHsgU29sZUludm9pY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU29sZUludm9pY2VTdGF0dXNlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy9zb2xlLWludm9pY2Utc3RhdHVzZXMuZW51bSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAndGF4dGFuay1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvbGVJbnZvaWNlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFNvbGVJbnZvaWNlQmFzZSwgU29sZUludm9pY2UsIFNvbGVJbnZvaWNlQ29sbGVjdGlvbj4ge1xuICBlbmRwb2ludFVyaSA9ICdzb2xlLWludm9pY2VzJztcbiAgbW9kZWxDbGFzczogdHlwZW9mIFNvbGVJbnZvaWNlID0gU29sZUludm9pY2U7XG4gIGNvbGxlY3Rpb25DbGFzcyA9IFNvbGVJbnZvaWNlQ29sbGVjdGlvbjtcbiAgcm9sZXMgPSBbVXNlclJvbGVzRW51bS5TT0xFX1RBTktdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICBzdXBlcihlbnZpcm9ubWVudCk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXMoaW52b2ljZTogU29sZUludm9pY2UsIHN0YXR1czogU29sZUludm9pY2VTdGF0dXNlc0VudW0pOiBPYnNlcnZhYmxlPFNvbGVJbnZvaWNlPiB7XG4gICAgLy8gQFRPRE8gdXNlIGlkIG9ubHkgdG8gYXZvaWQgdW5leHBlY3RlZCBjaGFuZ2VzXG4gICAgcmV0dXJuIHRoaXMucHV0KE9iamVjdC5hc3NpZ24oe30sIGludm9pY2UsIHsgc3RhdHVzIH0pKTtcbiAgfVxuXG4gIHNlbmQoaW52b2ljZTogU29sZUludm9pY2UsIGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMuZW5kcG9pbnRVcml9LyR7aW52b2ljZS5pZH0vc2VuZGAsIGZvcm1EYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5leHQgbnVtYmVyIGZyb20gdGhlIGxhc3QgaW52b2ljZVxuICAgKi9cbiAgZ2V0TmV3SW52b2ljZU51bWJlcigpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUubGFzdC5udW1iZXIgKyAxO1xuICB9XG59XG4iXX0=
@@ -267,4 +267,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
267
267
  type: Inject,
268
268
  args: ['environment']
269
269
  }] }] });
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osYUFBYSxFQUViLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJdkIsT0FBTyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUlwRjs7R0FFRztBQUlILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUF5QztJQU0vRSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKVCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFSbkQsK0JBQStCO1FBQy9CLFFBQUcsR0FBRyxjQUFjLENBQUM7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QUFjLENBQUMsb0JBQWlDO1FBQ3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUMzRyxNQUFNLE1BQU0sR0FBRztnQkFDYixxQkFBcUIsQ0FBQyxzQkFBc0I7Z0JBQzVDLHFCQUFxQixDQUFDLDJCQUEyQjtnQkFDakQscUJBQXFCLENBQUMsb0JBQW9CO2FBQzNDLENBQUM7WUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbkUsOENBQThDO2dCQUM5QyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO2FBQ1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcFRVLGtCQUFrQixrRkFTbkIsYUFBYTttSEFUWixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFRyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlLCBzb3J0IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFwcEV2ZW50LFxuICBBcHBFdmVudFR5cGVFbnVtLFxuICBEZXByZWNpYXRpb24sXG4gIEZpbmFuY2lhbFllYXIsXG4gIE5vdGlmaWNhdGlvbixcbiAgVHJhbnNhY3Rpb24sXG4gIFZlaGljbGVDbGFpbVxufSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNsYXNzVG9QbGFpbiwgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG4vLyBAVE9ETyB3YWl0IGZvciBUVC0zODI2IHJlYWR5IHBsYWluVG9DbGFzcyhtb2RlbHNbJ1RyYW5zYWN0aW9uJ10sIHt9KTtcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxUcmFuc2FjdGlvbkJhc2UsIFRyYW5zYWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgLy8gdXJsIHBhcnQgZm9yIFRyYW5zYWN0aW9uIEFQSVxuICB1cmwgPSAndHJhbnNhY3Rpb25zJztcbiAgbW9kZWxDbGFzcyA9IFRyYW5zYWN0aW9uO1xuICB0cmFuc2FjdGlvbkRlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICkge1xuICAgIHN1cGVyKGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5Rm9yZWNhc3RVcGRhdGUoKTtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBhbGwgdXNlcidzIFRheFRhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldCgpLnBpcGUoXG4gICAgICAvLyBhc3NpZ24gY2hpbGQgdHJhbnNhY3Rpb25zIChmZWVzKSB0byBwYXJlbnQgdHJhbnNhY3Rpb25zXG4gICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCA9PiB7XG4gICAgICAgICAgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBnZXQgbGlzdCBvZiBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0LnBhcmVudFRyYW5zYWN0aW9uICYmIHQucGFyZW50VHJhbnNhY3Rpb24uaWQgPT09IHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNvcnQodHJhbnNhY3Rpb25zLCAnZGF0ZScsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5WWVhcih5ZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUobWFwKHRyYW5zYWN0aW9ucyA9PiB0cmFuc2FjdGlvbnMuZmlsdGVyKFxuICAgICAgdHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24uZGF0ZSA+IHllYXIuc3RhcnREYXRlICYmIHRyYW5zYWN0aW9uLmRhdGUgPCB5ZWFyLmVuZERhdGVcbiAgICApKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQgPT09IHByb3BlcnR5SWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNXb3JrVGFuaygpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgcHJvcGVydHkgaG9sZGluZyBjb3N0cyAodHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gdmFjYW50IGxhbmQgcHJvcGVydHkpXG4gICAqL1xuICBnZXRQcm9wZXJ0eUhvbGRpbmdDb3N0cyhwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZmV0Y2goYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5SWR9L2hvbGRpbmctY29zdHNgLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdGF4YWJsZSB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRUYXhhYmxlV29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JrVHJhbnNhY3Rpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMudGF4UmV0dXJuSXRlbSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBMaXN0IG9mIG5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZXMgZm9yIHNhdmluZ1xuICAgKi9cbiAgYWRkQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgdHJhbnNhY3Rpb25zID0gXy5jbG9uZURlZXAodHJhbnNhY3Rpb25zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb25zKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG5cbiAgICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zIGlmIGV4aXN0XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHsgaWQ6IGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5pZCB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2godHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHRvIGNhY2hlXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24ub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uVFJBTlNGRVIpIHtcbiAgICAgICAgICAgICAgYWRkZWRUcmFuc2FjdGlvbnMucHVzaChhZGRlZFRyYW5zYWN0aW9uc1swXS50cmFuc2Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5wdXNoKC4uLmFkZGVkVHJhbnNhY3Rpb25zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb25bXT4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTlNfQ1JFQVRFRCwgYWRkZWRUcmFuc2FjdGlvbnMpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBhZGRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZSh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHt0cmFuc2FjdGlvbi5pZH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb24pKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYWRkIHBhcmVudCB0cmFuc2FjdGlvbiB0byBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHsgaWQ6IHVwZGF0ZWRUcmFuc2FjdGlvbi5pZCB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gc2VwYXJhdGUgY2hpbGQgdHJhbnNhY3Rpb25zIGJ5IGlkIGV4aXN0aW5nIHRvIGRlZmluZSBhZGQgb3IgdXBkYXRlIGFjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGU6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gdC5pZCk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvQWRkOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+ICF0LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodXBkYXRlZFRyYW5zYWN0aW9uKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZUJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKHRyYW5zYWN0aW9ucykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG5cbiAgICAgICAgICB1cGRhdGVkVHJhbnNhY3Rpb25zLmZvckVhY2goKHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBkZWxldGVCYXRjaChtb2RlbHM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlQmF0Y2gobW9kZWxzKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9ERUxFVEVELCBtb2RlbHNbMF0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIHRyYW5zYWN0aW9uIGFuZCByZWxhdGVkIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gbW9kZWxcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiBkZWxldGUgdHJhbnNmZXIgd2UgZGVsZXRlIGFjdHVhbGx5IDIgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAobW9kZWwuaXNUcmFuc2Zlcikge1xuICAgICAgICAgICAgICBjb25zdCBpZHM6IG51bWJlcltdID0gW21vZGVsLmlkXTtcblxuICAgICAgICAgICAgICAvLyBnZXQgaWQgb2YgcmVsYXRlZCB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICBpZiAobW9kZWwudHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBqdXN0IHRha2UgaWQgaWYgd2UgZGVsZXRlIHNvdXJjZSB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKG1vZGVsLnRyYW5zZmVyLmlkKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHNvdXJjZSB0cmFuc2FjdGlvbiBpZCBpZiB3ZSBkZWxldGUgZGVzdGluYXRpb24gdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaCh0aGlzLmNhY2hlLmZpbmQoKHQ6IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0LnRyYW5zZmVyLmlkID09PSBtb2RlbC5pZCkuaWQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuICFpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uaWQgIT09IG1vZGVsLmlkICYmIHRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uPy5pZCAhPT0gbW9kZWwuaWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCwgbW9kZWwpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRGVsZXRlZC5lbWl0KG1vZGVsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBEZXByZWNpYXRpb24gY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIC8vIEBUT0RPIHJlc2V0IGNhY2hlIG9ubHkgd2hlbiByZXF1aXJlZCAoZGVwcmVjaWF0aW9uIGhhcyB0cmFuc2FjdGlvbilcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKC4uLkRlcHJlY2lhdGlvbi5nZXRFdmVudE5hbWVzKCdwb3N0JywgJ2RlbGV0ZScpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIFByb3BlcnR5IFNoYXJlIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaENhY2hlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbjIoLi4uVmVoaWNsZUNsYWltLmdldEV2ZW50TmFtZXMoJ3Bvc3QnLCAncHV0JykpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogcHJvcGVydHkgZm9yZWNhc3QgaW5jbHVkZXMgY2xhaW1QZXJjZW50IHdoaWNoIGFmZmVjdHMgcHJvcGVydHkgcmVsYXRlZCBleHBlbnNlc1xuICAgKiBAVE9ETyBBbGV4IG1vdmUgdG8gZm9yZWNhc3QgYXBpIGluc3RlYWQgb2YgcHJvcGVydHlcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlGb3JlY2FzdFVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvUmVwbGFjZTogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHRyYW5zYWN0aW9uVG9SZXBsYWNlKTtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICBjb25zdCBldmVudHMgPSBbXG4gICAgICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5JTlZPSUNFX0FVVE9fQUxMT0NBVEVELFxuICAgICAgICBVc2VyRXZlbnRUeXBlVHlwZUVudW0uSU5WT0lDRV9BVVRPX1BBUlRfQUxMT0NBVEVELFxuICAgICAgICBVc2VyRXZlbnRUeXBlVHlwZUVudW0uUlVMRVNfQVVUT19BTExPQ0FURURcbiAgICAgIF07XG5cbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBldmVudHMuaW5jbHVkZXMobm90aWZpY2F0aW9uLmV2ZW50VHlwZSkpIHtcbiAgICAgICAgLy8gQFRPRE8gVFQtMzgyNiBtb3ZlIHRvIHVuaWZpZWQgbWVyY3VyZSBldmVudFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgICAgICB9LCAzMDAwKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osYUFBYSxFQUViLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBRXBGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQXlDO0lBTS9FLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpULFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVJuRCwrQkFBK0I7UUFDL0IsUUFBRyxHQUFHLGNBQWMsQ0FBQztR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QWMsQ0FBQyxvQkFBaUM7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQzNHLE1BQU0sTUFBTSxHQUFHO2dCQUNiLHFCQUFxQixDQUFDLHNCQUFzQjtnQkFDNUMscUJBQXFCLENBQUMsMkJBQTJCO2dCQUNqRCxxQkFBcUIsQ0FBQyxvQkFBb0I7YUFDM0MsQ0FBQztZQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNuRSw4Q0FBOEM7Z0JBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7YUFDVDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FwVFUsa0JBQWtCLGtGQVNuQixhQUFhO21IQVRaLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UsIHNvcnQgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwRXZlbnQsXG4gIEFwcEV2ZW50VHlwZUVudW0sXG4gIERlcHJlY2lhdGlvbixcbiAgRmluYW5jaWFsWWVhcixcbiAgTm90aWZpY2F0aW9uLFxuICBUcmFuc2FjdGlvbixcbiAgVmVoaWNsZUNsYWltXG59IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3IgVHJhbnNhY3Rpb24gQVBJXG4gIHVybCA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZXNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlTaGFyZVVwZGF0ZSgpO1xuICAgIHRoaXMubGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlGb3JlY2FzdFVwZGF0ZSgpO1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGFsbCB1c2VyJ3MgVGF4VGFuayB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KCkucGlwZShcbiAgICAgIC8vIGFzc2lnbiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpIHRvIHBhcmVudCB0cmFuc2FjdGlvbnNcbiAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGdldCBsaXN0IG9mIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQucGFyZW50VHJhbnNhY3Rpb24gJiYgdC5wYXJlbnRUcmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgc29ydCh0cmFuc2FjdGlvbnMsICdkYXRlJywgZmFsc2UpO1xuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlZZWFyKHllYXIgPSBuZXcgRmluYW5jaWFsWWVhcigpKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShtYXAodHJhbnNhY3Rpb25zID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoXG4gICAgICB0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5kYXRlID4geWVhci5zdGFydERhdGUgJiYgdHJhbnNhY3Rpb24uZGF0ZSA8IHllYXIuZW5kRGF0ZVxuICAgICkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc2luZ2xlIG5ldyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gbW9kZWwgTmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciBzYXZpbmdcbiAgICovXG4gIGFkZChtb2RlbDogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uPiB7XG4gICAgLy8gd2UgZG9uJ3QgaGF2ZSBQT1NUIEFQSSBlbmRwb2ludCBmb3Igc2luZ2xlIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW21vZGVsXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld1RyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uID0+IHtcbiAgICAgICAgICAvLyBAVE9ETyBhbGV4XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0NSRUFURUQsIG5ld1RyYW5zYWN0aW9uc1swXSlcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIG5ld1RyYW5zYWN0aW9uc1swXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHRyYW5zYWN0aW9ucyByZWxhdGVkIHdpdGggcHJvcGVydHlcbiAgICovXG4gIGdldEJ5UHJvcGVydHlJZChwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLnByb3BlcnR5Py5pZCA9PT0gcHJvcGVydHlJZCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFdvcmtUcmFuc2FjdGlvbnMoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBwcm9wZXJ0eSBob2xkaW5nIGNvc3RzICh0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB2YWNhbnQgbGFuZCBwcm9wZXJ0eSlcbiAgICovXG4gIGdldFByb3BlcnR5SG9sZGluZ0Nvc3RzKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiBzdXBlci5mZXRjaChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0aWVzLyR7cHJvcGVydHlJZH0vaG9sZGluZy1jb3N0c2AsIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0YXhhYmxlIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFRheGFibGVXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFdvcmtUcmFuc2FjdGlvbnMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICEhdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy50YXhSZXR1cm5JdGVtKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIExpc3Qgb2YgbmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlcyBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGRCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICB0cmFuc2FjdGlvbnMgPSBfLmNsb25lRGVlcCh0cmFuc2FjdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbih0cmFuc2FjdGlvbnMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcblxuICAgICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnMgaWYgZXhpc3RcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoeyBpZDogYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmlkIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRCYXRjaCh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgdHJhbnNmZXIgdHJhbnNhY3Rpb24gdG8gY2FjaGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUikge1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9ucy5wdXNoKGFkZGVkVHJhbnNhY3Rpb25zWzBdLnRyYW5zZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4uYWRkZWRUcmFuc2FjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbltdPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OU19DUkVBVEVELCBhZGRlZFRyYW5zYWN0aW9ucylcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGFkZGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgZXhpc3RpbmcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3RyYW5zYWN0aW9uLmlkfWAsIGNsYXNzVG9QbGFpbih0cmFuc2FjdGlvbikpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShyZXNwb25zZSk7XG4gICAgICAgICAgLy8gQFRPRE8gVmlrdG9yOiBpbXBsZW1lbnQgQVBJIGZvciBzYXZpbmcgb2YgbmVzdGVkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBhZGQgcGFyZW50IHRyYW5zYWN0aW9uIHRvIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZvckVhY2goKGNoaWxkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoeyBpZDogdXBkYXRlZFRyYW5zYWN0aW9uLmlkIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBzZXBhcmF0ZSBjaGlsZCB0cmFuc2FjdGlvbnMgYnkgaWQgZXhpc3RpbmcgdG8gZGVmaW5lIGFkZCBvciB1cGRhdGUgYWN0aW9uLlxuICAgICAgICAgICAgY29uc3QgY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZTogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKSA9PiB0LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQ6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gIXQuaWQpO1xuXG4gICAgICAgICAgICAvLyB1cGRhdGUgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAoY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVCYXRjaChjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb0FkZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh1cGRhdGVkVHJhbnNhY3Rpb24pO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb25zKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcblxuICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbnMuZm9yRWFjaCgodXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUJhdGNoKG1vZGVsczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBzdXBlci5kZWxldGVCYXRjaChtb2RlbHMpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0RFTEVURUQsIG1vZGVsc1swXSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgdHJhbnNhY3Rpb24gYW5kIHJlbGF0ZWQgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWwuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAvLyB3aGVuIGRlbGV0ZSB0cmFuc2ZlciB3ZSBkZWxldGUgYWN0dWFsbHkgMiB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChtb2RlbC5pc1RyYW5zZmVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBbbW9kZWwuaWRdO1xuXG4gICAgICAgICAgICAgIC8vIGdldCBpZCBvZiByZWxhdGVkIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgIGlmIChtb2RlbC50cmFuc2Zlcikge1xuICAgICAgICAgICAgICAgIC8vIGp1c3QgdGFrZSBpZCBpZiB3ZSBkZWxldGUgc291cmNlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2gobW9kZWwudHJhbnNmZXIuaWQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGZpbmQgc291cmNlIHRyYW5zYWN0aW9uIGlkIGlmIHdlIGRlbGV0ZSBkZXN0aW5hdGlvbiB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKHRoaXMuY2FjaGUuZmluZCgodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQudHJhbnNmZXIuaWQgPT09IG1vZGVsLmlkKS5pZCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pZCAhPT0gbW9kZWwuaWQgJiYgdHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24/LmlkICE9PSBtb2RlbC5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9ERUxFVEVELCBtb2RlbClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25EZWxldGVkLmVtaXQobW9kZWwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIERlcHJlY2lhdGlvbiBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gQFRPRE8gcmVzZXQgY2FjaGUgb25seSB3aGVuIHJlcXVpcmVkIChkZXByZWNpYXRpb24gaGFzIHRyYW5zYWN0aW9uKVxuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbjIoLi4uRGVwcmVjaWF0aW9uLmdldEV2ZW50TmFtZXMoJ3Bvc3QnLCAnZGVsZXRlJykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gUHJvcGVydHkgU2hhcmUgY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlTaGFyZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoQ2FjaGUoKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5WZWhpY2xlQ2xhaW0uZ2V0RXZlbnROYW1lcygncG9zdCcsICdwdXQnKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaENhY2hlKCkpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVEXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBwcm9wZXJ0eSBmb3JlY2FzdCBpbmNsdWRlcyBjbGFpbVBlcmNlbnQgd2hpY2ggYWZmZWN0cyBwcm9wZXJ0eSByZWxhdGVkIGV4cGVuc2VzXG4gICAqIEBUT0RPIEFsZXggbW92ZSB0byBmb3JlY2FzdCBhcGkgaW5zdGVhZCBvZiBwcm9wZXJ0eVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eUZvcmVjYXN0VXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9VUERBVEVEXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VJbkNhY2hlKHRyYW5zYWN0aW9uVG9SZXBsYWNlOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdHJhbnNhY3Rpb25Ub1JlcGxhY2UpO1xuICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50cyA9IFtcbiAgICAgICAgVXNlckV2ZW50VHlwZVR5cGVFbnVtLklOVk9JQ0VfQVVUT19BTExPQ0FURUQsXG4gICAgICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5JTlZPSUNFX0FVVE9fUEFSVF9BTExPQ0FURUQsXG4gICAgICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5SVUxFU19BVVRPX0FMTE9DQVRFRFxuICAgICAgXTtcblxuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIGV2ZW50cy5pbmNsdWRlcyhub3RpZmljYXRpb24uZXZlbnRUeXBlKSkge1xuICAgICAgICAvLyBAVE9ETyBUVC0zODI2IG1vdmUgdG8gdW5pZmllZCBtZXJjdXJlIGV2ZW50XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgICAgIH0sIDMwMDApXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -38,8 +38,19 @@ export class XlsxService {
38
38
  tables.forEach((data) => {
39
39
  // add caption for the current table
40
40
  xlsx.utils.sheet_add_aoa(worksheet, [[data.caption?.innerText]], { origin: -1 });
41
- // add table table data to the worksheet
42
- xlsx.utils.sheet_add_dom(worksheet, data, { origin: -1, raw: true });
41
+ // Prepare to add table data to the worksheet, processing each cell
42
+ const rows = Array.from(data.rows).map((row) => {
43
+ return Array.from(row.cells).map((cell) => {
44
+ let cellValue = cell.innerText;
45
+ // Convert currency strings like "$0.00" to numbers
46
+ if (/^-?\$/.test(cellValue)) {
47
+ cellValue = parseFloat(cellValue.replace('$', ''));
48
+ }
49
+ return cellValue;
50
+ });
51
+ });
52
+ // Add the processed table data to the worksheet
53
+ xlsx.utils.sheet_add_aoa(worksheet, rows, { origin: -1 });
43
54
  // set empty row after current table
44
55
  xlsx.utils.sheet_add_aoa(worksheet, [], { origin: -1 });
45
56
  });
@@ -81,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
81
92
  providedIn: 'root'
82
93
  }]
83
94
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUEwQ0UsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLElBQUksU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDdkMsSUFBSSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0FnQ0g7SUF6RUM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtB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VzttSEFBWCxXQUFXLGNBTlYsTUFBTTs7NEZBTVAsV0FBVztrQkFQdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyB4bHN4IGZyb20gJ3hsc3gnO1xuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgRXhwb3J0YWJsZUNvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7IEV4cG9ydERhdGFUYWJsZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1kYXRhLXRhYmxlXCI7XG5cbmNvbnN0IEVYQ0VMX1RZUEU6IHN0cmluZyA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04J1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCBYTFNYIChnZW5lcmF0ZSwgZG93bmxvYWQsIGUudC5jLilcbiAqL1xuZXhwb3J0IGNsYXNzIFhsc3hTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEV4cG9ydCBmaWxlIGZvcm0gcHJvdmlkZWQgSFRNTCB0YWJsZXNcbiAgICovXG4gIGV4cG9ydFRhYmxlcyh0YWJsZXM6IE5vZGVMaXN0T2Y8SFRNTFRhYmxlRWxlbWVudD4sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBleGNlbEZpbGU6IEJsb2JQYXJ0ID0gdGhpcy5nZW5lcmF0ZUZyb21UYWJsZXModGFibGVzLCB0aXRsZSk7XG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtleGNlbEZpbGVdLCB7XG4gICAgICB0eXBlOiBFWENFTF9UWVBFXG4gICAgfSk7XG5cbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRnJvbVRhYmxlcyh0YWJsZXM6IE5vZGVMaXN0T2Y8SFRNTFRhYmxlRWxlbWVudD4sIHRpdGxlPzogc3RyaW5nKTogQmxvYlBhcnQge1xuICAgIC8vIGNyZWF0ZSBuZXcgd29ya2Jvb2tcbiAgICBjb25zdCB3b3JrYm9vazogeGxzeC5Xb3JrQm9vayA9IHhsc3gudXRpbHMuYm9va19uZXcoKTtcbiAgICAvLyBjcmVhdGUgZW1wdHkgd29ya3NoZWV0XG4gICAgY29uc3Qgd29ya3NoZWV0OiB4bHN4LldvcmtTaGVldCA9IHtcbiAgICAgIFNoZWV0TmFtZXM6IFtdLFxuICAgICAgU2hlZXRzOiB7fVxuICAgIH07XG5cbiAgICB0YWJsZXMuZm9yRWFjaCgoZGF0YTogSFRNTFRhYmxlRWxlbWVudCkgPT4ge1xuICAgICAgLy8gYWRkIGNhcHRpb24gZm9yIHRoZSBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbW2RhdGEuY2FwdGlvbj8uaW5uZXJUZXh0XV0sIHtvcmlnaW46IC0xfSk7XG4gICAgICAvLyBhZGQgdGFibGUgdGFibGUgZGF0YSB0byB0aGUgd29ya3NoZWV0XG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9kb20od29ya3NoZWV0LCBkYXRhLCB7b3JpZ2luOiAtMSwgcmF3OiB0cnVlfSk7XG4gICAgICAvLyBzZXQgZW1wdHkgcm93IGFmdGVyIGN1cnJlbnQgdGFibGVcbiAgICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIFtdLCB7b3JpZ2luOiAtMX0pO1xuICAgIH0pO1xuXG4gICAgeGxzeC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3b3JrYm9vaywgd29ya3NoZWV0KTtcbiAgICByZXR1cm4geGxzeC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xuICB9XG5cbiAgZ2V0RmlsZU5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHNoZWV0TmFtZSA9IG5hbWUgfHwgXCJFeHBvcnRSZXN1bHRcIjtcbiAgICBsZXQgZmlsZU5hbWUgPSBgJHtzaGVldE5hbWV9YDtcbiAgICByZXR1cm4ge1xuICAgICAgc2hlZXROYW1lLFxuICAgICAgZmlsZU5hbWVcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsvYXJ0ZW0gd29yayB3aXRoIEV4cG9ydERhdGFUYWJsZSBpbnN0ZWFkIG9mIEV4cG9ydGFibGVDb2xsZWN0aW9uXG4gICAqIEBUT0RPIHZpay9hcnRlbSB3aHkgc28gbXVjaCBjb2RlPyBoZXJlIGlzIDYgcm93cyBzb2x1dGlvbiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy82NDkzOTk5NC9ob3ctdG8tZXhwb3J0LWFycmF5LW9mLW9iamVjdHMtdG8tYW4tZXhjZWwtaW4tYW5ndWxhci04XG4gICAqL1xuICBleHBvcnRBcnJheVRvRXhjZWwoZXhwb3J0YWJsZUNvbGxlY3Rpb246IEV4cG9ydGFibGVDb2xsZWN0aW9uPGFueT4sIG5hbWU/OiBzdHJpbmcsIHBhcmFtcz8gOiBhbnkpIHtcbiAgICBjb25zdCB3b3JrYm9vazogeGxzeC5Xb3JrQm9vayA9IHhsc3gudXRpbHMuYm9va19uZXcoKTtcbiAgICAvLyBjcmVhdGUgZW1wdHkgd29ya3NoZWV0XG4gICAgY29uc3Qgd29ya3NoZWV0OiB4bHN4LldvcmtTaGVldCA9IHtcbiAgICAgIFNoZWV0TmFtZXM6IFtdLFxuICAgICAgU2hlZXRzOiB7fVxuICAgIH07XG5cbiAgICBjb25zdCBleHBvcnREYXRhOiBFeHBvcnREYXRhVGFibGUgPSBleHBvcnRhYmxlQ29sbGVjdGlvbi5leHBvcnQocGFyYW1zKVxuICAgIGNvbnN0IGV4cG9ydEFvYSA9IGV4cG9ydGFibGVDb2xsZWN0aW9uLmdldEJvZHlBb2EoZXhwb3J0RGF0YSk7XG4gICAgbGV0IHsgc2hlZXROYW1lLCBmaWxlTmFtZSB9ID0gdGhpcy5nZXRGaWxlTmFtZShuYW1lKTtcblxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIFtleHBvcnREYXRhLmhlYWRlcl0sIHtvcmlnaW46IC0xfSk7XG4gICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIGV4cG9ydEFvYSwge29yaWdpbjogLTF9KTtcbiAgICAvLyBzZXQgZW1wdHkgcm93IGFmdGVyIGN1cnJlbnQgdGFibGVcbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwge29yaWdpbjogLTF9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcblxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcbiAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUFzREUsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLElBQUksU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDdkMsSUFBSSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0FnQ0g7SUFyRkM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RCx5QkFBeUI7UUFDekIsTUFBTSxTQUFTLEdBQW1CO1lBQ2hDLFVBQVUsRUFBRSxFQUFFO1lBQ2QsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQXNCLEVBQUUsRUFBRTtZQUN4QyxvQ0FBb0M7WUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQy9FLG1FQUFtRTtZQUNuRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUF3QixFQUFFLEVBQUU7Z0JBQ2xFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBMEIsRUFBRSxFQUFFO29CQUM5RCxJQUFJLFNBQVMsR0FBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDaEQsbURBQW1EO29CQUNuRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQzNCLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDcEQ7b0JBRUQsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7WUFDeEQsb0NBQW9DO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQVdEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLG9CQUErQyxFQUFFLElBQWEsRUFBRSxNQUFhO1FBQzlGLE1BQU0sUUFBUSxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELHlCQUF5QjtRQUN6QixNQUFNLFNBQVMsR0FBbUI7WUFDaEMsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBb0Isb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZFLE1BQU0sU0FBUyxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUN2RSx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDN0Qsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUV0RixNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQXJGVSxXQUFXO21IQUFYLFdBQVcsY0FOVixNQUFNOzs0RkFNUCxXQUFXO2tCQVB2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIHhsc3ggZnJvbSAneGxzeCc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBFeHBvcnRhYmxlQ29sbGVjdGlvbiB9IGZyb20gXCIuLi8uLi9jb2xsZWN0aW9uc1wiO1xuaW1wb3J0IHsgRXhwb3J0RGF0YVRhYmxlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGVcIjtcblxuY29uc3QgRVhDRUxfVFlQRTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIFhMU1ggKGdlbmVyYXRlLCBkb3dubG9hZCwgZS50LmMuKVxuICovXG5leHBvcnQgY2xhc3MgWGxzeFNlcnZpY2Uge1xuICAvKipcbiAgICogRXhwb3J0IGZpbGUgZm9ybSBwcm92aWRlZCBIVE1MIHRhYmxlc1xuICAgKi9cbiAgZXhwb3J0VGFibGVzKHRhYmxlczogTm9kZUxpc3RPZjxIVE1MVGFibGVFbGVtZW50PiwgdGl0bGU6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4Y2VsRmlsZTogQmxvYlBhcnQgPSB0aGlzLmdlbmVyYXRlRnJvbVRhYmxlcyh0YWJsZXMsIHRpdGxlKTtcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2V4Y2VsRmlsZV0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcblxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlczogTm9kZUxpc3RPZjxIVE1MVGFibGVFbGVtZW50PiwgdGl0bGU/OiBzdHJpbmcpOiBCbG9iUGFydCB7XG4gICAgLy8gY3JlYXRlIG5ldyB3b3JrYm9va1xuICAgIGNvbnN0IHdvcmtib29rOiB4bHN4LldvcmtCb29rID0geGxzeC51dGlscy5ib29rX25ldygpO1xuICAgIC8vIGNyZWF0ZSBlbXB0eSB3b3Jrc2hlZXRcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IHhsc3guV29ya1NoZWV0ID0ge1xuICAgICAgU2hlZXROYW1lczogW10sXG4gICAgICBTaGVldHM6IHt9XG4gICAgfTtcblxuICAgIHRhYmxlcy5mb3JFYWNoKChkYXRhOiBIVE1MVGFibGVFbGVtZW50KSA9PiB7XG4gICAgICAvLyBhZGQgY2FwdGlvbiBmb3IgdGhlIGN1cnJlbnQgdGFibGVcbiAgICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIFtbZGF0YS5jYXB0aW9uPy5pbm5lclRleHRdXSwge29yaWdpbjogLTF9KTtcbiAgICAgIC8vIFByZXBhcmUgdG8gYWRkIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldCwgcHJvY2Vzc2luZyBlYWNoIGNlbGxcbiAgICAgIGNvbnN0IHJvd3MgPSBBcnJheS5mcm9tKGRhdGEucm93cykubWFwKChyb3c6IEhUTUxUYWJsZVJvd0VsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20ocm93LmNlbGxzKS5tYXAoKGNlbGw6IEhUTUxUYWJsZUNlbGxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgbGV0IGNlbGxWYWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gY2VsbC5pbm5lclRleHQ7XG4gICAgICAgICAgLy8gQ29udmVydCBjdXJyZW5jeSBzdHJpbmdzIGxpa2UgXCIkMC4wMFwiIHRvIG51bWJlcnNcbiAgICAgICAgICBpZiAoL14tP1xcJC8udGVzdChjZWxsVmFsdWUpKSB7XG4gICAgICAgICAgICBjZWxsVmFsdWUgPSBwYXJzZUZsb2F0KGNlbGxWYWx1ZS5yZXBsYWNlKCckJywgJycpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgLy8gQWRkIHRoZSBwcm9jZXNzZWQgdGFibGUgZGF0YSB0byB0aGUgd29ya3NoZWV0XG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCByb3dzLCB7b3JpZ2luOiAtMX0pO1xuICAgICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwge29yaWdpbjogLTF9KTtcbiAgICB9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgcmV0dXJuIHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgfVxuXG4gIGdldEZpbGVOYW1lID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBzaGVldE5hbWUgPSBuYW1lIHx8IFwiRXhwb3J0UmVzdWx0XCI7XG4gICAgbGV0IGZpbGVOYW1lID0gYCR7c2hlZXROYW1lfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNoZWV0TmFtZSxcbiAgICAgIGZpbGVOYW1lXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogQFRPRE8gdmlrL2FydGVtIHdvcmsgd2l0aCBFeHBvcnREYXRhVGFibGUgaW5zdGVhZCBvZiBFeHBvcnRhYmxlQ29sbGVjdGlvblxuICAgKiBAVE9ETyB2aWsvYXJ0ZW0gd2h5IHNvIG11Y2ggY29kZT8gaGVyZSBpcyA2IHJvd3Mgc29sdXRpb24gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjQ5Mzk5OTQvaG93LXRvLWV4cG9ydC1hcnJheS1vZi1vYmplY3RzLXRvLWFuLWV4Y2VsLWluLWFuZ3VsYXItOFxuICAgKi9cbiAgZXhwb3J0QXJyYXlUb0V4Y2VsKGV4cG9ydGFibGVDb2xsZWN0aW9uOiBFeHBvcnRhYmxlQ29sbGVjdGlvbjxhbnk+LCBuYW1lPzogc3RyaW5nLCBwYXJhbXM/IDogYW55KSB7XG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgY29uc3QgZXhwb3J0RGF0YTogRXhwb3J0RGF0YVRhYmxlID0gZXhwb3J0YWJsZUNvbGxlY3Rpb24uZXhwb3J0KHBhcmFtcylcbiAgICBjb25zdCBleHBvcnRBb2EgPSBleHBvcnRhYmxlQ29sbGVjdGlvbi5nZXRCb2R5QW9hKGV4cG9ydERhdGEpO1xuICAgIGxldCB7IHNoZWV0TmFtZSwgZmlsZU5hbWUgfSA9IHRoaXMuZ2V0RmlsZU5hbWUobmFtZSk7XG5cbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbZXhwb3J0RGF0YS5oZWFkZXJdLCB7b3JpZ2luOiAtMX0pO1xuICAgIC8vIGFkZCB0YWJsZSB0YWJsZSBkYXRhIHRvIHRoZSB3b3Jrc2hlZXRcbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBleHBvcnRBb2EsIHtvcmlnaW46IC0xfSk7XG4gICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW10sIHtvcmlnaW46IC0xfSk7XG5cbiAgICB4bHN4LnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdvcmtib29rLCB3b3Jrc2hlZXQpO1xuICAgIGNvbnN0IGV4Y2VsRmlsZTogQmxvYlBhcnQgPSB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG5cbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2V4Y2VsRmlsZV0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cbn1cbiJdfQ==
@@ -7133,7 +7133,7 @@ class TransactionCollection extends TransactionBaseCollection {
7133
7133
  plainToClass(ChartData, { name: 'Income', data: [] }),
7134
7134
  plainToClass(ChartData, { name: 'Expense', data: [] })
7135
7135
  ];
7136
- new FinancialYear().getPastMonths().forEach((month) => {
7136
+ new FinancialYear().getPastMonths().forEach(month => {
7137
7137
  chartData[0].data.push({
7138
7138
  label: MONTHS[month],
7139
7139
  value: this.getIncomeTransactions().getByMonth(month).claimAmount
@@ -7160,6 +7160,9 @@ class TransactionCollection extends TransactionBaseCollection {
7160
7160
  getTaxable() {
7161
7161
  return this.filter(transaction => transaction.claimPercent > 0);
7162
7162
  }
7163
+ get tankType() {
7164
+ return this.first.tankType;
7165
+ }
7163
7166
  }
7164
7167
 
7165
7168
  class TransactionAllocationCollection extends Collection {
@@ -8154,12 +8157,11 @@ class VehicleExpense extends AbstractModel {
8154
8157
 
8155
8158
  const REPORTS = {
8156
8159
  [UserRolesEnum.CLIENT]: [
8157
- // @TODO TT-4385
8158
- // {
8159
- // title: 'Income & Expense Report',
8160
- // description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories.',
8161
- // routerLink: './income-expense',
8162
- // },
8160
+ {
8161
+ title: 'Income & Expense Report',
8162
+ description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories.',
8163
+ routerLink: './income-expense',
8164
+ },
8163
8165
  {
8164
8166
  title: 'Transactions Report',
8165
8167
  description: 'Detailed report of the transactions allocated to each category. Filter by tank, property, business or your own search criteria.',
@@ -12296,7 +12298,7 @@ class FacebookService {
12296
12298
  if (!response.authResponse) {
12297
12299
  return;
12298
12300
  }
12299
- if (!response.authResponse.grantedScopes.includes('email')) {
12301
+ if (!response.authResponse.grantedScopes?.includes('email')) {
12300
12302
  this.toastService.error(ERROR_EMAIL_PERMISSION);
12301
12303
  return;
12302
12304
  }
@@ -14234,8 +14236,7 @@ class SoleInvoiceService extends RestService$1 {
14234
14236
  if (!this.cache) {
14235
14237
  return 1;
14236
14238
  }
14237
- const number = last(this.cache)?.number ?? 0;
14238
- return number + 1;
14239
+ return this.cache.last.number + 1;
14239
14240
  }
14240
14241
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleInvoiceService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
14241
14242
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleInvoiceService, providedIn: 'root' }); }
@@ -19320,8 +19321,19 @@ class XlsxService {
19320
19321
  tables.forEach((data) => {
19321
19322
  // add caption for the current table
19322
19323
  xlsx.utils.sheet_add_aoa(worksheet, [[data.caption?.innerText]], { origin: -1 });
19323
- // add table table data to the worksheet
19324
- xlsx.utils.sheet_add_dom(worksheet, data, { origin: -1, raw: true });
19324
+ // Prepare to add table data to the worksheet, processing each cell
19325
+ const rows = Array.from(data.rows).map((row) => {
19326
+ return Array.from(row.cells).map((cell) => {
19327
+ let cellValue = cell.innerText;
19328
+ // Convert currency strings like "$0.00" to numbers
19329
+ if (/^-?\$/.test(cellValue)) {
19330
+ cellValue = parseFloat(cellValue.replace('$', ''));
19331
+ }
19332
+ return cellValue;
19333
+ });
19334
+ });
19335
+ // Add the processed table data to the worksheet
19336
+ xlsx.utils.sheet_add_aoa(worksheet, rows, { origin: -1 });
19325
19337
  // set empty row after current table
19326
19338
  xlsx.utils.sheet_add_aoa(worksheet, [], { origin: -1 });
19327
19339
  });