taxtank-core 0.33.44 → 0.33.46

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- import { Dictionary } from '../../models';
1
+ import { CHART_ACCOUNTS_CATEGORIES, Dictionary } from '../../models';
2
2
  import { ChartAccountsListEnum } from '../../db/Enums';
3
3
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
4
4
  import { plainToClass } from 'class-transformer';
@@ -16,6 +16,9 @@ export class TransactionCollection extends TransactionBaseCollection {
16
16
  * we use depreciations as expense transactions a lot
17
17
  */
18
18
  constructor(transactions = [], depreciations = []) {
19
+ if (depreciations.length) {
20
+ transactions = transactions.filter(transaction => !CHART_ACCOUNTS_CATEGORIES.depreciation.includes(transaction.chartAccounts.category));
21
+ }
19
22
  super([...transactions, ...depreciations.map((depreciation) => depreciation.toTransaction())]);
20
23
  }
21
24
  getSoleTransactions() {
@@ -228,4 +231,4 @@ export class TransactionCollection extends TransactionBaseCollection {
228
231
  return this.filter(transaction => transaction.claimPercent > 0);
229
232
  }
230
233
  }
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBSVgsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUE2QixxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRTs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBc0M7SUFDL0U7O09BRUc7SUFDSCxZQUFZLGVBQThCLEVBQUUsRUFBRSxnQkFBZ0MsRUFBRTtRQUM5RSxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxD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QUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uTWV0YUZpZWxkLFxuICBWZWhpY2xlQ2xhaW1cbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24sIEZpbmFuY2lhbFllYXIsIE1PTlRIUyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9zb2xlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuY29sbGVjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb248VHJhbnNhY3Rpb24+IHtcbiAgLyoqXG4gICAqIHdlIHVzZSBkZXByZWNpYXRpb25zIGFzIGV4cGVuc2UgdHJhbnNhY3Rpb25zIGEgbG90XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXSwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10gPSBbXSkge1xuICAgIHN1cGVyKFsuLi50cmFuc2FjdGlvbnMsIC4uLmRlcHJlY2lhdGlvbnMubWFwKChkZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi50b1RyYW5zYWN0aW9uKCkpXSk7XG4gIH1cblxuICBnZXRTb2xlVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCkpO1xuICB9XG5cbiAgZ2V0RmluZEFuZE1hdGNoKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uY2FuRmluZEFuZE1hdGNoKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhdHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyID0+XG4gICAgICBzdW0gKyB0cmFuc2FjdGlvbi5nZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucy5maWx0ZXJCeSgndHJhbnNhY3Rpb24uaWQnLCB0cmFuc2FjdGlvbi5pZCkpLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmNsYWltQW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uZ3Jvc3NBbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQ2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIG1ldGEgZmllbGRzXG4gICAqL1xuICBnZXRUcmFuc2FjdGlvbnNNZXRhRmllbGRzKCk6IENvbGxlY3Rpb248VHJhbnNhY3Rpb25NZXRhRmllbGQ+IHtcbiAgICBjb25zdCBtZXRhRmllbGRzQXJyYXk6IFRyYW5zYWN0aW9uTWV0YUZpZWxkW10gPSBbXTtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBtZXRhRmllbGRzQXJyYXkucHVzaCguLi50cmFuc2FjdGlvbi5tZXRhRmllbGRzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbjxUcmFuc2FjdGlvbk1ldGFGaWVsZD4obWV0YUZpZWxkc0FycmF5KTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNFeHBlbnNlKCkgJiYgIXRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGluY29tZSBzb3VyY2UgaWRcbiAgICogQHBhcmFtIGlkIGlkIG9mIGluY29tZSBzb3VyY2UgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0QnlJbmNvbWVTb3VyY2VJZChpZDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZT8uaWQgPT09IGlkKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGNhdGVnb3J5XG4gICAqIEBwYXJhbSBjYXRlZ29yeSBDaGFydCBhY2NvdW50cyBjYXRlZ29yeSB2YWx1ZVxuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcnkoY2F0ZWdvcnk6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gb2YgcHJvcGVydHkgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRQcm9wZXJ0eVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0YW5rVHlwZScsIFRhbmtUeXBlRW51bS5QUk9QRVJUWSk7XG4gIH1cblxuICBnZXREZWJpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNEZWJpdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVkaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzQ3JlZGl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5QWxsb2NhdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUludm9pY2VzKGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnaW52b2ljZUl0ZW0uaWQnLCBpbnZvaWNlcy5nZXRJbnZvaWNlSXRlbXNJZHMoKSk7XG4gIH1cblxuICBnZXRBbW91bnRQZXJJbnZvaWNlKCk6IERpY3Rpb25hcnk8bnVtYmVyPiB7XG4gICAgLy8gQFRPRE8gaW52b2ljZUl0ZW0uaW52b2ljZSB3aWxsIGJlIHJlbW92ZWQgb24gYmFja2VuZFxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5SW52b2ljZSA9IHRoaXMuZ3JvdXBCeSgnaW52b2ljZUl0ZW0uaW52b2ljZS5pZCcpO1xuICAgIGNvbnN0IGRpY3Rpb25hcnk6IERpY3Rpb25hcnk8bnVtYmVyPiA9IG5ldyBEaWN0aW9uYXJ5KFtdKTtcblxuICAgIHRyYW5zYWN0aW9uc0J5SW52b2ljZS5rZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgZGljdGlvbmFyeS5hZGQoa2V5LCB0cmFuc2FjdGlvbnNCeUludm9pY2UuZ2V0KGtleSkuZ3Jvc3NBbW91bnQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIFZlaGljbGUgY2F0ZWdvcnlcbiAgICovXG4gIGdldFZlaGljbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNWZWhpY2xlVHJhbnNhY3Rpb24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0YW5rVHlwZScsIHRhbmtUeXBlKTtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdEZXNjcmlwdGlvbicsICdEZWJpdCcsICdDcmVkaXQnXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogJ1RvdGFsJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0aGlzLnN1bUJ5KCdkZWJpdCcpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdGhpcy5zdW1CeSgnY3JlZGl0JyksIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KVxuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBpcyBub3QgYSByZXF1aXJlZCBmaWVsZCBmb3IgdHJhbnNhY3Rpb25zLlxuICAgICAqIGlmIHRoZXJlIGlzIG5vIGRlc2NyaXB0aW9uLCB0aGVuIGFkZCBhbiBlbXB0eSBsaW5lIHNvIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyB3aGVuIHRyYW5zbGF0ZWQgaW50byBhIHN0cmluZy5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uID8/ICctJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kZWJpdCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmNyZWRpdCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pXG4gICAgXSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSB0cmFuc2FjdGlvbnMgZmlsdGVyZWQgYnkgdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgZ2V0QnlWZWhpY2xlQ2xhaW0odmVoaWNsZUNsYWltPzogVmVoaWNsZUNsYWltKTogdGhpcyB7XG4gICAgaWYgKCF2ZWhpY2xlQ2xhaW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZShbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlaGljbGVDbGFpbS5pc1NvbGVUYW5rKClcbiAgICAgIC8vIHNvbGUgdGFuayBtYXkgaGF2ZSBtdWx0aXBsZSB2ZWhpY2xlIGNsYWltcywgc28gd2UgbmVlZCB0byBmaWx0ZXIgYnkgYnVzaW5lc3MuaWRcbiAgICAgID8gdGhpcy5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCkuZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmVoaWNsZUNsYWltLmJ1c2luZXNzLmlkKVxuICAgICAgLy8gd29yayB0YW5rIG1heSBoYXZlIG9ubHkgb25lIHZlaGljbGUgY2xhaW0sIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IHRhbmsgdHlwZVxuICAgICAgOiB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uV09SSyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSB0cmFuc2FjdGlvbnMgZXhjZXB0IEtNUyB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldExvZ2Jvb2tUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5yZW1vdmVCeSgnY2hhcnRBY2NvdW50cy5pZCcsIFtDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUkssIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGNoYXJ0IGRhdGEgd2l0aCB0cmFuc2FjdGlvbnMgY2FzaCBwb3NpdGlvbi5cbiAgICogQ2FzaCBwb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzIChpbmNsdWRlIGRlcHJlY2lhdGlvbnMpXG4gICAqIENoYXJ0IGRhdGEgZm9yIGVhY2ggbW9udGggZnJvbSBmaW4geWVhciBzdGFydCB0aWxsIGN1cnJlbnQgbW9udGhcbiAgICovXG4gIGdldENhc2hQb3NpdGlvbkNoYXJ0RGF0YSgpOiBDaGFydERhdGFbXSB7XG4gICAgY29uc3QgY2hhcnREYXRhOiBDaGFydERhdGFbXSA9IFtcbiAgICAgIHBsYWluVG9DbGFzcyhDaGFydERhdGEsIHsgbmFtZTogJ0luY29tZScsIGRhdGE6IFtdIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKENoYXJ0RGF0YSwgeyBuYW1lOiAnRXhwZW5zZScsIGRhdGE6IFtdIH0pXG4gICAgXTtcblxuICAgIG5ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0UGFzdE1vbnRocygpLmZvckVhY2gobW9udGggPT4ge1xuICAgICAgY2hhcnREYXRhWzBdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudFxuICAgICAgfSk7XG4gICAgICBjaGFydERhdGFbMV0uZGF0YS5wdXNoKHtcbiAgICAgICAgbGFiZWw6IE1PTlRIU1ttb250aF0sXG4gICAgICAgIHZhbHVlOiBNYXRoLmFicyh0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudClcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmdldEJ5VHJhbnNhY3Rpb25zSWRzKHRoaXMuZ2V0SWRzKCkpLnN1bUJ5KCdhbW91bnQnKVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBidXNpbmVzcyB0cmFuc2FjdGlvbnMgY2FsY3VsYXRlZCBkaWZmZXJlbnRseSwgc2VwYXJhdGVkIGNvbGxlY3Rpb24/XG4gICAqL1xuICBnZXRCdXNpbmVzc0NsYWltQW1vdW50KGJ1c2luZXNzSWQ6IG51bWJlciA9IG51bGwpOiBudW1iZXIge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IGJ1c2luZXNzSWQgPyB0aGlzLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIGJ1c2luZXNzSWQpIDogdGhpcztcbiAgICBjb25zdCBleHBlbnNlcyA9IHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk7XG4gICAgY29uc3QgaW5jb21lcyA9IHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKTtcblxuICAgIHJldHVybiBpbmNvbWVzLnN1bUJ5KCdjbGFpbUFtb3VudCcpICsgZXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cblxuICBnZXRUYXhhYmxlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgPiAwKTtcbiAgfVxufVxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsVUFBVSxFQUlYLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBNkIscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXNDO0lBQy9FOztPQUVHO0lBQ0gsWUFBWSxlQUE4QixFQUFFLEVBQUUsZ0JBQWdDLEVBQUU7UUFDOUUsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3hCLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUNoQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FB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Q0FBQztRQUVyRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyxcbiAgRGljdGlvbmFyeSxcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uTWV0YUZpZWxkLFxuICBWZWhpY2xlQ2xhaW1cbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24sIEZpbmFuY2lhbFllYXIsIE1PTlRIUyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUNvbGxlY3Rpb24gfSBmcm9tICcuLi9zb2xlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuY29sbGVjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb248VHJhbnNhY3Rpb24+IHtcbiAgLyoqXG4gICAqIHdlIHVzZSBkZXByZWNpYXRpb25zIGFzIGV4cGVuc2UgdHJhbnNhY3Rpb25zIGEgbG90XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXSwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10gPSBbXSkge1xuICAgIGlmIChkZXByZWNpYXRpb25zLmxlbmd0aCkge1xuICAgICAgdHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zLmZpbHRlcihcbiAgICAgICAgdHJhbnNhY3Rpb24gPT4gIUNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpXG4gICAgICApO1xuICAgIH1cbiAgICBzdXBlcihbLi4udHJhbnNhY3Rpb25zLCAuLi5kZXByZWNpYXRpb25zLm1hcCgoZGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24udG9UcmFuc2FjdGlvbigpKV0pO1xuICB9XG5cbiAgZ2V0U29sZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uaXNTb2xlVGFuaygpKTtcbiAgfVxuXG4gIGdldEZpbmRBbmRNYXRjaChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigodHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmNhbkZpbmRBbmRNYXRjaChhbGxvY2F0aW9ucykpO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IG51bWJlciA9PlxuICAgICAgc3VtICsgdHJhbnNhY3Rpb24uZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMuZmlsdGVyQnkoJ3RyYW5zYWN0aW9uLmlkJywgdHJhbnNhY3Rpb24uaWQpKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGRhdGUgb2YgdGhlIGxhc3QgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldExhc3RUcmFuc2FjdGlvbkRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE1hdGgubWF4LmFwcGx5KE1hdGgsIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmRhdGUpKSk7XG4gIH1cblxuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0IGNsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5jbGFpbUFtb3VudCwgMCk7XG4gIH1cblxuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBncm9zc0NsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5ncm9zc0NsYWltQW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoY2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGNhdGVnb3JpZXMuaW5jbHVkZXModHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIGJ5IG1vbnRoXG4gICAqIEBwYXJhbSBtb250aEluZGV4IGJ5IHdoaWNoIGRlc2lyZWQgbW9udGggc2hvdWxkIGJlIHRha2VuXG4gICAqL1xuICBnZXRCeU1vbnRoKG1vbnRoSW5kZXg6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT5cbiAgICAgIHRyYW5zYWN0aW9uLmRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGhJbmRleFxuICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBtZXRhIGZpZWxkc1xuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25zTWV0YUZpZWxkcygpOiBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uTWV0YUZpZWxkPiB7XG4gICAgY29uc3QgbWV0YUZpZWxkc0FycmF5OiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdID0gW107XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgbWV0YUZpZWxkc0FycmF5LnB1c2goLi4udHJhbnNhY3Rpb24ubWV0YUZpZWxkcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb248VHJhbnNhY3Rpb25NZXRhRmllbGQ+KG1ldGFGaWVsZHNBcnJheSk7XG4gIH1cblxuICBnZXRJbmNvbWVUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW5jb21lKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzRXhwZW5zZSgpICYmICF0cmFuc2FjdGlvbi5pc0ludGVyZXN0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbGFpbUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEluY29tZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0IGNsYWltRXhwZW5zZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIGdldEludGVyZXN0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0ludGVyZXN0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbGFpbUludGVyZXN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnMgYW5kIHByb3BlcnRpZXMgZmlsdGVyZWQgYnkgcHJvcGVydGllcyBpZHNcbiAgICogQHBhcmFtIGlkcyBJZHMgb2YgcHJvcGVydGllcyBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeVByb3BlcnRpZXNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uUFJPUEVSVFkpO1xuICB9XG5cbiAgZ2V0RGViaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzRGViaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q3JlZGl0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0NyZWRpdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb25zLmhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlJbnZvaWNlcyhpbnZvaWNlczogU29sZUludm9pY2VDb2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ2ludm9pY2VJdGVtLmlkJywgaW52b2ljZXMuZ2V0SW52b2ljZUl0ZW1zSWRzKCkpO1xuICB9XG5cbiAgZ2V0QW1vdW50UGVySW52b2ljZSgpOiBEaWN0aW9uYXJ5PG51bWJlcj4ge1xuICAgIC8vIEBUT0RPIGludm9pY2VJdGVtLmludm9pY2Ugd2lsbCBiZSByZW1vdmVkIG9uIGJhY2tlbmRcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNCeUludm9pY2UgPSB0aGlzLmdyb3VwQnkoJ2ludm9pY2VJdGVtLmludm9pY2UuaWQnKTtcbiAgICBjb25zdCBkaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5PG51bWJlcj4gPSBuZXcgRGljdGlvbmFyeShbXSk7XG5cbiAgICB0cmFuc2FjdGlvbnNCeUludm9pY2Uua2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGRpY3Rpb25hcnkuYWRkKGtleSwgdHJhbnNhY3Rpb25zQnlJbnZvaWNlLmdldChrZXkpLmdyb3NzQW1vdW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWN0aW9uYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byBWZWhpY2xlIGNhdGVnb3J5XG4gICAqL1xuICBnZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzVmVoaWNsZVRyYW5zYWN0aW9uKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHRyYW5zYWN0aW9uIGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgdGFuayB0eXBlXG4gICAqL1xuICBnZXRCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCB0YW5rVHlwZSk7XG4gIH1cblxuICBnZXRFeHBvcnRIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbJ0RhdGUnLCAnRGVzY3JpcHRpb24nLCAnRGViaXQnLCAnQ3JlZGl0J107XG4gIH1cblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6ICdUb3RhbCcsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogJycsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdGhpcy5zdW1CeSgnZGViaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRoaXMuc3VtQnkoJ2NyZWRpdCcpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSlcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gaXMgbm90IGEgcmVxdWlyZWQgZmllbGQgZm9yIHRyYW5zYWN0aW9ucy5cbiAgICAgKiBpZiB0aGVyZSBpcyBubyBkZXNjcmlwdGlvbiwgdGhlbiBhZGQgYW4gZW1wdHkgbGluZSBzbyB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgd2hlbiB0cmFuc2xhdGVkIGludG8gYSBzdHJpbmcuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kZXNjcmlwdGlvbiA/PyAnLScsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkcgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGViaXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5jcmVkaXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHZlaGljbGUgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IHZlaGljbGUgY2xhaW1cbiAgICovXG4gIGdldEJ5VmVoaWNsZUNsYWltKHZlaGljbGVDbGFpbT86IFZlaGljbGVDbGFpbSk6IHRoaXMge1xuICAgIGlmICghdmVoaWNsZUNsYWltKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGUoW10pO1xuICAgIH1cblxuICAgIHJldHVybiB2ZWhpY2xlQ2xhaW0uaXNTb2xlVGFuaygpXG4gICAgICAvLyBzb2xlIHRhbmsgbWF5IGhhdmUgbXVsdGlwbGUgdmVoaWNsZSBjbGFpbXMsIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IGJ1c2luZXNzLmlkXG4gICAgICA/IHRoaXMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIHZlaGljbGVDbGFpbS5idXNpbmVzcy5pZClcbiAgICAgIC8vIHdvcmsgdGFuayBtYXkgaGF2ZSBvbmx5IG9uZSB2ZWhpY2xlIGNsYWltLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSB0YW5rIHR5cGVcbiAgICAgIDogdGhpcy5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCkuZmlsdGVyQnkoJ3RhbmtUeXBlJywgVGFua1R5cGVFbnVtLldPUkspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHZlaGljbGUgdHJhbnNhY3Rpb25zIGV4Y2VwdCBLTVMgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRMb2dib29rVHJhbnNhY3Rpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzXG4gICAgICAuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpXG4gICAgICAucmVtb3ZlQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBbQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEX0ZPUl9XT1JLLCBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBjaGFydCBkYXRhIHdpdGggdHJhbnNhY3Rpb25zIGNhc2ggcG9zaXRpb24uXG4gICAqIENhc2ggcG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlcyAoaW5jbHVkZSBkZXByZWNpYXRpb25zKVxuICAgKiBDaGFydCBkYXRhIGZvciBlYWNoIG1vbnRoIGZyb20gZmluIHllYXIgc3RhcnQgdGlsbCBjdXJyZW50IG1vbnRoXG4gICAqL1xuICBnZXRDYXNoUG9zaXRpb25DaGFydERhdGEoKTogQ2hhcnREYXRhW10ge1xuICAgIGNvbnN0IGNoYXJ0RGF0YTogQ2hhcnREYXRhW10gPSBbXG4gICAgICBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7IG5hbWU6ICdJbmNvbWUnLCBkYXRhOiBbXSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhDaGFydERhdGEsIHsgbmFtZTogJ0V4cGVuc2UnLCBkYXRhOiBbXSB9KVxuICAgIF07XG5cbiAgICBuZXcgRmluYW5jaWFsWWVhcigpLmdldFBhc3RNb250aHMoKS5mb3JFYWNoKG1vbnRoID0+IHtcbiAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goe1xuICAgICAgICBsYWJlbDogTU9OVEhTW21vbnRoXSxcbiAgICAgICAgdmFsdWU6IHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnRcbiAgICAgIH0pO1xuICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogTWF0aC5hYnModGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnQpXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjaGFydERhdGE7XG4gIH1cblxuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5zdW1CeSgnYW1vdW50JylcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgYnVzaW5lc3MgdHJhbnNhY3Rpb25zIGNhbGN1bGF0ZWQgZGlmZmVyZW50bHksIHNlcGFyYXRlZCBjb2xsZWN0aW9uP1xuICAgKi9cbiAgZ2V0QnVzaW5lc3NDbGFpbUFtb3VudChidXNpbmVzc0lkOiBudW1iZXIgPSBudWxsKTogbnVtYmVyIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBidXNpbmVzc0lkID8gdGhpcy5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCBidXNpbmVzc0lkKSA6IHRoaXM7XG4gICAgY29uc3QgZXhwZW5zZXMgPSB0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGluY29tZXMgPSB0cmFuc2FjdGlvbnMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk7XG5cbiAgICByZXR1cm4gaW5jb21lcy5zdW1CeSgnY2xhaW1BbW91bnQnKSArIGV4cGVuc2VzLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICB9XG5cbiAgZ2V0VGF4YWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50ID4gMCk7XG4gIH1cbn1cbiJdfQ==
@@ -21,4 +21,4 @@ export class EmployeeInviteForm extends AbstractForm {
21
21
  }, invite);
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtaW52aXRlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvZmlybS9lbXBsb3llZS1pbnZpdGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV2pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE2RDtJQUNuRyxZQUFZLE1BQU0sR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLHVCQUE2QyxJQUFJO1FBQ3RHLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUksU0FBUyxDQUFDO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRTtvQkFDdkQsaUNBQWlDO29CQUNqQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7b0JBQ25ELGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztvQkFDM0UsUUFBUSxFQUFFLE1BQU07aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSwgQ29udHJvbHNJbnRlcmZhY2UgfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEVtcGxveWVlSW52aXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5pbXBvcnQgeyBVbmlxdWVFbWFpbFZhbGlkYXRvciwgYWxwaGFTcGFjZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRW1wbG95ZWVJbnZpdGVSb2xlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFJ4d2ViVmFsaWRhdG9ycyB9IGZyb20gJ0ByeHdlYi9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5pbnRlcmZhY2UgRW1wbG95ZWVJbnZpdGVDb250cm9sc0ludGVyZmFjZSBleHRlbmRzIENvbnRyb2xzSW50ZXJmYWNlIHtcbiAgcmVnaXN0cmF0aW9uSW52aXRlOiBGb3JtR3JvdXA8e1xuICAgIGZpcnN0TmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICBsYXN0TmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICBlbWFpbDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgfT47XG4gIHJvbGU6IEZvcm1Db250cm9sPEVtcGxveWVlSW52aXRlUm9sZUVudW0+O1xufVxuXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVJbnZpdGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEVtcGxveWVlSW52aXRlLCBFbXBsb3llZUludml0ZUNvbnRyb2xzSW50ZXJmYWNlPiB7XG4gIGNvbnN0cnVjdG9yKGludml0ZSA9IHBsYWluVG9DbGFzcyhFbXBsb3llZUludml0ZSwge30pLCB1bmlxdWVFbWFpbFZhbGlkYXRvcjogVW5pcXVlRW1haWxWYWxpZGF0b3IgPSBudWxsKSB7XG4gICAgc3VwZXIoe1xuICAgICAgcmVnaXN0cmF0aW9uSW52aXRlOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZmlyc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woaW52aXRlLnJlZ2lzdHJhdGlvbkludml0ZT8uZmlyc3ROYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgYWxwaGFTcGFjZVZhbGlkYXRvcigpXSksXG4gICAgICAgIGxhc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woaW52aXRlLnJlZ2lzdHJhdGlvbkludml0ZT8ubGFzdE5hbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBhbHBoYVNwYWNlVmFsaWRhdG9yKCldKSxcbiAgICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbChpbnZpdGUucmVnaXN0cmF0aW9uSW52aXRlPy5lbWFpbCwge1xuICAgICAgICAgIC8vIEBUT0RPIFJ4d2ViVmFsaWRhdG9ycy51bmlxdWUoKVxuICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSxcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IFt1bmlxdWVFbWFpbFZhbGlkYXRvci52YWxpZGF0ZS5iaW5kKHVuaXF1ZUVtYWlsVmFsaWRhdG9yKV0sXG4gICAgICAgICAgdXBkYXRlT246ICdibHVyJ1xuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgcm9sZTogbmV3IEZvcm1Db250cm9sKEVtcGxveWVlSW52aXRlUm9sZUVudW0uRU1QTE9ZRUUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgfSwgaW52aXRlKTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtaW52aXRlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvZmlybS9lbXBsb3llZS1pbnZpdGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV2pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE2RDtJQUNuRyxZQUFZLE1BQU0sR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLHVCQUE2QyxJQUFJO1FBQ3RHLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUksU0FBUyxDQUFDO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRTtvQkFDdkQsaUNBQWlDO29CQUNqQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7b0JBQ25ELGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztvQkFDM0UsUUFBUSxFQUFFLE1BQU07aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSwgQ29udHJvbHNJbnRlcmZhY2UgfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEVtcGxveWVlSW52aXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5pbXBvcnQgeyBVbmlxdWVFbWFpbFZhbGlkYXRvciwgYWxwaGFTcGFjZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRW1wbG95ZWVJbnZpdGVSb2xlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW50ZXJmYWNlIEVtcGxveWVlSW52aXRlQ29udHJvbHNJbnRlcmZhY2UgZXh0ZW5kcyBDb250cm9sc0ludGVyZmFjZSB7XG4gIHJlZ2lzdHJhdGlvbkludml0ZTogRm9ybUdyb3VwPHtcbiAgICBmaXJzdE5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgbGFzdE5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgZW1haWw6IEZvcm1Db250cm9sPHN0cmluZz47XG4gIH0+O1xuICByb2xlOiBGb3JtQ29udHJvbDxFbXBsb3llZUludml0ZVJvbGVFbnVtPjtcbn1cblxuZXhwb3J0IGNsYXNzIEVtcGxveWVlSW52aXRlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxFbXBsb3llZUludml0ZSwgRW1wbG95ZWVJbnZpdGVDb250cm9sc0ludGVyZmFjZT4ge1xuICBjb25zdHJ1Y3RvcihpbnZpdGUgPSBwbGFpblRvQ2xhc3MoRW1wbG95ZWVJbnZpdGUsIHt9KSwgdW5pcXVlRW1haWxWYWxpZGF0b3I6IFVuaXF1ZUVtYWlsVmFsaWRhdG9yID0gbnVsbCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHJlZ2lzdHJhdGlvbkludml0ZTogbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGZpcnN0TmFtZTogbmV3IEZvcm1Db250cm9sKGludml0ZS5yZWdpc3RyYXRpb25JbnZpdGU/LmZpcnN0TmFtZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGFscGhhU3BhY2VWYWxpZGF0b3IoKV0pLFxuICAgICAgICBsYXN0TmFtZTogbmV3IEZvcm1Db250cm9sKGludml0ZS5yZWdpc3RyYXRpb25JbnZpdGU/Lmxhc3ROYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgYWxwaGFTcGFjZVZhbGlkYXRvcigpXSksXG4gICAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woaW52aXRlLnJlZ2lzdHJhdGlvbkludml0ZT8uZW1haWwsIHtcbiAgICAgICAgICAvLyBAVE9ETyBSeHdlYlZhbGlkYXRvcnMudW5pcXVlKClcbiAgICAgICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0sXG4gICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiBbdW5pcXVlRW1haWxWYWxpZGF0b3IudmFsaWRhdGUuYmluZCh1bmlxdWVFbWFpbFZhbGlkYXRvcildLFxuICAgICAgICAgIHVwZGF0ZU9uOiAnYmx1cidcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIHJvbGU6IG5ldyBGb3JtQ29udHJvbChFbXBsb3llZUludml0ZVJvbGVFbnVtLkVNUExPWUVFLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0sIGludml0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -101,7 +101,9 @@ export class AllocationRuleTransactionForm extends AbstractForm {
101
101
  listenTankTypeChanges() {
102
102
  this.get('tankType').valueChanges.subscribe(() => {
103
103
  this.get('chartAccounts').reset();
104
- this.childTransactionsArray.reset();
104
+ this.get('property').reset();
105
+ this.get('business').reset();
106
+ this.childTransactionsArray.clear();
105
107
  });
106
108
  }
107
109
  /**
@@ -141,4 +143,4 @@ export class AllocationRuleTransactionForm extends AbstractForm {
141
143
  claimPercentControl.setValue(this.currentValue.calculateClaimPercent());
142
144
  }
143
145
  }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxrQ0FBa0MsRUFHbEMsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFlBQXVDO0lBQ3hGLFlBQ0UsV0FBc0M7SUFDdEMsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRCxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcs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IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLFxuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkLFxuICBDaGFydEFjY291bnRzLFxuICBDaGFydEFjY291bnRzTWV0YUZpZWxkLFxuICBJbmNvbWVTb3VyY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbmRpdGlvbmFsVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLW1ldGEtZmllbGQuZm9ybSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGV4dGVuZCB0cmFuc2FjdGlvbiBmb3JtKHMpIHdoZW4gdHJhbnNhY3Rpb24gZm9ybXMgcmVmYWN0b3JlZFxuICovXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLFxuICAgIC8vIEZsYWcgdG8gZW5hYmxlIHRyYW5zYWN0aW9uIEdTVCBmaWVsZFxuICAgIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW5cbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudCksXG4gICAgICBhbW91bnRQZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudFBlcmNlbnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgdGF4OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnRheCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjbGFpbVBlcmNlbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiB0cmFuc2FjdGlvbi5pc0dTVCB8fCBmYWxzZSwgZGlzYWJsZWQ6ICFpc0dTVCB9KSxcbiAgICAgIGxvYW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24ubG9hbiksXG4gICAgICBpbmNvbWVTb3VyY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uaW5jb21lU291cmNlLCBjb25kaXRpb25hbFZhbGlkYXRvcigoKSA9PiB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzPy5pc1dvcmtJbmNvbWUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpLFxuICAgICAgbWV0YUZpZWxkczogbmV3IFVudHlwZWRGb3JtQXJyYXkoKHRyYW5zYWN0aW9uLm1ldGFGaWVsZHMgfHwgW10pLm1hcCgobWV0YUZpZWxkOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkKSA9PiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0obWV0YUZpZWxkKSkpLFxuICAgICAgYnVzaW5lc3M6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uYnVzaW5lc3MsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcHJvcGVydHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24ucHJvcGVydHksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgLy8gU2hvdyBudWxsIGFzIGRlZmF1bHQgdmFsdWUgZm9yIG5ldyB0cmFuc2FjdGlvbiB0byBhdm9pZCBwcmVzZWxlY3Rpbmcgb2Ygbm90IGFsbG93ZWQgdGFuayB0eXBlc1xuICAgICAgdGFua1R5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uaWQgPyB0cmFuc2FjdGlvbi50YW5rVHlwZSA6IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2hpbGRUcmFuc2FjdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5jaGlsZFRyYW5zYWN0aW9ucyB8fCBbXSkubWFwKChjaGlsZFRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKSA9PiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY2hpbGRUcmFuc2FjdGlvbi5jaGFydEFjY291bnRzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uYW1vdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSkpKVxuICAgIH0sIHRyYW5zYWN0aW9uKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogbW92ZSB0byBhYnN0cmFjdCBmb3JtLCB1bml2ZXJzYWwgbWV0aG9kIGdldEFycmF5KGFycmF5TmFtZSlcbiAgICovXG4gIGdldCBtZXRhRmllbGRzQXJyYXkoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdtZXRhRmllbGRzJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBjaGlsZFRyYW5zYWN0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnY2hpbGRUcmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IGlzU3BsaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdhbW91bnRQZXJjZW50JykuZW5hYmxlZDtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUEVSU09OQUw7XG4gIH1cblxuICBhZGRDaGlsZFRyYW5zYWN0aW9uRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoaWxkVHJhbnNhY3Rpb25zQXJyYXkucHVzaChcbiAgICAgIG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgY2hhcnRBY2NvdW50czogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIG1ldGFGaWVsZHM6IHRoaXMubWV0YUZpZWxkc0FycmF5LmNvbnRyb2xzLm1hcCgobWV0YUZpZWxkRm9ybTogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0pID0+IG1ldGFGaWVsZEZvcm0uc3VibWl0KCkpXG4gICAgfTtcblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSwgdHJ1ZSk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DaGFydEFjY291bnRzQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICB0aGlzLmdldCgnaW5jb21lU291cmNlJykucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgICAgaWYgKCFjaGFydEFjY291bnRzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcblxuICAgICAgLy8gVXNlciBoYXZlIHRvIHNlbGVjdCBpbmNvbWUgc291cmNlIGZvciB3b3JrIGluY29tZVxuICAgICAgaWYgKGNoYXJ0QWNjb3VudHMuaXNXb3JrSW5jb21lKCkpIHtcbiAgICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlYnVpbGQgbWV0YSBmaWVsZHNcbiAgICAgIHRoaXMubWV0YUZpZWxkc0FycmF5LmNsZWFyKCk7XG4gICAgICBjaGFydEFjY291bnRzLm1ldGFGaWVsZHMuZm9yRWFjaCgoY2hhcnRBY2NvdW50c01ldGFGaWVsZDogQ2hhcnRBY2NvdW50c01ldGFGaWVsZCkgPT4ge1xuICAgICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5wdXNoKFxuICAgICAgICAgIG5ldyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybShcbiAgICAgICAgICAgIHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkLCB7IGNoYXJ0QWNjb3VudHNNZXRhRmllbGQgfSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgLy8gc29sZSB0cmFkZXIgcmVnaXN0ZXJlZCBhbmQgY2hhcnRBY2NvdW50cyBpcyBlbGlnaWJsZSBmb3IgZ3N0XG4gICAgICBpZiAodGhpcy5pc0dTVCAmJiBjaGFydEFjY291bnRzLmlzR1NUKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuc2V0VmFsdWUoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQ2hpbGQgdHJhbnNhY3Rpb24gYWxsb3dhbmNlIGRlcGVuZHMgb24gdGFuayB0eXBlLlxuICAgKiBBbHNvIGNoYXJ0IGFjY291bnRzIGFyZSBkaWZmZXJlbnQsIHNvIHdlIGp1c3QgcmVzZXQgY2hpbGQgdHJhbnNhY3Rpb25zIHdoZW4gdGFuayB0eXBlIGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS5yZXNldCgpO1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnJlc2V0KCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0IGluIGNhc2UgaWYgd2UgaGF2ZSBhdCBsZWFzdCAxIHNhbGFyeUZvcmVjYXN0c1xuICAgICAgaWYgKGluY29tZVNvdXJjZSBpbnN0YW5jZW9mIEluY29tZVNvdXJjZSAmJiBpbmNvbWVTb3VyY2UuaXNXb3JrSW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZVxuICAgICAgICAmJiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxrQ0FBa0MsRUFHbEMsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFlBQXVDO0lBQ3hGLFlBQ0UsV0FBc0M7SUFDdEMsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRCxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcs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O1FBRUQsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgQ2hhcnRBY2NvdW50cyxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCxcbiAgSW5jb21lU291cmNlXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb25kaXRpb25hbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi1tZXRhLWZpZWxkLmZvcm0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcblxuLyoqXG4gKiBAVE9ETyBBbGV4OiBleHRlbmQgdHJhbnNhY3Rpb24gZm9ybShzKSB3aGVuIHRyYW5zYWN0aW9uIGZvcm1zIHJlZmFjdG9yZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgICAvLyBGbGFnIHRvIGVuYWJsZSB0cmFuc2FjdGlvbiBHU1QgZmllbGRcbiAgICBwcml2YXRlIGlzR1NUOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnQpLFxuICAgICAgYW1vdW50UGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnRQZXJjZW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHRheDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi50YXgsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2xhaW1QZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCgxMDApXSksXG4gICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgaXNHU1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdHJhbnNhY3Rpb24uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXNHU1QgfSksXG4gICAgICBsb2FuOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmxvYW4pLFxuICAgICAgaW5jb21lU291cmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSwgY29uZGl0aW9uYWxWYWxpZGF0b3IoKCkgPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNXb3JrSW5jb21lKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpKSxcbiAgICAgIG1ldGFGaWVsZHM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5tZXRhRmllbGRzIHx8IFtdKS5tYXAoKG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCkgPT4gbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKG1ldGFGaWVsZCkpKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmJ1c2luZXNzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnByb3BlcnR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIC8vIFNob3cgbnVsbCBhcyBkZWZhdWx0IHZhbHVlIGZvciBuZXcgdHJhbnNhY3Rpb24gdG8gYXZvaWQgcHJlc2VsZWN0aW5nIG9mIG5vdCBhbGxvd2VkIHRhbmsgdHlwZXNcbiAgICAgIHRhbmtUeXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkID8gdHJhbnNhY3Rpb24udGFua1R5cGUgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheSgodHJhbnNhY3Rpb24uY2hpbGRUcmFuc2FjdGlvbnMgfHwgW10pLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbikgPT4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjaGlsZFRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pKSlcbiAgICB9LCB0cmFuc2FjdGlvbik7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gYWJzdHJhY3QgZm9ybSwgdW5pdmVyc2FsIG1ldGhvZCBnZXRBcnJheShhcnJheU5hbWUpXG4gICAqL1xuICBnZXQgbWV0YUZpZWxkc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBpc1NwbGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW1vdW50UGVyY2VudCcpLmVuYWJsZWQ7XG4gIH1cblxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZSA9PT0gVGFua1R5cGVFbnVtLlBFUlNPTkFMO1xuICB9XG5cbiAgYWRkQ2hpbGRUcmFuc2FjdGlvbkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnB1c2goXG4gICAgICBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3VibWl0KCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHNBcnJheS5jb250cm9scy5tYXAoKG1ldGFGaWVsZEZvcm06IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKSA9PiBtZXRhRmllbGRGb3JtLnN1Ym1pdCgpKVxuICAgIH07XG5cbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEsIHRydWUpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuSW5jb21lU291cmNlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG5cbiAgICAgIGlmICghY2hhcnRBY2NvdW50cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG5cbiAgICAgIC8vIFVzZXIgaGF2ZSB0byBzZWxlY3QgaW5jb21lIHNvdXJjZSBmb3Igd29yayBpbmNvbWVcbiAgICAgIGlmIChjaGFydEFjY291bnRzLmlzV29ya0luY29tZSgpKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWJ1aWxkIG1ldGEgZmllbGRzXG4gICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5jbGVhcigpO1xuICAgICAgY2hhcnRBY2NvdW50cy5tZXRhRmllbGRzLmZvckVhY2goKGNoYXJ0QWNjb3VudHNNZXRhRmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhRmllbGQpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkucHVzaChcbiAgICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0oXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCwgeyBjaGFydEFjY291bnRzTWV0YUZpZWxkIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHNvbGUgdHJhZGVyIHJlZ2lzdGVyZWQgYW5kIGNoYXJ0QWNjb3VudHMgaXMgZWxpZ2libGUgZm9yIGdzdFxuICAgICAgaWYgKHRoaXMuaXNHU1QgJiYgY2hhcnRBY2NvdW50cy5pc0dTVCkge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENoaWxkIHRyYW5zYWN0aW9uIGFsbG93YW5jZSBkZXBlbmRzIG9uIHRhbmsgdHlwZS5cbiAgICogQWxzbyBjaGFydCBhY2NvdW50cyBhcmUgZGlmZmVyZW50LCBzbyB3ZSBqdXN0IHJlc2V0IGNoaWxkIHRyYW5zYWN0aW9ucyB3aGVuIHRhbmsgdHlwZSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRhbmtUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYnVzaW5lc3MnKS5yZXNldCgpO1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LmNsZWFyKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0IGluIGNhc2UgaWYgd2UgaGF2ZSBhdCBsZWFzdCAxIHNhbGFyeUZvcmVjYXN0c1xuICAgICAgaWYgKGluY29tZVNvdXJjZSBpbnN0YW5jZW9mIEluY29tZVNvdXJjZSAmJiBpbmNvbWVTb3VyY2UuaXNXb3JrSW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZVxuICAgICAgICAmJiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
@@ -1,31 +1,31 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { AllocationRuleTransaction, CHART_ACCOUNTS_CATEGORIES } from '../../models';
3
3
  import { plainToClass } from 'class-transformer';
4
- import { UntypedFormArray, UntypedFormControl, Validators } from '@angular/forms';
4
+ import { FormArray, FormControl, Validators } from '@angular/forms';
5
5
  import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
6
6
  import { AllocationRuleConditionForm } from './allocation-rule-condition.form';
7
7
  import { AllocationRuleTransactionForm } from './allocation-rule-transaction.form';
8
8
  import { AllocationRuleTypeEnum } from '../../db/Enums';
9
9
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
10
10
  import intersection from 'lodash/intersection';
11
+ import { RxwebValidators } from '@rxweb/reactive-form-validators';
11
12
  /**
12
13
  * @TODO move aux methods like isSplittable/isTaxFieldHidden/etc (used in view with ngIf) to properties to improve perf
13
14
  */
14
15
  export class AllocationRuleForm extends AbstractForm {
15
- constructor(
16
- // rule is required because we have to keep bank account relation
17
- rule,
18
- // Flag to enable transaction GST field
19
- isGST) {
16
+ constructor(rule, rules, isGST) {
20
17
  super({
21
- type: new UntypedFormControl(rule.type, Validators.required),
22
- name: new UntypedFormControl(rule.name, Validators.required),
23
- conditionOperator: new UntypedFormControl(rule.conditionOperator, Validators.required),
24
- conditions: new UntypedFormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
18
+ type: new FormControl(rule.type, Validators.required),
19
+ name: new FormControl(rule.name, [
20
+ Validators.required,
21
+ RxwebValidators.noneOf({ matchValues: rules.remove([rule]).mapBy('name') })
22
+ ]),
23
+ conditionOperator: new FormControl(rule.conditionOperator, Validators.required),
24
+ conditions: new FormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
25
25
  .map((condition) => new AllocationRuleConditionForm(condition))),
26
26
  transaction: new AllocationRuleTransactionForm(rule.transaction || plainToClass(AllocationRuleTransaction, {}), isGST),
27
- transferBankAccount: new UntypedFormControl(rule.transferBankAccount, Validators.required),
28
- autoAllocate: new UntypedFormControl(rule.autoAllocate || false, Validators.required),
27
+ transferBankAccount: new FormControl(rule.transferBankAccount, Validators.required),
28
+ autoAllocate: new FormControl(rule.autoAllocate || false, Validators.required),
29
29
  }, rule);
30
30
  this.isGST = isGST;
31
31
  this.listenEvents();
@@ -185,4 +185,4 @@ export class AllocationRuleForm extends AbstractForm {
185
185
  return this.isIncome() && this.isSoleTank();
186
186
  }
187
187
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUE2QixNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE0QjtJQUdsRTtJQUNFLGlFQUFpRTtJQUNqRSxJQUFvQjtJQUNwQix1Q0FBdUM7SUFDL0IsS0FBYztRQUV0QixLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDNUQsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENB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SUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDakYsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztJQUM3RSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGUsIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsIENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuXG4vKipcbiAqIEBUT0RPIG1vdmUgYXV4IG1ldGhvZHMgbGlrZSBpc1NwbGl0dGFibGUvaXNUYXhGaWVsZEhpZGRlbi9ldGMgKHVzZWQgaW4gdmlldyB3aXRoIG5nSWYpIHRvIHByb3BlcnRpZXMgdG8gaW1wcm92ZSBwZXJmXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjaGFydEFjY291bnRzQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIHJ1bGUgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRvIGtlZXAgYmFuayBhY2NvdW50IHJlbGF0aW9uXG4gICAgcnVsZTogQWxsb2NhdGlvblJ1bGUsXG4gICAgLy8gRmxhZyB0byBlbmFibGUgdHJhbnNhY3Rpb24gR1NUIGZpZWxkXG4gICAgcHJpdmF0ZSBpc0dTVDogYm9vbGVhblxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUudHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBuYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUubmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25PcGVyYXRvcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLmNvbmRpdGlvbk9wZXJhdG9yLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvbmRpdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUudHJhbnNmZXJCYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBhdXRvQWxsb2NhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS5hdXRvQWxsb2NhdGUgfHwgZmFsc2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0sIHJ1bGUpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHJ1bGUudHlwZSk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VGFua1R5cGUocnVsZS50cmFuc2FjdGlvbj8udGFua1R5cGUpO1xuICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcblxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZT8uaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2xhaW1QZXJjZW50JykuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdHJhbnNhY3Rpb24gaGFzIG5vIGFtb3VudCAobm9uLXNwbGl0KVxuICAgIGlmICghcnVsZS50cmFuc2FjdGlvbj8uaXNTcGxpdCgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldChbJ2Ftb3VudFBlcmNlbnQnXSkuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb25kaXRpb25zQXJyYXkoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBjaGlsZFRyYW5zYWN0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2hpbGRUcmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQTZCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE0QjtJQUdsRSxZQUFZLElBQW9CLEVBQUUsS0FBK0IsRUFBVSxLQUFjO1FBQ3ZGLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FB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LE9BQU8sQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsUUFBUSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNqRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZSwgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IHsgUnh3ZWJWYWxpZGF0b3JzIH0gZnJvbSAnQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogQFRPRE8gbW92ZSBhdXggbWV0aG9kcyBsaWtlIGlzU3BsaXR0YWJsZS9pc1RheEZpZWxkSGlkZGVuL2V0YyAodXNlZCBpbiB2aWV3IHdpdGggbmdJZikgdG8gcHJvcGVydGllcyB0byBpbXByb3ZlIHBlcmZcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW107XG5cbiAgY29uc3RydWN0b3IocnVsZTogQWxsb2NhdGlvblJ1bGUsIHJ1bGVzOiBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24sIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgRm9ybUNvbnRyb2wocnVsZS50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChydWxlLm5hbWUsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgUnh3ZWJWYWxpZGF0b3JzLm5vbmVPZih7IG1hdGNoVmFsdWVzOiBydWxlcy5yZW1vdmUoW3J1bGVdKS5tYXBCeSgnbmFtZScpIH0pXG4gICAgICBdKSxcbiAgICAgIGNvbmRpdGlvbk9wZXJhdG9yOiBuZXcgRm9ybUNvbnRyb2wocnVsZS5jb25kaXRpb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgRm9ybUNvbnRyb2wocnVsZS50cmFuc2ZlckJhbmtBY2NvdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGF1dG9BbGxvY2F0ZTogbmV3IEZvcm1Db250cm9sKHJ1bGUuYXV0b0FsbG9jYXRlIHx8IGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9LCBydWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZShydWxlLnR5cGUpO1xuICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHJ1bGUudHJhbnNhY3Rpb24/LnRhbmtUeXBlKTtcbiAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU/LmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRyYW5zYWN0aW9uIGFtb3VudCBmaWVsZCB3aGVuIHRyYW5zYWN0aW9uIGhhcyBubyBhbW91bnQgKG5vbi1zcGxpdClcbiAgICBpZiAoIXJ1bGUudHJhbnNhY3Rpb24/LmlzU3BsaXQoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZGl0aW9uc0FycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IGNoaWxkVHJhbnNhY3Rpb25zQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { TAX_RETURN_CATEGORIES, TransactionCollection } from '../../../../../collections';
2
- import { ChartAccountsCategoryEnum, ChartAccountsHeadingListEnum, ChartAccountsListEnum } from '../../../../../db/Enums';
1
+ import { TAX_RETURN_CATEGORIES } from '../../../../../collections';
2
+ import { ChartAccountsCategoryEnum, ChartAccountsHeadingListEnum, ChartAccountsListEnum, TaxReturnCategoryListEnum, TaxReturnItemEnum } from '../../../../../db/Enums';
3
3
  import { TaxSummarySectionEnum } from '../../../../../db/Enums/tax-summary-section.enum';
4
4
  /**
5
5
  * Sole business information related to expense transactions (losses)
@@ -41,7 +41,7 @@ export class MyTaxBusinessLosses {
41
41
  this.logbookExpensesAmount = Math.abs(transactions.getVehicleTransactions().sumBy('claimAmount')) +
42
42
  depreciations.getVehicleDepreciations().sumBy('claimAmount');
43
43
  this.otherExpensesAmount = Math.abs(transactions
44
- .filterBy('chartAccounts.heading.id', ChartAccountsHeadingListEnum.OTHER_EXPENSES)
44
+ .filterBy('chartAccounts.taxReturnItem.id', TaxReturnItemEnum.ALL_OTHER_EXPENSES)
45
45
  .sumBy('claimAmount'));
46
46
  this.totalNonPrimaryProductionExpensesAmount = Math.abs(transactions
47
47
  .filterBy('chartAccounts.category', [ChartAccountsCategoryEnum.SOLE_EXPENSE])
@@ -59,12 +59,11 @@ export class MyTaxBusinessLosses {
59
59
  this.deductionsForGeneralSmallBusinessPoolAmount = depreciations
60
60
  .getSBPDepreciations()
61
61
  .sumBy('claimAmount');
62
- this.currentYearNetNonPrimaryIncomeOrLossesAmount = new TransactionCollection(transactions.toArray(), depreciations.toArray())
63
- .getBusinessClaimAmount();
62
+ this.currentYearNetNonPrimaryIncomeOrLossesAmount = taxSummary.sole.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.BUSINESS_INCOME_OR_LOSS], TaxSummarySectionEnum.SOLE_TANK);
64
63
  this.priorYearsNonPrimaryLossesAmount = businessLosses.sumBy('openBalance');
65
64
  this.netNonPrimaryIncomeOrLossesAmount = this.currentYearNetNonPrimaryIncomeOrLossesAmount -
66
65
  this.priorYearsNonPrimaryLossesAmount;
67
66
  this.deferredLossesAmount = taxSummary.sole.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.sole.lossCurrent, TaxSummarySectionEnum.SOLE_TANK);
68
67
  }
69
68
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWJ1c2luZXNzLWxvc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtYnVzaW5lc3MtaW5jb21lLW9yLWxvc3Nlcy9teS10YXgtYnVzaW5lc3MtbG9zc2VzL215LXRheC1idXNpbmVzcy1sb3NzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQixxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXpILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXpGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFzQjlCLFlBQ0UsWUFBbUMsRUFDbkMsYUFBcUMsRUFDckMsY0FBMEMsRUFDMUMsV0FBNkIsRUFDN0IsVUFBc0I7UUFFdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFO2FBQy9FLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQzthQUM3RSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7YUFDakYsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDO2FBQzlFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRTthQUN2RSxRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsY0FBYyxDQUFDO2FBQ2xFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7YUFDaEUsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLFFBQVEsQ0FBQzthQUM1RCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7YUFDaEYsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLHlCQUF5QixDQUFDO2FBQzdFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRTthQUN2RixRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsaUNBQWlDLENBQUM7YUFDckYsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFO2FBQ2xGLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQywyQkFBMkIsQ0FBQzthQUMvRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7YUFDakYsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDO2FBQzlFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUN4QyxZQUFZO2FBQ1QsUUFBUSxDQUFDLHdCQUF3QixFQUFFLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDMUUsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUN2QixhQUFhO2lCQUNWLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUMxRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0YsYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVk7YUFDN0MsUUFBUSxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDLGNBQWMsQ0FBQzthQUNqRixLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsdUNBQXVDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZO2FBQ2pFLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0QixhQUFhO2lCQUNWLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLENBQUM7aUJBQ2pGLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQixnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLGFBQWE7YUFDNUMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO2FBQ3hGLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsYUFBYTthQUNsRCwwQkFBMEIsRUFBRTthQUM1QixLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLGFBQWE7YUFDN0QsbUJBQW1CLEVBQUU7YUFDckIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyw0Q0FBNEMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDM0gsc0JBQXNCLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLDRDQUE0QztZQUN4RixJQUFJLENBQUMsZ0NBQWdDLENBQUM7UUFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUN6RSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN0QyxxQkFBcUIsQ0FBQyxTQUFTLENBQ2hDLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBUQVhfUkVUVVJOX0NBVEVHT1JJRVMsIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzc0xvc3MgfSBmcm9tICcuLi8uLi8uLi8uLi9zb2xlJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzc0xvc3NDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVGF4U3VtbWFyeSB9IGZyb20gJy4uLy4uLy4uLy4uL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5JztcbmltcG9ydCB7IFRheFN1bW1hcnlTZWN0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RiL0VudW1zL3RheC1zdW1tYXJ5LXNlY3Rpb24uZW51bSc7XG5cbi8qKlxuICogU29sZSBidXNpbmVzcyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGV4cGVuc2UgdHJhbnNhY3Rpb25zIChsb3NzZXMpXG4gKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChzZWN0aW9uIFwiQnVzaW5lc3MgaW5jb21lIG9yIGxvc3Nlc1wiKVxuICovXG5leHBvcnQgY2xhc3MgTXlUYXhCdXNpbmVzc0xvc3NlcyB7XG4gIGN1cnJlbnRMb3NzOiBTb2xlQnVzaW5lc3NMb3NzO1xuICBwdXJjaGFzZXNBbmRPdGhlckNvc3RzQW1vdW50OiBudW1iZXI7XG4gIGNvbnRyYWN0b3JzQW5kQ29tbWlzc2lvbkFtb3VudDogbnVtYmVyO1xuICBzdXBlcmFubnVhdGlvbkFtb3VudDogbnVtYmVyO1xuICBiYWREZWJ0QW1vdW50OiBudW1iZXI7XG4gIGxlYXNlRXhwZW5zZXNDb21tZXJjaWFsQW1vdW50OiBudW1iZXI7XG4gIHJlbnRFeHBlbnNlc0NvbW1lcmNpYWxQcmVtaXNlc0Ftb3VudDogbnVtYmVyO1xuICBpbnRlcmVzdEV4cGVuc2VzQXVzdHJhbGlhQW1vdW50OiBudW1iZXI7XG4gIGludGVyZXN0RXhwZW5zZXNPdmVyc2Vhc0Ftb3VudDogbnVtYmVyO1xuICBrbXNUcmF2ZWxsZWRFeHBlbnNlc0Ftb3VudDogbnVtYmVyO1xuICBsb2dib29rRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgb3RoZXJFeHBlbnNlc0Ftb3VudDogbnVtYmVyO1xuICB0b3RhbE5vblByaW1hcnlQcm9kdWN0aW9uRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVwcmVjaWF0aW9uRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVkdWN0aW9uc0ZvckNlcnRhaW5Bc3NldHNBbW91bnQ6IG51bWJlcjtcbiAgZGVkdWN0aW9uc0ZvckdlbmVyYWxTbWFsbEJ1c2luZXNzUG9vbEFtb3VudDogbnVtYmVyO1xuICBwcmlvclllYXJzTm9uUHJpbWFyeUxvc3Nlc0Ftb3VudDogbnVtYmVyO1xuICBuZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQ6IG51bWJlcjtcbiAgY3VycmVudFllYXJOZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVmZXJyZWRMb3NzZXNBbW91bnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIGJ1c2luZXNzTG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzQ29sbGVjdGlvbixcbiAgICBjdXJyZW50TG9zczogU29sZUJ1c2luZXNzTG9zcyxcbiAgICB0YXhTdW1tYXJ5OiBUYXhTdW1tYXJ5XG4gICkge1xuICAgIHRoaXMuY3VycmVudExvc3MgPSBjdXJyZW50TG9zcztcbiAgICB0aGlzLnB1cmNoYXNlc0FuZE90aGVyQ29zdHNBbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uUFVSQ0hBU0VTX1NUT0NLX0lOVkVOVE9SWSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5jb250cmFjdG9yc0FuZENvbW1pc3Npb25BbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uQ09OVFJBQ1RPUlNfQU5EX0NPTU1JU1NJT04pXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuc3VwZXJhbm51YXRpb25BbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uU1VQRVJBTk5VQVRJT04pXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuYmFkRGVidEFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5CQURfREVCVClcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5sZWFzZUV4cGVuc2VzQ29tbWVyY2lhbEFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5MRUFTRV9FWFBFTlNFU19DT01NRVJDSUFMKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLnJlbnRFeHBlbnNlc0NvbW1lcmNpYWxQcmVtaXNlc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5SRU5UX0VYUEVOU0VTX0NPTU1FUkNJQUxfUFJFTUlTRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuaW50ZXJlc3RFeHBlbnNlc0F1c3RyYWxpYUFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9FWFBFTlNFU19BVVNUUkFMSUEpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuaW50ZXJlc3RFeHBlbnNlc092ZXJzZWFzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX0VYUEVOU0VTX09WRVJTRUFTKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLmttc1RyYXZlbGxlZEV4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnMoXG4gICAgICB0cmFuc2FjdGlvbnNcbiAgICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmNhdGVnb3J5JywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF0pXG4gICAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSArXG4gICAgICBkZXByZWNpYXRpb25zXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5jYXRlZ29yeScsIFtDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURdKVxuICAgICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JylcbiAgICApO1xuICAgIHRoaXMubG9nYm9va0V4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5zdW1CeSgnY2xhaW1BbW91bnQnKSkgK1xuICAgICAgZGVwcmVjaWF0aW9ucy5nZXRWZWhpY2xlRGVwcmVjaWF0aW9ucygpLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMub3RoZXJFeHBlbnNlc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLk9USEVSX0VYUEVOU0VTKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLnRvdGFsTm9uUHJpbWFyeVByb2R1Y3Rpb25FeHBlbnNlc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmNhdGVnb3J5JywgW0NoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9FWFBFTlNFXSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSkgK1xuICAgICAgZGVwcmVjaWF0aW9uc1xuICAgICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuY2F0ZWdvcnknLCBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0RFUFJFQ0lBVElPTl0pXG4gICAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICAvLyBkZXByZWNpYXRpb25zXG4gICAgdGhpcy5kZXByZWNpYXRpb25FeHBlbnNlc0Ftb3VudCA9IGRlcHJlY2lhdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5ERVBSRUNJQVRJT05fRVhQRU5TRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5kZWR1Y3Rpb25zRm9yQ2VydGFpbkFzc2V0c0Ftb3VudCA9IGRlcHJlY2lhdGlvbnNcbiAgICAgIC5nZXRXcml0dGVuT2ZmRGVwcmVjaWF0aW9ucygpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5kZWR1Y3Rpb25zRm9yR2VuZXJhbFNtYWxsQnVzaW5lc3NQb29sQW1vdW50ID0gZGVwcmVjaWF0aW9uc1xuICAgICAgLmdldFNCUERlcHJlY2lhdGlvbnMoKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuY3VycmVudFllYXJOZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQgPSBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucy50b0FycmF5KCksIGRlcHJlY2lhdGlvbnMudG9BcnJheSgpKVxuICAgICAgLmdldEJ1c2luZXNzQ2xhaW1BbW91bnQoKTtcbiAgICB0aGlzLnByaW9yWWVhcnNOb25QcmltYXJ5TG9zc2VzQW1vdW50ID0gYnVzaW5lc3NMb3NzZXMuc3VtQnkoJ29wZW5CYWxhbmNlJyk7XG4gICAgdGhpcy5uZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQgPSB0aGlzLmN1cnJlbnRZZWFyTmV0Tm9uUHJpbWFyeUluY29tZU9yTG9zc2VzQW1vdW50IC1cbiAgICAgIHRoaXMucHJpb3JZZWFyc05vblByaW1hcnlMb3NzZXNBbW91bnQ7XG4gICAgdGhpcy5kZWZlcnJlZExvc3Nlc0Ftb3VudCA9IHRheFN1bW1hcnkuc29sZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFxuICAgICAgVEFYX1JFVFVSTl9DQVRFR09SSUVTLnNvbGUubG9zc0N1cnJlbnQsXG4gICAgICBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uU09MRV9UQU5LXG4gICAgKVxuICB9XG59XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWJ1c2luZXNzLWxvc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtYnVzaW5lc3MtaW5jb21lLW9yLWxvc3Nlcy9teS10YXgtYnVzaW5lc3MtbG9zc2VzL215LXRheC1idXNpbmVzcy1sb3NzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHFCQUFxQixFQUV0QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2xCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFekY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQXNCOUIsWUFDRSxZQUFtQyxFQUNuQyxhQUFxQyxFQUNyQyxjQUEwQyxFQUMxQyxXQUE2QixFQUM3QixVQUFzQjtRQUV0QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7YUFDL0UsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLHlCQUF5QixDQUFDO2FBQzdFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRTthQUNqRixRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsMEJBQTBCLENBQUM7YUFDOUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7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QkFBMEIsRUFBRSw0QkFBNEIsQ0FBQyxxQkFBcUIsQ0FBQzthQUN4RixLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGFBQWE7YUFDbEQsMEJBQTBCLEVBQUU7YUFDNUIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxhQUFhO2FBQzdELG1CQUFtQixFQUFFO2FBQ3JCLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsNENBQTRDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQ2pHLENBQUMseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsRUFDbkQscUJBQXFCLENBQUMsU0FBUyxDQUNoQyxDQUFBO1FBQ0QsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLElBQUksQ0FBQyw0Q0FBNEM7WUFDeEYsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FDekUscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFDdEMscUJBQXFCLENBQUMsU0FBUyxDQUNoQyxDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbixcbiAgU29sZUJ1c2luZXNzTG9zc0NvbGxlY3Rpb24sXG4gIFRBWF9SRVRVUk5fQ0FURUdPUklFUyxcbiAgVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7XG4gIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sXG4gIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0sXG4gIENoYXJ0QWNjb3VudHNMaXN0RW51bSxcbiAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSxcbiAgVGF4UmV0dXJuSXRlbUVudW1cbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzTG9zcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NvbGUnO1xuaW1wb3J0IHsgVGF4U3VtbWFyeSB9IGZyb20gJy4uLy4uLy4uLy4uL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5JztcbmltcG9ydCB7IFRheFN1bW1hcnlTZWN0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RiL0VudW1zL3RheC1zdW1tYXJ5LXNlY3Rpb24uZW51bSc7XG5cbi8qKlxuICogU29sZSBidXNpbmVzcyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGV4cGVuc2UgdHJhbnNhY3Rpb25zIChsb3NzZXMpXG4gKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChzZWN0aW9uIFwiQnVzaW5lc3MgaW5jb21lIG9yIGxvc3Nlc1wiKVxuICovXG5leHBvcnQgY2xhc3MgTXlUYXhCdXNpbmVzc0xvc3NlcyB7XG4gIGN1cnJlbnRMb3NzOiBTb2xlQnVzaW5lc3NMb3NzO1xuICBwdXJjaGFzZXNBbmRPdGhlckNvc3RzQW1vdW50OiBudW1iZXI7XG4gIGNvbnRyYWN0b3JzQW5kQ29tbWlzc2lvbkFtb3VudDogbnVtYmVyO1xuICBzdXBlcmFubnVhdGlvbkFtb3VudDogbnVtYmVyO1xuICBiYWREZWJ0QW1vdW50OiBudW1iZXI7XG4gIGxlYXNlRXhwZW5zZXNDb21tZXJjaWFsQW1vdW50OiBudW1iZXI7XG4gIHJlbnRFeHBlbnNlc0NvbW1lcmNpYWxQcmVtaXNlc0Ftb3VudDogbnVtYmVyO1xuICBpbnRlcmVzdEV4cGVuc2VzQXVzdHJhbGlhQW1vdW50OiBudW1iZXI7XG4gIGludGVyZXN0RXhwZW5zZXNPdmVyc2Vhc0Ftb3VudDogbnVtYmVyO1xuICBrbXNUcmF2ZWxsZWRFeHBlbnNlc0Ftb3VudDogbnVtYmVyO1xuICBsb2dib29rRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgb3RoZXJFeHBlbnNlc0Ftb3VudDogbnVtYmVyO1xuICB0b3RhbE5vblByaW1hcnlQcm9kdWN0aW9uRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVwcmVjaWF0aW9uRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVkdWN0aW9uc0ZvckNlcnRhaW5Bc3NldHNBbW91bnQ6IG51bWJlcjtcbiAgZGVkdWN0aW9uc0ZvckdlbmVyYWxTbWFsbEJ1c2luZXNzUG9vbEFtb3VudDogbnVtYmVyO1xuICBwcmlvclllYXJzTm9uUHJpbWFyeUxvc3Nlc0Ftb3VudDogbnVtYmVyO1xuICBuZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQ6IG51bWJlcjtcbiAgY3VycmVudFllYXJOZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVmZXJyZWRMb3NzZXNBbW91bnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIGJ1c2luZXNzTG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzQ29sbGVjdGlvbixcbiAgICBjdXJyZW50TG9zczogU29sZUJ1c2luZXNzTG9zcyxcbiAgICB0YXhTdW1tYXJ5OiBUYXhTdW1tYXJ5XG4gICkge1xuICAgIHRoaXMuY3VycmVudExvc3MgPSBjdXJyZW50TG9zcztcbiAgICB0aGlzLnB1cmNoYXNlc0FuZE90aGVyQ29zdHNBbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uUFVSQ0hBU0VTX1NUT0NLX0lOVkVOVE9SWSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5jb250cmFjdG9yc0FuZENvbW1pc3Npb25BbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uQ09OVFJBQ1RPUlNfQU5EX0NPTU1JU1NJT04pXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuc3VwZXJhbm51YXRpb25BbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uU1VQRVJBTk5VQVRJT04pXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuYmFkRGVidEFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5CQURfREVCVClcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5sZWFzZUV4cGVuc2VzQ29tbWVyY2lhbEFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5MRUFTRV9FWFBFTlNFU19DT01NRVJDSUFMKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLnJlbnRFeHBlbnNlc0NvbW1lcmNpYWxQcmVtaXNlc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5SRU5UX0VYUEVOU0VTX0NPTU1FUkNJQUxfUFJFTUlTRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuaW50ZXJlc3RFeHBlbnNlc0F1c3RyYWxpYUFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9FWFBFTlNFU19BVVNUUkFMSUEpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuaW50ZXJlc3RFeHBlbnNlc092ZXJzZWFzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX0VYUEVOU0VTX09WRVJTRUFTKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLmttc1RyYXZlbGxlZEV4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnMoXG4gICAgICB0cmFuc2FjdGlvbnNcbiAgICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmNhdGVnb3J5JywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF0pXG4gICAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSArXG4gICAgICBkZXByZWNpYXRpb25zXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5jYXRlZ29yeScsIFtDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURdKVxuICAgICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JylcbiAgICApO1xuICAgIHRoaXMubG9nYm9va0V4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5zdW1CeSgnY2xhaW1BbW91bnQnKSkgK1xuICAgICAgZGVwcmVjaWF0aW9ucy5nZXRWZWhpY2xlRGVwcmVjaWF0aW9ucygpLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMub3RoZXJFeHBlbnNlc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0uaWQnLCBUYXhSZXR1cm5JdGVtRW51bS5BTExfT1RIRVJfRVhQRU5TRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMudG90YWxOb25QcmltYXJ5UHJvZHVjdGlvbkV4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuY2F0ZWdvcnknLCBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0VYUEVOU0VdKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKSArXG4gICAgICBkZXByZWNpYXRpb25zXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5jYXRlZ29yeScsIFtDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfREVQUkVDSUFUSU9OXSlcbiAgICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIC8vIGRlcHJlY2lhdGlvbnNcbiAgICB0aGlzLmRlcHJlY2lhdGlvbkV4cGVuc2VzQW1vdW50ID0gZGVwcmVjaWF0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkRFUFJFQ0lBVElPTl9FWFBFTlNFUylcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmRlZHVjdGlvbnNGb3JDZXJ0YWluQXNzZXRzQW1vdW50ID0gZGVwcmVjaWF0aW9uc1xuICAgICAgLmdldFdyaXR0ZW5PZmZEZXByZWNpYXRpb25zKClcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmRlZHVjdGlvbnNGb3JHZW5lcmFsU21hbGxCdXNpbmVzc1Bvb2xBbW91bnQgPSBkZXByZWNpYXRpb25zXG4gICAgICAuZ2V0U0JQRGVwcmVjaWF0aW9ucygpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5jdXJyZW50WWVhck5ldE5vblByaW1hcnlJbmNvbWVPckxvc3Nlc0Ftb3VudCA9IHRheFN1bW1hcnkuc29sZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFxuICAgICAgW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQlVTSU5FU1NfSU5DT01FX09SX0xPU1NdLFxuICAgICAgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLlNPTEVfVEFOS1xuICAgIClcbiAgICB0aGlzLnByaW9yWWVhcnNOb25QcmltYXJ5TG9zc2VzQW1vdW50ID0gYnVzaW5lc3NMb3NzZXMuc3VtQnkoJ29wZW5CYWxhbmNlJyk7XG4gICAgdGhpcy5uZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQgPSB0aGlzLmN1cnJlbnRZZWFyTmV0Tm9uUHJpbWFyeUluY29tZU9yTG9zc2VzQW1vdW50IC1cbiAgICAgIHRoaXMucHJpb3JZZWFyc05vblByaW1hcnlMb3NzZXNBbW91bnQ7XG4gICAgdGhpcy5kZWZlcnJlZExvc3Nlc0Ftb3VudCA9IHRheFN1bW1hcnkuc29sZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFxuICAgICAgVEFYX1JFVFVSTl9DQVRFR09SSUVTLnNvbGUubG9zc0N1cnJlbnQsXG4gICAgICBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uU09MRV9UQU5LXG4gICAgKVxuICB9XG59XG4iXX0=