@vendure/admin-ui 3.1.0-next.1 → 3.1.0-next.3

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 (117) hide show
  1. package/catalog/components/collection-data-table/collection-data-table.component.d.ts +3 -5
  2. package/catalog/components/collection-list/collection-list.component.d.ts +1 -0
  3. package/catalog/components/facet-list/facet-list.component.d.ts +1 -0
  4. package/catalog/components/product-list/product-list.component.d.ts +2 -0
  5. package/core/common/base-list.component.d.ts +13 -0
  6. package/core/common/version.d.ts +1 -1
  7. package/core/data/providers/base-data.service.d.ts +19 -2
  8. package/core/data/providers/collection-data.service.d.ts +2 -2
  9. package/core/data/providers/data.service.d.ts +3 -3
  10. package/core/data/query-result.d.ts +60 -4
  11. package/core/data/utils/add-custom-fields.d.ts +1 -1
  12. package/core/providers/alerts/alerts.service.d.ts +3 -0
  13. package/core/providers/auth/auth.service.d.ts +3 -1
  14. package/core/providers/data-table/data-table-config.service.d.ts +12 -0
  15. package/core/public_api.d.ts +1 -0
  16. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +1 -0
  17. package/core/shared/components/assets/assets.component.d.ts +2 -1
  18. package/core/shared/components/data-table-2/data-table2.component.d.ts +5 -5
  19. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +3 -4
  20. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +21 -2
  21. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +2 -1
  22. package/customer/components/customer-group-list/customer-group-list.component.d.ts +2 -0
  23. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  24. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +1 -1
  25. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +10 -12
  26. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +1 -1
  27. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +4 -3
  28. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +14 -13
  29. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +1 -1
  30. package/esm2022/catalog/components/product-list/product-list.component.mjs +5 -3
  31. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +1 -1
  32. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +1 -1
  33. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +1 -1
  34. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +1 -1
  35. package/esm2022/core/common/base-list.component.mjs +20 -4
  36. package/esm2022/core/common/version.mjs +2 -2
  37. package/esm2022/core/components/app-shell/app-shell.component.mjs +3 -3
  38. package/esm2022/core/data/data.module.mjs +3 -3
  39. package/esm2022/core/data/providers/base-data.service.mjs +7 -8
  40. package/esm2022/core/data/providers/collection-data.service.mjs +3 -3
  41. package/esm2022/core/data/providers/data.service.mjs +5 -5
  42. package/esm2022/core/data/providers/product-data.service.mjs +4 -2
  43. package/esm2022/core/data/query-result.mjs +96 -10
  44. package/esm2022/core/data/utils/add-custom-fields.mjs +48 -30
  45. package/esm2022/core/providers/alerts/alerts.service.mjs +13 -3
  46. package/esm2022/core/providers/auth/auth.service.mjs +11 -7
  47. package/esm2022/core/providers/data-table/data-table-config.service.mjs +43 -0
  48. package/esm2022/core/public_api.mjs +2 -1
  49. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +1 -1
  50. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +3 -2
  51. package/esm2022/core/shared/components/assets/assets.component.mjs +10 -4
  52. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +3 -3
  53. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +44 -52
  54. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +23 -35
  55. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +78 -13
  56. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +33 -1
  57. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +3 -2
  58. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +2 -2
  59. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +1 -1
  60. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +15 -13
  61. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +1 -1
  62. package/esm2022/customer/components/customer-list/customer-list.component.mjs +27 -26
  63. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +1 -1
  64. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +14 -13
  65. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +1 -14
  66. package/esm2022/order/components/order-detail/order-detail.component.mjs +3 -3
  67. package/esm2022/order/components/order-editor/order-editor.component.mjs +1 -1
  68. package/esm2022/order/components/order-list/order-list.component.mjs +4 -3
  69. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +1 -1
  70. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +33 -32
  71. package/esm2022/settings/components/channel-list/channel-list.component.mjs +14 -13
  72. package/esm2022/settings/components/country-list/country-list.component.mjs +22 -21
  73. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +22 -21
  74. package/esm2022/settings/components/role-list/role-list.component.mjs +14 -13
  75. package/esm2022/settings/components/seller-list/seller-list.component.mjs +19 -18
  76. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +22 -21
  77. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +20 -19
  78. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +14 -13
  79. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +14 -13
  80. package/esm2022/settings/components/zone-list/zone-list.component.mjs +19 -18
  81. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +1 -1
  82. package/esm2022/system/components/job-list/job-list.component.mjs +1 -1
  83. package/fesm2022/vendure-admin-ui-catalog.mjs +35 -33
  84. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  85. package/fesm2022/vendure-admin-ui-core.mjs +536 -288
  86. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  87. package/fesm2022/vendure-admin-ui-customer.mjs +42 -39
  88. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  89. package/fesm2022/vendure-admin-ui-dashboard.mjs +1 -1
  90. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  91. package/fesm2022/vendure-admin-ui-marketing.mjs +13 -12
  92. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  93. package/fesm2022/vendure-admin-ui-order.mjs +7 -19
  94. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  95. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
  96. package/fesm2022/vendure-admin-ui-settings.mjs +203 -192
  97. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  98. package/fesm2022/vendure-admin-ui-system.mjs +1 -1
  99. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  100. package/marketing/components/promotion-list/promotion-list.component.d.ts +1 -0
  101. package/order/components/order-data-table/order-data-table.component.d.ts +2 -3
  102. package/order/components/order-list/order-list.component.d.ts +1 -0
  103. package/package.json +14 -14
  104. package/settings/components/administrator-list/administrator-list.component.d.ts +1 -0
  105. package/settings/components/channel-list/channel-list.component.d.ts +1 -0
  106. package/settings/components/country-list/country-list.component.d.ts +1 -0
  107. package/settings/components/payment-method-list/payment-method-list.component.d.ts +1 -0
  108. package/settings/components/role-list/role-list.component.d.ts +1 -0
  109. package/settings/components/seller-list/seller-list.component.d.ts +1 -0
  110. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +1 -0
  111. package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -0
  112. package/settings/components/tax-category-list/tax-category-list.component.d.ts +1 -0
  113. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +1 -0
  114. package/settings/components/zone-list/zone-list.component.d.ts +1 -0
  115. package/static/i18n-messages/en.json +6 -2
  116. package/static/i18n-messages/pt_PT.json +1 -0
  117. package/static/styles/component/prosemirror.scss +2 -0
@@ -5,9 +5,11 @@ import { BehaviorSubject, combineLatest, merge, Subject } from 'rxjs';
5
5
  import { debounceTime, distinctUntilChanged, filter, map, shareReplay, takeUntil, tap } from 'rxjs/operators';
6
6
  import { DataService } from '../data/providers/data.service';
7
7
  import { ServerConfigService } from '../data/server-config';
8
+ import { DataTableConfigService } from '../providers/data-table/data-table-config.service';
8
9
  import { DataTableFilterCollection } from '../providers/data-table/data-table-filter-collection';
9
10
  import { DataTableSortCollection } from '../providers/data-table/data-table-sort-collection';
10
11
  import { PermissionsService } from '../providers/permissions/permissions.service';
12
+ import { DataTableCustomFieldColumnComponent } from '../shared/components/data-table-2/data-table-custom-field-column.component';
11
13
  import { SelectionManager } from './utilities/selection-manager';
12
14
  import * as i0 from "@angular/core";
13
15
  import * as i1 from "@angular/router";
@@ -35,6 +37,7 @@ export class BaseListComponent {
35
37
  this.onPageChangeFn = (skip, take) => ({ options: { skip, take } });
36
38
  this.refresh$ = new BehaviorSubject(undefined);
37
39
  this.defaults = { take: 10, skip: 0 };
40
+ this.visibleCustomFieldColumnChange$ = new Subject();
38
41
  }
39
42
  /**
40
43
  * @description
@@ -59,7 +62,7 @@ export class BaseListComponent {
59
62
  const fetchPage = ([currentPage, itemsPerPage, _]) => {
60
63
  const take = itemsPerPage;
61
64
  const skip = (currentPage - 1) * itemsPerPage;
62
- this.listQuery.ref.refetch(this.onPageChangeFn(skip, take));
65
+ this.listQuery.ref?.refetch(this.onPageChangeFn(skip, take));
63
66
  };
64
67
  this.result$ = this.listQuery.stream$.pipe(shareReplay(1));
65
68
  this.items$ = this.result$.pipe(map(data => this.mappingFn(data).items));
@@ -84,7 +87,7 @@ export class BaseListComponent {
84
87
  ngOnDestroy() {
85
88
  this.destroy$.next();
86
89
  this.destroy$.complete();
87
- this.listQuery.completed$.next();
90
+ this.listQuery.destroy();
88
91
  }
89
92
  /**
90
93
  * @description
@@ -100,6 +103,9 @@ export class BaseListComponent {
100
103
  setItemsPerPage(perPage) {
101
104
  this.setQueryParam('perPage', perPage, { replaceUrl: true });
102
105
  }
106
+ setVisibleColumns(columns) {
107
+ this.visibleCustomFieldColumnChange$.next(columns.filter((c) => c instanceof DataTableCustomFieldColumnComponent));
108
+ }
103
109
  /**
104
110
  * @description
105
111
  * Re-fetch the current page of results.
@@ -136,6 +142,7 @@ export class TypedBaseListComponent extends BaseListComponent {
136
142
  this.router = inject(Router);
137
143
  this.serverConfigService = inject(ServerConfigService);
138
144
  this.permissionsService = inject(PermissionsService);
145
+ this.dataTableConfigService = inject(DataTableConfigService);
139
146
  this.refreshStreams = [];
140
147
  this.collections = [];
141
148
  const destroyRef = inject(DestroyRef);
@@ -144,7 +151,16 @@ export class TypedBaseListComponent extends BaseListComponent {
144
151
  });
145
152
  }
146
153
  configure(config) {
147
- super.setQueryFn((args) => this.dataService.query(config.document).refetchOnChannelChange(), data => config.getItems(data), (skip, take) => config.setVariables?.(skip, take) ?? {});
154
+ const customFieldsChange$ = this.visibleCustomFieldColumnChange$.pipe(map(columns => columns.map(c => c.customField.name)), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)));
155
+ const includeCustomFields = this.dataTableListId
156
+ ? this.dataTableConfigService.getConfig(this.dataTableListId).visibility
157
+ : undefined;
158
+ super.setQueryFn((args) => this.dataService
159
+ .query(config.document, {}, 'cache-and-network', {
160
+ includeCustomFields,
161
+ })
162
+ .refetchOnChannelChange()
163
+ .refetchOnCustomFieldsChange(customFieldsChange$), data => config.getItems(data), (skip, take) => config.setVariables?.(skip, take) ?? {});
148
164
  this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();
149
165
  this.contentLanguage$ = this.dataService.client
150
166
  .uiState()
@@ -183,4 +199,4 @@ export class TypedBaseListComponent extends BaseListComponent {
183
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TypedBaseListComponent, decorators: [{
184
200
  type: Directive
185
201
  }], ctorParameters: () => [] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQWdCakU7Ozs7Ozs7O0dBUUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGlCQUFpQjtJQXVCMUIsWUFBc0IsTUFBYyxFQUFZLEtBQXFCO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQXBC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QXVCLENBQXVDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWtCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF1RDtRQUN4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzVFLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBekVRLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdWx0T2YsIFR5cGVkRG9jdW1lbnROb2RlLCBWYXJpYWJsZXNPZiB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuLi9kYXRhL3F1ZXJ5LXJlc3VsdCc7XHJcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3NlcnZlci1jb25maWcnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1zb3J0LWNvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnLCBDdXN0b21GaWVsZHMsIExhbmd1YWdlQ29kZSB9IGZyb20gJy4vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTWFuYWdlciB9IGZyb20gJy4vdXRpbGl0aWVzL3NlbGVjdGlvbi1tYW5hZ2VyJztcclxuXHJcbmV4cG9ydCB0eXBlIExpc3RRdWVyeUZuPFI+ID0gKHRha2U6IG51bWJlciwgc2tpcDogbnVtYmVyLCAuLi5hcmdzOiBhbnlbXSkgPT4gUXVlcnlSZXN1bHQ8UiwgYW55PjtcclxuZXhwb3J0IHR5cGUgTWFwcGluZ0ZuPFQsIFI+ID0gKHJlc3VsdDogUikgPT4geyBpdGVtczogVFtdOyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcclxuZXhwb3J0IHR5cGUgT25QYWdlQ2hhbmdlRm48Vj4gPSAoc2tpcDogbnVtYmVyLCB0YWtlOiBudW1iZXIpID0+IFY7XHJcblxyXG4vKipcclxuICogVW53cmFwcyBhIHF1ZXJ5IHRoYXQgcmV0dXJucyBhIHBhZ2luYXRlZCBsaXN0IHdpdGggYW4gXCJpdGVtc1wiIHByb3BlcnR5LFxyXG4gKiByZXR1cm5pbmcgdGhlIHR5cGUgb2Ygb25lIG9mIHRoZSBpdGVtcyBpbiB0aGUgYXJyYXkuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBJdGVtT2Y8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gVFtLXSBleHRlbmRzIHsgaXRlbXM6IGluZmVyIFIgfVxyXG4gICAgPyBSIGV4dGVuZHMgYW55W11cclxuICAgICAgICA/IFJbbnVtYmVyXVxyXG4gICAgICAgIDogUlxyXG4gICAgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhpcyBpcyBhIGJhc2UgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyB0aGUgbG9naWMgcmVxdWlyZWQgdG8gZmV0Y2ggYW5kIG1hbmlwdWxhdGVcclxuICogYSBsaXN0IG9mIGRhdGEgZnJvbSBhIHF1ZXJ5IHdoaWNoIHJldHVybnMgYSBQYWdpbmF0ZWRMaXN0IHR5cGUuXHJcbiAqXHJcbiAqIEl0IGlzIG5vcm1hbGx5IHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUge0BsaW5rIERhdGFUYWJsZTJDb21wb25lbnR9LlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBCYXNlTGlzdENvbXBvbmVudDxSZXN1bHRUeXBlLCBJdGVtVHlwZSwgVmFyaWFibGVUeXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueT5cclxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gICAgc2VhcmNoVGVybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xyXG4gICAgc2VsZWN0aW9uTWFuYWdlciA9IG5ldyBTZWxlY3Rpb25NYW5hZ2VyPGFueT4oe1xyXG4gICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxyXG4gICAgICAgIGl0ZW1zQXJlRXF1YWw6IChhLCBiKSA9PiBhLmlkID09PSBiLmlkLFxyXG4gICAgICAgIGFkZGl0aXZlTW9kZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgcmVzdWx0JDogT2JzZXJ2YWJsZTxSZXN1bHRUeXBlPjtcclxuICAgIGl0ZW1zJDogT2JzZXJ2YWJsZTxJdGVtVHlwZVtdPjtcclxuICAgIHRvdGFsSXRlbXMkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBpdGVtc1BlclBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBjdXJyZW50UGFnZSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIGxpc3RRdWVyeTogUXVlcnlSZXN1bHQ8UmVzdWx0VHlwZSwgVmFyaWFibGVUeXBlPjtcclxuICAgIHByaXZhdGUgbGlzdFF1ZXJ5Rm46IExpc3RRdWVyeUZuPFJlc3VsdFR5cGU+O1xyXG4gICAgcHJpdmF0ZSBtYXBwaW5nRm46IE1hcHBpbmdGbjxJdGVtVHlwZSwgUmVzdWx0VHlwZT47XHJcbiAgICBwcml2YXRlIG9uUGFnZUNoYW5nZUZuOiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+ID0gKHNraXAsIHRha2UpID0+XHJcbiAgICAgICAgKHsgb3B0aW9uczogeyBza2lwLCB0YWtlIH0gfSBhcyBhbnkpO1xyXG4gICAgcHJvdGVjdGVkIHJlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgICBwcml2YXRlIGRlZmF1bHRzOiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0gPSB7IHRha2U6IDEwLCBza2lwOiAwIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBmZXRjaCBmdW5jdGlvbiBmb3IgdGhlIGxpc3QgYmVpbmcgaW1wbGVtZW50ZWQuXHJcbiAgICAgKi9cclxuICAgIHNldFF1ZXJ5Rm4oXHJcbiAgICAgICAgbGlzdFF1ZXJ5Rm46IExpc3RRdWVyeUZuPFJlc3VsdFR5cGU+LFxyXG4gICAgICAgIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPixcclxuICAgICAgICBvblBhZ2VDaGFuZ2VGbj86IE9uUGFnZUNoYW5nZUZuPFZhcmlhYmxlVHlwZT4sXHJcbiAgICAgICAgZGVmYXVsdHM/OiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmxpc3RRdWVyeUZuID0gbGlzdFF1ZXJ5Rm47XHJcbiAgICAgICAgdGhpcy5tYXBwaW5nRm4gPSBtYXBwaW5nRm47XHJcbiAgICAgICAgaWYgKG9uUGFnZUNoYW5nZUZuKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25QYWdlQ2hhbmdlRm4gPSBvblBhZ2VDaGFuZ2VGbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlZmF1bHRzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdHMgPSBkZWZhdWx0cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RRdWVyeUZuKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgIGBObyBsaXN0UXVlcnlGbiBoYXMgYmVlbiBkZWZpbmVkLiBQbGVhc2UgY2FsbCBzdXBlci5zZXRRdWVyeUZuKCkgaW4gdGhlIGNvbnN0cnVjdG9yLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5ID0gdGhpcy5saXN0UXVlcnlGbih0aGlzLmRlZmF1bHRzLnRha2UsIHRoaXMuZGVmYXVsdHMuc2tpcCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZldGNoUGFnZSA9IChbY3VycmVudFBhZ2UsIGl0ZW1zUGVyUGFnZSwgX106IFtudW1iZXIsIG51bWJlciwgdW5kZWZpbmVkXSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWtlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICBjb25zdCBza2lwID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBpdGVtc1BlclBhZ2U7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdFF1ZXJ5LnJlZi5yZWZldGNoKHRoaXMub25QYWdlQ2hhbmdlRm4oc2tpcCwgdGFrZSkpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMucmVzdWx0JCA9IHRoaXMubGlzdFF1ZXJ5LnN0cmVhbSQucGlwZShzaGFyZVJlcGxheSgxKSk7XHJcbiAgICAgICAgdGhpcy5pdGVtcyQgPSB0aGlzLnJlc3VsdCQucGlwZShtYXAoZGF0YSA9PiB0aGlzLm1hcHBpbmdGbihkYXRhKS5pdGVtcykpO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyQgPSB0aGlzLnJlc3VsdCQucGlwZShtYXAoZGF0YSA9PiB0aGlzLm1hcHBpbmdGbihkYXRhKS50b3RhbEl0ZW1zKSk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdwYWdlJykpLFxyXG4gICAgICAgICAgICBtYXAocGFnZSA9PiAoIXBhZ2UgPyAxIDogK3BhZ2UpKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaXRlbXNQZXJQYWdlJCA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcC5waXBlKFxyXG4gICAgICAgICAgICBtYXAocXBtID0+IHFwbS5nZXQoJ3BlclBhZ2UnKSksXHJcbiAgICAgICAgICAgIG1hcChwZXJQYWdlID0+ICghcGVyUGFnZSA/IHRoaXMuZGVmYXVsdHMudGFrZSA6ICtwZXJQYWdlKSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29tYmluZUxhdGVzdCh0aGlzLmN1cnJlbnRQYWdlJCwgdGhpcy5pdGVtc1BlclBhZ2UkLCB0aGlzLnJlZnJlc2gkKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZmV0Y2hQYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogQWNjZXB0cyBhIGxpc3Qgb2YgT2JzZXJ2YWJsZXMgd2hpY2ggd2lsbCB0cmlnZ2VyIGEgcmVmcmVzaCBvZiB0aGUgbGlzdCB3aGVuIGFueSBvZiB0aGVtIGVtaXQuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCByZWZyZXNoTGlzdE9uQ2hhbmdlcyguLi5zdHJlYW1zOiBBcnJheTxPYnNlcnZhYmxlPGFueT4+KSB7XHJcbiAgICAgICAgY29uc3Qgc2VhcmNoVGVybSQgPSB0aGlzLnNlYXJjaFRlcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09IG51bGwgJiYgKDIgPCB2YWx1ZS5sZW5ndGggfHwgdmFsdWUubGVuZ3RoID09PSAwKSksXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgyNTApLFxyXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRQYWdlTnVtYmVyKDEpKSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBtZXJnZShzZWFyY2hUZXJtJCwgLi4uc3RyZWFtcylcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCQubmV4dCh1bmRlZmluZWQpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgdGhpcy5saXN0UXVlcnkuY29tcGxldGVkJC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNldHMgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgaW4gdGhlIHVybC5cclxuICAgICAqL1xyXG4gICAgc2V0UGFnZU51bWJlcihwYWdlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BhZ2UnLCBwYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNldHMgdGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0aGUgdXJsLlxyXG4gICAgICovXHJcbiAgICBzZXRJdGVtc1BlclBhZ2UocGVyUGFnZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5zZXRRdWVyeVBhcmFtKCdwZXJQYWdlJywgcGVyUGFnZSwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBSZS1mZXRjaCB0aGUgY3VycmVudCBwYWdlIG9mIHJlc3VsdHMuXHJcbiAgICAgKi9cclxuICAgIHJlZnJlc2goKSB7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldFF1ZXJ5UGFyYW0oXHJcbiAgICAgICAgaGFzaDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcclxuICAgICk7XHJcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcclxuICAgICAgICBrZXk6IHN0cmluZyxcclxuICAgICAgICB2YWx1ZTogYW55LFxyXG4gICAgICAgIG9wdGlvbnM/OiB7IHJlcGxhY2VVcmw/OiBib29sZWFuOyBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZyB9LFxyXG4gICAgKTtcclxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxyXG4gICAgICAgIGtleU9ySGFzaDogc3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgICAgICB2YWx1ZU9yT3B0aW9ucz86IGFueSxcclxuICAgICAgICBtYXliZU9wdGlvbnM/OiB7IHJlcGxhY2VVcmw/OiBib29sZWFuOyBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZyB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9ICh0eXBlb2Yga2V5T3JIYXNoID09PSAnc3RyaW5nJyA/IG1heWJlT3B0aW9ucyA6IHZhbHVlT3JPcHRpb25zKSA/PyB7fTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8geyBba2V5T3JIYXNoXTogdmFsdWVPck9wdGlvbnMgfSA6IGtleU9ySGFzaCxcclxuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIHZlcnNpb24gb2YgdGhlIHtAbGluayBCYXNlTGlzdENvbXBvbmVudH0gd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgdXNlZCB3aXRoIGFcclxuICogW1R5cGVkRG9jdW1lbnROb2RlXShodHRwczovL3RoZS1ndWlsZC5kZXYvZ3JhcGhxbC9jb2RlZ2VuL3BsdWdpbnMvdHlwZXNjcmlwdC90eXBlZC1kb2N1bWVudC1ub2RlKS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBUeXBlZEJhc2VMaXN0Q29tcG9uZW50PFxyXG4gICAgICAgIFQgZXh0ZW5kcyBUeXBlZERvY3VtZW50Tm9kZTxhbnksIFZhcnM+LFxyXG4gICAgICAgIEZpZWxkIGV4dGVuZHMga2V5b2YgUmVzdWx0T2Y8VD4sXHJcbiAgICAgICAgVmFycyBleHRlbmRzIHsgb3B0aW9uczogeyBmaWx0ZXI6IGFueTsgc29ydDogYW55IH0gfSA9IFZhcmlhYmxlc09mPFQ+LFxyXG4gICAgPlxyXG4gICAgZXh0ZW5kcyBCYXNlTGlzdENvbXBvbmVudDxSZXN1bHRPZjxUPiwgSXRlbU9mPFJlc3VsdE9mPFQ+LCBGaWVsZD4sIFZhcmlhYmxlc09mPFQ+PlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUNvZGVbXT47XHJcbiAgICBjb250ZW50TGFuZ3VhZ2UkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZT47XHJcblxyXG4gICAgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlID0gaW5qZWN0KERhdGFTZXJ2aWNlKTtcclxuICAgIHByb3RlY3RlZCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICAgIHByb3RlY3RlZCBzZXJ2ZXJDb25maWdTZXJ2aWNlID0gaW5qZWN0KFNlcnZlckNvbmZpZ1NlcnZpY2UpO1xyXG4gICAgcHJvdGVjdGVkIHBlcm1pc3Npb25zU2VydmljZSA9IGluamVjdChQZXJtaXNzaW9uc1NlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWZyZXNoU3RyZWFtczogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PiA9IFtdO1xyXG4gICAgcHJpdmF0ZSBjb2xsZWN0aW9uczogQXJyYXk8RGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbiB8IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPGFueT4+ID0gW107XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcihpbmplY3QoUm91dGVyKSwgaW5qZWN0KEFjdGl2YXRlZFJvdXRlKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgICAgICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLmZvckVhY2goYyA9PiBjLmRlc3Ryb3koKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbmZpZ3VyZShjb25maWc6IHtcclxuICAgICAgICBkb2N1bWVudDogVDtcclxuICAgICAgICBnZXRJdGVtczogKGRhdGE6IFJlc3VsdE9mPFQ+KSA9PiB7IGl0ZW1zOiBBcnJheTxJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPj47IHRvdGFsSXRlbXM6IG51bWJlciB9O1xyXG4gICAgICAgIHNldFZhcmlhYmxlcz86IChza2lwOiBudW1iZXIsIHRha2U6IG51bWJlcikgPT4gVmFyaWFibGVzT2Y8VD47XHJcbiAgICAgICAgcmVmcmVzaExpc3RPbkNoYW5nZXM/OiBBcnJheTxPYnNlcnZhYmxlPGFueT4+O1xyXG4gICAgfSkge1xyXG4gICAgICAgIHN1cGVyLnNldFF1ZXJ5Rm4oXHJcbiAgICAgICAgICAgIChhcmdzOiBhbnkpID0+IHRoaXMuZGF0YVNlcnZpY2UucXVlcnkoY29uZmlnLmRvY3VtZW50KS5yZWZldGNoT25DaGFubmVsQ2hhbmdlKCksXHJcbiAgICAgICAgICAgIGRhdGEgPT4gY29uZmlnLmdldEl0ZW1zKGRhdGEpLFxyXG4gICAgICAgICAgICAoc2tpcCwgdGFrZSkgPT4gY29uZmlnLnNldFZhcmlhYmxlcz8uKHNraXAsIHRha2UpID8/ICh7fSBhcyBhbnkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMkID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEF2YWlsYWJsZUxhbmd1YWdlcygpO1xyXG4gICAgICAgIHRoaXMuY29udGVudExhbmd1YWdlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbSgoeyB1aVN0YXRlIH0pID0+IHVpU3RhdGUuY29udGVudExhbmd1YWdlKVxyXG4gICAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5yZWZyZXNoKCkpKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hTdHJlYW1zID0gY29uZmlnLnJlZnJlc2hMaXN0T25DaGFuZ2VzID8/IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgc3VwZXIucmVmcmVzaExpc3RPbkNoYW5nZXModGhpcy5jb250ZW50TGFuZ3VhZ2UkLCAuLi50aGlzLnJlZnJlc2hTdHJlYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVGaWx0ZXJDb2xsZWN0aW9uKCk6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248Tm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddPlsnZmlsdGVyJ10+PiB7XHJcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG5ldyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnZmlsdGVyJ10+Pih0aGlzLnJvdXRlcik7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9ucy5wdXNoKGNvbGxlY3Rpb24pO1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVNvcnRDb2xsZWN0aW9uKCk6IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXT5bJ3NvcnQnXT4+IHtcclxuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gbmV3IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnc29ydCddPj4odGhpcy5yb3V0ZXIpO1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMucHVzaChjb2xsZWN0aW9uKTtcclxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShjb2RlOiBMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VzdG9tRmllbGRDb25maWcoa2V5OiBFeGNsdWRlPGtleW9mIEN1c3RvbUZpZWxkcywgJ19fdHlwZW5hbWUnPiB8IHN0cmluZyk6IEN1c3RvbUZpZWxkQ29uZmlnW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlckNvbmZpZ1NlcnZpY2UuZ2V0Q3VzdG9tRmllbGRzRm9yKGtleSkuZmlsdGVyKGYgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZi5yZXF1aXJlc1Blcm1pc3Npb24/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLnVzZXJIYXNQZXJtaXNzaW9ucyhmLnJlcXVpcmVzUGVybWlzc2lvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFFakksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQWdCakU7Ozs7Ozs7O0dBUUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGlC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QUFVLENBQUMsQ0FBQztRQUNsQyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWtCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF1RDtRQUN4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzVFLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBL0ZRLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUmVzdWx0T2YsIFR5cGVkRG9jdW1lbnROb2RlLCBWYXJpYWJsZXNPZiB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5cbmltcG9ydCB7IFF1ZXJ5UmVzdWx0IH0gZnJvbSAnLi4vZGF0YS9xdWVyeS1yZXN1bHQnO1xuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2RhdGEvc2VydmVyLWNvbmZpZyc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbiB9IGZyb20gJy4uL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtc29ydC1jb2xsZWN0aW9uJztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvZGF0YS10YWJsZS0yL2RhdGEtdGFibGUtY3VzdG9tLWZpZWxkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcsIEN1c3RvbUZpZWxkcywgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTWFuYWdlciB9IGZyb20gJy4vdXRpbGl0aWVzL3NlbGVjdGlvbi1tYW5hZ2VyJztcblxuZXhwb3J0IHR5cGUgTGlzdFF1ZXJ5Rm48Uj4gPSAodGFrZTogbnVtYmVyLCBza2lwOiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKSA9PiBRdWVyeVJlc3VsdDxSLCBhbnk+O1xuZXhwb3J0IHR5cGUgTWFwcGluZ0ZuPFQsIFI+ID0gKHJlc3VsdDogUikgPT4geyBpdGVtczogVFtdOyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcbmV4cG9ydCB0eXBlIE9uUGFnZUNoYW5nZUZuPFY+ID0gKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWO1xuXG4vKipcbiAqIFVud3JhcHMgYSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCB3aXRoIGFuIFwiaXRlbXNcIiBwcm9wZXJ0eSxcbiAqIHJldHVybmluZyB0aGUgdHlwZSBvZiBvbmUgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheS5cbiAqL1xuZXhwb3J0IHR5cGUgSXRlbU9mPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbS10gZXh0ZW5kcyB7IGl0ZW1zOiBpbmZlciBSIH1cbiAgICA/IFIgZXh0ZW5kcyBhbnlbXVxuICAgICAgICA/IFJbbnVtYmVyXVxuICAgICAgICA6IFJcbiAgICA6IG5ldmVyO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhpcyBpcyBhIGJhc2UgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyB0aGUgbG9naWMgcmVxdWlyZWQgdG8gZmV0Y2ggYW5kIG1hbmlwdWxhdGVcbiAqIGEgbGlzdCBvZiBkYXRhIGZyb20gYSBxdWVyeSB3aGljaCByZXR1cm5zIGEgUGFnaW5hdGVkTGlzdCB0eXBlLlxuICpcbiAqIEl0IGlzIG5vcm1hbGx5IHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUge0BsaW5rIERhdGFUYWJsZTJDb21wb25lbnR9LlxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgbGlzdC1kZXRhaWwtdmlld3NcbiAqL1xuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBCYXNlTGlzdENvbXBvbmVudDxSZXN1bHRUeXBlLCBJdGVtVHlwZSwgVmFyaWFibGVUeXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueT5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gICAgc2VhcmNoVGVybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxhbnk+KHtcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgIGl0ZW1zQXJlRXF1YWw6IChhLCBiKSA9PiBhLmlkID09PSBiLmlkLFxuICAgICAgICBhZGRpdGl2ZU1vZGU6IHRydWUsXG4gICAgfSk7XG4gICAgcmVzdWx0JDogT2JzZXJ2YWJsZTxSZXN1bHRUeXBlPjtcbiAgICBpdGVtcyQ6IE9ic2VydmFibGU8SXRlbVR5cGVbXT47XG4gICAgdG90YWxJdGVtcyQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBpdGVtc1BlclBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGxpc3RRdWVyeTogUXVlcnlSZXN1bHQ8UmVzdWx0VHlwZSwgVmFyaWFibGVUeXBlPjtcbiAgICBwcml2YXRlIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPjtcbiAgICBwcml2YXRlIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPjtcbiAgICBwcml2YXRlIG9uUGFnZUNoYW5nZUZuOiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+ID0gKHNraXAsIHRha2UpID0+XG4gICAgICAgICh7IG9wdGlvbnM6IHsgc2tpcCwgdGFrZSB9IH0pIGFzIGFueTtcbiAgICBwcm90ZWN0ZWQgcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICBwcml2YXRlIGRlZmF1bHRzOiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0gPSB7IHRha2U6IDEwLCBza2lwOiAwIH07XG4gICAgcHJvdGVjdGVkIHZpc2libGVDdXN0b21GaWVsZENvbHVtbkNoYW5nZSQgPSBuZXcgU3ViamVjdDxcbiAgICAgICAgQXJyYXk8RGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQ8YW55Pj5cbiAgICA+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNldHMgdGhlIGZldGNoIGZ1bmN0aW9uIGZvciB0aGUgbGlzdCBiZWluZyBpbXBsZW1lbnRlZC5cbiAgICAgKi9cbiAgICBzZXRRdWVyeUZuKFxuICAgICAgICBsaXN0UXVlcnlGbjogTGlzdFF1ZXJ5Rm48UmVzdWx0VHlwZT4sXG4gICAgICAgIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPixcbiAgICAgICAgb25QYWdlQ2hhbmdlRm4/OiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+LFxuICAgICAgICBkZWZhdWx0cz86IHsgdGFrZTogbnVtYmVyOyBza2lwOiBudW1iZXIgfSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5saXN0UXVlcnlGbiA9IGxpc3RRdWVyeUZuO1xuICAgICAgICB0aGlzLm1hcHBpbmdGbiA9IG1hcHBpbmdGbjtcbiAgICAgICAgaWYgKG9uUGFnZUNoYW5nZUZuKSB7XG4gICAgICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZUZuID0gb25QYWdlQ2hhbmdlRm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZmF1bHRzKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGludGVybmFsICovXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5saXN0UXVlcnlGbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBObyBsaXN0UXVlcnlGbiBoYXMgYmVlbiBkZWZpbmVkLiBQbGVhc2UgY2FsbCBzdXBlci5zZXRRdWVyeUZuKCkgaW4gdGhlIGNvbnN0cnVjdG9yLmAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5ID0gdGhpcy5saXN0UXVlcnlGbih0aGlzLmRlZmF1bHRzLnRha2UsIHRoaXMuZGVmYXVsdHMuc2tpcCk7XG5cbiAgICAgICAgY29uc3QgZmV0Y2hQYWdlID0gKFtjdXJyZW50UGFnZSwgaXRlbXNQZXJQYWdlLCBfXTogW251bWJlciwgbnVtYmVyLCB1bmRlZmluZWRdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWtlID0gaXRlbXNQZXJQYWdlO1xuICAgICAgICAgICAgY29uc3Qgc2tpcCA9IChjdXJyZW50UGFnZSAtIDEpICogaXRlbXNQZXJQYWdlO1xuICAgICAgICAgICAgdGhpcy5saXN0UXVlcnkucmVmPy5yZWZldGNoKHRoaXMub25QYWdlQ2hhbmdlRm4oc2tpcCwgdGFrZSkpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucmVzdWx0JCA9IHRoaXMubGlzdFF1ZXJ5LnN0cmVhbSQucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkuaXRlbXMpKTtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zJCA9IHRoaXMucmVzdWx0JC5waXBlKG1hcChkYXRhID0+IHRoaXMubWFwcGluZ0ZuKGRhdGEpLnRvdGFsSXRlbXMpKTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcbiAgICAgICAgICAgIG1hcChxcG0gPT4gcXBtLmdldCgncGFnZScpKSxcbiAgICAgICAgICAgIG1hcChwYWdlID0+ICghcGFnZSA/IDEgOiArcGFnZSkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2UkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnBpcGUoXG4gICAgICAgICAgICBtYXAocXBtID0+IHFwbS5nZXQoJ3BlclBhZ2UnKSksXG4gICAgICAgICAgICBtYXAocGVyUGFnZSA9PiAoIXBlclBhZ2UgPyB0aGlzLmRlZmF1bHRzLnRha2UgOiArcGVyUGFnZSkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuY3VycmVudFBhZ2UkLCB0aGlzLml0ZW1zUGVyUGFnZSQsIHRoaXMucmVmcmVzaCQpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGZldGNoUGFnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQWNjZXB0cyBhIGxpc3Qgb2YgT2JzZXJ2YWJsZXMgd2hpY2ggd2lsbCB0cmlnZ2VyIGEgcmVmcmVzaCBvZiB0aGUgbGlzdCB3aGVuIGFueSBvZiB0aGVtIGVtaXQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlZnJlc2hMaXN0T25DaGFuZ2VzKC4uLnN0cmVhbXM6IEFycmF5PE9ic2VydmFibGU8YW55Pj4pIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoVGVybSQgPSB0aGlzLnNlYXJjaFRlcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmICgyIDwgdmFsdWUubGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkpLFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1MCksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRQYWdlTnVtYmVyKDEpKSxcbiAgICAgICAgKTtcblxuICAgICAgICBtZXJnZShzZWFyY2hUZXJtJCwgLi4uc3RyZWFtcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoJC5uZXh0KHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5saXN0UXVlcnkuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNldHMgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgaW4gdGhlIHVybC5cbiAgICAgKi9cbiAgICBzZXRQYWdlTnVtYmVyKHBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BhZ2UnLCBwYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU2V0cyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRoZSB1cmwuXG4gICAgICovXG4gICAgc2V0SXRlbXNQZXJQYWdlKHBlclBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BlclBhZ2UnLCBwZXJQYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgc2V0VmlzaWJsZUNvbHVtbnMoY29sdW1uczogQXJyYXk8RGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudDxhbnk+Pikge1xuICAgICAgICB0aGlzLnZpc2libGVDdXN0b21GaWVsZENvbHVtbkNoYW5nZSQubmV4dChcbiAgICAgICAgICAgIGNvbHVtbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChjKTogYyBpcyBEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudDxhbnk+ID0+XG4gICAgICAgICAgICAgICAgICAgIGMgaW5zdGFuY2VvZiBEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmUtZmV0Y2ggdGhlIGN1cnJlbnQgcGFnZSBvZiByZXN1bHRzLlxuICAgICAqL1xuICAgIHJlZnJlc2goKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxuICAgICAgICBoYXNoOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgb3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcbiAgICAgICAga2V5T3JIYXNoOiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICB2YWx1ZU9yT3B0aW9ucz86IGFueSxcbiAgICAgICAgbWF5YmVPcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcbiAgICApIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9ICh0eXBlb2Yga2V5T3JIYXNoID09PSAnc3RyaW5nJyA/IG1heWJlT3B0aW9ucyA6IHZhbHVlT3JPcHRpb25zKSA/PyB7fTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtczogdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoLFxuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIHZlcnNpb24gb2YgdGhlIHtAbGluayBCYXNlTGlzdENvbXBvbmVudH0gd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgdXNlZCB3aXRoIGFcbiAqIFtUeXBlZERvY3VtZW50Tm9kZV0oaHR0cHM6Ly90aGUtZ3VpbGQuZGV2L2dyYXBocWwvY29kZWdlbi9wbHVnaW5zL3R5cGVzY3JpcHQvdHlwZWQtZG9jdW1lbnQtbm9kZSkuXG4gKlxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBUeXBlZEJhc2VMaXN0Q29tcG9uZW50PFxuICAgICAgICBUIGV4dGVuZHMgVHlwZWREb2N1bWVudE5vZGU8YW55LCBWYXJzPixcbiAgICAgICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcbiAgICAgICAgVmFycyBleHRlbmRzIHsgb3B0aW9uczogeyBmaWx0ZXI6IGFueTsgc29ydDogYW55IH0gfSA9IFZhcmlhYmxlc09mPFQ+LFxuICAgID5cbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PFJlc3VsdE9mPFQ+LCBJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPiwgVmFyaWFibGVzT2Y8VD4+XG4gICAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcbiAgICBjb250ZW50TGFuZ3VhZ2UkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZT47XG5cbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2UgPSBpbmplY3QoRGF0YVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwcm90ZWN0ZWQgc2VydmVyQ29uZmlnU2VydmljZSA9IGluamVjdChTZXJ2ZXJDb25maWdTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KFBlcm1pc3Npb25zU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIGRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoRGF0YVRhYmxlQ29uZmlnU2VydmljZSk7XG4gICAgLyoqXG4gICAgICogVGhpcyB3YXMgaW50cm9kdWNlZCB0byBhbGxvdyB1cyB0byBtb3JlIGVhc2lseSBtYW5hZ2UgdGhlIHJlbGF0aW9uIGJldHdlZW4gdGhlXG4gICAgICogRGF0YVRhYmxlQ29tcG9uZW50IGFuZCB0aGUgQmFzZUxpc3RDb21wb25lbnQuIEl0IGFsbG93cyB0aGUgYmFzZSBjbGFzcyB0b1xuICAgICAqIGNvcnJlY3RseSBsb29rIHVwIHRoZSBjdXJyZW50bHktdmlzaWJsZSBjdXN0b20gZmllbGQgY29sdW1ucywgd2hpY2ggY2FuIHRoZW5cbiAgICAgKiBiZSBwYXNzZWQgdG8gdGhlIGBkYXRhU2VydmljZS5xdWVyeSgpYCBtZXRob2QuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGRhdGFUYWJsZUxpc3RJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVmcmVzaFN0cmVhbXM6IEFycmF5PE9ic2VydmFibGU8YW55Pj4gPSBbXTtcbiAgICBwcml2YXRlIGNvbGxlY3Rpb25zOiBBcnJheTxEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIHwgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248YW55Pj4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihpbmplY3QoUm91dGVyKSwgaW5qZWN0KEFjdGl2YXRlZFJvdXRlKSk7XG5cbiAgICAgICAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICAgICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9ucy5mb3JFYWNoKGMgPT4gYy5kZXN0cm95KCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlndXJlKGNvbmZpZzoge1xuICAgICAgICBkb2N1bWVudDogVDtcbiAgICAgICAgZ2V0SXRlbXM6IChkYXRhOiBSZXN1bHRPZjxUPikgPT4geyBpdGVtczogQXJyYXk8SXRlbU9mPFJlc3VsdE9mPFQ+LCBGaWVsZD4+OyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcbiAgICAgICAgc2V0VmFyaWFibGVzPzogKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWYXJpYWJsZXNPZjxUPjtcbiAgICAgICAgcmVmcmVzaExpc3RPbkNoYW5nZXM/OiBBcnJheTxPYnNlcnZhYmxlPGFueT4+O1xuICAgIH0pIHtcbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzQ2hhbmdlJCA9IHRoaXMudmlzaWJsZUN1c3RvbUZpZWxkQ29sdW1uQ2hhbmdlJC5waXBlKFxuICAgICAgICAgICAgbWFwKGNvbHVtbnMgPT4gY29sdW1ucy5tYXAoYyA9PiBjLmN1c3RvbUZpZWxkLm5hbWUpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYikpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBpbmNsdWRlQ3VzdG9tRmllbGRzID0gdGhpcy5kYXRhVGFibGVMaXN0SWRcbiAgICAgICAgICAgID8gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyh0aGlzLmRhdGFUYWJsZUxpc3RJZCkudmlzaWJpbGl0eVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHN1cGVyLnNldFF1ZXJ5Rm4oXG4gICAgICAgICAgICAoYXJnczogYW55KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5KGNvbmZpZy5kb2N1bWVudCwge30gYXMgYW55LCAnY2FjaGUtYW5kLW5ldHdvcmsnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlQ3VzdG9tRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucmVmZXRjaE9uQ2hhbm5lbENoYW5nZSgpXG4gICAgICAgICAgICAgICAgICAgIC5yZWZldGNoT25DdXN0b21GaWVsZHNDaGFuZ2UoY3VzdG9tRmllbGRzQ2hhbmdlJCksXG4gICAgICAgICAgICBkYXRhID0+IGNvbmZpZy5nZXRJdGVtcyhkYXRhKSxcbiAgICAgICAgICAgIChza2lwLCB0YWtlKSA9PiBjb25maWcuc2V0VmFyaWFibGVzPy4oc2tpcCwgdGFrZSkgPz8gKHt9IGFzIGFueSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzJCA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcbiAgICAgICAgdGhpcy5jb250ZW50TGFuZ3VhZ2UkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcbiAgICAgICAgICAgIC51aVN0YXRlKClcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLmNvbnRlbnRMYW5ndWFnZSlcbiAgICAgICAgICAgIC5waXBlKHRhcCgoKSA9PiB0aGlzLnJlZnJlc2goKSkpO1xuICAgICAgICB0aGlzLnJlZnJlc2hTdHJlYW1zID0gY29uZmlnLnJlZnJlc2hMaXN0T25DaGFuZ2VzID8/IFtdO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBzdXBlci5yZWZyZXNoTGlzdE9uQ2hhbmdlcyh0aGlzLmNvbnRlbnRMYW5ndWFnZSQsIC4uLnRoaXMucmVmcmVzaFN0cmVhbXMpO1xuICAgIH1cblxuICAgIGNyZWF0ZUZpbHRlckNvbGxlY3Rpb24oKTogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxOb25OdWxsYWJsZTxOb25OdWxsYWJsZTxWYXJzWydvcHRpb25zJ10+WydmaWx0ZXInXT4+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG5ldyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnZmlsdGVyJ10+Pih0aGlzLnJvdXRlcik7XG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMucHVzaChjb2xsZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgfVxuXG4gICAgY3JlYXRlU29ydENvbGxlY3Rpb24oKTogRGF0YVRhYmxlU29ydENvbGxlY3Rpb248Tm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddPlsnc29ydCddPj4ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gbmV3IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnc29ydCddPj4odGhpcy5yb3V0ZXIpO1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLnB1c2goY29sbGVjdGlvbik7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cblxuICAgIHNldExhbmd1YWdlKGNvZGU6IExhbmd1YWdlQ29kZSkge1xuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0Q3VzdG9tRmllbGRDb25maWcoa2V5OiBFeGNsdWRlPGtleW9mIEN1c3RvbUZpZWxkcywgJ19fdHlwZW5hbWUnPiB8IHN0cmluZyk6IEN1c3RvbUZpZWxkQ29uZmlnW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcihrZXkpLmZpbHRlcihmID0+IHtcbiAgICAgICAgICAgIGlmIChmLnJlcXVpcmVzUGVybWlzc2lvbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLnVzZXJIYXNQZXJtaXNzaW9ucyhmLnJlcXVpcmVzUGVybWlzc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by the set-version.js script.
2
- export const ADMIN_UI_VERSION = '3.1.0-next.1';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICczLjEuMC1uZXh0LjEnO1xuIl19
2
+ export const ADMIN_UI_VERSION = '3.1.0-next.3';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICczLjEuMC1uZXh0LjMnO1xuIl19
@@ -95,10 +95,10 @@ export class AppShellComponent {
95
95
  });
96
96
  }
97
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AppShellComponent, deps: [{ token: i1.AuthService }, { token: i2.DataService }, { token: i3.Router }, { token: i4.I18nService }, { token: i5.ModalService }, { token: i6.LocalStorageService }, { token: i7.BreadcrumbService }, { token: i8.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AppShellComponent, selector: "vdr-app-shell", ngImport: i0, template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"\r\n ><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"\r\n /></a>\r\n <div class=\"collapse-menu\">\r\n <button class=\"\" (click)=\"collapseNav()\">\r\n <clr-icon shape=\"window-close\" size=\"24\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mx-4\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"main-nav-container\">\r\n <vdr-main-nav (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"settings-nav-container\">\r\n <hr />\r\n <vdr-main-nav displayMode=\"settings\" (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"mx-2 flex center mb-1\" [class.mt-2]=\"hideVersion && !devMode\">\r\n <div *ngIf=\"!hideVersion\" class=\"version\">\r\n v{{ version }}\r\n </div>\r\n <vdr-dropdown *ngIf=\"devMode\">\r\n <button class=\"icon-button dev-mode-button\" vdrDropdownTrigger title=\"DEV MODE\">\r\n <clr-icon shape=\"code\" size=\"24\"></clr-icon> DEV MODE\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"px-2 py-1\">\r\n <div>Version: {{ version }}</div>\r\n <div>View UI extension points: <kbd>CTRL + U</kbd></div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div class=\"expand-menu mr-1\">\r\n <button class=\"\" (click)=\"expandNav()\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"1.5\"\r\n stroke=\"currentColor\"\r\n class=\"bars\"\r\n >\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div class=\"mx-1\">\r\n <vdr-alerts></vdr-alerts>\r\n </div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;overflow:hidden;height:100%;border-inline-end:1px solid var(--color-weight-150);z-index:2;width:var(--left-nav-width);max-width:var(--left-nav-width)}@media screen and (max-width: 992px){.left-nav.expanded{position:fixed;inset:0;width:100%;max-width:100%;animation:fade-in .2s ease-in-out forwards}}.version{color:var(--color-grey-300)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width: 992px){.expand-menu,.collapse-menu{display:none}}.expand-menu button,.collapse-menu button{border:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg);color:var(--color-text-100);display:flex;align-items:center;justify-content:center}.expand-menu .bars,.collapse-menu .bars{width:24px;height:24px}.collapse-menu button{height:40px;background-color:var(--color-weight-200)}.main-nav-container{overflow:auto;flex:1}.settings-nav-container{margin:calc(var(--space-unit) * 3) 0 -10px 0}.settings-nav-container hr{margin:0 calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);border:1px solid var(--color-weight-150);box-shadow:0 1px 0 var(--color-weight-100)}.logo{max-width:100%}.wordmark{font-weight:700;margin-inline-start:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-surface-bg)}.content-container{overflow:auto;min-height:100vh;display:flex;flex-direction:column}.branding{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-inline-end:calc(var(--space-unit) * 1.5)}@media screen and (min-width: 992px){.branding{padding:calc(var(--space-unit) * 4)}}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1);background-color:var(--color-page-header)}@media screen and (min-width: 992px){.top-bar{padding:calc(var(--space-unit) * 4);padding-inline-start:var(--surface-margin-left)}}.header-actions{align-items:center}.content-area{position:relative;margin-inline-end:auto;flex:1;display:block;width:100%}.dev-mode-button{opacity:.7;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i11.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i12.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i13.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i14.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i15.IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: ["vdrIfMultichannelElse"] }, { kind: "component", type: i16.UserMenuComponent, selector: "vdr-user-menu", inputs: ["userName", "availableLanguages", "uiLanguageAndLocale"], outputs: ["logOut", "selectUiLanguage"] }, { kind: "component", type: i17.MainNavComponent, selector: "vdr-main-nav", inputs: ["displayMode"], outputs: ["itemClick"] }, { kind: "component", type: i18.BreadcrumbComponent, selector: "vdr-breadcrumb" }, { kind: "component", type: i19.ChannelSwitcherComponent, selector: "vdr-channel-switcher" }, { kind: "component", type: i20.AlertsComponent, selector: "vdr-alerts" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AppShellComponent, selector: "vdr-app-shell", ngImport: i0, template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"\r\n ><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"\r\n /></a>\r\n <div class=\"collapse-menu\">\r\n <button class=\"\" (click)=\"collapseNav()\">\r\n <clr-icon shape=\"window-close\" size=\"24\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mx-4\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"main-nav-container\">\r\n <vdr-main-nav (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"settings-nav-container\">\r\n <hr />\r\n <vdr-main-nav displayMode=\"settings\" (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"mx-2 flex center mb-1\" [class.mt-2]=\"hideVersion && !devMode\">\r\n <div *ngIf=\"!hideVersion\" class=\"version\">\r\n v{{ version }}\r\n </div>\r\n <vdr-dropdown *ngIf=\"devMode\">\r\n <button class=\"icon-button dev-mode-button\" vdrDropdownTrigger title=\"DEV MODE\">\r\n <clr-icon shape=\"code\" size=\"24\"></clr-icon> DEV MODE\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"px-2 py-1\">\r\n <div>Version: {{ version }}</div>\r\n <div>View UI extension points: <kbd>CTRL + U</kbd></div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div class=\"expand-menu mr-1\">\r\n <button class=\"\" (click)=\"expandNav()\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"1.5\"\r\n stroke=\"currentColor\"\r\n class=\"bars\"\r\n >\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div class=\"mx-1\">\r\n <vdr-alerts></vdr-alerts>\r\n </div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;overflow:hidden;height:100%;border-inline-end:1px solid var(--color-weight-150);z-index:2;width:var(--left-nav-width);max-width:var(--left-nav-width)}@media screen and (max-width: 992px){.left-nav.expanded{position:fixed;inset:0;width:100%;max-width:100%;animation:fade-in .2s ease-in-out forwards}}.version{color:var(--color-grey-300)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width: 992px){.expand-menu,.collapse-menu{display:none}}.expand-menu button,.collapse-menu button{border:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg);color:var(--color-text-100);display:flex;align-items:center;justify-content:center}.expand-menu .bars,.collapse-menu .bars{width:24px;height:24px}.collapse-menu button{height:40px;background-color:var(--color-weight-200)}.main-nav-container{overflow:auto;flex:1}.settings-nav-container{margin:calc(var(--space-unit) * 3) 0 -10px 0}.settings-nav-container hr{margin:0 calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);border:1px solid var(--color-weight-150);box-shadow:0 1px 0 var(--color-weight-100)}.logo{max-width:100%}.wordmark{font-weight:700;margin-inline-start:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-surface-bg)}.content-container{overflow:auto;min-height:100vh;display:flex;flex-direction:column}.branding{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-inline-end:calc(var(--space-unit) * 1.5)}@media screen and (min-width: 992px){.branding{padding:calc(var(--space-unit) * 4)}}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1);background-color:var(--color-page-header)}@media screen and (min-width: 992px){.top-bar{padding:calc(var(--space-unit) * 4);padding-inline-start:var(--surface-margin-left)}}.header-actions{align-items:center}.content-area{position:relative;margin-inline-end:auto;flex:1;display:block;width:100%}.dev-mode-button{opacity:.7;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i11.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i12.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i13.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i14.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i15.IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: ["vdrIfMultichannelElse"] }, { kind: "component", type: i16.UserMenuComponent, selector: "vdr-user-menu", inputs: ["userName", "availableLanguages", "uiLanguageAndLocale"], outputs: ["logOut", "selectUiLanguage"] }, { kind: "component", type: i17.MainNavComponent, selector: "vdr-main-nav", inputs: ["displayMode"], outputs: ["itemClick"] }, { kind: "component", type: i18.BreadcrumbComponent, selector: "vdr-breadcrumb" }, { kind: "component", type: i19.ChannelSwitcherComponent, selector: "vdr-channel-switcher" }, { kind: "component", type: i20.AlertsComponent, selector: "vdr-alerts" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] }); }
99
99
  }
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AppShellComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'vdr-app-shell', template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"\r\n ><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"\r\n /></a>\r\n <div class=\"collapse-menu\">\r\n <button class=\"\" (click)=\"collapseNav()\">\r\n <clr-icon shape=\"window-close\" size=\"24\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mx-4\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"main-nav-container\">\r\n <vdr-main-nav (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"settings-nav-container\">\r\n <hr />\r\n <vdr-main-nav displayMode=\"settings\" (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"mx-2 flex center mb-1\" [class.mt-2]=\"hideVersion && !devMode\">\r\n <div *ngIf=\"!hideVersion\" class=\"version\">\r\n v{{ version }}\r\n </div>\r\n <vdr-dropdown *ngIf=\"devMode\">\r\n <button class=\"icon-button dev-mode-button\" vdrDropdownTrigger title=\"DEV MODE\">\r\n <clr-icon shape=\"code\" size=\"24\"></clr-icon> DEV MODE\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"px-2 py-1\">\r\n <div>Version: {{ version }}</div>\r\n <div>View UI extension points: <kbd>CTRL + U</kbd></div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div class=\"expand-menu mr-1\">\r\n <button class=\"\" (click)=\"expandNav()\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"1.5\"\r\n stroke=\"currentColor\"\r\n class=\"bars\"\r\n >\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div class=\"mx-1\">\r\n <vdr-alerts></vdr-alerts>\r\n </div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;overflow:hidden;height:100%;border-inline-end:1px solid var(--color-weight-150);z-index:2;width:var(--left-nav-width);max-width:var(--left-nav-width)}@media screen and (max-width: 992px){.left-nav.expanded{position:fixed;inset:0;width:100%;max-width:100%;animation:fade-in .2s ease-in-out forwards}}.version{color:var(--color-grey-300)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width: 992px){.expand-menu,.collapse-menu{display:none}}.expand-menu button,.collapse-menu button{border:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg);color:var(--color-text-100);display:flex;align-items:center;justify-content:center}.expand-menu .bars,.collapse-menu .bars{width:24px;height:24px}.collapse-menu button{height:40px;background-color:var(--color-weight-200)}.main-nav-container{overflow:auto;flex:1}.settings-nav-container{margin:calc(var(--space-unit) * 3) 0 -10px 0}.settings-nav-container hr{margin:0 calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);border:1px solid var(--color-weight-150);box-shadow:0 1px 0 var(--color-weight-100)}.logo{max-width:100%}.wordmark{font-weight:700;margin-inline-start:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-surface-bg)}.content-container{overflow:auto;min-height:100vh;display:flex;flex-direction:column}.branding{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-inline-end:calc(var(--space-unit) * 1.5)}@media screen and (min-width: 992px){.branding{padding:calc(var(--space-unit) * 4)}}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1);background-color:var(--color-page-header)}@media screen and (min-width: 992px){.top-bar{padding:calc(var(--space-unit) * 4);padding-inline-start:var(--surface-margin-left)}}.header-actions{align-items:center}.content-area{position:relative;margin-inline-end:auto;flex:1;display:block;width:100%}.dev-mode-button{opacity:.7;font-size:12px}\n"] }]
102
+ args: [{ selector: 'vdr-app-shell', template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"\r\n ><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"\r\n /></a>\r\n <div class=\"collapse-menu\">\r\n <button class=\"\" (click)=\"collapseNav()\">\r\n <clr-icon shape=\"window-close\" size=\"24\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mx-4\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"main-nav-container\">\r\n <vdr-main-nav (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"settings-nav-container\">\r\n <hr />\r\n <vdr-main-nav displayMode=\"settings\" (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"mx-2 flex center mb-1\" [class.mt-2]=\"hideVersion && !devMode\">\r\n <div *ngIf=\"!hideVersion\" class=\"version\">\r\n v{{ version }}\r\n </div>\r\n <vdr-dropdown *ngIf=\"devMode\">\r\n <button class=\"icon-button dev-mode-button\" vdrDropdownTrigger title=\"DEV MODE\">\r\n <clr-icon shape=\"code\" size=\"24\"></clr-icon> DEV MODE\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"px-2 py-1\">\r\n <div>Version: {{ version }}</div>\r\n <div>View UI extension points: <kbd>CTRL + U</kbd></div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div class=\"expand-menu mr-1\">\r\n <button class=\"\" (click)=\"expandNav()\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"1.5\"\r\n stroke=\"currentColor\"\r\n class=\"bars\"\r\n >\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div class=\"mx-1\">\r\n <vdr-alerts></vdr-alerts>\r\n </div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;overflow:hidden;height:100%;border-inline-end:1px solid var(--color-weight-150);z-index:2;width:var(--left-nav-width);max-width:var(--left-nav-width)}@media screen and (max-width: 992px){.left-nav.expanded{position:fixed;inset:0;width:100%;max-width:100%;animation:fade-in .2s ease-in-out forwards}}.version{color:var(--color-grey-300)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width: 992px){.expand-menu,.collapse-menu{display:none}}.expand-menu button,.collapse-menu button{border:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg);color:var(--color-text-100);display:flex;align-items:center;justify-content:center}.expand-menu .bars,.collapse-menu .bars{width:24px;height:24px}.collapse-menu button{height:40px;background-color:var(--color-weight-200)}.main-nav-container{overflow:auto;flex:1}.settings-nav-container{margin:calc(var(--space-unit) * 3) 0 -10px 0}.settings-nav-container hr{margin:0 calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);border:1px solid var(--color-weight-150);box-shadow:0 1px 0 var(--color-weight-100)}.logo{max-width:100%}.wordmark{font-weight:700;margin-inline-start:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-surface-bg)}.content-container{overflow:auto;min-height:100vh;display:flex;flex-direction:column}.branding{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-inline-end:calc(var(--space-unit) * 1.5)}@media screen and (min-width: 992px){.branding{padding:calc(var(--space-unit) * 4)}}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1);background-color:var(--color-page-header)}@media screen and (min-width: 992px){.top-bar{padding:calc(var(--space-unit) * 4);padding-inline-start:var(--surface-margin-left)}}.header-actions{align-items:center}.content-area{position:relative;margin-inline-end:auto;flex:1;display:block;width:100%}.dev-mode-button{opacity:.7;font-size:12px}\n"] }]
103
103
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.DataService }, { type: i3.Router }, { type: i4.I18nService }, { type: i5.ModalService }, { type: i6.LocalStorageService }, { type: i7.BreadcrumbService }, { type: i8.LocalizationService }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNoZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWXpILE1BQU0sT0FBTyxpQkFBaUI7SUFhMUIsWUFDWSxXQUF3QixFQUN4QixXQUF3QixFQUN4QixNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLGlCQUFvQyxFQUNwQyxtQkFBd0M7UUFQeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx3QkFBbUIsR0FB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QUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7WUFDOUUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztZQUNwQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBNUZRLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFEQzFCOUIsa3VIQWtGQTs7MkZEeERhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpc0Rldk1vZGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2FwcC5jb25maWcnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZUNvZGUgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgQURNSU5fVUlfVkVSU0lPTiB9IGZyb20gJy4uLy4uL2NvbW1vbi92ZXJzaW9uJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9hdXRoL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvaTE4bi9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2xvY2FsLXN0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUxhbmd1YWdlU3dpdGNoZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi91aS1sYW5ndWFnZS1zd2l0Y2hlci1kaWFsb2cvdWktbGFuZ3VhZ2Utc3dpdGNoZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBMb2NhbGl6YXRpb25EaXJlY3Rpb25UeXBlLFxyXG4gICAgTG9jYWxpemF0aW9uTGFuZ3VhZ2VDb2RlVHlwZSxcclxuICAgIExvY2FsaXphdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFwcC1zaGVsbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FwcC1zaGVsbC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwU2hlbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgdmVyc2lvbiA9IEFETUlOX1VJX1ZFUlNJT047XHJcbiAgICB1c2VyTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHVpTGFuZ3VhZ2VBbmRMb2NhbGUkOiBMb2NhbGl6YXRpb25MYW5ndWFnZUNvZGVUeXBlO1xyXG4gICAgZGlyZWN0aW9uJDogTG9jYWxpemF0aW9uRGlyZWN0aW9uVHlwZTtcclxuICAgIGF2YWlsYWJsZUxhbmd1YWdlczogTGFuZ3VhZ2VDb2RlW10gPSBbXTtcclxuICAgIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBoaWRlVmVuZHVyZUJyYW5kaW5nID0gZ2V0QXBwQ29uZmlnKCkuaGlkZVZlbmR1cmVCcmFuZGluZztcclxuICAgIGhpZGVWZXJzaW9uID0gZ2V0QXBwQ29uZmlnKCkuaGlkZVZlcnNpb247XHJcbiAgICBwYWdlVGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBtYWluTmF2RXhwYW5kZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGV2TW9kZSA9IGlzRGV2TW9kZSgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uJCA9IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5kaXJlY3Rpb24kO1xyXG5cclxuICAgICAgICB0aGlzLnVpTGFuZ3VhZ2VBbmRMb2NhbGUkID0gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLnVpTGFuZ3VhZ2VBbmRMb2NhbGUkO1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJOYW1lJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51c2VyU3RhdHVzKClcclxuICAgICAgICAgICAgLnNpbmdsZSQucGlwZShtYXAoZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMudXNlcm5hbWUpKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMgPSB0aGlzLmkxOG5TZXJ2aWNlLmF2YWlsYWJsZUxhbmd1YWdlcztcclxuXHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMb2NhbGVzID0gdGhpcy5pMThuU2VydmljZS5hdmFpbGFibGVMb2NhbGVzO1xyXG5cclxuICAgICAgICB0aGlzLnBhZ2VUaXRsZSQgPSB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoYnJlYWRjcnVtYnMgPT4gYnJlYWRjcnVtYnNbYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0ubGFiZWwpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMubWFpbk5hdkV4cGFuZGVkJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLnN0cmVhbSQucGlwZShtYXAoKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLm1haW5OYXZFeHBhbmRlZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVpTGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgdGhpcy51aUxhbmd1YWdlQW5kTG9jYWxlJFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKFtjdXJyZW50TGFuZ3VhZ2UsIGN1cnJlbnRMb2NhbGVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubW9kYWxTZXJ2aWNlLmZyb21Db21wb25lbnQoVWlMYW5ndWFnZVN3aXRjaGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnbGcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUxvY2FsZXM6IHRoaXMuYXZhaWxhYmxlTG9jYWxlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlczogdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRMb2NhbGU6IGN1cnJlbnRMb2NhbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT5cclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPyB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRVaUxhbmd1YWdlKHJlc3VsdFswXSwgcmVzdWx0WzFdKSA6IEVNUFRZLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnNldFVpTGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnNldExhbmd1YWdlKHJlc3VsdC5zZXRVaUxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCd1aUxhbmd1YWdlQ29kZScsIHJlc3VsdC5zZXRVaUxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCd1aUxvY2FsZScsIHJlc3VsdC5zZXRVaUxvY2FsZSA/PyB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBleHBhbmROYXYoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jbGllbnQuc2V0TWFpbk5hdkV4cGFuZGVkKHRydWUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbGxhcHNlTmF2KCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldE1haW5OYXZFeHBhbmRlZChmYWxzZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9nT3V0KCkge1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nT3V0KCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBsb2dpblVybCB9ID0gZ2V0QXBwQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIGlmIChsb2dpblVybCkge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsb2dpblVybDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1jb250YWluZXJcIiBbZGlyXT1cImRpcmVjdGlvbiQgfCBhc3luY1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxlZnQtbmF2XCIgW2NsYXNzLmV4cGFuZGVkXT1cIm1haW5OYXZFeHBhbmRlZCQgfCBhc3luY1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJicmFuZGluZ1wiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy8nXVwiICpuZ0lmPVwiIWhpZGVWZW5kdXJlQnJhbmRpbmdcIlxyXG4gICAgICAgICAgICAgICAgPjxpbWcgc3JjPVwiYXNzZXRzL2xvZ28tdG9wLndlYnBcIiBjbGFzcz1cImxvZ29cIiBzdHlsZT1cIm1heC13aWR0aDogMTAwcHhcIlxyXG4gICAgICAgICAgICAvPjwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwiY29sbGFwc2VOYXYoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cIndpbmRvdy1jbG9zZVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTRcIj5cclxuICAgICAgICAgICAgPHZkci1jaGFubmVsLXN3aXRjaGVyICp2ZHJJZk11bHRpY2hhbm5lbD48L3Zkci1jaGFubmVsLXN3aXRjaGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLW5hdi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHZkci1tYWluLW5hdiAoaXRlbUNsaWNrKT1cImNvbGxhcHNlTmF2KClcIj48L3Zkci1tYWluLW5hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtbmF2LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aHIgLz5cclxuICAgICAgICAgICAgPHZkci1tYWluLW5hdiBkaXNwbGF5TW9kZT1cInNldHRpbmdzXCIgKGl0ZW1DbGljayk9XCJjb2xsYXBzZU5hdigpXCI+PC92ZHItbWFpbi1uYXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgZmxleCBjZW50ZXIgbWItMVwiIFtjbGFzcy5tdC0yXT1cImhpZGVWZXJzaW9uICYmICFkZXZNb2RlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZVZlcnNpb25cIiBjbGFzcz1cInZlcnNpb25cIj5cclxuICAgICAgICAgICAgICAgIHZ7eyB2ZXJzaW9uIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dmRyLWRyb3Bkb3duICpuZ0lmPVwiZGV2TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tYnV0dG9uIGRldi1tb2RlLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlciB0aXRsZT1cIkRFViBNT0RFXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY29kZVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+IERFViBNT0RFXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMiBweS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+VmVyc2lvbjoge3sgdmVyc2lvbiB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlZpZXcgVUkgZXh0ZW5zaW9uIHBvaW50czogPGtiZD5DVFJMICsgVTwva2JkPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgPC92ZHItZHJvcGRvd24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic3VyZmFjZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4cGFuZC1tZW51IG1yLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiXCIgKGNsaWNrKT1cImV4cGFuZE5hdigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMy43NSA2Ljc1aDE2LjVNMy43NSAxMmgxNi41bS0xNi41IDUuMjVoMTYuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWJyZWFkY3J1bWI+PC92ZHItYnJlYWRjcnVtYj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVuaXZlcnNhbC1zZWFyY2ggZmxleC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1hbGVydHM+PC92ZHItYWxlcnRzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItdXNlci1tZW51XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VyTmFtZV09XCJ1c2VyTmFtZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1aUxhbmd1YWdlQW5kTG9jYWxlXT1cInVpTGFuZ3VhZ2VBbmRMb2NhbGUkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXZhaWxhYmxlTGFuZ3VhZ2VzXT1cImF2YWlsYWJsZUxhbmd1YWdlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RVaUxhbmd1YWdlKT1cInNlbGVjdFVpTGFuZ3VhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChsb2dPdXQpPVwibG9nT3V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L3Zkci11c2VyLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWFyZWFcIj48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNoZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWXpILE1BQU0sT0FBTyxpQkFBaUI7SUFhMUIsWUFDWSxXQUF3QixFQUN4QixXQUF3QixFQUN4QixNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLGlCQUFvQyxFQUNwQyxtQkFBd0M7UUFQeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx3QkFBbUIsR0FB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QUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7WUFDOUUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztZQUNwQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBNUZRLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFEQzFCOUIsbXRIQWtGQTs7MkZEeERhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpc0Rldk1vZGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2FwcC5jb25maWcnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZUNvZGUgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgQURNSU5fVUlfVkVSU0lPTiB9IGZyb20gJy4uLy4uL2NvbW1vbi92ZXJzaW9uJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9hdXRoL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvaTE4bi9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2xvY2FsLXN0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUxhbmd1YWdlU3dpdGNoZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi91aS1sYW5ndWFnZS1zd2l0Y2hlci1kaWFsb2cvdWktbGFuZ3VhZ2Utc3dpdGNoZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBMb2NhbGl6YXRpb25EaXJlY3Rpb25UeXBlLFxyXG4gICAgTG9jYWxpemF0aW9uTGFuZ3VhZ2VDb2RlVHlwZSxcclxuICAgIExvY2FsaXphdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFwcC1zaGVsbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FwcC1zaGVsbC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwU2hlbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgdmVyc2lvbiA9IEFETUlOX1VJX1ZFUlNJT047XHJcbiAgICB1c2VyTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHVpTGFuZ3VhZ2VBbmRMb2NhbGUkOiBMb2NhbGl6YXRpb25MYW5ndWFnZUNvZGVUeXBlO1xyXG4gICAgZGlyZWN0aW9uJDogTG9jYWxpemF0aW9uRGlyZWN0aW9uVHlwZTtcclxuICAgIGF2YWlsYWJsZUxhbmd1YWdlczogTGFuZ3VhZ2VDb2RlW10gPSBbXTtcclxuICAgIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBoaWRlVmVuZHVyZUJyYW5kaW5nID0gZ2V0QXBwQ29uZmlnKCkuaGlkZVZlbmR1cmVCcmFuZGluZztcclxuICAgIGhpZGVWZXJzaW9uID0gZ2V0QXBwQ29uZmlnKCkuaGlkZVZlcnNpb247XHJcbiAgICBwYWdlVGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBtYWluTmF2RXhwYW5kZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGV2TW9kZSA9IGlzRGV2TW9kZSgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uJCA9IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5kaXJlY3Rpb24kO1xyXG5cclxuICAgICAgICB0aGlzLnVpTGFuZ3VhZ2VBbmRMb2NhbGUkID0gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLnVpTGFuZ3VhZ2VBbmRMb2NhbGUkO1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJOYW1lJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51c2VyU3RhdHVzKClcclxuICAgICAgICAgICAgLnNpbmdsZSQucGlwZShtYXAoZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMudXNlcm5hbWUpKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMgPSB0aGlzLmkxOG5TZXJ2aWNlLmF2YWlsYWJsZUxhbmd1YWdlcztcclxuXHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMb2NhbGVzID0gdGhpcy5pMThuU2VydmljZS5hdmFpbGFibGVMb2NhbGVzO1xyXG5cclxuICAgICAgICB0aGlzLnBhZ2VUaXRsZSQgPSB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoYnJlYWRjcnVtYnMgPT4gYnJlYWRjcnVtYnNbYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0ubGFiZWwpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMubWFpbk5hdkV4cGFuZGVkJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLnN0cmVhbSQucGlwZShtYXAoKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLm1haW5OYXZFeHBhbmRlZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVpTGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgdGhpcy51aUxhbmd1YWdlQW5kTG9jYWxlJFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKFtjdXJyZW50TGFuZ3VhZ2UsIGN1cnJlbnRMb2NhbGVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubW9kYWxTZXJ2aWNlLmZyb21Db21wb25lbnQoVWlMYW5ndWFnZVN3aXRjaGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnbGcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUxvY2FsZXM6IHRoaXMuYXZhaWxhYmxlTG9jYWxlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlczogdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRMb2NhbGU6IGN1cnJlbnRMb2NhbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT5cclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPyB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRVaUxhbmd1YWdlKHJlc3VsdFswXSwgcmVzdWx0WzFdKSA6IEVNUFRZLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnNldFVpTGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnNldExhbmd1YWdlKHJlc3VsdC5zZXRVaUxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCd1aUxhbmd1YWdlQ29kZScsIHJlc3VsdC5zZXRVaUxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCd1aUxvY2FsZScsIHJlc3VsdC5zZXRVaUxvY2FsZSA/PyB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBleHBhbmROYXYoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jbGllbnQuc2V0TWFpbk5hdkV4cGFuZGVkKHRydWUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbGxhcHNlTmF2KCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldE1haW5OYXZFeHBhbmRlZChmYWxzZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9nT3V0KCkge1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nT3V0KCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBsb2dpblVybCB9ID0gZ2V0QXBwQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIGlmIChsb2dpblVybCkge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsb2dpblVybDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1jb250YWluZXJcIiBbZGlyXT1cImRpcmVjdGlvbiQgfCBhc3luY1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxlZnQtbmF2XCIgW2NsYXNzLmV4cGFuZGVkXT1cIm1haW5OYXZFeHBhbmRlZCQgfCBhc3luY1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJicmFuZGluZ1wiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy8nXVwiICpuZ0lmPVwiIWhpZGVWZW5kdXJlQnJhbmRpbmdcIlxyXG4gICAgICAgICAgICAgICAgPjxpbWcgc3JjPVwiYXNzZXRzL2xvZ28tdG9wLndlYnBcIiBjbGFzcz1cImxvZ29cIiBzdHlsZT1cIm1heC13aWR0aDogMTAwcHhcIlxyXG4gICAgICAgICAgICAvPjwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwiY29sbGFwc2VOYXYoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cIndpbmRvdy1jbG9zZVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTRcIj5cclxuICAgICAgICAgICAgPHZkci1jaGFubmVsLXN3aXRjaGVyICp2ZHJJZk11bHRpY2hhbm5lbD48L3Zkci1jaGFubmVsLXN3aXRjaGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLW5hdi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHZkci1tYWluLW5hdiAoaXRlbUNsaWNrKT1cImNvbGxhcHNlTmF2KClcIj48L3Zkci1tYWluLW5hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtbmF2LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aHIgLz5cclxuICAgICAgICAgICAgPHZkci1tYWluLW5hdiBkaXNwbGF5TW9kZT1cInNldHRpbmdzXCIgKGl0ZW1DbGljayk9XCJjb2xsYXBzZU5hdigpXCI+PC92ZHItbWFpbi1uYXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgZmxleCBjZW50ZXIgbWItMVwiIFtjbGFzcy5tdC0yXT1cImhpZGVWZXJzaW9uICYmICFkZXZNb2RlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZVZlcnNpb25cIiBjbGFzcz1cInZlcnNpb25cIj5cclxuICAgICAgICAgICAgICAgIHZ7eyB2ZXJzaW9uIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dmRyLWRyb3Bkb3duICpuZ0lmPVwiZGV2TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tYnV0dG9uIGRldi1tb2RlLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlciB0aXRsZT1cIkRFViBNT0RFXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY29kZVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+IERFViBNT0RFXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMiBweS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+VmVyc2lvbjoge3sgdmVyc2lvbiB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlZpZXcgVUkgZXh0ZW5zaW9uIHBvaW50czogPGtiZD5DVFJMICsgVTwva2JkPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgPC92ZHItZHJvcGRvd24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic3VyZmFjZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4cGFuZC1tZW51IG1yLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiXCIgKGNsaWNrKT1cImV4cGFuZE5hdigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMy43NSA2Ljc1aDE2LjVNMy43NSAxMmgxNi41bS0xNi41IDUuMjVoMTYuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWJyZWFkY3J1bWI+PC92ZHItYnJlYWRjcnVtYj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVuaXZlcnNhbC1zZWFyY2ggZmxleC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1hbGVydHM+PC92ZHItYWxlcnRzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItdXNlci1tZW51XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VyTmFtZV09XCJ1c2VyTmFtZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1aUxhbmd1YWdlQW5kTG9jYWxlXT1cInVpTGFuZ3VhZ2VBbmRMb2NhbGUkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXZhaWxhYmxlTGFuZ3VhZ2VzXT1cImF2YWlsYWJsZUxhbmd1YWdlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RVaUxhbmd1YWdlKT1cInNlbGVjdFVpTGFuZ3VhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChsb2dPdXQpPVwibG9nT3V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWFyZWFcIj48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,9 +1,9 @@
1
- import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
1
+ import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
2
2
  import { APP_INITIALIZER, Injector, NgModule } from '@angular/core';
3
3
  import { InMemoryCache } from '@apollo/client/core';
4
4
  import { setContext } from '@apollo/client/link/context';
5
5
  import { ApolloLink } from '@apollo/client/link/core';
6
- import { ApolloModule, APOLLO_OPTIONS } from 'apollo-angular';
6
+ import { APOLLO_OPTIONS, ApolloModule } from 'apollo-angular';
7
7
  import createUploadLink from 'apollo-upload-client/createUploadLink.mjs';
8
8
  import { getAppConfig } from '../app.config';
9
9
  import { introspectionResult } from '../common/introspection-result-wrapper';
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
132
132
  ],
133
133
  }]
134
134
  }] });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGF0YS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBdUIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sZ0JBQWdCLE1BQU0sMkNBQTJDLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0s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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwb2xsb0NsaWVudE9wdGlvbnMsIEluTWVtb3J5Q2FjaGUgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcclxuaW1wb3J0IHsgc2V0Q29udGV4dCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvY29udGV4dCc7XHJcbmltcG9ydCB7IEFwb2xsb0xpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL2NvcmUnO1xyXG5pbXBvcnQgeyBBcG9sbG9Nb2R1bGUsIEFQT0xMT19PUFRJT05TIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xyXG5pbXBvcnQgY3JlYXRlVXBsb2FkTGluayBmcm9tICdhcG9sbG8tdXBsb2FkLWNsaWVudC9jcmVhdGVVcGxvYWRMaW5rLm1qcyc7XHJcblxyXG5pbXBvcnQgeyBnZXRBcHBDb25maWcgfSBmcm9tICcuLi9hcHAuY29uZmlnJztcclxuaW1wb3J0IHsgaW50cm9zcGVjdGlvblJlc3VsdCB9IGZyb20gJy4uL2NvbW1vbi9pbnRyb3NwZWN0aW9uLXJlc3VsdC13cmFwcGVyJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9sb2NhbC1zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBDaGVja0pvYnNMaW5rIH0gZnJvbSAnLi9jaGVjay1qb2JzLWxpbmsnO1xyXG5pbXBvcnQgeyBnZXRDbGllbnREZWZhdWx0cyB9IGZyb20gJy4vY2xpZW50LXN0YXRlL2NsaWVudC1kZWZhdWx0cyc7XHJcbmltcG9ydCB7IGNsaWVudFJlc29sdmVycyB9IGZyb20gJy4vY2xpZW50LXN0YXRlL2NsaWVudC1yZXNvbHZlcnMnO1xyXG5pbXBvcnQgeyBHRVRfQ0xJRU5UX1NUQVRFIH0gZnJvbSAnLi9kZWZpbml0aW9ucy9jbGllbnQtZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQgeyBPbWl0VHlwZW5hbWVMaW5rIH0gZnJvbSAnLi9vbWl0LXR5cGVuYW1lLWxpbmsnO1xyXG5pbXBvcnQgeyBCYXNlRGF0YVNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9iYXNlLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmV0Y2hBZGFwdGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvZmV0Y2gtYWRhcHRlcic7XHJcbmltcG9ydCB7IERlZmF1bHRJbnRlcmNlcHRvciB9IGZyb20gJy4vcHJvdmlkZXJzL2ludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgaW5pdGlhbGl6ZVNlcnZlckNvbmZpZ1NlcnZpY2UsIFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZlci1jb25maWcnO1xyXG5pbXBvcnQgeyBnZXRTZXJ2ZXJMb2NhdGlvbiB9IGZyb20gJy4vdXRpbHMvZ2V0LXNlcnZlci1sb2NhdGlvbic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXBvbGxvKFxyXG4gICAgbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgIGZldGNoQWRhcHRlcjogRmV0Y2hBZGFwdGVyLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4pOiBBcG9sbG9DbGllbnRPcHRpb25zPGFueT4ge1xyXG4gICAgY29uc3QgeyBhZG1pbkFwaVBhdGgsIHRva2VuTWV0aG9kLCBjaGFubmVsVG9rZW5LZXkgfSA9IGdldEFwcENvbmZpZygpO1xyXG4gICAgY29uc3Qgc2VydmVyTG9jYXRpb24gPSBnZXRTZXJ2ZXJMb2NhdGlvbigpO1xyXG4gICAgY29uc3QgYXBvbGxvQ2FjaGUgPSBuZXcgSW5NZW1vcnlDYWNoZSh7XHJcbiAgICAgICAgcG9zc2libGVUeXBlczogaW50cm9zcGVjdGlvblJlc3VsdC5wb3NzaWJsZVR5cGVzLFxyXG4gICAgICAgIHR5cGVQb2xpY2llczoge1xyXG4gICAgICAgICAgICBHbG9iYWxTZXR0aW5nczoge1xyXG4gICAgICAgICAgICAgICAgZmllbGRzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlOiAoZXhpc3RpbmcsIGluY29taW5nKSA9PiAoeyAuLi5leGlzdGluZywgLi4uaW5jb21pbmcgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIEZhY2V0OiB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2U6IChleGlzdGluZywgaW5jb21pbmcpID0+IGluY29taW5nLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIGFwb2xsb0NhY2hlLndyaXRlUXVlcnkoe1xyXG4gICAgICAgIHF1ZXJ5OiBHRVRfQ0xJRU5UX1NUQVRFLFxyXG4gICAgICAgIGRhdGE6IGdldENsaWVudERlZmF1bHRzKGxvY2FsU3RvcmFnZVNlcnZpY2UpLFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCFmYWxzZSkge1xyXG4gICAgICAgIC8vIFRPRE86IGVuYWJsZSBvbmx5IGZvciBkZXYgbW9kZVxyXG4gICAgICAgIC8vIG1ha2UgdGhlIEFwb2xsbyBDYWNoZSBpbnNwZWN0YWJsZSBpbiB0aGUgY29uc29sZSBmb3IgZGVidWcgcHVycG9zZXNcclxuICAgICAgICAod2luZG93IGFzIGFueSlbJ2Fwb2xsb0NhY2hlJ10gPSBhcG9sbG9DYWNoZTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbGluazogQXBvbGxvTGluay5mcm9tKFtcclxuICAgICAgICAgICAgbmV3IE9taXRUeXBlbmFtZUxpbmsoKSxcclxuICAgICAgICAgICAgbmV3IENoZWNrSm9ic0xpbmsoaW5qZWN0b3IpLFxyXG4gICAgICAgICAgICBzZXRDb250ZXh0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5uZWxUb2tlbiA9IGxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0KCdhY3RpdmVDaGFubmVsVG9rZW4nKTtcclxuICAgICAgICAgICAgICAgIGlmIChjaGFubmVsVG9rZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzW2NoYW5uZWxUb2tlbktleSA/PyAndmVuZHVyZS10b2tlbiddID0gY2hhbm5lbFRva2VuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRva2VuTWV0aG9kID09PSAnYmVhcmVyJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF1dGhUb2tlbiA9IGxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0KCdhdXRoVG9rZW4nKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYXV0aFRva2VuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMuYXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHthdXRoVG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzWydBcG9sbG8tUmVxdWlyZS1QcmVmbGlnaHQnXSA9ICd0cnVlJztcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGhlYWRlcnMgfTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIGNyZWF0ZVVwbG9hZExpbmsoe1xyXG4gICAgICAgICAgICAgICAgdXJpOiBgJHtzZXJ2ZXJMb2NhdGlvbn0vJHthZG1pbkFwaVBhdGh9YCxcclxuICAgICAgICAgICAgICAgIGZldGNoOiBmZXRjaEFkYXB0ZXIuZmV0Y2gsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIGNhY2hlOiBhcG9sbG9DYWNoZSxcclxuICAgICAgICByZXNvbHZlcnM6IGNsaWVudFJlc29sdmVycyxcclxuICAgIH07XHJcbn1cclxuXHJcbi8vIExpc3Qgb2YgYWxsIEVVIGNvdW50cmllc1xyXG5cclxuLyoqXHJcbiAqIFRoZSBEYXRhTW9kdWxlIGlzIHJlc3BvbnNpYmxlIGZvciBhbGwgQVBJIGNhbGxzICphbmQqIHNlcnZlcyBhcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciBnbG9iYWwgYXBwXHJcbiAqIHN0YXRlIHZpYSB0aGUgYXBvbGxvLWxpbmstc3RhdGUgcGFja2FnZS5cclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZSwgQXBvbGxvTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIEJhc2VEYXRhU2VydmljZSxcclxuICAgICAgICBEYXRhU2VydmljZSxcclxuICAgICAgICBGZXRjaEFkYXB0ZXIsXHJcbiAgICAgICAgU2VydmVyQ29uZmlnU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQT0xMT19PUFRJT05TLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBjcmVhdGVBcG9sbG8sXHJcbiAgICAgICAgICAgIGRlcHM6IFtMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBGZXRjaEFkYXB0ZXIsIEluamVjdG9yXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBEZWZhdWx0SW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplU2VydmVyQ29uZmlnU2VydmljZSxcclxuICAgICAgICAgICAgZGVwczogW1NlcnZlckNvbmZpZ1NlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YU1vZHVsZSB7fVxyXG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGF0YS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBdUIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sZ0JBQWdCLE1BQU0sMkNBQTJDLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0s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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBvbGxvQ2xpZW50T3B0aW9ucywgSW5NZW1vcnlDYWNoZSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgc2V0Q29udGV4dCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvY29udGV4dCc7XG5pbXBvcnQgeyBBcG9sbG9MaW5rIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvbGluay9jb3JlJztcbmltcG9ydCB7IEFQT0xMT19PUFRJT05TLCBBcG9sbG9Nb2R1bGUgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgY3JlYXRlVXBsb2FkTGluayBmcm9tICdhcG9sbG8tdXBsb2FkLWNsaWVudC9jcmVhdGVVcGxvYWRMaW5rLm1qcyc7XG5cbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgaW50cm9zcGVjdGlvblJlc3VsdCB9IGZyb20gJy4uL2NvbW1vbi9pbnRyb3NwZWN0aW9uLXJlc3VsdC13cmFwcGVyJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvbG9jYWwtc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBDaGVja0pvYnNMaW5rIH0gZnJvbSAnLi9jaGVjay1qb2JzLWxpbmsnO1xuaW1wb3J0IHsgZ2V0Q2xpZW50RGVmYXVsdHMgfSBmcm9tICcuL2NsaWVudC1zdGF0ZS9jbGllbnQtZGVmYXVsdHMnO1xuaW1wb3J0IHsgY2xpZW50UmVzb2x2ZXJzIH0gZnJvbSAnLi9jbGllbnQtc3RhdGUvY2xpZW50LXJlc29sdmVycyc7XG5pbXBvcnQgeyBHRVRfQ0xJRU5UX1NUQVRFIH0gZnJvbSAnLi9kZWZpbml0aW9ucy9jbGllbnQtZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgT21pdFR5cGVuYW1lTGluayB9IGZyb20gJy4vb21pdC10eXBlbmFtZS1saW5rJztcbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2Jhc2UtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEZldGNoQWRhcHRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2ZldGNoLWFkYXB0ZXInO1xuaW1wb3J0IHsgRGVmYXVsdEludGVyY2VwdG9yIH0gZnJvbSAnLi9wcm92aWRlcnMvaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZVNlcnZlckNvbmZpZ1NlcnZpY2UsIFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZlci1jb25maWcnO1xuaW1wb3J0IHsgZ2V0U2VydmVyTG9jYXRpb24gfSBmcm9tICcuL3V0aWxzL2dldC1zZXJ2ZXItbG9jYXRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXBvbGxvKFxuICAgIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgZmV0Y2hBZGFwdGVyOiBGZXRjaEFkYXB0ZXIsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuKTogQXBvbGxvQ2xpZW50T3B0aW9uczxhbnk+IHtcbiAgICBjb25zdCB7IGFkbWluQXBpUGF0aCwgdG9rZW5NZXRob2QsIGNoYW5uZWxUb2tlbktleSB9ID0gZ2V0QXBwQ29uZmlnKCk7XG4gICAgY29uc3Qgc2VydmVyTG9jYXRpb24gPSBnZXRTZXJ2ZXJMb2NhdGlvbigpO1xuICAgIGNvbnN0IGFwb2xsb0NhY2hlID0gbmV3IEluTWVtb3J5Q2FjaGUoe1xuICAgICAgICBwb3NzaWJsZVR5cGVzOiBpbnRyb3NwZWN0aW9uUmVzdWx0LnBvc3NpYmxlVHlwZXMsXG4gICAgICAgIHR5cGVQb2xpY2llczoge1xuICAgICAgICAgICAgR2xvYmFsU2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXJnZTogKGV4aXN0aW5nLCBpbmNvbWluZykgPT4gKHsgLi4uZXhpc3RpbmcsIC4uLmluY29taW5nIH0pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgRmFjZXQ6IHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXJnZTogKGV4aXN0aW5nLCBpbmNvbWluZykgPT4gaW5jb21pbmcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSk7XG4gICAgYXBvbGxvQ2FjaGUud3JpdGVRdWVyeSh7XG4gICAgICAgIHF1ZXJ5OiBHRVRfQ0xJRU5UX1NUQVRFLFxuICAgICAgICBkYXRhOiBnZXRDbGllbnREZWZhdWx0cyhsb2NhbFN0b3JhZ2VTZXJ2aWNlKSxcbiAgICB9KTtcblxuICAgIGlmICghZmFsc2UpIHtcbiAgICAgICAgLy8gVE9ETzogZW5hYmxlIG9ubHkgZm9yIGRldiBtb2RlXG4gICAgICAgIC8vIG1ha2UgdGhlIEFwb2xsbyBDYWNoZSBpbnNwZWN0YWJsZSBpbiB0aGUgY29uc29sZSBmb3IgZGVidWcgcHVycG9zZXNcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpWydhcG9sbG9DYWNoZSddID0gYXBvbGxvQ2FjaGU7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGxpbms6IEFwb2xsb0xpbmsuZnJvbShbXG4gICAgICAgICAgICBuZXcgT21pdFR5cGVuYW1lTGluaygpLFxuICAgICAgICAgICAgbmV3IENoZWNrSm9ic0xpbmsoaW5qZWN0b3IpLFxuICAgICAgICAgICAgc2V0Q29udGV4dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5uZWxUb2tlbiA9IGxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0KCdhY3RpdmVDaGFubmVsVG9rZW4nKTtcbiAgICAgICAgICAgICAgICBpZiAoY2hhbm5lbFRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnNbY2hhbm5lbFRva2VuS2V5ID8/ICd2ZW5kdXJlLXRva2VuJ10gPSBjaGFubmVsVG9rZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0b2tlbk1ldGhvZCA9PT0gJ2JlYXJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0aFRva2VuID0gbG9jYWxTdG9yYWdlU2VydmljZS5nZXQoJ2F1dGhUb2tlbicpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYXV0aFRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLmF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7YXV0aFRva2VufWA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGVhZGVyc1snQXBvbGxvLVJlcXVpcmUtUHJlZmxpZ2h0J10gPSAndHJ1ZSc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaGVhZGVycyB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjcmVhdGVVcGxvYWRMaW5rKHtcbiAgICAgICAgICAgICAgICB1cmk6IGAke3NlcnZlckxvY2F0aW9ufS8ke2FkbWluQXBpUGF0aH1gLFxuICAgICAgICAgICAgICAgIGZldGNoOiBmZXRjaEFkYXB0ZXIuZmV0Y2gsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSksXG4gICAgICAgIGNhY2hlOiBhcG9sbG9DYWNoZSxcbiAgICAgICAgcmVzb2x2ZXJzOiBjbGllbnRSZXNvbHZlcnMsXG4gICAgfTtcbn1cblxuLy8gTGlzdCBvZiBhbGwgRVUgY291bnRyaWVzXG5cbi8qKlxuICogVGhlIERhdGFNb2R1bGUgaXMgcmVzcG9uc2libGUgZm9yIGFsbCBBUEkgY2FsbHMgKmFuZCogc2VydmVzIGFzIHRoZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIGdsb2JhbCBhcHBcbiAqIHN0YXRlIHZpYSB0aGUgYXBvbGxvLWxpbmstc3RhdGUgcGFja2FnZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZSwgQXBvbGxvTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBCYXNlRGF0YVNlcnZpY2UsXG4gICAgICAgIERhdGFTZXJ2aWNlLFxuICAgICAgICBGZXRjaEFkYXB0ZXIsXG4gICAgICAgIFNlcnZlckNvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQT0xMT19PUFRJT05TLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlQXBvbGxvLFxuICAgICAgICAgICAgZGVwczogW0xvY2FsU3RvcmFnZVNlcnZpY2UsIEZldGNoQWRhcHRlciwgSW5qZWN0b3JdLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogRGVmYXVsdEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRpYWxpemVTZXJ2ZXJDb25maWdTZXJ2aWNlLFxuICAgICAgICAgICAgZGVwczogW1NlcnZlckNvbmZpZ1NlcnZpY2VdLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFNb2R1bGUge31cbiJdfQ==
@@ -3,9 +3,9 @@ import { simpleDeepClone } from '@vendure/common/lib/simple-deep-clone';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { QueryResult } from '../query-result';
5
5
  import { addCustomFields } from '../utils/add-custom-fields';
6
+ import { isEntityCreateOrUpdateMutation } from '../utils/is-entity-create-or-update-mutation';
6
7
  import { removeReadonlyCustomFields } from '../utils/remove-readonly-custom-fields';
7
8
  import { transformRelationCustomFieldInputs } from '../utils/transform-relation-custom-field-inputs';
8
- import { isEntityCreateOrUpdateMutation } from '../utils/is-entity-create-or-update-mutation';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "apollo-angular";
11
11
  import * as i2 from "../server-config";
@@ -20,21 +20,20 @@ export class BaseDataService {
20
20
  /**
21
21
  * Performs a GraphQL watch query
22
22
  */
23
- query(query, variables, fetchPolicy = 'cache-and-network') {
24
- const withCustomFields = addCustomFields(query, this.customFields);
23
+ query(query, variables, fetchPolicy = 'cache-and-network', options = {}) {
25
24
  const queryRef = this.apollo.watchQuery({
26
- query: withCustomFields,
25
+ query: addCustomFields(query, this.customFields, options.includeCustomFields),
27
26
  variables,
28
27
  fetchPolicy,
29
28
  });
30
- const queryResult = new QueryResult(queryRef, this.apollo);
29
+ const queryResult = new QueryResult(queryRef, this.apollo, this.customFields);
31
30
  return queryResult;
32
31
  }
33
32
  /**
34
33
  * Performs a GraphQL mutation
35
34
  */
36
- mutate(mutation, variables, update) {
37
- const withCustomFields = addCustomFields(mutation, this.customFields);
35
+ mutate(mutation, variables, update, options = {}) {
36
+ const withCustomFields = addCustomFields(mutation, this.customFields, options.includeCustomFields);
38
37
  const withoutReadonlyFields = this.prepareCustomFields(mutation, variables);
39
38
  return this.apollo
40
39
  .mutate({
@@ -63,4 +62,4 @@ export class BaseDataService {
63
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BaseDataService, decorators: [{
64
63
  type: Injectable
65
64
  }], ctorParameters: () => [{ type: i1.Apollo }, { type: i2.ServerConfigService }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2Jhc2UtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBRzlGLE1BQU0sT0FBTyxlQUFlO0lBQ3hCLFlBQ1ksTUFBYyxFQUNkLG1CQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUNqRCxDQUFDO0lBRUosSUFBWSxZQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQ0QsS0FBNkMsRUFDN0MsU0FBYSxFQUNiLGNBQXFDLG1CQUFtQjtRQUV4RCxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFPO1lBQzFDLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsU0FBUztZQUNULFdBQVc7U0FDZCxDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBUyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FDRixRQUFnRCxFQUNoRCxTQUFhLEVBQ2IsTUFBNkI7UUFFN0IsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RSxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFNUUsT0FBTyxJQUFJLENBQUMsTUFBTTthQUNiLE1BQU0sQ0FBTztZQUNWLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFLHFCQUFxQjtZQUNoQyxNQUFNO1NBQ1QsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBRSxNQUFnQyxDQUFDLElBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVPLG1CQUFtQixDQUFJLFFBQXNCLEVBQUUsU0FBWTtRQUMvRCxNQUFNLE1BQU0sR0FBRyw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RCxJQUFJLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLGNBQWMsR0FBRyxlQUFlLENBQUMsU0FBZ0IsQ0FBQyxDQUFDO2dCQUN2RCxjQUFjLEdBQUcsMEJBQTBCLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQy9FLGNBQWMsR0FBRyxrQ0FBa0MsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztnQkFDdkYsT0FBTyxjQUFjLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzhHQTVEUSxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE11dGF0aW9uVXBkYXRlckZuLCBTaW5nbGVFeGVjdXRpb25SZXN1bHQsIFdhdGNoUXVlcnlGZXRjaFBvbGljeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xyXG5pbXBvcnQgeyBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IHNpbXBsZURlZXBDbG9uZSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2ltcGxlLWRlZXAtY2xvbmUnO1xyXG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwvbGFuZ3VhZ2UvYXN0JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gJy4uL3F1ZXJ5LXJlc3VsdCc7XHJcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2ZXItY29uZmlnJztcclxuaW1wb3J0IHsgYWRkQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMnO1xyXG5pbXBvcnQgeyByZW1vdmVSZWFkb25seUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uL3V0aWxzL3JlbW92ZS1yZWFkb25seS1jdXN0b20tZmllbGRzJztcclxuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyB9IGZyb20gJy4uL3V0aWxzL3RyYW5zZm9ybS1yZWxhdGlvbi1jdXN0b20tZmllbGQtaW5wdXRzJztcclxuaW1wb3J0IHsgaXNFbnRpdHlDcmVhdGVPclVwZGF0ZU11dGF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvaXMtZW50aXR5LWNyZWF0ZS1vci11cGRhdGUtbXV0YXRpb24nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQmFzZURhdGFTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYXBvbGxvOiBBcG9sbG8sXHJcbiAgICAgICAgcHJpdmF0ZSBzZXJ2ZXJDb25maWdTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IGN1c3RvbUZpZWxkcygpOiBNYXA8c3RyaW5nLCBDdXN0b21GaWVsZENvbmZpZ1tdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5jdXN0b21GaWVsZHNNYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJmb3JtcyBhIEdyYXBoUUwgd2F0Y2ggcXVlcnlcclxuICAgICAqL1xyXG4gICAgcXVlcnk8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcclxuICAgICAgICBxdWVyeTogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICAgICAgdmFyaWFibGVzPzogVixcclxuICAgICAgICBmZXRjaFBvbGljeTogV2F0Y2hRdWVyeUZldGNoUG9saWN5ID0gJ2NhY2hlLWFuZC1uZXR3b3JrJyxcclxuICAgICk6IFF1ZXJ5UmVzdWx0PFQsIFY+IHtcclxuICAgICAgICBjb25zdCB3aXRoQ3VzdG9tRmllbGRzID0gYWRkQ3VzdG9tRmllbGRzKHF1ZXJ5LCB0aGlzLmN1c3RvbUZpZWxkcyk7XHJcbiAgICAgICAgY29uc3QgcXVlcnlSZWYgPSB0aGlzLmFwb2xsby53YXRjaFF1ZXJ5PFQsIFY+KHtcclxuICAgICAgICAgICAgcXVlcnk6IHdpdGhDdXN0b21GaWVsZHMsXHJcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcclxuICAgICAgICAgICAgZmV0Y2hQb2xpY3ksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgcXVlcnlSZXN1bHQgPSBuZXcgUXVlcnlSZXN1bHQ8VCwgYW55PihxdWVyeVJlZiwgdGhpcy5hcG9sbG8pO1xyXG4gICAgICAgIHJldHVybiBxdWVyeVJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm1zIGEgR3JhcGhRTCBtdXRhdGlvblxyXG4gICAgICovXHJcbiAgICBtdXRhdGU8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcclxuICAgICAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICAgICAgdmFyaWFibGVzPzogVixcclxuICAgICAgICB1cGRhdGU/OiBNdXRhdGlvblVwZGF0ZXJGbjxUPixcclxuICAgICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIGNvbnN0IHdpdGhDdXN0b21GaWVsZHMgPSBhZGRDdXN0b21GaWVsZHMobXV0YXRpb24sIHRoaXMuY3VzdG9tRmllbGRzKTtcclxuICAgICAgICBjb25zdCB3aXRob3V0UmVhZG9ubHlGaWVsZHMgPSB0aGlzLnByZXBhcmVDdXN0b21GaWVsZHMobXV0YXRpb24sIHZhcmlhYmxlcyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmFwb2xsb1xyXG4gICAgICAgICAgICAubXV0YXRlPFQsIFY+KHtcclxuICAgICAgICAgICAgICAgIG11dGF0aW9uOiB3aXRoQ3VzdG9tRmllbGRzLFxyXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB3aXRob3V0UmVhZG9ubHlGaWVsZHMsXHJcbiAgICAgICAgICAgICAgICB1cGRhdGUsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHJlc3VsdCBhcyBTaW5nbGVFeGVjdXRpb25SZXN1bHQpLmRhdGEgYXMgVCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJlcGFyZUN1c3RvbUZpZWxkczxWPihtdXRhdGlvbjogRG9jdW1lbnROb2RlLCB2YXJpYWJsZXM6IFYpOiBWIHtcclxuICAgICAgICBjb25zdCBlbnRpdHkgPSBpc0VudGl0eUNyZWF0ZU9yVXBkYXRlTXV0YXRpb24obXV0YXRpb24pO1xyXG4gICAgICAgIGlmIChlbnRpdHkpIHtcclxuICAgICAgICAgICAgY29uc3QgY3VzdG9tRmllbGRDb25maWcgPSB0aGlzLmN1c3RvbUZpZWxkcy5nZXQoZW50aXR5KTtcclxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlcyAmJiBjdXN0b21GaWVsZENvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgbGV0IHZhcmlhYmxlc0Nsb25lID0gc2ltcGxlRGVlcENsb25lKHZhcmlhYmxlcyBhcyBhbnkpO1xyXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzQ2xvbmUgPSByZW1vdmVSZWFkb25seUN1c3RvbUZpZWxkcyh2YXJpYWJsZXNDbG9uZSwgY3VzdG9tRmllbGRDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzQ2xvbmUgPSB0cmFuc2Zvcm1SZWxhdGlvbkN1c3RvbUZpZWxkSW5wdXRzKHZhcmlhYmxlc0Nsb25lLCBjdXN0b21GaWVsZENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFyaWFibGVzQ2xvbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlcztcclxuICAgIH1cclxufVxyXG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2Jhc2UtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBcUJyRyxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNZLE1BQWMsRUFDZCxtQkFBd0M7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDakQsQ0FBQztJQUVKLElBQVksWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUNELEtBQTZDLEVBQzdDLFNBQWEsRUFDYixjQUFxQyxtQkFBbUIsRUFDeEQsVUFBZ0MsRUFBRTtRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBTztZQUMxQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM3RSxTQUFTO1lBQ1QsV0FBVztTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFPLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQ0YsUUFBZ0QsRUFDaEQsU0FBYSxFQUNiLE1BQTZCLEVBQzdCLFVBQWdDLEVBQUU7UUFFbEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkcsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDYixNQUFNLENBQU87WUFDVixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsTUFBTTtTQUNULENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUUsTUFBZ0MsQ0FBQyxJQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxtQkFBbUIsQ0FBSSxRQUFzQixFQUFFLFNBQVk7UUFDL0QsTUFBTSxNQUFNLEdBQUcsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxjQUFjLEdBQUcsZUFBZSxDQUFDLFNBQWdCLENBQUMsQ0FBQztnQkFDdkQsY0FBYyxHQUFHLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2dCQUMvRSxjQUFjLEdBQUcsa0NBQWtDLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3ZGLE9BQU8sY0FBYyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzs4R0E5RFEsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXV0YXRpb25VcGRhdGVyRm4sIFNpbmdsZUV4ZWN1dGlvblJlc3VsdCwgV2F0Y2hRdWVyeUZldGNoUG9saWN5IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwvbGFuZ3VhZ2UvYXN0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IFF1ZXJ5UmVzdWx0IH0gZnJvbSAnLi4vcXVlcnktcmVzdWx0JztcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2ZXItY29uZmlnJztcbmltcG9ydCB7IGFkZEN1c3RvbUZpZWxkcyB9IGZyb20gJy4uL3V0aWxzL2FkZC1jdXN0b20tZmllbGRzJztcbmltcG9ydCB7IGlzRW50aXR5Q3JlYXRlT3JVcGRhdGVNdXRhdGlvbiB9IGZyb20gJy4uL3V0aWxzL2lzLWVudGl0eS1jcmVhdGUtb3ItdXBkYXRlLW11dGF0aW9uJztcbmltcG9ydCB7IHJlbW92ZVJlYWRvbmx5Q3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vdXRpbHMvcmVtb3ZlLXJlYWRvbmx5LWN1c3RvbS1maWVsZHMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyB9IGZyb20gJy4uL3V0aWxzL3RyYW5zZm9ybS1yZWxhdGlvbi1jdXN0b20tZmllbGQtaW5wdXRzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhlIGBxdWVyeWAgYW5kIGBtdXRhdGVgIG1ldGhvZHMuXG4gKlxuICogQHNpbmNlIDMuMC40XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRRdWVyeU9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEFuIGFycmF5IG9mIGN1c3RvbSBmaWVsZCBuYW1lcyB3aGljaCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHF1ZXJ5IG9yIG11dGF0aW9uXG4gICAgICogcmV0dXJuIGRhdGEuIFRoZSBhdXRvbWF0aWMgaW5jbHVzaW9uIG9mIGN1c3RvbSBmaWVsZHMgaXMgb25seSBzdXBwb3J0ZWQgZm9yXG4gICAgICogZW50aXRpZXMgd2hpY2ggYXJlIGRlZmluZWQgYXMgRnJhZ21lbnRzIGluIHRoZSBEb2N1bWVudE5vZGUuXG4gICAgICpcbiAgICAgKiBAc2luY2UgMy4wLjRcbiAgICAgKi9cbiAgICBpbmNsdWRlQ3VzdG9tRmllbGRzPzogc3RyaW5nW107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICAgICAgICBwcml2YXRlIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tRmllbGRzKCk6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5jdXN0b21GaWVsZHNNYXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBHcmFwaFFMIHdhdGNoIHF1ZXJ5XG4gICAgICovXG4gICAgcXVlcnk8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgICAgICAgcXVlcnk6IERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPFQsIFY+LFxuICAgICAgICB2YXJpYWJsZXM/OiBWLFxuICAgICAgICBmZXRjaFBvbGljeTogV2F0Y2hRdWVyeUZldGNoUG9saWN5ID0gJ2NhY2hlLWFuZC1uZXR3b3JrJyxcbiAgICAgICAgb3B0aW9uczogRXh0ZW5kZWRRdWVyeU9wdGlvbnMgPSB7fSxcbiAgICApOiBRdWVyeVJlc3VsdDxULCBWPiB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UmVmID0gdGhpcy5hcG9sbG8ud2F0Y2hRdWVyeTxULCBWPih7XG4gICAgICAgICAgICBxdWVyeTogYWRkQ3VzdG9tRmllbGRzKHF1ZXJ5LCB0aGlzLmN1c3RvbUZpZWxkcywgb3B0aW9ucy5pbmNsdWRlQ3VzdG9tRmllbGRzKSxcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgICAgIGZldGNoUG9saWN5LFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IG5ldyBRdWVyeVJlc3VsdDxULCBWPihxdWVyeVJlZiwgdGhpcy5hcG9sbG8sIHRoaXMuY3VzdG9tRmllbGRzKTtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5UmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGEgR3JhcGhRTCBtdXRhdGlvblxuICAgICAqL1xuICAgIG11dGF0ZTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICAgICAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXG4gICAgICAgIHZhcmlhYmxlcz86IFYsXG4gICAgICAgIHVwZGF0ZT86IE11dGF0aW9uVXBkYXRlckZuPFQ+LFxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICBjb25zdCB3aXRoQ3VzdG9tRmllbGRzID0gYWRkQ3VzdG9tRmllbGRzKG11dGF0aW9uLCB0aGlzLmN1c3RvbUZpZWxkcywgb3B0aW9ucy5pbmNsdWRlQ3VzdG9tRmllbGRzKTtcbiAgICAgICAgY29uc3Qgd2l0aG91dFJlYWRvbmx5RmllbGRzID0gdGhpcy5wcmVwYXJlQ3VzdG9tRmllbGRzKG11dGF0aW9uLCB2YXJpYWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwb2xsb1xuICAgICAgICAgICAgLm11dGF0ZTxULCBWPih7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IHdpdGhDdXN0b21GaWVsZHMsXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB3aXRob3V0UmVhZG9ubHlGaWVsZHMsXG4gICAgICAgICAgICAgICAgdXBkYXRlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHJlc3VsdCBhcyBTaW5nbGVFeGVjdXRpb25SZXN1bHQpLmRhdGEgYXMgVCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUN1c3RvbUZpZWxkczxWPihtdXRhdGlvbjogRG9jdW1lbnROb2RlLCB2YXJpYWJsZXM6IFYpOiBWIHtcbiAgICAgICAgY29uc3QgZW50aXR5ID0gaXNFbnRpdHlDcmVhdGVPclVwZGF0ZU11dGF0aW9uKG11dGF0aW9uKTtcbiAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tRmllbGRDb25maWcgPSB0aGlzLmN1c3RvbUZpZWxkcy5nZXQoZW50aXR5KTtcbiAgICAgICAgICAgIGlmICh2YXJpYWJsZXMgJiYgY3VzdG9tRmllbGRDb25maWcpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFyaWFibGVzQ2xvbmUgPSBzaW1wbGVEZWVwQ2xvbmUodmFyaWFibGVzIGFzIGFueSk7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVzQ2xvbmUgPSByZW1vdmVSZWFkb25seUN1c3RvbUZpZWxkcyh2YXJpYWJsZXNDbG9uZSwgY3VzdG9tRmllbGRDb25maWcpO1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlc0Nsb25lID0gdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyh2YXJpYWJsZXNDbG9uZSwgY3VzdG9tRmllbGRDb25maWcpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YXJpYWJsZXNDbG9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFyaWFibGVzO1xuICAgIH1cbn1cbiJdfQ==
@@ -57,7 +57,7 @@ export class CollectionDataService {
57
57
  previewCollectionVariants(input, options) {
58
58
  return this.baseDataService.query(PREVIEW_COLLECTION_CONTENTS, { input, options });
59
59
  }
60
- getCollectionContents(id, take = 10, skip = 0, filterTerm) {
60
+ getCollectionContents(id, take = 10, skip = 0, filterTerm, options = {}) {
61
61
  const filter = filterTerm
62
62
  ? { name: { contains: filterTerm } }
63
63
  : undefined;
@@ -68,7 +68,7 @@ export class CollectionDataService {
68
68
  take,
69
69
  filter,
70
70
  },
71
- });
71
+ }, 'cache-and-network', options);
72
72
  }
73
73
  assignCollectionsToChannel(input) {
74
74
  return this.baseDataService.mutate(ASSIGN_COLLECTIONS_TO_CHANNEL, {
@@ -81,4 +81,4 @@ export class CollectionDataService {
81
81
  });
82
82
  }
83
83
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2NvbGxlY3Rpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQixpQkFBaUIsR0FDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUkvQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQW9DLHNCQUFzQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QztRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixtQkFBbUIsRUFBRTtZQUNuQixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFvQztRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxpQkFBaUIsRUFBRTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJO2dCQUNKLFdBQVc7Z0JBQ1gsY0FBYztnQkFDZCxVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDZCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHekIsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDaEMsRUFDRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsaUJBQWlCLEVBQUU7WUFDakIsRUFBRTtTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGtCQUFrQixFQUFFO1lBQ2xCLEdBQUc7U0FDTixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseUJBQXlCLENBQ3JCLEtBQTZDLEVBQzdDLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLDJCQUEyQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQVUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsVUFBbUI7UUFDdEUsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQXdDO1lBQzNFLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FHL0IsdUJBQXVCLEVBQUU7WUFDdkIsRUFBRTtZQUNGLE9BQU8sRUFBRTtnQkFDTCxJQUFJO2dCQUNKLElBQUk7Z0JBQ0osTUFBTTthQUNUO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQThDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLDZCQUE2QixFQUFFO1lBQzdCLEtBQUs7U0FDUixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBZ0Q7UUFDekUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsK0JBQStCLEVBQUU7WUFDL0IsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpY2sgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3BpY2snO1xyXG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGJ1ZmZlckNvdW50LCBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgKiBhcyBDb2RlZ2VuIGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQVNTSUdOX0NPTExFQ1RJT05TX1RPX0NIQU5ORUwsXHJcbiAgICBDUkVBVEVfQ09MTEVDVElPTixcclxuICAgIERFTEVURV9DT0xMRUNUSU9OLFxyXG4gICAgREVMRVRFX0NPTExFQ1RJT05TLFxyXG4gICAgR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsXHJcbiAgICBHRVRfQ09MTEVDVElPTl9GSUxURVJTLFxyXG4gICAgR0VUX0NPTExFQ1RJT05fTElTVCxcclxuICAgIE1PVkVfQ09MTEVDVElPTixcclxuICAgIFBSRVZJRVdfQ09MTEVDVElPTl9DT05URU5UUyxcclxuICAgIFJFTU9WRV9DT0xMRUNUSU9OU19GUk9NX0NIQU5ORUwsXHJcbiAgICBVUERBVEVfQ09MTEVDVElPTixcclxufSBmcm9tICcuLi9kZWZpbml0aW9ucy9jb2xsZWN0aW9uLWRlZmluaXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EYXRhU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VEYXRhU2VydmljZTogQmFzZURhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25GaWx0ZXJzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldENvbGxlY3Rpb25GaWx0ZXJzUXVlcnk+KEdFVF9DT0xMRUNUSU9OX0ZJTFRFUlMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25zKG9wdGlvbnM/OiBDb2RlZ2VuLkNvbGxlY3Rpb25MaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25MaXN0UXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9DT0xMRUNUSU9OX0xJU1QsIHtcclxuICAgICAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVDb2xsZWN0aW9uKGlucHV0OiBDb2RlZ2VuLkNyZWF0ZUNvbGxlY3Rpb25JbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkNyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQ1JFQVRFX0NPTExFQ1RJT04sIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcclxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxyXG4gICAgICAgICAgICAgICAgJ3BhcmVudElkJyxcclxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICdpbmhlcml0RmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ29sbGVjdGlvbihpbnB1dDogQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9DT0xMRUNUSU9OLCB7XHJcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbXHJcbiAgICAgICAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgICAgICAgJ2lzUHJpdmF0ZScsXHJcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcclxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICdpbmhlcml0RmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZUNvbGxlY3Rpb24oaW5wdXRzOiBDb2RlZ2VuLk1vdmVDb2xsZWN0aW9uSW5wdXRbXSkge1xyXG4gICAgICAgIHJldHVybiBmcm9tKGlucHV0cykucGlwZShcclxuICAgICAgICAgICAgY29uY2F0TWFwKGlucHV0ID0+XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgICAgICAgICAgQ29kZWdlbi5Nb3ZlQ29sbGVjdGlvbk11dGF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIENvZGVnZW4uTW92ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgICAgICAgICAgPihNT1ZFX0NPTExFQ1RJT04sIHsgaW5wdXQgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGJ1ZmZlckNvdW50KGlucHV0cy5sZW5ndGgpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlQ29sbGVjdGlvbihpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDb2xsZWN0aW9uTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihERUxFVEVfQ09MTEVDVElPTiwge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDb2xsZWN0aW9ucyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDb2xsZWN0aW9uc011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DT0xMRUNUSU9OUywge1xyXG4gICAgICAgICAgICBpZHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyhcclxuICAgICAgICBpbnB1dDogQ29kZWdlbi5QcmV2aWV3Q29sbGVjdGlvblZhcmlhbnRzSW5wdXQsXHJcbiAgICAgICAgb3B0aW9uczogQ29kZWdlbi5Qcm9kdWN0VmFyaWFudExpc3RPcHRpb25zLFxyXG4gICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5QcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KFBSRVZJRVdfQ09MTEVDVElPTl9DT05URU5UUywgeyBpbnB1dCwgb3B0aW9ucyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb2xsZWN0aW9uQ29udGVudHMoaWQ6IHN0cmluZywgdGFrZSA9IDEwLCBza2lwID0gMCwgZmlsdGVyVGVybT86IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlclRlcm1cclxuICAgICAgICAgICAgPyAoeyBuYW1lOiB7IGNvbnRhaW5zOiBmaWx0ZXJUZXJtIH0gfSBhcyBDb2RlZ2VuLkNvbGxlY3Rpb25GaWx0ZXJQYXJhbWV0ZXIpXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsKGlucHV0OiBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQVNTSUdOX0NPTExFQ1RJT05TX1RPX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5SZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFJFTU9WRV9DT0xMRUNUSU9OU19GUk9NX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2NvbGxlY3Rpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQixpQkFBaUIsR0FDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUkvQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQW9DLHNCQUFzQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QztRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixtQkFBbUIsRUFBRTtZQUNuQixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFvQztRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxpQkFBaUIsRUFBRTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJO2dCQUNKLFdBQVc7Z0JBQ1gsY0FBYztnQkFDZCxVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDZCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHekIsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDaEMsRUFDRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsaUJBQWlCLEVBQUU7WUFDakIsRUFBRTtTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGtCQUFrQixFQUFFO1lBQ2xCLEdBQUc7U0FDTixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseUJBQXlCLENBQ3JCLEtBQTZDLEVBQzdDLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLDJCQUEyQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHFCQUFxQixDQUNqQixFQUFVLEVBQ1YsSUFBSSxHQUFHLEVBQUUsRUFDVCxJQUFJLEdBQUcsQ0FBQyxFQUNSLFVBQW1CLEVBQ25CLFVBQWdDLEVBQUU7UUFFbEMsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQXdDO1lBQzNFLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FJN0IsdUJBQXVCLEVBQ3ZCO1lBQ0ksRUFBRTtZQUNGLE9BQU8sRUFBRTtnQkFDTCxJQUFJO2dCQUNKLElBQUk7Z0JBQ0osTUFBTTthQUNUO1NBQ0osRUFDRCxtQkFBbUIsRUFDbkIsT0FBTyxDQUNWLENBQUM7SUFDTixDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBOEM7UUFDckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsNkJBQTZCLEVBQUU7WUFDN0IsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxLQUFnRDtRQUN6RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQywrQkFBK0IsRUFBRTtZQUMvQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGljayB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvcGljayc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWZmZXJDb3VudCwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgKiBhcyBDb2RlZ2VuIGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCxcbiAgICBDUkVBVEVfQ09MTEVDVElPTixcbiAgICBERUxFVEVfQ09MTEVDVElPTixcbiAgICBERUxFVEVfQ09MTEVDVElPTlMsXG4gICAgR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsXG4gICAgR0VUX0NPTExFQ1RJT05fRklMVEVSUyxcbiAgICBHRVRfQ09MTEVDVElPTl9MSVNULFxuICAgIE1PVkVfQ09MTEVDVElPTixcbiAgICBQUkVWSUVXX0NPTExFQ1RJT05fQ09OVEVOVFMsXG4gICAgUkVNT1ZFX0NPTExFQ1RJT05TX0ZST01fQ0hBTk5FTCxcbiAgICBVUERBVEVfQ09MTEVDVElPTixcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvY29sbGVjdGlvbi1kZWZpbml0aW9ucyc7XG5cbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSwgRXh0ZW5kZWRRdWVyeU9wdGlvbnMgfSBmcm9tICcuL2Jhc2UtZGF0YS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EYXRhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cblxuICAgIGdldENvbGxlY3Rpb25GaWx0ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5PihHRVRfQ09MTEVDVElPTl9GSUxURVJTKTtcbiAgICB9XG5cbiAgICBnZXRDb2xsZWN0aW9ucyhvcHRpb25zPzogQ29kZWdlbi5Db2xsZWN0aW9uTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5VmFyaWFibGVzXG4gICAgICAgID4oR0VUX0NPTExFQ1RJT05fTElTVCwge1xuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlQ29sbGVjdGlvbihpbnB1dDogQ29kZWdlbi5DcmVhdGVDb2xsZWN0aW9uSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihDUkVBVEVfQ09MTEVDVElPTiwge1xuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgICAgICAncGFyZW50SWQnLFxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXG4gICAgICAgICAgICAgICAgJ2luaGVyaXRGaWx0ZXJzJyxcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXG4gICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29sbGVjdGlvbihpbnB1dDogQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihVUERBVEVfQ09MTEVDVElPTiwge1xuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcbiAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICdpc1ByaXZhdGUnLFxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXG4gICAgICAgICAgICAgICAgJ2luaGVyaXRGaWx0ZXJzJyxcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXG4gICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbW92ZUNvbGxlY3Rpb24oaW5wdXRzOiBDb2RlZ2VuLk1vdmVDb2xsZWN0aW9uSW5wdXRbXSkge1xuICAgICAgICByZXR1cm4gZnJvbShpbnB1dHMpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoaW5wdXQgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICAgICAgICAgIENvZGVnZW4uTW92ZUNvbGxlY3Rpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgQ29kZWdlbi5Nb3ZlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgICAgICAgICAgPihNT1ZFX0NPTExFQ1RJT04sIHsgaW5wdXQgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgYnVmZmVyQ291bnQoaW5wdXRzLmxlbmd0aCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQ29sbGVjdGlvbihpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oREVMRVRFX0NPTExFQ1RJT04sIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVDb2xsZWN0aW9ucyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihERUxFVEVfQ09MTEVDVElPTlMsIHtcbiAgICAgICAgICAgIGlkcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyhcbiAgICAgICAgaW5wdXQ6IENvZGVnZW4uUHJldmlld0NvbGxlY3Rpb25WYXJpYW50c0lucHV0LFxuICAgICAgICBvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcbiAgICAgICAgICAgIENvZGVnZW4uUHJldmlld0NvbGxlY3Rpb25Db250ZW50c1F1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5QcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXNcbiAgICAgICAgPihQUkVWSUVXX0NPTExFQ1RJT05fQ09OVEVOVFMsIHsgaW5wdXQsIG9wdGlvbnMgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q29sbGVjdGlvbkNvbnRlbnRzKFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICB0YWtlID0gMTAsXG4gICAgICAgIHNraXAgPSAwLFxuICAgICAgICBmaWx0ZXJUZXJtPzogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxuICAgICkge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJUZXJtXG4gICAgICAgICAgICA/ICh7IG5hbWU6IHsgY29udGFpbnM6IGZpbHRlclRlcm0gfSB9IGFzIENvZGVnZW4uQ29sbGVjdGlvbkZpbHRlclBhcmFtZXRlcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KFxuICAgICAgICAgICAgR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBza2lwLFxuICAgICAgICAgICAgICAgICAgICB0YWtlLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAnY2FjaGUtYW5kLW5ldHdvcmsnLFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5Bc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbElucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCwge1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWwoaW5wdXQ6IENvZGVnZW4uUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbElucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oUkVNT1ZFX0NPTExFQ1RJT05TX0ZST01fQ0hBTk5FTCwge1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==