ng-miam 9.3.13 → 9.3.15

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.
@@ -15,14 +15,14 @@ import * as i6 from "../../recipe-pricing/recipe-pricing.component";
15
15
  import * as i7 from "../recipe-card-cta/recipe-card-cta.component";
16
16
  import * as i8 from "../../../_components/icon/icon.component";
17
17
  function RecipeCardComponent_div_1_div_7_ng_miam_like_button_1_Template(rf, ctx) { if (rf & 1) {
18
- i0.ɵɵelement(0, "ng-miam-like-button", 31);
18
+ i0.ɵɵelement(0, "ng-miam-like-button", 33);
19
19
  } if (rf & 2) {
20
- const ctx_r13 = i0.ɵɵnextContext(3);
21
- i0.ɵɵproperty("recipe", ctx_r13.recipe)("originTrace", ctx_r13.eventTrace);
20
+ const ctx_r14 = i0.ɵɵnextContext(3);
21
+ i0.ɵɵproperty("recipe", ctx_r14.recipe)("originTrace", ctx_r14.eventTrace);
22
22
  } }
23
23
  function RecipeCardComponent_div_1_div_7_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelementStart(0, "div", 30);
25
- i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_7_ng_miam_like_button_1_Template, 1, 2, "ng-miam-like-button", 26);
24
+ i0.ɵɵelementStart(0, "div", 32);
25
+ i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_7_ng_miam_like_button_1_Template, 1, 2, "ng-miam-like-button", 28);
26
26
  i0.ɵɵpipe(2, "async");
27
27
  i0.ɵɵelementEnd();
28
28
  } if (rf & 2) {
@@ -30,236 +30,221 @@ function RecipeCardComponent_div_1_div_7_Template(rf, ctx) { if (rf & 1) {
30
30
  i0.ɵɵadvance(1);
31
31
  i0.ɵɵproperty("ngIf", !ctx_r2.displayLikesBottom && i0.ɵɵpipeBind1(2, 1, ctx_r2.userService.isLogged$));
32
32
  } }
33
- function RecipeCardComponent_div_1_div_8_ng_miam_recipe_promotion_badge_1_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelement(0, "ng-miam-recipe-promotion-badge");
33
+ function RecipeCardComponent_div_1_div_9_img_1_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelement(0, "img", 37);
35
35
  } }
36
- function RecipeCardComponent_div_1_div_8_div_2_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "div", 35);
38
- i0.ɵɵelement(1, "img", 36);
39
- i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- const ctx_r15 = i0.ɵɵnextContext(3);
42
- i0.ɵɵadvance(1);
43
- i0.ɵɵproperty("src", ctx_r15.recipe.sponsorLogoUrl, i0.ɵɵsanitizeUrl)("alt", "Logo du sponsor " + ctx_r15.recipe.sponsorName);
36
+ function RecipeCardComponent_div_1_div_9_img_2_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelement(0, "img", 38);
44
38
  } }
45
- function RecipeCardComponent_div_1_div_8_Template(rf, ctx) { if (rf & 1) {
46
- i0.ɵɵelementStart(0, "div", 32);
47
- i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_8_ng_miam_recipe_promotion_badge_1_Template, 1, 0, "ng-miam-recipe-promotion-badge", 33);
48
- i0.ɵɵtemplate(2, RecipeCardComponent_div_1_div_8_div_2_Template, 2, 2, "div", 34);
39
+ function RecipeCardComponent_div_1_div_9_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "div", 34);
41
+ i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_9_img_1_Template, 1, 0, "img", 35);
42
+ i0.ɵɵtemplate(2, RecipeCardComponent_div_1_div_9_img_2_Template, 1, 0, "img", 36);
49
43
  i0.ɵɵelementEnd();
50
44
  } if (rf & 2) {
51
45
  const ctx_r3 = i0.ɵɵnextContext(2);
46
+ i0.ɵɵproperty("ngClass", ctx_r3.isDrink ? "drink" : "food");
52
47
  i0.ɵɵadvance(1);
53
- i0.ɵɵproperty("ngIf", !ctx_r3.displayBadge && ctx_r3.isInPromotion);
48
+ i0.ɵɵproperty("ngIf", !ctx_r3.isDrink);
54
49
  i0.ɵɵadvance(1);
55
- i0.ɵɵproperty("ngIf", ctx_r3.recipe.sponsorLogoUrl);
56
- } }
57
- function RecipeCardComponent_div_1_div_9_ng_miam_recipe_promotion_badge_1_Template(rf, ctx) { if (rf & 1) {
58
- i0.ɵɵelement(0, "ng-miam-recipe-promotion-badge");
50
+ i0.ɵɵproperty("ngIf", ctx_r3.isDrink);
59
51
  } }
60
- function RecipeCardComponent_div_1_div_9_img_2_Template(rf, ctx) { if (rf & 1) {
61
- i0.ɵɵelement(0, "img", 40);
62
- } }
63
- function RecipeCardComponent_div_1_div_9_img_3_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵelement(0, "img", 41);
65
- } }
66
- function RecipeCardComponent_div_1_div_9_Template(rf, ctx) { if (rf & 1) {
67
- i0.ɵɵelementStart(0, "div", 37);
68
- i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_9_ng_miam_recipe_promotion_badge_1_Template, 1, 0, "ng-miam-recipe-promotion-badge", 33);
69
- i0.ɵɵtemplate(2, RecipeCardComponent_div_1_div_9_img_2_Template, 1, 0, "img", 38);
70
- i0.ɵɵtemplate(3, RecipeCardComponent_div_1_div_9_img_3_Template, 1, 0, "img", 39);
52
+ function RecipeCardComponent_div_1_div_10_Template(rf, ctx) { if (rf & 1) {
53
+ i0.ɵɵelementStart(0, "div", 39);
54
+ i0.ɵɵelement(1, "img", 40);
71
55
  i0.ɵɵelementEnd();
72
56
  } if (rf & 2) {
73
57
  const ctx_r4 = i0.ɵɵnextContext(2);
74
- i0.ɵɵproperty("ngClass", ctx_r4.isDrink ? "drink" : "food");
75
- i0.ɵɵadvance(1);
76
- i0.ɵɵproperty("ngIf", ctx_r4.isInPromotion);
77
58
  i0.ɵɵadvance(1);
78
- i0.ɵɵproperty("ngIf", !ctx_r4.isDrink);
79
- i0.ɵɵadvance(1);
80
- i0.ɵɵproperty("ngIf", ctx_r4.isDrink);
59
+ i0.ɵɵproperty("src", ctx_r4.recipe.sponsorLogoUrl, i0.ɵɵsanitizeUrl)("alt", "Logo du sponsor " + ctx_r4.recipe.sponsorName);
81
60
  } }
82
- function RecipeCardComponent_div_1_div_19_div_5_Template(rf, ctx) { if (rf & 1) {
83
- i0.ɵɵelementStart(0, "div", 46);
61
+ function RecipeCardComponent_div_1_ng_miam_recipe_promotion_badge_11_Template(rf, ctx) { if (rf & 1) {
62
+ i0.ɵɵelement(0, "ng-miam-recipe-promotion-badge");
63
+ } }
64
+ function RecipeCardComponent_div_1_div_21_div_5_Template(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵelementStart(0, "div", 45);
84
66
  i0.ɵɵtext(1);
85
67
  i0.ɵɵelementEnd();
86
68
  } if (rf & 2) {
87
- const ctx_r19 = i0.ɵɵnextContext(3);
69
+ const ctx_r17 = i0.ɵɵnextContext(3);
88
70
  i0.ɵɵadvance(1);
89
- i0.ɵɵtextInterpolate1(" + ", ctx_r19.recipe.modifiedIngredients.length - 2, " ");
71
+ i0.ɵɵtextInterpolate1(" + ", ctx_r17.recipe.modifiedIngredients.length - 2, " ");
90
72
  } }
91
- function RecipeCardComponent_div_1_div_19_Template(rf, ctx) { if (rf & 1) {
92
- const _r21 = i0.ɵɵgetCurrentView();
93
- i0.ɵɵelementStart(0, "div", 42);
94
- i0.ɵɵelementStart(1, "div", 43);
95
- i0.ɵɵelementStart(2, "img", 44);
96
- i0.ɵɵlistener("error", function RecipeCardComponent_div_1_div_19_Template_img_error_2_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return ($event.target["src"] = ctx_r20.contextService.defaultIngredientPicture); });
73
+ function RecipeCardComponent_div_1_div_21_Template(rf, ctx) { if (rf & 1) {
74
+ const _r19 = i0.ɵɵgetCurrentView();
75
+ i0.ɵɵelementStart(0, "div", 41);
76
+ i0.ɵɵelementStart(1, "div", 42);
77
+ i0.ɵɵelementStart(2, "img", 43);
78
+ i0.ɵɵlistener("error", function RecipeCardComponent_div_1_div_21_Template_img_error_2_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(2); return ($event.target["src"] = ctx_r18.contextService.defaultIngredientPicture); });
97
79
  i0.ɵɵelementEnd();
98
80
  i0.ɵɵelementEnd();
99
- i0.ɵɵelementStart(3, "div", 43);
100
- i0.ɵɵelementStart(4, "img", 44);
101
- i0.ɵɵlistener("error", function RecipeCardComponent_div_1_div_19_Template_img_error_4_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r22 = i0.ɵɵnextContext(2); return ($event.target["src"] = ctx_r22.contextService.defaultIngredientPicture); });
81
+ i0.ɵɵelementStart(3, "div", 42);
82
+ i0.ɵɵelementStart(4, "img", 43);
83
+ i0.ɵɵlistener("error", function RecipeCardComponent_div_1_div_21_Template_img_error_4_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r20 = i0.ɵɵnextContext(2); return ($event.target["src"] = ctx_r20.contextService.defaultIngredientPicture); });
102
84
  i0.ɵɵelementEnd();
103
85
  i0.ɵɵelementEnd();
104
- i0.ɵɵtemplate(5, RecipeCardComponent_div_1_div_19_div_5_Template, 2, 1, "div", 45);
86
+ i0.ɵɵtemplate(5, RecipeCardComponent_div_1_div_21_div_5_Template, 2, 1, "div", 44);
105
87
  i0.ɵɵelementEnd();
106
88
  } if (rf & 2) {
107
- const ctx_r5 = i0.ɵɵnextContext(2);
108
- i0.ɵɵattribute("aria-label", ctx_r5.getIngredientsAriaLabel());
89
+ const ctx_r6 = i0.ɵɵnextContext(2);
90
+ i0.ɵɵattribute("aria-label", ctx_r6.getIngredientsAriaLabel());
109
91
  i0.ɵɵadvance(2);
110
- i0.ɵɵproperty("src", ctx_r5.ingredientPicture(ctx_r5.recipe.modifiedIngredients[0]), i0.ɵɵsanitizeUrl)("alt", "");
92
+ i0.ɵɵproperty("src", ctx_r6.ingredientPicture(ctx_r6.recipe.modifiedIngredients[0]), i0.ɵɵsanitizeUrl)("alt", "");
111
93
  i0.ɵɵadvance(2);
112
- i0.ɵɵproperty("src", ctx_r5.ingredientPicture(ctx_r5.recipe.modifiedIngredients[1]), i0.ɵɵsanitizeUrl)("alt", "");
94
+ i0.ɵɵproperty("src", ctx_r6.ingredientPicture(ctx_r6.recipe.modifiedIngredients[1]), i0.ɵɵsanitizeUrl)("alt", "");
113
95
  i0.ɵɵadvance(1);
114
- i0.ɵɵproperty("ngIf", ctx_r5.recipe.modifiedIngredients.length > 2);
96
+ i0.ɵɵproperty("ngIf", ctx_r6.recipe.modifiedIngredients.length > 2);
115
97
  } }
116
- function RecipeCardComponent_div_1_div_22_div_1_Template(rf, ctx) { if (rf & 1) {
117
- i0.ɵɵelementStart(0, "div", 50);
118
- i0.ɵɵelement(1, "img", 51);
119
- i0.ɵɵelementStart(2, "span", 52);
98
+ function RecipeCardComponent_div_1_div_24_div_1_Template(rf, ctx) { if (rf & 1) {
99
+ i0.ɵɵelementStart(0, "div", 49);
100
+ i0.ɵɵelement(1, "img", 50);
101
+ i0.ɵɵelementStart(2, "span", 51);
120
102
  i0.ɵɵtext(3);
121
103
  i0.ɵɵelementEnd();
122
104
  i0.ɵɵelementEnd();
123
105
  } if (rf & 2) {
124
- const ctx_r23 = i0.ɵɵnextContext(3);
125
- i0.ɵɵattribute("aria-label", "Difficult\u00E9: " + ctx_r23.recipeService.difficultyLevels[ctx_r23.recipe.difficulty - 1].label);
106
+ const ctx_r21 = i0.ɵɵnextContext(3);
107
+ i0.ɵɵattribute("aria-label", "Difficult\u00E9: " + ctx_r21.recipeService.difficultyLevels[ctx_r21.recipe.difficulty - 1].label);
126
108
  i0.ɵɵadvance(3);
127
- i0.ɵɵtextInterpolate(ctx_r23.recipeService.difficultyLevels[ctx_r23.recipe.difficulty - 1].label);
109
+ i0.ɵɵtextInterpolate(ctx_r21.recipeService.difficultyLevels[ctx_r21.recipe.difficulty - 1].label);
128
110
  } }
129
- function RecipeCardComponent_div_1_div_22_div_2_Template(rf, ctx) { if (rf & 1) {
130
- i0.ɵɵelementStart(0, "div", 53);
131
- i0.ɵɵelement(1, "img", 54);
132
- i0.ɵɵelementStart(2, "span", 52);
111
+ function RecipeCardComponent_div_1_div_24_div_2_Template(rf, ctx) { if (rf & 1) {
112
+ i0.ɵɵelementStart(0, "div", 52);
113
+ i0.ɵɵelement(1, "img", 53);
114
+ i0.ɵɵelementStart(2, "span", 51);
133
115
  i0.ɵɵtext(3);
134
116
  i0.ɵɵelementEnd();
135
117
  i0.ɵɵelementEnd();
136
118
  } if (rf & 2) {
137
- const ctx_r24 = i0.ɵɵnextContext(3);
138
- i0.ɵɵattribute("aria-label", "Temps de pr\u00E9paration: " + ctx_r24.recipe.totalTime);
119
+ const ctx_r22 = i0.ɵɵnextContext(3);
120
+ i0.ɵɵattribute("aria-label", "Temps de pr\u00E9paration: " + ctx_r22.recipe.totalTime);
139
121
  i0.ɵɵadvance(3);
140
- i0.ɵɵtextInterpolate(ctx_r24.recipe.totalTime);
122
+ i0.ɵɵtextInterpolate(ctx_r22.recipe.totalTime);
141
123
  } }
142
- function RecipeCardComponent_div_1_div_22_Template(rf, ctx) { if (rf & 1) {
143
- i0.ɵɵelementStart(0, "div", 47);
144
- i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_22_div_1_Template, 4, 2, "div", 48);
145
- i0.ɵɵtemplate(2, RecipeCardComponent_div_1_div_22_div_2_Template, 4, 2, "div", 49);
124
+ function RecipeCardComponent_div_1_div_24_Template(rf, ctx) { if (rf & 1) {
125
+ i0.ɵɵelementStart(0, "div", 46);
126
+ i0.ɵɵtemplate(1, RecipeCardComponent_div_1_div_24_div_1_Template, 4, 2, "div", 47);
127
+ i0.ɵɵtemplate(2, RecipeCardComponent_div_1_div_24_div_2_Template, 4, 2, "div", 48);
146
128
  i0.ɵɵelementEnd();
147
129
  } if (rf & 2) {
148
- const ctx_r6 = i0.ɵɵnextContext(2);
130
+ const ctx_r7 = i0.ɵɵnextContext(2);
149
131
  i0.ɵɵadvance(1);
150
- i0.ɵɵproperty("ngIf", ctx_r6.recipe.difficulty);
132
+ i0.ɵɵproperty("ngIf", ctx_r7.recipe.difficulty);
151
133
  i0.ɵɵadvance(1);
152
- i0.ɵɵproperty("ngIf", ctx_r6.recipe.totalTime);
134
+ i0.ɵɵproperty("ngIf", ctx_r7.recipe.totalTime);
153
135
  } }
154
- function RecipeCardComponent_div_1_ng_miam_recipe_promotion_badge_24_Template(rf, ctx) { if (rf & 1) {
155
- i0.ɵɵelement(0, "ng-miam-recipe-promotion-badge", 55);
136
+ function RecipeCardComponent_div_1_ng_miam_recipe_promotion_badge_26_Template(rf, ctx) { if (rf & 1) {
137
+ i0.ɵɵelement(0, "ng-miam-recipe-promotion-badge", 54);
156
138
  } }
157
- function RecipeCardComponent_div_1_div_25_Template(rf, ctx) { if (rf & 1) {
158
- const _r26 = i0.ɵɵgetCurrentView();
159
- i0.ɵɵelementStart(0, "div", 56);
160
- i0.ɵɵelementStart(1, "ng-miam-recipe-pricing", 57);
161
- i0.ɵɵlistener("priceSet", function RecipeCardComponent_div_1_div_25_Template_ng_miam_recipe_pricing_priceSet_1_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return ctx_r25.updateIsInPromotion($event); });
139
+ function RecipeCardComponent_div_1_div_27_Template(rf, ctx) { if (rf & 1) {
140
+ const _r24 = i0.ɵɵgetCurrentView();
141
+ i0.ɵɵelementStart(0, "div", 55);
142
+ i0.ɵɵelementStart(1, "ng-miam-recipe-pricing", 56);
143
+ i0.ɵɵlistener("priceSet", function RecipeCardComponent_div_1_div_27_Template_ng_miam_recipe_pricing_priceSet_1_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return ctx_r23.updateIsInPromotion($event); });
162
144
  i0.ɵɵelementEnd();
163
145
  i0.ɵɵelementEnd();
164
146
  } if (rf & 2) {
165
- const ctx_r8 = i0.ɵɵnextContext(2);
147
+ const ctx_r9 = i0.ɵɵnextContext(2);
166
148
  i0.ɵɵadvance(1);
167
- i0.ɵɵproperty("recipeId", ctx_r8.recipe.id)("serves", ctx_r8.recipe.modifiedGuests || +ctx_r8.recipe.guests)("inViewport", ctx_r8.inViewport);
149
+ i0.ɵɵproperty("recipeId", ctx_r9.recipe.id)("serves", ctx_r9.recipe.modifiedGuests || +ctx_r9.recipe.guests)("inViewport", ctx_r9.inViewport);
168
150
  } }
169
- function RecipeCardComponent_div_1_ng_miam_like_button_27_Template(rf, ctx) { if (rf & 1) {
170
- i0.ɵɵelement(0, "ng-miam-like-button", 31);
151
+ function RecipeCardComponent_div_1_ng_miam_like_button_29_Template(rf, ctx) { if (rf & 1) {
152
+ i0.ɵɵelement(0, "ng-miam-like-button", 33);
171
153
  } if (rf & 2) {
172
- const ctx_r9 = i0.ɵɵnextContext(2);
173
- i0.ɵɵproperty("recipe", ctx_r9.recipe)("originTrace", ctx_r9.eventTrace);
154
+ const ctx_r10 = i0.ɵɵnextContext(2);
155
+ i0.ɵɵproperty("recipe", ctx_r10.recipe)("originTrace", ctx_r10.eventTrace);
174
156
  } }
175
- function RecipeCardComponent_div_1_ng_miam_recipe_card_cta_29_Template(rf, ctx) { if (rf & 1) {
176
- const _r28 = i0.ɵɵgetCurrentView();
177
- i0.ɵɵelementStart(0, "ng-miam-recipe-card-cta", 58);
178
- i0.ɵɵlistener("displayed", function RecipeCardComponent_div_1_ng_miam_recipe_card_cta_29_Template_ng_miam_recipe_card_cta_displayed_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(2); return ctx_r27.displayed.emit(); })("clicked", function RecipeCardComponent_div_1_ng_miam_recipe_card_cta_29_Template_ng_miam_recipe_card_cta_clicked_0_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r29 = i0.ɵɵnextContext(2); return ctx_r29.primaryButtonClicked$.emit($event); });
157
+ function RecipeCardComponent_div_1_ng_miam_recipe_card_cta_31_Template(rf, ctx) { if (rf & 1) {
158
+ const _r26 = i0.ɵɵgetCurrentView();
159
+ i0.ɵɵelementStart(0, "ng-miam-recipe-card-cta", 57);
160
+ i0.ɵɵlistener("displayed", function RecipeCardComponent_div_1_ng_miam_recipe_card_cta_31_Template_ng_miam_recipe_card_cta_displayed_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return ctx_r25.displayed.emit(); })("clicked", function RecipeCardComponent_div_1_ng_miam_recipe_card_cta_31_Template_ng_miam_recipe_card_cta_clicked_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(2); return ctx_r27.primaryButtonClicked$.emit($event); });
179
161
  i0.ɵɵelementEnd();
180
162
  } if (rf & 2) {
181
- const ctx_r10 = i0.ɵɵnextContext(2);
182
- i0.ɵɵproperty("recipe", ctx_r10.recipe)("previewAllowed", ctx_r10.previewAllowed)("displayGuests", ctx_r10.displayGuests)("helpButtonAllowed", ctx_r10.helpButtonAllowed)("originTrace", ctx_r10.eventTrace);
163
+ const ctx_r11 = i0.ɵɵnextContext(2);
164
+ i0.ɵɵproperty("recipe", ctx_r11.recipe)("previewAllowed", ctx_r11.previewAllowed)("displayGuests", ctx_r11.displayGuests)("helpButtonAllowed", ctx_r11.helpButtonAllowed)("originTrace", ctx_r11.eventTrace);
183
165
  } }
184
- function RecipeCardComponent_div_1_div_30_Template(rf, ctx) { if (rf & 1) {
185
- const _r31 = i0.ɵɵgetCurrentView();
186
- i0.ɵɵelementStart(0, "div", 59);
187
- i0.ɵɵelementStart(1, "button", 60);
188
- i0.ɵɵlistener("click", function RecipeCardComponent_div_1_div_30_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return ctx_r30.openCatalog.emit(); });
166
+ function RecipeCardComponent_div_1_div_32_Template(rf, ctx) { if (rf & 1) {
167
+ const _r29 = i0.ɵɵgetCurrentView();
168
+ i0.ɵɵelementStart(0, "div", 58);
169
+ i0.ɵɵelementStart(1, "button", 59);
170
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_1_div_32_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return ctx_r28.openCatalog.emit(); });
189
171
  i0.ɵɵelementStart(2, "span");
190
- i0.ɵɵi18n(3, 61);
172
+ i0.ɵɵi18n(3, 60);
191
173
  i0.ɵɵelementEnd();
192
174
  i0.ɵɵelementEnd();
193
- i0.ɵɵelementStart(4, "button", 62);
194
- i0.ɵɵlistener("click", function RecipeCardComponent_div_1_div_30_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r31); const ctx_r32 = i0.ɵɵnextContext(2); return ctx_r32.removeFromMealsPlanner.emit(); });
195
- i0.ɵɵelement(5, "ng-miam-icon", 63);
175
+ i0.ɵɵelementStart(4, "button", 61);
176
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_1_div_32_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(2); return ctx_r30.removeFromMealsPlanner.emit(); });
177
+ i0.ɵɵelement(5, "ng-miam-icon", 62);
196
178
  i0.ɵɵelementEnd();
197
179
  i0.ɵɵelementEnd();
198
180
  } if (rf & 2) {
199
- const ctx_r11 = i0.ɵɵnextContext(2);
181
+ const ctx_r12 = i0.ɵɵnextContext(2);
200
182
  i0.ɵɵadvance(5);
201
- i0.ɵɵproperty("iconName", ctx_r11.icon.Trash);
183
+ i0.ɵɵproperty("iconName", ctx_r12.icon.Trash);
202
184
  } }
203
- function RecipeCardComponent_div_1_button_31_Template(rf, ctx) { if (rf & 1) {
204
- const _r34 = i0.ɵɵgetCurrentView();
205
- i0.ɵɵelementStart(0, "button", 60);
206
- i0.ɵɵlistener("click", function RecipeCardComponent_div_1_button_31_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(2); return ctx_r33.addToMealsPlanner.emit(ctx_r33.recipe); });
185
+ function RecipeCardComponent_div_1_button_33_Template(rf, ctx) { if (rf & 1) {
186
+ const _r32 = i0.ɵɵgetCurrentView();
187
+ i0.ɵɵelementStart(0, "button", 59);
188
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_1_button_33_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(2); return ctx_r31.addToMealsPlanner.emit(ctx_r31.recipe); });
207
189
  i0.ɵɵelementStart(1, "span");
208
- i0.ɵɵi18n(2, 64);
190
+ i0.ɵɵi18n(2, 63);
209
191
  i0.ɵɵelementEnd();
210
192
  i0.ɵɵelementEnd();
211
193
  } }
212
194
  function RecipeCardComponent_div_1_Template(rf, ctx) { if (rf & 1) {
213
- const _r36 = i0.ɵɵgetCurrentView();
195
+ const _r34 = i0.ɵɵgetCurrentView();
214
196
  i0.ɵɵelementStart(0, "div", 2);
215
- i0.ɵɵlistener("inViewport", function RecipeCardComponent_div_1_Template_div_inViewport_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(); return ctx_r35.cardInViewport(); });
197
+ i0.ɵɵlistener("inViewport", function RecipeCardComponent_div_1_Template_div_inViewport_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.cardInViewport(); });
216
198
  i0.ɵɵelementStart(1, "div", 3);
217
- i0.ɵɵlistener("click", function RecipeCardComponent_div_1_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r36); const ctx_r37 = i0.ɵɵnextContext(); return ctx_r37.openRecipe(); });
199
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_1_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r34); const ctx_r35 = i0.ɵɵnextContext(); return ctx_r35.openRecipe(); });
218
200
  i0.ɵɵelementStart(2, "div", 4);
219
201
  i0.ɵɵelementStart(3, "img", 5);
220
- i0.ɵɵlistener("error", function RecipeCardComponent_div_1_Template_img_error_3_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r38 = i0.ɵɵnextContext(); return ($event.target["src"] = ctx_r38.contextService.defaultRecipePicture); });
202
+ i0.ɵɵlistener("error", function RecipeCardComponent_div_1_Template_img_error_3_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r36 = i0.ɵɵnextContext(); return ($event.target["src"] = ctx_r36.contextService.defaultRecipePicture); });
221
203
  i0.ɵɵelementEnd();
222
204
  i0.ɵɵelementEnd();
223
205
  i0.ɵɵelement(4, "div", 6);
224
206
  i0.ɵɵelementStart(5, "div", 7);
225
207
  i0.ɵɵelementStart(6, "div", 8);
226
208
  i0.ɵɵtemplate(7, RecipeCardComponent_div_1_div_7_Template, 3, 3, "div", 9);
227
- i0.ɵɵtemplate(8, RecipeCardComponent_div_1_div_8_Template, 3, 2, "div", 10);
228
- i0.ɵɵtemplate(9, RecipeCardComponent_div_1_div_9_Template, 4, 4, "div", 11);
209
+ i0.ɵɵelementStart(8, "div", 10);
210
+ i0.ɵɵtemplate(9, RecipeCardComponent_div_1_div_9_Template, 3, 3, "div", 11);
211
+ i0.ɵɵtemplate(10, RecipeCardComponent_div_1_div_10_Template, 2, 2, "div", 12);
212
+ i0.ɵɵtemplate(11, RecipeCardComponent_div_1_ng_miam_recipe_promotion_badge_11_Template, 1, 0, "ng-miam-recipe-promotion-badge", 13);
213
+ i0.ɵɵelementEnd();
229
214
  i0.ɵɵelementEnd();
230
- i0.ɵɵelementStart(10, "div", 12);
231
- i0.ɵɵelementStart(11, "div", 13);
232
- i0.ɵɵelementStart(12, "span");
233
- i0.ɵɵtext(13);
215
+ i0.ɵɵelementStart(12, "div", 14);
216
+ i0.ɵɵelementStart(13, "div", 15);
217
+ i0.ɵɵelementStart(14, "span");
218
+ i0.ɵɵtext(15);
234
219
  i0.ɵɵelementEnd();
235
220
  i0.ɵɵelementEnd();
236
- i0.ɵɵelementStart(14, "div", 14);
237
- i0.ɵɵelementStart(15, "span", 15);
238
- i0.ɵɵtext(16);
221
+ i0.ɵɵelementStart(16, "div", 16);
222
+ i0.ɵɵelementStart(17, "span", 17);
223
+ i0.ɵɵtext(18);
239
224
  i0.ɵɵelementEnd();
240
- i0.ɵɵelement(17, "img", 16);
225
+ i0.ɵɵelement(19, "img", 18);
241
226
  i0.ɵɵelementEnd();
242
227
  i0.ɵɵelementEnd();
243
228
  i0.ɵɵelementEnd();
244
229
  i0.ɵɵelementEnd();
245
- i0.ɵɵelementStart(18, "div", 17);
246
- i0.ɵɵlistener("click", function RecipeCardComponent_div_1_Template_div_click_18_listener() { i0.ɵɵrestoreView(_r36); const ctx_r39 = i0.ɵɵnextContext(); return ctx_r39.openRecipe(); });
247
- i0.ɵɵtemplate(19, RecipeCardComponent_div_1_div_19_Template, 6, 6, "div", 18);
248
230
  i0.ɵɵelementStart(20, "div", 19);
249
- i0.ɵɵelementStart(21, "div", 20);
250
- i0.ɵɵtemplate(22, RecipeCardComponent_div_1_div_22_Template, 3, 2, "div", 21);
231
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_1_Template_div_click_20_listener() { i0.ɵɵrestoreView(_r34); const ctx_r37 = i0.ɵɵnextContext(); return ctx_r37.openRecipe(); });
232
+ i0.ɵɵtemplate(21, RecipeCardComponent_div_1_div_21_Template, 6, 6, "div", 20);
233
+ i0.ɵɵelementStart(22, "div", 21);
251
234
  i0.ɵɵelementStart(23, "div", 22);
252
- i0.ɵɵtemplate(24, RecipeCardComponent_div_1_ng_miam_recipe_promotion_badge_24_Template, 1, 0, "ng-miam-recipe-promotion-badge", 23);
253
- i0.ɵɵtemplate(25, RecipeCardComponent_div_1_div_25_Template, 2, 3, "div", 24);
235
+ i0.ɵɵtemplate(24, RecipeCardComponent_div_1_div_24_Template, 3, 2, "div", 23);
236
+ i0.ɵɵelementStart(25, "div", 24);
237
+ i0.ɵɵtemplate(26, RecipeCardComponent_div_1_ng_miam_recipe_promotion_badge_26_Template, 1, 0, "ng-miam-recipe-promotion-badge", 25);
238
+ i0.ɵɵtemplate(27, RecipeCardComponent_div_1_div_27_Template, 2, 3, "div", 26);
254
239
  i0.ɵɵelementEnd();
255
240
  i0.ɵɵelementEnd();
256
- i0.ɵɵelementStart(26, "div", 25);
257
- i0.ɵɵtemplate(27, RecipeCardComponent_div_1_ng_miam_like_button_27_Template, 1, 2, "ng-miam-like-button", 26);
258
- i0.ɵɵpipe(28, "async");
259
- i0.ɵɵtemplate(29, RecipeCardComponent_div_1_ng_miam_recipe_card_cta_29_Template, 1, 5, "ng-miam-recipe-card-cta", 27);
241
+ i0.ɵɵelementStart(28, "div", 27);
242
+ i0.ɵɵtemplate(29, RecipeCardComponent_div_1_ng_miam_like_button_29_Template, 1, 2, "ng-miam-like-button", 28);
243
+ i0.ɵɵpipe(30, "async");
244
+ i0.ɵɵtemplate(31, RecipeCardComponent_div_1_ng_miam_recipe_card_cta_31_Template, 1, 5, "ng-miam-recipe-card-cta", 29);
260
245
  i0.ɵɵelementEnd();
261
- i0.ɵɵtemplate(30, RecipeCardComponent_div_1_div_30_Template, 6, 1, "div", 28);
262
- i0.ɵɵtemplate(31, RecipeCardComponent_div_1_button_31_Template, 3, 0, "button", 29);
246
+ i0.ɵɵtemplate(32, RecipeCardComponent_div_1_div_32_Template, 6, 1, "div", 30);
247
+ i0.ɵɵtemplate(33, RecipeCardComponent_div_1_button_33_Template, 3, 0, "button", 31);
263
248
  i0.ɵɵelementEnd();
264
249
  i0.ɵɵelementEnd();
265
250
  i0.ɵɵelementEnd();
@@ -271,10 +256,12 @@ function RecipeCardComponent_div_1_Template(rf, ctx) { if (rf & 1) {
271
256
  i0.ɵɵattribute("aria-hidden", true);
272
257
  i0.ɵɵadvance(4);
273
258
  i0.ɵɵproperty("ngIf", !(ctx_r0.displayBadge && ctx_r0.recipe.sponsorLogoUrl));
259
+ i0.ɵɵadvance(2);
260
+ i0.ɵɵproperty("ngIf", ctx_r0.displayBadge);
274
261
  i0.ɵɵadvance(1);
275
- i0.ɵɵproperty("ngIf", !ctx_r0.displayBadge && ctx_r0.isInPromotion || ctx_r0.recipe.sponsorLogoUrl);
262
+ i0.ɵɵproperty("ngIf", ctx_r0.recipe.sponsorLogoUrl);
276
263
  i0.ɵɵadvance(1);
277
- i0.ɵɵproperty("ngIf", ctx_r0.displayBadge);
264
+ i0.ɵɵproperty("ngIf", ctx_r0.isInPromotion);
278
265
  i0.ɵɵadvance(4);
279
266
  i0.ɵɵtextInterpolate(ctx_r0.recipe.attributes["title"]);
280
267
  i0.ɵɵadvance(1);
@@ -290,7 +277,7 @@ function RecipeCardComponent_div_1_Template(rf, ctx) { if (rf & 1) {
290
277
  i0.ɵɵadvance(1);
291
278
  i0.ɵɵproperty("ngIf", ctx_r0.recipe && ctx_r0.displayPricing);
292
279
  i0.ɵɵadvance(2);
293
- i0.ɵɵproperty("ngIf", ctx_r0.displayLikesBottom && i0.ɵɵpipeBind1(28, 18, ctx_r0.userService.isLogged$));
280
+ i0.ɵɵproperty("ngIf", ctx_r0.displayLikesBottom && i0.ɵɵpipeBind1(30, 19, ctx_r0.userService.isLogged$));
294
281
  i0.ɵɵadvance(2);
295
282
  i0.ɵɵproperty("ngIf", ctx_r0.previewAllowed && !ctx_r0.addRecipeMode && !ctx_r0.replaceMode);
296
283
  i0.ɵɵadvance(1);
@@ -299,20 +286,20 @@ function RecipeCardComponent_div_1_Template(rf, ctx) { if (rf & 1) {
299
286
  i0.ɵɵproperty("ngIf", ctx_r0.addRecipeMode);
300
287
  } }
301
288
  function RecipeCardComponent_div_2_Template(rf, ctx) { if (rf & 1) {
302
- const _r41 = i0.ɵɵgetCurrentView();
289
+ const _r39 = i0.ɵɵgetCurrentView();
303
290
  i0.ɵɵelementStart(0, "div", 2);
304
- i0.ɵɵlistener("inViewport", function RecipeCardComponent_div_2_Template_div_inViewport_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return ctx_r40.cardInViewport(); });
305
- i0.ɵɵelementStart(1, "a", 65);
306
- i0.ɵɵelement(2, "img", 66);
307
- i0.ɵɵelementStart(3, "div", 67);
308
- i0.ɵɵelementStart(4, "div", 68);
291
+ i0.ɵɵlistener("inViewport", function RecipeCardComponent_div_2_Template_div_inViewport_0_listener() { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(); return ctx_r38.cardInViewport(); });
292
+ i0.ɵɵelementStart(1, "a", 64);
293
+ i0.ɵɵelement(2, "img", 65);
294
+ i0.ɵɵelementStart(3, "div", 66);
295
+ i0.ɵɵelementStart(4, "div", 67);
309
296
  i0.ɵɵelementStart(5, "span");
310
- i0.ɵɵi18n(6, 69);
297
+ i0.ɵɵi18n(6, 68);
311
298
  i0.ɵɵelementEnd();
312
299
  i0.ɵɵelementEnd();
313
- i0.ɵɵelementStart(7, "button", 70);
300
+ i0.ɵɵelementStart(7, "button", 69);
314
301
  i0.ɵɵelementStart(8, "span");
315
- i0.ɵɵi18n(9, 71);
302
+ i0.ɵɵi18n(9, 70);
316
303
  i0.ɵɵelementEnd();
317
304
  i0.ɵɵelementEnd();
318
305
  i0.ɵɵelementEnd();
@@ -583,10 +570,10 @@ RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent,
583
570
  }
584
571
  else {
585
572
  i18n_6 = $localize `:␟f51693cf087a834d433fa3835d7b64905fdc57ee␟9008711340501624723:Découvrez nos recettes`;
586
- } return [["ngMiamInViewport", "", 1, "miam-recipe-card", 3, "condition", "ngClass", "inViewport"], ["class", "miam-recipe-card__container", "ngMiamInViewport", "", 3, "threshold", "debounceTime", "inViewport", 4, "ngIf"], ["ngMiamInViewport", "", 1, "miam-recipe-card__container", 3, "threshold", "debounceTime", "inViewport"], [1, "miam-recipe-card__top", 3, "click"], [1, "miam-recipe-card__picture"], ["loading", "lazy", 3, "src", "alt", "error"], ["aria-hidden", "true", 1, "miam-recipe-card__gradient"], [1, "miam-recipe-card__content"], [1, "miam-recipe-card__top-container"], ["class", "miam-recipe-card__like", 4, "ngIf"], ["class", "miam-recipe-card_sponso_and_promo_badge", 4, "ngIf"], ["class", "miam-recipe-card__badge-container", 3, "ngClass", 4, "ngIf"], [1, "miam-recipe-card__picture__bottom"], [1, "miam-recipe-card__title", "miam-ds-text", "weight-xxl", "size-m"], [1, "miam-recipe-card__counter"], [1, "miam-ds-text", "weight-xxl", "size-m"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/recipe-counter.svg", "alt", "", "aria-hidden", "true"], [1, "miam-recipe-card__bottom", 3, "click"], ["class", "miam-recipe-card__ingredients__pictures", 4, "ngIf"], [1, "miam-recipe-card__actions"], [1, "miam-recipe-card__infos"], ["class", "miam-recipe-card__difficulty-and-time", 4, "ngIf"], [1, "miam-recipe-card__price-and-promotion"], ["class", "miam-recipe-card__bottom-promotion", 4, "ngIf"], ["class", "miam-recipe-card__price", 4, "ngIf"], [1, "miam-recipe-card__cta"], ["class", "miam-recipe-card__actions__icon", 3, "recipe", "originTrace", 4, "ngIf"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked", 4, "ngIf"], ["class", "miam-recipe-card__actions__replace", 4, "ngIf"], ["class", "miam-ds-button ghost", 3, "click", 4, "ngIf"], [1, "miam-recipe-card__like"], [1, "miam-recipe-card__actions__icon", 3, "recipe", "originTrace"], [1, "miam-recipe-card_sponso_and_promo_badge"], [4, "ngIf"], ["class", "miam-recipe-card__sponsor-container", 4, "ngIf"], [1, "miam-recipe-card__sponsor-container"], [1, "miam-recipe-card__sponsor-picture", 3, "src", "alt"], [1, "miam-recipe-card__badge-container", 3, "ngClass"], ["class", "miam-recipe-card__badge", "src", "https://storage.googleapis.com/assets.miam.tech/generic/images/recipe_card-badge.svg", "alt", "Id\u00E9e repas", 4, "ngIf"], ["class", "miam-recipe-card__badge", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/9.0/recipe-card-badge-drinks.svg", "alt", "Id\u00E9e boisson", 4, "ngIf"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/images/recipe_card-badge.svg", "alt", "Id\u00E9e repas", 1, "miam-recipe-card__badge"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/9.0/recipe-card-badge-drinks.svg", "alt", "Id\u00E9e boisson", 1, "miam-recipe-card__badge"], [1, "miam-recipe-card__ingredients__pictures"], [1, "miam-recipe-card__ingredients__picture"], ["aria-hidden", "true", 3, "src", "alt", "error"], ["class", "miam-recipe-card__ingredients__more", 4, "ngIf"], [1, "miam-recipe-card__ingredients__more"], [1, "miam-recipe-card__difficulty-and-time"], ["class", "miam-recipe-card__difficulty", 4, "ngIf"], ["class", "miam-recipe-card__time", 4, "ngIf"], [1, "miam-recipe-card__difficulty"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/ChefHat.svg", "alt", "", "aria-hidden", "true"], [1, "miam-ds-text", "size-s", "weight-m"], [1, "miam-recipe-card__time"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Clock.svg", "alt", "", "aria-hidden", "true"], [1, "miam-recipe-card__bottom-promotion"], [1, "miam-recipe-card__price"], [1, "miam-ds-text", "weight-xxl", 3, "recipeId", "serves", "inViewport", "priceSet"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked"], [1, "miam-recipe-card__actions__replace"], [1, "miam-ds-button", "ghost", 3, "click"], i18n_0, ["aria-label", "Supprimer la recette", 1, "miam-ds-button", "ghost", "square", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "iconName"], i18n_2, [1, "miam-recipe-card__redirect", 3, "href"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/images/Suggestion_Redirect_Background.png", "alt", "D\u00E9couvrez nos recettes"], [1, "miam-recipe-card__redirect__footer"], [1, "miam-recipe-card__redirect__title", "miam-ds-text", "size-l", "weight-xxl"], i18n_4, [1, "miam-recipe-card__redirect__button", "miam-ds-button", "primary"], i18n_6]; }, template: function RecipeCardComponent_Template(rf, ctx) { if (rf & 1) {
573
+ } return [["ngMiamInViewport", "", 1, "miam-recipe-card", 3, "condition", "ngClass", "inViewport"], ["class", "miam-recipe-card__container", "ngMiamInViewport", "", 3, "threshold", "debounceTime", "inViewport", 4, "ngIf"], ["ngMiamInViewport", "", 1, "miam-recipe-card__container", 3, "threshold", "debounceTime", "inViewport"], [1, "miam-recipe-card__top", 3, "click"], [1, "miam-recipe-card__picture"], ["loading", "lazy", 3, "src", "alt", "error"], ["aria-hidden", "true", 1, "miam-recipe-card__gradient"], [1, "miam-recipe-card__content"], [1, "miam-recipe-card__top-container"], ["class", "miam-recipe-card__like", 4, "ngIf"], [1, "miam-recipe-card__badges-container"], ["class", "miam-recipe-card__badge-container", 3, "ngClass", 4, "ngIf"], ["class", "miam-recipe-card__sponsor-container", 4, "ngIf"], [4, "ngIf"], [1, "miam-recipe-card__picture__bottom"], [1, "miam-recipe-card__title", "miam-ds-text", "weight-xxl", "size-m"], [1, "miam-recipe-card__counter"], [1, "miam-ds-text", "weight-xxl", "size-m"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/recipe-counter.svg", "alt", "", "aria-hidden", "true"], [1, "miam-recipe-card__bottom", 3, "click"], ["class", "miam-recipe-card__ingredients__pictures", 4, "ngIf"], [1, "miam-recipe-card__actions"], [1, "miam-recipe-card__infos"], ["class", "miam-recipe-card__difficulty-and-time", 4, "ngIf"], [1, "miam-recipe-card__price-and-promotion"], ["class", "miam-recipe-card__bottom-promotion", 4, "ngIf"], ["class", "miam-recipe-card__price", 4, "ngIf"], [1, "miam-recipe-card__cta"], ["class", "miam-recipe-card__actions__icon", 3, "recipe", "originTrace", 4, "ngIf"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked", 4, "ngIf"], ["class", "miam-recipe-card__actions__replace", 4, "ngIf"], ["class", "miam-ds-button ghost", 3, "click", 4, "ngIf"], [1, "miam-recipe-card__like"], [1, "miam-recipe-card__actions__icon", 3, "recipe", "originTrace"], [1, "miam-recipe-card__badge-container", 3, "ngClass"], ["class", "miam-recipe-card__badge", "src", "https://storage.googleapis.com/assets.miam.tech/generic/images/recipe_card-badge.svg", "alt", "Id\u00E9e repas", 4, "ngIf"], ["class", "miam-recipe-card__badge", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/9.0/recipe-card-badge-drinks.svg", "alt", "Id\u00E9e boisson", 4, "ngIf"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/images/recipe_card-badge.svg", "alt", "Id\u00E9e repas", 1, "miam-recipe-card__badge"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/9.0/recipe-card-badge-drinks.svg", "alt", "Id\u00E9e boisson", 1, "miam-recipe-card__badge"], [1, "miam-recipe-card__sponsor-container"], [1, "miam-recipe-card__sponsor-picture", 3, "src", "alt"], [1, "miam-recipe-card__ingredients__pictures"], [1, "miam-recipe-card__ingredients__picture"], ["aria-hidden", "true", 3, "src", "alt", "error"], ["class", "miam-recipe-card__ingredients__more", 4, "ngIf"], [1, "miam-recipe-card__ingredients__more"], [1, "miam-recipe-card__difficulty-and-time"], ["class", "miam-recipe-card__difficulty", 4, "ngIf"], ["class", "miam-recipe-card__time", 4, "ngIf"], [1, "miam-recipe-card__difficulty"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/ChefHat.svg", "alt", "", "aria-hidden", "true"], [1, "miam-ds-text", "size-s", "weight-m"], [1, "miam-recipe-card__time"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Clock.svg", "alt", "", "aria-hidden", "true"], [1, "miam-recipe-card__bottom-promotion"], [1, "miam-recipe-card__price"], [1, "miam-ds-text", "weight-xxl", 3, "recipeId", "serves", "inViewport", "priceSet"], [3, "recipe", "previewAllowed", "displayGuests", "helpButtonAllowed", "originTrace", "displayed", "clicked"], [1, "miam-recipe-card__actions__replace"], [1, "miam-ds-button", "ghost", 3, "click"], i18n_0, ["aria-label", "Supprimer la recette", 1, "miam-ds-button", "ghost", "square", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "iconName"], i18n_2, [1, "miam-recipe-card__redirect", 3, "href"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/images/Suggestion_Redirect_Background.png", "alt", "D\u00E9couvrez nos recettes"], [1, "miam-recipe-card__redirect__footer"], [1, "miam-recipe-card__redirect__title", "miam-ds-text", "size-l", "weight-xxl"], i18n_4, [1, "miam-recipe-card__redirect__button", "miam-ds-button", "primary"], i18n_6]; }, template: function RecipeCardComponent_Template(rf, ctx) { if (rf & 1) {
587
574
  i0.ɵɵelementStart(0, "div", 0);
588
575
  i0.ɵɵlistener("inViewport", function RecipeCardComponent_Template_div_inViewport_0_listener() { return ctx.sendShowEvent(); });
589
- i0.ɵɵtemplate(1, RecipeCardComponent_div_1_Template, 32, 20, "div", 1);
576
+ i0.ɵɵtemplate(1, RecipeCardComponent_div_1_Template, 34, 21, "div", 1);
590
577
  i0.ɵɵtemplate(2, RecipeCardComponent_div_2_Template, 10, 3, "div", 1);
591
578
  i0.ɵɵelementEnd();
592
579
  } if (rf & 2) {
@@ -595,7 +582,7 @@ RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent,
595
582
  i0.ɵɵproperty("ngIf", ctx.recipe);
596
583
  i0.ɵɵadvance(1);
597
584
  i0.ɵɵproperty("ngIf", ctx.isloaded && !ctx.recipe);
598
- } }, directives: [i2.InViewportDirective, i3.NgClass, i3.NgIf, i4.LikeButtonComponent, i5.RecipePromotionBadgeComponent, i6.RecipePricingComponent, i7.RecipeCardCtaComponent, i8.IconComponent], pipes: [i3.AsyncPipe], styles: [".miam-recipe-card{position:relative;display:flex;width:var(--m-catalog-card-width,308px);height:500px;flex-direction:column;align-items:flex-start;flex-shrink:0;border-radius:8px;overflow:hidden;cursor:pointer}.miam-recipe-card .miam-recipe-card__container{display:flex;flex-direction:column;height:100%;width:100%;flex-shrink:0;align-self:stretch}.miam-recipe-card .miam-recipe-card__container:hover .miam-recipe-card__top .miam-recipe-card__picture img{transform:scale(1.1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top{position:relative;flex:1;height:calc(100% - 72px)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture{width:100%;height:100%;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__gradient{position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(180deg,transparent 43.67%,rgba(0,0,0,.4) 91.33%)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:12px;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__title{color:var(--miam-ds-color-neutral-white,#fff);text-shadow:0 2px 8px rgba(0,0,0,.15);text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter{display:flex;padding:4px 8px;align-items:center;gap:4px;border-radius:100px;background:var(--miam-ds-color-neutral-white,#fff);color:var(--miam-color-neutral-black);height:-moz-fit-content;height:fit-content;flex-shrink:0}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter span{line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter img{width:16px;height:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container{display:flex;flex-direction:row-reverse;justify-content:space-between;margin:12px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container{display:flex;padding:8px 12px;background-color:#fff;border-radius:100px;width:auto;height:auto;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container .miam-recipe-card__sponsor-picture{width:auto;height:auto;max-width:80px;max-height:40px;-o-object-fit:contain;object-fit:contain}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__badge-container,.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card_sponso_and_promo_badge{display:flex;flex-direction:column;align-items:flex-start}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__badge-container>:not(:last-child),.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card_sponso_and_promo_badge>:not(:last-child){margin-bottom:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__like .miam-like-button{border-radius:48px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__like .miam-like-button.miam-ds-button.primary.reverse.square.small .miam-like-button__icon{height:16px;width:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom{display:flex;width:100%;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;box-sizing:border-box;padding:12px;border-radius:0 0 8px 8px;background-color:var(--miam-ds-color-neutral-white,#fff);border-right:1px solid var(--m-color-neutral-200,#d9dde1);border-bottom:1px solid var(--m-color-neutral-200,#d9dde1);border-left:1px solid var(--m-color-neutral-200,#d9dde1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions{display:flex;gap:8px;justify-content:space-between;align-items:center;align-self:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__infos{display:flex;flex-direction:column;align-items:flex-start}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__infos .miam-recipe-card__price-and-promotion .miam-recipe-card__bottom-promotion{display:none}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__cta{display:flex;flex-direction:row;gap:16px;align-items:center}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time{display:flex;flex-direction:row;color:var(--miam-ds-color-text-disabled);gap:12px;margin-bottom:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__difficulty,.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__time{display:flex}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__difficulty img,.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__time img{margin-right:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price{color:var(--miam-ds-color-primary);line-height:100%;margin-right:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing{max-width:70px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{color:rgba(31,53,67,.5);font-weight:500;line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__actions__replace{display:flex;flex:1;justify-content:space-between;align-items:center}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect{display:flex;flex-direction:column;justify-content:flex-end;flex:1;border-radius:8px;border:1px solid var(--m-color-neutral-200,#d9dde1);box-sizing:border-box;text-decoration:unset}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect img{height:100%;-o-object-fit:cover;object-fit:cover}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer .miam-recipe-card__redirect__button{margin-top:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer .miam-recipe-card__redirect__button span{font-size:14px;font-weight:700;line-height:16px}@media (max-width:1023px){.miam-recipe-card.redirect-card{width:80vw;height:188px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect{flex-direction:row;height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect img{content:url(https://storage.googleapis.com/assets.miam.tech/generic/images/Suggestion_Redirect_Background_Mobile.png);height:136%;margin:-22px -16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer{min-width:156px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer .miam-recipe-card__redirect__title{font-size:16px}}"], encapsulation: 2, changeDetection: 0 });
585
+ } }, directives: [i2.InViewportDirective, i3.NgClass, i3.NgIf, i4.LikeButtonComponent, i5.RecipePromotionBadgeComponent, i6.RecipePricingComponent, i7.RecipeCardCtaComponent, i8.IconComponent], pipes: [i3.AsyncPipe], styles: [".miam-recipe-card{position:relative;display:flex;width:var(--m-catalog-card-width,308px);height:500px;flex-direction:column;align-items:flex-start;flex-shrink:0;border-radius:8px;overflow:hidden;cursor:pointer}.miam-recipe-card .miam-recipe-card__container{display:flex;flex-direction:column;height:100%;width:100%;flex-shrink:0;align-self:stretch}.miam-recipe-card .miam-recipe-card__container:hover .miam-recipe-card__top .miam-recipe-card__picture img{transform:scale(1.1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top{position:relative;flex:1;height:calc(100% - 72px)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture{width:100%;height:100%;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__picture img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__gradient{position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(180deg,transparent 43.67%,rgba(0,0,0,.4) 91.33%)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:12px;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__title{color:var(--miam-ds-color-neutral-white,#fff);text-shadow:0 2px 8px rgba(0,0,0,.15);text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter{display:flex;padding:4px 8px;align-items:center;gap:4px;border-radius:100px;background:var(--miam-ds-color-neutral-white,#fff);color:var(--miam-color-neutral-black);height:-moz-fit-content;height:fit-content;flex-shrink:0}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter span{line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__picture__bottom .miam-recipe-card__counter img{width:16px;height:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container{display:flex;margin:12px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container{display:flex;padding:8px 12px;background-color:#fff;border-radius:100px;width:auto;height:auto;box-sizing:border-box}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__sponsor-container .miam-recipe-card__sponsor-picture{width:auto;height:auto;max-width:80px;max-height:40px;-o-object-fit:contain;object-fit:contain}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__badge-container,.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__badges-container{display:flex;flex-direction:column;align-items:flex-start}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__badge-container>:not(:last-child),.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__badges-container>:not(:last-child){margin-bottom:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__like .miam-like-button{border-radius:48px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__top .miam-recipe-card__content .miam-recipe-card__top-container .miam-recipe-card__like .miam-like-button.miam-ds-button.primary.reverse.square.small .miam-like-button__icon{height:16px;width:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom{display:flex;width:100%;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;box-sizing:border-box;padding:12px;border-radius:0 0 8px 8px;background-color:var(--miam-ds-color-neutral-white,#fff);border-right:1px solid var(--m-color-neutral-200,#d9dde1);border-bottom:1px solid var(--m-color-neutral-200,#d9dde1);border-left:1px solid var(--m-color-neutral-200,#d9dde1)}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions{display:flex;gap:8px;justify-content:space-between;align-items:center;align-self:stretch}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__infos{display:flex;flex-direction:column;align-items:flex-start}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__infos .miam-recipe-card__price-and-promotion .miam-recipe-card__bottom-promotion{display:none}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__cta{display:flex;flex-direction:row;gap:16px;align-items:center}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time{display:flex;flex-direction:row;color:var(--miam-ds-color-text-disabled);gap:12px;margin-bottom:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__difficulty,.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__time{display:flex}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__difficulty img,.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__difficulty-and-time .miam-recipe-card__time img{margin-right:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price{color:var(--miam-ds-color-primary);line-height:100%;margin-right:4px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing{max-width:70px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__price .miam-recipe-pricing .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{color:rgba(31,53,67,.5);font-weight:500;line-height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__bottom .miam-recipe-card__actions .miam-recipe-card__actions__replace{display:flex;flex:1;justify-content:space-between;align-items:center}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect{display:flex;flex-direction:column;justify-content:flex-end;flex:1;border-radius:8px;border:1px solid var(--m-color-neutral-200,#d9dde1);box-sizing:border-box;text-decoration:unset}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect img{height:100%;-o-object-fit:cover;object-fit:cover}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer .miam-recipe-card__redirect__button{margin-top:16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer .miam-recipe-card__redirect__button span{font-size:14px;font-weight:700;line-height:16px}@media (max-width:1023px){.miam-recipe-card.redirect-card{width:80vw;height:188px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect{flex-direction:row;height:100%}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect img{content:url(https://storage.googleapis.com/assets.miam.tech/generic/images/Suggestion_Redirect_Background_Mobile.png);height:136%;margin:-22px -16px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer{min-width:156px}.miam-recipe-card .miam-recipe-card__container .miam-recipe-card__redirect .miam-recipe-card__redirect__footer .miam-recipe-card__redirect__title{font-size:16px}}"], encapsulation: 2, changeDetection: 0 });
599
586
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RecipeCardComponent, [{
600
587
  type: Component,
601
588
  args: [{
@@ -646,4 +633,4 @@ RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent,
646
633
  }], hide: [{
647
634
  type: Output
648
635
  }] }); })();
649
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxNQUFNLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7SUNRbkMsMENBS3NCOzs7SUFGcEIsdUNBQWlCLG1DQUFBOzs7SUFKdkIsK0JBQXFGO0lBQ2pGLGlIQUtzQjs7SUFDMUIsaUJBQU07OztJQUxDLGVBQTREO0lBQTVELHVHQUE0RDs7O0lBUWpFLGlE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QixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNJLG1CQUFtQjtrQkFBNUIsTUFBTTtZQUNHLFNBQVM7a0JBQWxCLE1BQU07WUFDRyxzQkFBc0I7a0JBQS9CLE1BQU07WUFDRyxpQkFBaUI7a0JBQTFCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csSUFBSTtrQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBza2lwLCBza2lwV2hpbGUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdmVudFRyYWNlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9ldmVudC10cmFjZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJlY2lwZSwgU2ltcGxpZmllZEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UsIEJhc2tldHNTZXJ2aWNlLCBDb250ZXh0U2VydmljZSwgUmVjaXBlc1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFJlY2lwZVByaWNpbmcgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL3JlY2lwZS1wcmljaW5nJztcblxuY29uc3QgcmVjaXBlSW5jbHVkZXMgPSBbJ3JlY2lwZS1wcm92aWRlcicsICdzcG9uc29ycycsICd0YWdzJ107XG5jb25zdCByZWNpcGVTcGFyc2VGaWVsZHMgPSB7XG4gIHJlY2lwZXM6IFsndGl0bGUnLCAnbnVtYmVyLW9mLWd1ZXN0cycsICdtZWRpYS11cmwnLCAndmlkZW8taWQnLCAnZmlsaWdyYW5lLWxvZ28tdXJsJywgJ2RpZmZpY3VsdHknLCAncHJlcGFyYXRpb24tdGltZScsICdjb29raW5nLXRpbWUnLFxuICAgICdyZXN0aW5nLXRpbWUnLCAuLi5yZWNpcGVJbmNsdWRlc10sXG4gIHNwb25zb3JzOiBbJ2xvZ28tdXJsJ10sXG4gIHRhZ3M6IFsndGFnLXR5cGUtaWQnXSxcbiAgJ3JlY2lwZS1wcm92aWRlcic6IFsnbmFtZSddXG59O1xuXG4vKipcbiAqIFRoaXMgaXMgYW4gYW5ndWxhciBjb21wb25lbnQgZGVzaWduIHRvIGJlIGEgd2ViIGNvbXBvbmVudFxuICogdGhhdCdzIHdoeSB3ZSB1c2Ugb25QdXNoU3RyYXRlZ2llIHdpdGggdGhlIGNoYW5nZURldGV0ZWN0b3JSZWZcbiAqIHRvIGF2b2lkIGNvbW1vbiBpc3N1ZVxuICogZ3VpZGUgLT4gaHR0cHM6Ly9uZXRiYXNhbC5jb20vYS1jb21wcmVoZW5zaXZlLWd1aWRlLXRvLWFuZ3VsYXItb25wdXNoLWNoYW5nZS1kZXRlY3Rpb24tc3RyYXRlZ3ktNWJhYzQ5MzA3NGE0XG4gKiBhbmQgYWxzb3cgd2UgdXNlIFNoYWRvd0RvbSB0byBwcm90ZWN0IHN0eWxlIG9mIG91ciBjb21wb25lbnRcbiAqIGFuZCBhbHNvdyBzdHlsZSBvZiB0aGUgcGFyZW50IGFwbGljYXRpb24gdGhhdCB3aWxsIHVzZSBpdFxuICogZG9jIC0+IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9WaWV3RW5jYXBzdWxhdGlvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBSZWNpcGVDYXJkQ29tcG9uZW50IGV4dGVuZHMgRXZlbnRUcmFjZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcmVjaXBlSWQ6IHN0cmluZztcbiAgQElucHV0KCkgcmVjaXBlOiBSZWNpcGU7XG4gIEBJbnB1dCgpIHJhbmRvbU1vZGVFbmFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHByb2R1Y3RJZHM6IHsgaWQ6IHN0cmluZzsgaGFzSGlnaFdlaWdodD86IGJvb2xlYW4gfVtdO1xuICBASW5wdXQoKSBwcmV2aWV3QWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIGhlbHBCdXR0b25BbGxvd2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzcGxheUluZm9zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc3BsYXlQcmljaW5nID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzcGxheUd1ZXN0cyA9IHRydWU7XG4gIEBJbnB1dCgpIGFkZFJlY2lwZU1vZGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVwbGFjZU1vZGUgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzcGxheVZhcmlhbnQgPSAxO1xuICBASW5wdXQoKSBjb250ZXh0SWQ6IHN0cmluZztcbiAgQElucHV0KCkgc2VydmVzPzogbnVtYmVyOyAvLyBvdmVycmlkZSB0aGUgZGVmYXVsdCBudW1iZXIgb2Ygc2VydmluZ3Mgb2YgdGhlIHJlY2lwZVxuICBAT3V0cHV0KCkgcmVtb3ZlZEZyb21GYXZvcml0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkaXNwbGF5ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZW1vdmVGcm9tTWVhbHNQbGFubmVyID0gbmV3IEV2ZW50RW1pdHRlcjxudWxsPigpO1xuICBAT3V0cHV0KCkgYWRkVG9NZWFsc1BsYW5uZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwZT4oKTtcbiAgQE91dHB1dCgpIG9wZW5DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcjxudWxsPigpO1xuICBAT3V0cHV0KCkgaGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpY29uID0gSWNvbjtcbiAgYWN0aW9uc09wZW5lZCA9IGZhbHNlO1xuICBpc2xvYWRlZCA9IGZhbHNlO1xuICBpbkJhc2tldCA9IGZhbHNlO1xuICBpblZpZXdwb3J0ID0gZmFsc2U7XG4gIGlzRHJpbmsgPSBmYWxzZTtcbiAgaXNJblByb21vdGlvbiA9IGZhbHNlO1xuXG4gIGRpc3BsYXlMaWtlc0JvdHRvbSA9IGZhbHNlO1xuICBkaXNwbGF5QmFkZ2UgPSBmYWxzZTtcblxuICBwcml2YXRlIGJhc2tldFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG4gIHByaW1hcnlCdXR0b25DbGlja2VkJCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyByZWNpcGVTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwdWJsaWMgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlY2lwZVNlcnZpY2UuZGlzcGxheWVkUmVjaXBlQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSkpO1xuICAgIFxuICAgIGlmICh0aGlzLmNvbnRleHRJZCkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb1N1Z2dlc3Rpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgY3VycmVudFBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVEaXNwbGF5VmFyaWFudCgpO1xuICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgdGhpcy5hZnRlclJlY2lwZUxvYWQodGhpcy5yZWNpcGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWNpcGVJZCkge1xuICAgICAgdGhpcy5sb2FkUmVjaXBlRnJvbUlkKCk7XG4gICAgfSBlbHNlIGlmIChzaW1wbGVDaGFuZ2VzLnByb2R1Y3RJZHMgJiYgIXRoaXMucmFuZG9tTW9kZUVuYWJsZSAmJiB0aGlzLmNvbnRleHRJZCkge1xuICAgICAgdGhpcy5yZWdpc3RlclN1Z2dlc3Rpb25Db250ZXh0KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJhbmRvbU1vZGVFbmFibGUpIHtcbiAgICAgIHRoaXMuZmV0Y2hSYW5kb21SZWNpcGUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlY2lwZVNlcnZpY2UucmVsb2FkUmVjaXBlcyQuc3Vic2NyaWJlKHNob3VsZFJlbG9hZCA9PiB7XG4gICAgICBpZiAoc2hvdWxkUmVsb2FkKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBDSEVDSyBESVNQTEFZIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gLy9cblxuICB1cGRhdGVEaXNwbGF5VmFyaWFudCgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlzcGxheVZhcmlhbnQpIHtcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgdGhpcy5kaXNwbGF5QmFkZ2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmRpc3BsYXlMaWtlc0JvdHRvbSA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAzOlxuICAgICAgICB0aGlzLmRpc3BsYXlCYWRnZSA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlzcGxheUxpa2VzQm90dG9tID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuZGlzcGxheUJhZGdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzcGxheUxpa2VzQm90dG9tID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRElTUExBWSBSRUNJUEUgREVUQUlMUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIC8vXG5cbiAgb3BlblJlY2lwZSgpOiB2b2lkIHtcbiAgICAvLyBjb25zdCB2aWRlb0V2ZW50ID0gdGhpcy5jb250ZXh0U2VydmljZS52aWRlb1JlY2lwZXNFbmFibGVkICYmIHRoaXMucmVjaXBlLnZpZGVvSWQ7XG4gICAgdGhpcy5yZWNpcGVTZXJ2aWNlLmRpc3BsYXlPYmplY3QoXG4gICAgICB0aGlzLnJlY2lwZSxcbiAgICAgIHtcbiAgICAgICAgcHJldmlld0FsbG93ZWQ6IHRoaXMucHJldmlld0FsbG93ZWQsXG4gICAgICAgIGd1ZXN0czogdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMsXG4gICAgICAgIGRpc3BsYXlHdWVzdHM6IHRoaXMuZGlzcGxheUd1ZXN0cyxcbiAgICAgICAgaGVscEJ1dHRvbkFsbG93ZWQ6IHRoaXMuaGVscEJ1dHRvbkFsbG93ZWRcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuZGlzcGxheWVkLmVtaXQoKTtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KFxuICAgICAgJ3JlY2lwZS5kaXNwbGF5JyxcbiAgICAgIHRoaXMucGF0aCxcbiAgICAgIHtcbiAgICAgICAgcmVjaXBlX2lkOiB0aGlzLnJlY2lwZS5pZCxcbiAgICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMub3JpZ2luVHJhY2UucHJvcHMuY2F0ZWdvcnlfaWRcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBESVNQTEFZIFJFQ0lQRSBERVRBSUxTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gLy9cblxuICBpbmdyZWRpZW50UGljdHVyZShpbmdyZWRpZW50OiBTaW1wbGlmaWVkSW5ncmVkaWVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGluZ3JlZGllbnQucGljdHVyZSB8fCB0aGlzLmNvbnRleHRTZXJ2aWNlLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZTtcbiAgfVxuXG4gIC8vIEhlbHBlciBtZXRob2QgZm9yIGFjY2Vzc2liaWxpdHlcbiAgZ2V0SW5ncmVkaWVudHNBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucmVjaXBlPy5tb2RpZmllZEluZ3JlZGllbnRzIHx8IHRoaXMucmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IGZpcnN0VHdvID0gdGhpcy5yZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5zbGljZSgwLCAyKS5tYXAoaSA9PiBpLm5hbWUpLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodGhpcy5yZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5sZW5ndGggPD0gMikge1xuICAgICAgcmV0dXJuICdJbmdyw6lkaWVudHMgcHJpbmNpcGF1eDogJyArIGZpcnN0VHdvO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvdGhlcnNDb3VudCA9IHRoaXMucmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoIC0gMjtcbiAgICAgIHJldHVybiAnSW5ncsOpZGllbnRzIHByaW5jaXBhdXg6ICcgKyBmaXJzdFR3byArICcgZXQgJyArIG90aGVyc0NvdW50ICsgJyBhdXRyZXMnO1xuICAgIH1cbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gU0hPVyBFVkVOVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIC8vXG5cbiAgc2VuZFNob3dFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KFxuICAgICAgJ3JlY2lwZS5zaG93JyxcbiAgICAgIHRoaXMucGF0aCxcbiAgICAgIHtcbiAgICAgICAgcmVjaXBlX2lkOiB0aGlzLnJlY2lwZS5pZCxcbiAgICAgICAgY2F0ZWdvcnlfaWQ6IHRoaXMub3JpZ2luVHJhY2UucHJvcHMuY2F0ZWdvcnlfaWRcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgY2FyZEluVmlld3BvcnQoKTogdm9pZCB7XG4gICAgdGhpcy5pblZpZXdwb3J0ID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB1cGRhdGVJc0luUHJvbW90aW9uKGZldGNoZWRQcmljZTogUmVjaXBlUHJpY2luZykge1xuICAgIHRoaXMuaXNJblByb21vdGlvbiA9IGZldGNoZWRQcmljZVsnZGlzY291bnRlZC1pbmdyZWRpZW50cy1jb3VudCddID4gMDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIEZFVENIIFRIRSBSRUNJUEUgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAvL1xuXG4gIC8qKlxuICAgKiBGZXRjaCBhIHJlY2lwZSBmcm9tIGl0cyBpZC5cbiAgICogSGlkZSB0aGUgY2FyZCBpZiBub25lIGlzIHJldHVybmVkIChjb3VsZCBiZSBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0cyBvciBpdCBpcyBub3Qgc2hhcmVkIHdpdGggdGhlIHN1cHBsaWVyKVxuICAgKi9cbiAgcHJpdmF0ZSBsb2FkUmVjaXBlRnJvbUlkKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5yZWNpcGVTZXJ2aWNlLmdldCh0aGlzLnJlY2lwZUlkLCB7IGluY2x1ZGU6IHJlY2lwZUluY2x1ZGVzLCBmaWVsZHM6IHJlY2lwZVNwYXJzZUZpZWxkcyB9KS5waXBlKFxuICAgICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaGlkZS5lbWl0KCk7XG4gICAgICAgICAgcmV0dXJuIG9mKGVycik7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgocmVzdWx0OiBSZWNpcGUpID0+IHtcbiAgICAgICAgdGhpcy5hZnRlclJlY2lwZUxvYWQocmVzdWx0KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qXG4gICogU3Vic2NyaWJlIHRvIGNvbnRleHQgc3VnZ2VzdGlvbnM7IGhpZGUgY2FyZCBpZiBub25lXG4gICovXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9TdWdnZXN0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucmVjaXBlU2VydmljZS5vYnNlcnZlU3VnZ2VzdGlvbih0aGlzLmNvbnRleHRJZCkucGlwZShcbiAgICAgICAgc2tpcCgxKVxuICAgICAgKS5zdWJzY3JpYmUoKHN1Z2dlc3Rpb246IFJlY2lwZSkgPT4ge1xuICAgICAgICBpZiAoc3VnZ2VzdGlvbikge1xuICAgICAgICAgIHRoaXMuYWZ0ZXJSZWNpcGVMb2FkKHN1Z2dlc3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNsb2FkZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaGlkZS5lbWl0KCk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFmdGVyUmVjaXBlTG9hZChyZXN1bHQ6IFJlY2lwZSk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlID0gcmVzdWx0O1xuICAgIHRoaXMudXBkYXRlR3Vlc3RzSWZOZWNlc3NhcnkoKTtcbiAgICB0aGlzLmNoZWNrUmVjaXBlSW5CYXNrZXQoKTtcbiAgICB0aGlzLmNoZWNrSXNEcmluaygpO1xuICAgIHRoaXMuaXNsb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSYW5kb21SZWNpcGUoKTogT2JzZXJ2YWJsZTxSZWNpcGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnJlY2lwZVNlcnZpY2UuZ2V0UmFuZG9tKHJlY2lwZUluY2x1ZGVzLCByZWNpcGVTcGFyc2VGaWVsZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBndWVzdHMgZnJvbSB0aGUgdmFsdWUgaW4gdGhlIGJhc2tldCBpZiB0aGUgcmVjaXBlIGlzIGluIHRoZSBiYXNrZXRcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlR3Vlc3RzSWZOZWNlc3NhcnkoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVJc0luQmFza2V0KHRoaXMucmVjaXBlLmlkKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShpc0luTGlzdCA9PiB7XG4gICAgICBpZiAoaXNJbkxpc3QgJiYgIXRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzKSB7XG4gICAgICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gdGhpcy5zZXJ2ZXMgfHwgdGhpcy5iYXNrZXRzU2VydmljZS5ndWVzdHNGb3JSZWNpcGUodGhpcy5yZWNpcGUuaWQpIHx8ICt0aGlzLnJlY2lwZS5ndWVzdHM7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cykge1xuICAgICAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IHRoaXMuc2VydmVzIHx8ICt0aGlzLnJlY2lwZS5ndWVzdHM7XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1JlY2lwZUluQmFza2V0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5iYXNrZXRTdWJzY3JpcHRpb24gJiYgdGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMuYmFza2V0U3Vic2NyaXB0aW9uID0gdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVJc0luQmFza2V0KHRoaXMucmVjaXBlLmlkKS5zdWJzY3JpYmUoaW5CYXNrZXQgPT4ge1xuICAgICAgICB0aGlzLmluQmFza2V0ID0gaW5CYXNrZXQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5iYXNrZXRTdWJzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJc0RyaW5rKCk6IHZvaWQge1xuICAgIGNvbnN0IHRhZ3MgPSB0aGlzLnJlY2lwZT8ucmVsYXRpb25zaGlwcy50YWdzPy5kYXRhIHx8IFtdO1xuICAgIHRoaXMuaXNEcmluayA9IHRhZ3Muc29tZSh0YWcgPT4gWydtZWFsX3R5cGVfYm9pc3NvbicsICdtZWFsX3R5cGVfY29ja3RhaWwnXS5pbmNsdWRlcyh0YWcuaWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgcmVjaXBlIHN1Z2dlc3Rpb24gY29udGV4dCB3aXRoIHByb2R1Y3QgSURzIGZvciBiYXRjaCBwcm9jZXNzaW5nXG4gICAqL1xuICBwcml2YXRlIHJlZ2lzdGVyU3VnZ2VzdGlvbkNvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRleHRJZCB8fCAhdGhpcy5wcm9kdWN0SWRzIHx8IHRoaXMucHJvZHVjdElkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlY2lwZVNlcnZpY2UucXVldWVTdWdnZXN0aW9uQ29udGV4dCh7XG4gICAgICBjb250ZXh0SWQ6IHRoaXMuY29udGV4dElkLFxuICAgICAgaXRlbUV4dElkczogdGhpcy5wcm9kdWN0SWRzLm1hcChwcm9kdWN0ID0+IHByb2R1Y3QuaWQpXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkXCIgbmdNaWFtSW5WaWV3cG9ydCBbY29uZGl0aW9uXT1cIiEhcmVjaXBlXCIgKGluVmlld3BvcnQpPVwic2VuZFNob3dFdmVudCgpXCJcbiAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3ZhcmlhbnQtMSc6IChkaXNwbGF5VmFyaWFudCAhPT0gMiAmJiBkaXNwbGF5VmFyaWFudCAhPT0gMyksXG4gICAgICAndmFyaWFudC0yJzogKGRpc3BsYXlWYXJpYW50ID09PSAyKSxcbiAgICAgICd2YXJpYW50LTMnOiAoZGlzcGxheVZhcmlhbnQgPT09IDMpLFxuICAgICAgJ2luLWJhc2tldCc6IGluQmFza2V0LFxuICAgICAgJ3JlZGlyZWN0LWNhcmQnOiBpc2xvYWRlZCAmJiAhcmVjaXBlXG4gICAgICB9XCI+XG4gIDwhLS0gTUFJTiBDT05UQUlORVIgLS0+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb250YWluZXJcIiAqbmdJZj1cInJlY2lwZVwiXG4gICAgICAgbmdNaWFtSW5WaWV3cG9ydCBbdGhyZXNob2xkXT1cIjBcIiBbZGVib3VuY2VUaW1lXT1cIjBcIiAoaW5WaWV3cG9ydCk9XCJjYXJkSW5WaWV3cG9ydCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3RvcFwiIChjbGljayk9XCJvcGVuUmVjaXBlKClcIj5cbiAgICAgIDwhLS0gUElDVFVSRSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlXCI+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBbc3JjXT1cInJlY2lwZT8uYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIlxuICAgICAgICAgIChlcnJvcik9XCIkZXZlbnQudGFyZ2V0WydzcmMnXSA9IGNvbnRleHRTZXJ2aWNlLmRlZmF1bHRSZWNpcGVQaWN0dXJlXCJcbiAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgW2FsdF09XCJcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gR1JBRElFTlQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fZ3JhZGllbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX190b3AtY29udGFpbmVyXCI+XG4gICAgICAgICAgPCEtLSBMSUtFIEJVVFRPTiAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fbGlrZVwiICpuZ0lmPVwiIShkaXNwbGF5QmFkZ2UgJiYgcmVjaXBlLnNwb25zb3JMb2dvVXJsKVwiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1saWtlLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRpc3BsYXlMaWtlc0JvdHRvbSAmJiAodXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX2ljb25cIlxuICAgICAgICAgICAgICAgIFtyZWNpcGVdPSdyZWNpcGUnXG4gICAgICAgICAgICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2VcIj5cbiAgICAgICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIoIWRpc3BsYXlCYWRnZSAmJiBpc0luUHJvbW90aW9uKSB8fCByZWNpcGUuc3BvbnNvckxvZ29VcmxcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX3Nwb25zb19hbmRfcHJvbW9fYmFkZ2VcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcm9tb3Rpb24tYmFkZ2UgKm5nSWY9XCIhZGlzcGxheUJhZGdlICYmIGlzSW5Qcm9tb3Rpb25cIj48L25nLW1pYW0tcmVjaXBlLXByb21vdGlvbi1iYWRnZT5cbiAgICAgICAgICAgIDwhLS0gU1BPTlNPUiAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGUuc3BvbnNvckxvZ29VcmxcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3Nwb25zb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19zcG9uc29yLXBpY3R1cmVcIiBbc3JjXT1cInJlY2lwZS5zcG9uc29yTG9nb1VybFwiIFthbHRdPVwiJ0xvZ28gZHUgc3BvbnNvciAnICsgcmVjaXBlLnNwb25zb3JOYW1lXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIE1FQUwgLyBEUklOSyBJREVBIEJBREdFIC0tPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5QmFkZ2VcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2JhZGdlLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImlzRHJpbmsgPyAnZHJpbmsnIDogJ2Zvb2QnXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJvbW90aW9uLWJhZGdlICpuZ0lmPVwiaXNJblByb21vdGlvblwiPjwvbmctbWlhbS1yZWNpcGUtcHJvbW90aW9uLWJhZGdlPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cIiFpc0RyaW5rXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19iYWRnZVwiXG4gICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaW1hZ2VzL3JlY2lwZV9jYXJkLWJhZGdlLnN2Z1wiXG4gICAgICAgICAgICAgICAgIGFsdD1cIklkw6llIHJlcGFzXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiaXNEcmlua1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYmFkZ2VcIlxuICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zLzkuMC9yZWNpcGUtY2FyZC1iYWRnZS1kcmlua3Muc3ZnXCJcbiAgICAgICAgICAgICAgICAgYWx0PVwiSWTDqWUgYm9pc3NvblwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX2JvdHRvbVwiPlxuICAgICAgICAgIDwhLS0gVElUTEUgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3RpdGxlIG1pYW0tZHMtdGV4dCB3ZWlnaHQteHhsIHNpemUtbVwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgcmVjaXBlLmF0dHJpYnV0ZXNbJ3RpdGxlJ10gfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSBDT1VOVEVSIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb3VudGVyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUG91ciAnICsgKHJlY2lwZS5tb2RpZmllZEd1ZXN0cyB8fCByZWNpcGUuZ3Vlc3RzKSArICcgcGVyc29ubmVzJ1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgd2VpZ2h0LXh4bCBzaXplLW1cIj57eyByZWNpcGUubW9kaWZpZWRHdWVzdHMgfHwgcmVjaXBlLmd1ZXN0cyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9yZWNpcGUtY291bnRlci5zdmdcIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIENBUkQgRk9PVEVSIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19ib3R0b21cIiAoY2xpY2spPVwib3BlblJlY2lwZSgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29udGV4dFNlcnZpY2UuZGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHMgJiYgcmVjaXBlPy5tb2RpZmllZEluZ3JlZGllbnRzPy5sZW5ndGggPiAxXCJcbiAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fcGljdHVyZXNcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEluZ3JlZGllbnRzQXJpYUxhYmVsKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5ncmVkaWVudHNfX3BpY3R1cmVcIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cImluZ3JlZGllbnRQaWN0dXJlKHJlY2lwZS5tb2RpZmllZEluZ3JlZGllbnRzWzBdKVwiXG4gICAgICAgICAgICBbYWx0XT1cIicnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIChlcnJvcik9XCIkZXZlbnQudGFyZ2V0WydzcmMnXSA9IGNvbnRleHRTZXJ2aWNlLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZVwiXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJpbmdyZWRpZW50UGljdHVyZShyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50c1sxXSlcIlxuICAgICAgICAgICAgW2FsdF09XCInJ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAoZXJyb3IpPVwiJGV2ZW50LnRhcmdldFsnc3JjJ10gPSBjb250ZXh0U2VydmljZS5kZWZhdWx0SW5ncmVkaWVudFBpY3R1cmVcIlxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fbW9yZVwiICpuZ0lmPVwicmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoID4gMlwiPlxuICAgICAgICAgICsge3sgcmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoIC0gMiB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNcIj5cbiAgICAgICAgPCEtLSBJTkZPUyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZm9zXCI+XG4gICAgICAgICAgPCEtLSBUSU1FIEFORCBESUZGSUNVTFRZIC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheUluZm9zICYmIChyZWNpcGUuZGlmZmljdWx0eSB8fCByZWNpcGUudG90YWxUaW1lKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2RpZmZpY3VsdHktYW5kLXRpbWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGUuZGlmZmljdWx0eVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fZGlmZmljdWx0eVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0RpZmZpY3VsdMOpOiAnICsgcmVjaXBlU2VydmljZS5kaWZmaWN1bHR5TGV2ZWxzW3JlY2lwZS5kaWZmaWN1bHR5IC0gMV0ubGFiZWxcIj5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0NoZWZIYXQuc3ZnXCIgYWx0PVwiXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS1zIHdlaWdodC1tXCI+e3sgcmVjaXBlU2VydmljZS5kaWZmaWN1bHR5TGV2ZWxzW3JlY2lwZS5kaWZmaWN1bHR5IC0gMV0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGUudG90YWxUaW1lXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX190aW1lXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVGVtcHMgZGUgcHLDqXBhcmF0aW9uOiAnICsgcmVjaXBlLnRvdGFsVGltZVwiPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvQ2xvY2suc3ZnXCIgYWx0PVwiXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHNpemUtcyB3ZWlnaHQtbVwiPnt7IHJlY2lwZS50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcHJpY2UtYW5kLXByb21vdGlvblwiPlxuICAgICAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByb21vdGlvbi1iYWRnZSAqbmdJZj1cImlzSW5Qcm9tb3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2JvdHRvbS1wcm9tb3Rpb25cIj48L25nLW1pYW0tcmVjaXBlLXByb21vdGlvbi1iYWRnZT5cbiAgICAgICAgICAgIDwhLS0gUFJJQ0UgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlICYmIGRpc3BsYXlQcmljaW5nXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19wcmljZVwiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZ1xuICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1kcy10ZXh0IHdlaWdodC14eGxcIlxuICAgICAgICAgICAgICAgIFtyZWNpcGVJZF09XCJyZWNpcGUuaWRcIlxuICAgICAgICAgICAgICAgIFtzZXJ2ZXNdPVwicmVjaXBlLm1vZGlmaWVkR3Vlc3RzIHx8ICtyZWNpcGUuZ3Vlc3RzXCJcbiAgICAgICAgICAgICAgICBbaW5WaWV3cG9ydF09XCJpblZpZXdwb3J0XCJcbiAgICAgICAgICAgICAgICAocHJpY2VTZXQpPVwidXBkYXRlSXNJblByb21vdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L25nLW1pYW0tcmVjaXBlLXByaWNpbmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ1RBIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fY3RhXCI+XG4gICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheUxpa2VzQm90dG9tICYmICh1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luYylcIlxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCJcbiAgICAgICAgICAgIFtyZWNpcGVdPSdyZWNpcGUnXG4gICAgICAgICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZVwiPlxuICAgICAgICAgIDwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtY2FyZC1jdGFcbiAgICAgICAgICAgICpuZ0lmPVwicHJldmlld0FsbG93ZWQgJiYgIWFkZFJlY2lwZU1vZGUgJiYgIXJlcGxhY2VNb2RlXCJcbiAgICAgICAgICAgIFtyZWNpcGVdPVwicmVjaXBlXCJcbiAgICAgICAgICAgIFtwcmV2aWV3QWxsb3dlZF09XCJwcmV2aWV3QWxsb3dlZFwiXG4gICAgICAgICAgICBbZGlzcGxheUd1ZXN0c109XCJkaXNwbGF5R3Vlc3RzXCJcbiAgICAgICAgICAgIFtoZWxwQnV0dG9uQWxsb3dlZF09XCJoZWxwQnV0dG9uQWxsb3dlZFwiXG4gICAgICAgICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZVwiXG4gICAgICAgICAgICAoZGlzcGxheWVkKT1cImRpc3BsYXllZC5lbWl0KClcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwicHJpbWFyeUJ1dHRvbkNsaWNrZWQkLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvbmctbWlhbS1yZWNpcGUtY2FyZC1jdGE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIE9QVElPTk5BTCBDVEFTIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicmVwbGFjZU1vZGVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX3JlcGxhY2VcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1kcy1idXR0b24gZ2hvc3RcIiAoY2xpY2spPVwib3BlbkNhdGFsb2cuZW1pdCgpXCI+XG4gICAgICAgICAgICA8c3BhbiBpMThuPkNoYW5nZXI8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIGdob3N0IHNxdWFyZVwiIChjbGljayk9XCJyZW1vdmVGcm9tTWVhbHNQbGFubmVyLmVtaXQoKVwiIGFyaWEtbGFiZWw9XCJTdXBwcmltZXIgbGEgcmVjZXR0ZVwiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItcHJpbWFyeSlcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJhZGRSZWNpcGVNb2RlXCIgY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBnaG9zdFwiIChjbGljayk9XCJhZGRUb01lYWxzUGxhbm5lci5lbWl0KHJlY2lwZSlcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPkFqb3V0ZXI8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIEdFTkVSSUMgQ0FSRCAtLT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2NvbnRhaW5lclwiICpuZ0lmPVwiaXNsb2FkZWQgJiYgIXJlY2lwZVwiXG4gICAgICAgbmdNaWFtSW5WaWV3cG9ydCBbdGhyZXNob2xkXT1cIjBcIiBbZGVib3VuY2VUaW1lXT1cIjBcIiAoaW5WaWV3cG9ydCk9XCJjYXJkSW5WaWV3cG9ydCgpXCI+XG4gICAgPGEgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19yZWRpcmVjdFwiIFtocmVmXT1cImNvbnRleHRTZXJ2aWNlLmNhdGFsb2dVcmxcIj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pbWFnZXMvU3VnZ2VzdGlvbl9SZWRpcmVjdF9CYWNrZ3JvdW5kLnBuZ1wiIGFsdD1cIkTDqWNvdXZyZXogbm9zIHJlY2V0dGVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcmVkaXJlY3RfX2Zvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcmVkaXJlY3RfX3RpdGxlIG1pYW0tZHMtdGV4dCBzaXplLWwgd2VpZ2h0LXh4bFwiPlxuICAgICAgICAgIDxzcGFuIGkxOG4+QmVzb2luIGQnaW5zcGlyYXRpb24gPzwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19yZWRpcmVjdF9fYnV0dG9uIG1pYW0tZHMtYnV0dG9uIHByaW1hcnlcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPkTDqWNvdXZyZXogbm9zIHJlY2V0dGVzPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
636
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxNQUFNLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7SUNRbkMsMENBS3NCOzs7SUFGcEIsdUNBQWlCLG1DQUFBOzs7SUFKdkIsK0JBQXFGO0lBQ2pGLGlIQUtzQjs7SUFDMUIsaUJBQU07OztJQUxDLGVBQTREO0lBQTVELHVHQUE0RDs7O0lBUy9ELDBC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WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDSSxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNO1lBQ0csc0JBQXNCO2tCQUEvQixNQUFNO1lBQ0csaUJBQWlCO2tCQUExQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc2tpcCwgc2tpcFdoaWxlLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWNpcGUsIFNpbXBsaWZpZWRJbmdyZWRpZW50IH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlLCBCYXNrZXRzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBSZWNpcGVQcmljaW5nIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscy9yZWNpcGUtcHJpY2luZyc7XG5cbmNvbnN0IHJlY2lwZUluY2x1ZGVzID0gWydyZWNpcGUtcHJvdmlkZXInLCAnc3BvbnNvcnMnLCAndGFncyddO1xuY29uc3QgcmVjaXBlU3BhcnNlRmllbGRzID0ge1xuICByZWNpcGVzOiBbJ3RpdGxlJywgJ251bWJlci1vZi1ndWVzdHMnLCAnbWVkaWEtdXJsJywgJ3ZpZGVvLWlkJywgJ2ZpbGlncmFuZS1sb2dvLXVybCcsICdkaWZmaWN1bHR5JywgJ3ByZXBhcmF0aW9uLXRpbWUnLCAnY29va2luZy10aW1lJyxcbiAgICAncmVzdGluZy10aW1lJywgLi4ucmVjaXBlSW5jbHVkZXNdLFxuICBzcG9uc29yczogWydsb2dvLXVybCddLFxuICB0YWdzOiBbJ3RhZy10eXBlLWlkJ10sXG4gICdyZWNpcGUtcHJvdmlkZXInOiBbJ25hbWUnXVxufTtcblxuLyoqXG4gKiBUaGlzIGlzIGFuIGFuZ3VsYXIgY29tcG9uZW50IGRlc2lnbiB0byBiZSBhIHdlYiBjb21wb25lbnRcbiAqIHRoYXQncyB3aHkgd2UgdXNlIG9uUHVzaFN0cmF0ZWdpZSB3aXRoIHRoZSBjaGFuZ2VEZXRldGVjdG9yUmVmXG4gKiB0byBhdm9pZCBjb21tb24gaXNzdWVcbiAqIGd1aWRlIC0+IGh0dHBzOi8vbmV0YmFzYWwuY29tL2EtY29tcHJlaGVuc2l2ZS1ndWlkZS10by1hbmd1bGFyLW9ucHVzaC1jaGFuZ2UtZGV0ZWN0aW9uLXN0cmF0ZWd5LTViYWM0OTMwNzRhNFxuICogYW5kIGFsc293IHdlIHVzZSBTaGFkb3dEb20gdG8gcHJvdGVjdCBzdHlsZSBvZiBvdXIgY29tcG9uZW50XG4gKiBhbmQgYWxzb3cgc3R5bGUgb2YgdGhlIHBhcmVudCBhcGxpY2F0aW9uIHRoYXQgd2lsbCB1c2UgaXRcbiAqIGRvYyAtPiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvcmUvVmlld0VuY2Fwc3VsYXRpb25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgUmVjaXBlQ2FyZENvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJlY2lwZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlY2lwZTogUmVjaXBlO1xuICBASW5wdXQoKSByYW5kb21Nb2RlRW5hYmxlOiBib29sZWFuO1xuICBASW5wdXQoKSBwcm9kdWN0SWRzOiB7IGlkOiBzdHJpbmc7IGhhc0hpZ2hXZWlnaHQ/OiBib29sZWFuIH1bXTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBoZWxwQnV0dG9uQWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIGRpc3BsYXlJbmZvcyA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNwbGF5UHJpY2luZyA9IHRydWU7XG4gIEBJbnB1dCgpIGRpc3BsYXlHdWVzdHMgPSB0cnVlO1xuICBASW5wdXQoKSBhZGRSZWNpcGVNb2RlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlcGxhY2VNb2RlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc3BsYXlWYXJpYW50ID0gMTtcbiAgQElucHV0KCkgY29udGV4dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlcnZlcz86IG51bWJlcjsgLy8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIHNlcnZpbmdzIG9mIHRoZSByZWNpcGVcbiAgQE91dHB1dCgpIHJlbW92ZWRGcm9tRmF2b3JpdGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGlzcGxheWVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVtb3ZlRnJvbU1lYWxzUGxhbm5lciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcbiAgQE91dHB1dCgpIGFkZFRvTWVhbHNQbGFubmVyID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNpcGU+KCk7XG4gIEBPdXRwdXQoKSBvcGVuQ2F0YWxvZyA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcbiAgQE91dHB1dCgpIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgaWNvbiA9IEljb247XG4gIGFjdGlvbnNPcGVuZWQgPSBmYWxzZTtcbiAgaXNsb2FkZWQgPSBmYWxzZTtcbiAgaW5CYXNrZXQgPSBmYWxzZTtcbiAgaW5WaWV3cG9ydCA9IGZhbHNlO1xuICBpc0RyaW5rID0gZmFsc2U7XG4gIGlzSW5Qcm9tb3Rpb24gPSBmYWxzZTtcblxuICBkaXNwbGF5TGlrZXNCb3R0b20gPSBmYWxzZTtcbiAgZGlzcGxheUJhZGdlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBiYXNrZXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuICBwcmltYXJ5QnV0dG9uQ2xpY2tlZCQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcmVjaXBlU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHVibGljIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHN1cGVyKGFuYWx5dGljc1NlcnZpY2UpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yZWNpcGVTZXJ2aWNlLmRpc3BsYXllZFJlY2lwZUNoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpKTtcbiAgICBcbiAgICBpZiAodGhpcy5jb250ZXh0SWQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9TdWdnZXN0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRGlzcGxheVZhcmlhbnQoKTtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMuYWZ0ZXJSZWNpcGVMb2FkKHRoaXMucmVjaXBlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVjaXBlSWQpIHtcbiAgICAgIHRoaXMubG9hZFJlY2lwZUZyb21JZCgpO1xuICAgIH0gZWxzZSBpZiAoc2ltcGxlQ2hhbmdlcy5wcm9kdWN0SWRzICYmICF0aGlzLnJhbmRvbU1vZGVFbmFibGUgJiYgdGhpcy5jb250ZXh0SWQpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJTdWdnZXN0aW9uQ29udGV4dCgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yYW5kb21Nb2RlRW5hYmxlKSB7XG4gICAgICB0aGlzLmZldGNoUmFuZG9tUmVjaXBlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuYmFza2V0c1NlcnZpY2UuYmFza2V0JC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yZWNpcGVTZXJ2aWNlLnJlbG9hZFJlY2lwZXMkLnN1YnNjcmliZShzaG91bGRSZWxvYWQgPT4ge1xuICAgICAgaWYgKHNob3VsZFJlbG9hZCkge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gQ0hFQ0sgRElTUExBWSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIC8vXG5cbiAgdXBkYXRlRGlzcGxheVZhcmlhbnQoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmRpc3BsYXlWYXJpYW50KSB7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMuZGlzcGxheUJhZGdlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5TGlrZXNCb3R0b20gPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgMzpcbiAgICAgICAgdGhpcy5kaXNwbGF5QmFkZ2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmRpc3BsYXlMaWtlc0JvdHRvbSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmRpc3BsYXlCYWRnZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc3BsYXlMaWtlc0JvdHRvbSA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIERJU1BMQVkgUkVDSVBFIERFVEFJTFMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAvL1xuXG4gIG9wZW5SZWNpcGUoKTogdm9pZCB7XG4gICAgLy8gY29uc3QgdmlkZW9FdmVudCA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZS52aWRlb0lkO1xuICAgIHRoaXMucmVjaXBlU2VydmljZS5kaXNwbGF5T2JqZWN0KFxuICAgICAgdGhpcy5yZWNpcGUsXG4gICAgICB7XG4gICAgICAgIHByZXZpZXdBbGxvd2VkOiB0aGlzLnByZXZpZXdBbGxvd2VkLFxuICAgICAgICBndWVzdHM6IHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzLFxuICAgICAgICBkaXNwbGF5R3Vlc3RzOiB0aGlzLmRpc3BsYXlHdWVzdHMsXG4gICAgICAgIGhlbHBCdXR0b25BbGxvd2VkOiB0aGlzLmhlbHBCdXR0b25BbGxvd2VkXG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLmRpc3BsYXllZC5lbWl0KCk7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudChcbiAgICAgICdyZWNpcGUuZGlzcGxheScsXG4gICAgICB0aGlzLnBhdGgsXG4gICAgICB7XG4gICAgICAgIHJlY2lwZV9pZDogdGhpcy5yZWNpcGUuaWQsXG4gICAgICAgIGNhdGVnb3J5X2lkOiB0aGlzLm9yaWdpblRyYWNlLnByb3BzLmNhdGVnb3J5X2lkXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRElTUExBWSBSRUNJUEUgREVUQUlMUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIC8vXG5cbiAgaW5ncmVkaWVudFBpY3R1cmUoaW5ncmVkaWVudDogU2ltcGxpZmllZEluZ3JlZGllbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbmdyZWRpZW50LnBpY3R1cmUgfHwgdGhpcy5jb250ZXh0U2VydmljZS5kZWZhdWx0SW5ncmVkaWVudFBpY3R1cmU7XG4gIH1cblxuICAvLyBIZWxwZXIgbWV0aG9kIGZvciBhY2Nlc3NpYmlsaXR5XG4gIGdldEluZ3JlZGllbnRzQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cyB8fCB0aGlzLnJlY2lwZS5tb2RpZmllZEluZ3JlZGllbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBcbiAgICBjb25zdCBmaXJzdFR3byA9IHRoaXMucmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMuc2xpY2UoMCwgMikubWFwKGkgPT4gaS5uYW1lKS5qb2luKCcsICcpO1xuXG4gICAgaWYgKHRoaXMucmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoIDw9IDIpIHtcbiAgICAgIHJldHVybiAnSW5ncsOpZGllbnRzIHByaW5jaXBhdXg6ICcgKyBmaXJzdFR3bztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3RoZXJzQ291bnQgPSB0aGlzLnJlY2lwZS5tb2RpZmllZEluZ3JlZGllbnRzLmxlbmd0aCAtIDI7XG4gICAgICByZXR1cm4gJ0luZ3LDqWRpZW50cyBwcmluY2lwYXV4OiAnICsgZmlyc3RUd28gKyAnIGV0ICcgKyBvdGhlcnNDb3VudCArICcgYXV0cmVzJztcbiAgICB9XG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIFNIT1cgRVZFTlQgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAvL1xuXG4gIHNlbmRTaG93RXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudChcbiAgICAgICdyZWNpcGUuc2hvdycsXG4gICAgICB0aGlzLnBhdGgsXG4gICAgICB7XG4gICAgICAgIHJlY2lwZV9pZDogdGhpcy5yZWNpcGUuaWQsXG4gICAgICAgIGNhdGVnb3J5X2lkOiB0aGlzLm9yaWdpblRyYWNlLnByb3BzLmNhdGVnb3J5X2lkXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGNhcmRJblZpZXdwb3J0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5WaWV3cG9ydCA9IHRydWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdXBkYXRlSXNJblByb21vdGlvbihmZXRjaGVkUHJpY2U6IFJlY2lwZVByaWNpbmcpIHtcbiAgICB0aGlzLmlzSW5Qcm9tb3Rpb24gPSBmZXRjaGVkUHJpY2VbJ2Rpc2NvdW50ZWQtaW5ncmVkaWVudHMtY291bnQnXSA+IDA7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBGRVRDSCBUSEUgUkVDSVBFIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gLy9cblxuICAvKipcbiAgICogRmV0Y2ggYSByZWNpcGUgZnJvbSBpdHMgaWQuXG4gICAqIEhpZGUgdGhlIGNhcmQgaWYgbm9uZSBpcyByZXR1cm5lZCAoY291bGQgYmUgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdHMgb3IgaXQgaXMgbm90IHNoYXJlZCB3aXRoIHRoZSBzdXBwbGllcilcbiAgICovXG4gIHByaXZhdGUgbG9hZFJlY2lwZUZyb21JZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucmVjaXBlU2VydmljZS5nZXQodGhpcy5yZWNpcGVJZCwgeyBpbmNsdWRlOiByZWNpcGVJbmNsdWRlcywgZmllbGRzOiByZWNpcGVTcGFyc2VGaWVsZHMgfSkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICAgICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKHJlc3VsdDogUmVjaXBlKSA9PiB7XG4gICAgICAgIHRoaXMuYWZ0ZXJSZWNpcGVMb2FkKHJlc3VsdCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKlxuICAqIFN1YnNjcmliZSB0byBjb250ZXh0IHN1Z2dlc3Rpb25zOyBoaWRlIGNhcmQgaWYgbm9uZVxuICAqL1xuICBwcml2YXRlIHN1YnNjcmliZVRvU3VnZ2VzdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZVNlcnZpY2Uub2JzZXJ2ZVN1Z2dlc3Rpb24odGhpcy5jb250ZXh0SWQpLnBpcGUoXG4gICAgICAgIHNraXAoMSlcbiAgICAgICkuc3Vic2NyaWJlKChzdWdnZXN0aW9uOiBSZWNpcGUpID0+IHtcbiAgICAgICAgaWYgKHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICB0aGlzLmFmdGVyUmVjaXBlTG9hZChzdWdnZXN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZnRlclJlY2lwZUxvYWQocmVzdWx0OiBSZWNpcGUpOiB2b2lkIHtcbiAgICB0aGlzLnJlY2lwZSA9IHJlc3VsdDtcbiAgICB0aGlzLnVwZGF0ZUd1ZXN0c0lmTmVjZXNzYXJ5KCk7XG4gICAgdGhpcy5jaGVja1JlY2lwZUluQmFza2V0KCk7XG4gICAgdGhpcy5jaGVja0lzRHJpbmsoKTtcbiAgICB0aGlzLmlzbG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUmFuZG9tUmVjaXBlKCk6IE9ic2VydmFibGU8UmVjaXBlW10+IHtcbiAgICByZXR1cm4gdGhpcy5yZWNpcGVTZXJ2aWNlLmdldFJhbmRvbShyZWNpcGVJbmNsdWRlcywgcmVjaXBlU3BhcnNlRmllbGRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZ3Vlc3RzIGZyb20gdGhlIHZhbHVlIGluIHRoZSBiYXNrZXQgaWYgdGhlIHJlY2lwZSBpcyBpbiB0aGUgYmFza2V0XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUd1ZXN0c0lmTmVjZXNzYXJ5KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuYmFza2V0c1NlcnZpY2UucmVjaXBlSXNJbkJhc2tldCh0aGlzLnJlY2lwZS5pZCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoaXNJbkxpc3QgPT4ge1xuICAgICAgaWYgKGlzSW5MaXN0ICYmICF0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cykge1xuICAgICAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IHRoaXMuc2VydmVzIHx8IHRoaXMuYmFza2V0c1NlcnZpY2UuZ3Vlc3RzRm9yUmVjaXBlKHRoaXMucmVjaXBlLmlkKSB8fCArdGhpcy5yZWNpcGUuZ3Vlc3RzO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMpIHtcbiAgICAgICAgdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMgPSB0aGlzLnNlcnZlcyB8fCArdGhpcy5yZWNpcGUuZ3Vlc3RzO1xuICAgICAgfVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tSZWNpcGVJbkJhc2tldCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYmFza2V0U3Vic2NyaXB0aW9uICYmIHRoaXMucmVjaXBlKSB7XG4gICAgICB0aGlzLmJhc2tldFN1YnNjcmlwdGlvbiA9IHRoaXMuYmFza2V0c1NlcnZpY2UucmVjaXBlSXNJbkJhc2tldCh0aGlzLnJlY2lwZS5pZCkuc3Vic2NyaWJlKGluQmFza2V0ID0+IHtcbiAgICAgICAgdGhpcy5pbkJhc2tldCA9IGluQmFza2V0O1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuYmFza2V0U3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSXNEcmluaygpOiB2b2lkIHtcbiAgICBjb25zdCB0YWdzID0gdGhpcy5yZWNpcGU/LnJlbGF0aW9uc2hpcHMudGFncz8uZGF0YSB8fCBbXTtcbiAgICB0aGlzLmlzRHJpbmsgPSB0YWdzLnNvbWUodGFnID0+IFsnbWVhbF90eXBlX2JvaXNzb24nLCAnbWVhbF90eXBlX2NvY2t0YWlsJ10uaW5jbHVkZXModGFnLmlkKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHJlY2lwZSBzdWdnZXN0aW9uIGNvbnRleHQgd2l0aCBwcm9kdWN0IElEcyBmb3IgYmF0Y2ggcHJvY2Vzc2luZ1xuICAgKi9cbiAgcHJpdmF0ZSByZWdpc3RlclN1Z2dlc3Rpb25Db250ZXh0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250ZXh0SWQgfHwgIXRoaXMucHJvZHVjdElkcyB8fCB0aGlzLnByb2R1Y3RJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZWNpcGVTZXJ2aWNlLnF1ZXVlU3VnZ2VzdGlvbkNvbnRleHQoe1xuICAgICAgY29udGV4dElkOiB0aGlzLmNvbnRleHRJZCxcbiAgICAgIGl0ZW1FeHRJZHM6IHRoaXMucHJvZHVjdElkcy5tYXAocHJvZHVjdCA9PiBwcm9kdWN0LmlkKVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZFwiIG5nTWlhbUluVmlld3BvcnQgW2NvbmRpdGlvbl09XCIhIXJlY2lwZVwiIChpblZpZXdwb3J0KT1cInNlbmRTaG93RXZlbnQoKVwiXG4gICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd2YXJpYW50LTEnOiAoZGlzcGxheVZhcmlhbnQgIT09IDIgJiYgZGlzcGxheVZhcmlhbnQgIT09IDMpLFxuICAgICAgJ3ZhcmlhbnQtMic6IChkaXNwbGF5VmFyaWFudCA9PT0gMiksXG4gICAgICAndmFyaWFudC0zJzogKGRpc3BsYXlWYXJpYW50ID09PSAzKSxcbiAgICAgICdpbi1iYXNrZXQnOiBpbkJhc2tldCxcbiAgICAgICdyZWRpcmVjdC1jYXJkJzogaXNsb2FkZWQgJiYgIXJlY2lwZVxuICAgICAgfVwiPlxuICA8IS0tIE1BSU4gQ09OVEFJTkVSIC0tPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fY29udGFpbmVyXCIgKm5nSWY9XCJyZWNpcGVcIlxuICAgICAgIG5nTWlhbUluVmlld3BvcnQgW3RocmVzaG9sZF09XCIwXCIgW2RlYm91bmNlVGltZV09XCIwXCIgKGluVmlld3BvcnQpPVwiY2FyZEluVmlld3BvcnQoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX190b3BcIiAoY2xpY2spPVwib3BlblJlY2lwZSgpXCI+XG4gICAgICA8IS0tIFBJQ1RVUkUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZVwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgW3NyY109XCJyZWNpcGU/LmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddXCJcbiAgICAgICAgICAoZXJyb3IpPVwiJGV2ZW50LnRhcmdldFsnc3JjJ10gPSBjb250ZXh0U2VydmljZS5kZWZhdWx0UmVjaXBlUGljdHVyZVwiXG4gICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgIFthbHRdPVwiXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEdSQURJRU5UIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2dyYWRpZW50XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fdG9wLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDwhLS0gTElLRSBCVVRUT04gLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2xpa2VcIiAqbmdJZj1cIiEoZGlzcGxheUJhZGdlICYmIHJlY2lwZS5zcG9uc29yTG9nb1VybClcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFkaXNwbGF5TGlrZXNCb3R0b20gJiYgKHVzZXJTZXJ2aWNlLmlzTG9nZ2VkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCJcbiAgICAgICAgICAgICAgICBbcmVjaXBlXT0ncmVjaXBlJ1xuICAgICAgICAgICAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCI+XG4gICAgICAgICAgICAgIDwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYmFkZ2VzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPCEtLSBNRUFMIC8gRFJJTksgSURFQSBCQURHRSAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5QmFkZ2VcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2JhZGdlLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImlzRHJpbmsgPyAnZHJpbmsnIDogJ2Zvb2QnXCI+XG4gICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIhaXNEcmlua1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYmFkZ2VcIlxuICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaW1hZ2VzL3JlY2lwZV9jYXJkLWJhZGdlLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgYWx0PVwiSWTDqWUgcmVwYXNcIj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImlzRHJpbmtcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2JhZGdlXCJcbiAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zLzkuMC9yZWNpcGUtY2FyZC1iYWRnZS1kcmlua3Muc3ZnXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJJZMOpZSBib2lzc29uXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gU1BPTlNPUiAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGUuc3BvbnNvckxvZ29VcmxcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3Nwb25zb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19zcG9uc29yLXBpY3R1cmVcIiBbc3JjXT1cInJlY2lwZS5zcG9uc29yTG9nb1VybFwiIFthbHRdPVwiJ0xvZ28gZHUgc3BvbnNvciAnICsgcmVjaXBlLnNwb25zb3JOYW1lXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcm9tb3Rpb24tYmFkZ2UgKm5nSWY9XCJpc0luUHJvbW90aW9uXCI+PC9uZy1taWFtLXJlY2lwZS1wcm9tb3Rpb24tYmFkZ2U+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZV9fYm90dG9tXCI+XG4gICAgICAgICAgPCEtLSBUSVRMRSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fdGl0bGUgbWlhbS1kcy10ZXh0IHdlaWdodC14eGwgc2l6ZS1tXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyByZWNpcGUuYXR0cmlidXRlc1sndGl0bGUnXSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIENPVU5URVIgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2NvdW50ZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidQb3VyICcgKyAocmVjaXBlLm1vZGlmaWVkR3Vlc3RzIHx8IHJlY2lwZS5ndWVzdHMpICsgJyBwZXJzb25uZXMnXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCB3ZWlnaHQteHhsIHNpemUtbVwiPnt7IHJlY2lwZS5tb2RpZmllZEd1ZXN0cyB8fCByZWNpcGUuZ3Vlc3RzIH19PC9zcGFuPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL3JlY2lwZS1jb3VudGVyLnN2Z1wiIGFsdD1cIlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gQ0FSRCBGT09URVIgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2JvdHRvbVwiIChjbGljayk9XCJvcGVuUmVjaXBlKClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJjb250ZXh0U2VydmljZS5kaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyAmJiByZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlc1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0SW5ncmVkaWVudHNBcmlhTGFiZWwoKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fcGljdHVyZVwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwiaW5ncmVkaWVudFBpY3R1cmUocmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHNbMF0pXCJcbiAgICAgICAgICAgIFthbHRdPVwiJydcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgKGVycm9yKT1cIiRldmVudC50YXJnZXRbJ3NyYyddID0gY29udGV4dFNlcnZpY2UuZGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlXCJcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5ncmVkaWVudHNfX3BpY3R1cmVcIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cImluZ3JlZGllbnRQaWN0dXJlKHJlY2lwZS5tb2RpZmllZEluZ3JlZGllbnRzWzFdKVwiXG4gICAgICAgICAgICBbYWx0XT1cIicnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIChlcnJvcik9XCIkZXZlbnQudGFyZ2V0WydzcmMnXSA9IGNvbnRleHRTZXJ2aWNlLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZVwiXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19tb3JlXCIgKm5nSWY9XCJyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5sZW5ndGggPiAyXCI+XG4gICAgICAgICAgKyB7eyByZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5sZW5ndGggLSAyIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYWN0aW9uc1wiPlxuICAgICAgICA8IS0tIElORk9TIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5mb3NcIj5cbiAgICAgICAgICA8IS0tIFRJTUUgQU5EIERJRkZJQ1VMVFkgLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5SW5mb3MgJiYgKHJlY2lwZS5kaWZmaWN1bHR5IHx8IHJlY2lwZS50b3RhbFRpbWUpXCJcbiAgICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fZGlmZmljdWx0eS1hbmQtdGltZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZS5kaWZmaWN1bHR5XCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19kaWZmaWN1bHR5XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInRGlmZmljdWx0w6k6ICcgKyByZWNpcGVTZXJ2aWNlLmRpZmZpY3VsdHlMZXZlbHNbcmVjaXBlLmRpZmZpY3VsdHkgLSAxXS5sYWJlbFwiPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvQ2hlZkhhdC5zdmdcIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tZHMtdGV4dCBzaXplLXMgd2VpZ2h0LW1cIj57eyByZWNpcGVTZXJ2aWNlLmRpZmZpY3VsdHlMZXZlbHNbcmVjaXBlLmRpZmZpY3VsdHkgLSAxXS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZS50b3RhbFRpbWVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3RpbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidUZW1wcyBkZSBwcsOpcGFyYXRpb246ICcgKyByZWNpcGUudG90YWxUaW1lXCI+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9DbG9jay5zdmdcIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS1zIHdlaWdodC1tXCI+e3sgcmVjaXBlLnRvdGFsVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19wcmljZS1hbmQtcHJvbW90aW9uXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJvbW90aW9uLWJhZGdlICpuZ0lmPVwiaXNJblByb21vdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYm90dG9tLXByb21vdGlvblwiPjwvbmctbWlhbS1yZWNpcGUtcHJvbW90aW9uLWJhZGdlPlxuICAgICAgICAgICAgPCEtLSBQUklDRSAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGUgJiYgZGlzcGxheVByaWNpbmdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3ByaWNlXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtaWFtLWRzLXRleHQgd2VpZ2h0LXh4bFwiXG4gICAgICAgICAgICAgICAgW3JlY2lwZUlkXT1cInJlY2lwZS5pZFwiXG4gICAgICAgICAgICAgICAgW3NlcnZlc109XCJyZWNpcGUubW9kaWZpZWRHdWVzdHMgfHwgK3JlY2lwZS5ndWVzdHNcIlxuICAgICAgICAgICAgICAgIFtpblZpZXdwb3J0XT1cImluVmlld3BvcnRcIlxuICAgICAgICAgICAgICAgIChwcmljZVNldCk9XCJ1cGRhdGVJc0luUHJvbW90aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBDVEEgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jdGFcIj5cbiAgICAgICAgICA8bmctbWlhbS1saWtlLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TGlrZXNCb3R0b20gJiYgKHVzZXJTZXJ2aWNlLmlzTG9nZ2VkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2FjdGlvbnNfX2ljb25cIlxuICAgICAgICAgICAgW3JlY2lwZV09J3JlY2lwZSdcbiAgICAgICAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1jYXJkLWN0YVxuICAgICAgICAgICAgKm5nSWY9XCJwcmV2aWV3QWxsb3dlZCAmJiAhYWRkUmVjaXBlTW9kZSAmJiAhcmVwbGFjZU1vZGVcIlxuICAgICAgICAgICAgW3JlY2lwZV09XCJyZWNpcGVcIlxuICAgICAgICAgICAgW3ByZXZpZXdBbGxvd2VkXT1cInByZXZpZXdBbGxvd2VkXCJcbiAgICAgICAgICAgIFtkaXNwbGF5R3Vlc3RzXT1cImRpc3BsYXlHdWVzdHNcIlxuICAgICAgICAgICAgW2hlbHBCdXR0b25BbGxvd2VkXT1cImhlbHBCdXR0b25BbGxvd2VkXCJcbiAgICAgICAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCJcbiAgICAgICAgICAgIChkaXNwbGF5ZWQpPVwiZGlzcGxheWVkLmVtaXQoKVwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJwcmltYXJ5QnV0dG9uQ2xpY2tlZCQuZW1pdCgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9uZy1taWFtLXJlY2lwZS1jYXJkLWN0YT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gT1BUSU9OTkFMIENUQVMgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJyZXBsYWNlTW9kZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYWN0aW9uc19fcmVwbGFjZVwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBnaG9zdFwiIChjbGljayk9XCJvcGVuQ2F0YWxvZy5lbWl0KClcIj5cbiAgICAgICAgICAgIDxzcGFuIGkxOG4+Q2hhbmdlcjwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1kcy1idXR0b24gZ2hvc3Qgc3F1YXJlXCIgKGNsaWNrKT1cInJlbW92ZUZyb21NZWFsc1BsYW5uZXIuZW1pdCgpXCIgYXJpYS1sYWJlbD1cIlN1cHByaW1lciBsYSByZWNldHRlXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLlRyYXNoXCIgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1wcmltYXJ5KVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFkZFJlY2lwZU1vZGVcIiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIGdob3N0XCIgKGNsaWNrKT1cImFkZFRvTWVhbHNQbGFubmVyLmVtaXQocmVjaXBlKVwiPlxuICAgICAgICAgIDxzcGFuIGkxOG4+QWpvdXRlcjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gR0VORVJJQyBDQVJEIC0tPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fY29udGFpbmVyXCIgKm5nSWY9XCJpc2xvYWRlZCAmJiAhcmVjaXBlXCJcbiAgICAgICBuZ01pYW1JblZpZXdwb3J0IFt0aHJlc2hvbGRdPVwiMFwiIFtkZWJvdW5jZVRpbWVdPVwiMFwiIChpblZpZXdwb3J0KT1cImNhcmRJblZpZXdwb3J0KClcIj5cbiAgICA8YSBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3JlZGlyZWN0XCIgW2hyZWZdPVwiY29udGV4dFNlcnZpY2UuY2F0YWxvZ1VybFwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ltYWdlcy9TdWdnZXN0aW9uX1JlZGlyZWN0X0JhY2tncm91bmQucG5nXCIgYWx0PVwiRMOpY291dnJleiBub3MgcmVjZXR0ZXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19yZWRpcmVjdF9fZm9vdGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19yZWRpcmVjdF9fdGl0bGUgbWlhbS1kcy10ZXh0IHNpemUtbCB3ZWlnaHQteHhsXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj5CZXNvaW4gZCdpbnNwaXJhdGlvbiA/PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3JlZGlyZWN0X19idXR0b24gbWlhbS1kcy1idXR0b24gcHJpbWFyeVwiPlxuICAgICAgICAgIDxzcGFuIGkxOG4+RMOpY291dnJleiBub3MgcmVjZXR0ZXM8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19