nuxeo-development-framework 6.1.5 → 6.1.7

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 (39) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +688 -1009
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +7 -5
  4. package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +9 -9
  5. package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
  6. package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +9 -4
  7. package/esm2015/lib/components/ndf-filters/pipes/evaluate-label.pipe.js +3 -3
  8. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +2 -1
  9. package/esm2015/lib/components/pdf-tron/pdftron/silent-pdftron.service.js +2 -1
  10. package/esm2015/lib/components/reports/ndf-reports/models/details.js +1 -1
  11. package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
  12. package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +3 -3
  13. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +28 -15
  14. package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +3 -3
  15. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +1 -1
  16. package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +4 -4
  17. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
  18. package/esm2015/lib/shared/index.js +5 -6
  19. package/esm2015/lib/shared-services/global-pdftron.service.js +2 -1
  20. package/esm2015/public-api.js +12 -13
  21. package/fesm2015/nuxeo-development-framework.js +644 -938
  22. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  23. package/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +1 -2
  24. package/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.d.ts +3 -3
  25. package/lib/components/ndf-filters/models/base-field-config.d.ts +1 -1
  26. package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +1 -2
  27. package/lib/components/reports/ndf-reports/models/details.d.ts +1 -1
  28. package/lib/components/reports/ndf-reports/models/graph-definition.d.ts +2 -2
  29. package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +2 -2
  30. package/lib/components/tables/ndf-table/models/table-config.d.ts +1 -1
  31. package/lib/shared/index.d.ts +7 -5
  32. package/package.json +1 -1
  33. package/public-api.d.ts +11 -12
  34. package/esm2015/lib/shared/evaluator/evaluator.js +0 -318
  35. package/esm2015/lib/shared/evaluator/index.js +0 -3
  36. package/esm2015/lib/shared/evaluator/types.js +0 -2
  37. package/lib/shared/evaluator/evaluator.d.ts +0 -79
  38. package/lib/shared/evaluator/index.d.ts +0 -2
  39. package/lib/shared/evaluator/types.d.ts +0 -18
@@ -1,11 +1,11 @@
1
1
  import { __rest } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
+ import { Utils } from 'formiojs';
4
+ import _ from 'lodash';
3
5
  import { ChartUtils } from '../../charts';
4
- import { getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getVerticalBarOptions } from '../options';
5
- import { replaceDatasetColors } from '../utilities';
6
6
  import { getCssColors } from '../../charts/utility';
7
- import { Evaluator } from '../../../../shared';
8
- import _ from 'lodash';
7
+ import { getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getVerticalBarOptions, } from '../options';
8
+ import { replaceDatasetColors } from '../utilities';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "./chart-plugins-registry.service";
11
11
  import * as i2 from "./chart-callbacks-register.services";
@@ -28,22 +28,35 @@ export class ReportConfigMapperService {
28
28
  type: 'bar',
29
29
  options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
30
30
  direction: 'vertical',
31
- callbacks
31
+ callbacks,
32
32
  }),
33
33
  horizontalBar: this._getChartOptions({
34
34
  type: 'bar',
35
35
  options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
36
36
  direction: 'horizontal',
37
- callbacks
37
+ callbacks,
38
38
  }),
39
39
  doughnut: this._getChartOptions({
40
40
  type: 'doughnut',
41
41
  options: overrides === null || overrides === void 0 ? void 0 : overrides.doughnut,
42
- callbacks
42
+ callbacks,
43
+ }),
44
+ line: this._getChartOptions({
45
+ type: 'line',
46
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.line,
47
+ callbacks,
48
+ }),
49
+ pie: this._getChartOptions({
50
+ type: 'pie',
51
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.pie,
52
+ callbacks,
43
53
  }),
44
- line: this._getChartOptions({ type: 'line', options: overrides === null || overrides === void 0 ? void 0 : overrides.line, callbacks }),
45
- pie: this._getChartOptions({ type: 'pie', options: overrides === null || overrides === void 0 ? void 0 : overrides.pie, callbacks })
46
- }, options: this._getChartOptions({ type: config.chart.type, options, direction, callbacks }) });
54
+ }, options: this._getChartOptions({
55
+ type: config.chart.type,
56
+ options,
57
+ direction,
58
+ callbacks,
59
+ }) });
47
60
  if (Array.isArray(plugins) && plugins.length > 0) {
48
61
  chart.plugins = this._preparePlugins(plugins);
49
62
  }
@@ -98,14 +111,14 @@ export class ReportConfigMapperService {
98
111
  return acc;
99
112
  }, []);
100
113
  }
101
- _getChartOptions({ type, options, direction = 'horizontal', callbacks }) {
114
+ _getChartOptions({ type, options, direction = 'horizontal', callbacks, }) {
102
115
  var _a;
103
116
  const _optionsMap = {
104
117
  verticalBar: getVerticalBarOptions,
105
118
  horizontalBar: getHorizontalBarOptions,
106
119
  doughnut: getDoughnutOptions,
107
120
  line: getLineOptions,
108
- pie: getPieOptions
121
+ pie: getPieOptions,
109
122
  };
110
123
  const key = type === 'bar' ? `${direction}Bar` : type;
111
124
  const _options = ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
@@ -127,7 +140,7 @@ export class ReportConfigMapperService {
127
140
  .filter((call) => !!call.path && !!call.callback)
128
141
  .forEach((callback) => {
129
142
  try {
130
- const fn = Evaluator.evaluate(callback.callback, {
143
+ const fn = Utils.evaluate(callback.callback, {
131
144
  type,
132
145
  translate: this._translateService,
133
146
  register: this._chartPluginsCallbacks,
@@ -146,7 +159,7 @@ ReportConfigMapperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.
146
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, decorators: [{
147
160
  type: Injectable,
148
161
  args: [{
149
- providedIn: 'root'
162
+ providedIn: 'root',
150
163
  }]
151
164
  }], ctorParameters: function () { return [{ type: i1.ChartPluginsRegistry }, { type: i2.ChartCallbacksRegisterService }, { type: i3.TranslateService }]; } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9yZXBvcnQtY29uZmlnLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0IzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFNdkIsTUFBTSxPQUFPLHlCQUF5QjtJQUNyQyxZQUNrQixxQkFBMkMsRUFDM0Msc0JBQXFELEVBQ3JELGlCQUFvQztRQUZwQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBK0I7UUFDckQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUNuRCxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLE1BQTRCO1FBQzlDLE1BQU0sS0FBeUUsTUFBTSxDQUFDLEtBQUssRUFBckYsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsT0FBMEIs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O29CQUNuQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUMvQjthQUNEO1lBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt1SEFqTFcseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGekIsTUFBTTs0RkFFTix5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdENhbGxiYWNrRGVmaW5pdGlvbixcclxuXHRDdXN0b21DaGFydCxcclxuXHRDdXN0b21DaGFydERlZmluaXRpb24sXHJcblx0RGlnaXRDaGFydCxcclxuXHREaWdpdENoYXJ0RGVmaW5pdGlvbixcclxuXHREeW5hbWljTGluZUNoYXJ0LFxyXG5cdER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLFxyXG5cdER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zLFxyXG5cdEdyYXBoQ2hhcnQsXHJcblx0R3JhcGhDaGFydERlZmluaXRpb24sXHJcblx0R3JhcGhDaGFydE9wdGlvbnNcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDaGFydFBsdWdpbnNSZWdpc3RyeSB9IGZyb20gJy4vY2hhcnQtcGx1Z2lucy1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBDaGFydFR5cGUsIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgQ2hhcnRVdGlscyB9IGZyb20gJy4uLy4uL2NoYXJ0cyc7XHJcbmltcG9ydCB7XHJcblx0Z2V0RG91Z2hudXRPcHRpb25zLFxyXG5cdGdldEhvcml6b250YWxCYXJPcHRpb25zLFxyXG5cdGdldExpbmVPcHRpb25zLFxyXG5cdGdldFBpZU9wdGlvbnMsXHJcblx0Z2V0VmVydGljYWxCYXJPcHRpb25zXHJcbn0gZnJvbSAnLi4vb3B0aW9ucyc7XHJcbmltcG9ydCB7IHJlcGxhY2VEYXRhc2V0Q29sb3JzIH0gZnJvbSAnLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgZ2V0Q3NzQ29sb3JzIH0gZnJvbSAnLi4vLi4vY2hhcnRzL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBDYWxsYmFjaywgQ2hhcnRDYWxsYmFja3NSZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuL2NoYXJ0LWNhbGxiYWNrcy1yZWdpc3Rlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEV2YWx1YXRvciB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydENvbmZpZ01hcHBlclNlcnZpY2Uge1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zUmVnaXN0cnk6IENoYXJ0UGx1Z2luc1JlZ2lzdHJ5LFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zQ2FsbGJhY2tzOiBDaGFydENhbGxiYWNrc1JlZ2lzdGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGdyYXBoIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIGNvbmZpZyBUaGUgZ3JhcGggY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBncmFwaCBjaGFydCB3aXRoIHBsdWdpbiBvYmplY3RzXHJcblx0ICovXHJcblx0cHJlcGFyZUdyYXBoQ29uZmlnKGNvbmZpZzogR3JhcGhDaGFydERlZmluaXRpb24pOiBHcmFwaENoYXJ0IHtcclxuXHRcdGNvbnN0IHsgcGx1Z2lucywgY2FsbGJhY2tzLCBjb2xvcnMsIG9wdGlvbnMsIGRpcmVjdGlvbiwgb3ZlcnJpZGVzLCAuLi5yZXN0IH0gPSBjb25maWcuY2hhcnQ7XHJcblxyXG5cdFx0Y29uc3QgY2hhcnQ6IEdyYXBoQ2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHQuLi5yZXN0LFxyXG5cdFx0XHRvdmVycmlkZXM6IHtcclxuXHRcdFx0XHR2ZXJ0aWNhbEJhcjogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuXHRcdFx0XHRcdHR5cGU6ICdiYXInLFxyXG5cdFx0XHRcdFx0b3B0aW9uczogb3ZlcnJpZGVzPy52ZXJ0aWNhbEJhcixcclxuXHRcdFx0XHRcdGRpcmVjdGlvbjogJ3ZlcnRpY2FsJyxcclxuXHRcdFx0XHRcdGNhbGxiYWNrc1xyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGhvcml6b250YWxCYXI6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7XHJcblx0XHRcdFx0XHR0eXBlOiAnYmFyJyxcclxuXHRcdFx0XHRcdG9wdGlvbnM6IG92ZXJyaWRlcz8udmVydGljYWxCYXIsXHJcblx0XHRcdFx0XHRkaXJlY3Rpb246ICdob3Jpem9udGFsJyxcclxuXHRcdFx0XHRcdGNhbGxiYWNrc1xyXG5cdFx0XHRcdH0pLFxyXG5cclxuXHRcdFx0XHRkb3VnaG51dDogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuXHRcdFx0XHRcdHR5cGU6ICdkb3VnaG51dCcsXHJcblx0XHRcdFx0XHRvcHRpb25zOiBvdmVycmlkZXM/LmRvdWdobnV0LFxyXG5cdFx0XHRcdFx0Y2FsbGJhY2tzXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0bGluZTogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHsgdHlwZTogJ2xpbmUnLCBvcHRpb25zOiBvdmVycmlkZXM/LmxpbmUsIGNhbGxiYWNrcyB9KSxcclxuXHRcdFx0XHRwaWU6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7IHR5cGU6ICdwaWUnLCBvcHRpb25zOiBvdmVycmlkZXM/LnBpZSwgY2FsbGJhY2tzIH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdG9wdGlvbnM6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7IHR5cGU6IGNvbmZpZy5jaGFydC50eXBlLCBvcHRpb25zLCBkaXJlY3Rpb24sIGNhbGxiYWNrcyB9KVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0Y2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNoYXJ0LmNvbG9ycyA9IHRoaXMuX3ByZXBhcmVDb2xvcnMoY29sb3JzKTtcclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNoYXJ0OiBjaGFydFxyXG5cdFx0fSBhcyBHcmFwaENoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBkeW5hbWljIGxpbmUgY2hhcnQgY29uZmlndXJhdGlvbiBieSBjb252ZXJ0aW5nIHBsdWdpbiBuYW1lcyB0byBhY3R1YWwgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gY29uZmlnIFRoZSBkeW5hbWljIGxpbmUgY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBkeW5hbWljIGxpbmUgY2hhcnQgd2l0aCBwbHVnaW4gb2JqZWN0c1xyXG5cdCAqL1xyXG5cdHByZXBhcmVHcmFwaExpbmVDb25maWcoY29uZmlnOiBEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbik6IER5bmFtaWNMaW5lQ2hhcnQge1xyXG5cdFx0Y29uc3QgeyBwbHVnaW5zLCBvcHRpb25zLCAuLi5yZXN0IH0gPSBjb25maWcuY2hhcnQ7XHJcblxyXG5cdFx0Y29uc3QgY2hhcnQ6IER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHQuLi5yZXN0LFxyXG5cdFx0XHRvcHRpb25zOiBnZXRMaW5lT3B0aW9ucyhvcHRpb25zKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoY2hhcnQuZGF0YXNldHMgJiYgISFjaGFydC5kYXRhc2V0cy5sZW5ndGgpIHtcclxuXHRcdFx0Y2hhcnQuZGF0YXNldHMgPSByZXBsYWNlRGF0YXNldENvbG9ycyhjaGFydC5kYXRhc2V0cyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkocGx1Z2lucykgJiYgcGx1Z2lucy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGNoYXJ0LnBsdWdpbnMgPSB0aGlzLl9wcmVwYXJlUGx1Z2lucyhwbHVnaW5zKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNvbG9yczogdGhpcy5fcHJlcGFyZUNvbG9ycyhjb25maWc/LmNvbG9ycyksXHJcblx0XHRcdGNoYXJ0OiBjaGFydFxyXG5cdFx0fSBhcyBEeW5hbWljTGluZUNoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBjdXN0b20gY2hhcnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSBjb25maWdcclxuXHQgKi9cclxuXHRwcmVwYXJlQ3VzdG9tQ29uZmlnKGNvbmZpZzogQ3VzdG9tQ2hhcnREZWZpbml0aW9uKTogQ3VzdG9tQ2hhcnQge1xyXG5cdFx0cmV0dXJuIGNvbmZpZyBhcyBDdXN0b21DaGFydDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByZXBhcmVzIGEgZGlnaXQgY2hhcnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSBjb25maWcgVGhlIGRpZ2l0IGNoYXJ0IGRlZmluaXRpb25cclxuXHQgKiBAcmV0dXJucyBUaGUgcHJlcGFyZWQgZGlnaXQgY2hhcnQgKGN1cnJlbnRseSBqdXN0IHJldHVybnMgdGhlIGlucHV0IGFzIGlzKVxyXG5cdCAqL1xyXG5cdHByZXBhcmVEaWdpdENvbmZpZyhjb25maWc6IERpZ2l0Q2hhcnREZWZpbml0aW9uKTogRGlnaXRDaGFydCB7XHJcblx0XHRyZXR1cm4gY29uZmlnIGFzIERpZ2l0Q2hhcnQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBwbHVnaW4gbmFtZXMgdG8gYW4gYXJyYXkgb2YgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gcGx1Z2lucyBBcnJheSBvZiBwbHVnaW4gbmFtZXNcclxuXHQgKiBAcmV0dXJucyBBcnJheSBvZiBwbHVnaW4gb2JqZWN0cyBvciB1bmRlZmluZWQgaWYgbm8gcGx1Z2luc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnM6IHN0cmluZ1tdKTogdW5kZWZpbmVkIHwgUGx1Z2luPENoYXJ0VHlwZT5bXSB7XHJcblx0XHRyZXR1cm4gcGx1Z2lucy5yZWR1Y2UoKGFjYywgcGxnTmFtZSkgPT4ge1xyXG5cdFx0XHRpZiAoIXBsZ05hbWUgfHwgdHlwZW9mIHBsZ05hbWUgIT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdFx0fVxyXG5cdFx0XHRjb25zdCBwbHVnaW4gPSB0aGlzLl9jaGFydFBsdWdpbnNSZWdpc3RyeS5nZXQocGxnTmFtZSk7XHJcblx0XHRcdGlmIChwbHVnaW4pIHtcclxuXHRcdFx0XHRyZXR1cm4gWy4uLmFjYywgcGx1Z2luXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwgW10pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZ2V0Q2hhcnRPcHRpb25zKHtcclxuXHRcdHR5cGUsXHJcblx0XHRvcHRpb25zLFxyXG5cdFx0ZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLFxyXG5cdFx0Y2FsbGJhY2tzXHJcblx0fToge1xyXG5cdFx0dHlwZTogQ2hhcnRUeXBlO1xyXG5cdFx0b3B0aW9uczogQ2hhcnRPcHRpb25zO1xyXG5cdFx0ZGlyZWN0aW9uPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcclxuXHRcdGNhbGxiYWNrcz86IENhbGxiYWNrRGVmaW5pdGlvbltdO1xyXG5cdH0pIHtcclxuXHRcdGNvbnN0IF9vcHRpb25zTWFwID0ge1xyXG5cdFx0XHR2ZXJ0aWNhbEJhcjogZ2V0VmVydGljYWxCYXJPcHRpb25zLFxyXG5cdFx0XHRob3Jpem9udGFsQmFyOiBnZXRIb3Jpem9udGFsQmFyT3B0aW9ucyxcclxuXHRcdFx0ZG91Z2hudXQ6IGdldERvdWdobnV0T3B0aW9ucyxcclxuXHRcdFx0bGluZTogZ2V0TGluZU9wdGlvbnMsXHJcblx0XHRcdHBpZTogZ2V0UGllT3B0aW9uc1xyXG5cdFx0fTtcclxuXHJcblx0XHRjb25zdCBrZXkgPSB0eXBlID09PSAnYmFyJyA/IGAke2RpcmVjdGlvbn1CYXJgIDogdHlwZTtcclxuXHJcblx0XHRjb25zdCBfb3B0aW9ucyA9IF9vcHRpb25zTWFwW2tleV0/LihvcHRpb25zKSB8fCB7fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShjYWxsYmFja3MpICYmIGNhbGxiYWNrcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGNvbnN0IF9jYWxsYmFja3MgPSB0aGlzLl9wcmVwYXJlQ2FsbGJhY2tzKGNhbGxiYWNrcyAsICBrZXkpO1xyXG5cdFx0XHRpZiAoX2NhbGxiYWNrcz8ucGx1Z2lucykge1xyXG5cdFx0XHRcdF8ubWVyZ2UoX29wdGlvbnMsIF9jYWxsYmFja3MpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIF9vcHRpb25zO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUNvbG9ycyhjb2xvcnM6IHN0cmluZ1tdKSB7XHJcblx0XHRjb25zdCBfY29sb3JzID0gZ2V0Q3NzQ29sb3JzKGNvbG9ycyB8fCBbXSk7XHJcblx0XHRyZXR1cm4gWy4uLl9jb2xvcnMsIC4uLkNoYXJ0VXRpbHMuZ2V0Q29sb3JzKCldO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUNhbGxiYWNrcyhjYWxsYmFja3M6IENhbGxiYWNrRGVmaW5pdGlvbltdLCB0eXBlOnN0cmluZykge1xyXG5cdFx0Y29uc3QgZGF0YSA9IHt9O1xyXG5cclxuXHRcdGNhbGxiYWNrc1xyXG5cdFx0XHQuZmlsdGVyKChjYWxsKSA9PiAhIWNhbGwucGF0aCAmJiAhIWNhbGwuY2FsbGJhY2spXHJcblx0XHRcdC5mb3JFYWNoKChjYWxsYmFjaykgPT4ge1xyXG5cdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRjb25zdCBmbiA9IEV2YWx1YXRvci5ldmFsdWF0ZShcclxuXHRcdFx0XHRcdFx0Y2FsbGJhY2suY2FsbGJhY2ssXHJcblx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHR0eXBlLFxyXG5cdFx0XHRcdFx0XHRcdHRyYW5zbGF0ZTogdGhpcy5fdHJhbnNsYXRlU2VydmljZSxcclxuXHRcdFx0XHRcdFx0XHRyZWdpc3RlcjogdGhpcy5fY2hhcnRQbHVnaW5zQ2FsbGJhY2tzLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHQnY2FsbGJhY2snXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0aWYgKGZuICYmIHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdFx0XHRfLnNldChkYXRhLCBjYWxsYmFjay5wYXRoLCBmbik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBjYXRjaCAoZSkge31cclxuXHRcdFx0fSk7XHJcblx0XHRyZXR1cm4geyBwbHVnaW5zOiBkYXRhIH07XHJcblx0fVxyXG59XHJcbiJdfQ==
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9yZXBvcnQtY29uZmlnLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBY3BELE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEdBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFPcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUNtQixxQkFBMkMsRUFDM0Msc0JBQXFELEVBQ3JELGlCQUFtQztRQUZuQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQzNDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBK0I7UUFDckQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtJQUNuRCxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLE1BQTRCO1FBQzdDLE1BQU0sS0FRRixNQUFNLENBQUMsS0FBSyxFQVJWLEVBQ0osT0FBTyxFQUNQLFNBQVMsRUFDVCxNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLE9BRUssRUFEWCxJ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VSxFQUFFO29CQUNsQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUNoQzthQUNGO1lBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtRQUNoQixDQUFDLENBQUMsQ0FBQztRQUNMLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7dUhBdE1VLHlCQUF5QjsySEFBekIseUJBQXlCLGNBRnhCLE1BQU07NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFydE9wdGlvbnMsIENoYXJ0VHlwZSwgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJ2Zvcm1pb2pzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQ2hhcnRVdGlscyB9IGZyb20gJy4uLy4uL2NoYXJ0cyc7XHJcbmltcG9ydCB7IGdldENzc0NvbG9ycyB9IGZyb20gJy4uLy4uL2NoYXJ0cy91dGlsaXR5JztcclxuaW1wb3J0IHtcclxuXHRDYWxsYmFja0RlZmluaXRpb24sXHJcblx0Q3VzdG9tQ2hhcnQsXHJcblx0Q3VzdG9tQ2hhcnREZWZpbml0aW9uLFxyXG5cdERpZ2l0Q2hhcnQsXHJcblx0RGlnaXRDaGFydERlZmluaXRpb24sXHJcblx0RHluYW1pY0xpbmVDaGFydCxcclxuXHREeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbixcclxuXHREeW5hbWljTGluZUNoYXJ0T3B0aW9ucyxcclxuXHRHcmFwaENoYXJ0LFxyXG5cdEdyYXBoQ2hhcnREZWZpbml0aW9uLFxyXG5cdEdyYXBoQ2hhcnRPcHRpb25zLFxyXG59IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcblx0Z2V0RG91Z2hudXRPcHRpb25zLFxyXG5cdGdldEhvcml6b250YWxCYXJPcHRpb25zLFxyXG5cdGdldExpbmVPcHRpb25zLFxyXG5cdGdldFBpZU9wdGlvbnMsXHJcblx0Z2V0VmVydGljYWxCYXJPcHRpb25zLFxyXG59IGZyb20gJy4uL29wdGlvbnMnO1xyXG5pbXBvcnQgeyByZXBsYWNlRGF0YXNldENvbG9ycyB9IGZyb20gJy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IENoYXJ0Q2FsbGJhY2tzUmVnaXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9jaGFydC1jYWxsYmFja3MtcmVnaXN0ZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDaGFydFBsdWdpbnNSZWdpc3RyeSB9IGZyb20gJy4vY2hhcnQtcGx1Z2lucy1yZWdpc3RyeS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRDb25maWdNYXBwZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYXJ0UGx1Z2luc1JlZ2lzdHJ5OiBDaGFydFBsdWdpbnNSZWdpc3RyeSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYXJ0UGx1Z2luc0NhbGxiYWNrczogQ2hhcnRDYWxsYmFja3NSZWdpc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBQcmVwYXJlcyBhIGdyYXBoIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgZ3JhcGggY2hhcnQgZGVmaW5pdGlvblxyXG4gICAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBncmFwaCBjaGFydCB3aXRoIHBsdWdpbiBvYmplY3RzXHJcbiAgICovXHJcbiAgcHJlcGFyZUdyYXBoQ29uZmlnKGNvbmZpZzogR3JhcGhDaGFydERlZmluaXRpb24pOiBHcmFwaENoYXJ0IHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgcGx1Z2lucyxcclxuICAgICAgY2FsbGJhY2tzLFxyXG4gICAgICBjb2xvcnMsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRpcmVjdGlvbixcclxuICAgICAgb3ZlcnJpZGVzLFxyXG4gICAgICAuLi5yZXN0XHJcbiAgICB9ID0gY29uZmlnLmNoYXJ0O1xyXG5cclxuICAgIGNvbnN0IGNoYXJ0OiBHcmFwaENoYXJ0T3B0aW9ucyA9IHtcclxuICAgICAgLi4ucmVzdCxcclxuICAgICAgb3ZlcnJpZGVzOiB7XHJcbiAgICAgICAgdmVydGljYWxCYXI6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7XHJcbiAgICAgICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgICAgIG9wdGlvbnM6IG92ZXJyaWRlcz8udmVydGljYWxCYXIsXHJcbiAgICAgICAgICBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcsXHJcbiAgICAgICAgICBjYWxsYmFja3MsXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgaG9yaXpvbnRhbEJhcjogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuICAgICAgICAgIHR5cGU6ICdiYXInLFxyXG4gICAgICAgICAgb3B0aW9uczogb3ZlcnJpZGVzPy52ZXJ0aWNhbEJhcixcclxuICAgICAgICAgIGRpcmVjdGlvbjogJ2hvcml6b250YWwnLFxyXG4gICAgICAgICAgY2FsbGJhY2tzLFxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBkb3VnaG51dDogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuICAgICAgICAgIHR5cGU6ICdkb3VnaG51dCcsXHJcbiAgICAgICAgICBvcHRpb25zOiBvdmVycmlkZXM/LmRvdWdobnV0LFxyXG4gICAgICAgICAgY2FsbGJhY2tzLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGxpbmU6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyh7XHJcbiAgICAgICAgICB0eXBlOiAnbGluZScsXHJcbiAgICAgICAgICBvcHRpb25zOiBvdmVycmlkZXM/LmxpbmUsXHJcbiAgICAgICAgICBjYWxsYmFja3MsXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgcGllOiB0aGlzLl9nZXRDaGFydE9wdGlvbnMoe1xyXG4gICAgICAgICAgdHlwZTogJ3BpZScsXHJcbiAgICAgICAgICBvcHRpb25zOiBvdmVycmlkZXM/LnBpZSxcclxuICAgICAgICAgIGNhbGxiYWNrcyxcclxuICAgICAgICB9KSxcclxuICAgICAgfSxcclxuICAgICAgb3B0aW9uczogdGhpcy5fZ2V0Q2hhcnRPcHRpb25zKHtcclxuICAgICAgICB0eXBlOiBjb25maWcuY2hhcnQudHlwZSxcclxuICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgIGRpcmVjdGlvbixcclxuICAgICAgICBjYWxsYmFja3MsXHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuICAgICAgY2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYXJ0LmNvbG9ycyA9IHRoaXMuX3ByZXBhcmVDb2xvcnMoY29sb3JzKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5jb25maWcsXHJcbiAgICAgIGNoYXJ0OiBjaGFydCxcclxuICAgIH0gYXMgR3JhcGhDaGFydDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXBhcmVzIGEgZHluYW1pYyBsaW5lIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgZHluYW1pYyBsaW5lIGNoYXJ0IGRlZmluaXRpb25cclxuICAgKiBAcmV0dXJucyBUaGUgcHJlcGFyZWQgZHluYW1pYyBsaW5lIGNoYXJ0IHdpdGggcGx1Z2luIG9iamVjdHNcclxuICAgKi9cclxuICBwcmVwYXJlR3JhcGhMaW5lQ29uZmlnKGNvbmZpZzogRHluYW1pY0xpbmVDaGFydERlZmluaXRpb24pOiBEeW5hbWljTGluZUNoYXJ0IHtcclxuICAgIGNvbnN0IHsgcGx1Z2lucywgb3B0aW9ucywgLi4ucmVzdCB9ID0gY29uZmlnLmNoYXJ0O1xyXG5cclxuICAgIGNvbnN0IGNoYXJ0OiBEeW5hbWljTGluZUNoYXJ0T3B0aW9ucyA9IHtcclxuICAgICAgLi4ucmVzdCxcclxuICAgICAgb3B0aW9uczogZ2V0TGluZU9wdGlvbnMob3B0aW9ucyksXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChjaGFydC5kYXRhc2V0cyAmJiAhIWNoYXJ0LmRhdGFzZXRzLmxlbmd0aCkge1xyXG4gICAgICBjaGFydC5kYXRhc2V0cyA9IHJlcGxhY2VEYXRhc2V0Q29sb3JzKGNoYXJ0LmRhdGFzZXRzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuICAgICAgY2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLmNvbmZpZyxcclxuICAgICAgY29sb3JzOiB0aGlzLl9wcmVwYXJlQ29sb3JzKGNvbmZpZz8uY29sb3JzKSxcclxuICAgICAgY2hhcnQ6IGNoYXJ0LFxyXG4gICAgfSBhcyBEeW5hbWljTGluZUNoYXJ0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlcGFyZXMgYSBjdXN0b20gY2hhcnQgY29uZmlndXJhdGlvblxyXG4gICAqIEBwYXJhbSBjb25maWdcclxuICAgKi9cclxuICBwcmVwYXJlQ3VzdG9tQ29uZmlnKGNvbmZpZzogQ3VzdG9tQ2hhcnREZWZpbml0aW9uKTogQ3VzdG9tQ2hhcnQge1xyXG4gICAgcmV0dXJuIGNvbmZpZyBhcyBDdXN0b21DaGFydDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXBhcmVzIGEgZGlnaXQgY2hhcnQgY29uZmlndXJhdGlvblxyXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGRpZ2l0IGNoYXJ0IGRlZmluaXRpb25cclxuICAgKiBAcmV0dXJucyBUaGUgcHJlcGFyZWQgZGlnaXQgY2hhcnQgKGN1cnJlbnRseSBqdXN0IHJldHVybnMgdGhlIGlucHV0IGFzIGlzKVxyXG4gICAqL1xyXG4gIHByZXBhcmVEaWdpdENvbmZpZyhjb25maWc6IERpZ2l0Q2hhcnREZWZpbml0aW9uKTogRGlnaXRDaGFydCB7XHJcbiAgICByZXR1cm4gY29uZmlnIGFzIERpZ2l0Q2hhcnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBwbHVnaW4gbmFtZXMgdG8gYW4gYXJyYXkgb2YgcGx1Z2luIG9iamVjdHNcclxuICAgKiBAcGFyYW0gcGx1Z2lucyBBcnJheSBvZiBwbHVnaW4gbmFtZXNcclxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBwbHVnaW4gb2JqZWN0cyBvciB1bmRlZmluZWQgaWYgbm8gcGx1Z2luc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnM6IHN0cmluZ1tdKTogdW5kZWZpbmVkIHwgUGx1Z2luPENoYXJ0VHlwZT5bXSB7XHJcbiAgICByZXR1cm4gcGx1Z2lucy5yZWR1Y2UoKGFjYywgcGxnTmFtZSkgPT4ge1xyXG4gICAgICBpZiAoIXBsZ05hbWUgfHwgdHlwZW9mIHBsZ05hbWUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwbHVnaW4gPSB0aGlzLl9jaGFydFBsdWdpbnNSZWdpc3RyeS5nZXQocGxnTmFtZSk7XHJcbiAgICAgIGlmIChwbHVnaW4pIHtcclxuICAgICAgICByZXR1cm4gWy4uLmFjYywgcGx1Z2luXTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYWNjO1xyXG4gICAgfSwgW10pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2hhcnRPcHRpb25zKHtcclxuICAgIHR5cGUsXHJcbiAgICBvcHRpb25zLFxyXG4gICAgZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLFxyXG4gICAgY2FsbGJhY2tzLFxyXG4gIH06IHtcclxuICAgIHR5cGU6IENoYXJ0VHlwZTtcclxuICAgIG9wdGlvbnM6IENoYXJ0T3B0aW9ucztcclxuICAgIGRpcmVjdGlvbj86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XHJcbiAgICBjYWxsYmFja3M/OiBDYWxsYmFja0RlZmluaXRpb25bXTtcclxuICB9KSB7XHJcbiAgICBjb25zdCBfb3B0aW9uc01hcCA9IHtcclxuICAgICAgdmVydGljYWxCYXI6IGdldFZlcnRpY2FsQmFyT3B0aW9ucyxcclxuICAgICAgaG9yaXpvbnRhbEJhcjogZ2V0SG9yaXpvbnRhbEJhck9wdGlvbnMsXHJcbiAgICAgIGRvdWdobnV0OiBnZXREb3VnaG51dE9wdGlvbnMsXHJcbiAgICAgIGxpbmU6IGdldExpbmVPcHRpb25zLFxyXG4gICAgICBwaWU6IGdldFBpZU9wdGlvbnMsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGtleSA9IHR5cGUgPT09ICdiYXInID8gYCR7ZGlyZWN0aW9ufUJhcmAgOiB0eXBlO1xyXG5cclxuICAgIGNvbnN0IF9vcHRpb25zID0gX29wdGlvbnNNYXBba2V5XT8uKG9wdGlvbnMpIHx8IHt9O1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNhbGxiYWNrcykgJiYgY2FsbGJhY2tzLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgX2NhbGxiYWNrcyA9IHRoaXMuX3ByZXBhcmVDYWxsYmFja3MoY2FsbGJhY2tzLCBrZXkpO1xyXG4gICAgICBpZiAoX2NhbGxiYWNrcz8ucGx1Z2lucykge1xyXG4gICAgICAgIF8ubWVyZ2UoX29wdGlvbnMsIF9jYWxsYmFja3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIF9vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNvbG9ycyhjb2xvcnM6IHN0cmluZ1tdKSB7XHJcbiAgICBjb25zdCBfY29sb3JzID0gZ2V0Q3NzQ29sb3JzKGNvbG9ycyB8fCBbXSk7XHJcbiAgICByZXR1cm4gWy4uLl9jb2xvcnMsIC4uLkNoYXJ0VXRpbHMuZ2V0Q29sb3JzKCldO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNhbGxiYWNrcyhjYWxsYmFja3M6IENhbGxiYWNrRGVmaW5pdGlvbltdLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7fTtcclxuXHJcbiAgICBjYWxsYmFja3NcclxuICAgICAgLmZpbHRlcigoY2FsbCkgPT4gISFjYWxsLnBhdGggJiYgISFjYWxsLmNhbGxiYWNrKVxyXG4gICAgICAuZm9yRWFjaCgoY2FsbGJhY2spID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgZm4gPSBVdGlscy5ldmFsdWF0ZShcclxuICAgICAgICAgICAgY2FsbGJhY2suY2FsbGJhY2ssXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZTogdGhpcy5fdHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICByZWdpc3RlcjogdGhpcy5fY2hhcnRQbHVnaW5zQ2FsbGJhY2tzLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAnY2FsbGJhY2snXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGZuICYmIHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBfLnNldChkYXRhLCBjYWxsYmFjay5wYXRoLCBmbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge31cclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4geyBwbHVnaW5zOiBkYXRhIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
- import { Evaluator } from '../../../../shared/evaluator';
3
+ import { Utils } from 'formiojs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ReportsHooksService {
6
6
  constructor() {
@@ -37,7 +37,7 @@ export class ReportsHooksService {
37
37
  evaluate(expr, payload) {
38
38
  try {
39
39
  const context = { criteria: payload };
40
- const result = Evaluator.evaluate(expr, context, 'payload');
40
+ const result = Utils.evaluate(expr, context, 'payload');
41
41
  return result !== null && result !== void 0 ? result : payload;
42
42
  }
43
43
  catch (e) {
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
86
86
  providedIn: 'root',
87
87
  }]
88
88
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1ob29rcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL3NlcnZpY2VzL3JlcG9ydHMtaG9va3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBbUJ6RCxNQUFNLE9BQU8sbUJBQW1CO0lBSGhDO1FBSVUsc0JBQWlCLEdBQW1DLEVBQUUsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0tBa0YzRDtJQWhGQyxvQkFBb0IsQ0FBVSxPQUFtQztRQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxzQkFBc0IsQ0FBSSxPQUFtQztRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVLLG1CQUFtQixDQUN2QixPQUFVOztZQUVWLElBQUksZUFBZSxxQkFBUSxPQUFPLENBQUUsQ0FBQztZQUVyQyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDNUMsSUFBSTtvQkFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQy9ELGVBQWUsR0FBRyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxlQUFlLENBQUM7aUJBQzdDO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQzdEO2FBQ0Y7WUFFRCxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFFRCxRQUFRLENBQWdDLElBQVksRUFBRSxPQUFVO1FBQzlELElBQUk7WUFDRixNQUFNLE9BQU8sR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN0QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxPQUFPLENBQUM7U0FDMUI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxPQUFPLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUksSUFBWSxFQUFFLE1BQXdDO1FBQ2xGLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsNEJBQTRCLENBQUMsSUFBWTtRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUsseUJBQXlCLENBQzdCLElBQVksRUFDWixPQUE2Qjs7O1lBRTdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsSUFBSSxhQUFhLENBQUMsQ0FBQztnQkFDeEQsT0FBTztvQkFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtpQkFDbkIsQ0FBQzthQUNIO1lBRUQsSUFBSTtnQkFDRixPQUFPLENBQ0wsTUFBQSxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLG1DQUFJO29CQUN6QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtpQkFDbkIsQ0FDRixDQUFDO2FBQ0g7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbEUsT0FBTztvQkFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtpQkFDbkIsQ0FBQzthQUNIOztLQUNGOztpSEFuRlUsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZXZhbHVhdG9yJztcclxuaW1wb3J0IHsgQWN0aW9uSG9va1JlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVwb3J0c0JlZm9yZVN1Ym1pdEhvb2s8VD4gPSAocGF5bG9hZDogVCkgPT4gVCB8IFByb21pc2U8VD47XHJcblxyXG5leHBvcnQgdHlwZSBSZXBvcnRzQWN0aW9uQ29udGV4dCA9IHtcclxuICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgY3JpdGVyaWE6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgcmVxdWVzdDogQWN0aW9uSG9va1JlcXVlc3RbJ3JlcXVlc3QnXTtcclxuICBkYXRhOiBBY3Rpb25Ib29rUmVxdWVzdFsnZGF0YSddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVwb3J0c0FjdGlvbjxUID0gQWN0aW9uSG9va1JlcXVlc3Q+ID0gKFxyXG4gIGNvbnRleHQ6IFJlcG9ydHNBY3Rpb25Db250ZXh0XHJcbikgPT4gVCB8IFByb21pc2U8VD47XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0c0hvb2tzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBiZWZvcmVTdWJtaXRIb29rczogUmVwb3J0c0JlZm9yZVN1Ym1pdEhvb2s8YW55PltdID0gW107XHJcbiAgcHJpdmF0ZSByZXBvcnRzQWN0aW9ucyA9IG5ldyBNYXA8c3RyaW5nLCBSZXBvcnRzQWN0aW9uPigpO1xyXG5cclxuICByZWdpc3RlckJlZm9yZVN1Ym1pdDxUID0gYW55PihoYW5kbGVyOiBSZXBvcnRzQmVmb3JlU3VibWl0SG9vazxUPik6IHZvaWQge1xyXG4gICAgdGhpcy5iZWZvcmVTdWJtaXRIb29rcy5wdXNoKGhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgdW5yZWdpc3RlckJlZm9yZVN1Ym1pdDxUPihoYW5kbGVyOiBSZXBvcnRzQmVmb3JlU3VibWl0SG9vazxUPik6IHZvaWQge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzLmluZGV4T2YoaGFuZGxlcik7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhckJlZm9yZVN1Ym1pdEhvb2tzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5iZWZvcmVTdWJtaXRIb29rcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZXhlY3V0ZUJlZm9yZVN1Ym1pdDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcbiAgICBwYXlsb2FkOiBUXHJcbiAgKTogUHJvbWlzZTxUPiB7XHJcbiAgICBsZXQgbW9kaWZpZWRQYXlsb2FkID0geyAuLi5wYXlsb2FkIH07XHJcblxyXG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuYmVmb3JlU3VibWl0SG9va3MpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoaGFuZGxlcihtb2RpZmllZFBheWxvYWQpKTtcclxuICAgICAgICBtb2RpZmllZFBheWxvYWQgPSByZXN1bHQgPz8gbW9kaWZpZWRQYXlsb2FkO1xyXG4gICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBleGVjdXRpbmcgYmVmb3JlU3VibWl0IGhhbmRsZXI6JywgZXJyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtb2RpZmllZFBheWxvYWQ7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oZXhwcjogc3RyaW5nLCBwYXlsb2FkOiBUKTogVCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBjb250ZXh0ID0geyBjcml0ZXJpYTogcGF5bG9hZCB9O1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBFdmFsdWF0b3IuZXZhbHVhdGUoZXhwciwgY29udGV4dCwgJ3BheWxvYWQnKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdCA/PyBwYXlsb2FkO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGJlZm9yZVN1Ym1pdCBzdHJpbmc6JywgZSk7XHJcbiAgICAgIHJldHVybiBwYXlsb2FkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJCZWZvcmVTdWJtaXRBY3Rpb248VD4obmFtZTogc3RyaW5nLCBhY3Rpb246IFJlcG9ydHNBY3Rpb248QWN0aW9uSG9va1JlcXVlc3Q+KTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcG9ydHNBY3Rpb25zLnNldChuYW1lLCBhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgdW5yZWdpc3RlckJlZm9yZVN1Ym1pdEFjdGlvbihuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMucmVwb3J0c0FjdGlvbnMuZGVsZXRlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZXhlY3V0ZUJlZm9yZVN1Ym1pdEFjdGlvbihcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGNvbnRleHQ6IFJlcG9ydHNBY3Rpb25Db250ZXh0XHJcbiAgKTogUHJvbWlzZTxBY3Rpb25Ib29rUmVxdWVzdD4ge1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5yZXBvcnRzQWN0aW9ucy5nZXQobmFtZSk7XHJcblxyXG4gICAgaWYgKCFhY3Rpb24pIHtcclxuICAgICAgY29uc29sZS53YXJuKGBiZWZvcmVTdWJtaXQgYWN0aW9uIFwiJHtuYW1lfVwiIG5vdCBmb3VuZGApO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHJlcXVlc3Q6IGNvbnRleHQucmVxdWVzdCxcclxuICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICAoYXdhaXQgYWN0aW9uKGNvbnRleHQpKSA/PyB7XHJcbiAgICAgICAgICByZXF1ZXN0OiBjb250ZXh0LnJlcXVlc3QsXHJcbiAgICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEsXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBleGVjdXRpbmcgYmVmb3JlU3VibWl0IGFjdGlvbiBcIiR7bmFtZX1cImAsIGUpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHJlcXVlc3Q6IGNvbnRleHQucmVxdWVzdCxcclxuICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1ob29rcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL3NlcnZpY2VzL3JlcG9ydHMtaG9va3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQW1CakMsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlVLHNCQUFpQixHQUFtQyxFQUFFLENBQUM7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztLQWtGM0Q7SUFoRkMsb0JBQW9CLENBQVUsT0FBbUM7UUFDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsc0JBQXNCLENBQUksT0FBbUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFSyxtQkFBbUIsQ0FDdkIsT0FBVTs7WUFFVixJQUFJLGVBQWUscUJBQVEsT0FBTyxDQUFFLENBQUM7WUFFckMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzVDLElBQUk7b0JBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO29CQUMvRCxlQUFlLEdBQUcsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksZUFBZSxDQUFDO2lCQUM3QztnQkFBQyxPQUFPLEdBQUcsRUFBRTtvQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUM3RDthQUNGO1lBRUQsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQztLQUFBO0lBRUQsUUFBUSxDQUFnQyxJQUFZLEVBQUUsT0FBVTtRQUM5RCxJQUFJO1lBQ0YsTUFBTSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDdEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksT0FBTyxDQUFDO1NBQzFCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFELE9BQU8sT0FBTyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELDBCQUEwQixDQUFJLElBQVksRUFBRSxNQUF3QztRQUNsRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELDRCQUE0QixDQUFDLElBQVk7UUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVLLHlCQUF5QixDQUM3QixJQUFZLEVBQ1osT0FBNkI7OztZQUU3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLElBQUksYUFBYSxDQUFDLENBQUM7Z0JBQ3hELE9BQU87b0JBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO29CQUN4QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7aUJBQ25CLENBQUM7YUFDSDtZQUVELElBQUk7Z0JBQ0YsT0FBTyxDQUNMLE1BQUEsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxtQ0FBSTtvQkFDekIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO29CQUN4QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7aUJBQ25CLENBQ0YsQ0FBQzthQUNIO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLE9BQU87b0JBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO29CQUN4QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7aUJBQ25CLENBQUM7YUFDSDs7S0FDRjs7aUhBbkZVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICdmb3JtaW9qcyc7XHJcbmltcG9ydCB7IEFjdGlvbkhvb2tSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIFJlcG9ydHNCZWZvcmVTdWJtaXRIb29rPFQ+ID0gKHBheWxvYWQ6IFQpID0+IFQgfCBQcm9taXNlPFQ+O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVwb3J0c0FjdGlvbkNvbnRleHQgPSB7XHJcbiAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIHJlcXVlc3Q6IEFjdGlvbkhvb2tSZXF1ZXN0WydyZXF1ZXN0J107XHJcbiAgZGF0YTogQWN0aW9uSG9va1JlcXVlc3RbJ2RhdGEnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlcG9ydHNBY3Rpb248VCA9IEFjdGlvbkhvb2tSZXF1ZXN0PiA9IChcclxuICBjb250ZXh0OiBSZXBvcnRzQWN0aW9uQ29udGV4dFxyXG4pID0+IFQgfCBQcm9taXNlPFQ+O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydHNIb29rc1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgYmVmb3JlU3VibWl0SG9va3M6IFJlcG9ydHNCZWZvcmVTdWJtaXRIb29rPGFueT5bXSA9IFtdO1xyXG4gIHByaXZhdGUgcmVwb3J0c0FjdGlvbnMgPSBuZXcgTWFwPHN0cmluZywgUmVwb3J0c0FjdGlvbj4oKTtcclxuXHJcbiAgcmVnaXN0ZXJCZWZvcmVTdWJtaXQ8VCA9IGFueT4oaGFuZGxlcjogUmVwb3J0c0JlZm9yZVN1Ym1pdEhvb2s8VD4pOiB2b2lkIHtcclxuICAgIHRoaXMuYmVmb3JlU3VibWl0SG9va3MucHVzaChoYW5kbGVyKTtcclxuICB9XHJcblxyXG4gIHVucmVnaXN0ZXJCZWZvcmVTdWJtaXQ8VD4oaGFuZGxlcjogUmVwb3J0c0JlZm9yZVN1Ym1pdEhvb2s8VD4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5iZWZvcmVTdWJtaXRIb29rcy5pbmRleE9mKGhhbmRsZXIpO1xyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdGhpcy5iZWZvcmVTdWJtaXRIb29rcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJCZWZvcmVTdWJtaXRIb29rcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYmVmb3JlU3VibWl0SG9va3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGVCZWZvcmVTdWJtaXQ8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgcGF5bG9hZDogVFxyXG4gICk6IFByb21pc2U8VD4ge1xyXG4gICAgbGV0IG1vZGlmaWVkUGF5bG9hZCA9IHsgLi4ucGF5bG9hZCB9O1xyXG5cclxuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGhhbmRsZXIobW9kaWZpZWRQYXlsb2FkKSk7XHJcbiAgICAgICAgbW9kaWZpZWRQYXlsb2FkID0gcmVzdWx0ID8/IG1vZGlmaWVkUGF5bG9hZDtcclxuICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXhlY3V0aW5nIGJlZm9yZVN1Ym1pdCBoYW5kbGVyOicsIGVycik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbW9kaWZpZWRQYXlsb2FkO1xyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGU8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KGV4cHI6IHN0cmluZywgcGF5bG9hZDogVCk6IFQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgY29udGV4dCA9IHsgY3JpdGVyaWE6IHBheWxvYWQgfTtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gVXRpbHMuZXZhbHVhdGUoZXhwciwgY29udGV4dCwgJ3BheWxvYWQnKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdCA/PyBwYXlsb2FkO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGJlZm9yZVN1Ym1pdCBzdHJpbmc6JywgZSk7XHJcbiAgICAgIHJldHVybiBwYXlsb2FkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJCZWZvcmVTdWJtaXRBY3Rpb248VD4obmFtZTogc3RyaW5nLCBhY3Rpb246IFJlcG9ydHNBY3Rpb248QWN0aW9uSG9va1JlcXVlc3Q+KTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcG9ydHNBY3Rpb25zLnNldChuYW1lLCBhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgdW5yZWdpc3RlckJlZm9yZVN1Ym1pdEFjdGlvbihuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMucmVwb3J0c0FjdGlvbnMuZGVsZXRlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZXhlY3V0ZUJlZm9yZVN1Ym1pdEFjdGlvbihcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGNvbnRleHQ6IFJlcG9ydHNBY3Rpb25Db250ZXh0XHJcbiAgKTogUHJvbWlzZTxBY3Rpb25Ib29rUmVxdWVzdD4ge1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5yZXBvcnRzQWN0aW9ucy5nZXQobmFtZSk7XHJcblxyXG4gICAgaWYgKCFhY3Rpb24pIHtcclxuICAgICAgY29uc29sZS53YXJuKGBiZWZvcmVTdWJtaXQgYWN0aW9uIFwiJHtuYW1lfVwiIG5vdCBmb3VuZGApO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHJlcXVlc3Q6IGNvbnRleHQucmVxdWVzdCxcclxuICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICAoYXdhaXQgYWN0aW9uKGNvbnRleHQpKSA/PyB7XHJcbiAgICAgICAgICByZXF1ZXN0OiBjb250ZXh0LnJlcXVlc3QsXHJcbiAgICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEsXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBleGVjdXRpbmcgYmVmb3JlU3VibWl0IGFjdGlvbiBcIiR7bmFtZX1cImAsIGUpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHJlcXVlc3Q6IGNvbnRleHQucmVxdWVzdCxcclxuICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -411,4 +411,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
411
411
  }], pageSizes: [{
412
412
  type: Input
413
413
  }] } });
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFnQnJFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQVdILE1BQU0sT0FBTyxxQkFDWCxTQUFRLGNBQWM7SUF3SHRCLFlBQ1UsT0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLEdBQXNCLEVBQ3RCLGtCQUFxQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQVBBLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZC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QWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVOLFlBQVk7c0JBRFgsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBU0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yL3BhZ2luYXRvcic7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXN0cm95U3ViamVjdCwgRXZhbHVhdGVkU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgRU1QVFlfVEVNUExBVEUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9keW5hbWljLXRhYmxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZUhvb2tzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLWhvb2tzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVQcm92aWRlclJlcXVlc3QgPSB7XHJcbiAgcXVlcnk6IHsgcGFnZVByb3ZpZGVyOiBzdHJpbmc7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIG9wdGlvbnM6IHsgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVDdXN0b21SZXF1ZXN0ID0ge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcblxyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYW4gYWRkaXRpb25hbCBsYXllciB0aGF0IHVzZXMgW1RhYmxlIENvbXBvbmVudF17QGxpbmsgVGFibGVDb21wb25lbnR9IGludGVybmFsbHksXHJcbiAqIHlvdSBjYW4gdXNlIHRoaXMgY29tcG9uZW50IHRvIGNvbmZpZ3VyZSBhIHBhZ2UgcHJvdmlkZXIgbGlzdGluZyBvdXQgb2YgdGhlIGJveCBlYXNpbHksXHJcbiAqIGFuZCBpdCB3aWxsIGhhbmRsZSBhbGwgb2YgdGhlIGJhc2ljIGZlYXR1cmVzIHN1Y2ggYXMgZ2V0dGluZyBkYXRhIGZyb20gQVBJLCBMaXN0aW5nLCBQYWdpbmF0aW9uLCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmdcclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFRhYmxlXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gKiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICogICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gKiAgICBbcGFnZVNpemVdPVwiUGFnZVNpemVcIlxyXG4gKiAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiXHJcbiAqICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gKiAgICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgIFtlbnRpdHlUeXBlXT1cIidhbGwnXCJcclxuICogICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gKiAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAqICAgIFtyb3dDdXJzb3JdPVwidHJ1ZVwiXHJcbiAqICAgIFtxdWVyeVBhcmFtXT1cInF1ZXJ5UGFyYW1cIlxyXG4gKiAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICAgKG9uUm93U2VsZWN0ZWQpPVwib3BlblZpZXdlcigkZXZlbnQpXCJcclxuICogICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MubG9hZGluZy1yZXN1bHRzXSc6ICdsb2FkaW5nJyxcclxuICAgICdbY2xhc3Mubm8tZGF0YV0nOiAncm93cy5sZW5ndGggPD0gMCcsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRGVzdHJveVN1YmplY3RcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93ICAqL1xyXG4gIEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG4gIEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0IGVtaXQgd2hlbiBzZWxlY3RpbmcgbXVsdGlwbGUgcm93ICovXHJcbiAgQE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdCBlbWl0IHdoZW4gc3RhcnQgZ2V0dGluZyBkYXRhIGFuZCB3aGVuIGZpbmlzaCAqL1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc29ydEJ5OiBzdHJpbmc7XHJcbiAgICBzb3J0T3JkZXI6IHN0cmluZztcclxuICB9PigpO1xyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgb25QYWdlYCBpbnN0ZWFkLlxyXG4gICAqIEBzZWUgb25QYWdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25Mb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkluaXRpYWxpemUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zPztcclxuICAvKiogRGVmaW5lcyB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xyXG4gIC8qKiBUcmFuc2xhdGlvbnMgcHJlZml4ICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIEFQSSBSZXF1ZXN0ICovXHJcbiAgQElucHV0KCkgaGVhZGVycztcclxuICAvKiogRmllbGRzIGtleW1hcCB0byBiZSBtYXBwZWQgaW4gdGhlIGFkYXB0ZXIgKi9cclxuICBASW5wdXQoKSBmaWVsZHM7XHJcbiAgLyoqIFBhZ2UgUHJvdmlkZXIgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSBkYXRhICovXHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDEwO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBoaWdsaWdodFVucmVhZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGVnYWN5TW9kZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RvdGFsUmVjb3JkID0gZmFsc2U7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoRU1QVFlfVEVNUExBVEUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXIgPSAxO1xyXG4gIEBJbnB1dCgpIHNldCBwYWdlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHRoaXMuX3BhZ2VOdW1iZXIgPSBpc05hTigrdmFsdWUpID8gMSA6ICt2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBwYWdlTnVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXI7XHJcbiAgfVxyXG5cclxuICAvKiogU29ydGluZyBjb2x1bW4gKi9cclxuICBASW5wdXQoKSBzb3J0aW5nQnk6IHtcclxuICAgIHNvcnRCeT86IHN0cmluZztcclxuICAgIHNvcnRPcmRlcj86IHN0cmluZztcclxuICB9ID0ge307XHJcbiAgQElucHV0KCkgcXVlcnlQYXJhbT8gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgY3VzdG9tRmlsdGVyczoge1xyXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICAgIHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXI/O1xyXG4gIC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG4gIEBJbnB1dCgpIHJlcG9ydDtcclxuICAvKiogdG8gbWFrZSBjdXJzb3Igd2hlbiBob3ZlciBvbiByb3cgb3Igbm90ICovXHJcbiAgQElucHV0KCkgcm93Q3Vyc29yPztcclxuICBASW5wdXQoKSBmdWxsV2lkdGg/ID0gJ2F1dG8nO1xyXG4gIC8qKiAnbGlzdCcgZm9yIG5vcmFtbCB0YWJsZSAnY2FyZCcgZm9yIGNhcmRzIG1vZGUgbGlrZSBpbiBtZW1vcyAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuXHJcbiAgQElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG4gIC8qKiBhY3Rpb24gdG8gYmUgdXNlZCBpbiBjYXNlIG9mIGNhcmQgbW9kZSAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICBASW5wdXQoKSBkZWZ1bHRTb3J0OiBhbnkgPSB7IG5hbWU6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH07XHJcbiAgQElucHV0KCkgcmFuZ2U7XHJcbiAgQElucHV0KCkgaXNTZWFyY2hQYWdlID0gZmFsc2U7XHJcbiAgLyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG4gIC8qKiB0byBzaG93IDFzdCByb3cgd2l0aCBjdXN0b20gdGVtcGxhdGUgaW4gdGhlIHRhYmxlKi9cclxuICBASW5wdXQoKSBjdXN0b21GaXJzdFJvdyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dBY3Rpb25zQXNNZW51ID0gZmFsc2U7IC8vIGZsYWdlIHRvIHNob3cgYWN0aW9uIGluIG1lbnUgb3Igc2lkZSBieSBzaWRlXHJcbiAgQElucHV0KClcclxuICBmaWx0ZXJQYXJhbXMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgc2tpcEFnZ3JlZ2F0aW9uOiAnbmV2ZXInIHwgJ29uUGFnZUNoYW5nZScgPSAnb25QYWdlQ2hhbmdlJztcclxuICBASW5wdXQoKSBjdXN0b21Vcmw6IHtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgbWV0aG9kOiAnUE9TVCcgfCAnR0VUJztcclxuICAgIHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH07XHJcbiAgQElucHV0KCkgZm9ybWF0ID0gJ01NTU0gZCwgeSc7XHJcblxyXG4gIEBJbnB1dCgpIHJlcXVlc3RBY3Rpb25zPzoge1xyXG4gICAgYmVmb3JlU3VibWl0PzogRXZhbHVhdGVkU3RyaW5nPCdwYXlsb2FkJz47XHJcbiAgfTtcclxuXHJcbiAgcm93cyA9IFtdO1xyXG4gIHRvdGFsUmVjb3JkcyA9IDA7XHJcblxyXG4gIGxvYWRpbmc7XHJcbiAgc29ydGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfT4gPSBbXTtcclxuXHJcbiAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGR5bmFtaWNUYWJsZVNlcnZpY2U6IER5bmFtaWNUYWJsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF90YWJsZUhvb2tzU2VydmljZTogVGFibGVIb29rc1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHluYW1pY1RhYmxlU2VydmljZS5yZWZyZXNoRGF0YVxyXG4gICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZmlsdGVyRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChmaWx0ZXJEYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcyA9IHsgLi4uZmlsdGVyRGF0YSB9O1xyXG4gICAgICAgICAgLy8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcbiAgICAgICAgICB0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgaXNGaXJzdENoYW5nZSA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSgoYykgPT4gYy5pc0ZpcnN0Q2hhbmdlKCkpO1xyXG4gICAgaWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhc0NoYW5nZWQgPSAoaXRlbXM6IHN0cmluZ1tdKSA9PlxyXG4gICAgICBpdGVtcy5zb21lKChrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBpc0VxdWFsID0gXy5pc0VxdWFsKFxyXG4gICAgICAgICAgY2hhbmdlc1trZXldPy5wcmV2aW91c1ZhbHVlIHx8IG51bGwsXHJcbiAgICAgICAgICBjaGFuZ2VzW2tleV0/LmN1cnJlbnRWYWx1ZSB8fCBudWxsXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gIWlzRXF1YWw7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmIChoYXNDaGFuZ2VkKFsncXVlcnlQYXJhbScsICdxdWlja0ZpbHRlcicsICdjdXN0b21GaWx0ZXJzJ10pKSB7XHJcbiAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgICAgdGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7IC8vIFJlc2V0IHBhZ2UgbnVtYmVyIGJlZm9yZSByZWNhbGxpbmcgQVBJIHdpdGggZmlsdGVyc1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChoYXNDaGFuZ2VkKFsnc29ydGluZ0J5J10pKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRQYWdlTnVtYmVyKCkge1xyXG4gICAgdGhpcy5fcGFnZU51bWJlciA9IDE7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHRoaXMuX3BhZ2VOdW1iZXIpO1xyXG4gICAgdGhpcy5vblBhZ2UuZW1pdCh7XHJcbiAgICAgIHBhZ2VJbmRleDogdGhpcy5fcGFnZU51bWJlcixcclxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIGxlbmd0aDogdGhpcy50b3RhbFJlY29yZHMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldERhdGEoXHJcbiAgICBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcbiAgICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7IC8vIGludGVybmFsIGxvYWRpbmdcclxuICAgIHRoaXMub25Mb2FkaW5nLmVtaXQodHJ1ZSk7IC8vIGV4dGVybmFsIGxvYWRpbmdcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLih0aGlzLnJhbmdlID8geyBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlIH0gOiB7fSksXHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcbiAgICAgIC4uLnRoaXMucXVpY2tGaWx0ZXIsXHJcbiAgICAgIC4uLihPYmplY3Qua2V5cyh0aGlzLnNvcnRpbmdCeSB8fCB7fSkubGVuZ3RoXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHNvcnRCeTogdGhpcy5zb3J0aW5nQnk/LnNvcnRCeSxcclxuICAgICAgICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRpbmdCeT8uc29ydE9yZGVyLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge30pLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiArdGhpcy5wYWdlTnVtIC0gMSxcclxuICAgICAgLi4uKHRoaXMucGFnZVNpemUgPyB7IHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0gOiB7fSksXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgLi4ucGF5bG9hZCxcclxuICAgIH07XHJcblxyXG4gICAgLy8gZG9uJ3QgcmVmcmVzaCBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIG9ubHlcclxuICAgIGlmICghdGhpcy5zb3J0aW5nICYmIHRoaXMuaXNMZWdhY3lNb2RlKSB7XHJcbiAgICAgIC8vIHVzZWQgdG8gbm90IHJlZnJlc2hpbmcgYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBzaW5jZSB0YWJsZSBsb3NlIHNvcnRpbmcgc3RhdGUgd2hlbiByZWZyZXNoIGFsbCB0YWJsZVxyXG4gICAgICB0aGlzLnJvd3MgPSBbXTsgLy8gdXNlZCB0byByZWZyZXNoIHRhYmxlIHRvIGZlZWwgY2hhbmdlcyBpbiBhY3Rpb25zIHdoZW4gcGVyZm9ybSBhY3Rpb24gYW5kIG5lZWQgdG8gcmVmcmVzaCBhY3Rpb25zXHJcbiAgICB9XHJcbiAgICB0aGlzLnNvcnRpbmcgPSBmYWxzZTsgLy8gcmVzZXQgc29ydGluZyBzdGF0dXMgdG8gZmFsc2UgYW5kIGZvciBuZXh0IHNvcnRpbmcgZnVuYyBzb3J0aW5nIHNldCBpdCB0byB0cnVlIGFnYWluXHJcblxyXG4gICAgY29uc3QgX2hlYWRlcnMgPSB7XHJcbiAgICAgIC4uLnRoaXMuaGVhZGVycyxcclxuICAgICAgLi4uaGVhZGVycyxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IF9wcm92aWRlclBheWxvYWQ6IFRhYmxlUHJvdmlkZXJSZXF1ZXN0ID0ge1xyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBoZWFkZXJzOiBfaGVhZGVycyxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IF9jdXN0b21QYXlsb2FkOiBUYWJsZUN1c3RvbVJlcXVlc3QgPSB7XHJcbiAgICAgIHVybDogdGhpcy5jdXN0b21Vcmw/LnVybCxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcnM6IF9oZWFkZXJzLFxyXG4gICAgICBwYXlsb2FkOiBfLm1lcmdlKFxyXG4gICAgICAgIHt9LFxyXG4gICAgICAgIHRoaXMuY3VzdG9tVXJsPy5wYXlsb2FkIHx8IHt9LFxyXG4gICAgICAgIHRoaXMuY3VzdG9tRmlsdGVycz8ucGF5bG9hZCB8fCB7fVxyXG4gICAgICApLFxyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgcmVxdWVzdERhdGE6IFRhYmxlUHJvdmlkZXJSZXF1ZXN0IHwgVGFibGVDdXN0b21SZXF1ZXN0ID0gdGhpcy5jdXN0b21VcmxcclxuICAgICAgPyBfY3VzdG9tUGF5bG9hZFxyXG4gICAgICA6IF9wcm92aWRlclBheWxvYWQ7XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU3VibWl0U3RyaW5nID0gdGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0O1xyXG4gICAgaWYgKHR5cGVvZiBiZWZvcmVTdWJtaXRTdHJpbmcgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJlcXVlc3REYXRhID0gYXdhaXQgdGhpcy5fdGFibGVIb29rc1NlcnZpY2UuZXZhbHVhdGUoXHJcbiAgICAgICAgYmVmb3JlU3VibWl0U3RyaW5nLFxyXG4gICAgICAgIHJlcXVlc3REYXRhXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdERhdGEgPSBhd2FpdCB0aGlzLl90YWJsZUhvb2tzU2VydmljZS5leGVjdXRlQmVmb3JlU3VibWl0KFxyXG4gICAgICByZXF1ZXN0RGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBsZXQgcXVlcnkkOiBPYnNlcnZhYmxlPHVua25vd24+O1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tVXJsKSB7XHJcbiAgICAgIGNvbnN0IF9yZXF1ZXN0ID0gcmVxdWVzdERhdGEgYXMgVGFibGVDdXN0b21SZXF1ZXN0O1xyXG5cclxuICAgICAgcXVlcnkkID0gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogX3JlcXVlc3QudXJsLFxyXG4gICAgICAgICAgbWV0aG9kOiB0aGlzLmN1c3RvbVVybC5tZXRob2QsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBfcmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgICAgX3JlcXVlc3QuaGVhZGVycyxcclxuICAgICAgICBfcmVxdWVzdC5wYXlsb2FkXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBfcmVxdWVzdCA9IHJlcXVlc3REYXRhIGFzIFRhYmxlUHJvdmlkZXJSZXF1ZXN0O1xyXG4gICAgICBxdWVyeSQgPSB0aGlzLmNhbGxBcGkucXVlcnkoX3JlcXVlc3QucXVlcnksIF9yZXF1ZXN0Lm9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHF1ZXJ5JFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25Mb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMub25Mb2FkLmVtaXQocmVzKTtcclxuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgIHRoaXMub25Jbml0aWFsaXplLmVtaXQocmVzKTtcclxuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXMuZW50cmllcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcyAmJlxyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiZcclxuICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXNbJ2NyZWF0b3JGdWxsT2JqZWN0J10gPSB7XHJcbiAgICAgICAgICAgICAgLi4uZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yID1cclxuICAgICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcz8uZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5sYXN0TmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50LnByb3BlcnRpZXMgJiYgZWxlbWVudC5wcm9wZXJ0aWVzPy5hc3NpZ25lZSkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXMuYXNzaWduZWUgPSBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlLmZ1bGxOYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gaWYodGhpcy5oaWdsaWdodFVucmVhZCl7XHJcbiAgICAgICAgICAvLyBcdHRoaXMuY2VjaGtJZlJlYWRPck5vdChlbGVtZW50LnByb3BlcnRpZXMpO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLnJlc3VsdHNDb3VudDtcclxuICAgICAgICB0aGlzLnJvd3MgPSByZXMuZW50cmllcztcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgLy8gZW1pdCBkYXRhIHRvIG91dHNpZGUgaW4gY2FzZSBvZiBzZWFyY2ggcGFnZSBmb3IgdGhlIGZpcnN0IHRpbWUgb25seSB0byBwcmV2ZW50IHJlZnJlc2hpbmcgYWdncmVnYXRpb24gd2l0aCBldmVyeSBwYWdlIGNoYW5nZVxyXG4gICAgICAgIC8vIGFuZCBmb3IgYW55IG90aGVyIHBhZ2UgdHlwZSBlbWl0IGRhdGEgZGlyZWN0bHkgaW4gYWxsIHBhZ2UgbnVtYmVyc1xyXG4gICAgICAgIGlmICgodGhpcy5pc1NlYXJjaFBhZ2UgJiYgdGhpcy5wYWdlTnVtID09PSAxKSB8fCAhdGhpcy5pc1NlYXJjaFBhZ2UpXHJcbiAgICAgICAgICB0aGlzLm9uR2V0dGluZ0RhdGEuZW1pdChyZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdoZW4gY2xpY2tpbmcgb24gc2luZ2xlIHJvd1xyXG4gIHJvd0RldGFpbHMoZXZlbnQpIHtcclxuICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGluZGV4RGV0YWlscyhldmVudCkge1xyXG4gICAgdGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvL2Z1bmN0aW9uIHRvIGhhbmRsZSBhbGwgb3BlcmF0aW9ucyBvbiBzaW5nbGUgcm93IChkZWxldGUgLCBlZGl0ICwgLi4uKVxyXG4gIHBlcmZvcm1BY3Rpb24oYWN0aW9uKSB7XHJcbiAgICB0aGlzLmFjdGlvbk9uUm93LmVtaXQoYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8vIGhhbmRsZSBzb3J0aW5nIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlXHJcbiAgb25Tb3J0KHNvcnRPYmplY3QpIHtcclxuICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChzb3J0T2JqZWN0KTtcclxuICAgIHRoaXMuc29ydGluZ0J5ID0gc29ydE9iamVjdDtcclxuICAgIHRoaXMuc29ydGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmdldERhdGEoXHJcbiAgICAgIHt9LFxyXG4gICAgICB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25NdWx0aVJvd1NlbGVjdFZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uTXVsdGlSb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLl9wYWdlTnVtYmVyID0gZXZlbnQ7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMub25QYWdlLmVtaXQoe1xyXG4gICAgICBwYWdlSW5kZXg6IHRoaXMuX3BhZ2VOdW1iZXIsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBsZW5ndGg6IHRoaXMudG90YWxSZWNvcmRzLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdldERhdGEoXHJcbiAgICAgIHt9LFxyXG4gICAgICB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICB0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuICAgIHRoaXMuZ2V0RGF0YShcclxuICAgICAge30sXHJcbiAgICAgIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjZWNoa0lmUmVhZE9yTm90KGVsZW1lbnQpIHtcclxuICAgIC8vIGNoZWNrIGlmIGxvZ2VkIGluIHVzZXIgaXMgaW4gdmlld2VycyBhcnJheSBvciBub3RcclxuICAgIGlmIChlbGVtZW50Wyd2aWV3ZXJzOnVzZXJzJ10gJiYgZWxlbWVudFsndmlld2Vyczp1c2VycyddLmxlbmd0aCkge1xyXG4gICAgICBlbGVtZW50LmlzUmVhZGVkID0gZmFsc2U7XHJcbiAgICAgIGVsZW1lbnRbJ3ZpZXdlcnM6dXNlcnMnXS5tYXAoKHVzZXIpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB1c2VyLnVzZXJuYW1lID09PVxyXG4gICAgICAgICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUgJiZcclxuICAgICAgICAgIHVzZXIuc3RhdGUgPT09ICdyZWFkJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZWxlbWVudC5pc1JlYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGVsZW1lbnQuaXNSZWFkZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndyYXBwaW5nIHRhYmxlLXdyYXBwaW5nXCI+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGVnYWN5TW9kZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd3MubGVuZ3RoXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIiAqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIj5cclxuXHRcdDxuZy1jb250YWluZXIgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ0lmPVwiIWluaXRpYWxpemVkXCJcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25cIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEwIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInBhZ2luYXRpb24taW5lci13cmFwZXIgbXktM1wiXHJcblx0XHRbbmdDbGFzc109XCJ7IHJlbGF0aXZlOiBwYWdlU2l6ZXM/Lmxlbmd0aCB9XCJcclxuXHRcdCpuZ0lmPVwicm93cy5sZW5ndGggXCJcclxuXHQ+XHJcblx0XHQ8Y3RzLXBhZ2luYXRpb25cclxuICAgICAgKm5nSWY9XCJ0b3RhbFJlY29yZHMgPiBwYWdlU2l6ZVwiXHJcblx0XHRcdFtwYWdlXT1cInBhZ2VOdW1cIlxyXG5cdFx0XHQoY2hhbmdlKT1cInBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFtzaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0W2NvdW50XT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHQ+PC9jdHMtcGFnaW5hdGlvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBuZGZQYWdlU2l6ZXMgZmxleCBnYXAteC0zIGl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcblx0XHRcdDxuZGYtcGFnZS1zaXplcy1saXN0XHJcblx0XHRcdFx0Km5nSWY9XCJwYWdlU2l6ZXM/Lmxlbmd0aFwiXHJcblx0XHRcdFx0W3BhZ2VTaXplc109XCJwYWdlU2l6ZXNcIlxyXG5cdFx0XHRcdFtzZWxlY3RlZFBhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0XHQob25DaGFuZ2VQYWdlU2l6ZSk9XCJvbkNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdDwvbmRmLXBhZ2Utc2l6ZXMtbGlzdD5cclxuXHJcblx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd1RvdGFsUmVjb3JkXCI+e3sgJ1RBQkxFLnRvdGFsUmVjb3JkcycgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHRvdGFsUmVjb3JkcyB9IH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiaXNMZWdhY3lNb2RlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGVtcGxhdGUgfHwgbGVnYWN5RGVmYXVsdEVtcHR5U3RhdGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsb2FkaW5nLCByb3dzOiByb3dzLCBpbml0aWFsaXplZDogaW5pdGlhbGl6ZWQgfVwiXHJcblx0PjwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8bmctY29udGFpbmVyXHJcblx0XHQqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBkZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0YWJsZT5cclxuXHQ8Y3RzLXRhYmxlXHJcblx0XHRbcm93c109XCJyb3dzXCJcclxuXHRcdFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG5cdFx0W3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuXHRcdFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuXHRcdFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuXHRcdFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG5cdFx0W3ByZWZpeF09XCJwcmVmaXhcIlxyXG5cdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG5cdFx0W3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG5cdFx0W2hpZ2xpZ2h0VW5yZWFkXT1cImhpZ2xpZ2h0VW5yZWFkXCJcclxuXHRcdFtjb21wb25lbnROYW1lXT1cImNvbXBvbmVudE5hbWVcIlxyXG5cdFx0W211bHRpU2VsZWN0Um93c109XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG5cdFx0W3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG5cdFx0W3Nob3dBY3Rpb25zQXNNZW51XT1cInNob3dBY3Rpb25zQXNNZW51XCJcclxuXHRcdFtkZWZ1bHRTb3J0XT1cImRlZnVsdFNvcnRcIlxyXG5cdFx0W2Zvcm1hdF09XCJmb3JtYXRcIlxyXG5cdFx0W2hpZ2hsaWdodFNlbGVjdGVkQ2FyZF09XCJoaWdobGlnaHRTZWxlY3RlZENhcmRcIlxyXG5cdFx0W2N1c3RvbUZpcnN0Um93XT1cImN1c3RvbUZpcnN0Um93XCJcclxuXHRcdChvblJvd1NlbGVjdGVkKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcblx0XHQob25Sb3dJbmRleFNlbGVjdGVkKT1cImluZGV4RGV0YWlscygkZXZlbnQpXCJcclxuXHRcdChvbk11bHRpUm93U2VsZWN0ZWQpPVwib25NdWx0aVJvd1NlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0KGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcblx0XHQob25Tb3J0aW5nKT1cIm9uU29ydCgkZXZlbnQpXCJcclxuXHQ+PC9jdHMtdGFibGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xlZ2FjeURlZmF1bHRFbXB0eVN0YXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnbm9EYXRhJyA6ICdub0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCJsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ2dldHRpbmdEYXRhJyA6ICdnZXR0aW5nRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5U3RhdGU+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdub0RhdGEnIDogJ25vRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2ICpuZ0lmPVwibG9hZGluZyAmJiBpbml0aWFsaXplZFwiIGNsYXNzPVwibG9hZGluZy1jb250ZW50XCI+XHJcblx0XHQ8bWF0LXNwaW5uZXIgW2RpYW1ldGVyXT1cIjEwMFwiPjwvbWF0LXNwaW5uZXI+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NrZWxldG9uIGxldC1yb3dzPlxyXG5cdDx0YWJsZSBjbGFzcz1cInctZnVsbFwiPlxyXG5cdFx0PHRoZWFkICpuZ0lmPVwiZmFsc2VcIj5cclxuXHRcdFx0PHRyIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyZWVuLTkwMFwiPlxyXG5cdFx0XHRcdDx0aCAqbmdJZj1cIm11bHRpU2VsZWN0Um93c1wiIGNsYXNzPVwicC0zIHB5LTRcIiBzdHlsZT1cIndpZHRoOiA2MHB4XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIHdpZHRoPVwiNjBweFwiIGhlaWdodD1cIjEuM3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0PHRoICpuZ0Zvcj1cImxldCBudW0gb2YgW10uY29uc3RydWN0b3IoY29sdW1ucz8ubGVuZ3RoIHx8IDQpOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJweC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjdyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90aGVhZD5cclxuXHRcdDx0Ym9keT5cclxuXHRcdFx0PHRyICpuZ0Zvcj1cImxldCByb3cgb2YgW10uY29uc3RydWN0b3Iocm93cyB8fCAxMCk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JheS0yMDBcIj5cclxuXHRcdFx0XHQ8dGQgKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIiBjbGFzcz1cInAtMyBweS00XCIgc3R5bGU9XCJ3aWR0aDogNTBweFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiB3aWR0aD1cIjUwcHhcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIFtdLmNvbnN0cnVjdG9yKGNvbHVtbnM/Lmxlbmd0aCB8fCA0KTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90Ym9keT5cclxuXHQ8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
414
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFnQnJFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQVdILE1BQU0sT0FBTyxxQkFDWCxTQUFRLGNBQWM7SUF3SHRCLFlBQ1UsT0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLEdBQXNCLEVBQ3RCLGtCQUFxQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQVBBLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZC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QWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVOLFlBQVk7c0JBRFgsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBU0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yL3BhZ2luYXRvcic7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXN0cm95U3ViamVjdCwgRXZhbHVhdGVkU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgRU1QVFlfVEVNUExBVEUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9keW5hbWljLXRhYmxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZUhvb2tzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLWhvb2tzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVQcm92aWRlclJlcXVlc3QgPSB7XHJcbiAgcXVlcnk6IHsgcGFnZVByb3ZpZGVyOiBzdHJpbmc7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIG9wdGlvbnM6IHsgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVDdXN0b21SZXF1ZXN0ID0ge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcblxyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYW4gYWRkaXRpb25hbCBsYXllciB0aGF0IHVzZXMgW1RhYmxlIENvbXBvbmVudF17QGxpbmsgVGFibGVDb21wb25lbnR9IGludGVybmFsbHksXHJcbiAqIHlvdSBjYW4gdXNlIHRoaXMgY29tcG9uZW50IHRvIGNvbmZpZ3VyZSBhIHBhZ2UgcHJvdmlkZXIgbGlzdGluZyBvdXQgb2YgdGhlIGJveCBlYXNpbHksXHJcbiAqIGFuZCBpdCB3aWxsIGhhbmRsZSBhbGwgb2YgdGhlIGJhc2ljIGZlYXR1cmVzIHN1Y2ggYXMgZ2V0dGluZyBkYXRhIGZyb20gQVBJLCBMaXN0aW5nLCBQYWdpbmF0aW9uLCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmdcclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFRhYmxlXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gKiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICogICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gKiAgICBbcGFnZVNpemVdPVwiUGFnZVNpemVcIlxyXG4gKiAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiXHJcbiAqICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gKiAgICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgIFtlbnRpdHlUeXBlXT1cIidhbGwnXCJcclxuICogICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gKiAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAqICAgIFtyb3dDdXJzb3JdPVwidHJ1ZVwiXHJcbiAqICAgIFtxdWVyeVBhcmFtXT1cInF1ZXJ5UGFyYW1cIlxyXG4gKiAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICAgKG9uUm93U2VsZWN0ZWQpPVwib3BlblZpZXdlcigkZXZlbnQpXCJcclxuICogICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MubG9hZGluZy1yZXN1bHRzXSc6ICdsb2FkaW5nJyxcclxuICAgICdbY2xhc3Mubm8tZGF0YV0nOiAncm93cy5sZW5ndGggPD0gMCcsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRGVzdHJveVN1YmplY3RcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93ICAqL1xyXG4gIEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG4gIEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0IGVtaXQgd2hlbiBzZWxlY3RpbmcgbXVsdGlwbGUgcm93ICovXHJcbiAgQE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdCBlbWl0IHdoZW4gc3RhcnQgZ2V0dGluZyBkYXRhIGFuZCB3aGVuIGZpbmlzaCAqL1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc29ydEJ5OiBzdHJpbmc7XHJcbiAgICBzb3J0T3JkZXI6IHN0cmluZztcclxuICB9PigpO1xyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgb25QYWdlYCBpbnN0ZWFkLlxyXG4gICAqIEBzZWUgb25QYWdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25Mb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkluaXRpYWxpemUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zPztcclxuICAvKiogRGVmaW5lcyB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xyXG4gIC8qKiBUcmFuc2xhdGlvbnMgcHJlZml4ICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIEFQSSBSZXF1ZXN0ICovXHJcbiAgQElucHV0KCkgaGVhZGVycztcclxuICAvKiogRmllbGRzIGtleW1hcCB0byBiZSBtYXBwZWQgaW4gdGhlIGFkYXB0ZXIgKi9cclxuICBASW5wdXQoKSBmaWVsZHM7XHJcbiAgLyoqIFBhZ2UgUHJvdmlkZXIgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSBkYXRhICovXHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDEwO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBoaWdsaWdodFVucmVhZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGVnYWN5TW9kZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RvdGFsUmVjb3JkID0gZmFsc2U7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoRU1QVFlfVEVNUExBVEUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXIgPSAxO1xyXG4gIEBJbnB1dCgpIHNldCBwYWdlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHRoaXMuX3BhZ2VOdW1iZXIgPSBpc05hTigrdmFsdWUpID8gMSA6ICt2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBwYWdlTnVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXI7XHJcbiAgfVxyXG5cclxuICAvKiogU29ydGluZyBjb2x1bW4gKi9cclxuICBASW5wdXQoKSBzb3J0aW5nQnk6IHtcclxuICAgIHNvcnRCeT86IHN0cmluZztcclxuICAgIHNvcnRPcmRlcj86IHN0cmluZztcclxuICB9ID0ge307XHJcbiAgQElucHV0KCkgcXVlcnlQYXJhbT8gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgY3VzdG9tRmlsdGVyczoge1xyXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICAgIHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXI/O1xyXG4gIC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG4gIEBJbnB1dCgpIHJlcG9ydDtcclxuICAvKiogdG8gbWFrZSBjdXJzb3Igd2hlbiBob3ZlciBvbiByb3cgb3Igbm90ICovXHJcbiAgQElucHV0KCkgcm93Q3Vyc29yPztcclxuICBASW5wdXQoKSBmdWxsV2lkdGg/ID0gJ2F1dG8nO1xyXG4gIC8qKiAnbGlzdCcgZm9yIG5vcmFtbCB0YWJsZSAnY2FyZCcgZm9yIGNhcmRzIG1vZGUgbGlrZSBpbiBtZW1vcyAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuXHJcbiAgQElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG4gIC8qKiBhY3Rpb24gdG8gYmUgdXNlZCBpbiBjYXNlIG9mIGNhcmQgbW9kZSAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICBASW5wdXQoKSBkZWZ1bHRTb3J0OiBhbnkgPSB7IG5hbWU6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH07XHJcbiAgQElucHV0KCkgcmFuZ2U7XHJcbiAgQElucHV0KCkgaXNTZWFyY2hQYWdlID0gZmFsc2U7XHJcbiAgLyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG4gIC8qKiB0byBzaG93IDFzdCByb3cgd2l0aCBjdXN0b20gdGVtcGxhdGUgaW4gdGhlIHRhYmxlKi9cclxuICBASW5wdXQoKSBjdXN0b21GaXJzdFJvdyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dBY3Rpb25zQXNNZW51ID0gZmFsc2U7IC8vIGZsYWdlIHRvIHNob3cgYWN0aW9uIGluIG1lbnUgb3Igc2lkZSBieSBzaWRlXHJcbiAgQElucHV0KClcclxuICBmaWx0ZXJQYXJhbXMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgc2tpcEFnZ3JlZ2F0aW9uOiAnbmV2ZXInIHwgJ29uUGFnZUNoYW5nZScgPSAnb25QYWdlQ2hhbmdlJztcclxuICBASW5wdXQoKSBjdXN0b21Vcmw6IHtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgbWV0aG9kOiAnUE9TVCcgfCAnR0VUJztcclxuICAgIHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH07XHJcbiAgQElucHV0KCkgZm9ybWF0ID0gJ01NTU0gZCwgeSc7XHJcblxyXG4gIEBJbnB1dCgpIHJlcXVlc3RBY3Rpb25zPzoge1xyXG4gICAgYmVmb3JlU3VibWl0PzogRXZhbHVhdGVkU3RyaW5nPCdwYXlsb2FkJz47XHJcbiAgfTtcclxuXHJcbiAgcm93cyA9IFtdO1xyXG4gIHRvdGFsUmVjb3JkcyA9IDA7XHJcblxyXG4gIGxvYWRpbmc7XHJcbiAgc29ydGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfT4gPSBbXTtcclxuXHJcbiAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGR5bmFtaWNUYWJsZVNlcnZpY2U6IER5bmFtaWNUYWJsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF90YWJsZUhvb2tzU2VydmljZTogVGFibGVIb29rc1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHluYW1pY1RhYmxlU2VydmljZS5yZWZyZXNoRGF0YVxyXG4gICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZmlsdGVyRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChmaWx0ZXJEYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcyA9IHsgLi4uZmlsdGVyRGF0YSB9O1xyXG4gICAgICAgICAgLy8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcbiAgICAgICAgICB0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgaXNGaXJzdENoYW5nZSA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSgoYykgPT4gYy5pc0ZpcnN0Q2hhbmdlKCkpO1xyXG4gICAgaWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhc0NoYW5nZWQgPSAoaXRlbXM6IHN0cmluZ1tdKSA9PlxyXG4gICAgICBpdGVtcy5zb21lKChrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBpc0VxdWFsID0gXy5pc0VxdWFsKFxyXG4gICAgICAgICAgY2hhbmdlc1trZXldPy5wcmV2aW91c1ZhbHVlIHx8IG51bGwsXHJcbiAgICAgICAgICBjaGFuZ2VzW2tleV0/LmN1cnJlbnRWYWx1ZSB8fCBudWxsXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gIWlzRXF1YWw7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmIChoYXNDaGFuZ2VkKFsncXVlcnlQYXJhbScsICdxdWlja0ZpbHRlcicsICdjdXN0b21GaWx0ZXJzJ10pKSB7XHJcbiAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgICAgdGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7IC8vIFJlc2V0IHBhZ2UgbnVtYmVyIGJlZm9yZSByZWNhbGxpbmcgQVBJIHdpdGggZmlsdGVyc1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChoYXNDaGFuZ2VkKFsnc29ydGluZ0J5J10pKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRQYWdlTnVtYmVyKCkge1xyXG4gICAgdGhpcy5fcGFnZU51bWJlciA9IDE7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHRoaXMuX3BhZ2VOdW1iZXIpO1xyXG4gICAgdGhpcy5vblBhZ2UuZW1pdCh7XHJcbiAgICAgIHBhZ2VJbmRleDogdGhpcy5fcGFnZU51bWJlcixcclxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIGxlbmd0aDogdGhpcy50b3RhbFJlY29yZHMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldERhdGEoXHJcbiAgICBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcbiAgICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7IC8vIGludGVybmFsIGxvYWRpbmdcclxuICAgIHRoaXMub25Mb2FkaW5nLmVtaXQodHJ1ZSk7IC8vIGV4dGVybmFsIGxvYWRpbmdcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLih0aGlzLnJhbmdlID8geyBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlIH0gOiB7fSksXHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcbiAgICAgIC4uLnRoaXMucXVpY2tGaWx0ZXIsXHJcbiAgICAgIC4uLihPYmplY3Qua2V5cyh0aGlzLnNvcnRpbmdCeSB8fCB7fSkubGVuZ3RoXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHNvcnRCeTogdGhpcy5zb3J0aW5nQnk/LnNvcnRCeSxcclxuICAgICAgICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRpbmdCeT8uc29ydE9yZGVyLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge30pLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiArdGhpcy5wYWdlTnVtIC0gMSxcclxuICAgICAgLi4uKHRoaXMucGFnZVNpemUgPyB7IHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0gOiB7fSksXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgLi4ucGF5bG9hZCxcclxuICAgIH07XHJcblxyXG4gICAgLy8gZG9uJ3QgcmVmcmVzaCBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIG9ubHlcclxuICAgIGlmICghdGhpcy5zb3J0aW5nICYmIHRoaXMuaXNMZWdhY3lNb2RlKSB7XHJcbiAgICAgIC8vIHVzZWQgdG8gbm90IHJlZnJlc2hpbmcgYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBzaW5jZSB0YWJsZSBsb3NlIHNvcnRpbmcgc3RhdGUgd2hlbiByZWZyZXNoIGFsbCB0YWJsZVxyXG4gICAgICB0aGlzLnJvd3MgPSBbXTsgLy8gdXNlZCB0byByZWZyZXNoIHRhYmxlIHRvIGZlZWwgY2hhbmdlcyBpbiBhY3Rpb25zIHdoZW4gcGVyZm9ybSBhY3Rpb24gYW5kIG5lZWQgdG8gcmVmcmVzaCBhY3Rpb25zXHJcbiAgICB9XHJcbiAgICB0aGlzLnNvcnRpbmcgPSBmYWxzZTsgLy8gcmVzZXQgc29ydGluZyBzdGF0dXMgdG8gZmFsc2UgYW5kIGZvciBuZXh0IHNvcnRpbmcgZnVuYyBzb3J0aW5nIHNldCBpdCB0byB0cnVlIGFnYWluXHJcblxyXG4gICAgY29uc3QgX2hlYWRlcnMgPSB7XHJcbiAgICAgIC4uLnRoaXMuaGVhZGVycyxcclxuICAgICAgLi4uaGVhZGVycyxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IF9wcm92aWRlclBheWxvYWQ6IFRhYmxlUHJvdmlkZXJSZXF1ZXN0ID0ge1xyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBoZWFkZXJzOiBfaGVhZGVycyxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IF9jdXN0b21QYXlsb2FkOiBUYWJsZUN1c3RvbVJlcXVlc3QgPSB7XHJcbiAgICAgIHVybDogdGhpcy5jdXN0b21Vcmw/LnVybCxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcnM6IF9oZWFkZXJzLFxyXG4gICAgICBwYXlsb2FkOiBfLm1lcmdlKFxyXG4gICAgICAgIHt9LFxyXG4gICAgICAgIHRoaXMuY3VzdG9tVXJsPy5wYXlsb2FkIHx8IHt9LFxyXG4gICAgICAgIHRoaXMuY3VzdG9tRmlsdGVycz8ucGF5bG9hZCB8fCB7fVxyXG4gICAgICApLFxyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgcmVxdWVzdERhdGE6IFRhYmxlUHJvdmlkZXJSZXF1ZXN0IHwgVGFibGVDdXN0b21SZXF1ZXN0ID0gdGhpcy5jdXN0b21VcmxcclxuICAgICAgPyBfY3VzdG9tUGF5bG9hZFxyXG4gICAgICA6IF9wcm92aWRlclBheWxvYWQ7XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU3VibWl0U3RyaW5nID0gdGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0O1xyXG4gICAgaWYgKHR5cGVvZiBiZWZvcmVTdWJtaXRTdHJpbmcgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJlcXVlc3REYXRhID0gYXdhaXQgdGhpcy5fdGFibGVIb29rc1NlcnZpY2UuZXZhbHVhdGUoXHJcbiAgICAgICAgYmVmb3JlU3VibWl0U3RyaW5nLFxyXG4gICAgICAgIHJlcXVlc3REYXRhXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdERhdGEgPSBhd2FpdCB0aGlzLl90YWJsZUhvb2tzU2VydmljZS5leGVjdXRlQmVmb3JlU3VibWl0KFxyXG4gICAgICByZXF1ZXN0RGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBsZXQgcXVlcnkkOiBPYnNlcnZhYmxlPHVua25vd24+O1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tVXJsKSB7XHJcbiAgICAgIGNvbnN0IF9yZXF1ZXN0ID0gcmVxdWVzdERhdGEgYXMgVGFibGVDdXN0b21SZXF1ZXN0O1xyXG5cclxuICAgICAgcXVlcnkkID0gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogX3JlcXVlc3QudXJsLFxyXG4gICAgICAgICAgbWV0aG9kOiB0aGlzLmN1c3RvbVVybC5tZXRob2QsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBfcmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgICAgX3JlcXVlc3QuaGVhZGVycyxcclxuICAgICAgICBfcmVxdWVzdC5wYXlsb2FkXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBfcmVxdWVzdCA9IHJlcXVlc3REYXRhIGFzIFRhYmxlUHJvdmlkZXJSZXF1ZXN0O1xyXG4gICAgICBxdWVyeSQgPSB0aGlzLmNhbGxBcGkucXVlcnkoX3JlcXVlc3QucXVlcnksIF9yZXF1ZXN0Lm9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHF1ZXJ5JFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25Mb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMub25Mb2FkLmVtaXQocmVzKTtcclxuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgIHRoaXMub25Jbml0aWFsaXplLmVtaXQocmVzKTtcclxuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXMuZW50cmllcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcyAmJlxyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiZcclxuICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXNbJ2NyZWF0b3JGdWxsT2JqZWN0J10gPSB7XHJcbiAgICAgICAgICAgICAgLi4uZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yID1cclxuICAgICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcz8uZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5sYXN0TmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50LnByb3BlcnRpZXMgJiYgZWxlbWVudC5wcm9wZXJ0aWVzPy5hc3NpZ25lZSkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXMuYXNzaWduZWUgPSBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlLmZ1bGxOYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gaWYodGhpcy5oaWdsaWdodFVucmVhZCl7XHJcbiAgICAgICAgICAvLyBcdHRoaXMuY2VjaGtJZlJlYWRPck5vdChlbGVtZW50LnByb3BlcnRpZXMpO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLnJlc3VsdHNDb3VudDtcclxuICAgICAgICB0aGlzLnJvd3MgPSByZXMuZW50cmllcztcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgLy8gZW1pdCBkYXRhIHRvIG91dHNpZGUgaW4gY2FzZSBvZiBzZWFyY2ggcGFnZSBmb3IgdGhlIGZpcnN0IHRpbWUgb25seSB0byBwcmV2ZW50IHJlZnJlc2hpbmcgYWdncmVnYXRpb24gd2l0aCBldmVyeSBwYWdlIGNoYW5nZVxyXG4gICAgICAgIC8vIGFuZCBmb3IgYW55IG90aGVyIHBhZ2UgdHlwZSBlbWl0IGRhdGEgZGlyZWN0bHkgaW4gYWxsIHBhZ2UgbnVtYmVyc1xyXG4gICAgICAgIGlmICgodGhpcy5pc1NlYXJjaFBhZ2UgJiYgdGhpcy5wYWdlTnVtID09PSAxKSB8fCAhdGhpcy5pc1NlYXJjaFBhZ2UpXHJcbiAgICAgICAgICB0aGlzLm9uR2V0dGluZ0RhdGEuZW1pdChyZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdoZW4gY2xpY2tpbmcgb24gc2luZ2xlIHJvd1xyXG4gIHJvd0RldGFpbHMoZXZlbnQpIHtcclxuICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGluZGV4RGV0YWlscyhldmVudCkge1xyXG4gICAgdGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvL2Z1bmN0aW9uIHRvIGhhbmRsZSBhbGwgb3BlcmF0aW9ucyBvbiBzaW5nbGUgcm93IChkZWxldGUgLCBlZGl0ICwgLi4uKVxyXG4gIHBlcmZvcm1BY3Rpb24oYWN0aW9uKSB7XHJcbiAgICB0aGlzLmFjdGlvbk9uUm93LmVtaXQoYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8vIGhhbmRsZSBzb3J0aW5nIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlXHJcbiAgb25Tb3J0KHNvcnRPYmplY3QpIHtcclxuICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChzb3J0T2JqZWN0KTtcclxuICAgIHRoaXMuc29ydGluZ0J5ID0gc29ydE9iamVjdDtcclxuICAgIHRoaXMuc29ydGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmdldERhdGEoXHJcbiAgICAgIHt9LFxyXG4gICAgICB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25NdWx0aVJvd1NlbGVjdFZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uTXVsdGlSb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLl9wYWdlTnVtYmVyID0gZXZlbnQ7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMub25QYWdlLmVtaXQoe1xyXG4gICAgICBwYWdlSW5kZXg6IHRoaXMuX3BhZ2VOdW1iZXIsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBsZW5ndGg6IHRoaXMudG90YWxSZWNvcmRzLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdldERhdGEoXHJcbiAgICAgIHt9LFxyXG4gICAgICB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICB0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuICAgIHRoaXMuZ2V0RGF0YShcclxuICAgICAge30sXHJcbiAgICAgIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjZWNoa0lmUmVhZE9yTm90KGVsZW1lbnQpIHtcclxuICAgIC8vIGNoZWNrIGlmIGxvZ2VkIGluIHVzZXIgaXMgaW4gdmlld2VycyBhcnJheSBvciBub3RcclxuICAgIGlmIChlbGVtZW50Wyd2aWV3ZXJzOnVzZXJzJ10gJiYgZWxlbWVudFsndmlld2Vyczp1c2VycyddLmxlbmd0aCkge1xyXG4gICAgICBlbGVtZW50LmlzUmVhZGVkID0gZmFsc2U7XHJcbiAgICAgIGVsZW1lbnRbJ3ZpZXdlcnM6dXNlcnMnXS5tYXAoKHVzZXIpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB1c2VyLnVzZXJuYW1lID09PVxyXG4gICAgICAgICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUgJiZcclxuICAgICAgICAgIHVzZXIuc3RhdGUgPT09ICdyZWFkJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZWxlbWVudC5pc1JlYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGVsZW1lbnQuaXNSZWFkZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndyYXBwaW5nIHRhYmxlLXdyYXBwaW5nXCI+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGVnYWN5TW9kZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd3MubGVuZ3RoXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIiAqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIj5cclxuXHRcdDxuZy1jb250YWluZXIgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ0lmPVwiIWluaXRpYWxpemVkXCJcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25cIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEwIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInBhZ2luYXRpb24taW5lci13cmFwZXIgbXktM1wiXHJcblx0XHRbbmdDbGFzc109XCJ7IHJlbGF0aXZlOiBwYWdlU2l6ZXM/Lmxlbmd0aCB9XCJcclxuXHRcdCpuZ0lmPVwicm93cy5sZW5ndGggXCJcclxuXHQ+XHJcblx0XHQ8Y3RzLXBhZ2luYXRpb25cclxuICAgICAgKm5nSWY9XCJ0b3RhbFJlY29yZHMgPiBwYWdlU2l6ZVwiXHJcblx0XHRcdFtwYWdlXT1cInBhZ2VOdW1cIlxyXG5cdFx0XHQoY2hhbmdlKT1cInBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFtzaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0W2NvdW50XT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHQ+PC9jdHMtcGFnaW5hdGlvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBuZGZQYWdlU2l6ZXMgZmxleCBnYXAteC0zIGl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcblx0XHRcdDxuZGYtcGFnZS1zaXplcy1saXN0XHJcblx0XHRcdFx0Km5nSWY9XCJwYWdlU2l6ZXM/Lmxlbmd0aFwiXHJcblx0XHRcdFx0W3BhZ2VTaXplc109XCJwYWdlU2l6ZXNcIlxyXG5cdFx0XHRcdFtzZWxlY3RlZFBhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0XHQob25DaGFuZ2VQYWdlU2l6ZSk9XCJvbkNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdDwvbmRmLXBhZ2Utc2l6ZXMtbGlzdD5cclxuXHJcblx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd1RvdGFsUmVjb3JkXCI+e3sgJ1RBQkxFLnRvdGFsUmVjb3JkcycgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHRvdGFsUmVjb3JkcyB9IH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiaXNMZWdhY3lNb2RlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGVtcGxhdGUgfHwgbGVnYWN5RGVmYXVsdEVtcHR5U3RhdGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsb2FkaW5nLCByb3dzOiByb3dzLCBpbml0aWFsaXplZDogaW5pdGlhbGl6ZWQgfVwiXHJcblx0PjwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8bmctY29udGFpbmVyXHJcblx0XHQqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBkZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0YWJsZT5cclxuXHQ8Y3RzLXRhYmxlXHJcblx0XHRbcm93c109XCJyb3dzXCJcclxuXHRcdFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG5cdFx0W3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuXHRcdFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuXHRcdFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuXHRcdFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG5cdFx0W3ByZWZpeF09XCJwcmVmaXhcIlxyXG5cdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG5cdFx0W3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG5cdFx0W2hpZ2xpZ2h0VW5yZWFkXT1cImhpZ2xpZ2h0VW5yZWFkXCJcclxuXHRcdFtjb21wb25lbnROYW1lXT1cImNvbXBvbmVudE5hbWVcIlxyXG5cdFx0W211bHRpU2VsZWN0Um93c109XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG5cdFx0W3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG5cdFx0W3Nob3dBY3Rpb25zQXNNZW51XT1cInNob3dBY3Rpb25zQXNNZW51XCJcclxuXHRcdFtkZWZ1bHRTb3J0XT1cImRlZnVsdFNvcnRcIlxyXG5cdFx0W2Zvcm1hdF09XCJmb3JtYXRcIlxyXG5cdFx0W2hpZ2hsaWdodFNlbGVjdGVkQ2FyZF09XCJoaWdobGlnaHRTZWxlY3RlZENhcmRcIlxyXG5cdFx0W2N1c3RvbUZpcnN0Um93XT1cImN1c3RvbUZpcnN0Um93XCJcclxuXHRcdChvblJvd1NlbGVjdGVkKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcblx0XHQob25Sb3dJbmRleFNlbGVjdGVkKT1cImluZGV4RGV0YWlscygkZXZlbnQpXCJcclxuXHRcdChvbk11bHRpUm93U2VsZWN0ZWQpPVwib25NdWx0aVJvd1NlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0KGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcblx0XHQob25Tb3J0aW5nKT1cIm9uU29ydCgkZXZlbnQpXCJcclxuXHQ+PC9jdHMtdGFibGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xlZ2FjeURlZmF1bHRFbXB0eVN0YXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnbm9EYXRhJyA6ICdub0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCJsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ2dldHRpbmdEYXRhJyA6ICdnZXR0aW5nRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5U3RhdGU+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdub0RhdGEnIDogJ25vRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2ICpuZ0lmPVwibG9hZGluZyAmJiBpbml0aWFsaXplZFwiIGNsYXNzPVwibG9hZGluZy1jb250ZW50XCI+XHJcblx0XHQ8bWF0LXNwaW5uZXIgW2RpYW1ldGVyXT1cIjEwMFwiPjwvbWF0LXNwaW5uZXI+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NrZWxldG9uIGxldC1yb3dzPlxyXG5cdDx0YWJsZSBjbGFzcz1cInctZnVsbFwiPlxyXG5cdFx0PHRoZWFkICpuZ0lmPVwiZmFsc2VcIj5cclxuXHRcdFx0PHRyIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyZWVuLTkwMFwiPlxyXG5cdFx0XHRcdDx0aCAqbmdJZj1cIm11bHRpU2VsZWN0Um93c1wiIGNsYXNzPVwicC0zIHB5LTRcIiBzdHlsZT1cIndpZHRoOiA2MHB4XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIHdpZHRoPVwiNjBweFwiIGhlaWdodD1cIjEuM3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0PHRoICpuZ0Zvcj1cImxldCBudW0gb2YgW10uY29uc3RydWN0b3IoY29sdW1ucz8ubGVuZ3RoIHx8IDQpOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJweC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjdyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90aGVhZD5cclxuXHRcdDx0Ym9keT5cclxuXHRcdFx0PHRyICpuZ0Zvcj1cImxldCByb3cgb2YgW10uY29uc3RydWN0b3Iocm93cyB8fCAxMCk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JheS0yMDBcIj5cclxuXHRcdFx0XHQ8dGQgKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIiBjbGFzcz1cInAtMyBweS00XCIgc3R5bGU9XCJ3aWR0aDogNTBweFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiB3aWR0aD1cIjUwcHhcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIFtdLmNvbnN0cnVjdG9yKGNvbHVtbnM/Lmxlbmd0aCB8fCA0KTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90Ym9keT5cclxuXHQ8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
- import { Evaluator } from '../../../../shared';
3
+ import { Utils } from 'formiojs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TableHooksService {
6
6
  constructor() {
@@ -36,7 +36,7 @@ export class TableHooksService {
36
36
  evaluate(expr, payload) {
37
37
  try {
38
38
  const context = { criteria: payload };
39
- const result = Evaluator.evaluate(expr, context, 'payload');
39
+ const result = Utils.evaluate(expr, context, 'payload');
40
40
  return result !== null && result !== void 0 ? result : payload;
41
41
  }
42
42
  catch (e) {
@@ -50,7 +50,7 @@ TableHooksService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, decorators: [{
51
51
  type: Injectable,
52
52
  args: [{
53
- providedIn: 'root'
53
+ providedIn: 'root',
54
54
  }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaG9va3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2R5bmFtaWMtdGFibGUvc2VydmljZXMvdGFibGUtaG9va3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBUS9DLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJUyxzQkFBaUIsR0FBaUMsRUFBRSxDQUFDO0tBMEM3RDtJQXhDQyxvQkFBb0IsQ0FBZ0QsT0FBaUM7UUFDckcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsc0JBQXNCLENBQUksT0FBaUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0YsQ0FBQztJQUVELHNCQUFzQjtRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFSyxtQkFBbUIsQ0FBZ0MsT0FBVTs7WUFDbEUsSUFBSSxlQUFlLHFCQUFRLE9BQU8sQ0FBRSxDQUFDO1lBRXJDLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUM3QyxJQUFJO29CQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztvQkFDL0QsZUFBZSxHQUFHLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLGVBQWUsQ0FBQztpQkFDNUM7Z0JBQUMsT0FBTyxHQUFHLEVBQUU7b0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDNUQ7YUFDRDtZQUVELE9BQU8sZUFBZSxDQUFDO1FBQ3hCLENBQUM7S0FBQTtJQUVELFFBQVEsQ0FBZ0MsSUFBWSxFQUFFLE9BQVU7UUFDL0QsSUFBSTtZQUNILE1BQU0sT0FBTyxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxPQUFPLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLE9BQU8sQ0FBQztTQUN6QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRCxPQUFPLE9BQU8sQ0FBQztTQUNmO0lBQ0YsQ0FBQzs7K0dBMUNXLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmpCLE1BQU07NEZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXZhbHVhdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgVGFibGVDdXN0b21SZXF1ZXN0LCBUYWJsZVByb3ZpZGVyUmVxdWVzdCB9IGZyb20gJy4uL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVCZWZvcmVTdWJtaXRIb29rPFQ+ID0gKHBheWxvYWQ6IFQpID0+IFQgfCBQcm9taXNlPFQ+O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVIb29rc1NlcnZpY2Uge1xyXG5cdHByaXZhdGUgYmVmb3JlU3VibWl0SG9va3M6IFRhYmxlQmVmb3JlU3VibWl0SG9vazxhbnk+W10gPSBbXTtcclxuXHJcbiAgcmVnaXN0ZXJCZWZvcmVTdWJtaXQ8VCA9IFRhYmxlUHJvdmlkZXJSZXF1ZXN0IHwgVGFibGVDdXN0b21SZXF1ZXN0PihoYW5kbGVyOiBUYWJsZUJlZm9yZVN1Ym1pdEhvb2s8VD4pOiB2b2lkIHtcclxuXHRcdHRoaXMuYmVmb3JlU3VibWl0SG9va3MucHVzaChoYW5kbGVyKTtcclxuXHR9XHJcblxyXG5cdHVucmVnaXN0ZXJCZWZvcmVTdWJtaXQ8VD4oaGFuZGxlcjogVGFibGVCZWZvcmVTdWJtaXRIb29rPFQ+KTogdm9pZCB7XHJcblx0XHRjb25zdCBpbmRleCA9IHRoaXMuYmVmb3JlU3VibWl0SG9va3MuaW5kZXhPZihoYW5kbGVyKTtcclxuXHRcdGlmIChpbmRleCA+IC0xKSB7XHJcblx0XHRcdHRoaXMuYmVmb3JlU3VibWl0SG9va3Muc3BsaWNlKGluZGV4LCAxKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNsZWFyQmVmb3JlU3VibWl0SG9va3MoKTogdm9pZCB7XHJcblx0XHR0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzID0gW107XHJcblx0fVxyXG5cclxuXHRhc3luYyBleGVjdXRlQmVmb3JlU3VibWl0PFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihwYXlsb2FkOiBUKTogUHJvbWlzZTxUPiB7XHJcblx0XHRsZXQgbW9kaWZpZWRQYXlsb2FkID0geyAuLi5wYXlsb2FkIH07XHJcblxyXG5cdFx0Zm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuYmVmb3JlU3VibWl0SG9va3MpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoaGFuZGxlcihtb2RpZmllZFBheWxvYWQpKTtcclxuXHRcdFx0XHRtb2RpZmllZFBheWxvYWQgPSByZXN1bHQgPz8gbW9kaWZpZWRQYXlsb2FkO1xyXG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciBleGVjdXRpbmcgYmVmb3JlU3VibWl0IGhhbmRsZXI6JywgZXJyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBtb2RpZmllZFBheWxvYWQ7XHJcblx0fVxyXG5cclxuXHRldmFsdWF0ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oZXhwcjogc3RyaW5nLCBwYXlsb2FkOiBUKTogVCB7XHJcblx0XHR0cnkge1xyXG5cdFx0XHRjb25zdCBjb250ZXh0ID0geyBjcml0ZXJpYTogcGF5bG9hZCB9O1xyXG5cdFx0XHRjb25zdCByZXN1bHQgPSBFdmFsdWF0b3IuZXZhbHVhdGUoZXhwciwgY29udGV4dCwgJ3BheWxvYWQnKTtcclxuXHRcdFx0cmV0dXJuIHJlc3VsdCA/PyBwYXlsb2FkO1xyXG5cdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGJlZm9yZVN1Ym1pdCBzdHJpbmc6JywgZSk7XHJcblx0XHRcdHJldHVybiBwYXlsb2FkO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaG9va3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2R5bmFtaWMtdGFibGUvc2VydmljZXMvdGFibGUtaG9va3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVdqQyxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSVUsc0JBQWlCLEdBQWlDLEVBQUUsQ0FBQztLQThDOUQ7SUE1Q0Msb0JBQW9CLENBQ2xCLE9BQWlDO1FBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELHNCQUFzQixDQUFJLE9BQWlDO1FBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUssbUJBQW1CLENBQ3ZCLE9BQVU7O1lBRVYsSUFBSSxlQUFlLHFCQUFRLE9BQU8sQ0FBRSxDQUFDO1lBRXJDLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUM1QyxJQUFJO29CQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztvQkFDL0QsZUFBZSxHQUFHLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLGVBQWUsQ0FBQztpQkFDN0M7Z0JBQUMsT0FBTyxHQUFHLEVBQUU7b0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDN0Q7YUFDRjtZQUVELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7S0FBQTtJQUVELFFBQVEsQ0FBZ0MsSUFBWSxFQUFFLE9BQVU7UUFDOUQsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4RCxPQUFPLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLE9BQU8sQ0FBQztTQUMxQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRCxPQUFPLE9BQU8sQ0FBQztTQUNoQjtJQUNILENBQUM7OytHQTlDVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnZm9ybWlvanMnO1xyXG5pbXBvcnQge1xyXG5cdFRhYmxlQ3VzdG9tUmVxdWVzdCxcclxuXHRUYWJsZVByb3ZpZGVyUmVxdWVzdCxcclxufSBmcm9tICcuLi9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIFRhYmxlQmVmb3JlU3VibWl0SG9vazxUPiA9IChwYXlsb2FkOiBUKSA9PiBUIHwgUHJvbWlzZTxUPjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUhvb2tzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBiZWZvcmVTdWJtaXRIb29rczogVGFibGVCZWZvcmVTdWJtaXRIb29rPGFueT5bXSA9IFtdO1xyXG5cclxuICByZWdpc3RlckJlZm9yZVN1Ym1pdDxUID0gVGFibGVQcm92aWRlclJlcXVlc3QgfCBUYWJsZUN1c3RvbVJlcXVlc3Q+KFxyXG4gICAgaGFuZGxlcjogVGFibGVCZWZvcmVTdWJtaXRIb29rPFQ+XHJcbiAgKTogdm9pZCB7XHJcbiAgICB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzLnB1c2goaGFuZGxlcik7XHJcbiAgfVxyXG5cclxuICB1bnJlZ2lzdGVyQmVmb3JlU3VibWl0PFQ+KGhhbmRsZXI6IFRhYmxlQmVmb3JlU3VibWl0SG9vazxUPik6IHZvaWQge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzLmluZGV4T2YoaGFuZGxlcik7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLmJlZm9yZVN1Ym1pdEhvb2tzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhckJlZm9yZVN1Ym1pdEhvb2tzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5iZWZvcmVTdWJtaXRIb29rcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZXhlY3V0ZUJlZm9yZVN1Ym1pdDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcbiAgICBwYXlsb2FkOiBUXHJcbiAgKTogUHJvbWlzZTxUPiB7XHJcbiAgICBsZXQgbW9kaWZpZWRQYXlsb2FkID0geyAuLi5wYXlsb2FkIH07XHJcblxyXG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuYmVmb3JlU3VibWl0SG9va3MpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoaGFuZGxlcihtb2RpZmllZFBheWxvYWQpKTtcclxuICAgICAgICBtb2RpZmllZFBheWxvYWQgPSByZXN1bHQgPz8gbW9kaWZpZWRQYXlsb2FkO1xyXG4gICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBleGVjdXRpbmcgYmVmb3JlU3VibWl0IGhhbmRsZXI6JywgZXJyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtb2RpZmllZFBheWxvYWQ7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oZXhwcjogc3RyaW5nLCBwYXlsb2FkOiBUKTogVCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBjb250ZXh0ID0geyBjcml0ZXJpYTogcGF5bG9hZCB9O1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBVdGlscy5ldmFsdWF0ZShleHByLCBjb250ZXh0LCAncGF5bG9hZCcpO1xyXG4gICAgICByZXR1cm4gcmVzdWx0ID8/IHBheWxvYWQ7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgYmVmb3JlU3VibWl0IHN0cmluZzonLCBlKTtcclxuICAgICAgcmV0dXJuIHBheWxvYWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL21vZGVscy90YWJsZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29sdW1uQWN0aW9uLCBUYWJsZUNvbHVtbkNvbmZpZyB9IGZyb20gJy4vdGFibGUtY29sdW1uJztcclxuaW1wb3J0IHsgTmRmVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS1vcHRpb25zJztcclxuaW1wb3J0IHtcclxuICBUYWJsZURlZmF1bHRTb3J0TW9kZWwsXHJcbiAgVGFibGVQYWdpbmF0aW9uT3B0aW9ucyxcclxuICBUYWJsZVNvcnRPcHRpb25zXHJcbn0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZFN0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB0eXBlIGZvciB0aGUgTkRGIFRhYmxlIGNvbXBvbmVudC5cclxuICogRXh0ZW5kcyBgVGFibGVQYWdpbmF0aW9uT3B0aW9uc2AgYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgcHJvcGVydGllc1xyXG4gKiBmb3IgY3VzdG9taXppbmcgdGFibGUgYmVoYXZpb3IsIGFwcGVhcmFuY2UsIGFuZCBkYXRhIGhhbmRsaW5nLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTmRmVGFibGVDb25maWcgPSBUYWJsZVBhZ2luYXRpb25PcHRpb25zICYge1xyXG5cdGtleT86IHN0cmluZztcclxuXHQvKiogSW5kaWNhdGVzIGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGRpcmVjdGx5IGluc3RlYWQgb2YgYmVpbmcgZmV0Y2hlZC4gKi9cclxuXHRpc0RhdGFQcm92aWRlZD86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgdGFibGUuICovXHJcblx0b3B0aW9ucz86IE5kZlRhYmxlT3B0aW9ucztcclxuXHJcblx0LyoqIEVuYWJsZXMgaG9yaXpvbnRhbCBzY3JvbGxiYXIgaWYgc2V0IHRvIHRydWUuICovXHJcblx0c2Nyb2xsYmFySD86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBEZWZpbmVzIHRoZSBjb2x1bW4gbW9kZTogJ2ZsZXgnLCAnZml4ZWQnLCBvciAnZm9yY2UnLiAqL1xyXG5cdGNvbHVtbk1vZGU/OiAnZmxleCcgfCAnZml4ZWQnIHwgJ2ZvcmNlJztcclxuXHJcblx0LyoqIFRoZSBwYWdlIHByb3ZpZGVyIGlkZW50aWZpZXIgZm9yIGZldGNoaW5nIGRhdGEuICovXHJcblx0cGFnZVByb3ZpZGVyOiBzdHJpbmc7XHJcblxyXG5cdC8qKiBBIG1hcHBpbmcgb2YgZmllbGQgbmFtZXMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyB2YWx1ZXMuICovXHJcblx0ZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuXHQvKiogQ3VzdG9tIFVSTCBjb25maWd1cmF0aW9uIGZvciBmZXRjaGluZyBkYXRhLiAqL1xyXG5cdGN1c3RvbVVybD86IHtcclxuXHRcdHVybDogc3RyaW5nO1xyXG5cdFx0bWV0aG9kOiAnUE9TVCcgfCAnR0VUJztcclxuXHRcdHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdFx0cHJlZGljYXRlS2V5Pzogc3RyaW5nO1xyXG5cdH07XHJcblxyXG5cdHJlcXVlc3RBY3Rpb25zPzoge1xyXG5cdFx0LyoqIEFjdGlvbiB0byBiZSBleGVjdXRlZCBiZWZvcmUgc3VibWl0dGluZyB0aGUgcmVxdWVzdC4gKi9cclxuXHRcdGJlZm9yZVN1Ym1pdD86IEV2YWx1YXRlZFN0cmluZzwncGF5bG9hZCc+O1xyXG5cdH07XHJcblxyXG5cdC8qKiBRdWljayBmaWx0ZXIgaWRlbnRpZmllciBmb3IgdGhlIHRhYmxlLiAqL1xyXG5cdHF1aWNrRmlsdGVycz86IHN0cmluZztcclxuXHJcblx0LyoqIENvbmZpZ3VyYXRpb24gZm9yIHRhYmxlIGNvbHVtbnMuICovXHJcblx0Y29sdW1uczogVGFibGVDb2x1bW5Db25maWdbXTtcclxuXHJcblxyXG5cdC8qKiBTcGVjaWZpZXMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHRhYmxlLiAqL1xyXG5cdGZ1bGxXaWR0aD86IHN0cmluZztcclxuXHJcblx0LyoqIFByZWZpeCBmb3IgdGFibGUtcmVsYXRlZCBpZGVudGlmaWVycy4gKi9cclxuXHRwcmVmaXg/OiBzdHJpbmc7XHJcblxyXG5cdC8qKiBTb3J0aW5nIG9wdGlvbnMgZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRzb3J0aW5nQnk/OiBUYWJsZVNvcnRPcHRpb25zO1xyXG5cclxuXHQvKiogRGVmYXVsdCBzb3J0aW5nIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRkZWZhdWx0U29ydD86IFRhYmxlRGVmYXVsdFNvcnRNb2RlbDtcclxuXHJcblx0LyoqIEN1c3RvbSBoZWFkZXJzIGZvciB0YWJsZSByZXF1ZXN0cy4gKi9cclxuXHRoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcblx0LyoqIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHRhYmxlIHJlcXVlc3RzLiAqL1xyXG5cdHF1ZXJ5UGFyYW0/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cclxuXHQvKiogQWN0aW9ucyBhdmFpbGFibGUgZm9yIHRhYmxlIGNvbHVtbnMuICovXHJcblx0dGFibGVBY3Rpb25zPzogVGFibGVDb2x1bW5BY3Rpb25bXTtcclxuXHJcblx0LyoqIEhpZ2hsaWdodHMgdGhlIHNlbGVjdGVkIGNhcmQgaWYgc2V0IHRvIHRydWUuICovXHJcblx0aGlnaGxpZ2h0U2VsZWN0ZWRDYXJkPzogYm9vbGVhbjtcclxuXHJcblx0LyoqIERldGVybWluZXMgd2hlbiB0byBza2lwIGFnZ3JlZ2F0aW9uOiAnbmV2ZXInIG9yICdvblBhZ2VDaGFuZ2UnLiAqL1xyXG5cdHNraXBBZ2dyZWdhdGlvbj86ICduZXZlcicgfCAnb25QYWdlQ2hhbmdlJztcclxuXHJcblx0LyoqIFJhbmdlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRyYW5nZT86IGFueTtcclxuXHJcblx0LyoqIEluZGljYXRlcyBpZiB0aGUgdGFibGUgaXMgdXNlZCBvbiBhIHNlYXJjaCBwYWdlLiAqL1xyXG5cdGlzU2VhcmNoUGFnZT86IGFueTtcclxuXHJcblx0LyoqIEVuYWJsZXMgbXVsdGktc2VsZWN0IHJvd3MgaWYgc2V0IHRvIHRydWUuICovXHJcblx0bXVsdGlTZWxlY3RSb3dzPzogYm9vbGVhbjtcclxuXHJcblx0LyoqIEFkZHMgYSBjdXN0b20gZmlyc3Qgcm93IHRvIHRoZSB0YWJsZSBpZiBzZXQgdG8gdHJ1ZS4gKi9cclxuXHRjdXN0b21GaXJzdFJvdz86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBEaXNwbGF5cyBhY3Rpb25zIGFzIGEgbWVudSBpZiBzZXQgdG8gdHJ1ZS4gKi9cclxuXHRzaG93QWN0aW9uc0FzTWVudT86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBBZGRpdGlvbmFsIGZpbHRlciBwYXJhbWV0ZXJzIGZvciB0aGUgdGFibGUuICovXHJcblx0ZmlsdGVyUGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcblx0LyoqIEZvcm1hdCBjb25maWd1cmF0aW9uIGZvciB0aGUgdGFibGUuICovXHJcblx0Zm9ybWF0Pzogc3RyaW5nO1xyXG5cclxuXHQvKiogQXZhaWxhYmxlIHBhZ2Ugc2l6ZXMgZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRwYWdlU2l6ZXM/OiB7IGxhYmVsOiBzdHJpbmc7IHNpemU6IG51bWJlciB9W107XHJcbn07XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL21vZGVscy90YWJsZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2YWx1YXRlZFN0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uQWN0aW9uLCBUYWJsZUNvbHVtbkNvbmZpZyB9IGZyb20gJy4vdGFibGUtY29sdW1uJztcclxuaW1wb3J0IHsgTmRmVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS1vcHRpb25zJztcclxuaW1wb3J0IHtcclxuXHRUYWJsZURlZmF1bHRTb3J0TW9kZWwsXHJcblx0VGFibGVQYWdpbmF0aW9uT3B0aW9ucyxcclxuXHRUYWJsZVNvcnRPcHRpb25zXHJcbn0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB0eXBlIGZvciB0aGUgTkRGIFRhYmxlIGNvbXBvbmVudC5cclxuICogRXh0ZW5kcyBgVGFibGVQYWdpbmF0aW9uT3B0aW9uc2AgYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgcHJvcGVydGllc1xyXG4gKiBmb3IgY3VzdG9taXppbmcgdGFibGUgYmVoYXZpb3IsIGFwcGVhcmFuY2UsIGFuZCBkYXRhIGhhbmRsaW5nLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTmRmVGFibGVDb25maWcgPSBUYWJsZVBhZ2luYXRpb25PcHRpb25zICYge1xyXG5cdGtleT86IHN0cmluZztcclxuXHQvKiogSW5kaWNhdGVzIGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGRpcmVjdGx5IGluc3RlYWQgb2YgYmVpbmcgZmV0Y2hlZC4gKi9cclxuXHRpc0RhdGFQcm92aWRlZD86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgdGFibGUuICovXHJcblx0b3B0aW9ucz86IE5kZlRhYmxlT3B0aW9ucztcclxuXHJcblx0LyoqIEVuYWJsZXMgaG9yaXpvbnRhbCBzY3JvbGxiYXIgaWYgc2V0IHRvIHRydWUuICovXHJcblx0c2Nyb2xsYmFySD86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBEZWZpbmVzIHRoZSBjb2x1bW4gbW9kZTogJ2ZsZXgnLCAnZml4ZWQnLCBvciAnZm9yY2UnLiAqL1xyXG5cdGNvbHVtbk1vZGU/OiAnZmxleCcgfCAnZml4ZWQnIHwgJ2ZvcmNlJztcclxuXHJcblx0LyoqIFRoZSBwYWdlIHByb3ZpZGVyIGlkZW50aWZpZXIgZm9yIGZldGNoaW5nIGRhdGEuICovXHJcblx0cGFnZVByb3ZpZGVyOiBzdHJpbmc7XHJcblxyXG5cdC8qKiBBIG1hcHBpbmcgb2YgZmllbGQgbmFtZXMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyB2YWx1ZXMuICovXHJcblx0ZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuXHQvKiogQ3VzdG9tIFVSTCBjb25maWd1cmF0aW9uIGZvciBmZXRjaGluZyBkYXRhLiAqL1xyXG5cdGN1c3RvbVVybD86IHtcclxuXHRcdHVybDogc3RyaW5nO1xyXG5cdFx0bWV0aG9kOiAnUE9TVCcgfCAnR0VUJztcclxuXHRcdHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdFx0cHJlZGljYXRlS2V5Pzogc3RyaW5nO1xyXG5cdH07XHJcblxyXG5cdHJlcXVlc3RBY3Rpb25zPzoge1xyXG5cdFx0LyoqIEFjdGlvbiB0byBiZSBleGVjdXRlZCBiZWZvcmUgc3VibWl0dGluZyB0aGUgcmVxdWVzdC4gKi9cclxuXHRcdGJlZm9yZVN1Ym1pdD86IEV2YWx1YXRlZFN0cmluZzwncGF5bG9hZCc+O1xyXG5cdH07XHJcblxyXG5cdC8qKiBRdWljayBmaWx0ZXIgaWRlbnRpZmllciBmb3IgdGhlIHRhYmxlLiAqL1xyXG5cdHF1aWNrRmlsdGVycz86IHN0cmluZztcclxuXHJcblx0LyoqIENvbmZpZ3VyYXRpb24gZm9yIHRhYmxlIGNvbHVtbnMuICovXHJcblx0Y29sdW1uczogVGFibGVDb2x1bW5Db25maWdbXTtcclxuXHJcblxyXG5cdC8qKiBTcGVjaWZpZXMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHRhYmxlLiAqL1xyXG5cdGZ1bGxXaWR0aD86IHN0cmluZztcclxuXHJcblx0LyoqIFByZWZpeCBmb3IgdGFibGUtcmVsYXRlZCBpZGVudGlmaWVycy4gKi9cclxuXHRwcmVmaXg/OiBzdHJpbmc7XHJcblxyXG5cdC8qKiBTb3J0aW5nIG9wdGlvbnMgZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRzb3J0aW5nQnk/OiBUYWJsZVNvcnRPcHRpb25zO1xyXG5cclxuXHQvKiogRGVmYXVsdCBzb3J0aW5nIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRkZWZhdWx0U29ydD86IFRhYmxlRGVmYXVsdFNvcnRNb2RlbDtcclxuXHJcblx0LyoqIEN1c3RvbSBoZWFkZXJzIGZvciB0YWJsZSByZXF1ZXN0cy4gKi9cclxuXHRoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcblx0LyoqIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHRhYmxlIHJlcXVlc3RzLiAqL1xyXG5cdHF1ZXJ5UGFyYW0/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cclxuXHQvKiogQWN0aW9ucyBhdmFpbGFibGUgZm9yIHRhYmxlIGNvbHVtbnMuICovXHJcblx0dGFibGVBY3Rpb25zPzogVGFibGVDb2x1bW5BY3Rpb25bXTtcclxuXHJcblx0LyoqIEhpZ2hsaWdodHMgdGhlIHNlbGVjdGVkIGNhcmQgaWYgc2V0IHRvIHRydWUuICovXHJcblx0aGlnaGxpZ2h0U2VsZWN0ZWRDYXJkPzogYm9vbGVhbjtcclxuXHJcblx0LyoqIERldGVybWluZXMgd2hlbiB0byBza2lwIGFnZ3JlZ2F0aW9uOiAnbmV2ZXInIG9yICdvblBhZ2VDaGFuZ2UnLiAqL1xyXG5cdHNraXBBZ2dyZWdhdGlvbj86ICduZXZlcicgfCAnb25QYWdlQ2hhbmdlJztcclxuXHJcblx0LyoqIFJhbmdlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRyYW5nZT86IGFueTtcclxuXHJcblx0LyoqIEluZGljYXRlcyBpZiB0aGUgdGFibGUgaXMgdXNlZCBvbiBhIHNlYXJjaCBwYWdlLiAqL1xyXG5cdGlzU2VhcmNoUGFnZT86IGFueTtcclxuXHJcblx0LyoqIEVuYWJsZXMgbXVsdGktc2VsZWN0IHJvd3MgaWYgc2V0IHRvIHRydWUuICovXHJcblx0bXVsdGlTZWxlY3RSb3dzPzogYm9vbGVhbjtcclxuXHJcblx0LyoqIEFkZHMgYSBjdXN0b20gZmlyc3Qgcm93IHRvIHRoZSB0YWJsZSBpZiBzZXQgdG8gdHJ1ZS4gKi9cclxuXHRjdXN0b21GaXJzdFJvdz86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBEaXNwbGF5cyBhY3Rpb25zIGFzIGEgbWVudSBpZiBzZXQgdG8gdHJ1ZS4gKi9cclxuXHRzaG93QWN0aW9uc0FzTWVudT86IGJvb2xlYW47XHJcblxyXG5cdC8qKiBBZGRpdGlvbmFsIGZpbHRlciBwYXJhbWV0ZXJzIGZvciB0aGUgdGFibGUuICovXHJcblx0ZmlsdGVyUGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcblx0LyoqIEZvcm1hdCBjb25maWd1cmF0aW9uIGZvciB0aGUgdGFibGUuICovXHJcblx0Zm9ybWF0Pzogc3RyaW5nO1xyXG5cclxuXHQvKiogQXZhaWxhYmxlIHBhZ2Ugc2l6ZXMgZm9yIHRoZSB0YWJsZS4gKi9cclxuXHRwYWdlU2l6ZXM/OiB7IGxhYmVsOiBzdHJpbmc7IHNpemU6IG51bWJlciB9W107XHJcbn07XHJcbiJdfQ==
@@ -1,8 +1,7 @@
1
- export * from './directives';
2
- export * from './services';
3
1
  export * from './components';
4
- export * from './models';
5
- export * from './libraryShared.module';
6
- export * from './evaluator';
7
2
  export * from './constants';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlicmFyeVNoYXJlZC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V2YWx1YXRvcidcclxuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnXHJcbiJdfQ==
3
+ export * from './directives';
4
+ export * from './libraryShared.module';
5
+ export * from './models';
6
+ export * from './services';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWJyYXJ5U2hhcmVkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgSW50ZXJwb2xhdGVTdHJpbmcgPSBzdHJpbmc7XHJcblxyXG5leHBvcnQgdHlwZSBXaGl0ZXNwYWNlID0gJycgfCAnICcgfCBgJHthbnl9YDtcclxuZXhwb3J0IHR5cGUgRXZhbHVhdGVkU3RyaW5nPFZBUiBleHRlbmRzIHN0cmluZyA9ICdzaG93Jz4gPSBgJHtzdHJpbmd9JHtWQVJ9JHtXaGl0ZXNwYWNlfT0ke1doaXRlc3BhY2V9JHtzdHJpbmd9YDtcclxuIl19
@@ -34,6 +34,7 @@ export class GlobalPdfTron {
34
34
  WebViewer({
35
35
  path: this.baseHref + '/assets/pdftrons',
36
36
  }, document.getElementById('global-pdftron')).then((instance) => {
37
+ instance.CoreControls.disableEmbeddedJavaScript();
37
38
  this.saveOptions = instance.CoreControls.SaveOptions;
38
39
  this.instance = instance;
39
40
  });
@@ -48,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
48
49
  type: Inject,
49
50
  args: [APP_BASE_HREF]
50
51
  }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBkZnRyb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC1zZXJ2aWNlcy9nbG9iYWwtcGRmdHJvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxhQUFhO0lBR3RCLFlBQTJDLFFBQWdCO1FBQWhCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDdkQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxJQUFJO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLElBQUksQ0FDUCxDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEdBQVMsRUFBRTtnQkFDcEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQztvQkFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtvQkFDbEMsWUFBWSxFQUFFLEtBQUs7aUJBQ3RCLENBQUMsQ0FBQztnQkFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7Z0JBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7Z0JBQ3hFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFHUCxDQUFDO0lBQ0QsSUFBSTtRQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDNUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDM0IsR0FBRyxDQUFDLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQztRQUNELFNBQVMsQ0FDTDtZQUNJLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQjtTQUMzQyxFQUNELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FDNUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MkdBNUNRLGFBQWEsa0JBR0YsYUFBYTsrR0FIeEIsYUFBYSxjQURBLE1BQU07NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJakIsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFQUF9CQVNFX0hSRUYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgV2ViVmlld2VyIGZyb20gJ0BwZGZ0cm9uL3dlYnZpZXdlcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsUGRmVHJvbiB7XHJcbiAgICBpbnN0YW5jZTtcclxuICAgIHNhdmVPcHRpb25zO1xyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChBUFBfQkFTRV9IUkVGKSBwcml2YXRlIGJhc2VIcmVmOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0TGluZWFyaXplZFBERihmaWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZS5sb2FkRG9jdW1lbnQoXHJcbiAgICAgICAgICAgICAgICBmaWxlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UuZG9jVmlld2VyLm9uKCdkb2N1bWVudExvYWRlZCcsIGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRvYyA9IHRoaXMuaW5zdGFuY2UuZG9jVmlld2VyLmdldERvY3VtZW50KCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZG9jLmdldEZpbGVEYXRhKHtcclxuICAgICAgICAgICAgICAgICAgICBmbGFnczogdGhpcy5zYXZlT3B0aW9ucy5MSU5FQVJJWkVELFxyXG4gICAgICAgICAgICAgICAgICAgIGRvd25sb2FkVHlwZTogJ3BkZidcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXJyID0gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2Fycl0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfSlcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpbGUgPSBuZXcgRmlsZShbYmxvYl0sIGZpbGUubmFtZSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KVxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShuZXdGaWxlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG5cclxuICAgIH1cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2xvYmFsLXBkZnRyb24nKSkge1xyXG4gICAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgICAgZGl2LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgICAgICAgIGRpdi5pZCA9ICdnbG9iYWwtcGRmdHJvbic7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgV2ViVmlld2VyKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiB0aGlzLmJhc2VIcmVmICsgJy9hc3NldHMvcGRmdHJvbnMnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2xvYmFsLXBkZnRyb24nKSxcclxuICAgICAgICApLnRoZW4oKGluc3RhbmNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zYXZlT3B0aW9ucyA9IGluc3RhbmNlLkNvcmVDb250cm9scy5TYXZlT3B0aW9ucztcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBkZnRyb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC1zZXJ2aWNlcy9nbG9iYWwtcGRmdHJvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxhQUFhO0lBR3RCLFlBQTJDLFFBQWdCO1FBQWhCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDdkQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxJQUFJO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLElBQUksQ0FDUCxDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEdBQVMsRUFBRTtnQkFDcEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQztvQkFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtvQkFDbEMsWUFBWSxFQUFFLEtBQUs7aUJBQ3RCLENBQUMsQ0FBQztnQkFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7Z0JBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7Z0JBQ3hFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFHUCxDQUFDO0lBQ0QsSUFBSTtRQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDNUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDM0IsR0FBRyxDQUFDLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQztRQUNELFNBQVMsQ0FDTDtZQUNJLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQjtTQUMzQyxFQUNELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FDNUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNyQixRQUFRLENBQUMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzJHQTdDUSxhQUFhLGtCQUdGLGFBQWE7K0dBSHhCLGFBQWEsY0FEQSxNQUFNOzRGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBSWpCLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUFBfQkFTRV9IUkVGIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IFdlYlZpZXdlciBmcm9tICdAcGRmdHJvbi93ZWJ2aWV3ZXInO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbFBkZlRyb24ge1xyXG4gICAgaW5zdGFuY2U7XHJcbiAgICBzYXZlT3B0aW9ucztcclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0JBU0VfSFJFRikgcHJpdmF0ZSBiYXNlSHJlZjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGV4cG9ydExpbmVhcml6ZWRQREYoZmlsZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UubG9hZERvY3VtZW50KFxyXG4gICAgICAgICAgICAgICAgZmlsZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlLmRvY1ZpZXdlci5vbignZG9jdW1lbnRMb2FkZWQnLCBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb2MgPSB0aGlzLmluc3RhbmNlLmRvY1ZpZXdlci5nZXREb2N1bWVudCgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGRvYy5nZXRGaWxlRGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxhZ3M6IHRoaXMuc2F2ZU9wdGlvbnMuTElORUFSSVpFRCxcclxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZFR5cGU6ICdwZGYnXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFyciA9IG5ldyBVaW50OEFycmF5KGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFthcnJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pXHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCBmaWxlLm5hbWUsIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfSlcclxuICAgICAgICAgICAgICAgIHJlc29sdmUobmV3RmlsZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB9XHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbC1wZGZ0cm9uJykpIHtcclxuICAgICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICAgICAgICBkaXYuaWQgPSAnZ2xvYmFsLXBkZnRyb24nO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFdlYlZpZXdlcihcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5iYXNlSHJlZiArICcvYXNzZXRzL3BkZnRyb25zJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbC1wZGZ0cm9uJyksXHJcbiAgICAgICAgKS50aGVuKChpbnN0YW5jZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLkNvcmVDb250cm9scy5kaXNhYmxlRW1iZWRkZWRKYXZhU2NyaXB0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZU9wdGlvbnMgPSBpbnN0YW5jZS5Db3JlQ29udHJvbHMuU2F2ZU9wdGlvbnM7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==