@vendure/admin-ui 2.0.1 → 2.0.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.
- package/catalog/components/move-collections-dialog/move-collections-dialog.component.d.ts +3 -2
- package/catalog/components/product-variant-list/product-variant-list-bulk-actions.d.ts +6 -0
- package/catalog/public_api.d.ts +1 -1
- package/core/common/base-detail.component.d.ts +1 -0
- package/core/common/component-registry-types.d.ts +2 -2
- package/core/common/generated-types.d.ts +13 -0
- package/core/common/version.d.ts +1 -1
- package/core/components/theme-switcher/theme-switcher.component.d.ts +1 -0
- package/core/data/definitions/product-definitions.d.ts +1 -0
- package/core/data/providers/product-data.service.d.ts +1 -0
- package/core/shared/components/chart/chart.component.d.ts +3 -1
- package/core/shared/components/data-table-filters/data-table-filters.component.d.ts +1 -0
- package/core/shared/components/dropdown/dropdown-menu.component.d.ts +2 -0
- package/core/shared/components/dropdown/dropdown.component.d.ts +1 -1
- package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +6 -0
- package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +5 -2
- package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +4 -2
- package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -5
- package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +1 -4
- package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +0 -1
- package/core/shared/shared.module.d.ts +2 -1
- package/esm2022/catalog/catalog.module.mjs +5 -1
- package/esm2022/catalog/components/asset-list/asset-list.component.mjs +3 -3
- package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +11 -14
- package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +34 -8
- package/esm2022/catalog/components/product-list/product-list.component.mjs +3 -3
- package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +1 -1
- package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +4 -5
- package/esm2022/catalog/components/product-variant-list/product-variant-list-bulk-actions.mjs +92 -0
- package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +5 -5
- package/esm2022/catalog/public_api.mjs +2 -2
- package/esm2022/core/common/base-detail.component.mjs +3 -3
- package/esm2022/core/common/base-list.component.mjs +2 -2
- package/esm2022/core/common/component-registry-types.mjs +1 -1
- package/esm2022/core/common/generated-types.mjs +2 -1
- package/esm2022/core/common/introspection-result.mjs +1 -1
- package/esm2022/core/common/title-setter.mjs +1 -1
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/components/app-shell/app-shell.component.mjs +3 -3
- package/esm2022/core/components/base-nav/base-nav.component.mjs +1 -1
- package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/core/components/main-nav/main-nav.component.mjs +2 -2
- package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +15 -5
- package/esm2022/core/components/user-menu/user-menu.component.mjs +3 -3
- package/esm2022/core/data/definitions/product-definitions.mjs +9 -1
- package/esm2022/core/data/providers/interceptor.mjs +1 -1
- package/esm2022/core/data/providers/product-data.service.mjs +7 -2
- package/esm2022/core/data/utils/transform-relation-custom-field-inputs.mjs +2 -2
- package/esm2022/core/providers/bulk-action-registry/bulk-action-types.mjs +1 -1
- package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +1 -1
- package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +2 -2
- package/esm2022/core/providers/local-storage/local-storage.service.mjs +1 -1
- package/esm2022/core/providers/page/page.service.mjs +1 -1
- package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +1 -1
- package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +2 -2
- package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +3 -3
- package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +1 -1
- package/esm2022/core/shared/components/chart/chart.component.mjs +6 -2
- package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
- package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +1 -1
- package/esm2022/core/shared/components/data-table/data-table.component.mjs +1 -1
- package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +24 -15
- package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +65 -24
- package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +1 -1
- package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +3 -3
- package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +1 -1
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +4 -3
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +16 -3
- package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +3 -1
- package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +7 -4
- package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +9 -8
- package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +3 -2
- package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +10 -5
- package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +1 -1
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +14 -15
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +1 -3
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +3 -3
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +3 -3
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +3 -3
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +2 -2
- package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +1 -1
- package/esm2022/core/shared/shared.module.mjs +9 -4
- package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +29 -29
- package/esm2022/customer/components/customer-list/customer-list.component.mjs +24 -24
- package/esm2022/customer/customer.module.mjs +9 -2
- package/esm2022/customer/customer.routes.mjs +1 -1
- package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +1 -1
- package/esm2022/dashboard/default-widgets.mjs +2 -1
- package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +1 -1
- package/esm2022/marketing/marketing.module.mjs +1 -1
- package/esm2022/order/components/order-detail/order-detail.component.mjs +8 -8
- package/esm2022/order/components/order-list/order-list.component.mjs +9 -2
- package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
- package/esm2022/order/order.module.mjs +1 -1
- package/esm2022/order/order.routes.mjs +1 -1
- package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +12 -11
- package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
- package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +8 -8
- package/esm2022/settings/settings.module.mjs +1 -1
- package/fesm2022/vendure-admin-ui-catalog.mjs +141 -81
- package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-core.mjs +203 -98
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-customer.mjs +58 -51
- package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-dashboard.mjs +2 -1
- package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-order.mjs +17 -10
- package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-settings.mjs +20 -19
- package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
- package/package.json +19 -19
- package/static/i18n-messages/cs.json +772 -770
- package/static/i18n-messages/de.json +773 -771
- package/static/i18n-messages/en.json +773 -771
- package/static/i18n-messages/es.json +773 -771
- package/static/i18n-messages/fr.json +773 -771
- package/static/i18n-messages/it.json +773 -771
- package/static/i18n-messages/pl.json +773 -771
- package/static/i18n-messages/pt_BR.json +773 -771
- package/static/i18n-messages/pt_PT.json +773 -771
- package/static/i18n-messages/ru.json +773 -771
- package/static/i18n-messages/uk.json +773 -771
- package/static/i18n-messages/zh_Hans.json +773 -771
- package/static/i18n-messages/zh_Hant.json +773 -771
- package/static/styles/global/_buttons.scss +63 -49
- package/static/styles/global/_forms.scss +5 -1
- package/static/styles/theme/default.scss +2 -0
- package/static/theme.min.css +1 -1
- package/catalog/components/product-variant-list/product-list-bulk-actions.d.ts +0 -3
- package/esm2022/catalog/components/product-variant-list/product-list-bulk-actions.mjs +0 -55
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
|
-
import { DataService, Dialog, GetCollectionListQuery, ItemOf } from '@vendure/admin-ui/core';
|
|
3
|
+
import { DataService, Dialog, GetCollectionListQuery, I18nService, ItemOf } from '@vendure/admin-ui/core';
|
|
4
4
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class MoveCollectionsDialogComponent implements OnInit, Dialog<ItemOf<GetCollectionListQuery, 'collections'>> {
|
|
7
7
|
private dataService;
|
|
8
|
+
private i18nService;
|
|
8
9
|
resolveWith: (result?: ItemOf<GetCollectionListQuery, 'collections'>) => void;
|
|
9
10
|
searchTermControl: FormControl<string | null>;
|
|
10
11
|
items$: Observable<Array<ItemOf<GetCollectionListQuery, 'collections'>>>;
|
|
@@ -14,7 +15,7 @@ export declare class MoveCollectionsDialogComponent implements OnInit, Dialog<It
|
|
|
14
15
|
expandedIds$: Subject<string[]>;
|
|
15
16
|
expandedIds: string[];
|
|
16
17
|
subCollections$: Observable<Array<ItemOf<GetCollectionListQuery, 'collections'>>>;
|
|
17
|
-
constructor(dataService: DataService);
|
|
18
|
+
constructor(dataService: DataService, i18nService: I18nService);
|
|
18
19
|
ngOnInit(): void;
|
|
19
20
|
toggleExpanded(collection: ItemOf<GetCollectionListQuery, 'collections'>): void;
|
|
20
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<MoveCollectionsDialogComponent, never>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BulkAction, GetProductVariantListQuery, ItemOf } from '@vendure/admin-ui/core';
|
|
2
|
+
import { ProductVariant } from 'package/core';
|
|
3
|
+
import { ProductVariantListComponent } from './product-variant-list.component';
|
|
4
|
+
export declare const assignProductVariantsToChannelBulkAction: BulkAction<ItemOf<GetProductVariantListQuery, 'productVariants'>, ProductVariantListComponent>;
|
|
5
|
+
export declare const removeProductVariantsFromChannelBulkAction: BulkAction<any, import("@vendure/admin-ui/core").BaseListComponent<any, any, any>>;
|
|
6
|
+
export declare const deleteProductVariantsBulkAction: BulkAction<ProductVariant, ProductVariantListComponent>;
|
package/catalog/public_api.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export * from './components/product-list/product-list.graphql';
|
|
|
34
34
|
export * from './components/product-options-editor/product-options-editor.component';
|
|
35
35
|
export * from './components/product-variant-detail/product-variant-detail.component';
|
|
36
36
|
export * from './components/product-variant-detail/product-variant-detail.graphql';
|
|
37
|
-
export * from './components/product-variant-list/product-list-bulk-actions';
|
|
37
|
+
export * from './components/product-variant-list/product-variant-list-bulk-actions';
|
|
38
38
|
export * from './components/product-variant-list/product-variant-list.component';
|
|
39
39
|
export * from './components/product-variant-list/product-variant-list.graphql';
|
|
40
40
|
export * from './components/product-variant-quick-jump/product-variant-quick-jump.component';
|
|
@@ -123,6 +123,7 @@ export declare function detailComponentWithResolver<T extends TypedDocumentNode<
|
|
|
123
123
|
query: T;
|
|
124
124
|
entityKey: R;
|
|
125
125
|
getBreadcrumbs?: (entity: ResultOf<T>[R]) => BreadcrumbValue;
|
|
126
|
+
variables?: T extends TypedDocumentNode<any, infer V> ? Omit<V, 'id'> : never;
|
|
126
127
|
}): {
|
|
127
128
|
resolveFn: ResolveFn<{
|
|
128
129
|
entity: Observable<ResultOf<T>[Field] | null>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
2
|
/**
|
|
3
3
|
* @description
|
|
4
4
|
* This interface should be implemented by any component being used as a custom input. For example,
|
|
@@ -29,7 +29,7 @@ export interface FormInputComponent<C = InputComponentConfig> {
|
|
|
29
29
|
*
|
|
30
30
|
* Full documentation can be found in the [Angular docs](https://angular.io/api/forms/FormControl).
|
|
31
31
|
*/
|
|
32
|
-
formControl:
|
|
32
|
+
formControl: FormControl;
|
|
33
33
|
/**
|
|
34
34
|
* @description
|
|
35
35
|
* The `config` property contains the full configuration object of the custom field or configurable argument.
|
|
@@ -14360,6 +14360,16 @@ export type DeleteProductVariantMutation = {
|
|
|
14360
14360
|
message?: string | null;
|
|
14361
14361
|
};
|
|
14362
14362
|
};
|
|
14363
|
+
export type DeleteProductVariantsMutationVariables = Exact<{
|
|
14364
|
+
ids: Array<Scalars['ID']> | Scalars['ID'];
|
|
14365
|
+
}>;
|
|
14366
|
+
export type DeleteProductVariantsMutation = {
|
|
14367
|
+
deleteProductVariants: Array<{
|
|
14368
|
+
__typename?: 'DeletionResponse';
|
|
14369
|
+
result: DeletionResult;
|
|
14370
|
+
message?: string | null;
|
|
14371
|
+
}>;
|
|
14372
|
+
};
|
|
14363
14373
|
export type GetProductVariantOptionsQueryVariables = Exact<{
|
|
14364
14374
|
id: Scalars['ID'];
|
|
14365
14375
|
}>;
|
|
@@ -24169,6 +24179,9 @@ export declare const DeleteProductOptionDocument: DocumentNode<DeleteProductOpti
|
|
|
24169
24179
|
export declare const DeleteProductVariantDocument: DocumentNode<DeleteProductVariantMutation, Exact<{
|
|
24170
24180
|
id: Scalars['ID'];
|
|
24171
24181
|
}>>;
|
|
24182
|
+
export declare const DeleteProductVariantsDocument: DocumentNode<DeleteProductVariantsMutation, Exact<{
|
|
24183
|
+
ids: Array<Scalars['ID']> | Scalars['ID'];
|
|
24184
|
+
}>>;
|
|
24172
24185
|
export declare const GetProductVariantOptionsDocument: DocumentNode<GetProductVariantOptionsQuery, Exact<{
|
|
24173
24186
|
id: Scalars['ID'];
|
|
24174
24187
|
}>>;
|
package/core/common/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const ADMIN_UI_VERSION = "2.0.
|
|
1
|
+
export declare const ADMIN_UI_VERSION = "2.0.3";
|
|
@@ -9,6 +9,7 @@ export declare class ThemeSwitcherComponent implements OnInit {
|
|
|
9
9
|
activeTheme$: Observable<string>;
|
|
10
10
|
constructor(dataService: DataService, localStorageService: LocalStorageService);
|
|
11
11
|
ngOnInit(): void;
|
|
12
|
+
onHostClick(): void;
|
|
12
13
|
toggleTheme(current: string): void;
|
|
13
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeSwitcherComponent, never>;
|
|
14
15
|
static ɵcmp: i0.ɵɵComponentDeclaration<ThemeSwitcherComponent, "vdr-theme-switcher", never, {}, {}, never, never, false, never>;
|
|
@@ -32,6 +32,7 @@ export declare const UPDATE_PRODUCT_OPTION_GROUP: import("apollo-angular").Typed
|
|
|
32
32
|
export declare const UPDATE_PRODUCT_OPTION: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
33
33
|
export declare const DELETE_PRODUCT_OPTION: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
34
34
|
export declare const DELETE_PRODUCT_VARIANT: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
35
|
+
export declare const DELETE_PRODUCT_VARIANTS: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
35
36
|
export declare const GET_PRODUCT_VARIANT_OPTIONS: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
36
37
|
export declare const ASSIGN_PRODUCTS_TO_CHANNEL: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
37
38
|
export declare const ASSIGN_VARIANTS_TO_CHANNEL: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
@@ -50,6 +50,7 @@ export declare class ProductDataService {
|
|
|
50
50
|
createProductVariants(input: Codegen.CreateProductVariantInput[]): import("rxjs").Observable<Codegen.CreateProductVariantsMutation>;
|
|
51
51
|
updateProductVariants(variants: Codegen.UpdateProductVariantInput[]): import("rxjs").Observable<Codegen.UpdateProductVariantsMutation>;
|
|
52
52
|
deleteProductVariant(id: string): import("rxjs").Observable<Codegen.DeleteProductVariantMutation>;
|
|
53
|
+
deleteProductVariants(ids: string[]): import("rxjs").Observable<Codegen.DeleteProductVariantsMutation>;
|
|
53
54
|
createProductOptionGroups(productOptionGroup: Codegen.CreateProductOptionGroupInput): import("rxjs").Observable<Codegen.CreateProductOptionGroupMutation>;
|
|
54
55
|
addOptionGroupToProduct(variables: Codegen.AddOptionGroupToProductMutationVariables): import("rxjs").Observable<Codegen.AddOptionGroupToProductMutation>;
|
|
55
56
|
addOptionToGroup(input: Codegen.CreateProductOptionInput): import("rxjs").Observable<Codegen.AddOptionToGroupMutation>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { LineChartOptions } from 'chartist';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export interface ChartFormatOptions {
|
|
4
5
|
formatValueAs: 'currency' | 'number';
|
|
@@ -12,6 +13,7 @@ export interface ChartEntry {
|
|
|
12
13
|
}
|
|
13
14
|
export declare class ChartComponent implements OnInit, OnChanges, OnDestroy {
|
|
14
15
|
entries: ChartEntry[];
|
|
16
|
+
options?: LineChartOptions;
|
|
15
17
|
private chartDivRef;
|
|
16
18
|
private chart;
|
|
17
19
|
ngOnInit(): void;
|
|
@@ -19,5 +21,5 @@ export declare class ChartComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
19
21
|
ngOnDestroy(): void;
|
|
20
22
|
private entriesToLineChartData;
|
|
21
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChartComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "vdr-chart", never, { "entries": { "alias": "entries"; "required": false; }; }, {}, never, never, false, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "vdr-chart", never, { "entries": { "alias": "entries"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
|
|
23
25
|
}
|
|
@@ -19,6 +19,7 @@ export declare class DataTableFiltersComponent implements AfterViewInit {
|
|
|
19
19
|
protected formControl: AbstractControl;
|
|
20
20
|
protected selectedFilter: DataTableFilter | undefined;
|
|
21
21
|
protected customComponent?: ComponentRef<FormInputComponent>;
|
|
22
|
+
onFKeyPress(event: KeyboardEvent): void;
|
|
22
23
|
constructor(i18nService: I18nService, changeDetectorRef: ChangeDetectorRef);
|
|
23
24
|
ngAfterViewInit(): void;
|
|
24
25
|
selectFilter(filter: DataTableFilter, value?: any): void;
|
|
@@ -22,6 +22,8 @@ export declare class DropdownMenuComponent implements AfterViewInit, OnInit, OnD
|
|
|
22
22
|
private menuPortal;
|
|
23
23
|
private overlayRef;
|
|
24
24
|
private backdropClickSub;
|
|
25
|
+
onEscapeKeydown(event: KeyboardEvent): void;
|
|
26
|
+
onArrowKey(event: KeyboardEvent): void;
|
|
25
27
|
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, dropdown: DropdownComponent);
|
|
26
28
|
ngOnInit(): void;
|
|
27
29
|
ngAfterViewInit(): void;
|
|
@@ -14,6 +14,11 @@ export declare class ProsemirrorService {
|
|
|
14
14
|
editorView: EditorView;
|
|
15
15
|
private mySchema;
|
|
16
16
|
private enabled;
|
|
17
|
+
/**
|
|
18
|
+
* This is a Document used for processing incoming text. It ensures that malicious HTML is not executed by the
|
|
19
|
+
* actual document that is attached to the browser DOM, which could cause XSS attacks.
|
|
20
|
+
*/
|
|
21
|
+
private detachedDoc;
|
|
17
22
|
constructor(injector: Injector, contextMenuService: ContextMenuService);
|
|
18
23
|
contextMenuItems$: Observable<string>;
|
|
19
24
|
createEditorView(options: CreateEditorViewOptions): void;
|
|
@@ -23,6 +28,7 @@ export declare class ProsemirrorService {
|
|
|
23
28
|
private getStateFromText;
|
|
24
29
|
private getTextFromState;
|
|
25
30
|
private configurePlugins;
|
|
31
|
+
private getDetachedDoc;
|
|
26
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProsemirrorService, never>;
|
|
27
33
|
static ɵprov: i0.ɵɵInjectableDeclaration<ProsemirrorService>;
|
|
28
34
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
3
|
import { DefaultFormComponentConfig, DefaultFormComponentId } from '@vendure/common/lib/shared-types';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { ItemOf } from '../../../common/base-list.component';
|
|
@@ -19,12 +19,15 @@ export declare class CustomerGroupFormInputComponent implements FormInputCompone
|
|
|
19
19
|
private dataService;
|
|
20
20
|
static readonly id: DefaultFormComponentId;
|
|
21
21
|
readonly: boolean;
|
|
22
|
-
formControl:
|
|
22
|
+
formControl: FormControl<string | {
|
|
23
|
+
id: string;
|
|
24
|
+
}>;
|
|
23
25
|
customerGroups$: Observable<GetCustomerGroupsQuery['customerGroups']['items']>;
|
|
24
26
|
config: DefaultFormComponentConfig<'customer-group-form-input'>;
|
|
25
27
|
constructor(dataService: DataService);
|
|
26
28
|
ngOnInit(): void;
|
|
27
29
|
selectGroup(group: ItemOf<GetCustomerGroupsQuery, 'customerGroups'>): void;
|
|
30
|
+
compareWith(o1: ItemOf<GetCustomerGroupsQuery, 'customerGroups'>, o2: ItemOf<GetCustomerGroupsQuery, 'customerGroups'>): boolean;
|
|
28
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<CustomerGroupFormInputComponent, never>;
|
|
29
32
|
static ɵcmp: i0.ɵɵComponentDeclaration<CustomerGroupFormInputComponent, "vdr-customer-group-form-input", never, { "readonly": { "alias": "readonly"; "required": false; }; }, {}, never, never, false, never>;
|
|
30
33
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
3
|
import { DefaultFormComponentConfig, DefaultFormComponentId } from '@vendure/common/lib/shared-types';
|
|
4
4
|
import { FormInputComponent } from '../../../common/component-registry-types';
|
|
5
5
|
import { DataService } from '../../../data/providers/data.service';
|
|
@@ -10,7 +10,9 @@ export declare class ProductMultiSelectorFormInputComponent implements OnInit, F
|
|
|
10
10
|
private dataService;
|
|
11
11
|
private changeDetector;
|
|
12
12
|
config: DefaultFormComponentConfig<'product-multi-form-input'>;
|
|
13
|
-
formControl:
|
|
13
|
+
formControl: FormControl<string[] | Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
}>>;
|
|
14
16
|
readonly: boolean;
|
|
15
17
|
mode: 'product' | 'variant';
|
|
16
18
|
readonly isListInput = true;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { DefaultFormComponentId } from '@vendure/common/lib/shared-types';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { DefaultFormComponentId, DefaultFormComponentUiConfig } from '@vendure/common/lib/shared-types';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
|
-
import { FormInputComponent
|
|
5
|
+
import { FormInputComponent } from '../../../common/component-registry-types';
|
|
6
6
|
import { GetProductVariantQuery, ProductSelectorSearchQuery } from '../../../common/generated-types';
|
|
7
7
|
import { DataService } from '../../../data/providers/data.service';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -19,13 +19,16 @@ export declare class ProductSelectorFormInputComponent implements FormInputCompo
|
|
|
19
19
|
static readonly id: DefaultFormComponentId;
|
|
20
20
|
readonly isListInput = true;
|
|
21
21
|
readonly: boolean;
|
|
22
|
-
formControl:
|
|
23
|
-
|
|
22
|
+
formControl: FormControl<Array<string | {
|
|
23
|
+
id: string;
|
|
24
|
+
}>>;
|
|
25
|
+
config: DefaultFormComponentUiConfig<'product-selector-form-input'>;
|
|
24
26
|
selection$: Observable<Array<GetProductVariantQuery['productVariant']>>;
|
|
25
27
|
constructor(dataService: DataService);
|
|
26
28
|
ngOnInit(): void;
|
|
27
29
|
addProductVariant(product: ProductSelectorSearchQuery['search']['items'][number]): void;
|
|
28
30
|
removeProductVariant(id: string): void;
|
|
31
|
+
private getId;
|
|
29
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProductSelectorFormInputComponent, never>;
|
|
30
33
|
static ɵcmp: i0.ɵɵComponentDeclaration<ProductSelectorFormInputComponent, "vdr-product-selector-form-input", never, {}, {}, never, never, false, never>;
|
|
31
34
|
}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { UntypedFormControl } from '@angular/forms';
|
|
3
|
-
import { DefaultFormComponentId } from '@vendure/common/lib/shared-types';
|
|
4
3
|
import { Observable } from 'rxjs';
|
|
5
|
-
import { FormInputComponent } from '../../../../common/component-registry-types';
|
|
6
4
|
import { GetAssetQuery, RelationCustomFieldConfig } from '../../../../common/generated-types';
|
|
7
5
|
import { DataService } from '../../../../data/providers/data.service';
|
|
8
6
|
import { ModalService } from '../../../../providers/modal/modal.service';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
8
|
export declare const RELATION_ASSET_INPUT_QUERY: import("apollo-angular").TypedDocumentNode<unknown, unknown>;
|
|
11
|
-
export declare class RelationAssetInputComponent implements
|
|
9
|
+
export declare class RelationAssetInputComponent implements OnInit {
|
|
12
10
|
private modalService;
|
|
13
11
|
private dataService;
|
|
14
|
-
static readonly id: DefaultFormComponentId;
|
|
15
12
|
readonly: boolean;
|
|
16
13
|
formControl: UntypedFormControl;
|
|
17
14
|
config: RelationCustomFieldConfig;
|
|
@@ -13,7 +13,6 @@ export declare class RelationCustomerInputComponent implements OnInit {
|
|
|
13
13
|
parentFormControl: UntypedFormControl;
|
|
14
14
|
config: RelationCustomFieldConfig;
|
|
15
15
|
template: TemplateRef<any>;
|
|
16
|
-
searchControl: UntypedFormControl;
|
|
17
16
|
searchTerm$: Subject<string>;
|
|
18
17
|
results$: Observable<Codegen.GetCustomerListQuery['customers']['items']>;
|
|
19
18
|
get customer(): CustomerFragment | undefined;
|
|
@@ -155,8 +155,9 @@ import * as i150 from "ngx-pagination";
|
|
|
155
155
|
import * as i151 from "@ngx-translate/core";
|
|
156
156
|
import * as i152 from "@angular/cdk/overlay";
|
|
157
157
|
import * as i153 from "@angular/cdk/drag-drop";
|
|
158
|
+
import * as i154 from "@angular/cdk/a11y";
|
|
158
159
|
export declare class SharedModule {
|
|
159
160
|
static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
|
|
160
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, [typeof i1.ActionBarComponent, typeof i1.ActionBarLeftComponent, typeof i1.ActionBarRightComponent, typeof i2.AssetPreviewComponent, typeof i3.AssetPreviewDialogComponent, typeof i4.AssetSearchInputComponent, typeof i5.ConfigurableInputComponent, typeof i6.AffixedInputComponent, typeof i7.ChipComponent, typeof i8.CurrencyInputComponent, typeof i9.LocaleCurrencyNamePipe, typeof i10.CustomerLabelComponent, typeof i11.CustomFieldControlComponent, typeof i12.DataTableComponent, typeof i13.DataTableColumnComponent, typeof i14.FacetValueSelectorComponent, typeof i15.ItemsPerPageControlsComponent, typeof i16.PaginationControlsComponent, typeof i17.TableRowActionComponent, typeof i18.FacetValueChipComponent, typeof i19.FileSizePipe, typeof i20.FormFieldComponent, typeof i21.FormFieldControlDirective, typeof i22.FormItemComponent, typeof i23.ModalDialogComponent, typeof i24.PercentageSuffixInputComponent, typeof i25.DialogComponentOutletComponent, typeof i26.DialogButtonsDirective, typeof i27.DialogTitleDirective, typeof i28.SelectToggleComponent, typeof i29.LanguageSelectorComponent, typeof i30.RichTextEditorComponent, typeof i31.SimpleDialogComponent, typeof i32.TitleInputComponent, typeof i33.SentenceCasePipe, typeof i34.DropdownComponent, typeof i35.DropdownMenuComponent, typeof i36.SortPipe, typeof i37.DropdownTriggerDirective, typeof i38.DropdownItemDirective, typeof i39.OrderStateLabelComponent, typeof i40.FormattedAddressComponent, typeof i41.LabeledDataComponent, typeof i42.StringToColorPipe, typeof i43.ObjectTreeComponent, typeof i44.IfPermissionsDirective, typeof i45.IfMultichannelDirective, typeof i46.HasPermissionPipe, typeof i47.ActionBarItemsComponent, typeof i48.DisabledDirective, typeof i49.AssetFileInputComponent, typeof i50.AssetGalleryComponent, typeof i51.AssetPickerDialogComponent, typeof i52.EntityInfoComponent, typeof i53.DatetimePickerComponent, typeof i54.ChannelBadgeComponent, typeof i55.ChannelAssignmentControlComponent, typeof i56.ChannelLabelPipe, typeof i57.IfDefaultChannelActiveDirective, typeof i58.ExtensionHostComponent, typeof i59.CustomFieldLabelPipe, typeof i60.CustomFieldDescriptionPipe, typeof i61.FocalPointControlComponent, typeof i62.AssetPreviewPipe, typeof i63.LinkDialogComponent, typeof i64.ExternalImageDialogComponent, typeof i65.TimeAgoPipe, typeof i66.DurationPipe, typeof i67.EmptyPlaceholderComponent, typeof i68.TimelineEntryComponent, typeof i69.HistoryEntryDetailComponent, typeof i70.EditNoteDialogComponent, typeof i71.ProductSelectorFormInputComponent, typeof i72.StateI18nTokenPipe, typeof i73.ProductVariantSelectorComponent, typeof i74.HelpTooltipComponent, typeof i75.CustomerGroupFormInputComponent, typeof i76.AddressFormComponent, typeof i77.LocaleDatePipe, typeof i78.LocaleCurrencyPipe, typeof i79.LocaleLanguageNamePipe, typeof i80.LocaleRegionNamePipe, typeof i81.TagSelectorComponent, typeof i82.ManageTagsDialogComponent, typeof i83.RelationSelectorDialogComponent, typeof i84.RelationCardComponent, typeof i85.StatusBadgeComponent, typeof i86.TabbedCustomFieldsComponent, typeof i87.UiExtensionPointComponent, typeof i88.CustomDetailComponentHostComponent, typeof i89.AssetPreviewLinksComponent, typeof i90.ProductMultiSelectorDialogComponent, typeof i91.ProductSearchInputComponent, typeof i92.ContextMenuComponent, typeof i93.RawHtmlDialogComponent, typeof i94.BulkActionMenuComponent, typeof i95.RadioCardComponent, typeof i96.RadioCardFieldsetComponent, typeof i97.DataTable2Component, typeof i98.DataTable2ColumnComponent, typeof i99.DataTableFiltersComponent, typeof i100.DataTableFilterLabelComponent, typeof i101.DataTableColumnPickerComponent, typeof i102.DataTable2SearchComponent, typeof i103.DataTableCustomFieldColumnComponent, typeof i104.SplitViewComponent, typeof i105.SplitViewLeftDirective, typeof i105.SplitViewRightDirective, typeof i106.PageComponent, typeof i107.CustomFilterComponentDirective, typeof i108.PageHeaderComponent, typeof i109.PageTitleComponent, typeof i110.PageHeaderDescriptionComponent, typeof i111.PageHeaderTabsComponent, typeof i112.PageBodyComponent, typeof i113.PageBlockComponent, typeof i114.PageEntityInfoComponent, typeof i115.LocalizedTextComponent, typeof i116.PageDetailLayoutComponent, typeof i117.PageDetailSidebarComponent, typeof i118.CardComponent, typeof i118.CardControlsDirective, typeof i119.ZoneSelectorComponent, typeof i120.ChartComponent, typeof i121.AssignToChannelDialogComponent, typeof i122.CurrencyCodeSelectorComponent, typeof i123.LanguageCodeSelectorComponent, typeof i124.TextFormInputComponent, typeof i125.PasswordFormInputComponent, typeof i126.NumberFormInputComponent, typeof i127.DateFormInputComponent, typeof i128.CurrencyFormInputComponent, typeof i129.BooleanFormInputComponent, typeof i130.SelectFormInputComponent, typeof i131.FacetValueFormInputComponent, typeof i132.DynamicFormInputComponent, typeof i133.RelationFormInputComponent, typeof i134.RelationAssetInputComponent, typeof i135.RelationProductInputComponent, typeof i136.RelationProductVariantInputComponent, typeof i137.RelationCustomerInputComponent, typeof i84.RelationCardPreviewDirective, typeof i84.RelationCardDetailDirective, typeof i83.RelationSelectorDialogComponent, typeof i138.RelationGenericInputComponent, typeof i139.TextareaFormInputComponent, typeof i140.RichTextFormInputComponent, typeof i141.JsonEditorFormInputComponent, typeof i142.HtmlEditorFormInputComponent, typeof i143.ProductMultiSelectorFormInputComponent, typeof i144.CombinationModeFormInputComponent], [typeof i145.ClarityModule, typeof i146.CommonModule, typeof i147.FormsModule, typeof i147.ReactiveFormsModule, typeof i148.RouterModule, typeof i149.NgSelectModule, typeof i150.NgxPaginationModule, typeof i151.TranslateModule, typeof i152.OverlayModule, typeof i153.DragDropModule], [typeof i145.ClarityModule, typeof i146.CommonModule, typeof i147.FormsModule, typeof i147.ReactiveFormsModule, typeof i148.RouterModule, typeof i149.NgSelectModule, typeof i150.NgxPaginationModule, typeof i151.TranslateModule, typeof i152.OverlayModule, typeof i153.DragDropModule, typeof i1.ActionBarComponent, typeof i1.ActionBarLeftComponent, typeof i1.ActionBarRightComponent, typeof i2.AssetPreviewComponent, typeof i3.AssetPreviewDialogComponent, typeof i4.AssetSearchInputComponent, typeof i5.ConfigurableInputComponent, typeof i6.AffixedInputComponent, typeof i7.ChipComponent, typeof i8.CurrencyInputComponent, typeof i9.LocaleCurrencyNamePipe, typeof i10.CustomerLabelComponent, typeof i11.CustomFieldControlComponent, typeof i12.DataTableComponent, typeof i13.DataTableColumnComponent, typeof i14.FacetValueSelectorComponent, typeof i15.ItemsPerPageControlsComponent, typeof i16.PaginationControlsComponent, typeof i17.TableRowActionComponent, typeof i18.FacetValueChipComponent, typeof i19.FileSizePipe, typeof i20.FormFieldComponent, typeof i21.FormFieldControlDirective, typeof i22.FormItemComponent, typeof i23.ModalDialogComponent, typeof i24.PercentageSuffixInputComponent, typeof i25.DialogComponentOutletComponent, typeof i26.DialogButtonsDirective, typeof i27.DialogTitleDirective, typeof i28.SelectToggleComponent, typeof i29.LanguageSelectorComponent, typeof i30.RichTextEditorComponent, typeof i31.SimpleDialogComponent, typeof i32.TitleInputComponent, typeof i33.SentenceCasePipe, typeof i34.DropdownComponent, typeof i35.DropdownMenuComponent, typeof i36.SortPipe, typeof i37.DropdownTriggerDirective, typeof i38.DropdownItemDirective, typeof i39.OrderStateLabelComponent, typeof i40.FormattedAddressComponent, typeof i41.LabeledDataComponent, typeof i42.StringToColorPipe, typeof i43.ObjectTreeComponent, typeof i44.IfPermissionsDirective, typeof i45.IfMultichannelDirective, typeof i46.HasPermissionPipe, typeof i47.ActionBarItemsComponent, typeof i48.DisabledDirective, typeof i49.AssetFileInputComponent, typeof i50.AssetGalleryComponent, typeof i51.AssetPickerDialogComponent, typeof i52.EntityInfoComponent, typeof i53.DatetimePickerComponent, typeof i54.ChannelBadgeComponent, typeof i55.ChannelAssignmentControlComponent, typeof i56.ChannelLabelPipe, typeof i57.IfDefaultChannelActiveDirective, typeof i58.ExtensionHostComponent, typeof i59.CustomFieldLabelPipe, typeof i60.CustomFieldDescriptionPipe, typeof i61.FocalPointControlComponent, typeof i62.AssetPreviewPipe, typeof i63.LinkDialogComponent, typeof i64.ExternalImageDialogComponent, typeof i65.TimeAgoPipe, typeof i66.DurationPipe, typeof i67.EmptyPlaceholderComponent, typeof i68.TimelineEntryComponent, typeof i69.HistoryEntryDetailComponent, typeof i70.EditNoteDialogComponent, typeof i71.ProductSelectorFormInputComponent, typeof i72.StateI18nTokenPipe, typeof i73.ProductVariantSelectorComponent, typeof i74.HelpTooltipComponent, typeof i75.CustomerGroupFormInputComponent, typeof i76.AddressFormComponent, typeof i77.LocaleDatePipe, typeof i78.LocaleCurrencyPipe, typeof i79.LocaleLanguageNamePipe, typeof i80.LocaleRegionNamePipe, typeof i81.TagSelectorComponent, typeof i82.ManageTagsDialogComponent, typeof i83.RelationSelectorDialogComponent, typeof i84.RelationCardComponent, typeof i85.StatusBadgeComponent, typeof i86.TabbedCustomFieldsComponent, typeof i87.UiExtensionPointComponent, typeof i88.CustomDetailComponentHostComponent, typeof i89.AssetPreviewLinksComponent, typeof i90.ProductMultiSelectorDialogComponent, typeof i91.ProductSearchInputComponent, typeof i92.ContextMenuComponent, typeof i93.RawHtmlDialogComponent, typeof i94.BulkActionMenuComponent, typeof i95.RadioCardComponent, typeof i96.RadioCardFieldsetComponent, typeof i97.DataTable2Component, typeof i98.DataTable2ColumnComponent, typeof i99.DataTableFiltersComponent, typeof i100.DataTableFilterLabelComponent, typeof i101.DataTableColumnPickerComponent, typeof i102.DataTable2SearchComponent, typeof i103.DataTableCustomFieldColumnComponent, typeof i104.SplitViewComponent, typeof i105.SplitViewLeftDirective, typeof i105.SplitViewRightDirective, typeof i106.PageComponent, typeof i107.CustomFilterComponentDirective, typeof i108.PageHeaderComponent, typeof i109.PageTitleComponent, typeof i110.PageHeaderDescriptionComponent, typeof i111.PageHeaderTabsComponent, typeof i112.PageBodyComponent, typeof i113.PageBlockComponent, typeof i114.PageEntityInfoComponent, typeof i115.LocalizedTextComponent, typeof i116.PageDetailLayoutComponent, typeof i117.PageDetailSidebarComponent, typeof i118.CardComponent, typeof i118.CardControlsDirective, typeof i119.ZoneSelectorComponent, typeof i120.ChartComponent, typeof i121.AssignToChannelDialogComponent, typeof i122.CurrencyCodeSelectorComponent, typeof i123.LanguageCodeSelectorComponent, typeof i124.TextFormInputComponent, typeof i125.PasswordFormInputComponent, typeof i126.NumberFormInputComponent, typeof i127.DateFormInputComponent, typeof i128.CurrencyFormInputComponent, typeof i129.BooleanFormInputComponent, typeof i130.SelectFormInputComponent, typeof i131.FacetValueFormInputComponent, typeof i132.DynamicFormInputComponent, typeof i133.RelationFormInputComponent, typeof i134.RelationAssetInputComponent, typeof i135.RelationProductInputComponent, typeof i136.RelationProductVariantInputComponent, typeof i137.RelationCustomerInputComponent, typeof i84.RelationCardPreviewDirective, typeof i84.RelationCardDetailDirective, typeof i83.RelationSelectorDialogComponent, typeof i138.RelationGenericInputComponent, typeof i139.TextareaFormInputComponent, typeof i140.RichTextFormInputComponent, typeof i141.JsonEditorFormInputComponent, typeof i142.HtmlEditorFormInputComponent, typeof i143.ProductMultiSelectorFormInputComponent, typeof i144.CombinationModeFormInputComponent]>;
|
|
161
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, [typeof i1.ActionBarComponent, typeof i1.ActionBarLeftComponent, typeof i1.ActionBarRightComponent, typeof i2.AssetPreviewComponent, typeof i3.AssetPreviewDialogComponent, typeof i4.AssetSearchInputComponent, typeof i5.ConfigurableInputComponent, typeof i6.AffixedInputComponent, typeof i7.ChipComponent, typeof i8.CurrencyInputComponent, typeof i9.LocaleCurrencyNamePipe, typeof i10.CustomerLabelComponent, typeof i11.CustomFieldControlComponent, typeof i12.DataTableComponent, typeof i13.DataTableColumnComponent, typeof i14.FacetValueSelectorComponent, typeof i15.ItemsPerPageControlsComponent, typeof i16.PaginationControlsComponent, typeof i17.TableRowActionComponent, typeof i18.FacetValueChipComponent, typeof i19.FileSizePipe, typeof i20.FormFieldComponent, typeof i21.FormFieldControlDirective, typeof i22.FormItemComponent, typeof i23.ModalDialogComponent, typeof i24.PercentageSuffixInputComponent, typeof i25.DialogComponentOutletComponent, typeof i26.DialogButtonsDirective, typeof i27.DialogTitleDirective, typeof i28.SelectToggleComponent, typeof i29.LanguageSelectorComponent, typeof i30.RichTextEditorComponent, typeof i31.SimpleDialogComponent, typeof i32.TitleInputComponent, typeof i33.SentenceCasePipe, typeof i34.DropdownComponent, typeof i35.DropdownMenuComponent, typeof i36.SortPipe, typeof i37.DropdownTriggerDirective, typeof i38.DropdownItemDirective, typeof i39.OrderStateLabelComponent, typeof i40.FormattedAddressComponent, typeof i41.LabeledDataComponent, typeof i42.StringToColorPipe, typeof i43.ObjectTreeComponent, typeof i44.IfPermissionsDirective, typeof i45.IfMultichannelDirective, typeof i46.HasPermissionPipe, typeof i47.ActionBarItemsComponent, typeof i48.DisabledDirective, typeof i49.AssetFileInputComponent, typeof i50.AssetGalleryComponent, typeof i51.AssetPickerDialogComponent, typeof i52.EntityInfoComponent, typeof i53.DatetimePickerComponent, typeof i54.ChannelBadgeComponent, typeof i55.ChannelAssignmentControlComponent, typeof i56.ChannelLabelPipe, typeof i57.IfDefaultChannelActiveDirective, typeof i58.ExtensionHostComponent, typeof i59.CustomFieldLabelPipe, typeof i60.CustomFieldDescriptionPipe, typeof i61.FocalPointControlComponent, typeof i62.AssetPreviewPipe, typeof i63.LinkDialogComponent, typeof i64.ExternalImageDialogComponent, typeof i65.TimeAgoPipe, typeof i66.DurationPipe, typeof i67.EmptyPlaceholderComponent, typeof i68.TimelineEntryComponent, typeof i69.HistoryEntryDetailComponent, typeof i70.EditNoteDialogComponent, typeof i71.ProductSelectorFormInputComponent, typeof i72.StateI18nTokenPipe, typeof i73.ProductVariantSelectorComponent, typeof i74.HelpTooltipComponent, typeof i75.CustomerGroupFormInputComponent, typeof i76.AddressFormComponent, typeof i77.LocaleDatePipe, typeof i78.LocaleCurrencyPipe, typeof i79.LocaleLanguageNamePipe, typeof i80.LocaleRegionNamePipe, typeof i81.TagSelectorComponent, typeof i82.ManageTagsDialogComponent, typeof i83.RelationSelectorDialogComponent, typeof i84.RelationCardComponent, typeof i85.StatusBadgeComponent, typeof i86.TabbedCustomFieldsComponent, typeof i87.UiExtensionPointComponent, typeof i88.CustomDetailComponentHostComponent, typeof i89.AssetPreviewLinksComponent, typeof i90.ProductMultiSelectorDialogComponent, typeof i91.ProductSearchInputComponent, typeof i92.ContextMenuComponent, typeof i93.RawHtmlDialogComponent, typeof i94.BulkActionMenuComponent, typeof i95.RadioCardComponent, typeof i96.RadioCardFieldsetComponent, typeof i97.DataTable2Component, typeof i98.DataTable2ColumnComponent, typeof i99.DataTableFiltersComponent, typeof i100.DataTableFilterLabelComponent, typeof i101.DataTableColumnPickerComponent, typeof i102.DataTable2SearchComponent, typeof i103.DataTableCustomFieldColumnComponent, typeof i104.SplitViewComponent, typeof i105.SplitViewLeftDirective, typeof i105.SplitViewRightDirective, typeof i106.PageComponent, typeof i107.CustomFilterComponentDirective, typeof i108.PageHeaderComponent, typeof i109.PageTitleComponent, typeof i110.PageHeaderDescriptionComponent, typeof i111.PageHeaderTabsComponent, typeof i112.PageBodyComponent, typeof i113.PageBlockComponent, typeof i114.PageEntityInfoComponent, typeof i115.LocalizedTextComponent, typeof i116.PageDetailLayoutComponent, typeof i117.PageDetailSidebarComponent, typeof i118.CardComponent, typeof i118.CardControlsDirective, typeof i119.ZoneSelectorComponent, typeof i120.ChartComponent, typeof i121.AssignToChannelDialogComponent, typeof i122.CurrencyCodeSelectorComponent, typeof i123.LanguageCodeSelectorComponent, typeof i124.TextFormInputComponent, typeof i125.PasswordFormInputComponent, typeof i126.NumberFormInputComponent, typeof i127.DateFormInputComponent, typeof i128.CurrencyFormInputComponent, typeof i129.BooleanFormInputComponent, typeof i130.SelectFormInputComponent, typeof i131.FacetValueFormInputComponent, typeof i132.DynamicFormInputComponent, typeof i133.RelationFormInputComponent, typeof i134.RelationAssetInputComponent, typeof i135.RelationProductInputComponent, typeof i136.RelationProductVariantInputComponent, typeof i137.RelationCustomerInputComponent, typeof i84.RelationCardPreviewDirective, typeof i84.RelationCardDetailDirective, typeof i83.RelationSelectorDialogComponent, typeof i138.RelationGenericInputComponent, typeof i139.TextareaFormInputComponent, typeof i140.RichTextFormInputComponent, typeof i141.JsonEditorFormInputComponent, typeof i142.HtmlEditorFormInputComponent, typeof i143.ProductMultiSelectorFormInputComponent, typeof i144.CombinationModeFormInputComponent], [typeof i145.ClarityModule, typeof i146.CommonModule, typeof i147.FormsModule, typeof i147.ReactiveFormsModule, typeof i148.RouterModule, typeof i149.NgSelectModule, typeof i150.NgxPaginationModule, typeof i151.TranslateModule, typeof i152.OverlayModule, typeof i153.DragDropModule, typeof i154.A11yModule], [typeof i145.ClarityModule, typeof i146.CommonModule, typeof i147.FormsModule, typeof i147.ReactiveFormsModule, typeof i148.RouterModule, typeof i149.NgSelectModule, typeof i150.NgxPaginationModule, typeof i151.TranslateModule, typeof i152.OverlayModule, typeof i153.DragDropModule, typeof i154.A11yModule, typeof i1.ActionBarComponent, typeof i1.ActionBarLeftComponent, typeof i1.ActionBarRightComponent, typeof i2.AssetPreviewComponent, typeof i3.AssetPreviewDialogComponent, typeof i4.AssetSearchInputComponent, typeof i5.ConfigurableInputComponent, typeof i6.AffixedInputComponent, typeof i7.ChipComponent, typeof i8.CurrencyInputComponent, typeof i9.LocaleCurrencyNamePipe, typeof i10.CustomerLabelComponent, typeof i11.CustomFieldControlComponent, typeof i12.DataTableComponent, typeof i13.DataTableColumnComponent, typeof i14.FacetValueSelectorComponent, typeof i15.ItemsPerPageControlsComponent, typeof i16.PaginationControlsComponent, typeof i17.TableRowActionComponent, typeof i18.FacetValueChipComponent, typeof i19.FileSizePipe, typeof i20.FormFieldComponent, typeof i21.FormFieldControlDirective, typeof i22.FormItemComponent, typeof i23.ModalDialogComponent, typeof i24.PercentageSuffixInputComponent, typeof i25.DialogComponentOutletComponent, typeof i26.DialogButtonsDirective, typeof i27.DialogTitleDirective, typeof i28.SelectToggleComponent, typeof i29.LanguageSelectorComponent, typeof i30.RichTextEditorComponent, typeof i31.SimpleDialogComponent, typeof i32.TitleInputComponent, typeof i33.SentenceCasePipe, typeof i34.DropdownComponent, typeof i35.DropdownMenuComponent, typeof i36.SortPipe, typeof i37.DropdownTriggerDirective, typeof i38.DropdownItemDirective, typeof i39.OrderStateLabelComponent, typeof i40.FormattedAddressComponent, typeof i41.LabeledDataComponent, typeof i42.StringToColorPipe, typeof i43.ObjectTreeComponent, typeof i44.IfPermissionsDirective, typeof i45.IfMultichannelDirective, typeof i46.HasPermissionPipe, typeof i47.ActionBarItemsComponent, typeof i48.DisabledDirective, typeof i49.AssetFileInputComponent, typeof i50.AssetGalleryComponent, typeof i51.AssetPickerDialogComponent, typeof i52.EntityInfoComponent, typeof i53.DatetimePickerComponent, typeof i54.ChannelBadgeComponent, typeof i55.ChannelAssignmentControlComponent, typeof i56.ChannelLabelPipe, typeof i57.IfDefaultChannelActiveDirective, typeof i58.ExtensionHostComponent, typeof i59.CustomFieldLabelPipe, typeof i60.CustomFieldDescriptionPipe, typeof i61.FocalPointControlComponent, typeof i62.AssetPreviewPipe, typeof i63.LinkDialogComponent, typeof i64.ExternalImageDialogComponent, typeof i65.TimeAgoPipe, typeof i66.DurationPipe, typeof i67.EmptyPlaceholderComponent, typeof i68.TimelineEntryComponent, typeof i69.HistoryEntryDetailComponent, typeof i70.EditNoteDialogComponent, typeof i71.ProductSelectorFormInputComponent, typeof i72.StateI18nTokenPipe, typeof i73.ProductVariantSelectorComponent, typeof i74.HelpTooltipComponent, typeof i75.CustomerGroupFormInputComponent, typeof i76.AddressFormComponent, typeof i77.LocaleDatePipe, typeof i78.LocaleCurrencyPipe, typeof i79.LocaleLanguageNamePipe, typeof i80.LocaleRegionNamePipe, typeof i81.TagSelectorComponent, typeof i82.ManageTagsDialogComponent, typeof i83.RelationSelectorDialogComponent, typeof i84.RelationCardComponent, typeof i85.StatusBadgeComponent, typeof i86.TabbedCustomFieldsComponent, typeof i87.UiExtensionPointComponent, typeof i88.CustomDetailComponentHostComponent, typeof i89.AssetPreviewLinksComponent, typeof i90.ProductMultiSelectorDialogComponent, typeof i91.ProductSearchInputComponent, typeof i92.ContextMenuComponent, typeof i93.RawHtmlDialogComponent, typeof i94.BulkActionMenuComponent, typeof i95.RadioCardComponent, typeof i96.RadioCardFieldsetComponent, typeof i97.DataTable2Component, typeof i98.DataTable2ColumnComponent, typeof i99.DataTableFiltersComponent, typeof i100.DataTableFilterLabelComponent, typeof i101.DataTableColumnPickerComponent, typeof i102.DataTable2SearchComponent, typeof i103.DataTableCustomFieldColumnComponent, typeof i104.SplitViewComponent, typeof i105.SplitViewLeftDirective, typeof i105.SplitViewRightDirective, typeof i106.PageComponent, typeof i107.CustomFilterComponentDirective, typeof i108.PageHeaderComponent, typeof i109.PageTitleComponent, typeof i110.PageHeaderDescriptionComponent, typeof i111.PageHeaderTabsComponent, typeof i112.PageBodyComponent, typeof i113.PageBlockComponent, typeof i114.PageEntityInfoComponent, typeof i115.LocalizedTextComponent, typeof i116.PageDetailLayoutComponent, typeof i117.PageDetailSidebarComponent, typeof i118.CardComponent, typeof i118.CardControlsDirective, typeof i119.ZoneSelectorComponent, typeof i120.ChartComponent, typeof i121.AssignToChannelDialogComponent, typeof i122.CurrencyCodeSelectorComponent, typeof i123.LanguageCodeSelectorComponent, typeof i124.TextFormInputComponent, typeof i125.PasswordFormInputComponent, typeof i126.NumberFormInputComponent, typeof i127.DateFormInputComponent, typeof i128.CurrencyFormInputComponent, typeof i129.BooleanFormInputComponent, typeof i130.SelectFormInputComponent, typeof i131.FacetValueFormInputComponent, typeof i132.DynamicFormInputComponent, typeof i133.RelationFormInputComponent, typeof i134.RelationAssetInputComponent, typeof i135.RelationProductInputComponent, typeof i136.RelationProductVariantInputComponent, typeof i137.RelationCustomerInputComponent, typeof i84.RelationCardPreviewDirective, typeof i84.RelationCardDetailDirective, typeof i83.RelationSelectorDialogComponent, typeof i138.RelationGenericInputComponent, typeof i139.TextareaFormInputComponent, typeof i140.RichTextFormInputComponent, typeof i141.JsonEditorFormInputComponent, typeof i142.HtmlEditorFormInputComponent, typeof i143.ProductMultiSelectorFormInputComponent, typeof i144.CombinationModeFormInputComponent]>;
|
|
161
162
|
static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
|
|
162
163
|
}
|
|
@@ -32,6 +32,7 @@ import { ProductListComponent } from './components/product-list/product-list.com
|
|
|
32
32
|
import { ProductOptionsEditorComponent } from './components/product-options-editor/product-options-editor.component';
|
|
33
33
|
import { ProductVariantDetailComponent } from './components/product-variant-detail/product-variant-detail.component';
|
|
34
34
|
import { ProductVariantListComponent } from './components/product-variant-list/product-variant-list.component';
|
|
35
|
+
import { assignProductVariantsToChannelBulkAction, removeProductVariantsFromChannelBulkAction, deleteProductVariantsBulkAction, } from './components/product-variant-list/product-variant-list-bulk-actions';
|
|
35
36
|
import { ProductVariantQuickJumpComponent } from './components/product-variant-quick-jump/product-variant-quick-jump.component';
|
|
36
37
|
import { ProductVariantsEditorComponent } from './components/product-variants-editor/product-variants-editor.component';
|
|
37
38
|
import { ProductVariantsTableComponent } from './components/product-variants-table/product-variants-table.component';
|
|
@@ -84,8 +85,11 @@ export class CatalogModule {
|
|
|
84
85
|
this.pageService = pageService;
|
|
85
86
|
bulkActionRegistryService.registerBulkAction(assignFacetValuesToProductsBulkAction);
|
|
86
87
|
bulkActionRegistryService.registerBulkAction(assignProductsToChannelBulkAction);
|
|
88
|
+
bulkActionRegistryService.registerBulkAction(assignProductVariantsToChannelBulkAction);
|
|
87
89
|
bulkActionRegistryService.registerBulkAction(removeProductsFromChannelBulkAction);
|
|
90
|
+
bulkActionRegistryService.registerBulkAction(removeProductVariantsFromChannelBulkAction);
|
|
88
91
|
bulkActionRegistryService.registerBulkAction(deleteProductsBulkAction);
|
|
92
|
+
bulkActionRegistryService.registerBulkAction(deleteProductVariantsBulkAction);
|
|
89
93
|
bulkActionRegistryService.registerBulkAction(assignFacetsToChannelBulkAction);
|
|
90
94
|
bulkActionRegistryService.registerBulkAction(removeFacetsFromChannelBulkAction);
|
|
91
95
|
bulkActionRegistryService.registerBulkAction(deleteFacetsBulkAction);
|
|
@@ -336,4 +340,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
336
340
|
],
|
|
337
341
|
}]
|
|
338
342
|
}], ctorParameters: function () { return [{ type: i1.BulkActionRegistryService }, { type: i1.PageService }]; } });
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NhdGFsb2cvc3JjL2NhdGFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFDSCx3QkFBd0IsRUFFeEIsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsV0FBVyxFQUNYLFlBQVksR0FDZixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNEZBQTRGLENBQUM7QUFDcEosT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDckksT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDN0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdkcsT0FBTyxFQUFFLHdCQUF3QixF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UDtnQkFDSSxPQUFPLEVBQUUsTUFBTTtnQkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2dCQUNuRSxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7YUFDdEI7U0FDSixZQVZTLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzs7MkZBWXhDLGFBQWE7a0JBYnpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2hDLFlBQVksRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ25FLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDOzRCQUNuRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3RCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBBc3NldERldGFpbFF1ZXJ5RG9jdW1lbnQsXHJcbiAgICBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgQ29sbGVjdGlvbkRldGFpbFF1ZXJ5RG9jdW1lbnQsXHJcbiAgICBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIsXHJcbiAgICBHZXRGYWNldERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UHJvZHVjdERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UHJvZHVjdFZhcmlhbnREZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFN0b2NrTG9jYXRpb25EZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgY3JlYXRlUm91dGVzIH0gZnJvbSAnLi9jYXRhbG9nLnJvdXRlcyc7XHJcbmltcG9ydCB7IEFwcGx5RmFjZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwbHktZmFjZXQtZGlhbG9nL2FwcGx5LWZhY2V0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1kZXRhaWwvYXNzZXQtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1saXN0L2Fzc2V0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0cy9hc3NldHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzaWduLXByb2R1Y3RzLXRvLWNoYW5uZWwtZGlhbG9nL2Fzc2lnbi1wcm9kdWN0cy10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWxrQWRkRmFjZXRWYWx1ZXNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVsay1hZGQtZmFjZXQtdmFsdWVzLWRpYWxvZy9idWxrLWFkZC1mYWNldC12YWx1ZXMtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb25Db250ZW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsZWN0aW9uLWNvbnRlbnRzL2NvbGxlY3Rpb24tY29udGVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkRhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsZWN0aW9uLWRhdGEtdGFibGUvY29sbGVjdGlvbi1kYXRhLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb25EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi1kZXRhaWwvY29sbGVjdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkJyZWFkY3J1bWJQaXBlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb24tbGlzdC9jb2xsZWN0aW9uLWJyZWFkY3J1bWIucGlwZSc7XHJcbmltcG9ydCB7XHJcbiAgICBhc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbiAgICBkZWxldGVDb2xsZWN0aW9uc0J1bGtBY3Rpb24sXHJcbiAgICBtb3ZlQ29sbGVjdGlvbnNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb24tbGlzdC9jb2xsZWN0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi1saXN0L2NvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi10cmVlL2NvbGxlY3Rpb24tdHJlZS1ub2RlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb25UcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb24tdHJlZS9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybVZhcmlhbnREZWxldGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLXZhcmlhbnQtZGVsZXRpb24tZGlhbG9nL2NvbmZpcm0tdmFyaWFudC1kZWxldGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NyZWF0ZS1wcm9kdWN0LW9wdGlvbi1ncm91cC1kaWFsb2cvY3JlYXRlLXByb2R1Y3Qtb3B0aW9uLWdyb3VwLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDcmVhdGVQcm9kdWN0VmFyaWFudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jcmVhdGUtcHJvZHVjdC12YXJpYW50LWRpYWxvZy9jcmVhdGUtcHJvZHVjdC12YXJpYW50LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWNldERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWNldC1kZXRhaWwvZmFjZXQtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBhc3NpZ25GYWNldHNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlRmFjZXRzQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZUZhY2V0c0Zyb21DaGFubmVsQnVsa0FjdGlvbixcclxufSBmcm9tICcuL2NvbXBvbmVudHMvZmFjZXQtbGlzdC9mYWNldC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IEZhY2V0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWNldC1saXN0L2ZhY2V0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJhdGVQcm9kdWN0VmFyaWFudHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJhdGUtcHJvZHVjdC12YXJpYW50cy9nZW5lcmF0ZS1wcm9kdWN0LXZhcmlhbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vdmVDb2xsZWN0aW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb3ZlLWNvbGxlY3Rpb25zLWRpYWxvZy9tb3ZlLWNvbGxlY3Rpb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcHRpb25WYWx1ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi12YWx1ZS1pbnB1dC9vcHRpb24tdmFsdWUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbC9wcm9kdWN0LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduRmFjZXRWYWx1ZXNUb1Byb2R1Y3RzQnVsa0FjdGlvbixcclxuICAgIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVByb2R1Y3RzQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvcHJvZHVjdC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFByb2R1Y3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtbGlzdC9wcm9kdWN0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdE9wdGlvbnNFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC1vcHRpb25zLWVkaXRvci9wcm9kdWN0LW9wdGlvbnMtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtdmFyaWFudC1kZXRhaWwvcHJvZHVjdC12YXJpYW50LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC12YXJpYW50LWxpc3QvcHJvZHVjdC12YXJpYW50LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRRdWlja0p1bXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC12YXJpYW50LXF1aWNrLWp1bXAvcHJvZHVjdC12YXJpYW50LXF1aWNrLWp1bXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRzRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtdmFyaWFudHMtZWRpdG9yL3Byb2R1Y3QtdmFyaWFudHMtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50c1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtdmFyaWFudHMtdGFibGUvcHJvZHVjdC12YXJpYW50cy10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLWRldGFpbC9zdG9jay1sb2NhdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIGFzc2lnblN0b2NrTG9jYXRpb25zVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVN0b2NrTG9jYXRpb25zQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVN0b2NrTG9jYXRpb25zRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi1saXN0L3N0b2NrLWxvY2F0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgU3RvY2tMb2NhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tbGlzdC9zdG9jay1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwZGF0ZVByb2R1Y3RPcHRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXBkYXRlLXByb2R1Y3Qtb3B0aW9uLWRpYWxvZy91cGRhdGUtcHJvZHVjdC1vcHRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhcmlhbnRQcmljZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92YXJpYW50LXByaWNlLWRldGFpbC92YXJpYW50LXByaWNlLWRldGFpbC5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgQ0FUQUxPR19DT01QT05FTlRTID0gW1xyXG4gICAgUHJvZHVjdExpc3RDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgRmFjZXRMaXN0Q29tcG9uZW50LFxyXG4gICAgRmFjZXREZXRhaWxDb21wb25lbnQsXHJcbiAgICBHZW5lcmF0ZVByb2R1Y3RWYXJpYW50c0NvbXBvbmVudCxcclxuICAgIEFwcGx5RmFjZXREaWFsb2dDb21wb25lbnQsXHJcbiAgICBBc3NldExpc3RDb21wb25lbnQsXHJcbiAgICBBc3NldHNDb21wb25lbnQsXHJcbiAgICBWYXJpYW50UHJpY2VEZXRhaWxDb21wb25lbnQsXHJcbiAgICBDb2xsZWN0aW9uTGlzdENvbXBvbmVudCxcclxuICAgIENvbGxlY3Rpb25EZXRhaWxDb21wb25lbnQsXHJcbiAgICBDb2xsZWN0aW9uVHJlZUNvbXBvbmVudCxcclxuICAgIENvbGxlY3Rpb25UcmVlTm9kZUNvbXBvbmVudCxcclxuICAgIENvbGxlY3Rpb25Db250ZW50c0NvbXBvbmVudCxcclxuICAgIFByb2R1Y3RWYXJpYW50c1RhYmxlQ29tcG9uZW50LFxyXG4gICAgT3B0aW9uVmFsdWVJbnB1dENvbXBvbmVudCxcclxuICAgIFVwZGF0ZVByb2R1Y3RPcHRpb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0VmFyaWFudHNFZGl0b3JDb21wb25lbnQsXHJcbiAgICBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEFzc2V0RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgQ29uZmlybVZhcmlhbnREZWxldGlvbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFByb2R1Y3RPcHRpb25zRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQnVsa0FkZEZhY2V0VmFsdWVzRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQ29sbGVjdGlvbkRhdGFUYWJsZUNvbXBvbmVudCxcclxuICAgIENvbGxlY3Rpb25CcmVhZGNydW1iUGlwZSxcclxuICAgIE1vdmVDb2xsZWN0aW9uc0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIFByb2R1Y3RWYXJpYW50TGlzdENvbXBvbmVudCxcclxuICAgIFByb2R1Y3REZXRhaWxDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0VmFyaWFudERldGFpbENvbXBvbmVudCxcclxuICAgIENyZWF0ZVByb2R1Y3RWYXJpYW50RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFZhcmlhbnRRdWlja0p1bXBDb21wb25lbnQsXHJcbiAgICBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pXSxcclxuICAgIGV4cG9ydHM6IFsuLi5DQVRBTE9HX0NPTVBPTkVOVFNdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ0FUQUxPR19DT01QT05FTlRTLCBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50XSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUk9VVEVTLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAocGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlKSA9PiBjcmVhdGVSb3V0ZXMocGFnZVNlcnZpY2UpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgZGVwczogW1BhZ2VTZXJ2aWNlXSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhdGFsb2dNb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlOiBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduRmFjZXRWYWx1ZXNUb1Byb2R1Y3RzQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduUHJvZHVjdHNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUHJvZHVjdHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduRmFjZXRzVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVGYWNldHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24obW92ZUNvbGxlY3Rpb25zQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQ29sbGVjdGlvbnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU3RvY2tMb2NhdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVTdG9ja0xvY2F0aW9uc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlU3RvY2tMb2NhdGlvbnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncHJvZHVjdC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLnByb2R1Y3RzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwcm9kdWN0LWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5wcm9kdWN0JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFByb2R1Y3REZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3Byb2R1Y3QnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdjYXRhbG9nLmNyZWF0ZS1uZXctcHJvZHVjdCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5wcm9kdWN0LXZhcmlhbnRzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAndmFyaWFudHMnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RWYXJpYW50TGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzdG9jay1sb2NhdGlvbi1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuc3RvY2stbG9jYXRpb24nKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFN0b2NrTG9jYXRpb25EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0U3RvY2tMb2NhdGlvbkRldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnc3RvY2tMb2NhdGlvbicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ2NhdGFsb2cuY3JlYXRlLW5ldy1zdG9jay1sb2NhdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbnMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICdzdG9jay1sb2NhdGlvbnMnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFN0b2NrTG9jYXRpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtdmFyaWFudC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cucHJvZHVjdC12YXJpYW50cycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZHVjdFZhcmlhbnREZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0UHJvZHVjdFZhcmlhbnREZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3Byb2R1Y3RWYXJpYW50JyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGAke2VudGl0eT8ucHJvZHVjdC5uYW1lfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFsnL2NhdGFsb2cnLCAnaW52ZW50b3J5JywgZW50aXR5Py5wcm9kdWN0LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGAke2VudGl0eT8ubmFtZX0gKCR7ZW50aXR5Py5za3V9KWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFsndmFyaWFudHMnLCBlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnZmFjZXQtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5mYWNldHMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IEZhY2V0TGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdmYWNldC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuZmFjZXQnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEZhY2V0RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldEZhY2V0RGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdmYWNldCcsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ2NhdGFsb2cuY3JlYXRlLW5ldy1mYWNldCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2NvbGxlY3Rpb24tbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5jb2xsZWN0aW9ucycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogQ29sbGVjdGlvbkxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY29sbGVjdGlvbi1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuY29sbGVjdGlvbicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ29sbGVjdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBDb2xsZWN0aW9uRGV0YWlsUXVlcnlEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ2NvbGxlY3Rpb24nLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdjYXRhbG9nLmNyZWF0ZS1uZXctY29sbGVjdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2Fzc2V0LWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuYXNzZXRzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBBc3NldExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnYXNzZXQtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLmFzc2V0JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBBc3NldERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBBc3NldERldGFpbFF1ZXJ5RG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdhc3NldCcsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBgJHtlbnRpdHk/Lm5hbWV9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NhdGFsb2cvc3JjL2NhdGFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFDSCx3QkFBd0IsRUFFeEIsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsV0FBVyxFQUNYLFlBQVksR0FDZixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNEZBQTRGLENBQUM7QUFDcEosT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDckksT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDN0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdkcsT0FBTyxFQUFFLHdCQUF3QixF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OUIsc0NBQXNDO1lBQ3RDLG9CQUFvQjtZQUNwQixxQ0FBcUM7WUFDckMsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyw0QkFBNEI7WUFDNUIsd0JBQXdCO1lBQ3hCLDhCQUE4QjtZQUM5QiwyQkFBMkI7WUFDM0Isc0JBQXNCO1lBQ3RCLDZCQUE2QjtZQUM3QixtQ0FBbUM7WUFDbkMsdUNBQXVDO1lBQ3ZDLGdDQUFnQztZQUNoQywwQkFBMEI7K0dBZ0JqQixhQUFhLGFBVFg7WUFDUDtnQkFDSSxPQUFPLEVBQUUsTUFBTTtnQkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2dCQUNuRSxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7YUFDdEI7U0FDSixZQVZTLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzs7MkZBWXhDLGFBQWE7a0JBYnpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2hDLFlBQVksRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ25FLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDOzRCQUNuRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3RCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBBc3NldERldGFpbFF1ZXJ5RG9jdW1lbnQsXHJcbiAgICBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgQ29sbGVjdGlvbkRldGFpbFF1ZXJ5RG9jdW1lbnQsXHJcbiAgICBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIsXHJcbiAgICBHZXRGYWNldERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UHJvZHVjdERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UHJvZHVjdFZhcmlhbnREZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFN0b2NrTG9jYXRpb25EZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgY3JlYXRlUm91dGVzIH0gZnJvbSAnLi9jYXRhbG9nLnJvdXRlcyc7XHJcbmltcG9ydCB7IEFwcGx5RmFjZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwbHktZmFjZXQtZGlhbG9nL2FwcGx5LWZhY2V0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1kZXRhaWwvYXNzZXQtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1saXN0L2Fzc2V0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0cy9hc3NldHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzaWduLXByb2R1Y3RzLXRvLWNoYW5uZWwtZGlhbG9nL2Fzc2lnbi1wcm9kdWN0cy10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWxrQWRkRmFjZXRWYWx1ZXNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVsay1hZGQtZmFjZXQtdmFsdWVzLWRpYWxvZy9idWxrLWFkZC1mYWNldC12YWx1ZXMtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb25Db250ZW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsZWN0aW9uLWNvbnRlbnRzL2NvbGxlY3Rpb24tY29udGVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkRhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xsZWN0aW9uLWRhdGEtdGFibGUvY29sbGVjdGlvbi1kYXRhLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb25EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi1kZXRhaWwvY29sbGVjdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkJyZWFkY3J1bWJQaXBlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb24tbGlzdC9jb2xsZWN0aW9uLWJyZWFkY3J1bWIucGlwZSc7XHJcbmltcG9ydCB7XHJcbiAgICBhc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbiAgICBkZWxldGVDb2xsZWN0aW9uc0J1bGtBY3Rpb24sXHJcbiAgICBtb3ZlQ29sbGVjdGlvbnNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb24tbGlzdC9jb2xsZWN0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi1saXN0L2NvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sbGVjdGlvbi10cmVlL2NvbGxlY3Rpb24tdHJlZS1ub2RlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb25UcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbGxlY3Rpb24tdHJlZS9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybVZhcmlhbnREZWxldGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLXZhcmlhbnQtZGVsZXRpb24tZGlhbG9nL2NvbmZpcm0tdmFyaWFudC1kZWxldGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NyZWF0ZS1wcm9kdWN0LW9wdGlvbi1ncm91cC1kaWFsb2cvY3JlYXRlLXByb2R1Y3Qtb3B0aW9uLWdyb3VwLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDcmVhdGVQcm9kdWN0VmFyaWFudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jcmVhdGUtcHJvZHVjdC12YXJpYW50LWRpYWxvZy9jcmVhdGUtcHJvZHVjdC12YXJpYW50LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWNldERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWNldC1kZXRhaWwvZmFjZXQtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBhc3NpZ25GYWNldHNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlRmFjZXRzQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZUZhY2V0c0Zyb21DaGFubmVsQnVsa0FjdGlvbixcclxufSBmcm9tICcuL2NvbXBvbmVudHMvZmFjZXQtbGlzdC9mYWNldC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IEZhY2V0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWNldC1saXN0L2ZhY2V0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJhdGVQcm9kdWN0VmFyaWFudHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJhdGUtcHJvZHVjdC12YXJpYW50cy9nZW5lcmF0ZS1wcm9kdWN0LXZhcmlhbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vdmVDb2xsZWN0aW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb3ZlLWNvbGxlY3Rpb25zLWRpYWxvZy9tb3ZlLWNvbGxlY3Rpb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcHRpb25WYWx1ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi12YWx1ZS1pbnB1dC9vcHRpb24tdmFsdWUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbC9wcm9kdWN0LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduRmFjZXRWYWx1ZXNUb1Byb2R1Y3RzQnVsa0FjdGlvbixcclxuICAgIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVByb2R1Y3RzQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvcHJvZHVjdC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFByb2R1Y3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtbGlzdC9wcm9kdWN0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdE9wdGlvbnNFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC1vcHRpb25zLWVkaXRvci9wcm9kdWN0LW9wdGlvbnMtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtdmFyaWFudC1kZXRhaWwvcHJvZHVjdC12YXJpYW50LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC12YXJpYW50LWxpc3QvcHJvZHVjdC12YXJpYW50LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIGFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbiAgICByZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbiAgICBkZWxldGVQcm9kdWN0VmFyaWFudHNCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LXZhcmlhbnQtbGlzdC9wcm9kdWN0LXZhcmlhbnQtbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudFF1aWNrSnVtcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LXZhcmlhbnQtcXVpY2stanVtcC9wcm9kdWN0LXZhcmlhbnQtcXVpY2stanVtcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudHNFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC12YXJpYW50cy1lZGl0b3IvcHJvZHVjdC12YXJpYW50cy1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRzVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC12YXJpYW50cy10YWJsZS9wcm9kdWN0LXZhcmlhbnRzLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0b2NrTG9jYXRpb25EZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tZGV0YWlsL3N0b2NrLWxvY2F0aW9uLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduU3RvY2tMb2NhdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlU3RvY2tMb2NhdGlvbnNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlU3RvY2tMb2NhdGlvbnNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLWxpc3Qvc3RvY2stbG9jYXRpb24tbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi1saXN0L3N0b2NrLWxvY2F0aW9uLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBkYXRlUHJvZHVjdE9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91cGRhdGUtcHJvZHVjdC1vcHRpb24tZGlhbG9nL3VwZGF0ZS1wcm9kdWN0LW9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFyaWFudFByaWNlRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ZhcmlhbnQtcHJpY2UtZGV0YWlsL3ZhcmlhbnQtcHJpY2UtZGV0YWlsLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBDQVRBTE9HX0NPTVBPTkVOVFMgPSBbXHJcbiAgICBQcm9kdWN0TGlzdENvbXBvbmVudCxcclxuICAgIFByb2R1Y3REZXRhaWxDb21wb25lbnQsXHJcbiAgICBGYWNldExpc3RDb21wb25lbnQsXHJcbiAgICBGYWNldERldGFpbENvbXBvbmVudCxcclxuICAgIEdlbmVyYXRlUHJvZHVjdFZhcmlhbnRzQ29tcG9uZW50LFxyXG4gICAgQXBwbHlGYWNldERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEFzc2V0TGlzdENvbXBvbmVudCxcclxuICAgIEFzc2V0c0NvbXBvbmVudCxcclxuICAgIFZhcmlhbnRQcmljZURldGFpbENvbXBvbmVudCxcclxuICAgIENvbGxlY3Rpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgQ29sbGVjdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgIENvbGxlY3Rpb25UcmVlQ29tcG9uZW50LFxyXG4gICAgQ29sbGVjdGlvblRyZWVOb2RlQ29tcG9uZW50LFxyXG4gICAgQ29sbGVjdGlvbkNvbnRlbnRzQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFZhcmlhbnRzVGFibGVDb21wb25lbnQsXHJcbiAgICBPcHRpb25WYWx1ZUlucHV0Q29tcG9uZW50LFxyXG4gICAgVXBkYXRlUHJvZHVjdE9wdGlvbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFByb2R1Y3RWYXJpYW50c0VkaXRvckNvbXBvbmVudCxcclxuICAgIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQXNzZXREZXRhaWxDb21wb25lbnQsXHJcbiAgICBDb25maXJtVmFyaWFudERlbGV0aW9uRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdE9wdGlvbnNFZGl0b3JDb21wb25lbnQsXHJcbiAgICBCdWxrQWRkRmFjZXRWYWx1ZXNEaWFsb2dDb21wb25lbnQsXHJcbiAgICBDb2xsZWN0aW9uRGF0YVRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ29sbGVjdGlvbkJyZWFkY3J1bWJQaXBlLFxyXG4gICAgTW92ZUNvbGxlY3Rpb25zRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFZhcmlhbnRMaXN0Q29tcG9uZW50LFxyXG4gICAgUHJvZHVjdERldGFpbENvbXBvbmVudCxcclxuICAgIFByb2R1Y3RWYXJpYW50RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvZHVjdFZhcmlhbnREaWFsb2dDb21wb25lbnQsXHJcbiAgICBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBEaWFsb2dDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0VmFyaWFudFF1aWNrSnVtcENvbXBvbmVudCxcclxuICAgIFN0b2NrTG9jYXRpb25MaXN0Q29tcG9uZW50LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXSldLFxyXG4gICAgZXhwb3J0czogWy4uLkNBVEFMT0dfQ09NUE9ORU5UU10sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DQVRBTE9HX0NPTVBPTkVOVFMsIFN0b2NrTG9jYXRpb25EZXRhaWxDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBST1VURVMsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChwYWdlU2VydmljZTogUGFnZVNlcnZpY2UpID0+IGNyZWF0ZVJvdXRlcyhwYWdlU2VydmljZSksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICBkZXBzOiBbUGFnZVNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ01vZHVsZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2U6IEJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBwYWdlU2VydmljZTogUGFnZVNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihhc3NpZ25GYWNldFZhbHVlc1RvUHJvZHVjdHNCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihhc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbEJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbEJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZVByb2R1Y3RzQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUHJvZHVjdFZhcmlhbnRzQnVsa0FjdGlvbik7XHJcblxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGFzc2lnbkZhY2V0c1RvQ2hhbm5lbEJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKHJlbW92ZUZhY2V0c0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlRmFjZXRzQnVsa0FjdGlvbik7XHJcblxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKG1vdmVDb2xsZWN0aW9uc0J1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZUNvbGxlY3Rpb25zQnVsa0FjdGlvbik7XHJcblxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGFzc2lnblN0b2NrTG9jYXRpb25zVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlU3RvY2tMb2NhdGlvbnNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZVN0b2NrTG9jYXRpb25zQnVsa0FjdGlvbik7XHJcblxyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5wcm9kdWN0cycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZHVjdExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncHJvZHVjdC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cucHJvZHVjdCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZHVjdERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRQcm9kdWN0RGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdwcm9kdWN0JyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnY2F0YWxvZy5jcmVhdGUtbmV3LXByb2R1Y3QnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwcm9kdWN0LWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cucHJvZHVjdC12YXJpYW50cycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJ3ZhcmlhbnRzJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0VmFyaWFudExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc3RvY2stbG9jYXRpb24tZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLnN0b2NrLWxvY2F0aW9uJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFN0b2NrTG9jYXRpb25EZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3N0b2NrTG9jYXRpb24nLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdjYXRhbG9nLmNyZWF0ZS1uZXctc3RvY2stbG9jYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwcm9kdWN0LWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuc3RvY2stbG9jYXRpb25zJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnc3RvY2stbG9jYXRpb25zJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwcm9kdWN0LXZhcmlhbnQtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLnByb2R1Y3QtdmFyaWFudHMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RWYXJpYW50RGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFByb2R1Y3RWYXJpYW50RGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdwcm9kdWN0VmFyaWFudCcsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBgJHtlbnRpdHk/LnByb2R1Y3QubmFtZX1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbJy9jYXRhbG9nJywgJ2ludmVudG9yeScsIGVudGl0eT8ucHJvZHVjdC5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBgJHtlbnRpdHk/Lm5hbWV9ICgke2VudGl0eT8uc2t1fSlgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbJ3ZhcmlhbnRzJywgZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2ZhY2V0LWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuZmFjZXRzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBGYWNldExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnZmFjZXQtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLmZhY2V0JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBGYWNldERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRGYWNldERldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnZmFjZXQnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdjYXRhbG9nLmNyZWF0ZS1uZXctZmFjZXQnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdjb2xsZWN0aW9uLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2NhdGFsb2cuY29sbGVjdGlvbnMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IENvbGxlY3Rpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2NvbGxlY3Rpb24tZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLmNvbGxlY3Rpb24nKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IENvbGxlY3Rpb25EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogQ29sbGVjdGlvbkRldGFpbFF1ZXJ5RG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdjb2xsZWN0aW9uJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnY2F0YWxvZy5jcmVhdGUtbmV3LWNvbGxlY3Rpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdhc3NldC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdjYXRhbG9nLmFzc2V0cycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogQXNzZXRMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2Fzc2V0LWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5hc3NldCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQXNzZXREZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogQXNzZXREZXRhaWxRdWVyeURvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnYXNzZXQnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCR7ZW50aXR5Py5uYW1lfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|