@esolve/ng-esolve-connect 0.114.0 → 0.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2022/lib/account/user-account/classes/esolve-statement-transaction.model.mjs +3 -1
  2. package/esm2022/lib/account/user-account/interfaces/esolve-statement-transaction-record.interface.mjs +1 -1
  3. package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +12 -4
  4. package/esm2022/lib/stock/classes/esolve-stock-transaction-sales.model.mjs +9 -0
  5. package/esm2022/lib/stock/classes/index.mjs +13 -12
  6. package/esm2022/lib/stock/esolve-stock.service.mjs +61 -3
  7. package/esm2022/lib/stock/interfaces/esolve-stock-base-record.interface.mjs +1 -1
  8. package/esm2022/lib/stock/interfaces/esolve-transaction-sales-stock-item-options.interface.mjs +2 -0
  9. package/esm2022/lib/stock/interfaces/index.mjs +14 -13
  10. package/esm2022/lib/stock/types/esolve-transaction-sales-stock-sort-field.type.mjs +2 -0
  11. package/esm2022/lib/stock/types/index.mjs +7 -6
  12. package/fesm2022/esolve-ng-esolve-connect.mjs +134 -58
  13. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  14. package/lib/account/user-account/classes/esolve-statement-transaction.model.d.ts +2 -0
  15. package/lib/account/user-account/interfaces/esolve-statement-transaction-record.interface.d.ts +2 -0
  16. package/lib/stock/classes/esolve-stock-item-base.model.d.ts +10 -5
  17. package/lib/stock/classes/esolve-stock-transaction-sales.model.d.ts +7 -0
  18. package/lib/stock/classes/index.d.ts +12 -11
  19. package/lib/stock/esolve-stock.service.d.ts +7 -2
  20. package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +6 -2
  21. package/lib/stock/interfaces/esolve-transaction-sales-stock-item-options.interface.d.ts +14 -0
  22. package/lib/stock/interfaces/index.d.ts +13 -12
  23. package/lib/stock/types/esolve-transaction-sales-stock-sort-field.type.d.ts +2 -0
  24. package/lib/stock/types/index.d.ts +6 -5
  25. package/package.json +1 -1
@@ -2,6 +2,7 @@ export class EsolveStatementTransaction {
2
2
  constructor(record) {
3
3
  if (record) {
4
4
  this.document_date = record.document_date ?? '';
5
+ this.document_type = record.document_type ?? '';
5
6
  this.order_number = record.order_number ?? '';
6
7
  this.comment = record.comment ?? '';
7
8
  this.account = record.account ?? '';
@@ -9,7 +10,8 @@ export class EsolveStatementTransaction {
9
10
  this.total = +(record.total ?? 0);
10
11
  this.amount_due = +(record.amount_due ?? 0);
11
12
  this.is_debit = !!+(record.is_debit ?? true);
13
+ this.is_credit = !!+(record.is_credit ?? false);
12
14
  }
13
15
  }
14
16
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQtdHJhbnNhY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDBCQUEwQjtJQVVuQyxZQUFZLE1BQWtEO1FBQzFELElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvblJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RhdGVtZW50VHJhbnNhY3Rpb24ge1xuICAgIHB1YmxpYyBkb2N1bWVudF9kYXRlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBvcmRlcl9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGNvbW1lbnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIGFjY291bnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIGlxX3JlZmVyZW5jZT86IHN0cmluZztcbiAgICBwdWJsaWMgdG90YWw/OiBudW1iZXI7XG4gICAgcHVibGljIGFtb3VudF9kdWU/OiBudW1iZXI7XG4gICAgcHVibGljIGlzX2RlYml0PzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlU3RhdGVtZW50VHJhbnNhY3Rpb25SZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRfZGF0ZSA9IHJlY29yZC5kb2N1bWVudF9kYXRlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5vcmRlcl9udW1iZXIgPSByZWNvcmQub3JkZXJfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jb21tZW50ID0gcmVjb3JkLmNvbW1lbnQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmFjY291bnQgPSByZWNvcmQuYWNjb3VudCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaXFfcmVmZXJlbmNlID0gcmVjb3JkLmlxX3JlZmVyZW5jZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudG90YWwgPSArKHJlY29yZC50b3RhbCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2R1ZSA9ICsocmVjb3JkLmFtb3VudF9kdWUgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmlzX2RlYml0ID0gISErKHJlY29yZC5pc19kZWJpdCA/PyB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQtdHJhbnNhY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDBCQUEwQjtJQVluQyxZQUFZLE1BQWtEO1FBQzFELElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvbiB7XG4gICAgcHVibGljIGRvY3VtZW50X2RhdGU/OiBzdHJpbmc7XG4gICAgcHVibGljIGRvY3VtZW50X3R5cGU/OiBzdHJpbmc7XG4gICAgcHVibGljIG9yZGVyX251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgY29tbWVudD86IHN0cmluZztcbiAgICBwdWJsaWMgYWNjb3VudD86IHN0cmluZztcbiAgICBwdWJsaWMgaXFfcmVmZXJlbmNlPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0b3RhbD86IG51bWJlcjtcbiAgICBwdWJsaWMgYW1vdW50X2R1ZT86IG51bWJlcjtcbiAgICBwdWJsaWMgaXNfZGViaXQ/OiBib29sZWFuO1xuICAgIHB1YmxpYyBpc19jcmVkaXQ/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvblJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudF9kYXRlID0gcmVjb3JkLmRvY3VtZW50X2RhdGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50X3R5cGUgPSByZWNvcmQuZG9jdW1lbnRfdHlwZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMub3JkZXJfbnVtYmVyID0gcmVjb3JkLm9yZGVyX251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY29tbWVudCA9IHJlY29yZC5jb21tZW50ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hY2NvdW50ID0gcmVjb3JkLmFjY291bnQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmlxX3JlZmVyZW5jZSA9IHJlY29yZC5pcV9yZWZlcmVuY2UgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnRvdGFsID0gKyhyZWNvcmQudG90YWwgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmFtb3VudF9kdWUgPSArKHJlY29yZC5hbW91bnRfZHVlID8/IDApO1xuICAgICAgICAgICAgdGhpcy5pc19kZWJpdCA9ICEhKyhyZWNvcmQuaXNfZGViaXQgPz8gdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmlzX2NyZWRpdCA9ICEhKyhyZWNvcmQuaXNfY3JlZGl0ID8/IGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi1yZWNvcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdXNlci1hY2NvdW50L2ludGVyZmFjZXMvZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uUmVjb3JkIHtcbiAgICBkb2N1bWVudF9kYXRlOiBzdHJpbmc7XG4gICAgb3JkZXJfbnVtYmVyOiBzdHJpbmc7XG4gICAgY29tbWVudDogc3RyaW5nO1xuICAgIGFjY291bnQ6IHN0cmluZztcbiAgICBpcV9yZWZlcmVuY2U6IHN0cmluZztcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIGFtb3VudF9kdWU6IG51bWJlcjtcbiAgICBpc19kZWJpdDogYm9vbGVhbjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi1yZWNvcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdXNlci1hY2NvdW50L2ludGVyZmFjZXMvZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uUmVjb3JkIHtcbiAgICBkb2N1bWVudF9kYXRlOiBzdHJpbmc7XG4gICAgZG9jdW1lbnRfdHlwZTogc3RyaW5nO1xuICAgIG9yZGVyX251bWJlcjogc3RyaW5nO1xuICAgIGNvbW1lbnQ6IHN0cmluZztcbiAgICBhY2NvdW50OiBzdHJpbmc7XG4gICAgaXFfcmVmZXJlbmNlOiBzdHJpbmc7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBhbW91bnRfZHVlOiBudW1iZXI7XG4gICAgaXNfZGViaXQ6IGJvb2xlYW47XG4gICAgaXNfY3JlZGl0OiBib29sZWFuO1xufVxuIl19
@@ -4,12 +4,13 @@ import { EsolveManufacturer } from '../../manufacturers';
4
4
  import { EsolveRange } from '../../ranges';
5
5
  import { EsolveTag } from '../../tags';
6
6
  import { EsolveTopic } from '../../topics';
7
- import { EsolveStockBadge } from './esolve-stock-badge.model';
8
- import { EsolveStockPrice } from './esolve-stock-price.model';
9
7
  import { EsolveColour } from './esolve-colour.model';
8
+ import { EsolveStockBadge } from './esolve-stock-badge.model';
10
9
  import { EsolveStockLeadTimes } from './esolve-stock-lead-times.model';
11
- import { EsolveStockTransactionHistory } from './esolve-stock-transaction-history.model';
10
+ import { EsolveStockPrice } from './esolve-stock-price.model';
12
11
  import { EsolveStockReviewsReport } from './esolve-stock-reviews-report.model';
12
+ import { EsolveStockTransactionHistory } from './esolve-stock-transaction-history.model';
13
+ import { EsolveStockTransactionSales } from './esolve-stock-transaction-sales.model';
13
14
  export class EsolveStockItemBase {
14
15
  /**
15
16
  * Path to tiny stock image
@@ -342,6 +343,13 @@ export class EsolveStockItemBase {
342
343
  const total_quote_qty = +(record.total_quote_qty ?? 0);
343
344
  this.history = new EsolveStockTransactionHistory(total_order_qty, total_quote_qty);
344
345
  }
346
+ if (record.total_sold || record.total_sold_qty) {
347
+ const total_sold = +(record.total_sold ?? 0);
348
+ const total_sold_qty = +(record.total_sold_qty ?? 0);
349
+ const month = +(record.month ?? 0);
350
+ const year = +(record.year ?? 0);
351
+ this.sales = new EsolveStockTransactionSales(total_sold, total_sold_qty, month, year);
352
+ }
345
353
  if (record.additional_data !== undefined &&
346
354
  record.additional_data !== null) {
347
355
  this.additional_data = record.additional_data;
@@ -377,4 +385,4 @@ export class EsolveStockItemBase {
377
385
  return '';
378
386
  }
379
387
  }
380
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWJhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FLE1BQU0sT0FBTyxtQkFBbUI7SUFtUDVCOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLG1CQUFtQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxD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LEVBQ25CLE1BQU0sQ0FBQyxRQUFRLEVBQ2YsTUFBTSxDQUFDLFFBQVEsQ0FDbEIsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxQixTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDaEMsU0FBUyxFQUNULElBQUksQ0FBQyxXQUFXLEVBQ2hCLFlBQVksQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVNLFlBQVksQ0FBQyxVQUFnQztRQUNoRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBRWYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2xDLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLENBQUM7WUFFRCxPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNwRSxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVDdXN0b21GaWVsZHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvY3VzdG9tLWZpZWxkcyc7XG5pbXBvcnQgeyBFc29sdmVTZW9EZXRhaWxzLCBFc29sdmVTZW9JbmZvIH0gZnJvbSAnLi4vLi4vc2VvJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZSB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RvY2tJbWFnZVNpemUsIEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEVzb2x2ZVN0b2NrQmFzZVJlY29yZCwgRXNvbHZlU3RvY2tDYXJ0UGFyYW1ldGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tQcmljZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUNvbG91ciB9IGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay10cmFuc2FjdGlvbi1oaXN0b3J5Lm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVN0b2NrUmV2aWV3c1JlcG9ydCB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXJldmlld3MtcmVwb3J0Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzXG57XG4gICAgLyoqXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogQ29kZSB1c2VkIGJ5IHN1cHBsaWVyXG4gICAgICovXG4gICAgcHVibGljIHN1cHBsaWVyX2NvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBDb2RlIHVzZWQgYnkgdGhlIEVSUFxuICAgICAqL1xuICAgIHB1YmxpYyBlcnBfY29kZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFRoZSBiYXJjb2RlIG9mIHRoZSBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGJhcmNvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIG5hbWUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTZWFyY2ggZW5naW5lIGZyaWVuZGx5IG5hbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VmX25hbWUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTZWFyY2ggY29tcG9zaXRlIGZpZWxkIG1hZGUgdXAgb2Yga2V5IHBocmFzZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoX2NvbXBvc2l0ZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFR5cGUgZmllbGQuIEdlbmVyYWwgaGlnaCBncm91cGluZ1xuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlID0gJyc7XG4gICAgLyoqXG4gICAgICogU3ViIHR5cGUgZmllbGQuIEdlbmVyYWwgaGlnaCBncm91cGluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBzdWJfdHlwZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBGdWxsIGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZXh0ZW5kZWRfZGVzY3JpcHRpb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBBY3RpdmUgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRmVhdHVyZWQgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZmVhdHVyZWQgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBEaXNwbGF5IE9ubHkgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheV9vbmx5ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogUXVvdGFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dfcXVvdGVzID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBPcmRlcmFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dfb3JkZXJzID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBJdGVtIG11c3QgYmUgY29sbGVjdGVkLCBub3QgZGVsaXZlcnkgcG9zc2libGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbXVzdF9jb2xsZWN0ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogSXRlbSBuZWVkcyB0byBiZSBhc3NlbWJsZWQgYWZ0ZXIgcHVyY2hhc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVxdWlyZXNfYXNzZW1ibHkgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiBkZWxpdmVyeSBjYXRlZ29yeSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsaXZlcnlfY2F0ZWdvcnkgPSAncmVndWxhcl9pdGVtJztcbiAgICAvKipcbiAgICAgKiBDdXN0b20gc3RvY2sgbGFiZWwgYWRkZWQgb24gdG8gaXRlbSB0byBkaXNwbGF5IGZvciB1c2VyXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9sYWJlbCA9ICcnO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYW1vdW50X2luX3N0b2NrID0gMDtcbiAgICAvKipcbiAgICAgKiBTZXR0aW5nIHRvIGlnbm9yZSBvbmhhbmQgY2hlY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgaWdub3JlX29uaGFuZF9jaGVjayA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbGltaXRfcGVyX3RyYW5zYWN0aW9uID0gMDtcbiAgICAvKipcbiAgICAgKiBUb3RhbCBpdGVtcyBsaW5rZWQgdG8gdGhlIGl0ZW0gYXMgYSByZWNpcGVcbiAgICAgKi9cbiAgICBwdWJsaWMgdG90YWxfcmVjaXBlX2l0ZW1zID0gMDtcbiAgICAvKipcbiAgICAgKiBIZWlnaHQgbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxuICAgICAqL1xuICAgIHB1YmxpYyBoZWlnaHQgPSAwO1xuICAgIC8qKlxuICAgICAqIFdpZHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGggPSAwO1xuICAgIC8qKlxuICAgICAqIExlbmd0aCAvIGRlcHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVuZ3RoID0gMDtcbiAgICAvKipcbiAgICAgKiBXZWlnaHQgbWVhc3VyZWQgaW4ga2lsb2dyYW1zIChrZylcbiAgICAgKi9cbiAgICBwdWJsaWMgd2VpZ2h0ID0gMDtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gYSBwYWNrXG4gICAgICovXG4gICAgcHVibGljIHBhY2tfc2l6ZSA9IDA7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gb2YgdGhlIHBhY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcGFja19kZXNjcmlwdGlvbiA9ICcnO1xuICAgIC8qKlxuICAgICAqIFVuaXRzIHVzZWQgdG8gbWVhc3VyZSB0aGUgcXVhbnRpdHlcbiAgICAgKi9cbiAgICBwdWJsaWMgdW5pdF9vZl9tZWFzdXJlOiBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmUgPSAndW5pdCc7XG4gICAgLyoqXG4gICAgICogVGhlIGZhY3RvciB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcHJpY2UgcGVyIHVuaXQgb2YgbWVhc3VyZW1lbnQgKGUuZy4gcHJpY2UgcGVyIGtnKVxuICAgICAqL1xuICAgIHB1YmxpYyBwcmljaW5nX2ZhY3RvciA9IDE7XG4gICAgLyoqXG4gICAgICogSUQgb2YgZGVmYXVsdCBjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIGNhdGVnb3J5X2lkID0gJyc7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBsaW5rZWQgY2F0ZWdvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGRlZmF1bHQgc3ViY2F0ZWdvcnkgbGlua2VkIHRvIHRoZSBzdG9jayBpdGVtXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYHN1YmNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJjYXRlZ29yeV9pZCA9IDA7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBsaW5rZWQgc3ViY2F0ZWdvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGxpbmtlZCBtYW51ZmFjdHVyZXJcbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgbWFudWZhY3R1cmVyLmlkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIG1hbnVmYWN0dXJlcnNfaWQgPSAwO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCBtYW51ZmFjdHVyZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFudWZhY3R1cmVyPzogRXNvbHZlTWFudWZhY3R1cmVyO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGxpbmtlZCByYW5nZVxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGByYW5nZS5pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyByYW5nZXNfaWQgPSAwO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCByYW5nZVxuICAgICAqL1xuICAgIHB1YmxpYyByYW5nZT86IEVzb2x2ZVJhbmdlO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgcHJpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpY2U6IEVzb2x2ZVN0b2NrUHJpY2U7XG4gICAgLyoqXG4gICAgICogU2V0IGlmIHRoZSBwcmljZSBzaG91bGQgYmUgYXZhaWxhYmxlIG9yIG9uIGFwcGxpY2F0aW9uIG9ubHlcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpY2Vfb25fYXBwbGljYXRpb24gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBTRU8gcGFnZSBkZXRhaWxzXG4gICAgICovXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTZW9JbmZvO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCB0YWdzXG4gICAgICovXG4gICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdID0gW107XG4gICAgLyoqXG4gICAgICogTGlua2VkIHRvcGljc1xuICAgICAqL1xuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBiYWRnZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYmFkZ2VzOiBFc29sdmVTdG9ja0JhZGdlW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9maWVsZHM/OiBUO1xuICAgIC8qKlxuICAgICAqIFN0b2NrIGl0ZW0gY3VzdG9tIGZpZWxkcyBtZXRhZGF0YS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2FydF9wYXJhbWV0ZXJzOiBFc29sdmVTdG9ja0NhcnRQYXJhbWV0ZXJbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIENvbG91cnNcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTaXplc1xuICAgICAqL1xuICAgIHB1YmxpYyBzaXplczogc3RyaW5nW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBJdGVtIExlYWQgVGltZXMgZm9yIHN1cHBseVxuICAgICAqL1xuICAgIHB1YmxpYyBsZWFkX3RpbWVzPzogRXNvbHZlU3RvY2tMZWFkVGltZXM7XG4gICAgLyoqXG4gICAgICogVHJhbnNhY3Rpb24gaGlzdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBoaXN0b3J5PzogRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3Rvcnk7XG5cbiAgICBwdWJsaWMgdmlkZW9fZW1iZWQ/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgdGhyZWVfZF9lbWJlZD86IHN0cmluZztcblxuICAgIHB1YmxpYyBhZGRpdGlvbmFsX2RhdGE/OiBhbnk7XG5cbiAgICBwdWJsaWMgcmV2aWV3c19yZXBvcnQ/OiBFc29sdmVTdG9ja1Jldmlld3NSZXBvcnQ7XG5cbiAgICAvKipcbiAgICAgKiBJbWFnZSBmaWxlbmFtZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbmFtZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgTGFzdCBtb2RpZmllZFxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbGFzdF9tb2RpZmllZCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aW55IHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RpbnknKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGh1bWJuYWlsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RodW1iJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc21hbGxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIGJpZyBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ2JpZycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9yaWdpbmFsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ29yaWdpbmFsJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFtb3VudF9pbl9zdG9jayA+IDA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBQYXJ0aWFsPEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxUPj4gPSB7fSkge1xuICAgICAgICBsZXQgc2VvX3RpdGxlID0gJyc7XG4gICAgICAgIGxldCBzZW9fa2V5d29yZHMgPSAnJztcbiAgICAgICAgbGV0IGJhc2VfcHJpY2UgPSAwO1xuICAgICAgICBsZXQgYmFzZV9wcmljZV93aXRoX3RheCA9IDA7XG4gICAgICAgIGxldCBzZWxsX3ByaWNlID0gMDtcbiAgICAgICAgbGV0IHNlbGxfcHJpY2Vfd2l0aF90YXggPSAwO1xuXG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHJlY29yZC5jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdXBwbGllcl9jb2RlID0gcmVjb3JkLnN1cHBsaWVyX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmVycF9jb2RlID0gcmVjb3JkLmVycF9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5iYXJjb2RlID0gcmVjb3JkLmJhcmNvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaF9jb21wb3NpdGUgPSByZWNvcmQuc2VhcmNoX2NvbXBvc2l0ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJfdHlwZSA9IHJlY29yZC5zdWJfdHlwZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWQgPSByZWNvcmQuaW1hZ2VfbGFzdF9tb2RpZmllZCA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeV9pZCA9IHJlY29yZC5jYXRlZ29yeV9pZCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnlfaWQgPSArKHJlY29yZC5zdWJjYXRlZ29yeV9pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnJhbmdlc19pZCA9ICsocmVjb3JkLnJhbmdlc19pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlfY2F0ZWdvcnkgPSByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnkgPz8gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbV9sYWJlbCA9IHJlY29yZC5jdXN0b21fbGFiZWwgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMubXVzdF9jb2xsZWN0ID0gISErKHJlY29yZC5tdXN0X2NvbGxlY3QgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc19hc3NlbWJseSA9ICEhKyhyZWNvcmQucmVxdWlyZXNfYXNzZW1ibHkgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVkID0gISErKHJlY29yZC5pc19mZWF0dXJlZCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlfb25seSA9ICEhKyhyZWNvcmQuZGlzcGxheV9vbmx5ID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuYWxsb3dfcXVvdGVzID0gcmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSByZWNvcmQuYWxsb3dfb3JkZXJzID8/IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xuICAgICAgICAgICAgdGhpcy5pZ25vcmVfb25oYW5kX2NoZWNrID0gISErKHJlY29yZC5pZ25vcmVfb25oYW5kX2NoZWNrID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMubGltaXRfcGVyX3RyYW5zYWN0aW9uID0gKyhyZWNvcmQubGltaXRfcGVyX3RyYW5zYWN0aW9uID8/IDApO1xuICAgICAgICAgICAgdGhpcy50b3RhbF9yZWNpcGVfaXRlbXMgPSArKHJlY29yZC50b3RhbF9yZWNpcGVfaXRlbXMgPz8gMCk7XG5cbiAgICAgICAgICAgIHRoaXMucGFja19zaXplID0gKyhyZWNvcmQuaXRlbXNfaW5fcGFjayA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucGFja19kZXNjcmlwdGlvbiA9IHJlY29yZC5wYWNrX2Rlc2NyaXB0aW9uID8/ICcnO1xuXG4gICAgICAgICAgICB0aGlzLmhlaWdodCA9ICsocmVjb3JkLmhlaWdodCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSArKHJlY29yZC53aWR0aCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoID0gKyhyZWNvcmQubGVuZ3RoID8/IDApO1xuICAgICAgICAgICAgdGhpcy53ZWlnaHQgPSArKHJlY29yZC53ZWlnaHQgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudW5pdF9vZl9tZWFzdXJlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bml0X29mX21lYXN1cmUgPSByZWNvcmQudW5pdF9vZl9tZWFzdXJlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnByaWNpbmdfZmFjdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmljaW5nX2ZhY3RvciA9ICtyZWNvcmQucHJpY2luZ19mYWN0b3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXggPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudGFncyAmJiByZWNvcmQudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudG9waWNzICYmIHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5iYWRnZXMgJiYgcmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFkZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXNvbHZlU3RvY2tCYWRnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmJhZGdlX2NvbG91cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmltYWdlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY29sb3VycyAmJiByZWNvcmQuY29sb3Vycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc2l6ZXMgJiYgcmVjb3JkLnNpemVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNpemUgb2YgcmVjb3JkLnNpemVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l6ZXMucHVzaChzaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQubGVhZF90aW1lcykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhcnRfcGFyYW1ldGVycykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydF9wYXJhbWV0ZXJzID0gcmVjb3JkLmNhcnRfcGFyYW1ldGVycztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC50b3RhbF9vcmRlcl9xdHkgfHwgcmVjb3JkLnRvdGFsX3F1b3RlX3F0eSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX29yZGVyX3F0eSA9ICsocmVjb3JkLnRvdGFsX29yZGVyX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbF9xdW90ZV9xdHkgPSArKHJlY29yZC50b3RhbF9xdW90ZV9xdHkgPz8gMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5ID0gbmV3IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25IaXN0b3J5KFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9vcmRlcl9xdHksXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3F1b3RlX3F0eSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcmVjb3JkLmFkZGl0aW9uYWxfZGF0YSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgcmVjb3JkLmFkZGl0aW9uYWxfZGF0YSAhPT0gbnVsbFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsX2RhdGEgPSByZWNvcmQuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnJldmlld3NfcmVwb3J0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXZpZXdzX3JlcG9ydCA9IG5ldyBFc29sdmVTdG9ja1Jldmlld3NSZXBvcnQoXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5yZXZpZXdzX3JlcG9ydCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZpZGVvX2VtYmVkID0gcmVjb3JkLnZpZGVvX2VtYmVkO1xuICAgICAgICAgICAgdGhpcy50aHJlZV9kX2VtYmVkID0gcmVjb3JkLnRocmVlX2RfZW1iZWQ7XG5cbiAgICAgICAgICAgIHNlb190aXRsZSA9IHJlY29yZC5zZW9fcGFnZV90aXRsZSA/PyAnJztcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaWNlX29uX2FwcGxpY2F0aW9uID0gISErKHJlY29yZC5lbmFibGVfcG9hID8/IGZhbHNlKTtcblxuICAgICAgICBpZiAodGhpcy5wcmljZV9vbl9hcHBsaWNhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5wcmljZSA9IG5ldyBFc29sdmVTdG9ja1ByaWNlKFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXG4gICAgICAgICAgICAgICAgYmFzZV9wcmljZSxcbiAgICAgICAgICAgICAgICBiYXNlX3ByaWNlX3dpdGhfdGF4LFxuICAgICAgICAgICAgICAgIHNlbGxfcHJpY2UsXG4gICAgICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCxcbiAgICAgICAgICAgICAgICByZWNvcmQudmF0X3JhdGUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHBhcmFtID0gYD90PSR7dGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfSR7cGFyYW19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
388
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWJhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXJGLE1BQU0sT0FBTyxtQkFBbUI7SUF3UDVCOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFX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QyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLENBQUM7WUFFRCxPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNwRSxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTZW9EZXRhaWxzLCBFc29sdmVTZW9JbmZvIH0gZnJvbSAnLi4vLi4vc2VvJztcbmltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZSB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYXNlUmVjb3JkLCBFc29sdmVTdG9ja0NhcnRQYXJhbWV0ZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVzb2x2ZVN0b2NrSW1hZ2VTaXplLCBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBFc29sdmVDb2xvdXIgfSBmcm9tICcuL2Vzb2x2ZS1jb2xvdXIubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYWRnZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWJhZGdlLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVN0b2NrTGVhZFRpbWVzIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stbGVhZC10aW1lcy5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja1ByaWNlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stcHJpY2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tSZXZpZXdzUmVwb3J0IH0gZnJvbSAnLi9lc29sdmUtc3RvY2stcmV2aWV3cy1yZXBvcnQubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay10cmFuc2FjdGlvbi1oaXN0b3J5Lm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25TYWxlcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXRyYW5zYWN0aW9uLXNhbGVzLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzXG57XG4gICAgLyoqXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogQ29kZSB1c2VkIGJ5IHN1cHBsaWVyXG4gICAgICovXG4gICAgcHVibGljIHN1cHBsaWVyX2NvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBDb2RlIHVzZWQgYnkgdGhlIEVSUFxuICAgICAqL1xuICAgIHB1YmxpYyBlcnBfY29kZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFRoZSBiYXJjb2RlIG9mIHRoZSBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGJhcmNvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIG5hbWUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTZWFyY2ggZW5naW5lIGZyaWVuZGx5IG5hbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VmX25hbWUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTZWFyY2ggY29tcG9zaXRlIGZpZWxkIG1hZGUgdXAgb2Yga2V5IHBocmFzZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoX2NvbXBvc2l0ZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFR5cGUgZmllbGQuIEdlbmVyYWwgaGlnaCBncm91cGluZ1xuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlID0gJyc7XG4gICAgLyoqXG4gICAgICogU3ViIHR5cGUgZmllbGQuIEdlbmVyYWwgaGlnaCBncm91cGluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBzdWJfdHlwZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBGdWxsIGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZXh0ZW5kZWRfZGVzY3JpcHRpb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBBY3RpdmUgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRmVhdHVyZWQgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZmVhdHVyZWQgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBEaXNwbGF5IE9ubHkgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheV9vbmx5ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogUXVvdGFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dfcXVvdGVzID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBPcmRlcmFibGUgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dfb3JkZXJzID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBJdGVtIG11c3QgYmUgY29sbGVjdGVkLCBub3QgZGVsaXZlcnkgcG9zc2libGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbXVzdF9jb2xsZWN0ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogSXRlbSBuZWVkcyB0byBiZSBhc3NlbWJsZWQgYWZ0ZXIgcHVyY2hhc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVxdWlyZXNfYXNzZW1ibHkgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiBkZWxpdmVyeSBjYXRlZ29yeSBhc3NvY2lhdGVkIHdpdGggdGhlIGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsaXZlcnlfY2F0ZWdvcnkgPSAncmVndWxhcl9pdGVtJztcbiAgICAvKipcbiAgICAgKiBDdXN0b20gc3RvY2sgbGFiZWwgYWRkZWQgb24gdG8gaXRlbSB0byBkaXNwbGF5IGZvciB1c2VyXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9sYWJlbCA9ICcnO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYW1vdW50X2luX3N0b2NrID0gMDtcbiAgICAvKipcbiAgICAgKiBTZXR0aW5nIHRvIGlnbm9yZSBvbmhhbmQgY2hlY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgaWdub3JlX29uaGFuZF9jaGVjayA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbGltaXRfcGVyX3RyYW5zYWN0aW9uID0gMDtcbiAgICAvKipcbiAgICAgKiBUb3RhbCBpdGVtcyBsaW5rZWQgdG8gdGhlIGl0ZW0gYXMgYSByZWNpcGVcbiAgICAgKi9cbiAgICBwdWJsaWMgdG90YWxfcmVjaXBlX2l0ZW1zID0gMDtcbiAgICAvKipcbiAgICAgKiBIZWlnaHQgbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxuICAgICAqL1xuICAgIHB1YmxpYyBoZWlnaHQgPSAwO1xuICAgIC8qKlxuICAgICAqIFdpZHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGggPSAwO1xuICAgIC8qKlxuICAgICAqIExlbmd0aCAvIGRlcHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVuZ3RoID0gMDtcbiAgICAvKipcbiAgICAgKiBXZWlnaHQgbWVhc3VyZWQgaW4ga2lsb2dyYW1zIChrZylcbiAgICAgKi9cbiAgICBwdWJsaWMgd2VpZ2h0ID0gMDtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gYSBwYWNrXG4gICAgICovXG4gICAgcHVibGljIHBhY2tfc2l6ZSA9IDA7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gb2YgdGhlIHBhY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcGFja19kZXNjcmlwdGlvbiA9ICcnO1xuICAgIC8qKlxuICAgICAqIFVuaXRzIHVzZWQgdG8gbWVhc3VyZSB0aGUgcXVhbnRpdHlcbiAgICAgKi9cbiAgICBwdWJsaWMgdW5pdF9vZl9tZWFzdXJlOiBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmUgPSAndW5pdCc7XG4gICAgLyoqXG4gICAgICogVGhlIGZhY3RvciB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcHJpY2UgcGVyIHVuaXQgb2YgbWVhc3VyZW1lbnQgKGUuZy4gcHJpY2UgcGVyIGtnKVxuICAgICAqL1xuICAgIHB1YmxpYyBwcmljaW5nX2ZhY3RvciA9IDE7XG4gICAgLyoqXG4gICAgICogSUQgb2YgZGVmYXVsdCBjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIGNhdGVnb3J5X2lkID0gJyc7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBsaW5rZWQgY2F0ZWdvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGRlZmF1bHQgc3ViY2F0ZWdvcnkgbGlua2VkIHRvIHRoZSBzdG9jayBpdGVtXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYHN1YmNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJjYXRlZ29yeV9pZCA9IDA7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBsaW5rZWQgc3ViY2F0ZWdvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGxpbmtlZCBtYW51ZmFjdHVyZXJcbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgbWFudWZhY3R1cmVyLmlkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIG1hbnVmYWN0dXJlcnNfaWQgPSAwO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCBtYW51ZmFjdHVyZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFudWZhY3R1cmVyPzogRXNvbHZlTWFudWZhY3R1cmVyO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGxpbmtlZCByYW5nZVxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGByYW5nZS5pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyByYW5nZXNfaWQgPSAwO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCByYW5nZVxuICAgICAqL1xuICAgIHB1YmxpYyByYW5nZT86IEVzb2x2ZVJhbmdlO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgcHJpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpY2U6IEVzb2x2ZVN0b2NrUHJpY2U7XG4gICAgLyoqXG4gICAgICogU2V0IGlmIHRoZSBwcmljZSBzaG91bGQgYmUgYXZhaWxhYmxlIG9yIG9uIGFwcGxpY2F0aW9uIG9ubHlcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpY2Vfb25fYXBwbGljYXRpb24gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBTRU8gcGFnZSBkZXRhaWxzXG4gICAgICovXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTZW9JbmZvO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCB0YWdzXG4gICAgICovXG4gICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdID0gW107XG4gICAgLyoqXG4gICAgICogTGlua2VkIHRvcGljc1xuICAgICAqL1xuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBiYWRnZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYmFkZ2VzOiBFc29sdmVTdG9ja0JhZGdlW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9maWVsZHM/OiBUO1xuICAgIC8qKlxuICAgICAqIFN0b2NrIGl0ZW0gY3VzdG9tIGZpZWxkcyBtZXRhZGF0YS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2FydF9wYXJhbWV0ZXJzOiBFc29sdmVTdG9ja0NhcnRQYXJhbWV0ZXJbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIENvbG91cnNcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTaXplc1xuICAgICAqL1xuICAgIHB1YmxpYyBzaXplczogc3RyaW5nW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBJdGVtIExlYWQgVGltZXMgZm9yIHN1cHBseVxuICAgICAqL1xuICAgIHB1YmxpYyBsZWFkX3RpbWVzPzogRXNvbHZlU3RvY2tMZWFkVGltZXM7XG4gICAgLyoqXG4gICAgICogVHJhbnNhY3Rpb24gaGlzdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBoaXN0b3J5PzogRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3Rvcnk7XG5cbiAgICAvKipcbiAgICAgKiBFcnAgU2FsZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2FsZXM/OiBFc29sdmVTdG9ja1RyYW5zYWN0aW9uU2FsZXM7XG5cbiAgICBwdWJsaWMgdmlkZW9fZW1iZWQ/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgdGhyZWVfZF9lbWJlZD86IHN0cmluZztcblxuICAgIHB1YmxpYyBhZGRpdGlvbmFsX2RhdGE/OiBhbnk7XG5cbiAgICBwdWJsaWMgcmV2aWV3c19yZXBvcnQ/OiBFc29sdmVTdG9ja1Jldmlld3NSZXBvcnQ7XG5cbiAgICAvKipcbiAgICAgKiBJbWFnZSBmaWxlbmFtZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbmFtZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgTGFzdCBtb2RpZmllZFxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbGFzdF9tb2RpZmllZCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aW55IHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RpbnknKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGh1bWJuYWlsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RodW1iJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc21hbGxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIGJpZyBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ2JpZycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9yaWdpbmFsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ29yaWdpbmFsJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFtb3VudF9pbl9zdG9jayA+IDA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBQYXJ0aWFsPEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxUPj4gPSB7fSkge1xuICAgICAgICBsZXQgc2VvX3RpdGxlID0gJyc7XG4gICAgICAgIGxldCBzZW9fa2V5d29yZHMgPSAnJztcbiAgICAgICAgbGV0IGJhc2VfcHJpY2UgPSAwO1xuICAgICAgICBsZXQgYmFzZV9wcmljZV93aXRoX3RheCA9IDA7XG4gICAgICAgIGxldCBzZWxsX3ByaWNlID0gMDtcbiAgICAgICAgbGV0IHNlbGxfcHJpY2Vfd2l0aF90YXggPSAwO1xuXG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHJlY29yZC5jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdXBwbGllcl9jb2RlID0gcmVjb3JkLnN1cHBsaWVyX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmVycF9jb2RlID0gcmVjb3JkLmVycF9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5iYXJjb2RlID0gcmVjb3JkLmJhcmNvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaF9jb21wb3NpdGUgPSByZWNvcmQuc2VhcmNoX2NvbXBvc2l0ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJfdHlwZSA9IHJlY29yZC5zdWJfdHlwZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWQgPSByZWNvcmQuaW1hZ2VfbGFzdF9tb2RpZmllZCA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeV9pZCA9IHJlY29yZC5jYXRlZ29yeV9pZCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnlfaWQgPSArKHJlY29yZC5zdWJjYXRlZ29yeV9pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnJhbmdlc19pZCA9ICsocmVjb3JkLnJhbmdlc19pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlfY2F0ZWdvcnkgPSByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnkgPz8gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbV9sYWJlbCA9IHJlY29yZC5jdXN0b21fbGFiZWwgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMubXVzdF9jb2xsZWN0ID0gISErKHJlY29yZC5tdXN0X2NvbGxlY3QgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc19hc3NlbWJseSA9ICEhKyhyZWNvcmQucmVxdWlyZXNfYXNzZW1ibHkgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVkID0gISErKHJlY29yZC5pc19mZWF0dXJlZCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlfb25seSA9ICEhKyhyZWNvcmQuZGlzcGxheV9vbmx5ID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuYWxsb3dfcXVvdGVzID0gcmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSByZWNvcmQuYWxsb3dfb3JkZXJzID8/IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xuICAgICAgICAgICAgdGhpcy5pZ25vcmVfb25oYW5kX2NoZWNrID0gISErKHJlY29yZC5pZ25vcmVfb25oYW5kX2NoZWNrID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMubGltaXRfcGVyX3RyYW5zYWN0aW9uID0gKyhyZWNvcmQubGltaXRfcGVyX3RyYW5zYWN0aW9uID8/IDApO1xuICAgICAgICAgICAgdGhpcy50b3RhbF9yZWNpcGVfaXRlbXMgPSArKHJlY29yZC50b3RhbF9yZWNpcGVfaXRlbXMgPz8gMCk7XG5cbiAgICAgICAgICAgIHRoaXMucGFja19zaXplID0gKyhyZWNvcmQuaXRlbXNfaW5fcGFjayA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucGFja19kZXNjcmlwdGlvbiA9IHJlY29yZC5wYWNrX2Rlc2NyaXB0aW9uID8/ICcnO1xuXG4gICAgICAgICAgICB0aGlzLmhlaWdodCA9ICsocmVjb3JkLmhlaWdodCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSArKHJlY29yZC53aWR0aCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoID0gKyhyZWNvcmQubGVuZ3RoID8/IDApO1xuICAgICAgICAgICAgdGhpcy53ZWlnaHQgPSArKHJlY29yZC53ZWlnaHQgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudW5pdF9vZl9tZWFzdXJlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bml0X29mX21lYXN1cmUgPSByZWNvcmQudW5pdF9vZl9tZWFzdXJlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnByaWNpbmdfZmFjdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmljaW5nX2ZhY3RvciA9ICtyZWNvcmQucHJpY2luZ19mYWN0b3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXggPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudGFncyAmJiByZWNvcmQudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudG9waWNzICYmIHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5iYWRnZXMgJiYgcmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFkZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXNvbHZlU3RvY2tCYWRnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmJhZGdlX2NvbG91cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmltYWdlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY29sb3VycyAmJiByZWNvcmQuY29sb3Vycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc2l6ZXMgJiYgcmVjb3JkLnNpemVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNpemUgb2YgcmVjb3JkLnNpemVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l6ZXMucHVzaChzaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQubGVhZF90aW1lcykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhcnRfcGFyYW1ldGVycykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydF9wYXJhbWV0ZXJzID0gcmVjb3JkLmNhcnRfcGFyYW1ldGVycztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC50b3RhbF9vcmRlcl9xdHkgfHwgcmVjb3JkLnRvdGFsX3F1b3RlX3F0eSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX29yZGVyX3F0eSA9ICsocmVjb3JkLnRvdGFsX29yZGVyX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbF9xdW90ZV9xdHkgPSArKHJlY29yZC50b3RhbF9xdW90ZV9xdHkgPz8gMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5ID0gbmV3IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25IaXN0b3J5KFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9vcmRlcl9xdHksXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3F1b3RlX3F0eSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnRvdGFsX3NvbGQgfHwgcmVjb3JkLnRvdGFsX3NvbGRfcXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxfc29sZCA9ICsocmVjb3JkLnRvdGFsX3NvbGQgPz8gMCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxfc29sZF9xdHkgPSArKHJlY29yZC50b3RhbF9zb2xkX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtb250aCA9ICsocmVjb3JkLm1vbnRoID8/IDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHllYXIgPSArKHJlY29yZC55ZWFyID8/IDApO1xuICAgICAgICAgICAgICAgIHRoaXMuc2FsZXMgPSBuZXcgRXNvbHZlU3RvY2tUcmFuc2FjdGlvblNhbGVzKFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9zb2xkLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9zb2xkX3F0eSxcbiAgICAgICAgICAgICAgICAgICAgbW9udGgsXG4gICAgICAgICAgICAgICAgICAgIHllYXIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHJlY29yZC5hZGRpdGlvbmFsX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgIHJlY29yZC5hZGRpdGlvbmFsX2RhdGEgIT09IG51bGxcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbF9kYXRhID0gcmVjb3JkLmFkZGl0aW9uYWxfZGF0YTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5yZXZpZXdzX3JlcG9ydCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmV2aWV3c19yZXBvcnQgPSBuZXcgRXNvbHZlU3RvY2tSZXZpZXdzUmVwb3J0KFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucmV2aWV3c19yZXBvcnQsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52aWRlb19lbWJlZCA9IHJlY29yZC52aWRlb19lbWJlZDtcbiAgICAgICAgICAgIHRoaXMudGhyZWVfZF9lbWJlZCA9IHJlY29yZC50aHJlZV9kX2VtYmVkO1xuXG4gICAgICAgICAgICBzZW9fdGl0bGUgPSByZWNvcmQuc2VvX3BhZ2VfdGl0bGUgPz8gJyc7XG4gICAgICAgICAgICBzZW9fa2V5d29yZHMgPSByZWNvcmQuc2VvX2tleXdvcmRzID8/ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmljZV9vbl9hcHBsaWNhdGlvbiA9ICEhKyhyZWNvcmQuZW5hYmxlX3BvYSA/PyBmYWxzZSk7XG5cbiAgICAgICAgaWYgKHRoaXMucHJpY2Vfb25fYXBwbGljYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucHJpY2UgPSBuZXcgRXNvbHZlU3RvY2tQcmljZSgwLCAwLCAwLCAwLCAwLCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXG4gICAgICAgICAgICAgICAgYmFzZV9wcmljZSxcbiAgICAgICAgICAgICAgICBiYXNlX3ByaWNlX3dpdGhfdGF4LFxuICAgICAgICAgICAgICAgIHNlbGxfcHJpY2UsXG4gICAgICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCxcbiAgICAgICAgICAgICAgICByZWNvcmQudmF0X3JhdGUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHBhcmFtID0gYD90PSR7dGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfSR7cGFyYW19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export class EsolveStockTransactionSales {
2
+ constructor(total = 0, qty = 0, month = 0, year = 0) {
3
+ this.total = total;
4
+ this.qty = qty;
5
+ this.month = month;
6
+ this.year = year;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLXRyYW5zYWN0aW9uLXNhbGVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3N0b2NrL2NsYXNzZXMvZXNvbHZlLXN0b2NrLXRyYW5zYWN0aW9uLXNhbGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsWUFDVyxRQUFRLENBQUMsRUFDVCxNQUFNLENBQUMsRUFDUCxRQUFRLENBQUMsRUFDVCxPQUFPLENBQUM7UUFIUixVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsUUFBRyxHQUFILEdBQUcsQ0FBSTtRQUNQLFVBQUssR0FBTCxLQUFLLENBQUk7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFJO0lBQ2hCLENBQUM7Q0FDUCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFc29sdmVTdG9ja1RyYW5zYWN0aW9uU2FsZXMge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdG90YWwgPSAwLFxuICAgICAgICBwdWJsaWMgcXR5ID0gMCxcbiAgICAgICAgcHVibGljIG1vbnRoID0gMCxcbiAgICAgICAgcHVibGljIHllYXIgPSAwLFxuICAgICkge31cbn1cbiJdfQ==
@@ -1,21 +1,22 @@
1
1
  // Classes
2
+ export * from './esolve-additional-stock-image.model';
2
3
  export * from './esolve-colour.model';
3
- export * from './esolve-stock-item.model';
4
- export * from './esolve-stock-price.model';
4
+ export * from './esolve-dependant-item.model';
5
+ export * from './esolve-linked-stock-item.model';
6
+ export * from './esolve-media-stock-item.model';
7
+ export * from './esolve-recipe-stock-item.model';
8
+ export * from './esolve-set-notify-result.model';
5
9
  export * from './esolve-stock-badge.model';
10
+ export * from './esolve-stock-group-item.model';
6
11
  export * from './esolve-stock-group.model';
12
+ export * from './esolve-stock-image-collection.model';
13
+ export * from './esolve-stock-image.model';
7
14
  export * from './esolve-stock-item-base.model';
8
15
  export * from './esolve-stock-item-list.model';
9
- export * from './esolve-stock-group-item.model';
10
- export * from './esolve-recipe-stock-item.model';
11
- export * from './esolve-linked-stock-item.model';
12
- export * from './esolve-dependant-item.model';
16
+ export * from './esolve-stock-item.model';
13
17
  export * from './esolve-stock-lead-times.model';
14
- export * from './esolve-media-stock-item.model';
15
- export * from './esolve-stock-image.model';
16
- export * from './esolve-stock-image-collection.model';
17
- export * from './esolve-additional-stock-image.model';
18
- export * from './esolve-set-notify-result.model';
18
+ export * from './esolve-stock-price.model';
19
19
  export * from './esolve-stock-reviews-report.model';
20
+ export * from './esolve-stock-transaction-sales.model';
20
21
  export * from './esolve-suggested-stock-item.model';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svY2xhc3Nlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENsYXNzZXNcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zdG9jay1pdGVtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWJhZGdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWdyb3VwLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zdG9jay1pdGVtLWxpc3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2stZ3JvdXAtaXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1yZWNpcGUtc3RvY2staXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1saW5rZWQtc3RvY2staXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1kZXBlbmRhbnQtaXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zdG9jay1sZWFkLXRpbWVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLW1lZGlhLXN0b2NrLWl0ZW0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2staW1hZ2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2staW1hZ2UtY29sbGVjdGlvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1hZGRpdGlvbmFsLXN0b2NrLWltYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXNldC1ub3RpZnktcmVzdWx0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLXJldmlld3MtcmVwb3J0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN1Z2dlc3RlZC1zdG9jay1pdGVtLm1vZGVsJztcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svY2xhc3Nlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2xhc3Nlc1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtYWRkaXRpb25hbC1zdG9jay1pbWFnZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1jb2xvdXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtZGVwZW5kYW50LWl0ZW0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbGlua2VkLXN0b2NrLWl0ZW0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtc3RvY2staXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1yZWNpcGUtc3RvY2staXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zZXQtbm90aWZ5LXJlc3VsdC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zdG9jay1iYWRnZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zdG9jay1ncm91cC1pdGVtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWdyb3VwLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWltYWdlLWNvbGxlY3Rpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2staW1hZ2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2staXRlbS1iYXNlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWl0ZW0tbGlzdC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zdG9jay1pdGVtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2stcHJpY2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2stcmV2aWV3cy1yZXBvcnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3RvY2stdHJhbnNhY3Rpb24tc2FsZXMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc3VnZ2VzdGVkLXN0b2NrLWl0ZW0ubW9kZWwnO1xuIl19