ng-miam 6.4.13 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ng-miam.umd.js +8539 -10855
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +2 -2
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/abstracts/event-tracer.component.js +3 -2
- package/esm2015/lib/_components/accordion/accordion.component.js +75 -0
- package/esm2015/lib/_components/components.module.js +27 -21
- package/esm2015/lib/_components/counter-input/counter-input.component.js +86 -76
- package/esm2015/lib/_components/icon/icon.component.js +1 -1
- package/esm2015/lib/_components/index.js +5 -5
- package/esm2015/lib/_components/like-button/like-button.component.js +1 -1
- package/esm2015/lib/_components/list-input/list-input.component.js +5 -5
- package/esm2015/lib/_components/loader/loader.component.js +1 -1
- package/esm2015/lib/_components/meals-planner-link/meals-planner-link.component.js +3 -3
- package/esm2015/lib/_components/modal/modal.component.js +155 -137
- package/esm2015/lib/_components/product-card/product-card.component.js +333 -0
- package/esm2015/lib/_components/products-picker/products-picker.component.js +155 -0
- package/esm2015/lib/_components/progress-tracker/progress-tracker.component.js +1 -1
- package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +166 -217
- package/esm2015/lib/_components/recipe-pricing/recipe-pricing.component.js +55 -35
- package/esm2015/lib/_components/slider-tabs/slider-tabs.component.js +84 -0
- package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +1 -1
- package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +1 -1
- package/esm2015/lib/_components/tabs/tabs.component.js +48 -88
- package/esm2015/lib/_components/toaster/toaster.component.js +48 -84
- package/esm2015/lib/_components/tooltipable-content/tooltipable-content.component.js +1 -1
- package/esm2015/lib/_models/basket-entry.js +33 -49
- package/esm2015/lib/_models/basket-preview-line.js +5 -5
- package/esm2015/lib/_models/basket.js +15 -12
- package/esm2015/lib/_models/item.js +2 -2
- package/esm2015/lib/_models/recipe.js +2 -15
- package/esm2015/lib/_models/user.js +1 -1
- package/esm2015/lib/_services/analytics.service.js +24 -5
- package/esm2015/lib/_services/baskets-synchronizing/baskets-comparator.service.js +1 -10
- package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +15 -15
- package/esm2015/lib/_services/baskets.service.js +478 -60
- package/esm2015/lib/_services/context.service.js +22 -35
- package/esm2015/lib/_services/index.js +3 -5
- package/esm2015/lib/_services/interceptor.service.js +2 -2
- package/esm2015/lib/_services/items.service.js +27 -4
- package/esm2015/lib/_services/recipe-details.service.js +198 -0
- package/esm2015/lib/_services/recipe-likes.service.js +1 -1
- package/esm2015/lib/_services/recipes.service.js +24 -53
- package/esm2015/lib/_services/scrolling.service.js +17 -0
- package/esm2015/lib/_services/toaster.service.js +4 -5
- package/esm2015/lib/_services/user.service.js +2 -2
- package/esm2015/lib/_types/basket-action-type.enum.js +11 -0
- package/esm2015/lib/_types/basket-action.js +2 -0
- package/esm2015/lib/_types/basket-stats.js +2 -0
- package/esm2015/lib/_types/builded/miam-interface.js +1 -1
- package/esm2015/lib/_types/event-trace.js +5 -0
- package/esm2015/lib/_types/items-comparator.js +1 -10
- package/esm2015/lib/_types/recipe-filters.js +1 -1
- package/esm2015/lib/_types/toaster.js +1 -1
- package/esm2015/lib/_utils/directives/index.js +2 -1
- package/esm2015/lib/_utils/directives/reach-top.directive.js +33 -0
- package/esm2015/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.js +8 -2
- package/esm2015/lib/_utils/utils.module.js +12 -8
- package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +140 -118
- package/esm2015/lib/_web-components/basket-preview/basket-preview-disabled/basket-preview-disabled.component.js +2 -2
- package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +125 -444
- package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +211 -108
- package/esm2015/lib/_web-components/index.js +1 -4
- package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +11 -14
- package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +13 -13
- package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +6 -6
- package/esm2015/lib/_web-components/list-scan/list-scan.component.js +10 -10
- package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +23 -11
- package/esm2015/lib/_web-components/meals-planner/meals-planner-basket-confirmation/meals-planner-basket-confirmation.component.js +1 -1
- package/esm2015/lib/_web-components/meals-planner/meals-planner-catalog/meals-planner-catalog.component.js +1 -1
- package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +7 -7
- package/esm2015/lib/_web-components/meals-planner/meals-planner-result/meals-planner-result.component.js +5 -5
- package/esm2015/lib/_web-components/meals-planner/meals-planner.component.js +16 -20
- package/esm2015/lib/_web-components/planner-side-menu/planner-side-menu.component.js +4 -53
- package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-cards/index.js +1 -3
- package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +326 -404
- package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +50 -146
- package/esm2015/lib/_web-components/recipe-cards/recipe-cards.module.js +3 -15
- package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +35 -29
- package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +27 -31
- package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +98 -100
- package/esm2015/lib/_web-components/recipe-creation/recipe-form/recipe-form.component.js +2 -2
- package/esm2015/lib/_web-components/recipe-creation/recipe-stepper/recipe-stepper.component.js +7 -7
- package/esm2015/lib/_web-components/recipe-creation/tags-creator/tags-creator.component.js +4 -4
- package/esm2015/lib/_web-components/recipe-creation/tags-selector/tags-selector.component.js +8 -8
- package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +7 -3
- package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +57 -358
- package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +59 -122
- package/esm2015/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.js +51 -72
- package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +313 -363
- package/esm2015/lib/_web-components/recipe-details/recipe-details.module.js +8 -4
- package/esm2015/lib/_web-components/recipe-details/sponsor-storytelling/sponsor-storytelling.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-helper/recipe-helper.component.js +89 -113
- package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +78 -69
- package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +5 -5
- package/esm2015/lib/_web-components/toaster-stack/toaster-stack.component.js +8 -4
- package/esm2015/lib/_web-components/web-components.module.js +3 -19
- package/esm2015/lib/ng-miam.module.js +5 -7
- package/fesm2015/ng-miam.js +5165 -6973
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_components/abstracts/event-tracer.component.d.ts +2 -1
- package/lib/_components/accordion/accordion.component.d.ts +23 -0
- package/lib/_components/components.module.d.ts +38 -36
- package/lib/_components/counter-input/counter-input.component.d.ts +12 -14
- package/lib/_components/index.d.ts +4 -4
- package/lib/_components/modal/modal.component.d.ts +18 -18
- package/lib/_components/product-card/product-card.component.d.ts +40 -0
- package/lib/_components/products-picker/products-picker.component.d.ts +17 -0
- package/lib/_components/recipe-pricing/recipe-pricing.component.d.ts +12 -8
- package/lib/_components/slider-tabs/slider-tabs.component.d.ts +16 -0
- package/lib/_components/tabs/tabs.component.d.ts +11 -11
- package/lib/_components/toaster/toaster.component.d.ts +4 -2
- package/lib/_models/basket-entry.d.ts +16 -20
- package/lib/_models/basket-preview-line.d.ts +1 -0
- package/lib/_models/basket.d.ts +12 -5
- package/lib/_models/item.d.ts +1 -1
- package/lib/_models/recipe.d.ts +0 -5
- package/lib/_models/user.d.ts +0 -1
- package/lib/_services/analytics.service.d.ts +8 -22
- package/lib/_services/baskets-synchronizing/baskets-comparator.service.d.ts +0 -5
- package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +3 -6
- package/lib/_services/baskets.service.d.ts +137 -18
- package/lib/_services/context.service.d.ts +2 -4
- package/lib/_services/index.d.ts +2 -4
- package/lib/_services/items.service.d.ts +9 -2
- package/lib/_services/recipe-details.service.d.ts +84 -0
- package/lib/_services/recipe-likes.service.d.ts +2 -1
- package/lib/_services/recipes.service.d.ts +10 -14
- package/lib/_services/scrolling.service.d.ts +8 -0
- package/lib/_services/toaster.service.d.ts +1 -1
- package/lib/_types/basket-action-type.enum.d.ts +9 -0
- package/lib/_types/basket-action.d.ts +14 -0
- package/lib/_types/basket-stats.d.ts +5 -0
- package/lib/_types/builded/miam-interface.d.ts +16 -25
- package/lib/_types/event-trace.d.ts +22 -0
- package/lib/_types/items-comparator.d.ts +0 -5
- package/lib/_types/recipe-filters.d.ts +0 -2
- package/lib/_types/toaster.d.ts +1 -1
- package/lib/_utils/directives/index.d.ts +1 -0
- package/lib/_utils/directives/reach-top.directive.d.ts +13 -0
- package/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.d.ts +1 -1
- package/lib/_utils/utils.module.d.ts +2 -2
- package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +9 -8
- package/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.d.ts +11 -9
- package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +27 -20
- package/lib/_web-components/index.d.ts +0 -3
- package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +1 -2
- package/lib/_web-components/list-scan/files-inputs/files-inputs.component.d.ts +6 -5
- package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +3 -3
- package/lib/_web-components/list-scan/list-scan.component.d.ts +3 -3
- package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +8 -6
- package/lib/_web-components/meals-planner/meals-planner.component.d.ts +2 -3
- package/lib/_web-components/recipe-cards/index.d.ts +0 -2
- package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +58 -17
- package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +5 -12
- package/lib/_web-components/recipe-cards/recipe-cards.module.d.ts +7 -9
- package/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.d.ts +8 -6
- package/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.d.ts +7 -4
- package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +2 -3
- package/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.d.ts +5 -2
- package/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.d.ts +6 -18
- package/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.d.ts +6 -13
- package/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.d.ts +2 -10
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts +29 -36
- package/lib/_web-components/recipe-details/recipe-details.module.d.ts +2 -1
- package/lib/_web-components/recipe-helper/recipe-helper.component.d.ts +2 -6
- package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +11 -9
- package/lib/_web-components/toaster-stack/toaster-stack.component.d.ts +5 -2
- package/lib/_web-components/web-components.module.d.ts +23 -29
- package/miam-style.css +1 -1
- package/package.json +1 -1
- package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +0 -130
- package/esm2015/lib/_components/skeleton/skeleton.component.js +0 -70
- package/esm2015/lib/_components/tabs/tab-body.component.js +0 -30
- package/esm2015/lib/_components/tabs/tab-item.component.js +0 -36
- package/esm2015/lib/_components/tabs/tab-label.component.js +0 -30
- package/esm2015/lib/_models/groceries-entry.js +0 -42
- package/esm2015/lib/_models/groceries-list.js +0 -36
- package/esm2015/lib/_services/counter.service.js +0 -20
- package/esm2015/lib/_services/groceries-entries.service.js +0 -21
- package/esm2015/lib/_services/groceries-lists.service.js +0 -240
- package/esm2015/lib/_services/recipe-events.service.js +0 -63
- package/esm2015/lib/_types/skeleton.enum.js +0 -7
- package/esm2015/lib/_web-components/drawer/drawer.component.js +0 -273
- package/esm2015/lib/_web-components/pos-card/pos-card.component.js +0 -207
- package/esm2015/lib/_web-components/pos-selection/pos-selection.component.js +0 -283
- package/esm2015/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.js +0 -632
- package/esm2015/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.js +0 -144
- package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +0 -49
- package/lib/_components/skeleton/skeleton.component.d.ts +0 -11
- package/lib/_components/tabs/tab-body.component.d.ts +0 -8
- package/lib/_components/tabs/tab-item.component.d.ts +0 -11
- package/lib/_components/tabs/tab-label.component.d.ts +0 -8
- package/lib/_models/groceries-entry.d.ts +0 -20
- package/lib/_models/groceries-list.d.ts +0 -30
- package/lib/_services/counter.service.d.ts +0 -10
- package/lib/_services/groceries-entries.service.d.ts +0 -10
- package/lib/_services/groceries-lists.service.d.ts +0 -68
- package/lib/_services/recipe-events.service.d.ts +0 -23
- package/lib/_types/skeleton.enum.d.ts +0 -5
- package/lib/_web-components/drawer/drawer.component.d.ts +0 -37
- package/lib/_web-components/pos-card/pos-card.component.d.ts +0 -24
- package/lib/_web-components/pos-selection/pos-selection.component.d.ts +0 -38
- package/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.d.ts +0 -49
- package/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.d.ts +0 -42
|
@@ -4,7 +4,7 @@ import { combineLatest, forkJoin, of } from "rxjs";
|
|
|
4
4
|
import { AnalyticsService } from "../../_services/analytics.service";
|
|
5
5
|
import { ContextService } from "../../_services/context.service";
|
|
6
6
|
import { Icon } from "../../_types/icon.enum";
|
|
7
|
-
import { BasketsService,
|
|
7
|
+
import { BasketsService, PointOfSalesService, RecipesService } from "../../_services";
|
|
8
8
|
import { FormBuilder, FormControl, Validators } from "@angular/forms";
|
|
9
9
|
import { skipWhile, switchMap, take, tap } from "rxjs/operators";
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
@@ -150,13 +150,12 @@ const recipeSparseFields = {
|
|
|
150
150
|
['recipe-provider']: ['name']
|
|
151
151
|
};
|
|
152
152
|
export class MealsPlannerComponent extends EventTracerComponent {
|
|
153
|
-
constructor(fb, cdr, analyticsService, contextService,
|
|
153
|
+
constructor(fb, cdr, analyticsService, contextService, recipesService, basketsService, posService) {
|
|
154
154
|
super(analyticsService);
|
|
155
155
|
this.fb = fb;
|
|
156
156
|
this.cdr = cdr;
|
|
157
157
|
this.analyticsService = analyticsService;
|
|
158
158
|
this.contextService = contextService;
|
|
159
|
-
this.groceriesListsService = groceriesListsService;
|
|
160
159
|
this.recipesService = recipesService;
|
|
161
160
|
this.basketsService = basketsService;
|
|
162
161
|
this.posService = posService;
|
|
@@ -176,13 +175,13 @@ export class MealsPlannerComponent extends EventTracerComponent {
|
|
|
176
175
|
this.subscriptions = [];
|
|
177
176
|
}
|
|
178
177
|
ngOnInit() {
|
|
179
|
-
this.contextService.enableMealsPlanner$.pipe(skipWhile(enabled => !enabled), take(1)).subscribe(() => {
|
|
178
|
+
this.subscriptions.push(this.contextService.enableMealsPlanner$.pipe(skipWhile(enabled => !enabled), take(1)).subscribe(() => {
|
|
180
179
|
this.cdr.markForCheck();
|
|
181
180
|
this.featureIsAuthorized = true;
|
|
182
181
|
this.initForm();
|
|
183
182
|
this.pageview();
|
|
184
183
|
this.subscriptions.push(this.initRecipesPricing());
|
|
185
|
-
});
|
|
184
|
+
}));
|
|
186
185
|
}
|
|
187
186
|
ngOnChanges() {
|
|
188
187
|
this.cdr.detectChanges();
|
|
@@ -200,12 +199,7 @@ export class MealsPlannerComponent extends EventTracerComponent {
|
|
|
200
199
|
fetchRecipes(inputs) {
|
|
201
200
|
this.loading = true;
|
|
202
201
|
this.cdr.detectChanges();
|
|
203
|
-
|
|
204
|
-
recipeIncludes.push('ingredients');
|
|
205
|
-
recipeSparseFields.recipes.push('ingredients');
|
|
206
|
-
recipeSparseFields['ingredients'] = ['name', 'quantity', 'unit', 'active', 'forced-eans', 'picture-url', 'position'];
|
|
207
|
-
}
|
|
208
|
-
this.recipesService.plan(inputs.budget, inputs.guestsCount, inputs.recipesCount, recipeIncludes, recipeSparseFields, false).pipe(switchMap(recipes => {
|
|
202
|
+
this.subscriptions.push(this.recipesService.plan(inputs.budget, inputs.guestsCount, inputs.recipesCount, recipeIncludes, recipeSparseFields, false).pipe(switchMap(recipes => {
|
|
209
203
|
this.budgettedRecipes = []; // Refresh the result view
|
|
210
204
|
this.cdr.detectChanges();
|
|
211
205
|
this.budgettedRecipes = recipes.map(r => {
|
|
@@ -221,21 +215,23 @@ export class MealsPlannerComponent extends EventTracerComponent {
|
|
|
221
215
|
this.maxBudget = this.form.value.budget;
|
|
222
216
|
this.cdr.detectChanges();
|
|
223
217
|
this.scrollToTop();
|
|
224
|
-
});
|
|
218
|
+
}));
|
|
225
219
|
}
|
|
226
220
|
ngOnDestroy() {
|
|
227
221
|
this.subscriptions.forEach(s => s.unsubscribe());
|
|
228
222
|
}
|
|
229
223
|
currentPath() { return 'miam/recipes/meals-planner'; }
|
|
224
|
+
// TODO: cut into more methods
|
|
230
225
|
addRecipes() {
|
|
231
226
|
this.loading = true;
|
|
232
227
|
this.scrollToTop();
|
|
233
228
|
this.cdr.detectChanges();
|
|
234
229
|
const previousUsedBudget = this.usedBudget;
|
|
235
230
|
let basketInitialized = false;
|
|
236
|
-
this.
|
|
237
|
-
this.
|
|
238
|
-
|
|
231
|
+
const recipesToAdd = this.budgettedRecipes.filter(r => r === null || r === void 0 ? void 0 : r.id); // remove empty recipes
|
|
232
|
+
this.basketsService.addRecipesToBasket(recipesToAdd.map(r => (r.id)), recipesToAdd[0].modifiedGuests, this.eventTrace());
|
|
233
|
+
this.subscriptions.push(this.basketsService.recipesWillBeAdded().pipe(skipWhile(recipesWillBeAdded => recipesWillBeAdded), take(1), switchMap(() => {
|
|
234
|
+
this.addedRecipesIds = recipesToAdd.map(r => r.id);
|
|
239
235
|
return this.basketsService.basketPreview$.pipe(take(2));
|
|
240
236
|
}), switchMap(basketPreviewLines => {
|
|
241
237
|
if (basketInitialized) {
|
|
@@ -245,7 +241,7 @@ export class MealsPlannerComponent extends EventTracerComponent {
|
|
|
245
241
|
}
|
|
246
242
|
basketInitialized = true;
|
|
247
243
|
return of(null);
|
|
248
|
-
}), switchMap(basketPreviewLines => {
|
|
244
|
+
}), switchMap((basketPreviewLines) => {
|
|
249
245
|
if (basketPreviewLines !== null) {
|
|
250
246
|
if (!this.containsSomeAddedRecipe(basketPreviewLines)) {
|
|
251
247
|
return this.fetchBudgetValues();
|
|
@@ -375,7 +371,7 @@ export class MealsPlannerComponent extends EventTracerComponent {
|
|
|
375
371
|
return this.budgettedRecipes.filter(recipe => recipe).map(recipe => recipe.id);
|
|
376
372
|
}
|
|
377
373
|
}
|
|
378
|
-
MealsPlannerComponent.ɵfac = function MealsPlannerComponent_Factory(t) { return new (t || MealsPlannerComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i3.ContextService), i0.ɵɵdirectiveInject(i4.
|
|
374
|
+
MealsPlannerComponent.ɵfac = function MealsPlannerComponent_Factory(t) { return new (t || MealsPlannerComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i3.ContextService), i0.ɵɵdirectiveInject(i4.RecipesService), i0.ɵɵdirectiveInject(i4.BasketsService), i0.ɵɵdirectiveInject(i4.PointOfSalesService)); };
|
|
379
375
|
MealsPlannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MealsPlannerComponent, selectors: [["ng-miam-meals-planner"]], viewQuery: function MealsPlannerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
380
376
|
i0.ɵɵviewQuery(_c0, true);
|
|
381
377
|
} if (rf & 2) {
|
|
@@ -405,7 +401,7 @@ MealsPlannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MealsPlannerCompone
|
|
|
405
401
|
} if (rf & 2) {
|
|
406
402
|
i0.ɵɵadvance(2);
|
|
407
403
|
i0.ɵɵproperty("ngIf", ctx.featureIsAuthorized);
|
|
408
|
-
} }, directives: [i5.NgIf, i5.NgClass, i6.IconComponent, i7.MealsPlannerFormComponent, i8.MealsPlannerResultComponent, i9.MealsPlannerBasketPreviewComponent, i10.MealsPlannerCatalogComponent, i11.MealsPlannerBasketConfirmationComponent], styles: [".miam-meals-planner{border-bottom:1px solid #d9dde1;display:flex;flex-direction:column;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb{align-items:center;background:#fff;border-bottom:1px solid #d9dde1;display:flex;padding:24px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb.hidden{display:none}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a{font-size:14px;font-weight:500;line-height:150%;margin:0 4px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.inactive{color:#1f3543}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.active{color:var(--m-color-primary);font-weight:900}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right{transform:rotate(-90deg)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right .icon-container svg path:last-child{fill:#1f3543}.miam-meals-planner .miam-meals-planner__content{display:flex;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:1px solid #d9dde1;max-width:300px}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview,.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-result{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview.reduced{width:0}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-catalog{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 80px;width:100%}@media (max-width:1023px){.miam-meals-planner .miam-meals-planner__header{display:none}.miam-meals-planner .miam-meals-planner__content{flex-direction:column}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:unset;max-width:unset}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 15px}}.miam-meals-planner .miam-meals-planner__catalog{padding:16px}"], encapsulation: 2, changeDetection: 0 });
|
|
404
|
+
} }, directives: [i5.NgIf, i5.NgClass, i6.IconComponent, i7.MealsPlannerFormComponent, i8.MealsPlannerResultComponent, i9.MealsPlannerBasketPreviewComponent, i10.MealsPlannerCatalogComponent, i11.MealsPlannerBasketConfirmationComponent], styles: [".miam-meals-planner{border-bottom:1px solid #d9dde1;display:flex;flex-direction:column;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb{align-items:center;background:#fff;border-bottom:1px solid #d9dde1;display:flex;padding:24px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb.hidden{display:none}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a{font-size:14px;font-weight:500;line-height:150%;margin:0 4px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.inactive{color:#1f3543}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.active{color:var(--m-color-primary);font-weight:900}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right{transform:rotate(-90deg)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right .icon-container svg path:last-child{fill:#1f3543}.miam-meals-planner .miam-meals-planner__content{display:flex;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:1px solid #d9dde1;max-width:300px}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview,.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-result{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview.reduced{width:0}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-catalog{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 80px;width:100%}@media (max-width:1023px){.miam-meals-planner .miam-meals-planner__header{display:none}.miam-meals-planner .miam-meals-planner__content{flex-direction:column}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:unset;max-width:unset}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 15px}}.miam-meals-planner .miam-meals-planner__catalog{padding:16px}.miam-meals-planner ng-miam-recipe-card .miam-recipe-card{height:var(--m-catalog-card-height);margin:calc(var(--m-catalog-cards-spacing)/2);width:var(--m-catalog-card-width)}"], encapsulation: 2, changeDetection: 0 });
|
|
409
405
|
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MealsPlannerComponent, [{
|
|
410
406
|
type: Component,
|
|
411
407
|
args: [{
|
|
@@ -415,8 +411,8 @@ MealsPlannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MealsPlannerCompone
|
|
|
415
411
|
encapsulation: ViewEncapsulation.None,
|
|
416
412
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
417
413
|
}]
|
|
418
|
-
}], function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.AnalyticsService }, { type: i3.ContextService }, { type: i4.
|
|
414
|
+
}], function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.AnalyticsService }, { type: i3.ContextService }, { type: i4.RecipesService }, { type: i4.BasketsService }, { type: i4.PointOfSalesService }]; }, { topAnchor: [{
|
|
419
415
|
type: ViewChild,
|
|
420
416
|
args: ['miamMealsPlannerTopAnchor']
|
|
421
417
|
}] }); })();
|
|
422
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhbHMtcGxhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBYSxpQkFBaUIsRUFBcUIsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQTRCLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ1czRCxrQ0FDb0Q7OztJQURFLGtEQUE2Qjs7O0lBRW5GLDZCQUNFO0lBQUEsNEJBQVc7SUFBWCxnQkFBVztJ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Q2hEOzBSQUd5QyxTQUFTO2tCQUFoRCxTQUFTO21CQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBPbkluaXQsIE9uQ2hhbmdlcywgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEV2ZW50VHJhY2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9ldmVudC10cmFjZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZVwiO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vX3NlcnZpY2VzL2NvbnRleHQuc2VydmljZVwiO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUsIFBvaW50T2ZTYWxlLCBSZWNpcGUgfSBmcm9tIFwiLi4vLi4vX21vZGVsc1wiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi8uLi9fdHlwZXMvaWNvbi5lbnVtXCI7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBQb2ludE9mU2FsZXNTZXJ2aWNlLCBSZWNpcGVzU2VydmljZSB9IGZyb20gXCIuLi8uLi9fc2VydmljZXNcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBSZWNpcGVQcmljaW5nIH0gZnJvbSBcIi4uLy4uL19tb2RlbHMvcmVjaXBlLXByaWNpbmdcIjtcblxuY29uc3QgcmVjaXBlSW5jbHVkZXMgPSBbJ3JlY2lwZS1wcm92aWRlcicsICdzcG9uc29ycyddO1xuY29uc3QgcmVjaXBlU3BhcnNlRmllbGRzID0ge1xuICByZWNpcGVzOiBbJ3RpdGxlJywgJ251bWJlci1vZi1ndWVzdHMnLCAnbWVkaWEtdXJsJywgJ3ZpZGVvLWlkJywgJ2ZpbGlncmFuZS1sb2dvLXVybCcsICdkaWZmaWN1bHR5JywgJ3ByZXBhcmF0aW9uLXRpbWUnLCAnY29va2luZy10aW1lJyxcbiAgICAgICAgICAgICdyZXN0aW5nLXRpbWUnLCAuLi5yZWNpcGVJbmNsdWRlc10sXG4gIHNwb25zb3JzOiBbJ2xvZ28tdXJsJ10sXG4gIFsncmVjaXBlLXByb3ZpZGVyJ106IFsnbmFtZSddXG59O1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tbWVhbHMtcGxhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWFscy1wbGFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVhbHMtcGxhbm5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIE1lYWxzUGxhbm5lckNvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ21pYW1NZWFsc1BsYW5uZXJUb3BBbmNob3InKSB0b3BBbmNob3I6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGJ1ZGdldHRlZFJlY2lwZXM6IFJlY2lwZVtdID0gW107XG4gIGJ1ZGdldHRlZFJlY2lwZXNQcmljZXM6IHtcbiAgICBbcmVjaXBlSWQ6IHN0cmluZ106IG51bWJlclxuICB9ID0ge307XG4gIGFkZGVkUmVjaXBlc0lkczogc3RyaW5nW10gPSBbXTtcbiAgaWNvbiA9IEljb247XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgY2F0YWxvZ01vZGUgPSBmYWxzZTtcbiAgcmVjaXBlVG9DaGFuZ2VJbmRleDogbnVtYmVyO1xuICBiYXNrZXRDb25maXJtZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBpbmdyZWRpZW50c1JlZ3JvdXBlZCA9IGZhbHNlO1xuICB0aW1lT25TdGFydCA9IERhdGUubm93KCk7XG4gIGZlYXR1cmVJc0F1dGhvcml6ZWQgPSBmYWxzZTtcblxuICAvLyBQcm9ncmVzcyBiYXJcbiAgdXNlZEJ1ZGdldCA9IDA7XG4gIG1heEJ1ZGdldCA9IDA7XG5cbiAgcHJpdmF0ZSBwb3M6IFBvaW50T2ZTYWxlO1xuICBwcml2YXRlIHByaWNlYm9va0tleTogc3RyaW5nO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmVuYWJsZU1lYWxzUGxhbm5lciQucGlwZShcbiAgICAgIHNraXBXaGlsZShlbmFibGVkID0+ICFlbmFibGVkKSxcbiAgICAgIHRha2UoMSlcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuZmVhdHVyZUlzQXV0aG9yaXplZCA9IHRydWU7XG4gICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICB0aGlzLnBhZ2V2aWV3KCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmluaXRSZWNpcGVzUHJpY2luZygpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIGNvbnN0IHN0b3JlZEZvcm0gPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21pYW0tbWVhbHMtcGxhbm5lci1mb3JtJykpO1xuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ21pYW0tbWVhbHMtcGxhbm5lci1mb3JtJyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBidWRnZXQ6IG5ldyBGb3JtQ29udHJvbChzdG9yZWRGb3JtPy5idWRnZXQgfHwgdW5kZWZpbmVkLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMSldKSxcbiAgICAgIGd1ZXN0c0NvdW50OiBuZXcgRm9ybUNvbnRyb2woc3RvcmVkRm9ybT8uZ3Vlc3RzQ291bnQgfHwgMCwgVmFsaWRhdG9ycy5taW4oMSkpLFxuICAgICAgcmVjaXBlc0NvdW50OiBuZXcgRm9ybUNvbnRyb2woc3RvcmVkRm9ybT8ucmVjaXBlc0NvdW50IHx8ICh0aGlzLmNvbnRleHRTZXJ2aWNlLmFudGlJbmZsYXRpb24gPyAwIDogNCksIFZhbGlkYXRvcnMubWluKDEpKVxuICAgIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGZldGNoUmVjaXBlcyhpbnB1dHM6IHsgYnVkZ2V0OiBudW1iZXIsIGd1ZXN0c0NvdW50OiBudW1iZXIsIHJlY2lwZXNDb3VudDogbnVtYmVyIH0pIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAodGhpcy5jb250ZXh0U2VydmljZS5kaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyAmJiAhcmVjaXBlSW5jbHVkZXMuaW5jbHVkZXMoJ2luZ3JlZGllbnRzJykpIHtcbiAgICAgIHJlY2lwZUluY2x1ZGVzLnB1c2goJ2luZ3JlZGllbnRzJyk7XG4gICAgICByZWNpcGVTcGFyc2VGaWVsZHMucmVjaXBlcy5wdXNoKCdpbmdyZWRpZW50cycpO1xuICAgICAgcmVjaXBlU3BhcnNlRmllbGRzWydpbmdyZWRpZW50cyddID0gWyduYW1lJywgJ3F1YW50aXR5JywgJ3VuaXQnLCAnYWN0aXZlJywgJ2ZvcmNlZC1lYW5zJywgJ3BpY3R1cmUtdXJsJywgJ3Bvc2l0aW9uJ107XG4gICAgfVxuICAgIHRoaXMucmVjaXBlc1NlcnZpY2UucGxhbihcbiAgICAgIGlucHV0cy5idWRnZXQsIGlucHV0cy5ndWVzdHNDb3VudCwgaW5wdXRzLnJlY2lwZXNDb3VudCwgcmVjaXBlSW5jbHVkZXMsIHJlY2lwZVNwYXJzZUZpZWxkcywgZmFsc2VcbiAgICApLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocmVjaXBlcyA9PiB7XG4gICAgICAgIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcyA9IFtdOyAvLyBSZWZyZXNoIHRoZSByZXN1bHQgdmlld1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcyA9IHJlY2lwZXMubWFwKHIgPT4ge1xuICAgICAgICAgIHIubW9kaWZpZWRHdWVzdHMgPSBpbnB1dHMuZ3Vlc3RzQ291bnQ7XG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlY2lwZXNQcmljaW5nKCk7XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKHByaWNpbmdzID0+IHtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IHByaWNpbmdzLnJlZHVjZSgoYWNjLCBwcmljaW5nKSA9PiBhY2MgKyBwcmljaW5nLnByaWNlLCAwKTtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IE1hdGgucm91bmQodGhpcy51c2VkQnVkZ2V0ICogMTAwKSAvIDEwMDtcbiAgICAgIHRoaXMubWF4QnVkZ2V0ID0gdGhpcy5mb3JtLnZhbHVlLmJ1ZGdldDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7IHJldHVybiAnbWlhbS9yZWNpcGVzL21lYWxzLXBsYW5uZXInOyB9XG5cbiAgYWRkUmVjaXBlcygpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgY29uc3QgcHJldmlvdXNVc2VkQnVkZ2V0ID0gdGhpcy51c2VkQnVkZ2V0O1xuICAgIGxldCBiYXNrZXRJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlc1RvTGlzdChcbiAgICAgICAgdGhpcy5idWRnZXR0ZWRSZWNpcGVzLmZpbHRlcihyID0+IHI/LmlkKS5tYXAociA9PiAoeyBpZDogci5pZCwgZ3Vlc3RzOiByLm1vZGlmaWVkR3Vlc3RzIH0pKSwgLy8gcmVtb3ZlIGVtcHR5IHJlY2lwZXNcbiAgICAgICAgdGhpcy5ldmVudFRyYWNlKClcbiAgICAgICkucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFkZGVkUmVjaXBlc0lkcyA9IHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5maWx0ZXIociA9PiByPy5pZCkubWFwKHIgPT4gci5pZCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYmFza2V0c1NlcnZpY2UuYmFza2V0UHJldmlldyQucGlwZSh0YWtlKDIpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcChiYXNrZXRQcmV2aWV3TGluZXMgPT4ge1xuICAgICAgICAgIGlmIChiYXNrZXRJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5mZXRjaEJhc2tldFByZXZpZXdQcmljaW5nKGJhc2tldFByZXZpZXdMaW5lcylcbiAgICAgICAgICAgIHRoaXMuaW5ncmVkaWVudHNSZWdyb3VwZWQgPSBwcmV2aW91c1VzZWRCdWRnZXQgIT09IHRoaXMudXNlZEJ1ZGdldDtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFByZXZpZXckO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiYXNrZXRJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKGJhc2tldFByZXZpZXdMaW5lcyA9PiB7XG4gICAgICAgICAgaWYgKGJhc2tldFByZXZpZXdMaW5lcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zU29tZUFkZGVkUmVjaXBlKGJhc2tldFByZXZpZXdMaW5lcykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCdWRnZXRWYWx1ZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmZldGNoQmFza2V0UHJldmlld1ByaWNpbmcoYmFza2V0UHJldmlld0xpbmVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNTb21lQWRkZWRSZWNpcGUoYmFza2V0UHJldmlld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSB7XG4gICAgbGV0IGNvbnRhaW5zU29tZUFkZGVkUmVjaXBlSWQgPSBmYWxzZTtcbiAgICB0aGlzLmFkZGVkUmVjaXBlc0lkcy5mb3JFYWNoKHJlY2lwZUlkID0+IHtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZXMuc29tZShsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKSkge1xuICAgICAgICBjb250YWluc1NvbWVBZGRlZFJlY2lwZUlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29udGFpbnNTb21lQWRkZWRSZWNpcGVJZDtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCYXNrZXRQcmV2aWV3UHJpY2luZyhiYXNrZXRQcmV2aWV3TGluZXM6IEJhc2tldFByZXZpZXdMaW5lW10pIHtcbiAgICB0aGlzLnVzZWRCdWRnZXQgPSAwO1xuICAgIHRoaXMuYWRkZWRSZWNpcGVzSWRzLmZvckVhY2gocmVjaXBlSWQgPT4ge1xuICAgICAgY29uc3QgYmFza2V0UHJldmlld0xpbmUgPSBiYXNrZXRQcmV2aWV3TGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKTtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZSkge1xuICAgICAgICB0aGlzLnVzZWRCdWRnZXQgKz0gK2Jhc2tldFByZXZpZXdMaW5lLnByaWNlO1xuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlY2lwZXNQcmljaW5nKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucG9zU2VydmljZS5wb3MkLCB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldCRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiAhcmVzdWx0WzBdIHx8ICFyZXN1bHRbMV0pXG4gICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMucG9zID0gcmVzdWx0WzBdO1xuICAgICAgdGhpcy5wcmljZWJvb2tLZXkgPSByZXN1bHRbMV0ucHJpY2Vib29rS2V5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJlY2lwZXNQcmljaW5nKCk6IE9ic2VydmFibGU8UmVjaXBlUHJpY2luZ1tdPiB7XG4gICAgaWYgKHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfHwgIXRoaXMucG9zIHx8ICF0aGlzLmZvcm0udmFsdWUuZ3Vlc3RzQ291bnQpIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RzOiBPYnNlcnZhYmxlPFJlY2lwZVByaWNpbmc+W10gPSBbXTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXMgPSB7fTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZm9yRWFjaChyZWNpcGUgPT4ge1xuICAgICAgaWYgKHJlY2lwZSkge1xuICAgICAgICByZXF1ZXN0cy5wdXNoKHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0UHJpY2luZyhyZWNpcGUuaWQsIHRoaXMucG9zLmlkLCB0aGlzLnByaWNlYm9va0tleSwgdGhpcy5mb3JtLnZhbHVlLmd1ZXN0c0NvdW50KS5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gIXJlc3VsdD8ucHJpY2UpLFxuICAgICAgICAgIHRhcChwcmljaW5nID0+IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1ByaWNlc1tyZWNpcGUuaWRdID0gcHJpY2luZy5wcmljZSlcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3RzLmxlbmd0aCA+IDAgPyBmb3JrSm9pbihyZXF1ZXN0cykgOiBvZihbXSk7XG4gIH1cblxuICB1cGRhdGVCdWRnZXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5mZXRjaEJ1ZGdldFZhbHVlcygpLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCdWRnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hSZWNpcGVzUHJpY2luZygpLnBpcGUodGFwKHByaWNpbmdzID0+IHtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IHByaWNpbmdzLmxlbmd0aCA+IDAgPyBwcmljaW5ncy5yZWR1Y2UoKGFjYywgcHJpY2luZykgPT4gYWNjICsgcHJpY2luZy5wcmljZSwgMCkgOiAwO1xuICAgICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgICAgdGhpcy5tYXhCdWRnZXQgPSB0aGlzLmZvcm0udmFsdWUuYnVkZ2V0O1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pKVxuICB9XG5cbiAgb3BlbkNhdGFsb2cocmVjaXBlVG9DaGFuZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5yZWNpcGVUb0NoYW5nZUluZGV4ID0gcmVjaXBlVG9DaGFuZ2VJbmRleDtcbiAgICB0aGlzLmNhdGFsb2dNb2RlID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xvc2VDYXRhbG9nKCkge1xuICAgIHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA9IG51bGw7XG4gICAgdGhpcy5jYXRhbG9nTW9kZSA9IGZhbHNlO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBlZGl0UmVjaXBlKHJlY2lwZTogUmVjaXBlKSB7XG4gICAgdGhpcy5idWRnZXR0ZWRSZWNpcGVzW3RoaXMucmVjaXBlVG9DaGFuZ2VJbmRleF0gPSByZWNpcGU7XG4gICAgdGhpcy51cGRhdGVCdWRnZXRWYWx1ZXMoKTtcbiAgICB0aGlzLmNsb3NlQ2F0YWxvZygpO1xuICB9XG5cbiAgb3BlbkJhc2tldENvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXggPSBudWxsO1xuICAgIHRoaXMuYmFza2V0Q29uZmlybWVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlbmRDb25maXJtYXRpb25FdmVudCgpO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZW5kQ29uZmlybWF0aW9uRXZlbnQoKSB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudFdoZW5SZWFkeShcbiAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5FVkVOVF9NRUFMU19QTEFOTkVSX0NPTkZJUk1FRCxcbiAgICAgIHRoaXMucGF0aCgpLFxuICAgICAge1xuICAgICAgICBidWRnZXRfdXNlcjogdGhpcy5mb3JtLmdldCgnYnVkZ2V0JykudmFsdWUsXG4gICAgICAgIGJ1ZGdldF9wbGFubmVyOiB0aGlzLnVzZWRCdWRnZXQsXG4gICAgICAgIHJlY2lwZXNfY291bnQ6IHRoaXMuZm9ybS5nZXQoJ3JlY2lwZXNDb3VudCcpLnZhbHVlLFxuICAgICAgICBndWVzdHM6IHRoaXMuZm9ybS5nZXQoJ2d1ZXN0c0NvdW50JykudmFsdWUsXG4gICAgICAgIHVzZXNfY291bnQ6IHRoaXMudXBkYXRlVXNlc0NvdW50KCksXG4gICAgICAgIHRpbWVfcGFzc2VkOiAoRGF0ZS5ub3coKSAtIHRoaXMudGltZU9uU3RhcnQpIC8gMTAwMFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVVc2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBvbGRDb3VudCA9IHBhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcpKTtcbiAgICBjb25zdCBuZXdDb3VudCA9IE51bWJlci5pc05hTihvbGRDb3VudCkgPyAxIDogb2xkQ291bnQgKyAxO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcsIG5ld0NvdW50LnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiBuZXdDb3VudDtcbiAgfVxuXG4gIHNjcm9sbFRvVG9wKCkge1xuICAgIGlmICh0aGlzLnRvcEFuY2hvcikge1xuICAgICAgdGhpcy50b3BBbmNob3IubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZW1haW5pbmdCdWRnZXQoKSB7XG4gICAgY29uc3QgcmVjaXBlVG9DaGFuZ2VJZCA9IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1t0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXhdPy5pZDtcbiAgICBsZXQgcmVtYWluaW5nQnVkZ2V0ID0gdGhpcy5tYXhCdWRnZXQgLSB0aGlzLnVzZWRCdWRnZXQ7XG4gICAgaWYgKHJlY2lwZVRvQ2hhbmdlSWQpIHtcbiAgICAgIHJlbWFpbmluZ0J1ZGdldCArPSB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXNbcmVjaXBlVG9DaGFuZ2VJZF07XG4gICAgfVxuICAgIGlmIChyZW1haW5pbmdCdWRnZXQgPiAwKSB7XG4gICAgICByZXR1cm4gcmVtYWluaW5nQnVkZ2V0O1xuICAgIH1cbiAgICByZXR1cm4gMFxuICB9XG5cbiAgZ2V0IHJlbWFpbmluZ1JlY2lwZXNOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5yZWR1Y2UoKGFjYywgcmVjaXBlLCBpKSA9PiB7XG4gICAgICAvLyBEb24ndCBjb3VudCBudWxsIHJlY2lwZXMgYW5kIGN1cnJlbnRseSByZXBsYWNpbmcgcmVjaXBlXG4gICAgICByZXR1cm4gcmVjaXBlICYmIGkgIT09IHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA/IGFjYyA6IGFjYyArIDE7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgZXhjbHVkZWRSZWNpcGVzSWRzKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZmlsdGVyKHJlY2lwZSA9PiByZWNpcGUpLm1hcChyZWNpcGUgPT4gcmVjaXBlLmlkKTtcbiAgfVxufVxuIiwiPGRpdiAjbWlhbU1lYWxzUGxhbm5lclRvcEFuY2hvciBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lci1hbmNob3JcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJcIiAqbmdJZj1cImZlYXR1cmVJc0F1dGhvcml6ZWRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyX19icmVhZGNydW1iXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuJzogYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfVwiPlxuICAgICAgPGEgaHJlZj1cIi9cIj5cbiAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhvbWVcIlxuICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCIjMUYzNTQzXCJcbiAgICAgICAgPjwvbmctbWlhbS1pY29uPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgW2hyZWZdPVwiY29udGV4dFNlcnZpY2UuY2F0YWxvZ1VybFwiIGNsYXNzPVwiaW5hY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5JZMOpZXMgcmVwYXM8L3NwYW4+XG4gICAgICA8L2E+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCIgY2xhc3M9XCJjaGV2cm9uLXJpZ2h0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJhY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5QbGFuaWZpZXIgbWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cImNhdGFsb2dNb2RlICYmICFiYXNrZXRDb25maXJtZWRcIiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgKm5nSWY9XCJjYXRhbG9nTW9kZSAmJiAhYmFza2V0Q29uZmlybWVkXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwic3ViQ2F0ZWdvcnlcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5Bam91dGVyIHVuZSBpZMOpZSByZXBhczwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJfX2NvbnRlbnRcIiAqbmdJZj1cImZvcm1cIj5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWZvcm1cbiAgICAgICpuZ0lmPVwiYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWR1Y2VkXT1cImJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMFwiIFtmb3JtXT1cImZvcm1cIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChzdWJtaXR0ZWQpPVwiZmV0Y2hSZWNpcGVzKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAncmVkdWNlZCc6IGJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMCB9XCI+PC9uZy1taWFtLW1lYWxzLXBsYW5uZXItZm9ybT5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLXJlc3VsdFxuICAgICAgKm5nSWY9XCJidWRnZXR0ZWRSZWNpcGVzLmxlbmd0aCA+IDAgJiYgYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWNpcGVzXT1cImJ1ZGdldHRlZFJlY2lwZXNcIiBbdXNlZEJ1ZGdldF09XCJ1c2VkQnVkZ2V0XCIgW21heEJ1ZGdldF09XCJtYXhCdWRnZXRcIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChyZWNpcGVSZW1vdmFsKT1cInVwZGF0ZUJ1ZGdldFZhbHVlcygpXCJcbiAgICAgIChjb25maXJtZWQpPVwiYWRkUmVjaXBlcygpXCIgKG9wZW5DYXRhbG9nKT1cIm9wZW5DYXRhbG9nKCRldmVudClcIj48L25nLW1pYW0tbWVhbHMtcGxhbm5lci1yZXN1bHQ+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlld1xuICAgICAgKm5nSWY9XCJhZGRlZFJlY2lwZXNJZHMubGVuZ3RoID4gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW3VzZWRCdWRnZXRdPVwidXNlZEJ1ZGdldFwiXG4gICAgICBbbWF4QnVkZ2V0XT1cIm1heEJ1ZGdldFwiXG4gICAgICBbaW5ncmVkaWVudHNSZWdyb3VwZWRdPVwiaW5ncmVkaWVudHNSZWdyb3VwZWRcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdyZWR1Y2VkJzogYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZH1cIlxuICAgICAgKGNsb3NlZCk9XCJvcGVuQmFza2V0Q29uZmlybWF0aW9uKClcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlldz5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2dcbiAgICAgICpuZ0lmPVwiY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbbW9kaWZpZWRHdWVzdHNdPVwiZm9ybS52YWx1ZS5ndWVzdHNDb3VudFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZW1haW5pbmdCdWRnZXRdPVwicmVtYWluaW5nQnVkZ2V0XCJcbiAgICAgIFtyZW1haW5pbmdSZWNpcGVzTnVtYmVyXT1cInJlbWFpbmluZ1JlY2lwZXNOdW1iZXJcIlxuICAgICAgW2V4Y2x1ZGVkUmVjaXBlc0lkc109XCJleGNsdWRlZFJlY2lwZXNJZHNcIlxuICAgICAgKGVkaXRSZWNpcGUpPVwiZWRpdFJlY2lwZSgkZXZlbnQpXCJcbiAgICAgIChjYW5jZWxlZCk9XCJjbG9zZUNhdGFsb2coKVwiPlxuICAgIDwvbmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2c+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uXG4gICAgICAqbmdJZj1cImJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbYnVkZ2V0XT1cInVzZWRCdWRnZXRcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
418
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhbHMtcGxhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBYSxpQkFBaUIsRUFBcUIsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQTRCLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ1czRCxrQ0FDb0Q7OztJQURFLGtEQUE2Qjs7O0lBRW5GLDZCQUNFO0lBQUEsNEJBQVc7SUFBWCxnQkFBVztJQUFzQixpQkFBTztJ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QUNyRCwwREFBMEQ7WUFDMUQsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7MEZBMVJVLHFCQUFxQjswREFBckIscUJBQXFCOzs7Ozs7Ozs7O2lCQ2ZmLFVBQUEsNEVBQVc7Ozs7OztpQkFJWCxVQUFBLG1GQUFtQjs7Ozs7O2lCQUtuQixVQUFBLHVGQUFzQjs7UUF2QnpDLDRCQUF3RTtRQUN4RSx3RUFDRTs7UUFEOEIsZUFBMkI7UUFBM0IsOENBQTJCOztrREQ0QjlDLHFCQUFxQjtjQVJqQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsV0FBVyxFQUFFLGdDQUFnQztnQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7Z0JBQzdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzUEFHeUMsU0FBUztrQkFBaEQsU0FBUzttQkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFdmVudFRyYWNlckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gXCIuLi8uLi9fc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2VcIjtcbmltcG9ydCB7IEJhc2tldFByZXZpZXdMaW5lLCBQb2ludE9mU2FsZSwgUmVjaXBlIH0gZnJvbSBcIi4uLy4uL19tb2RlbHNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiLi4vLi4vX3R5cGVzL2ljb24uZW51bVwiO1xuaW1wb3J0IHsgQmFza2V0c1NlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFJlY2lwZVByaWNpbmcgfSBmcm9tIFwiLi4vLi4vX21vZGVscy9yZWNpcGUtcHJpY2luZ1wiO1xuXG5jb25zdCByZWNpcGVJbmNsdWRlcyA9IFsncmVjaXBlLXByb3ZpZGVyJywgJ3Nwb25zb3JzJ107XG5jb25zdCByZWNpcGVTcGFyc2VGaWVsZHMgPSB7XG4gIHJlY2lwZXM6IFsndGl0bGUnLCAnbnVtYmVyLW9mLWd1ZXN0cycsICdtZWRpYS11cmwnLCAndmlkZW8taWQnLCAnZmlsaWdyYW5lLWxvZ28tdXJsJywgJ2RpZmZpY3VsdHknLCAncHJlcGFyYXRpb24tdGltZScsICdjb29raW5nLXRpbWUnLFxuICAgICAgICAgICAgJ3Jlc3RpbmctdGltZScsIC4uLnJlY2lwZUluY2x1ZGVzXSxcbiAgc3BvbnNvcnM6IFsnbG9nby11cmwnXSxcbiAgWydyZWNpcGUtcHJvdmlkZXInXTogWyduYW1lJ11cbn07XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1tZWFscy1wbGFubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lYWxzLXBsYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZWFscy1wbGFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTWVhbHNQbGFubmVyQ29tcG9uZW50IGV4dGVuZHMgRXZlbnRUcmFjZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZCgnbWlhbU1lYWxzUGxhbm5lclRvcEFuY2hvcicpIHRvcEFuY2hvcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgYnVkZ2V0dGVkUmVjaXBlczogUmVjaXBlW10gPSBbXTtcbiAgYnVkZ2V0dGVkUmVjaXBlc1ByaWNlczoge1xuICAgIFtyZWNpcGVJZDogc3RyaW5nXTogbnVtYmVyXG4gIH0gPSB7fTtcbiAgYWRkZWRSZWNpcGVzSWRzOiBzdHJpbmdbXSA9IFtdO1xuICBpY29uID0gSWNvbjtcbiAgZm9ybTogRm9ybUdyb3VwO1xuICBjYXRhbG9nTW9kZSA9IGZhbHNlO1xuICByZWNpcGVUb0NoYW5nZUluZGV4OiBudW1iZXI7XG4gIGJhc2tldENvbmZpcm1lZCA9IGZhbHNlO1xuICBsb2FkaW5nID0gZmFsc2U7XG4gIGluZ3JlZGllbnRzUmVncm91cGVkID0gZmFsc2U7XG4gIHRpbWVPblN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgZmVhdHVyZUlzQXV0aG9yaXplZCA9IGZhbHNlO1xuXG4gIC8vIFByb2dyZXNzIGJhclxuICB1c2VkQnVkZ2V0ID0gMDtcbiAgbWF4QnVkZ2V0ID0gMDtcblxuICBwcml2YXRlIHBvczogUG9pbnRPZlNhbGU7XG4gIHByaXZhdGUgcHJpY2Vib29rS2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGFuYWx5dGljc1NlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmVuYWJsZU1lYWxzUGxhbm5lciQucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKGVuYWJsZWQgPT4gIWVuYWJsZWQpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLmZlYXR1cmVJc0F1dGhvcml6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIHRoaXMucGFnZXZpZXcoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5pbml0UmVjaXBlc1ByaWNpbmcoKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICBjb25zdCBzdG9yZWRGb3JtID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItZm9ybScpKTtcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItZm9ybScpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgYnVkZ2V0OiBuZXcgRm9ybUNvbnRyb2woc3RvcmVkRm9ybT8uYnVkZ2V0IHx8IHVuZGVmaW5lZCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDEpXSksXG4gICAgICBndWVzdHNDb3VudDogbmV3IEZvcm1Db250cm9sKHN0b3JlZEZvcm0/Lmd1ZXN0c0NvdW50IHx8IDAsIFZhbGlkYXRvcnMubWluKDEpKSxcbiAgICAgIHJlY2lwZXNDb3VudDogbmV3IEZvcm1Db250cm9sKHN0b3JlZEZvcm0/LnJlY2lwZXNDb3VudCB8fCAodGhpcy5jb250ZXh0U2VydmljZS5hbnRpSW5mbGF0aW9uID8gMCA6IDQpLCBWYWxpZGF0b3JzLm1pbigxKSlcbiAgICB9KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBmZXRjaFJlY2lwZXMoaW5wdXRzOiB7IGJ1ZGdldDogbnVtYmVyLCBndWVzdHNDb3VudDogbnVtYmVyLCByZWNpcGVzQ291bnQ6IG51bWJlciB9KSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLnBsYW4oXG4gICAgICAgIGlucHV0cy5idWRnZXQsIGlucHV0cy5ndWVzdHNDb3VudCwgaW5wdXRzLnJlY2lwZXNDb3VudCwgcmVjaXBlSW5jbHVkZXMsIHJlY2lwZVNwYXJzZUZpZWxkcywgZmFsc2VcbiAgICAgICkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHJlY2lwZXMgPT4ge1xuICAgICAgICAgIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcyA9IFtdOyAvLyBSZWZyZXNoIHRoZSByZXN1bHQgdmlld1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMgPSByZWNpcGVzLm1hcChyID0+IHtcbiAgICAgICAgICAgIHIubW9kaWZpZWRHdWVzdHMgPSBpbnB1dHMuZ3Vlc3RzQ291bnQ7XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZWNpcGVzUHJpY2luZygpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUocHJpY2luZ3MgPT4ge1xuICAgICAgICB0aGlzLnVzZWRCdWRnZXQgPSBwcmljaW5ncy5yZWR1Y2UoKGFjYywgcHJpY2luZykgPT4gYWNjICsgcHJpY2luZy5wcmljZSwgMCk7XG4gICAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IE1hdGgucm91bmQodGhpcy51c2VkQnVkZ2V0ICogMTAwKSAvIDEwMDtcbiAgICAgICAgdGhpcy5tYXhCdWRnZXQgPSB0aGlzLmZvcm0udmFsdWUuYnVkZ2V0O1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7IHJldHVybiAnbWlhbS9yZWNpcGVzL21lYWxzLXBsYW5uZXInOyB9XG5cbiAgLy8gVE9ETzogY3V0IGludG8gbW9yZSBtZXRob2RzXG4gIGFkZFJlY2lwZXMoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGNvbnN0IHByZXZpb3VzVXNlZEJ1ZGdldCA9IHRoaXMudXNlZEJ1ZGdldDtcbiAgICBsZXQgYmFza2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBjb25zdCByZWNpcGVzVG9BZGQgPSB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZmlsdGVyKHIgPT4gcj8uaWQpOyAvLyByZW1vdmUgZW1wdHkgcmVjaXBlc1xuICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuYWRkUmVjaXBlc1RvQmFza2V0KHJlY2lwZXNUb0FkZC5tYXAociA9PiAoci5pZCkpLCByZWNpcGVzVG9BZGRbMF0ubW9kaWZpZWRHdWVzdHMsIHRoaXMuZXZlbnRUcmFjZSgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UucmVjaXBlc1dpbGxCZUFkZGVkKCkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlY2lwZXNXaWxsQmVBZGRlZCA9PiByZWNpcGVzV2lsbEJlQWRkZWQpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWRkZWRSZWNpcGVzSWRzID0gcmVjaXBlc1RvQWRkLm1hcChyID0+IHIuaWQpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFByZXZpZXckLnBpcGUodGFrZSgyKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoYmFza2V0UHJldmlld0xpbmVzID0+IHtcbiAgICAgICAgICBpZiAoYmFza2V0SW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hCYXNrZXRQcmV2aWV3UHJpY2luZyhiYXNrZXRQcmV2aWV3TGluZXMpXG4gICAgICAgICAgICB0aGlzLmluZ3JlZGllbnRzUmVncm91cGVkID0gcHJldmlvdXNVc2VkQnVkZ2V0ICE9PSB0aGlzLnVzZWRCdWRnZXQ7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXRQcmV2aWV3JDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYmFza2V0SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgoYmFza2V0UHJldmlld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSA9PiB7XG4gICAgICAgICAgaWYgKGJhc2tldFByZXZpZXdMaW5lcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zU29tZUFkZGVkUmVjaXBlKGJhc2tldFByZXZpZXdMaW5lcykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCdWRnZXRWYWx1ZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmZldGNoQmFza2V0UHJldmlld1ByaWNpbmcoYmFza2V0UHJldmlld0xpbmVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNTb21lQWRkZWRSZWNpcGUoYmFza2V0UHJldmlld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSB7XG4gICAgbGV0IGNvbnRhaW5zU29tZUFkZGVkUmVjaXBlSWQgPSBmYWxzZTtcbiAgICB0aGlzLmFkZGVkUmVjaXBlc0lkcy5mb3JFYWNoKHJlY2lwZUlkID0+IHtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZXMuc29tZShsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKSkge1xuICAgICAgICBjb250YWluc1NvbWVBZGRlZFJlY2lwZUlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29udGFpbnNTb21lQWRkZWRSZWNpcGVJZDtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCYXNrZXRQcmV2aWV3UHJpY2luZyhiYXNrZXRQcmV2aWV3TGluZXM6IEJhc2tldFByZXZpZXdMaW5lW10pIHtcbiAgICB0aGlzLnVzZWRCdWRnZXQgPSAwO1xuICAgIHRoaXMuYWRkZWRSZWNpcGVzSWRzLmZvckVhY2gocmVjaXBlSWQgPT4ge1xuICAgICAgY29uc3QgYmFza2V0UHJldmlld0xpbmUgPSBiYXNrZXRQcmV2aWV3TGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKTtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZSkge1xuICAgICAgICB0aGlzLnVzZWRCdWRnZXQgKz0gK2Jhc2tldFByZXZpZXdMaW5lLnByaWNlO1xuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlY2lwZXNQcmljaW5nKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucG9zU2VydmljZS5wb3MkLCB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldCRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiAhcmVzdWx0WzBdIHx8ICFyZXN1bHRbMV0pXG4gICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMucG9zID0gcmVzdWx0WzBdO1xuICAgICAgdGhpcy5wcmljZWJvb2tLZXkgPSByZXN1bHRbMV0ucHJpY2Vib29rS2V5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJlY2lwZXNQcmljaW5nKCk6IE9ic2VydmFibGU8UmVjaXBlUHJpY2luZ1tdPiB7XG4gICAgaWYgKHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfHwgIXRoaXMucG9zIHx8ICF0aGlzLmZvcm0udmFsdWUuZ3Vlc3RzQ291bnQpIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RzOiBPYnNlcnZhYmxlPFJlY2lwZVByaWNpbmc+W10gPSBbXTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXMgPSB7fTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZm9yRWFjaChyZWNpcGUgPT4ge1xuICAgICAgaWYgKHJlY2lwZSkge1xuICAgICAgICByZXF1ZXN0cy5wdXNoKHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0UHJpY2luZyhyZWNpcGUuaWQsIHRoaXMucG9zLmlkLCB0aGlzLnByaWNlYm9va0tleSwgdGhpcy5mb3JtLnZhbHVlLmd1ZXN0c0NvdW50KS5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gIXJlc3VsdD8ucHJpY2UpLFxuICAgICAgICAgIHRhcChwcmljaW5nID0+IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1ByaWNlc1tyZWNpcGUuaWRdID0gcHJpY2luZy5wcmljZSlcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3RzLmxlbmd0aCA+IDAgPyBmb3JrSm9pbihyZXF1ZXN0cykgOiBvZihbXSk7XG4gIH1cblxuICB1cGRhdGVCdWRnZXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5mZXRjaEJ1ZGdldFZhbHVlcygpLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCdWRnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hSZWNpcGVzUHJpY2luZygpLnBpcGUodGFwKHByaWNpbmdzID0+IHtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IHByaWNpbmdzLmxlbmd0aCA+IDAgPyBwcmljaW5ncy5yZWR1Y2UoKGFjYywgcHJpY2luZykgPT4gYWNjICsgcHJpY2luZy5wcmljZSwgMCkgOiAwO1xuICAgICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgICAgdGhpcy5tYXhCdWRnZXQgPSB0aGlzLmZvcm0udmFsdWUuYnVkZ2V0O1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pKVxuICB9XG5cbiAgb3BlbkNhdGFsb2cocmVjaXBlVG9DaGFuZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5yZWNpcGVUb0NoYW5nZUluZGV4ID0gcmVjaXBlVG9DaGFuZ2VJbmRleDtcbiAgICB0aGlzLmNhdGFsb2dNb2RlID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xvc2VDYXRhbG9nKCkge1xuICAgIHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA9IG51bGw7XG4gICAgdGhpcy5jYXRhbG9nTW9kZSA9IGZhbHNlO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBlZGl0UmVjaXBlKHJlY2lwZTogUmVjaXBlKSB7XG4gICAgdGhpcy5idWRnZXR0ZWRSZWNpcGVzW3RoaXMucmVjaXBlVG9DaGFuZ2VJbmRleF0gPSByZWNpcGU7XG4gICAgdGhpcy51cGRhdGVCdWRnZXRWYWx1ZXMoKTtcbiAgICB0aGlzLmNsb3NlQ2F0YWxvZygpO1xuICB9XG5cbiAgb3BlbkJhc2tldENvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXggPSBudWxsO1xuICAgIHRoaXMuYmFza2V0Q29uZmlybWVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlbmRDb25maXJtYXRpb25FdmVudCgpO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZW5kQ29uZmlybWF0aW9uRXZlbnQoKSB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudFdoZW5SZWFkeShcbiAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5FVkVOVF9NRUFMU19QTEFOTkVSX0NPTkZJUk1FRCxcbiAgICAgIHRoaXMucGF0aCgpLFxuICAgICAge1xuICAgICAgICBidWRnZXRfdXNlcjogdGhpcy5mb3JtLmdldCgnYnVkZ2V0JykudmFsdWUsXG4gICAgICAgIGJ1ZGdldF9wbGFubmVyOiB0aGlzLnVzZWRCdWRnZXQsXG4gICAgICAgIHJlY2lwZXNfY291bnQ6IHRoaXMuZm9ybS5nZXQoJ3JlY2lwZXNDb3VudCcpLnZhbHVlLFxuICAgICAgICBndWVzdHM6IHRoaXMuZm9ybS5nZXQoJ2d1ZXN0c0NvdW50JykudmFsdWUsXG4gICAgICAgIHVzZXNfY291bnQ6IHRoaXMudXBkYXRlVXNlc0NvdW50KCksXG4gICAgICAgIHRpbWVfcGFzc2VkOiAoRGF0ZS5ub3coKSAtIHRoaXMudGltZU9uU3RhcnQpIC8gMTAwMFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVVc2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBvbGRDb3VudCA9IHBhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcpKTtcbiAgICBjb25zdCBuZXdDb3VudCA9IE51bWJlci5pc05hTihvbGRDb3VudCkgPyAxIDogb2xkQ291bnQgKyAxO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcsIG5ld0NvdW50LnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiBuZXdDb3VudDtcbiAgfVxuXG4gIHNjcm9sbFRvVG9wKCkge1xuICAgIGlmICh0aGlzLnRvcEFuY2hvcikge1xuICAgICAgdGhpcy50b3BBbmNob3IubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZW1haW5pbmdCdWRnZXQoKSB7XG4gICAgY29uc3QgcmVjaXBlVG9DaGFuZ2VJZCA9IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1t0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXhdPy5pZDtcbiAgICBsZXQgcmVtYWluaW5nQnVkZ2V0ID0gdGhpcy5tYXhCdWRnZXQgLSB0aGlzLnVzZWRCdWRnZXQ7XG4gICAgaWYgKHJlY2lwZVRvQ2hhbmdlSWQpIHtcbiAgICAgIHJlbWFpbmluZ0J1ZGdldCArPSB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXNbcmVjaXBlVG9DaGFuZ2VJZF07XG4gICAgfVxuICAgIGlmIChyZW1haW5pbmdCdWRnZXQgPiAwKSB7XG4gICAgICByZXR1cm4gcmVtYWluaW5nQnVkZ2V0O1xuICAgIH1cbiAgICByZXR1cm4gMFxuICB9XG5cbiAgZ2V0IHJlbWFpbmluZ1JlY2lwZXNOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5yZWR1Y2UoKGFjYywgcmVjaXBlLCBpKSA9PiB7XG4gICAgICAvLyBEb24ndCBjb3VudCBudWxsIHJlY2lwZXMgYW5kIGN1cnJlbnRseSByZXBsYWNpbmcgcmVjaXBlXG4gICAgICByZXR1cm4gcmVjaXBlICYmIGkgIT09IHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA/IGFjYyA6IGFjYyArIDE7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgZXhjbHVkZWRSZWNpcGVzSWRzKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZmlsdGVyKHJlY2lwZSA9PiByZWNpcGUpLm1hcChyZWNpcGUgPT4gcmVjaXBlLmlkKTtcbiAgfVxufVxuIiwiPGRpdiAjbWlhbU1lYWxzUGxhbm5lclRvcEFuY2hvciBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lci1hbmNob3JcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJcIiAqbmdJZj1cImZlYXR1cmVJc0F1dGhvcml6ZWRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyX19icmVhZGNydW1iXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuJzogYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfVwiPlxuICAgICAgPGEgaHJlZj1cIi9cIj5cbiAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhvbWVcIlxuICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCIjMUYzNTQzXCJcbiAgICAgICAgPjwvbmctbWlhbS1pY29uPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgW2hyZWZdPVwiY29udGV4dFNlcnZpY2UuY2F0YWxvZ1VybFwiIGNsYXNzPVwiaW5hY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5JZMOpZXMgcmVwYXM8L3NwYW4+XG4gICAgICA8L2E+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCIgY2xhc3M9XCJjaGV2cm9uLXJpZ2h0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJhY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5QbGFuaWZpZXIgbWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cImNhdGFsb2dNb2RlICYmICFiYXNrZXRDb25maXJtZWRcIiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgKm5nSWY9XCJjYXRhbG9nTW9kZSAmJiAhYmFza2V0Q29uZmlybWVkXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwic3ViQ2F0ZWdvcnlcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5Bam91dGVyIHVuZSBpZMOpZSByZXBhczwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJfX2NvbnRlbnRcIiAqbmdJZj1cImZvcm1cIj5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWZvcm1cbiAgICAgICpuZ0lmPVwiYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWR1Y2VkXT1cImJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMFwiIFtmb3JtXT1cImZvcm1cIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChzdWJtaXR0ZWQpPVwiZmV0Y2hSZWNpcGVzKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAncmVkdWNlZCc6IGJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMCB9XCI+PC9uZy1taWFtLW1lYWxzLXBsYW5uZXItZm9ybT5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLXJlc3VsdFxuICAgICAgKm5nSWY9XCJidWRnZXR0ZWRSZWNpcGVzLmxlbmd0aCA+IDAgJiYgYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWNpcGVzXT1cImJ1ZGdldHRlZFJlY2lwZXNcIiBbdXNlZEJ1ZGdldF09XCJ1c2VkQnVkZ2V0XCIgW21heEJ1ZGdldF09XCJtYXhCdWRnZXRcIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChyZWNpcGVSZW1vdmFsKT1cInVwZGF0ZUJ1ZGdldFZhbHVlcygpXCJcbiAgICAgIChjb25maXJtZWQpPVwiYWRkUmVjaXBlcygpXCIgKG9wZW5DYXRhbG9nKT1cIm9wZW5DYXRhbG9nKCRldmVudClcIj48L25nLW1pYW0tbWVhbHMtcGxhbm5lci1yZXN1bHQ+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlld1xuICAgICAgKm5nSWY9XCJhZGRlZFJlY2lwZXNJZHMubGVuZ3RoID4gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW3VzZWRCdWRnZXRdPVwidXNlZEJ1ZGdldFwiXG4gICAgICBbbWF4QnVkZ2V0XT1cIm1heEJ1ZGdldFwiXG4gICAgICBbaW5ncmVkaWVudHNSZWdyb3VwZWRdPVwiaW5ncmVkaWVudHNSZWdyb3VwZWRcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdyZWR1Y2VkJzogYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZH1cIlxuICAgICAgKGNsb3NlZCk9XCJvcGVuQmFza2V0Q29uZmlybWF0aW9uKClcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlldz5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2dcbiAgICAgICpuZ0lmPVwiY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbbW9kaWZpZWRHdWVzdHNdPVwiZm9ybS52YWx1ZS5ndWVzdHNDb3VudFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZW1haW5pbmdCdWRnZXRdPVwicmVtYWluaW5nQnVkZ2V0XCJcbiAgICAgIFtyZW1haW5pbmdSZWNpcGVzTnVtYmVyXT1cInJlbWFpbmluZ1JlY2lwZXNOdW1iZXJcIlxuICAgICAgW2V4Y2x1ZGVkUmVjaXBlc0lkc109XCJleGNsdWRlZFJlY2lwZXNJZHNcIlxuICAgICAgKGVkaXRSZWNpcGUpPVwiZWRpdFJlY2lwZSgkZXZlbnQpXCJcbiAgICAgIChjYW5jZWxlZCk9XCJjbG9zZUNhdGFsb2coKVwiPlxuICAgIDwvbmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2c+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uXG4gICAgICAqbmdJZj1cImJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbYnVkZ2V0XT1cInVzZWRCdWRnZXRcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -6,25 +6,6 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
import * as i1 from "../../_services";
|
|
7
7
|
import * as i2 from "../../_services/calendar-events.service";
|
|
8
8
|
import * as i3 from "../../_components/tabs/tabs.component";
|
|
9
|
-
import * as i4 from "../../_components/tabs/tab-item.component";
|
|
10
|
-
import * as i5 from "../../_components/tabs/tab-label.component";
|
|
11
|
-
import * as i6 from "../../_components/tabs/tab-body.component";
|
|
12
|
-
import * as i7 from "@angular/common";
|
|
13
|
-
import * as i8 from "angular-draggable-droppable";
|
|
14
|
-
const _c0 = function (a0) { return { event: a0 }; };
|
|
15
|
-
function PlannerSideMenuComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
-
i0.ɵɵelementStart(0, "div", 3);
|
|
17
|
-
i0.ɵɵelement(1, "img", 4);
|
|
18
|
-
i0.ɵɵtext(2);
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
} if (rf & 2) {
|
|
21
|
-
const event_r1 = ctx.$implicit;
|
|
22
|
-
i0.ɵɵproperty("dropData", i0.ɵɵpureFunction1(3, _c0, event_r1));
|
|
23
|
-
i0.ɵɵadvance(1);
|
|
24
|
-
i0.ɵɵproperty("src", event_r1.recipe == null ? null : event_r1.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
|
|
25
|
-
i0.ɵɵadvance(1);
|
|
26
|
-
i0.ɵɵtextInterpolate1(" ", event_r1.title, " ");
|
|
27
|
-
} }
|
|
28
9
|
export class PlannerSideMenuComponent {
|
|
29
10
|
constructor(cdr, recipesService, calendarEventsService) {
|
|
30
11
|
this.cdr = cdr;
|
|
@@ -46,41 +27,11 @@ export class PlannerSideMenuComponent {
|
|
|
46
27
|
}
|
|
47
28
|
}
|
|
48
29
|
PlannerSideMenuComponent.ɵfac = function PlannerSideMenuComponent_Factory(t) { return new (t || PlannerSideMenuComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i2.CalendarEventsService)); };
|
|
49
|
-
PlannerSideMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PlannerSideMenuComponent, selectors: [["ng-miam-planner-side-menu"]], decls:
|
|
30
|
+
PlannerSideMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PlannerSideMenuComponent, selectors: [["ng-miam-planner-side-menu"]], decls: 2, vars: 0, consts: [[1, "planner-side-menu"]], template: function PlannerSideMenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
50
31
|
i0.ɵɵelementStart(0, "div", 0);
|
|
51
|
-
i0.ɵɵ
|
|
52
|
-
i0.ɵɵelementStart(2, "ng-miam-tab-item");
|
|
53
|
-
i0.ɵɵelementStart(3, "ng-miam-tab-label");
|
|
54
|
-
i0.ɵɵtext(4, "Des recettes");
|
|
32
|
+
i0.ɵɵelement(1, "ng-miam-tabs");
|
|
55
33
|
i0.ɵɵelementEnd();
|
|
56
|
-
|
|
57
|
-
i0.ɵɵelementStart(6, "div", 1);
|
|
58
|
-
i0.ɵɵtemplate(7, PlannerSideMenuComponent_div_7_Template, 3, 5, "div", 2);
|
|
59
|
-
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵelementEnd();
|
|
61
|
-
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementStart(8, "ng-miam-tab-item");
|
|
63
|
-
i0.ɵɵelementStart(9, "ng-miam-tab-label");
|
|
64
|
-
i0.ɵɵtext(10, "Pas des recettes");
|
|
65
|
-
i0.ɵɵelementEnd();
|
|
66
|
-
i0.ɵɵelementStart(11, "ng-miam-tab-body");
|
|
67
|
-
i0.ɵɵtext(12, " Oups... Pas de recettes par ici \u00AF\\_(\u30C4)_/\u00AF ");
|
|
68
|
-
i0.ɵɵelementEnd();
|
|
69
|
-
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(13, "ng-miam-tab-item");
|
|
71
|
-
i0.ɵɵelementStart(14, "ng-miam-tab-label");
|
|
72
|
-
i0.ɵɵtext(15, "Rien");
|
|
73
|
-
i0.ɵɵelementEnd();
|
|
74
|
-
i0.ɵɵelementStart(16, "ng-miam-tab-body");
|
|
75
|
-
i0.ɵɵtext(17, " Y a rien ici ");
|
|
76
|
-
i0.ɵɵelementEnd();
|
|
77
|
-
i0.ɵɵelementEnd();
|
|
78
|
-
i0.ɵɵelementEnd();
|
|
79
|
-
i0.ɵɵelementEnd();
|
|
80
|
-
} if (rf & 2) {
|
|
81
|
-
i0.ɵɵadvance(7);
|
|
82
|
-
i0.ɵɵproperty("ngForOf", ctx.events);
|
|
83
|
-
} }, directives: [i3.TabsComponent, i4.TabItemComponent, i5.TabLabelComponent, i6.TabBodyComponent, i7.NgForOf, i8.ɵb], styles: [".planner-side-menu{background-color:var(--m-color-white);border-right:3px solid var(--m-color-primary-dark);height:100%;width:100%}.events-list .event img{-o-object-fit:contain;max-width:80px;object-fit:contain}"], encapsulation: 2, changeDetection: 0 });
|
|
34
|
+
} }, directives: [i3.TabsComponent], styles: [".planner-side-menu{background-color:var(--m-color-white);border-right:3px solid var(--m-color-primary-dark);height:100%;width:100%}.events-list .event img{-o-object-fit:contain;max-width:80px;object-fit:contain}"], encapsulation: 2, changeDetection: 0 });
|
|
84
35
|
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PlannerSideMenuComponent, [{
|
|
85
36
|
type: Component,
|
|
86
37
|
args: [{
|
|
@@ -91,4 +42,4 @@ PlannerSideMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PlannerSideMenuC
|
|
|
91
42
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
92
43
|
}]
|
|
93
44
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipesService }, { type: i2.CalendarEventsService }]; }, null); })();
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcGxhbm5lci1zaWRlLW1lbnUvcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9wbGFubmVyLXNpZGUtbWVudS9wbGFubmVyLXNpZGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7O0FBV2hGLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFDVSxHQUFzQixFQUN0QixjQUE4QixFQUM5QixxQkFBNEM7UUFGNUMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFMdEQsV0FBTSxHQUFvQixFQUFFLENBQUM7SUFNekIsQ0FBQztJQUVMLFFBQVE7UUFFTiw4R0FBOEc7UUFDOUcsK0ZBQStGO1FBQy9GLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUM1QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ2pDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnR0F4QlUsd0JBQXdCOzZEQUF4Qix3QkFBd0I7UUNmckMsOEJBQ0U7UUFBQSwrQkFDZTtRQUNqQixpQkFBTTs7a0REWU8sd0JBQXdCO2NBUHBDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxXQUFXLEVBQUUsb0NBQW9DO2dCQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDakQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2NhbGVuZGFyLWV2ZW50JztcbmltcG9ydCB7IFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9jYWxlbmRhci1ldmVudHMuc2VydmljZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXBsYW5uZXItc2lkZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYW5uZXItc2lkZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGxhbm5lclNpZGVNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBldmVudHM6IENhbGVuZGFyRXZlbnRbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNhbGVuZGFyRXZlbnRzU2VydmljZTogQ2FsZW5kYXJFdmVudHNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICAvLyBUbyB0ZXN0IHRoYXQgd2UgY2FuIGNyZWF0ZSBzb21lIGN1c3RvbSBldmVudHMgd2l0aCBhIHJlY2lwZSB0aGF0IGFyZSBkcmFnZ2FibGUsIHdlIGxvYWQgYSBidW5jaCBvZiByZWNpcGVzLFxuICAgIC8vIHRyYW5zZm9ybSB0aGVtIGludG8gZXZlbnRzIGFuZCBkaXNwbGF5IHRoZW0uIExhdGVyIFBScyB3aWxsIG5vdCBpbml0aWFsaXNlIGV2ZW50cyBsaWtlIHRoaXMuXG4gICAgdGhpcy5yZWNpcGVzU2VydmljZS5hbGwoKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlcyA9PiByZXMuaXNfbG9hZGluZylcbiAgICApLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAgICAgIHJlc3VsdHMuZGF0YS5mb3JFYWNoKHJlY2lwZSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gdGhpcy5jYWxlbmRhckV2ZW50c1NlcnZpY2UubmV3KCk7XG4gICAgICAgIGV2ZW50LmFkZFJlbGF0aW9uc2hpcChyZWNpcGUsICdyZWNpcGUnKTtcbiAgICAgICAgdGhpcy5ldmVudHMucHVzaChldmVudCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBsYW5uZXItc2lkZS1tZW51XCI+XG4gIDxuZy1taWFtLXRhYnM+XG4gIDwvbmctbWlhbS10YWJzPlxuPC9kaXY+XG4iXX0=
|
package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js
CHANGED
|
@@ -37,7 +37,7 @@ AddRecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AddRecipeCardCompo
|
|
|
37
37
|
} if (rf & 2) {
|
|
38
38
|
i0.ɵɵadvance(2);
|
|
39
39
|
i0.ɵɵproperty("iconName", ctx.icon.Plus);
|
|
40
|
-
} }, directives: [i1.IconComponent], styles: [".cal-month-view .cal-header{font-weight:bolder;text-align:center}.cal-month-view .cal-header .cal-cell{display:block;overflow:hidden;padding:5px 0;text-overflow:ellipsis;white-space:nowrap}.cal-month-view .cal-days{border:1px solid;border-bottom:0}.cal-month-view .cal-cell-top{flex:1;min-height:78px}.cal-month-view .cal-cell-row{display:flex}.cal-month-view .cal-cell{align-items:stretch;display:flex;flex:1;flex-direction:column;float:left}.cal-month-view .cal-cell .cal-event{pointer-events:all!important}.cal-month-view .cal-day-cell{min-height:100px}@media (-ms-high-contrast:none){.cal-month-view .cal-day-cell{display:block}}.cal-month-view .cal-day-cell:not(:last-child){border-right:1px solid}.cal-month-view .cal-days .cal-cell-row{border-bottom:1px solid}.cal-month-view .cal-day-badge{border-radius:10px;display:inline-block;font-size:12px;font-weight:700;line-height:1;margin-left:10px;margin-top:18px;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.cal-month-view .cal-day-number{float:right;font-size:1.2em;font-weight:400;margin-bottom:10px;margin-right:15px;margin-top:15px;opacity:.5}.cal-month-view .cal-events{align-items:flex-end;display:flex;flex:1;flex-wrap:wrap;line-height:10px;margin:3px}.cal-month-view .cal-event{border-radius:50%;display:inline-block;height:10px;margin:2px;width:10px}.cal-month-view .cal-day-cell.cal-in-month.cal-has-events{cursor:pointer}.cal-month-view .cal-day-cell.cal-out-month .cal-day-number{cursor:default;opacity:.1}.cal-month-view .cal-day-cell.cal-today .cal-day-number{font-size:1.9em}.cal-month-view .cal-open-day-events{padding:15px}.cal-month-view .cal-open-day-events .cal-event{position:relative;top:2px}.cal-month-view .cal-out-month .cal-day-badge,.cal-month-view .cal-out-month .cal-event{opacity:.3}.cal-month-view .cal-draggable{cursor:move}.cal-month-view .cal-drag-active *{pointer-events:none}.cal-month-view .cal-event-title{cursor:pointer}.cal-month-view .cal-event-title:hover{text-decoration:underline}.cal-month-view{background-color:#fff}.cal-month-view .cal-cell-row:hover{background-color:#fafafa}.cal-month-view .cal-cell-row .cal-cell:hover,.cal-month-view .cal-cell.cal-has-events.cal-open{background-color:#ededed}.cal-month-view .cal-days{border-color:#e1e1e1}.cal-month-view .cal-day-cell:not(:last-child){border-right-color:#e1e1e1}.cal-month-view .cal-days .cal-cell-row{border-bottom-color:#e1e1e1}.cal-month-view .cal-day-badge{background-color:#b94a48;color:#fff}.cal-month-view .cal-event{background-color:#1e90ff;border-color:#d1e8ff;color:#fff}.cal-month-view .cal-day-cell.cal-weekend .cal-day-number{color:#8b0000}.cal-month-view .cal-day-cell.cal-today{background-color:#e8fde7}.cal-month-view .cal-day-cell.cal-drag-over{background-color:#e0e0e0!important}.cal-month-view .cal-open-day-events{background-color:#555;box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5);color:#fff}.cal-week-view *{box-sizing:border-box}.cal-week-view .cal-day-headers{border:1px solid;display:flex;padding-left:70px}.cal-week-view .cal-day-headers .cal-header{flex:1;padding:5px;text-align:center}.cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right:1px solid}.cal-week-view .cal-day-headers .cal-header:first-child{border-left:1px solid}.cal-week-view .cal-day-headers span{font-weight:400;opacity:.5}.cal-week-view .cal-day-column{border-left:1px solid;flex-grow:1}.cal-week-view .cal-event{border:1px solid;font-size:12px}.cal-week-view .cal-time-label-column{height:100%;width:70px}.cal-week-view .cal-current-time-marker{height:2px;position:absolute;width:100%;z-index:2}.cal-week-view .cal-all-day-events{border-bottom:3px solid;border-left:1px solid;border-right:1px solid;border-top:0;padding-top:3px;position:relative}.cal-week-view .cal-all-day-events .cal-day-columns{display:flex;height:100%;position:absolute;top:0;width:100%;z-index:0}.cal-week-view .cal-all-day-events .cal-events-row{height:31px;margin-left:70px;position:relative}.cal-week-view .cal-all-day-events .cal-event-container{display:inline-block;position:absolute}.cal-week-view .cal-all-day-events .cal-event-container.resize-active{pointer-events:none;z-index:1}.cal-week-view .cal-all-day-events .cal-event{height:28px;line-height:28px;margin-left:2px;margin-right:2px;padding:0 5px}.cal-week-view .cal-all-day-events .cal-starts-within-week .cal-event{border-bottom-left-radius:5px;border-top-left-radius:5px}.cal-week-view .cal-all-day-events .cal-ends-within-week .cal-event{border-bottom-right-radius:5px;border-top-right-radius:5px}.cal-week-view .cal-all-day-events .cal-time-label-column{align-items:center;display:flex;font-size:14px;justify-content:center}.cal-week-view .cal-all-day-events .cal-resize-handle{cursor:col-resize;height:100%;position:absolute;top:0;width:6px}.cal-week-view .cal-all-day-events .cal-resize-handle.cal-resize-handle-after-end{right:0}.cal-week-view .cal-event,.cal-week-view .cal-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-view .cal-drag-active{pointer-events:none;z-index:1}.cal-week-view .cal-drag-active *{pointer-events:none}.cal-week-view .cal-time-events{border:1px solid;border-top:0;display:flex;position:relative}.cal-week-view .cal-time-events .cal-day-columns{display:flex;flex-grow:1}.cal-week-view .cal-time-events .cal-day-column,.cal-week-view .cal-time-events .cal-events-container{position:relative}.cal-week-view .cal-time-events .cal-event-container{position:absolute;z-index:1}.cal-week-view .cal-time-events .cal-event{height:calc(100% - 2px);line-height:25px;margin:1px;padding:0 5px;width:calc(100% - 2px)}.cal-week-view .cal-time-events .cal-resize-handle{cursor:row-resize;height:4px;position:absolute;width:100%}.cal-week-view .cal-time-events .cal-resize-handle.cal-resize-handle-after-end{bottom:0}.cal-week-view .cal-hour-segment{position:relative}.cal-week-view .cal-hour-segment:after{content:\"\\00a0\"}.cal-week-view .cal-event-container:not(.cal-draggable){cursor:pointer}.cal-week-view .cal-draggable{cursor:move}.cal-week-view .cal-hour-segment,.cal-week-view mwl-calendar-week-view-hour-segment{display:block}.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment{border-bottom:thin dashed}.cal-week-view .cal-time{font-weight:700;padding-top:5px;text-align:center;width:70px}.cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}.cal-week-view .cal-starts-within-day .cal-event{border-top-left-radius:5px;border-top-right-radius:5px}.cal-week-view .cal-ends-within-day .cal-event{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.cal-week-view{background-color:#fff;border-top:1px solid #e1e1e1}.cal-week-view .cal-day-headers{border-color:#e1e1e1;border-top:0}.cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right-color:#e1e1e1}.cal-week-view .cal-day-headers .cal-header:first-child{border-left-color:#e1e1e1}.cal-week-view .cal-day-headers .cal-drag-over,.cal-week-view .cal-day-headers .cal-header:hover{background-color:#ededed}.cal-week-view .cal-day-column{border-left-color:#e1e1e1}.cal-week-view .cal-event{background-color:#d1e8ff;border-color:#1e90ff;color:#1e90ff}.cal-week-view .cal-all-day-events{border-color:#e1e1e1}.cal-week-view .cal-header.cal-today{background-color:#e8fde7}.cal-week-view .cal-header.cal-weekend span{color:#8b0000}.cal-week-view .cal-time-events{border-color:#e1e1e1}.cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover{background-color:#ededed}.cal-week-view .cal-hour-odd{background-color:#fafafa}.cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment{border-bottom-color:#e1e1e1}.cal-week-view .cal-current-time-marker{background-color:#ea4334}.cal-day-view mwl-calendar-week-view-header{display:none}.cal-day-view .cal-events-container{margin-left:70px}.cal-day-view .cal-day-column{border-left:0}.cal-day-view .cal-current-time-marker{margin-left:70px;width:calc(100% - 70px)}.cal-tooltip{display:block;font-size:11px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;opacity:.9;position:absolute;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:break-word;z-index:1070}.cal-tooltip.cal-tooltip-top{margin-top:-3px;padding:5px 0}.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow{border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.cal-tooltip.cal-tooltip-right{margin-left:3px;padding:0 5px}.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow{border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.cal-tooltip.cal-tooltip-bottom{margin-top:3px;padding:5px 0}.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow{border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.cal-tooltip.cal-tooltip-left{margin-left:-3px;padding:0 5px}.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow{border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.cal-tooltip-inner{border-radius:.25rem;max-width:200px;padding:3px 8px;text-align:center}.cal-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow{border-top-color:#000}.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow{border-right-color:#000}.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow{border-bottom-color:#000}.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow{border-left-color:#000}.cal-tooltip-inner{background-color:#000;color:#fff}.m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{-moz-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;align-items:center;border-radius:var(--m-button-radius);cursor:pointer;display:flex;font-size:var(--m-button-text-size);font-weight:var(--m-button-text-weight);justify-content:center;line-height:var(--m-button-text-height);outline:0;padding:var(--m-button-padding);user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-input{align-items:center;border:1px solid var(--m-color-grey06);border-radius:5px;display:flex;justify-content:space-between;margin-top:16px;max-width:320px;min-width:200px;outline:none;padding:8px 16px}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.miam-add-recipe-card .miam-catalog-card__attributes,.miam-flex-column{display:flex;flex-direction:column;justify-content:space-around}.miam-flex-row{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin:auto}.m-default-card{background-color:var(--m-color-unpure-white);border-radius:8px;box-shadow:var(--m-shadow-small);padding:16px}@media (max-width:1023px){.m-default-card{margin-bottom:8px;padding:8px}}#toast-container>div{opacity:.95!important}@media (min-width:1023px){#toast-container>div:hover{opacity:1!important}}@-webkit-keyframes jiggle{0%{transform:none}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:none}}@keyframes jiggle{0%{transform:none}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:none}}:root{--m-border-radius:var(--miam-border-radius,8px);--m-border-radius-circle:50%;--m-border-radius-pill:25px;--m-button-gap:var(--miam-button-gap,10px);--m-button-padding:var(--miam-button-padding,9px 20px);--m-button-radius:var(--miam-button-padding,var(--m-border-radius-pill));--m-button-text-height:var(--miam-button-text-height,calc(var(--m-button-text-size)*1.5));--m-button-text-size:var(--miam-button-text-size,14px);--m-button-text-weight:var(--miam-button-text-weight,normal);--m-catalog-alt-button-color:var(--miam-catalog-alt-button-color,rgba(0,0,0,0.3));--m-catalog-alt-button-text-color:var(--miam-catalog-alt-button-text-color,var(--m-color-white));--m-catalog-alt-button-text-color-reverse:var(--miam-catalog-alt-button-text-color-reverse,var(--m-color-black));--m-catalog-card-bg-color:var(--miam-catalog-card-bg-color,var(--m-color-white));--m-catalog-card-details-color:var(--miam-catalog-card-details-color,#575756);--m-catalog-card-details-line-height:var(--miam-catalog-card-details-color,15px);--m-catalog-card-details-size:var(--miam-catalog-card-details-color,11px);--m-catalog-card-height:var(--miam-catalog-card-height,400px);--m-catalog-card-minwidth:var(--miam-catalog-card-minwidth,250px);--m-catalog-card-picture-height:var(--miam-catalog-card-picture-height,240px);--m-catalog-card-title-line-height:var(--miam-catalog-card-title-line-height 16px);--m-catalog-card-title-size:var(--miam-catalog-card-title-size,13px);--m-catalog-cards-spacing:var(--miam-catalog-cards-spacing,16px);--m-catalog-header-reduced-bg-color:var(--miam-catalog-header-reduced-bg-color,var(--m-color-primary));--m-catalog-header-reduced-text-color:var(--miam-catalog-header-reduced-text-color,var(--m-color-white));--m-catalog-header-text-color:var(--miam-catalog-header-text-color,var(--m-color-white));--m-catalog-redpoint-color:var(--miam-catalog-redpoint-color,#dd1219);--m-catalog-redpoint-text-color:var(--miam-catalog-redpoint-color,var(--m-color-white));--m-color-black:var(--miam-color-black,#0e0e2c);--m-color-card-shadow:var(--miam-color-card-shadow,#eaf2fb);--m-color-danger:var(--miam-color-danger,#fbc2aa);--m-color-danger-text:var(--miam-color-danger-text,#9f1628);--m-color-grey:var(--miam-color-grey,#f5f5f5);--m-color-grey-text:var(--miam-color-grey-text,#acb0b9);--m-color-grey-text-dark:var(--miam-color-grey-text-dark,#757575);--m-color-grey01:var(--miam-color-grey01,#505062);--m-color-grey02:var(--miam-color-grey02,#67677e);--m-color-grey03:var(--miam-color-grey03,#818198);--m-color-grey04:var(--miam-color-grey04,#9d9daf);--m-color-grey05:var(--miam-color-grey05,#b9b9c6);--m-color-grey06:var(--miam-color-grey06,#d5d5dd);--m-color-grey07:var(--miam-color-grey07,#e3e3e8);--m-color-hairlines:var(--miam-color-hairlines,#ecf1f4);--m-color-info:var(--miam-color-info,#8cd4eb);--m-color-info-text:var(--miam-color-info-text,#125368);--m-color-light-slate:var(--miam-color-light-slate,#8c8ca1);--m-color-onyx:var(--miam-color-onyx,#0e0e2c);--m-color-primary:var(--miam-color-primary,#006574);--m-color-primary-dark:var(--miam-color-primary-dark,darken(#006574,10%));--m-color-primary-light:var(--miam-color-primary-light,lighten(#006574,10%));--m-color-primary-text:var(--miam-color-primary-text,#fff);--m-color-secondary:var(--miam-color-secondary,#ef760f);--m-color-secondary-dark:var(--miam-color-secondary-dark,#ef7711);--m-color-secondary-light:var(--miam-color-secondary-light,#faebd7);--m-color-secondary-text:var(--miam-color-secondary-text,#fff);--m-color-slate:var(--miam-color-slate,#4a4a68);--m-color-success:var(--miam-color-success,#44d6b3);--m-color-success-text:var(--miam-color-success-text,#135344);--m-color-tag-diet:var(--miam-color-tag-diet,#d3f8dd);--m-color-tag-equipment:var(--miam-color-tag-equipment,#e6e5e5);--m-color-tag-ingredient-category:var(--miam-color-tag-ingredient-category,#d3f5f8);--m-color-tag-meal-type:var(--miam-color-meal-type,#fbe8d0);--m-color-ternary:var(--miam-color-ternary,#1accf8);--m-color-ternary-dark:var(--miam-color-ternary-dark,#057894);--m-color-ternary-light:var(--miam-color-ternary-light,#cef4fd);--m-color-ternary-text:var(--miam-color-ternary-text,#fff);--m-color-unpure-white:var(--miam-color-unpure-white,#fefefe);--m-color-warning:var(--miam-color-warning,#ffdaa3);--m-color-warning-text:var(--miam-color-warning-text,#f90);--m-color-white:var(--miam-color-white,#fafcfe);--m-default-transition:var(--miam-default-transition,all 0.3s ease-in-out);--m-font-size-Xlarge:var(--miam-font-size-Xlarge,24px);--m-font-size-large:var(--miam-font-size-large,20px);--m-font-size-medium:var(--miam-font-size-medium,16px);--m-font-size-small:var(--miam-font-size-small,14px);--m-loader-size:var(--miam-loader-sizes,40px);--m-loader-thickness:var(--miam-loader-thickness,5px);--m-progress-tracker-background-color:var(--miam-progress-tracker-background-color,var(--m-color-grey));--m-progress-tracker-color:var(--miam-progress-tracker-color,var(--m-color-primary));--m-progress-tracker-danger-color:var(--miam-progress-tracker-danger-color,var(--m-color-danger));--m-shadow-small:var(--miam-shadow-small,0px 3px 4px var(--m-color-card-shadow));--m-z-index-drawer-container:var(--miam-z-index-drawer-container,5000002);--m-z-index-drawer-overlay:var(--miam-z-index-drawer-overlay,5000001);--m-z-index-loader:var(--miam-z-index-loader,2);--m-z-index-modal:var(--miam-z-index-modal,6001);--m-z-index-modal-overlay:var(--miam-z-index-modal-overlay,6000);--m-z-index-position-absolute-high:var(--miam-z-index-position-absolute-high,1);--m-z-index-position-absolute-low:var(--miam-z-index-position-absolute-low,0);--m-z-index-toaster:var(--miam-z-index-toaster,6002)}.m-title-text-input:focus-within :root .miam-text-input__label,.m-title-text-input :root input,.m-title-text-input :root label:not(.miam-text-input__label__top),:root .m-body-typo,:root .m-h1-typo,:root .m-input,:root .m-input>*,:root .m-small-typo,:root .m-title-text-input:focus-within .miam-text-input__label,:root .m-title-text-input input,:root .m-title-text-input label:not(.miam-text-input__label__top){color:var(--m-color-slate);font-family:Work Sans;font-size:var(--m-font-size-medium);font-style:normal;font-weight:500;line-height:24px}.m-title-text-input :root input,.m-title-text-input :root label:not(.miam-text-input__label__top),:root .m-h1-typo,:root .m-title-text-input input,:root .m-title-text-input label:not(.miam-text-input__label__top){font-size:40px;font-weight:700;line-height:48px}:root .m-small-typo{font-size:var(--m-font-size-small);line-height:16px}@media print{:root *{-webkit-animation:none!important;-webkit-transition:none!important;animation:none!important;transition:none!important}:root .miam-not-printable{display:none}:root:last-child{page-break-after:auto}}:root .miam-print-only{display:none}@media print{:root .miam-print-only{display:block}}ng-miam-add-recipe-card{flex-grow:1;margin:calc(var(--m-catalog-cards-spacing)/2);max-width:calc(var(--m-catalog-card-minwidth)*1.1)}.miam-add-recipe-card{align-items:center;background-color:var(--m-catalog-card-bg-color);border:1px solid #ddd;border:1px dashed var(--m-color-primary);border-radius:var(--m-border-radius);box-shadow:var(--m-shadow-small);cursor:pointer;display:flex;flex-direction:column;height:var(--m-catalog-card-height);justify-content:center;min-width:var(--m-catalog-card-minwidth);position:relative;width:100%}@media (min-width:1023px){.miam-add-recipe-card:hover .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__img{transform:scale(1.05)}}.miam-add-recipe-card .miam-catalog-card__picture{-webkit-tap-highlight-color:transparent;cursor:pointer;height:var(--m-catalog-card-picture-height);position:relative}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient{border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:calc(var(--m-catalog-card-picture-height) + 1px);left:-1px;overflow:hidden;position:absolute;top:-1px;width:calc(100% + 2px)}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__img{-o-object-fit:cover;border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;height:var(--m-catalog-card-picture-height);object-fit:cover;position:relative;transition:var(--m-default-transition);width:100%;z-index:var(--m-z-index-position-absolute-low)}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__sponsor{align-items:flex-start;display:flex;height:48px;justify-content:flex-start;left:16px;order:2;position:absolute;top:16px;width:64px}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__sponsor img{-o-object-fit:contain;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__filigrane{align-items:flex-end;bottom:16px;display:flex;height:48px;justify-content:flex-end;order:2;position:absolute;right:16px;width:72px}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__filigrane img{-o-object-fit:contain;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.miam-add-recipe-card .miam-catalog-card__attributes{align-items:center;flex:1 1;flex-direction:column-reverse;justify-content:flex-start;padding:12px 16px}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos{display:flex;flex-direction:row;justify-content:space-around;width:100%}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info{align-items:center;display:flex;flex-direction:column;padding:0 16px;width:100%}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info:first-child{border-right:1px solid #ddd}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info .miam-catalog-card__info__label{color:var(--m-catalog-card-details-color);font-size:var(--m-catalog-card-details-size);line-height:var(--m-catalog-card-details-line-height);margin:2px 0 0;text-align:center;width:100%}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info .miam-catalog-card__info__label:first-letter{text-transform:capitalize}.miam-add-recipe-card:hover{background-color:var(--m-color-grey)}.miam-add-recipe-card .m-button-primary{border-radius:6px;height:48px;width:48px}.miam-add-recipe-card .m-button-primary:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}.miam-add-recipe-card .m-button-primary img{filter:brightness(0) invert(100%)}.miam-add-recipe-card .miam-add-recipe-card__label{color:var(--m-color-primary);font-size:14px;font-weight:700;line-height:22px;margin-top:16px}"], encapsulation: 2, changeDetection: 0 });
|
|
40
|
+
} }, directives: [i1.IconComponent], styles: [".m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{-moz-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;align-items:center;border-radius:var(--m-button-radius);cursor:pointer;display:flex;font-size:var(--m-button-text-size);font-weight:var(--m-button-text-weight);justify-content:center;line-height:var(--m-button-text-height);outline:0;padding:var(--m-button-padding);user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-body-typo,.m-h1-typo,.m-input,.m-input>*,.m-small-typo,.m-title-text-input:focus-within .miam-text-input__label,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){color:var(--m-color-slate);font-family:Work Sans;font-size:var(--m-font-size-medium);font-style:normal;font-weight:500;line-height:24px}.m-h1-typo,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){font-size:40px;font-weight:700;line-height:48px}.m-small-typo{font-size:var(--m-font-size-small);line-height:16px}.m-input{align-items:center;border:1px solid var(--m-color-grey06);border-radius:5px;display:flex;justify-content:space-between;margin-top:16px;max-width:320px;min-width:200px;outline:none;padding:8px 16px}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.m-default-card{background-color:var(--m-color-unpure-white);border-radius:8px;box-shadow:var(--m-shadow-small);padding:16px}@media (max-width:1023px){.m-default-card{margin-bottom:8px;padding:8px}}ng-miam-add-recipe-card{flex-grow:1;margin:calc(var(--m-catalog-cards-spacing)/2);max-width:calc(var(--m-catalog-card-minwidth)*1.1)}.miam-add-recipe-card{align-items:center;border:1px dashed var(--m-color-primary);cursor:pointer;display:flex;flex-direction:column;justify-content:center}.miam-add-recipe-card:hover{background-color:var(--m-color-grey)}.miam-add-recipe-card .m-button-primary{border-radius:6px;height:48px;width:48px}.miam-add-recipe-card .m-button-primary:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}.miam-add-recipe-card .m-button-primary img{filter:brightness(0) invert(100%)}.miam-add-recipe-card .miam-add-recipe-card__label{color:var(--m-color-primary);font-size:14px;font-weight:700;line-height:22px;margin-top:16px}"], encapsulation: 2, changeDetection: 0 });
|
|
41
41
|
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(AddRecipeCardComponent, [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export * from './recipe-cards.module';
|
|
2
2
|
export * from './add-recipe-card/add-recipe-card.component';
|
|
3
|
-
export * from './catalog-recipe-card/catalog-recipe-card.component';
|
|
4
3
|
export * from './recipe-card/recipe-card.component';
|
|
5
|
-
export * from './suggestion-card/suggestion-card.component';
|
|
6
4
|
export * from './recipe-card-cta/recipe-card-cta.component';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWNhcmRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vYWRkLXJlY2lwZS1jYXJkL2FkZC1yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtY2FyZC9yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtY2FyZC1jdGEvcmVjaXBlLWNhcmQtY3RhLmNvbXBvbmVudCc7XG4iXX0=
|