@esolve/ng-esolve-connect 0.48.1 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2022/lib/locations/classes/esolve-location-list.model.mjs +11 -0
  2. package/esm2022/lib/locations/classes/index.mjs +2 -1
  3. package/esm2022/lib/locations/esolve-locations.service.mjs +105 -14
  4. package/esm2022/lib/locations/index.mjs +2 -1
  5. package/esm2022/lib/locations/interfaces/esolve-location-filter-options.interface.mjs +2 -0
  6. package/esm2022/lib/locations/interfaces/esolve-location-options.interface.mjs +2 -0
  7. package/esm2022/lib/locations/interfaces/index.mjs +2 -1
  8. package/esm2022/lib/locations/types/esolve-location-sort-field.type.mjs +2 -0
  9. package/esm2022/lib/locations/types/index.mjs +3 -0
  10. package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +6 -1
  11. package/esm2022/lib/stock/interfaces/esolve-stock-base-record.interface.mjs +1 -1
  12. package/fesm2022/esolve-ng-esolve-connect.mjs +120 -13
  13. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  14. package/lib/locations/classes/esolve-location-list.model.d.ts +11 -0
  15. package/lib/locations/classes/index.d.ts +1 -0
  16. package/lib/locations/esolve-locations.service.d.ts +17 -1
  17. package/lib/locations/index.d.ts +1 -0
  18. package/lib/locations/interfaces/esolve-location-filter-options.interface.d.ts +5 -0
  19. package/lib/locations/interfaces/esolve-location-options.interface.d.ts +17 -0
  20. package/lib/locations/interfaces/index.d.ts +1 -0
  21. package/lib/locations/types/esolve-location-sort-field.type.d.ts +1 -0
  22. package/lib/locations/types/index.d.ts +1 -0
  23. package/lib/stock/classes/esolve-stock-item-base.model.d.ts +4 -0
  24. package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +1 -0
  25. package/package.json +1 -1
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Location object list
3
+ */
4
+ export class EsolveLocationList {
5
+ constructor(locations, total, page) {
6
+ this.locations = locations;
7
+ this.total = total;
8
+ this.page = page;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLWxpc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2NsYXNzZXMvZXNvbHZlLWxvY2F0aW9uLWxpc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBQ1csU0FBOEIsRUFDOUIsS0FBYSxFQUNiLElBQVk7UUFGWixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUNwQixDQUFDO0NBQ1AiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVDdXN0b21GaWVsZHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvY3VzdG9tLWZpZWxkcyc7XG5cbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uIH0gZnJvbSAnLi9lc29sdmUtbG9jYXRpb24ubW9kZWwnO1xuXG4vKipcbiAqIExvY2F0aW9uIG9iamVjdCBsaXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBFc29sdmVMb2NhdGlvbkxpc3Q8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbG9jYXRpb25zOiBFc29sdmVMb2NhdGlvbjxUPltdLFxuICAgICAgICBwdWJsaWMgdG90YWw6IG51bWJlcixcbiAgICAgICAgcHVibGljIHBhZ2U6IG51bWJlcixcbiAgICApIHt9XG59XG4iXX0=
@@ -6,4 +6,5 @@ export * from './esolve-location-pobox-address.model';
6
6
  export * from './esolve-location-trading-day.model';
7
7
  export * from './esolve-location-trading-times.model';
8
8
  export * from './esolve-location.model';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDbGFzc2VzXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1hZGRyZXNzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLWNvbnRhY3QtaW5mby5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1nZW8ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tcG9ib3gtYWRkcmVzcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi10cmFkaW5nLWRheS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi10cmFkaW5nLXRpbWVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLm1vZGVsJztcbiJdfQ==
9
+ export * from './esolve-location-list.model';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENsYXNzZXNcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLWFkZHJlc3MubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tY29udGFjdC1pbmZvLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLWdlby5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1wb2JveC1hZGRyZXNzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLXRyYWRpbmctZGF5Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLXRyYWRpbmctdGltZXMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbG9jYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tbGlzdC5tb2RlbCc7XG4iXX0=
@@ -1,8 +1,10 @@
1
- import { HttpClient } from '@angular/common/http';
1
+ import { HttpClient, HttpParams } from '@angular/common/http';
2
2
  import { Injectable, inject } from '@angular/core';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { EsolveConfigService } from '../core';
5
5
  import { EsolveLocation } from './classes/esolve-location.model';
6
+ import { EsolveFilterFactory, EsolveMultipleSelectFilter, EsolveRangeFilter, EsolveSingleSelectFilter, } from '../shared/filters';
7
+ import { EsolveLocationList } from './classes';
6
8
  import * as i0 from "@angular/core";
7
9
  export class EsolveLocationsService {
8
10
  constructor() {
@@ -14,14 +16,57 @@ export class EsolveLocationsService {
14
16
  *
15
17
  * @returns An `Observable` with an array of stock locations
16
18
  */
17
- getStockLocations() {
18
- return this.http
19
- .get(`${this.config.api_url}/get-locations.php`)
20
- .pipe(map((response) => {
21
- if (response.records === undefined) {
19
+ getStockLocations(options) {
20
+ let params = new HttpParams();
21
+ if (options) {
22
+ if (options.page) {
23
+ params = params.set('page', options.page);
24
+ }
25
+ if (options.rows) {
26
+ params = params.set('rows', options.rows);
27
+ }
28
+ if (options.sort) {
29
+ const sort = options.sort;
30
+ if (sort.field) {
31
+ params = params.set('sort', sort.field);
32
+ }
33
+ if (sort.order) {
34
+ params = params.set('order', sort.order);
35
+ }
36
+ }
37
+ if (options.search_phrase) {
38
+ params = params.set('search_phrase', options.search_phrase);
39
+ }
40
+ if (options.is_active) {
41
+ params = params.set('is_active', options.is_active);
42
+ }
43
+ if (options.dispatches_stock) {
44
+ params = params.set('dispatches_stock', options.dispatches_stock);
45
+ }
46
+ if (options.province) {
47
+ params = params.set('province', options.province);
48
+ }
49
+ if (options.country) {
50
+ params = params.set('country', options.country);
51
+ }
52
+ if (options.filters) {
53
+ let filters = options.filters;
54
+ if (!Array.isArray(filters)) {
55
+ filters = EsolveFilterFactory.covertFromObj(filters);
56
+ }
57
+ params = EsolveFilterFactory.convertToHttpParams(filters, params);
58
+ }
59
+ }
60
+ return this.getLocationRecords(params).pipe(map((response) => {
61
+ if (response.records === undefined ||
62
+ response.records.length <= 0) {
22
63
  throw response;
23
64
  }
24
- return this.processStockLocations(response.records);
65
+ const locations = [];
66
+ response.records.forEach((locationRecord) => {
67
+ locations.push(this.processLocation(locationRecord));
68
+ });
69
+ return new EsolveLocationList(locations, +response.additional_data.total_records, options?.page ?? 0);
25
70
  }));
26
71
  }
27
72
  /**
@@ -51,6 +96,46 @@ export class EsolveLocationsService {
51
96
  return this.processStockLocations(response.records);
52
97
  }));
53
98
  }
99
+ getLocationFilters(options) {
100
+ const params = new HttpParams({
101
+ fromObject: {
102
+ country: options.country ?? '',
103
+ province: options.province ?? 0,
104
+ fields: options.fields.join(','),
105
+ },
106
+ });
107
+ return this.http
108
+ .get(`${this.config.api_url}/get-location-filters.php`, { params })
109
+ .pipe(map((response) => {
110
+ if (response.records === undefined) {
111
+ throw response;
112
+ }
113
+ const filters = [];
114
+ for (const record of response.records) {
115
+ let filter = null;
116
+ if (record.type === 'range') {
117
+ filter = new EsolveRangeFilter(record.field, +record.min, +record.max);
118
+ }
119
+ else if (record.type === 'single') {
120
+ filter = new EsolveSingleSelectFilter(record.field, record.values);
121
+ }
122
+ else if (record.type === 'multiple') {
123
+ filter = new EsolveMultipleSelectFilter(record.field, record.values);
124
+ }
125
+ if (filter) {
126
+ filters.push(filter);
127
+ }
128
+ }
129
+ return filters;
130
+ }));
131
+ }
132
+ /**
133
+ * Retrieves location records from HTTP params.
134
+ * @param params HTTP client parameters
135
+ */
136
+ getLocationRecords(params) {
137
+ return this.http.get(`${this.config.api_url}/get-locations.php`, { params });
138
+ }
54
139
  /**
55
140
  * Processes the eSolve stock location records.
56
141
  *
@@ -58,13 +143,19 @@ export class EsolveLocationsService {
58
143
  * @returns An array of processed stock location records
59
144
  */
60
145
  processStockLocations(records) {
61
- const stock_locations = [];
62
- if (records) {
63
- for (const record of records) {
64
- stock_locations.push(new EsolveLocation(record));
65
- }
146
+ const locations = [];
147
+ for (const record of records) {
148
+ locations.push(this.processLocation(record));
66
149
  }
67
- return stock_locations;
150
+ return locations;
151
+ }
152
+ /**
153
+ * Processes the eSolve stock item record and converts it to an object.
154
+ *
155
+ * @param record eSolve stock item record
156
+ */
157
+ processLocation(record) {
158
+ return new EsolveLocation(record);
68
159
  }
69
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveLocationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
161
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveLocationsService, providedIn: 'root' }); }
@@ -75,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
75
166
  providedIn: 'root',
76
167
  }]
77
168
  }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9lc29sdmUtbG9jYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU1qRSxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBTXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBZ0Y5QztJQTlFRzs7OztPQUlHO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sb0JBQW9CLENBQzdDO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDaEMsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksb0JBQW9CLENBQ3ZCLFlBQVksR0FBRyxDQUFDLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLEVBQ1osU0FBUyxHQUFHLENBQUM7UUFFYixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHdCQUF3QixFQUM5QztZQUNJLE1BQU0sRUFBRTtnQkFDSixZQUFZO2dCQUNaLFFBQVE7Z0JBQ1IsU0FBUzthQUNaO1NBQ0osQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLE1BQU0sUUFBUSxDQUFDO2FBQ2xCO1lBRUQsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FDekIsT0FBa0M7UUFFbEMsTUFBTSxlQUFlLEdBQXdCLEVBQUUsQ0FBQztRQUVoRCxJQUFJLE9BQU8sRUFBRTtZQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUMxQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDdkQ7U0FDSjtRQUVELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7OEdBbkZRLHNCQUFzQjtrSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07OzJGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuaW1wb3J0IHsgRXNvbHZlQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuXG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbiB9IGZyb20gJy4vY2xhc3Nlcy9lc29sdmUtbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25SZWNvcmQgfSBmcm9tICcuL2ludGVyZmFjZXMvZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVMb2NhdGlvbnNTZXJ2aWNlPFxuICAgIFQgZXh0ZW5kcyBFc29sdmVDdXN0b21GaWVsZHMgPSBFc29sdmVDdXN0b21GaWVsZHMsXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHN0b2NrIGxvY2F0aW9uc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2Ygc3RvY2sgbG9jYXRpb25zXG4gICAgICovXG4gICAgcHVibGljIGdldFN0b2NrTG9jYXRpb25zKCk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb248VD5bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUxvY2F0aW9uUmVjb3JkPFQ+W10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbG9jYXRpb25zLnBocGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N0b2NrTG9jYXRpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHN0b2NrIGxvY2F0aW9ucyB1c2luZyB0aGUgYWRkcmVzc19pZCBhcyBwYXJhbWV0ZXIgb3IgdGhlIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuXG4gICAgICogU2V0IHRoZSBhZGRyZXNzZXNfaWQgdG8gMCBhbmQgdGhlIGdwcyBjb29yZGluYXRlcyBpbiBvcmRlciB0byByZXRyaWV2ZSB0aGUgbG9jYXRpb25zIGxpc3Qgd2hlbiB0aGUgYWRkcmVzcyBpc24ndFxuICAgICAqIHlldCBzYXZlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgaWYgc3VwcGxpZWQsIHRoZSBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlIG9uIHRoZSBhZGRyZXNzIHdpbGwgYmUgdXNlZC5cbiAgICAgKiBAcGFyYW0gbGF0aXR1ZGUgaWYgc3VwcGxpZWQgYW5kIGFkZHJlc3NfaWQgPiAwLCB0aGUgdmFsdWUgaXMgaWdub3JlZC5cbiAgICAgKiBAcGFyYW0gbG9uZ2l0dWRlIGlmIHN1cHBsaWVkIGFuZCBhZGRyZXNzX2lkID4gMCwgdGhlIHZhbHVlIGlzIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBzdG9jayBsb2NhdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnNHZW8oXG4gICAgICAgIGFkZHJlc3Nlc19pZCA9IDAsXG4gICAgICAgIGxhdGl0dWRlID0gMCxcbiAgICAgICAgbG9uZ2l0dWRlID0gMCxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uPFQ+W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVMb2NhdGlvblJlY29yZDxUPltdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWxvY2F0aW9ucy1nZW8ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU3RvY2tMb2NhdGlvbnMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHN0b2NrIGxvY2F0aW9uIHJlY29yZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc3RvY2sgbG9jYXRpb24gcmVjb3Jkc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc1N0b2NrTG9jYXRpb25zKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVMb2NhdGlvblJlY29yZDxUPltdLFxuICAgICk6IEVzb2x2ZUxvY2F0aW9uPFQ+W10ge1xuICAgICAgICBjb25zdCBzdG9ja19sb2NhdGlvbnM6IEVzb2x2ZUxvY2F0aW9uPFQ+W10gPSBbXTtcblxuICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIHN0b2NrX2xvY2F0aW9ucy5wdXNoKG5ldyBFc29sdmVMb2NhdGlvbjxUPihyZWNvcmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdG9ja19sb2NhdGlvbnM7XG4gICAgfVxufVxuIl19
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9lc29sdmUtbG9jYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSTlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlqRSxPQUFPLEVBQ0gsbUJBQW1CLEVBR25CLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsd0JBQXdCLEdBQzNCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUsvQyxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBTXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBb085QztJQWxPRzs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQ3BCLE9BQW1DO1FBRW5DLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QztZQUVELElBQUksT0FBTyxDQUFDLElB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U0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZUFBZSxDQUNuQixNQUErQjtRQUUvQixPQUFPLElBQUksY0FBYyxDQUFJLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OEdBdk9RLHNCQUFzQjtrSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07OzJGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuaW1wb3J0IHsgRXNvbHZlQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuXG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbiB9IGZyb20gJy4vY2xhc3Nlcy9lc29sdmUtbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25SZWNvcmQgfSBmcm9tICcuL2ludGVyZmFjZXMvZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25JdGVtT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9lc29sdmUtbG9jYXRpb24tb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUZpbHRlckZhY3RvcnksXG4gICAgRXNvbHZlRmlsdGVyTGlzdCxcbiAgICBFc29sdmVGaWx0ZXJSZWNvcmRMaXN0LFxuICAgIEVzb2x2ZU11bHRpcGxlU2VsZWN0RmlsdGVyLFxuICAgIEVzb2x2ZVJhbmdlRmlsdGVyLFxuICAgIEVzb2x2ZVNpbmdsZVNlbGVjdEZpbHRlcixcbn0gZnJvbSAnLi4vc2hhcmVkL2ZpbHRlcnMnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25GaWx0ZXJPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uTGlzdCB9IGZyb20gJy4vY2xhc3Nlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZUxvY2F0aW9uc1NlcnZpY2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2Ygc3RvY2sgbG9jYXRpb25zXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBzdG9jayBsb2NhdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnMoXG4gICAgICAgIG9wdGlvbnM/OiBFc29sdmVMb2NhdGlvbkl0ZW1PcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb25MaXN0PFQ+PiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFnZScsIG9wdGlvbnMucGFnZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnJvd3MpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyb3dzJywgb3B0aW9ucy5yb3dzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuc29ydCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvcnQgPSBvcHRpb25zLnNvcnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoc29ydC5maWVsZCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0Jywgc29ydC5maWVsZCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHNvcnQub3JkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnb3JkZXInLCBzb3J0Lm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnNlYXJjaF9waHJhc2UpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzZWFyY2hfcGhyYXNlJywgb3B0aW9ucy5zZWFyY2hfcGhyYXNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuaXNfYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaXNfYWN0aXZlJywgb3B0aW9ucy5pc19hY3RpdmUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5kaXNwYXRjaGVzX3N0b2NrKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcbiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BhdGNoZXNfc3RvY2snLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRpc3BhdGNoZXNfc3RvY2ssXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucHJvdmluY2UpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwcm92aW5jZScsIG9wdGlvbnMucHJvdmluY2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5jb3VudHJ5KSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291bnRyeScsIG9wdGlvbnMuY291bnRyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVycyA9IG9wdGlvbnMuZmlsdGVycztcblxuICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWx0ZXJzKSkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzID0gRXNvbHZlRmlsdGVyRmFjdG9yeS5jb3ZlcnRGcm9tT2JqKGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IEVzb2x2ZUZpbHRlckZhY3RvcnkuY29udmVydFRvSHR0cFBhcmFtcyhcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRMb2NhdGlvblJlY29yZHMocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoIDw9IDBcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25zOiBFc29sdmVMb2NhdGlvbjxUPltdID0gW107XG5cbiAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmZvckVhY2goKGxvY2F0aW9uUmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2F0aW9ucy5wdXNoKHRoaXMucHJvY2Vzc0xvY2F0aW9uKGxvY2F0aW9uUmVjb3JkKSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUxvY2F0aW9uTGlzdChcbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zLFxuICAgICAgICAgICAgICAgICAgICArcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhLnRvdGFsX3JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM/LnBhZ2UgPz8gMCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBzdG9jayBsb2NhdGlvbnMgdXNpbmcgdGhlIGFkZHJlc3NfaWQgYXMgcGFyYW1ldGVyIG9yIHRoZSBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLlxuICAgICAqIFNldCB0aGUgYWRkcmVzc2VzX2lkIHRvIDAgYW5kIHRoZSBncHMgY29vcmRpbmF0ZXMgaW4gb3JkZXIgdG8gcmV0cmlldmUgdGhlIGxvY2F0aW9ucyBsaXN0IHdoZW4gdGhlIGFkZHJlc3MgaXNuJ3RcbiAgICAgKiB5ZXQgc2F2ZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWRkcmVzc2VzX2lkIGlmIHN1cHBsaWVkLCB0aGUgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSBvbiB0aGUgYWRkcmVzcyB3aWxsIGJlIHVzZWQuXG4gICAgICogQHBhcmFtIGxhdGl0dWRlIGlmIHN1cHBsaWVkIGFuZCBhZGRyZXNzX2lkID4gMCwgdGhlIHZhbHVlIGlzIGlnbm9yZWQuXG4gICAgICogQHBhcmFtIGxvbmdpdHVkZSBpZiBzdXBwbGllZCBhbmQgYWRkcmVzc19pZCA+IDAsIHRoZSB2YWx1ZSBpcyBpZ25vcmVkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2Ygc3RvY2sgbG9jYXRpb25zXG4gICAgICovXG4gICAgcHVibGljIGdldFN0b2NrTG9jYXRpb25zR2VvKFxuICAgICAgICBhZGRyZXNzZXNfaWQgPSAwLFxuICAgICAgICBsYXRpdHVkZSA9IDAsXG4gICAgICAgIGxvbmdpdHVkZSA9IDAsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvbjxUPltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlTG9jYXRpb25SZWNvcmQ8VD5bXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1sb2NhdGlvbnMtZ2VvLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N0b2NrTG9jYXRpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9jYXRpb25GaWx0ZXJzKFxuICAgICAgICBvcHRpb25zOiBFc29sdmVMb2NhdGlvbkZpbHRlck9wdGlvbnMsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVGaWx0ZXJMaXN0PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBjb3VudHJ5OiBvcHRpb25zLmNvdW50cnkgPz8gJycsXG4gICAgICAgICAgICAgICAgcHJvdmluY2U6IG9wdGlvbnMucHJvdmluY2UgPz8gMCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IG9wdGlvbnMuZmllbGRzLmpvaW4oJywnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlRmlsdGVyUmVjb3JkTGlzdD4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1sb2NhdGlvbi1maWx0ZXJzLnBocGAsXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJzID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVzcG9uc2UucmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciA9IG5ldyBFc29sdmVSYW5nZUZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArcmVjb3JkLm1pbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gbmV3IEVzb2x2ZVNpbmdsZVNlbGVjdEZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQudmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlY29yZC50eXBlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gbmV3IEVzb2x2ZU11bHRpcGxlU2VsZWN0RmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBsb2NhdGlvbiByZWNvcmRzIGZyb20gSFRUUCBwYXJhbXMuXG4gICAgICogQHBhcmFtIHBhcmFtcyBIVFRQIGNsaWVudCBwYXJhbWV0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRMb2NhdGlvblJlY29yZHMoXG4gICAgICAgIHBhcmFtczogSHR0cFBhcmFtcyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUxvY2F0aW9uUmVjb3JkPFQ+W10+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUxvY2F0aW9uUmVjb3JkPFQ+W10+PihcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1sb2NhdGlvbnMucGhwYCxcbiAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgc3RvY2sgbG9jYXRpb24gcmVjb3Jkcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBzdG9jayBsb2NhdGlvbiByZWNvcmRzXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RvY2tMb2NhdGlvbnMoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZUxvY2F0aW9uUmVjb3JkPFQ+W10sXG4gICAgKTogRXNvbHZlTG9jYXRpb248VD5bXSB7XG4gICAgICAgIGNvbnN0IGxvY2F0aW9uczogRXNvbHZlTG9jYXRpb248VD5bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgIGxvY2F0aW9ucy5wdXNoKHRoaXMucHJvY2Vzc0xvY2F0aW9uKHJlY29yZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBzdG9jayBpdGVtIHJlY29yZCBhbmQgY29udmVydHMgaXQgdG8gYW4gb2JqZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZCBlU29sdmUgc3RvY2sgaXRlbSByZWNvcmRcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NMb2NhdGlvbihcbiAgICAgICAgcmVjb3JkOiBFc29sdmVMb2NhdGlvblJlY29yZDxUPixcbiAgICApOiBFc29sdmVMb2NhdGlvbjxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlTG9jYXRpb248VD4ocmVjb3JkKTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './classes';
2
2
  export * from './interfaces';
3
+ export * from './types';
3
4
  export * from './esolve-locations.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsYXNzZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbG9jYXRpb25zLnNlcnZpY2UnO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBRXhCLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsYXNzZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbnMuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLWZpbHRlci1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9sb2NhdGlvbnMvaW50ZXJmYWNlcy9lc29sdmUtbG9jYXRpb24tZmlsdGVyLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUxvY2F0aW9uRmlsdGVyT3B0aW9ucyB7XG4gICAgY291bnRyeT86IHN0cmluZztcbiAgICBwcm92aW5jZT86IHN0cmluZztcbiAgICBmaWVsZHM6IHN0cmluZ1tdO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9pbnRlcmZhY2VzL2Vzb2x2ZS1sb2NhdGlvbi1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlRmlsdGVyLCBFc29sdmVGaWx0ZXJEZWZpbml0aW9ucyB9IGZyb20gJy4uLy4uL3NoYXJlZC9maWx0ZXJzJztcbmltcG9ydCB7IEVzb2x2ZVNvcnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvc29ydCc7XG5cbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uU29ydEZpZWxkIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUxvY2F0aW9uSXRlbU9wdGlvbnMge1xuICAgIHJvd3M/OiBudW1iZXI7XG4gICAgcGFnZT86IG51bWJlcjtcbiAgICBpc19hY3RpdmU/OiBib29sZWFuO1xuICAgIHNlYXJjaF9waHJhc2U/OiBzdHJpbmc7XG4gICAgZGlzcGF0Y2hlc19zdG9jaz86IGJvb2xlYW47XG4gICAgY291bnRyeT86IHN0cmluZztcbiAgICBwcm92aW5jZT86IHN0cmluZztcbiAgICBzb3J0PzogRXNvbHZlU29ydDxFc29sdmVMb2NhdGlvblNvcnRGaWVsZD47XG4gICAgLyoqXG4gICAgICogVXNlIGFuIGFjdHVhbCBsaXN0IG9mIGZpbHRlciBvYmplY3RzIE9SIHVzaW5nIGEgZmlsdGVyIGRlZmluaXRpb24gb2JqZWN0XG4gICAgICovXG4gICAgZmlsdGVycz86IEVzb2x2ZUZpbHRlcltdIHwgRXNvbHZlRmlsdGVyRGVmaW5pdGlvbnM7XG59XG4iXX0=
@@ -1,2 +1,3 @@
1
1
  export * from './esolve-location-record.interface';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UnO1xuIl19
2
+ export * from './esolve-location-filter-options.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1maWx0ZXItb3B0aW9ucy5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLXNvcnQtZmllbGQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9sb2NhdGlvbnMvdHlwZXMvZXNvbHZlLWxvY2F0aW9uLXNvcnQtZmllbGQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRXNvbHZlTG9jYXRpb25Tb3J0RmllbGQgPVxuICAgIHwgJ3NvcnRpbmdfY29kZSdcbiAgICB8ICdwcmljZSdcbiAgICB8ICduYW1lJ1xuICAgIHwgJ2Rlc2NyaXB0aW9uJ1xuICAgIHwgJ2NvZGUnXG4gICAgfCAnY3JlYXRlZCc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ // Types
2
+ export * from './esolve-location-sort-field.type';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQVE7QUFDUixjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLXNvcnQtZmllbGQudHlwZSc7XG4iXX0=
@@ -128,6 +128,10 @@ export class EsolveStockItemBase {
128
128
  * Number of stock available
129
129
  */
130
130
  this.amount_in_stock = 0;
131
+ /**
132
+ * Number of stock available
133
+ */
134
+ this.limit_per_transaction = 0;
131
135
  /**
132
136
  * Total items linked to the item as a recipe
133
137
  */
@@ -244,6 +248,7 @@ export class EsolveStockItemBase {
244
248
  this.allow_quotes = record.allow_quotes ?? true;
245
249
  this.allow_orders = record.allow_orders ?? true;
246
250
  this.amount_in_stock = +(record.onhand ?? 0);
251
+ this.limit_per_transaction = +(record.limit_per_transaction ?? 0);
247
252
  this.total_recipe_items = +(record.total_recipe_items ?? 0);
248
253
  this.pack_size = +(record.items_in_pack ?? 0);
249
254
  this.pack_description = record.pack_description ?? '';
@@ -326,4 +331,4 @@ export class EsolveStockItemBase {
326
331
  return '';
327
332
  }
328
333
  }
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWJhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekYsTUFBTSxPQUFPLG1CQUFtQjtJQWlONUI7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVB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Q3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuaW1wb3J0IHsgRXNvbHZlU2VvRGV0YWlscywgRXNvbHZlU2VvSW5mbyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZW8nO1xuXG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtIH0gZnJvbSAnLi4vLi4vY2F0ZWdvcnktdHJlZSc7XG5pbXBvcnQgeyBFc29sdmVNYW51ZmFjdHVyZXIgfSBmcm9tICcuLi8uLi9tYW51ZmFjdHVyZXJzJztcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcbmltcG9ydCB7IEVzb2x2ZVRhZyB9IGZyb20gJy4uLy4uL3RhZ3MnO1xuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi8uLi90b3BpY3MnO1xuXG5pbXBvcnQgeyBFc29sdmVTdG9ja0ltYWdlU2l6ZSwgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYXNlUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tQcmljZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUNvbG91ciB9IGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay10cmFuc2FjdGlvbi1oaXN0b3J5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzXG57XG4gICAgLyoqXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogQ29kZSB1c2VkIGJ5IHN1cHBsaWVyXG4gICAgICovXG4gICAgcHVibGljIHN1cHBsaWVyX2NvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUaGUgYmFyY29kZSBvZiB0aGUgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBiYXJjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIHNlZl9uYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGNvbXBvc2l0ZSBmaWVsZCBtYWRlIHVwIG9mIGtleSBwaHJhc2VzXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaF9jb21wb3NpdGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUeXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFN1YiB0eXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViX3R5cGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTaG9ydCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogQWN0aXZlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEZlYXR1cmVkIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGZlYXR1cmVkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGlzcGxheSBPbmx5IHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlfb25seSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFF1b3RhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X3F1b3RlcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X29yZGVycyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSXRlbSBtdXN0IGJlIGNvbGxlY3RlZCwgbm90IGRlbGl2ZXJ5IHBvc3NpYmxlXG4gICAgICovXG4gICAgcHVibGljIG11c3RfY29sbGVjdCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEl0ZW0gbmVlZHMgdG8gYmUgYXNzZW1ibGVkIGFmdGVyIHB1cmNoYXNlXG4gICAgICovXG4gICAgcHVibGljIHJlcXVpcmVzX2Fzc2VtYmx5ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5ID0gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0b2NrIGxhYmVsIGFkZGVkIG9uIHRvIGl0ZW0gdG8gZGlzcGxheSBmb3IgdXNlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21fbGFiZWwgPSAnJztcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2Ygc3RvY2sgYXZhaWxhYmxlXG4gICAgICovXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jayA9IDA7XG4gICAgLyoqXG4gICAgICogVG90YWwgaXRlbXMgbGlua2VkIHRvIHRoZSBpdGVtIGFzIGEgcmVjaXBlXG4gICAgICovXG4gICAgcHVibGljIHRvdGFsX3JlY2lwZV9pdGVtcyA9IDA7XG4gICAgLyoqXG4gICAgICogSGVpZ2h0IG1lYXN1cmVkIGluIG1ldGVycyAobSlcbiAgICAgKi9cbiAgICBwdWJsaWMgaGVpZ2h0ID0gMDtcbiAgICAvKipcbiAgICAgKiBXaWR0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoID0gMDtcbiAgICAvKipcbiAgICAgKiBMZW5ndGggLyBkZXB0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXG4gICAgICovXG4gICAgcHVibGljIGxlbmd0aCA9IDA7XG4gICAgLyoqXG4gICAgICogV2VpZ2h0IG1lYXN1cmVkIGluIGtpbG9ncmFtcyAoa2cpXG4gICAgICovXG4gICAgcHVibGljIHdlaWdodCA9IDA7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIGl0ZW1zIGluIGEgcGFja1xuICAgICAqL1xuICAgIHB1YmxpYyBwYWNrX3NpemUgPSAwO1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIG9mIHRoZSBwYWNrXG4gICAgICovXG4gICAgcHVibGljIHBhY2tfZGVzY3JpcHRpb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBVbml0cyB1c2VkIHRvIG1lYXN1cmUgdGhlIHF1YW50aXR5XG4gICAgICovXG4gICAgcHVibGljIHVuaXRfb2ZfbWVhc3VyZTogRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlID0gJ3VuaXQnO1xuICAgIC8qKlxuICAgICAqIElEIG9mIGRlZmF1bHQgY2F0ZWdvcnkgbGlua2VkIHRvIHRoZSBzdG9jayBpdGVtXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yeV9pZCA9ICcnO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgbGlua2VkIGNhdGVnb3J5XG4gICAgICovXG4gICAgcHVibGljIGNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcbiAgICAvKipcbiAgICAgKiBJRCBvZiBkZWZhdWx0IHN1YmNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBzdWJjYXRlZ29yeS5lc29sdmVfaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViY2F0ZWdvcnlfaWQgPSAwO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgbGlua2VkIHN1YmNhdGVnb3J5XG4gICAgICovXG4gICAgcHVibGljIHN1YmNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcbiAgICAvKipcbiAgICAgKiBJRCBvZiBsaW5rZWQgbWFudWZhY3R1cmVyXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYG1hbnVmYWN0dXJlci5pZGAgZmllbGQgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXJzX2lkID0gMDtcbiAgICAvKipcbiAgICAgKiBMaW5rZWQgbWFudWZhY3R1cmVyXG4gICAgICovXG4gICAgcHVibGljIG1hbnVmYWN0dXJlcj86IEVzb2x2ZU1hbnVmYWN0dXJlcjtcbiAgICAvKipcbiAgICAgKiBJRCBvZiBsaW5rZWQgcmFuZ2VcbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgcmFuZ2UuaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2VzX2lkID0gMDtcbiAgICAvKipcbiAgICAgKiBMaW5rZWQgcmFuZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2U/OiBFc29sdmVSYW5nZTtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHByaWNlXG4gICAgICovXG4gICAgcHVibGljIHByaWNlOiBFc29sdmVTdG9ja1ByaWNlO1xuICAgIC8qKlxuICAgICAqIFNFTyBwYWdlIGRldGFpbHNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VvX2RldGFpbHM6IEVzb2x2ZVNlb0luZm87XG4gICAgLyoqXG4gICAgICogTGlua2VkIHRhZ3NcbiAgICAgKi9cbiAgICBwdWJsaWMgdGFnczogRXNvbHZlVGFnW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBMaW5rZWQgdG9waWNzXG4gICAgICovXG4gICAgcHVibGljIHRvcGljczogRXNvbHZlVG9waWNbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIFN0b2NrIGJhZGdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBiYWRnZXM6IEVzb2x2ZVN0b2NrQmFkZ2VbXSA9IFtdO1xuICAgIC8qKlxuICAgICAqIFN0b2NrIGl0ZW0gY3VzdG9tIGZpZWxkcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3VzdG9tX2ZpZWxkcz86IFQ7XG4gICAgLyoqXG4gICAgICogQ29sb3Vyc1xuICAgICAqL1xuICAgIHB1YmxpYyBjb2xvdXJzOiBFc29sdmVDb2xvdXJbXSA9IFtdO1xuICAgIC8qKiBTaXplcyAqL1xuICAgIHB1YmxpYyBzaXplczogc3RyaW5nW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBJdGVtIExlYWQgVGltZXMgZm9yIHN1cHBseVxuICAgICAqL1xuICAgIHB1YmxpYyBsZWFkX3RpbWVzPzogRXNvbHZlU3RvY2tMZWFkVGltZXM7XG4gICAgLyoqXG4gICAgICogVHJhbnNhY3Rpb24gaGlzdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBoaXN0b3J5PzogRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3Rvcnk7XG5cbiAgICAvKipcbiAgICAgKiBJbWFnZSBmaWxlbmFtZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbmFtZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgTGFzdCBtb2RpZmllZFxuICAgICAqL1xuICAgIHByaXZhdGUgaW1hZ2VfbGFzdF9tb2RpZmllZCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aW55IHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RpbnknKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHRodW1ibmFpbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGh1bWJuYWlsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3RodW1iJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc21hbGxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIGJpZyBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ2JpZycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gb3JpZ2luYWwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9yaWdpbmFsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ29yaWdpbmFsJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFtb3VudF9pbl9zdG9jayA+IDA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBQYXJ0aWFsPEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxUPj4gPSB7fSkge1xuICAgICAgICBsZXQgc2VvX3RpdGxlID0gJyc7XG4gICAgICAgIGxldCBzZW9fa2V5d29yZHMgPSAnJztcbiAgICAgICAgbGV0IGJhc2VfcHJpY2UgPSAwO1xuICAgICAgICBsZXQgYmFzZV9wcmljZV93aXRoX3RheCA9IDA7XG4gICAgICAgIGxldCBzZWxsX3ByaWNlID0gMDtcbiAgICAgICAgbGV0IHNlbGxfcHJpY2Vfd2l0aF90YXggPSAwO1xuXG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHJlY29yZC5jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdXBwbGllcl9jb2RlID0gcmVjb3JkLnN1cHBsaWVyX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmJhcmNvZGUgPSByZWNvcmQuYmFyY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IHJlY29yZC5uYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zZWZfbmFtZSA9IHJlY29yZC5zZWZfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoX2NvbXBvc2l0ZSA9IHJlY29yZC5zZWFyY2hfY29tcG9zaXRlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy50eXBlID0gcmVjb3JkLnR5cGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN1Yl90eXBlID0gcmVjb3JkLnN1Yl90eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPSByZWNvcmQuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX25hbWUgPSByZWNvcmQuaW1hZ2VfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZCA9IHJlY29yZC5pbWFnZV9sYXN0X21vZGlmaWVkID8/ICcnO1xuXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5X2lkID0gcmVjb3JkLmNhdGVnb3J5X2lkID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJjYXRlZ29yeV9pZCA9ICsocmVjb3JkLnN1YmNhdGVnb3J5X2lkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5tYW51ZmFjdHVyZXJzX2lkID0gKyhyZWNvcmQubWFudWZhY3R1cmVyc19pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucmFuZ2VzX2lkID0gKyhyZWNvcmQucmFuZ2VzX2lkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5kZWxpdmVyeV9jYXRlZ29yeSA9IHJlY29yZC5kZWxpdmVyeV9jYXRlZ29yeSA/PyAncmVndWxhcl9pdGVtJztcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tX2xhYmVsID0gcmVjb3JkLmN1c3RvbV9sYWJlbCA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5tdXN0X2NvbGxlY3QgPSAhISsocmVjb3JkLm11c3RfY29sbGVjdCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVzX2Fzc2VtYmx5ID0gISErKHJlY29yZC5yZXF1aXJlc19hc3NlbWJseSA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICEhKyhyZWNvcmQuaXNfYWN0aXZlID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZWQgPSAhISsocmVjb3JkLmlzX2ZlYXR1cmVkID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheV9vbmx5ID0gISErKHJlY29yZC5kaXNwbGF5X29ubHkgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5hbGxvd19xdW90ZXMgPSByZWNvcmQuYWxsb3dfcXVvdGVzID8/IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFsbG93X29yZGVycyA9IHJlY29yZC5hbGxvd19vcmRlcnMgPz8gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5hbW91bnRfaW5fc3RvY2sgPSArKHJlY29yZC5vbmhhbmQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcblxuICAgICAgICAgICAgdGhpcy5wYWNrX3NpemUgPSArKHJlY29yZC5pdGVtc19pbl9wYWNrID8/IDApO1xuICAgICAgICAgICAgdGhpcy5wYWNrX2Rlc2NyaXB0aW9uID0gcmVjb3JkLnBhY2tfZGVzY3JpcHRpb24gPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9ICsocmVjb3JkLndpZHRoID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sZW5ndGggPSArKHJlY29yZC5sZW5ndGggPz8gMCk7XG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcblxuICAgICAgICAgICAgaWYgKHJlY29yZC51bml0X29mX21lYXN1cmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXggPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudGFncyAmJiByZWNvcmQudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudG9waWNzICYmIHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5iYWRnZXMgJiYgcmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFkZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXNvbHZlU3RvY2tCYWRnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmJhZGdlX2NvbG91cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmltYWdlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY29sb3VycyAmJiByZWNvcmQuY29sb3Vycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc2l6ZXMgJiYgcmVjb3JkLnNpemVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNpemUgb2YgcmVjb3JkLnNpemVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l6ZXMucHVzaChzaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQubGVhZF90aW1lcykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnRvdGFsX29yZGVyX3F0eSB8fCByZWNvcmQudG90YWxfcXVvdGVfcXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxfb3JkZXJfcXR5ID0gKyhyZWNvcmQudG90YWxfb3JkZXJfcXR5ID8/IDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX3F1b3RlX3F0eSA9ICsocmVjb3JkLnRvdGFsX3F1b3RlX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBuZXcgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkoXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX29yZGVyX3F0eSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcXVvdGVfcXR5LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlb190aXRsZSA9IHJlY29yZC5zZW9fcGFnZV90aXRsZSA/PyAnJztcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXG4gICAgICAgICAgICBiYXNlX3ByaWNlLFxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCxcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXG4gICAgICAgICAgICBzZWxsX3ByaWNlX3dpdGhfdGF4LFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9yYXRlLFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHBhcmFtID0gYD90PSR7dGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfSR7cGFyYW19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1pdGVtLWJhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekYsTUFBTSxPQUFPLG1CQUFtQjtJQXFONUI7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVB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QUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztTQUNuRTtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuaW1wb3J0IHsgRXNvbHZlU2VvRGV0YWlscywgRXNvbHZlU2VvSW5mbyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZW8nO1xuXG5pbXBvcnQgeyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtIH0gZnJvbSAnLi4vLi4vY2F0ZWdvcnktdHJlZSc7XG5pbXBvcnQgeyBFc29sdmVNYW51ZmFjdHVyZXIgfSBmcm9tICcuLi8uLi9tYW51ZmFjdHVyZXJzJztcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcbmltcG9ydCB7IEVzb2x2ZVRhZyB9IGZyb20gJy4uLy4uL3RhZ3MnO1xuaW1wb3J0IHsgRXNvbHZlVG9waWMgfSBmcm9tICcuLi8uLi90b3BpY3MnO1xuXG5pbXBvcnQgeyBFc29sdmVTdG9ja0ltYWdlU2l6ZSwgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYXNlUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tQcmljZSB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUNvbG91ciB9IGZyb20gJy4vZXNvbHZlLWNvbG91ci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay10cmFuc2FjdGlvbi1oaXN0b3J5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8XG4gICAgVCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcyxcbj4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzXG57XG4gICAgLyoqXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxuICAgICAqL1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQ29kZSBpZGVudGlmeWluZyB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogQ29kZSB1c2VkIGJ5IHN1cHBsaWVyXG4gICAgICovXG4gICAgcHVibGljIHN1cHBsaWVyX2NvZGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUaGUgYmFyY29kZSBvZiB0aGUgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBiYXJjb2RlID0gJyc7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgc3RvY2sgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIHNlZl9uYW1lID0gJyc7XG4gICAgLyoqXG4gICAgICogU2VhcmNoIGNvbXBvc2l0ZSBmaWVsZCBtYWRlIHVwIG9mIGtleSBwaHJhc2VzXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaF9jb21wb3NpdGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBUeXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFN1YiB0eXBlIGZpZWxkLiBHZW5lcmFsIGhpZ2ggZ3JvdXBpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgc3ViX3R5cGUgPSAnJztcbiAgICAvKipcbiAgICAgKiBTaG9ydCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogQWN0aXZlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEZlYXR1cmVkIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGZlYXR1cmVkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGlzcGxheSBPbmx5IHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlfb25seSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFF1b3RhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X3F1b3RlcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93X29yZGVycyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSXRlbSBtdXN0IGJlIGNvbGxlY3RlZCwgbm90IGRlbGl2ZXJ5IHBvc3NpYmxlXG4gICAgICovXG4gICAgcHVibGljIG11c3RfY29sbGVjdCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEl0ZW0gbmVlZHMgdG8gYmUgYXNzZW1ibGVkIGFmdGVyIHB1cmNoYXNlXG4gICAgICovXG4gICAgcHVibGljIHJlcXVpcmVzX2Fzc2VtYmx5ID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXG4gICAgICovXG4gICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5ID0gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0b2NrIGxhYmVsIGFkZGVkIG9uIHRvIGl0ZW0gdG8gZGlzcGxheSBmb3IgdXNlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21fbGFiZWwgPSAnJztcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2Ygc3RvY2sgYXZhaWxhYmxlXG4gICAgICovXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jayA9IDA7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIHN0b2NrIGF2YWlsYWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyBsaW1pdF9wZXJfdHJhbnNhY3Rpb24gPSAwO1xuICAgIC8qKlxuICAgICAqIFRvdGFsIGl0ZW1zIGxpbmtlZCB0byB0aGUgaXRlbSBhcyBhIHJlY2lwZVxuICAgICAqL1xuICAgIHB1YmxpYyB0b3RhbF9yZWNpcGVfaXRlbXMgPSAwO1xuICAgIC8qKlxuICAgICAqIEhlaWdodCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXG4gICAgICovXG4gICAgcHVibGljIGhlaWdodCA9IDA7XG4gICAgLyoqXG4gICAgICogV2lkdGggbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aCA9IDA7XG4gICAgLyoqXG4gICAgICogTGVuZ3RoIC8gZGVwdGggbWVhc3VyZWQgaW4gbWV0ZXJzIChtKVxuICAgICAqL1xuICAgIHB1YmxpYyBsZW5ndGggPSAwO1xuICAgIC8qKlxuICAgICAqIFdlaWdodCBtZWFzdXJlZCBpbiBraWxvZ3JhbXMgKGtnKVxuICAgICAqL1xuICAgIHB1YmxpYyB3ZWlnaHQgPSAwO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBpbiBhIHBhY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcGFja19zaXplID0gMDtcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgcGFja1xuICAgICAqL1xuICAgIHB1YmxpYyBwYWNrX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgLyoqXG4gICAgICogVW5pdHMgdXNlZCB0byBtZWFzdXJlIHRoZSBxdWFudGl0eVxuICAgICAqL1xuICAgIHB1YmxpYyB1bml0X29mX21lYXN1cmU6IEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSA9ICd1bml0JztcbiAgICAvKipcbiAgICAgKiBJRCBvZiBkZWZhdWx0IGNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBjYXRlZ29yeS5lc29sdmVfaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgY2F0ZWdvcnlfaWQgPSAnJztcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBjYXRlZ29yeVxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yeT86IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW07XG4gICAgLyoqXG4gICAgICogSUQgb2YgZGVmYXVsdCBzdWJjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgc3ViY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIHN1YmNhdGVnb3J5X2lkID0gMDtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBzdWJjYXRlZ29yeVxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJjYXRlZ29yeT86IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW07XG4gICAgLyoqXG4gICAgICogSUQgb2YgbGlua2VkIG1hbnVmYWN0dXJlclxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBtYW51ZmFjdHVyZXIuaWRgIGZpZWxkIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFudWZhY3R1cmVyc19pZCA9IDA7XG4gICAgLyoqXG4gICAgICogTGlua2VkIG1hbnVmYWN0dXJlclxuICAgICAqL1xuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXI/OiBFc29sdmVNYW51ZmFjdHVyZXI7XG4gICAgLyoqXG4gICAgICogSUQgb2YgbGlua2VkIHJhbmdlXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYHJhbmdlLmlkYCBmaWVsZCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlc19pZCA9IDA7XG4gICAgLyoqXG4gICAgICogTGlua2VkIHJhbmdlXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlPzogRXNvbHZlUmFuZ2U7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBwcmljZVxuICAgICAqL1xuICAgIHB1YmxpYyBwcmljZTogRXNvbHZlU3RvY2tQcmljZTtcbiAgICAvKipcbiAgICAgKiBTRU8gcGFnZSBkZXRhaWxzXG4gICAgICovXG4gICAgcHVibGljIHNlb19kZXRhaWxzOiBFc29sdmVTZW9JbmZvO1xuICAgIC8qKlxuICAgICAqIExpbmtlZCB0YWdzXG4gICAgICovXG4gICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdID0gW107XG4gICAgLyoqXG4gICAgICogTGlua2VkIHRvcGljc1xuICAgICAqL1xuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBiYWRnZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYmFkZ2VzOiBFc29sdmVTdG9ja0JhZGdlW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9maWVsZHM/OiBUO1xuICAgIC8qKlxuICAgICAqIENvbG91cnNcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcbiAgICAvKiogU2l6ZXMgKi9cbiAgICBwdWJsaWMgc2l6ZXM6IHN0cmluZ1tdID0gW107XG4gICAgLyoqXG4gICAgICogU3RvY2sgSXRlbSBMZWFkIFRpbWVzIGZvciBzdXBwbHlcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVhZF90aW1lcz86IEVzb2x2ZVN0b2NrTGVhZFRpbWVzO1xuICAgIC8qKlxuICAgICAqIFRyYW5zYWN0aW9uIGhpc3RvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlzdG9yeT86IEVzb2x2ZVN0b2NrVHJhbnNhY3Rpb25IaXN0b3J5O1xuXG4gICAgLyoqXG4gICAgICogSW1hZ2UgZmlsZW5hbWVcbiAgICAgKi9cbiAgICBwcml2YXRlIGltYWdlX25hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEltYWdlIExhc3QgbW9kaWZpZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIGltYWdlX2xhc3RfbW9kaWZpZWQgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gdGlueSBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdGlueV9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aW55Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aHVtYm5haWwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRodW1ibmFpbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aHVtYicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gc21hbGwgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHNtYWxsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoJ3NtYWxsJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBiaWcgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGJpZ19pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdiaWcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIG9yaWdpbmFsIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCBvcmlnaW5hbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdvcmlnaW5hbCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbW91bnRfaW5fc3RvY2sgPiAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogUGFydGlhbDxFc29sdmVTdG9ja0Jhc2VSZWNvcmQ8VD4+ID0ge30pIHtcbiAgICAgICAgbGV0IHNlb190aXRsZSA9ICcnO1xuICAgICAgICBsZXQgc2VvX2tleXdvcmRzID0gJyc7XG4gICAgICAgIGxldCBiYXNlX3ByaWNlID0gMDtcbiAgICAgICAgbGV0IGJhc2VfcHJpY2Vfd2l0aF90YXggPSAwO1xuICAgICAgICBsZXQgc2VsbF9wcmljZSA9IDA7XG4gICAgICAgIGxldCBzZWxsX3ByaWNlX3dpdGhfdGF4ID0gMDtcblxuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0gKyhyZWNvcmQuaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmNvZGUgPSByZWNvcmQuY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3VwcGxpZXJfY29kZSA9IHJlY29yZC5zdXBwbGllcl9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5iYXJjb2RlID0gcmVjb3JkLmJhcmNvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaF9jb21wb3NpdGUgPSByZWNvcmQuc2VhcmNoX2NvbXBvc2l0ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJfdHlwZSA9IHJlY29yZC5zdWJfdHlwZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmV4dGVuZGVkX2Rlc2NyaXB0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWQgPSByZWNvcmQuaW1hZ2VfbGFzdF9tb2RpZmllZCA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeV9pZCA9IHJlY29yZC5jYXRlZ29yeV9pZCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnlfaWQgPSArKHJlY29yZC5zdWJjYXRlZ29yeV9pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnJhbmdlc19pZCA9ICsocmVjb3JkLnJhbmdlc19pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlfY2F0ZWdvcnkgPSByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnkgPz8gJ3JlZ3VsYXJfaXRlbSc7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbV9sYWJlbCA9IHJlY29yZC5jdXN0b21fbGFiZWwgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMubXVzdF9jb2xsZWN0ID0gISErKHJlY29yZC5tdXN0X2NvbGxlY3QgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc19hc3NlbWJseSA9ICEhKyhyZWNvcmQucmVxdWlyZXNfYXNzZW1ibHkgPz8gZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVkID0gISErKHJlY29yZC5pc19mZWF0dXJlZCA/PyBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlfb25seSA9ICEhKyhyZWNvcmQuZGlzcGxheV9vbmx5ID8/IGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuYWxsb3dfcXVvdGVzID0gcmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSByZWNvcmQuYWxsb3dfb3JkZXJzID8/IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xuICAgICAgICAgICAgdGhpcy5saW1pdF9wZXJfdHJhbnNhY3Rpb24gPSArKHJlY29yZC5saW1pdF9wZXJfdHJhbnNhY3Rpb24gPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcblxuICAgICAgICAgICAgdGhpcy5wYWNrX3NpemUgPSArKHJlY29yZC5pdGVtc19pbl9wYWNrID8/IDApO1xuICAgICAgICAgICAgdGhpcy5wYWNrX2Rlc2NyaXB0aW9uID0gcmVjb3JkLnBhY2tfZGVzY3JpcHRpb24gPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9ICsocmVjb3JkLndpZHRoID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sZW5ndGggPSArKHJlY29yZC5sZW5ndGggPz8gMCk7XG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcblxuICAgICAgICAgICAgaWYgKHJlY29yZC51bml0X29mX21lYXN1cmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXggPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG4gICAgICAgICAgICBzZWxsX3ByaWNlID0gKyhyZWNvcmQuc2VsbHByaWNlID8/IDApO1xuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudGFncyAmJiByZWNvcmQudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQudG9waWNzICYmIHJlY29yZC50b3BpY3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcGljcy5wdXNoKG5ldyBFc29sdmVUb3BpYyh0b3BpYykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5iYWRnZXMgJiYgcmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFkZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXNvbHZlU3RvY2tCYWRnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmZvbnRfY29sb3VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhZGdlLmJhZGdlX2NvbG91cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmltYWdlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlY29yZC5tYW51ZmFjdHVyZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY29sb3VycyAmJiByZWNvcmQuY29sb3Vycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2xvdXIgb2YgcmVjb3JkLmNvbG91cnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuc2l6ZXMgJiYgcmVjb3JkLnNpemVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNpemUgb2YgcmVjb3JkLnNpemVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l6ZXMucHVzaChzaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQubGVhZF90aW1lcykge1xuICAgICAgICAgICAgICAgIHRoaXMubGVhZF90aW1lcyA9IG5ldyBFc29sdmVTdG9ja0xlYWRUaW1lcyhyZWNvcmQubGVhZF90aW1lcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY3VzdG9tX2ZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnRvdGFsX29yZGVyX3F0eSB8fCByZWNvcmQudG90YWxfcXVvdGVfcXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxfb3JkZXJfcXR5ID0gKyhyZWNvcmQudG90YWxfb3JkZXJfcXR5ID8/IDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsX3F1b3RlX3F0eSA9ICsocmVjb3JkLnRvdGFsX3F1b3RlX3F0eSA/PyAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBuZXcgRXNvbHZlU3RvY2tUcmFuc2FjdGlvbkhpc3RvcnkoXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX29yZGVyX3F0eSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcXVvdGVfcXR5LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlb190aXRsZSA9IHJlY29yZC5zZW9fcGFnZV90aXRsZSA/PyAnJztcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXG4gICAgICAgICAgICBiYXNlX3ByaWNlLFxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCxcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXG4gICAgICAgICAgICBzZWxsX3ByaWNlX3dpdGhfdGF4LFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9yYXRlLFxuICAgICAgICAgICAgcmVjb3JkLnZhdF9pdGVtLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbSA9ICcnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHBhcmFtID0gYD90PSR7dGhpcy5pbWFnZV9sYXN0X21vZGlmaWVkfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfSR7cGFyYW19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWJhc2UtcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9pbnRlcmZhY2VzL2Vzb2x2ZS1zdG9jay1iYXNlLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZCB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyUmVjb3JkIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZVJlY29yZCB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWdSZWNvcmQgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYWRnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWJhZGdlLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ29sb3VyUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY29sb3VyLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tMZWFkVGltZXNSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1sZWFkLXRpbWVzLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxcbiAgICBUIGV4dGVuZHMgRXNvbHZlQ3VzdG9tRmllbGRzID0gRXNvbHZlQ3VzdG9tRmllbGRzLFxuPiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgc3VwcGxpZXJfY29kZTogc3RyaW5nO1xuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XG4gICAgYmFyY29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzZWZfbmFtZTogc3RyaW5nO1xuICAgIHNlYXJjaF9jb21wb3NpdGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgc3ViX3R5cGU6IHN0cmluZztcbiAgICBzZW9fcGFnZV90aXRsZTogc3RyaW5nO1xuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZXh0ZW5kZWRfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjYXRlZ29yeV9pZDogc3RyaW5nO1xuICAgIGNhdGVnb3J5X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmQ7XG4gICAgc3ViY2F0ZWdvcnlfaWQ6IG51bWJlcjtcbiAgICBzdWJjYXRlZ29yeV9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHN1YmNhdGVnb3J5OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkO1xuICAgIG1hbnVmYWN0dXJlcnNfaWQ6IG51bWJlcjtcbiAgICBtYW51ZmFjdHVyZXI6IEVzb2x2ZU1hbnVmYWN0dXJlclJlY29yZDtcbiAgICByYW5nZXNfaWQ6IG51bWJlcjtcbiAgICByYW5nZTogRXNvbHZlUmFuZ2VSZWNvcmQ7XG4gICAgaW1hZ2VfbmFtZTogc3RyaW5nO1xuICAgIGltYWdlX2NoZWNrc3VtPzogc3RyaW5nO1xuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ/OiBzdHJpbmc7XG4gICAgbXVzdF9jb2xsZWN0OiBib29sZWFuO1xuICAgIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VzdG9tX2xhYmVsOiBzdHJpbmc7XG4gICAgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW47XG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xuICAgIGlzX2ZlYXR1cmVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlfb25seTogYm9vbGVhbjtcbiAgICB2YXRfaXRlbTogYm9vbGVhbjtcbiAgICB2YXRfcmF0ZTogbnVtYmVyO1xuICAgIHZhdF9wZXJjZW50YWdlOiBudW1iZXI7XG4gICAgaXRlbXNfaW5fcGFjazogbnVtYmVyO1xuICAgIHBhY2tfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICByZWd1bGFyX3NlbGxwcmljZTogbnVtYmVyO1xuICAgIHJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZV9pbmNsdXNpdmU6IG51bWJlcjtcbiAgICBkaXNjb3VudHNfb25fY29kZTogYW55W107XG4gICAgdGFnczogRXNvbHZlVGFnUmVjb3JkW107XG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xuICAgIGJhZGdlczogRXNvbHZlU3RvY2tCYWRnZVJlY29yZFtdO1xuICAgIGxlYWRfdGltZXM6IEVzb2x2ZVN0b2NrTGVhZFRpbWVzUmVjb3JkO1xuICAgIGNvbG91cnM6IEVzb2x2ZUNvbG91clJlY29yZFtdO1xuICAgIHNpemVzOiBzdHJpbmdbXTtcbiAgICBjdXN0b21fZmllbGRzOiBUO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgd2VpZ2h0OiBudW1iZXI7XG4gICAgdW5pdF9vZl9tZWFzdXJlOiBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmU7XG4gICAgb25oYW5kOiBudW1iZXI7XG4gICAgdG90YWxfcmVjaXBlX2l0ZW1zOiBudW1iZXI7XG4gICAgYWxsb3dfcXVvdGVzOiBib29sZWFuO1xuICAgIGFsbG93X29yZGVyczogYm9vbGVhbjtcbiAgICB0b3RhbF9vcmRlcl9xdHk/OiBudW1iZXI7XG4gICAgdG90YWxfcXVvdGVfcXR5PzogbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWJhc2UtcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9pbnRlcmZhY2VzL2Vzb2x2ZS1zdG9jay1iYXNlLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcblxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZCB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyUmVjb3JkIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZVJlY29yZCB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWdSZWNvcmQgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljUmVjb3JkIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RvY2tVbml0T2ZNZWFzdXJlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tCYWRnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWJhZGdlLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlQ29sb3VyUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY29sb3VyLXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlU3RvY2tMZWFkVGltZXNSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zdG9jay1sZWFkLXRpbWVzLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrQmFzZVJlY29yZDxcbiAgICBUIGV4dGVuZHMgRXNvbHZlQ3VzdG9tRmllbGRzID0gRXNvbHZlQ3VzdG9tRmllbGRzLFxuPiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgc3VwcGxpZXJfY29kZTogc3RyaW5nO1xuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XG4gICAgYmFyY29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzZWZfbmFtZTogc3RyaW5nO1xuICAgIHNlYXJjaF9jb21wb3NpdGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgc3ViX3R5cGU6IHN0cmluZztcbiAgICBzZW9fcGFnZV90aXRsZTogc3RyaW5nO1xuICAgIHNlb19rZXl3b3Jkczogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZXh0ZW5kZWRfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBjYXRlZ29yeV9pZDogc3RyaW5nO1xuICAgIGNhdGVnb3J5X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmQ7XG4gICAgc3ViY2F0ZWdvcnlfaWQ6IG51bWJlcjtcbiAgICBzdWJjYXRlZ29yeV9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHN1YmNhdGVnb3J5OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkO1xuICAgIG1hbnVmYWN0dXJlcnNfaWQ6IG51bWJlcjtcbiAgICBtYW51ZmFjdHVyZXI6IEVzb2x2ZU1hbnVmYWN0dXJlclJlY29yZDtcbiAgICByYW5nZXNfaWQ6IG51bWJlcjtcbiAgICByYW5nZTogRXNvbHZlUmFuZ2VSZWNvcmQ7XG4gICAgaW1hZ2VfbmFtZTogc3RyaW5nO1xuICAgIGltYWdlX2NoZWNrc3VtPzogc3RyaW5nO1xuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ/OiBzdHJpbmc7XG4gICAgbXVzdF9jb2xsZWN0OiBib29sZWFuO1xuICAgIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VzdG9tX2xhYmVsOiBzdHJpbmc7XG4gICAgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW47XG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xuICAgIGlzX2ZlYXR1cmVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlfb25seTogYm9vbGVhbjtcbiAgICB2YXRfaXRlbTogYm9vbGVhbjtcbiAgICB2YXRfcmF0ZTogbnVtYmVyO1xuICAgIHZhdF9wZXJjZW50YWdlOiBudW1iZXI7XG4gICAgaXRlbXNfaW5fcGFjazogbnVtYmVyO1xuICAgIHBhY2tfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICByZWd1bGFyX3NlbGxwcmljZTogbnVtYmVyO1xuICAgIHJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZTogbnVtYmVyO1xuICAgIHNlbGxwcmljZV9pbmNsdXNpdmU6IG51bWJlcjtcbiAgICBkaXNjb3VudHNfb25fY29kZTogYW55W107XG4gICAgdGFnczogRXNvbHZlVGFnUmVjb3JkW107XG4gICAgdG9waWNzOiBFc29sdmVUb3BpY1JlY29yZFtdO1xuICAgIGJhZGdlczogRXNvbHZlU3RvY2tCYWRnZVJlY29yZFtdO1xuICAgIGxlYWRfdGltZXM6IEVzb2x2ZVN0b2NrTGVhZFRpbWVzUmVjb3JkO1xuICAgIGNvbG91cnM6IEVzb2x2ZUNvbG91clJlY29yZFtdO1xuICAgIHNpemVzOiBzdHJpbmdbXTtcbiAgICBjdXN0b21fZmllbGRzOiBUO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgd2VpZ2h0OiBudW1iZXI7XG4gICAgdW5pdF9vZl9tZWFzdXJlOiBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmU7XG4gICAgb25oYW5kOiBudW1iZXI7XG4gICAgbGltaXRfcGVyX3RyYW5zYWN0aW9uOiBudW1iZXI7XG4gICAgdG90YWxfcmVjaXBlX2l0ZW1zOiBudW1iZXI7XG4gICAgYWxsb3dfcXVvdGVzOiBib29sZWFuO1xuICAgIGFsbG93X29yZGVyczogYm9vbGVhbjtcbiAgICB0b3RhbF9vcmRlcl9xdHk/OiBudW1iZXI7XG4gICAgdG90YWxfcXVvdGVfcXR5PzogbnVtYmVyO1xufVxuIl19