ng-miam 8.2.2 → 8.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ng-miam.umd.js +146 -100
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +1 -1
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/modal/modal.component.js +6 -3
- package/esm2015/lib/_services/interceptor.service.js +2 -2
- package/esm2015/lib/_web-components/preferences/preferences.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +17 -4
- package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +1 -1
- package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +3 -5
- package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +113 -87
- package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +5 -5
- package/fesm2015/ng-miam.js +139 -100
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_components/modal/modal.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +3 -0
- package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts +2 -1
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -18,33 +18,34 @@ import * as i10 from "./store-locator-link/store-locator-link.component";
|
|
|
18
18
|
import * as i11 from "../../_components/products-picker/products-picker.component";
|
|
19
19
|
import * as i12 from "./recipe-details-ingredients/recipe-details-ingredients.component";
|
|
20
20
|
import * as i13 from "./recipe-details-steps/recipe-details-steps.component";
|
|
21
|
-
import * as i14 from "
|
|
22
|
-
import * as i15 from "
|
|
21
|
+
import * as i14 from "../../_components/recipe-pricing/recipe-pricing.component";
|
|
22
|
+
import * as i15 from "./recipe-addon/recipe-addon.component";
|
|
23
|
+
import * as i16 from "../basket-preview/replace-item/replace-item.component";
|
|
23
24
|
const _c0 = ["topContainerImg"];
|
|
24
25
|
function RecipeDetailsComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
25
26
|
i0.ɵɵelement(0, "div", 6);
|
|
26
27
|
} }
|
|
27
28
|
function RecipeDetailsComponent_div_0_div_3_ng_miam_like_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
-
i0.ɵɵelement(0, "ng-miam-like-button",
|
|
29
|
+
i0.ɵɵelement(0, "ng-miam-like-button", 44);
|
|
29
30
|
} if (rf & 2) {
|
|
30
31
|
const ctx_r6 = i0.ɵɵnextContext(3);
|
|
31
32
|
i0.ɵɵproperty("recipe", ctx_r6.recipeDetailsService.recipe);
|
|
32
33
|
} }
|
|
33
34
|
function RecipeDetailsComponent_div_0_div_3_img_14_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵelement(0, "img",
|
|
35
|
+
i0.ɵɵelement(0, "img", 45);
|
|
35
36
|
} if (rf & 2) {
|
|
36
37
|
const ctx_r7 = i0.ɵɵnextContext(3);
|
|
37
38
|
i0.ɵɵproperty("src", ctx_r7.recipeDetailsService.recipe == null ? null : ctx_r7.recipeDetailsService.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
|
|
38
39
|
} }
|
|
39
40
|
function RecipeDetailsComponent_div_0_div_3_youtube_player_15_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelement(0, "youtube-player",
|
|
41
|
+
i0.ɵɵelement(0, "youtube-player", 46);
|
|
41
42
|
} if (rf & 2) {
|
|
42
43
|
const ctx_r8 = i0.ɵɵnextContext(3);
|
|
43
44
|
i0.ɵɵproperty("videoId", ctx_r8.recipeDetailsService.recipe.videoId)("width", ctx_r8.playerWidth)("height", ctx_r8.playerHeight)("playerVars", ctx_r8.playerVars);
|
|
44
45
|
} }
|
|
45
46
|
function RecipeDetailsComponent_div_0_div_3_div_16_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
-
i0.ɵɵelementStart(0, "div",
|
|
47
|
-
i0.ɵɵelement(1, "img",
|
|
47
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
48
|
+
i0.ɵɵelement(1, "img", 48);
|
|
48
49
|
i0.ɵɵelementEnd();
|
|
49
50
|
} if (rf & 2) {
|
|
50
51
|
const ctx_r9 = i0.ɵɵnextContext(3);
|
|
@@ -52,16 +53,16 @@ function RecipeDetailsComponent_div_0_div_3_div_16_Template(rf, ctx) { if (rf &
|
|
|
52
53
|
i0.ɵɵproperty("src", ctx_r9.recipeDetailsService.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
|
|
53
54
|
} }
|
|
54
55
|
function RecipeDetailsComponent_div_0_div_3_ng_miam_addon_link_18_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
-
const
|
|
56
|
-
i0.ɵɵelementStart(0, "ng-miam-addon-link",
|
|
57
|
-
i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_div_3_ng_miam_addon_link_18_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(
|
|
56
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
57
|
+
i0.ɵɵelementStart(0, "ng-miam-addon-link", 49);
|
|
58
|
+
i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_div_3_ng_miam_addon_link_18_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(3); return ctx_r18.toggleAddon(); });
|
|
58
59
|
i0.ɵɵelementEnd();
|
|
59
60
|
} if (rf & 2) {
|
|
60
61
|
const ctx_r10 = i0.ɵɵnextContext(3);
|
|
61
62
|
i0.ɵɵproperty("hasStorytelling", ctx_r10.sponsorHasStorytelling)("recipe", ctx_r10.recipeDetailsService.recipe);
|
|
62
63
|
} }
|
|
63
64
|
function RecipeDetailsComponent_div_0_div_3_ng_miam_like_button_28_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
-
i0.ɵɵelement(0, "ng-miam-like-button",
|
|
65
|
+
i0.ɵɵelement(0, "ng-miam-like-button", 50);
|
|
65
66
|
} if (rf & 2) {
|
|
66
67
|
const ctx_r11 = i0.ɵɵnextContext(3);
|
|
67
68
|
i0.ɵɵproperty("recipe", ctx_r11.recipeDetailsService.recipe)("originTrace", ctx_r11.eventTrace());
|
|
@@ -70,15 +71,15 @@ function RecipeDetailsComponent_div_0_div_3_ng_miam_store_locator_link_33_Templa
|
|
|
70
71
|
i0.ɵɵelement(0, "ng-miam-store-locator-link");
|
|
71
72
|
} }
|
|
72
73
|
function RecipeDetailsComponent_div_0_div_3_ng_miam_products_picker_37_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
-
const
|
|
74
|
-
i0.ɵɵelementStart(0, "ng-miam-products-picker",
|
|
75
|
-
i0.ɵɵlistener("closeModal", function RecipeDetailsComponent_div_0_div_3_ng_miam_products_picker_37_Template_ng_miam_products_picker_closeModal_0_listener() { i0.ɵɵrestoreView(
|
|
74
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
75
|
+
i0.ɵɵelementStart(0, "ng-miam-products-picker", 51);
|
|
76
|
+
i0.ɵɵlistener("closeModal", function RecipeDetailsComponent_div_0_div_3_ng_miam_products_picker_37_Template_ng_miam_products_picker_closeModal_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(3); return ctx_r20.onClose(); });
|
|
76
77
|
i0.ɵɵelementEnd();
|
|
77
78
|
} }
|
|
78
79
|
function RecipeDetailsComponent_div_0_div_3_div_38_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
-
i0.ɵɵelementStart(0, "div",
|
|
80
|
-
i0.ɵɵelement(1, "ng-miam-recipe-details-ingredients",
|
|
81
|
-
i0.ɵɵelement(2, "ng-miam-recipe-details-steps",
|
|
80
|
+
i0.ɵɵelementStart(0, "div", 52);
|
|
81
|
+
i0.ɵɵelement(1, "ng-miam-recipe-details-ingredients", 53);
|
|
82
|
+
i0.ɵɵelement(2, "ng-miam-recipe-details-steps", 54);
|
|
82
83
|
i0.ɵɵelementEnd();
|
|
83
84
|
} if (rf & 2) {
|
|
84
85
|
const ctx_r14 = i0.ɵɵnextContext(3);
|
|
@@ -87,20 +88,20 @@ function RecipeDetailsComponent_div_0_div_3_div_38_Template(rf, ctx) { if (rf &
|
|
|
87
88
|
i0.ɵɵadvance(1);
|
|
88
89
|
i0.ɵɵproperty("recipe", ctx_r14.recipeDetailsService.recipe);
|
|
89
90
|
} }
|
|
90
|
-
function
|
|
91
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
91
92
|
i0.ɵɵelementStart(0, "span");
|
|
92
93
|
i0.ɵɵi18n(1, 64);
|
|
93
94
|
i0.ɵɵelementEnd();
|
|
94
95
|
} }
|
|
95
|
-
function
|
|
96
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
96
97
|
i0.ɵɵelementStart(0, "span");
|
|
97
98
|
i0.ɵɵi18n(1, 65);
|
|
98
99
|
i0.ɵɵelementEnd();
|
|
99
100
|
} }
|
|
100
|
-
function
|
|
101
|
-
const
|
|
101
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
102
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
102
103
|
i0.ɵɵelementStart(0, "button", 58);
|
|
103
|
-
i0.ɵɵlistener("click", function
|
|
104
|
+
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(4); return ctx_r27.recipeDetailsService.addAllIngredientsToBasket(ctx_r27.eventTrace()); });
|
|
104
105
|
i0.ɵɵelement(1, "img", 59);
|
|
105
106
|
i0.ɵɵelementStart(2, "div", 60);
|
|
106
107
|
i0.ɵɵelementStart(3, "span");
|
|
@@ -109,8 +110,8 @@ function RecipeDetailsComponent_div_0_div_3_button_41_Template(rf, ctx) { if (rf
|
|
|
109
110
|
i0.ɵɵelementStart(5, "span");
|
|
110
111
|
i0.ɵɵtext(6);
|
|
111
112
|
i0.ɵɵelementEnd();
|
|
112
|
-
i0.ɵɵtemplate(7,
|
|
113
|
-
i0.ɵɵtemplate(8,
|
|
113
|
+
i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_span_7_Template, 2, 0, "span", 36);
|
|
114
|
+
i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_span_8_Template, 2, 0, "span", 36);
|
|
114
115
|
i0.ɵɵelementStart(9, "div", 62);
|
|
115
116
|
i0.ɵɵtext(10, " ( ");
|
|
116
117
|
i0.ɵɵelementStart(11, "span");
|
|
@@ -125,29 +126,29 @@ function RecipeDetailsComponent_div_0_div_3_button_41_Template(rf, ctx) { if (rf
|
|
|
125
126
|
i0.ɵɵelementEnd();
|
|
126
127
|
i0.ɵɵelementEnd();
|
|
127
128
|
} if (rf & 2) {
|
|
128
|
-
const
|
|
129
|
+
const ctx_r22 = i0.ɵɵnextContext(4);
|
|
129
130
|
i0.ɵɵadvance(6);
|
|
130
|
-
i0.ɵɵtextInterpolate(
|
|
131
|
+
i0.ɵɵtextInterpolate(ctx_r22.recipeDetailsService.remainingBasketEntries.length);
|
|
131
132
|
i0.ɵɵadvance(1);
|
|
132
|
-
i0.ɵɵproperty("ngIf",
|
|
133
|
+
i0.ɵɵproperty("ngIf", ctx_r22.recipeDetailsService.remainingBasketEntries.length <= 1);
|
|
133
134
|
i0.ɵɵadvance(1);
|
|
134
|
-
i0.ɵɵproperty("ngIf",
|
|
135
|
+
i0.ɵɵproperty("ngIf", ctx_r22.recipeDetailsService.remainingBasketEntries.length > 1);
|
|
135
136
|
i0.ɵɵadvance(3);
|
|
136
|
-
i0.ɵɵclassProp("hidden", i0.ɵɵpipeBind1(12, 8,
|
|
137
|
+
i0.ɵɵclassProp("hidden", i0.ɵɵpipeBind1(12, 8, ctx_r22.recipeDetailsService.ingredientToBasketLoading$));
|
|
137
138
|
i0.ɵɵadvance(2);
|
|
138
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(14, 10,
|
|
139
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(14, 10, ctx_r22.recipeDetailsService.recipePrice.remaining, ctx_r22.suppliersService.supplier$.value.currency), " ");
|
|
139
140
|
i0.ɵɵadvance(2);
|
|
140
|
-
i0.ɵɵclassProp("hidden", !i0.ɵɵpipeBind1(16, 13,
|
|
141
|
+
i0.ɵɵclassProp("hidden", !i0.ɵɵpipeBind1(16, 13, ctx_r22.recipeDetailsService.ingredientToBasketLoading$));
|
|
141
142
|
} }
|
|
142
|
-
function
|
|
143
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
143
144
|
i0.ɵɵelementStart(0, "button", 66);
|
|
144
145
|
i0.ɵɵelement(1, "div", 63);
|
|
145
146
|
i0.ɵɵelementEnd();
|
|
146
147
|
} }
|
|
147
|
-
function
|
|
148
|
-
const
|
|
148
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
149
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
149
150
|
i0.ɵɵelementStart(0, "button", 67);
|
|
150
|
-
i0.ɵɵlistener("click", function
|
|
151
|
+
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_ng_container_40_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(4); return ctx_r29.onClose(); });
|
|
151
152
|
i0.ɵɵelementStart(1, "div", 60);
|
|
152
153
|
i0.ɵɵelementStart(2, "span");
|
|
153
154
|
i0.ɵɵi18n(3, 68);
|
|
@@ -155,46 +156,72 @@ function RecipeDetailsComponent_div_0_div_3_button_45_Template(rf, ctx) { if (rf
|
|
|
155
156
|
i0.ɵɵelementEnd();
|
|
156
157
|
i0.ɵɵelementEnd();
|
|
157
158
|
} }
|
|
158
|
-
function
|
|
159
|
-
i0.ɵɵ
|
|
160
|
-
i0.ɵɵ
|
|
159
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_40_Template(rf, ctx) { if (rf & 1) {
|
|
160
|
+
i0.ɵɵelementContainerStart(0);
|
|
161
|
+
i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_3_ng_container_40_button_1_Template, 18, 15, "button", 55);
|
|
162
|
+
i0.ɵɵpipe(2, "async");
|
|
163
|
+
i0.ɵɵtemplate(3, RecipeDetailsComponent_div_0_div_3_ng_container_40_button_3_Template, 2, 0, "button", 56);
|
|
164
|
+
i0.ɵɵpipe(4, "async");
|
|
165
|
+
i0.ɵɵtemplate(5, RecipeDetailsComponent_div_0_div_3_ng_container_40_button_5_Template, 4, 0, "button", 57);
|
|
166
|
+
i0.ɵɵelementContainerEnd();
|
|
167
|
+
} if (rf & 2) {
|
|
168
|
+
const ctx_r15 = i0.ɵɵnextContext(3);
|
|
169
|
+
i0.ɵɵadvance(1);
|
|
170
|
+
i0.ɵɵproperty("ngIf", ctx_r15.recipeDetailsService.remainingBasketEntries.length > 0 && !i0.ɵɵpipeBind1(2, 3, ctx_r15.recipeDetailsService.allIngredientsToBasketLoading$));
|
|
171
|
+
i0.ɵɵadvance(2);
|
|
172
|
+
i0.ɵɵproperty("ngIf", ctx_r15.recipeDetailsService.remainingBasketEntries.length > 0 && i0.ɵɵpipeBind1(4, 5, ctx_r15.recipeDetailsService.allIngredientsToBasketLoading$));
|
|
173
|
+
i0.ɵɵadvance(2);
|
|
174
|
+
i0.ɵɵproperty("ngIf", ctx_r15.recipeDetailsService.remainingBasketEntries.length === 0);
|
|
175
|
+
} }
|
|
176
|
+
function RecipeDetailsComponent_div_0_div_3_ng_container_41_Template(rf, ctx) { if (rf & 1) {
|
|
177
|
+
i0.ɵɵelementContainerStart(0);
|
|
178
|
+
i0.ɵɵelement(1, "ng-miam-recipe-pricing", 69);
|
|
179
|
+
i0.ɵɵelementContainerEnd();
|
|
180
|
+
} if (rf & 2) {
|
|
181
|
+
const ctx_r16 = i0.ɵɵnextContext(3);
|
|
182
|
+
i0.ɵɵadvance(1);
|
|
183
|
+
i0.ɵɵproperty("recipeId", ctx_r16.recipeDetailsService.recipe.id)("serves", ctx_r16.recipeDetailsService.recipe.modifiedGuests)("fetchPricingOnScroll", false);
|
|
184
|
+
} }
|
|
185
|
+
function RecipeDetailsComponent_div_0_div_3_div_42_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
+
i0.ɵɵelementStart(0, "div", 70);
|
|
187
|
+
i0.ɵɵelementStart(1, "div", 71);
|
|
161
188
|
i0.ɵɵelementStart(2, "span");
|
|
162
189
|
i0.ɵɵpipe(3, "async");
|
|
163
190
|
i0.ɵɵpipe(4, "async");
|
|
164
191
|
i0.ɵɵtext(5);
|
|
165
192
|
i0.ɵɵpipe(6, "currency");
|
|
166
193
|
i0.ɵɵelementEnd();
|
|
167
|
-
i0.ɵɵelement(7, "div",
|
|
194
|
+
i0.ɵɵelement(7, "div", 72);
|
|
168
195
|
i0.ɵɵpipe(8, "async");
|
|
169
196
|
i0.ɵɵpipe(9, "async");
|
|
170
197
|
i0.ɵɵelementEnd();
|
|
171
|
-
i0.ɵɵelementStart(10, "span",
|
|
198
|
+
i0.ɵɵelementStart(10, "span", 73);
|
|
172
199
|
i0.ɵɵtext(11, "dans mon panier");
|
|
173
200
|
i0.ɵɵelementEnd();
|
|
174
201
|
i0.ɵɵelementEnd();
|
|
175
202
|
} if (rf & 2) {
|
|
176
|
-
const
|
|
203
|
+
const ctx_r17 = i0.ɵɵnextContext(3);
|
|
177
204
|
i0.ɵɵadvance(2);
|
|
178
|
-
i0.ɵɵclassProp("hidden", i0.ɵɵpipeBind1(3, 5,
|
|
205
|
+
i0.ɵɵclassProp("hidden", i0.ɵɵpipeBind1(3, 5, ctx_r17.recipeDetailsService.ingredientToBasketLoading$) || i0.ɵɵpipeBind1(4, 7, ctx_r17.recipeDetailsService.updateIngredientFromBasketLoading$));
|
|
179
206
|
i0.ɵɵadvance(3);
|
|
180
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 9,
|
|
207
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 9, ctx_r17.recipeDetailsService.recipePrice.inBasket, ctx_r17.suppliersService.supplier$.value.currency), " ");
|
|
181
208
|
i0.ɵɵadvance(2);
|
|
182
|
-
i0.ɵɵclassProp("hidden", !(i0.ɵɵpipeBind1(8, 12,
|
|
209
|
+
i0.ɵɵclassProp("hidden", !(i0.ɵɵpipeBind1(8, 12, ctx_r17.recipeDetailsService.ingredientToBasketLoading$) || i0.ɵɵpipeBind1(9, 14, ctx_r17.recipeDetailsService.updateIngredientFromBasketLoading$)));
|
|
183
210
|
} }
|
|
184
211
|
const _c11 = function (a0) { return { "hidden": a0 }; };
|
|
185
212
|
function RecipeDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
-
const
|
|
213
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
187
214
|
i0.ɵɵelementStart(0, "div", 7);
|
|
188
215
|
i0.ɵɵelementStart(1, "div", 8, 9);
|
|
189
216
|
i0.ɵɵelementStart(3, "div", 10);
|
|
190
217
|
i0.ɵɵelementStart(4, "div", 11);
|
|
191
218
|
i0.ɵɵelementStart(5, "button", 12);
|
|
192
|
-
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_5_listener() { i0.ɵɵrestoreView(
|
|
219
|
+
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(2); return ctx_r31.onClose(); });
|
|
193
220
|
i0.ɵɵelement(6, "img", 13);
|
|
194
221
|
i0.ɵɵelementEnd();
|
|
195
222
|
i0.ɵɵelementStart(7, "div", 14);
|
|
196
223
|
i0.ɵɵelementStart(8, "button", 15);
|
|
197
|
-
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_8_listener() { i0.ɵɵrestoreView(
|
|
224
|
+
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(2); return ctx_r33.onClose(); });
|
|
198
225
|
i0.ɵɵelement(9, "img", 16);
|
|
199
226
|
i0.ɵɵelementEnd();
|
|
200
227
|
i0.ɵɵtemplate(10, RecipeDetailsComponent_div_0_div_3_ng_miam_like_button_10_Template, 1, 1, "ng-miam-like-button", 17);
|
|
@@ -202,7 +229,7 @@ function RecipeDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
202
229
|
i0.ɵɵelementEnd();
|
|
203
230
|
i0.ɵɵelementEnd();
|
|
204
231
|
i0.ɵɵelementStart(12, "ng-miam-counter-input", 18);
|
|
205
|
-
i0.ɵɵlistener("valueChange", function RecipeDetailsComponent_div_0_div_3_Template_ng_miam_counter_input_valueChange_12_listener($event) { i0.ɵɵrestoreView(
|
|
232
|
+
i0.ɵɵlistener("valueChange", function RecipeDetailsComponent_div_0_div_3_Template_ng_miam_counter_input_valueChange_12_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r34 = i0.ɵɵnextContext(2); return ctx_r34.updateGuests($event); });
|
|
206
233
|
i0.ɵɵtext(13, " > ");
|
|
207
234
|
i0.ɵɵelementEnd();
|
|
208
235
|
i0.ɵɵelementEnd();
|
|
@@ -218,7 +245,7 @@ function RecipeDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
218
245
|
i0.ɵɵelementStart(21, "div", 26);
|
|
219
246
|
i0.ɵɵelementStart(22, "div", 27);
|
|
220
247
|
i0.ɵɵelementStart(23, "button", 28);
|
|
221
|
-
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_23_listener() { i0.ɵɵrestoreView(
|
|
248
|
+
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r32); const ctx_r35 = i0.ɵɵnextContext(2); return ctx_r35.onClose(); });
|
|
222
249
|
i0.ɵɵelement(24, "img", 29);
|
|
223
250
|
i0.ɵɵelementEnd();
|
|
224
251
|
i0.ɵɵelementEnd();
|
|
@@ -230,7 +257,7 @@ function RecipeDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
230
257
|
i0.ɵɵpipe(29, "async");
|
|
231
258
|
i0.ɵɵelementStart(30, "div", 33);
|
|
232
259
|
i0.ɵɵelementStart(31, "button", 34);
|
|
233
|
-
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_31_listener() { i0.ɵɵrestoreView(
|
|
260
|
+
i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_3_Template_button_click_31_listener() { i0.ɵɵrestoreView(_r32); const ctx_r36 = i0.ɵɵnextContext(2); return ctx_r36.onClose(); });
|
|
234
261
|
i0.ɵɵelement(32, "img", 35);
|
|
235
262
|
i0.ɵɵelementEnd();
|
|
236
263
|
i0.ɵɵelementEnd();
|
|
@@ -241,26 +268,21 @@ function RecipeDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
241
268
|
i0.ɵɵelement(34, "ng-miam-recipe-details-infos", 37);
|
|
242
269
|
i0.ɵɵelementStart(35, "div", 38);
|
|
243
270
|
i0.ɵɵelementStart(36, "ng-miam-slider-tabs", 39);
|
|
244
|
-
i0.ɵɵlistener("selectedTabIndexChange", function RecipeDetailsComponent_div_0_div_3_Template_ng_miam_slider_tabs_selectedTabIndexChange_36_listener($event) { i0.ɵɵrestoreView(
|
|
271
|
+
i0.ɵɵlistener("selectedTabIndexChange", function RecipeDetailsComponent_div_0_div_3_Template_ng_miam_slider_tabs_selectedTabIndexChange_36_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r37 = i0.ɵɵnextContext(2); return ctx_r37.activeTabIndex = $event; })("selectedTabIndexChange", function RecipeDetailsComponent_div_0_div_3_Template_ng_miam_slider_tabs_selectedTabIndexChange_36_listener() { i0.ɵɵrestoreView(_r32); const ctx_r38 = i0.ɵɵnextContext(2); return ctx_r38.cdr.detectChanges(); });
|
|
245
272
|
i0.ɵɵelementEnd();
|
|
246
273
|
i0.ɵɵelementEnd();
|
|
247
274
|
i0.ɵɵtemplate(37, RecipeDetailsComponent_div_0_div_3_ng_miam_products_picker_37_Template, 1, 0, "ng-miam-products-picker", 40);
|
|
248
275
|
i0.ɵɵtemplate(38, RecipeDetailsComponent_div_0_div_3_div_38_Template, 3, 2, "div", 41);
|
|
249
276
|
i0.ɵɵelementStart(39, "div", 42);
|
|
250
|
-
i0.ɵɵ
|
|
251
|
-
i0.ɵɵtemplate(41,
|
|
252
|
-
i0.ɵɵ
|
|
253
|
-
i0.ɵɵtemplate(43, RecipeDetailsComponent_div_0_div_3_button_43_Template, 2, 0, "button", 44);
|
|
254
|
-
i0.ɵɵpipe(44, "async");
|
|
255
|
-
i0.ɵɵtemplate(45, RecipeDetailsComponent_div_0_div_3_button_45_Template, 4, 0, "button", 45);
|
|
256
|
-
i0.ɵɵelementContainerEnd();
|
|
257
|
-
i0.ɵɵtemplate(46, RecipeDetailsComponent_div_0_div_3_div_46_Template, 12, 16, "div", 46);
|
|
277
|
+
i0.ɵɵtemplate(40, RecipeDetailsComponent_div_0_div_3_ng_container_40_Template, 6, 7, "ng-container", 36);
|
|
278
|
+
i0.ɵɵtemplate(41, RecipeDetailsComponent_div_0_div_3_ng_container_41_Template, 2, 3, "ng-container", 36);
|
|
279
|
+
i0.ɵɵtemplate(42, RecipeDetailsComponent_div_0_div_3_div_42_Template, 12, 16, "div", 43);
|
|
258
280
|
i0.ɵɵelementEnd();
|
|
259
281
|
i0.ɵɵelementEnd();
|
|
260
282
|
} if (rf & 2) {
|
|
261
283
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
262
284
|
i0.ɵɵadvance(10);
|
|
263
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11,
|
|
285
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 21, ctx_r4.userService.isLogged$));
|
|
264
286
|
i0.ɵɵadvance(2);
|
|
265
287
|
i0.ɵɵproperty("floating", true)("value", ctx_r4.recipeDetailsService.recipe.modifiedGuests)("minRange", 1);
|
|
266
288
|
i0.ɵɵadvance(2);
|
|
@@ -274,25 +296,25 @@ function RecipeDetailsComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
274
296
|
i0.ɵɵadvance(8);
|
|
275
297
|
i0.ɵɵtextInterpolate1(" ", ctx_r4.recipeDetailsService.recipe == null ? null : ctx_r4.recipeDetailsService.recipe.attributes["title"], " ");
|
|
276
298
|
i0.ɵɵadvance(2);
|
|
277
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(29,
|
|
299
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(29, 23, ctx_r4.userService.isLogged$));
|
|
278
300
|
i0.ɵɵadvance(5);
|
|
279
301
|
i0.ɵɵproperty("ngIf", ctx_r4.contextService.noSupplier);
|
|
280
302
|
i0.ɵɵadvance(1);
|
|
281
303
|
i0.ɵɵproperty("recipe", ctx_r4.recipeDetailsService.recipe);
|
|
282
304
|
i0.ɵɵadvance(1);
|
|
283
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
305
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c11, ctx_r4.recipeDetailsService.onlyShowPreparation));
|
|
284
306
|
i0.ɵɵadvance(1);
|
|
285
307
|
i0.ɵɵproperty("selectedTabIndex", ctx_r4.activeTabIndex);
|
|
286
308
|
i0.ɵɵadvance(1);
|
|
287
309
|
i0.ɵɵproperty("ngIf", ctx_r4.activeTabIndex === 0);
|
|
288
310
|
i0.ɵɵadvance(1);
|
|
289
311
|
i0.ɵɵproperty("ngIf", ctx_r4.activeTabIndex === 1);
|
|
290
|
-
i0.ɵɵadvance(
|
|
291
|
-
i0.ɵɵ
|
|
292
|
-
i0.ɵɵadvance(
|
|
293
|
-
i0.ɵɵproperty("ngIf", ctx_r4.recipeDetailsService.
|
|
294
|
-
i0.ɵɵadvance(
|
|
295
|
-
i0.ɵɵproperty("ngIf", ctx_r4.recipeDetailsService.
|
|
312
|
+
i0.ɵɵadvance(1);
|
|
313
|
+
i0.ɵɵclassProp("center", ctx_r4.recipeDetailsService.onlyShowPreparation);
|
|
314
|
+
i0.ɵɵadvance(1);
|
|
315
|
+
i0.ɵɵproperty("ngIf", !ctx_r4.recipeDetailsService.onlyShowPreparation);
|
|
316
|
+
i0.ɵɵadvance(1);
|
|
317
|
+
i0.ɵɵproperty("ngIf", ctx_r4.recipeDetailsService.onlyShowPreparation);
|
|
296
318
|
i0.ɵɵadvance(1);
|
|
297
319
|
i0.ɵɵproperty("ngIf", ctx_r4.showPrice());
|
|
298
320
|
} }
|
|
@@ -300,7 +322,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
300
322
|
i0.ɵɵelementStart(0, "div", 3);
|
|
301
323
|
i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_1_Template, 1, 0, "div", 4);
|
|
302
324
|
i0.ɵɵpipe(2, "async");
|
|
303
|
-
i0.ɵɵtemplate(3, RecipeDetailsComponent_div_0_div_3_Template,
|
|
325
|
+
i0.ɵɵtemplate(3, RecipeDetailsComponent_div_0_div_3_Template, 43, 27, "div", 5);
|
|
304
326
|
i0.ɵɵpipe(4, "async");
|
|
305
327
|
i0.ɵɵelementEnd();
|
|
306
328
|
} if (rf & 2) {
|
|
@@ -311,18 +333,18 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
311
333
|
i0.ɵɵproperty("ngIf", !i0.ɵɵpipeBind1(4, 4, ctx_r0.recipeDetailsService.recipeLoading$));
|
|
312
334
|
} }
|
|
313
335
|
function RecipeDetailsComponent_ng_miam_recipe_addon_2_Template(rf, ctx) { if (rf & 1) {
|
|
314
|
-
const
|
|
315
|
-
i0.ɵɵelementStart(0, "ng-miam-recipe-addon",
|
|
316
|
-
i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_miam_recipe_addon_2_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(
|
|
336
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
337
|
+
i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 74);
|
|
338
|
+
i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_miam_recipe_addon_2_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return ctx_r39.toggleAddon(); });
|
|
317
339
|
i0.ɵɵelementEnd();
|
|
318
340
|
} if (rf & 2) {
|
|
319
341
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
320
342
|
i0.ɵɵproperty("recipe", ctx_r1.recipeDetailsService.recipe);
|
|
321
343
|
} }
|
|
322
344
|
function RecipeDetailsComponent_ng_miam_replace_item_3_Template(rf, ctx) { if (rf & 1) {
|
|
323
|
-
const
|
|
324
|
-
i0.ɵɵelementStart(0, "ng-miam-replace-item",
|
|
325
|
-
i0.ɵɵlistener("selected", function RecipeDetailsComponent_ng_miam_replace_item_3_Template_ng_miam_replace_item_selected_0_listener() { i0.ɵɵrestoreView(
|
|
345
|
+
const _r42 = i0.ɵɵgetCurrentView();
|
|
346
|
+
i0.ɵɵelementStart(0, "ng-miam-replace-item", 75);
|
|
347
|
+
i0.ɵɵlistener("selected", function RecipeDetailsComponent_ng_miam_replace_item_3_Template_ng_miam_replace_item_selected_0_listener() { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(); return ctx_r41.recipeDetailsService.basketEntryToReplace = null; });
|
|
326
348
|
i0.ɵɵelementEnd();
|
|
327
349
|
} if (rf & 2) {
|
|
328
350
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -361,6 +383,7 @@ export class RecipeDetailsComponent extends EventTracerComponent {
|
|
|
361
383
|
this.pricingGuestsText = 'par-personne';
|
|
362
384
|
this.recipeAdded = new EventEmitter();
|
|
363
385
|
this.recipeError = new EventEmitter();
|
|
386
|
+
this.closeDetails = new EventEmitter();
|
|
364
387
|
this.removedIngredients = [];
|
|
365
388
|
this.isMobile = false;
|
|
366
389
|
this.displayTags = false;
|
|
@@ -509,6 +532,7 @@ export class RecipeDetailsComponent extends EventTracerComponent {
|
|
|
509
532
|
onClose() {
|
|
510
533
|
this.recipeDetailsService.displayEventWasSent = false;
|
|
511
534
|
const originPath = this.eventTrace().originPath;
|
|
535
|
+
this.closeDetails.emit();
|
|
512
536
|
this.recipesService.hide();
|
|
513
537
|
this.cdr.detectChanges();
|
|
514
538
|
this.activeTabIndex = 0;
|
|
@@ -543,37 +567,37 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
|
|
|
543
567
|
} if (rf & 2) {
|
|
544
568
|
let _t;
|
|
545
569
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topContainerImg = _t.first);
|
|
546
|
-
} }, inputs: { recipeId: "recipeId", guestNumber: "guestNumber", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures", forceDisplayTags: "forceDisplayTags", displayTagsIcons: "displayTagsIcons", displayPricing: "displayPricing", displayGuests: "displayGuests", helpButtonAllowed: "helpButtonAllowed", stepsOnLeftSide: "stepsOnLeftSide", cookingTimeAsPrimaryInfo: "cookingTimeAsPrimaryInfo", moreRecipesImageURL: "moreRecipesImageURL", pricingGuestsText: "pricingGuestsText" }, outputs: { recipeAdded: "recipeAdded", recipeError: "recipeError" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 5, vars: 7, consts: function () { let i18n_1; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
|
|
570
|
+
} }, inputs: { recipeId: "recipeId", guestNumber: "guestNumber", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures", forceDisplayTags: "forceDisplayTags", displayTagsIcons: "displayTagsIcons", displayPricing: "displayPricing", displayGuests: "displayGuests", helpButtonAllowed: "helpButtonAllowed", stepsOnLeftSide: "stepsOnLeftSide", cookingTimeAsPrimaryInfo: "cookingTimeAsPrimaryInfo", moreRecipesImageURL: "moreRecipesImageURL", pricingGuestsText: "pricingGuestsText" }, outputs: { recipeAdded: "recipeAdded", recipeError: "recipeError", closeDetails: "closeDetails" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 5, vars: 7, consts: function () { let i18n_1; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
|
|
547
571
|
const MSG_EXTERNAL_7351539410416117833$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS___2 = goog.getMsg("Je fais mes courses, Je cuisine");
|
|
548
572
|
i18n_1 = MSG_EXTERNAL_7351539410416117833$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS___2;
|
|
549
573
|
}
|
|
550
574
|
else {
|
|
551
575
|
i18n_1 = $localize `:␟0e74aab5b3701ead8f4185e43a9410b6a31b969e␟7351539410416117833:Je fais mes courses, Je cuisine`;
|
|
552
576
|
} let i18n_3; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
|
|
553
|
-
const MSG_EXTERNAL_70397346439942337$$
|
|
554
|
-
i18n_3 = MSG_EXTERNAL_70397346439942337$$
|
|
577
|
+
const MSG_EXTERNAL_70397346439942337$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS_____4 = goog.getMsg("Ajouter");
|
|
578
|
+
i18n_3 = MSG_EXTERNAL_70397346439942337$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS_____4;
|
|
555
579
|
}
|
|
556
580
|
else {
|
|
557
581
|
i18n_3 = $localize `:␟8aa969e69241c7c5838b40348f913519d6349371␟70397346439942337:Ajouter`;
|
|
558
582
|
} let i18n_5; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
|
|
559
|
-
const MSG_EXTERNAL_5144484951400113194$$
|
|
560
|
-
i18n_5 = MSG_EXTERNAL_5144484951400113194$$
|
|
583
|
+
const MSG_EXTERNAL_5144484951400113194$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS______6 = goog.getMsg("produit");
|
|
584
|
+
i18n_5 = MSG_EXTERNAL_5144484951400113194$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS______6;
|
|
561
585
|
}
|
|
562
586
|
else {
|
|
563
587
|
i18n_5 = $localize `:␟84c216d92afc9edd2b3bd2175d38197737ff86c5␟5144484951400113194:produit`;
|
|
564
588
|
} let i18n_7; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
|
|
565
|
-
const MSG_EXTERNAL_1112144680738962826$$
|
|
566
|
-
i18n_7 = MSG_EXTERNAL_1112144680738962826$$
|
|
589
|
+
const MSG_EXTERNAL_1112144680738962826$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS______8 = goog.getMsg("produits");
|
|
590
|
+
i18n_7 = MSG_EXTERNAL_1112144680738962826$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS______8;
|
|
567
591
|
}
|
|
568
592
|
else {
|
|
569
593
|
i18n_7 = $localize `:␟2571d7fbaeed8646df6ee852fb5d94185b0efd88␟1112144680738962826:produits`;
|
|
570
594
|
} let i18n_9; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
|
|
571
|
-
const MSG_EXTERNAL_2001694451572573558$$
|
|
572
|
-
i18n_9 = MSG_EXTERNAL_2001694451572573558$$
|
|
595
|
+
const MSG_EXTERNAL_2001694451572573558$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS_____10 = goog.getMsg("Continuer mes courses");
|
|
596
|
+
i18n_9 = MSG_EXTERNAL_2001694451572573558$$LIB__WEB_COMPONENTS_RECIPE_DETAILS_RECIPE_DETAILS_COMPONENT_TS_____10;
|
|
573
597
|
}
|
|
574
598
|
else {
|
|
575
599
|
i18n_9 = $localize `:␟0e81a4e1efd31ae65483ef21f4fa59c2dce0e6f1␟2001694451572573558:Continuer mes courses`;
|
|
576
|
-
} return [["class", "miam-recipe-details", 4, "ngIf"], [3, "recipe", "hideAddon", 4, "ngIf"], [3, "recipe", "basketEntry", "ingredient", "ignoreSelected", "loadOnSelect", "selected", 4, "ngIf"], [1, "miam-recipe-details"], ["class", "miam-ds-loader miam-recipe-details__loader", 4, "ngIf"], ["class", "miam-recipe-details__container", 4, "ngIf"], [1, "miam-ds-loader", "miam-recipe-details__loader"], [1, "miam-recipe-details__container"], [1, "miam-recipe-details__picture"], ["topContainerImg", ""], [1, "miam-recipe-details__banner_buttons"], [1, "miam-recipe-details__top-button-wrapper"], [1, "miam-recipe-details__close-button", "miam-ds-button", "square", "primary", "reverse", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg", "alt", "modal close button", 1, "miam-recipe-details__close-icon"], [1, "miam-recipe-details__mobile-header-buttons"], [1, "miam-recipe-details__back-button", "miam-ds-button", "square", "primary", "reverse", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down-primary.svg", "alt", "modal back button", 1, "miam-recipe-details__back-icon"], ["class", "miam-recipe-details__like-button", 3, "recipe", 4, "ngIf"], [1, "miam-recipe-details__guest-counter", 3, "floating", "value", "minRange", "valueChange"], ["alt", "recipe picture", "class", "miam-recipe-details__picture-img", 3, "src", 4, "ngIf"], [3, "videoId", "width", "height", "playerVars", 4, "ngIf"], ["class", "miam-recipe-details__picture__filigrane", 4, "ngIf"], [1, "miam-recipe-details__sponsor"], [3, "hasStorytelling", "recipe", "showAddon", 4, "ngIf"], [1, "miam-recipe-details__sponsor-separator"], [1, "miam-recipe-details__sticky-header"], ["ngMiamReachTop", "", 1, "miam-recipe-details__title-container"], [1, "miam-recipe-details__back-button-mobile-container"], [1, "miam-recipe-details__back-button", "miam-ds-button", "small", "square", "ghost", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down-primary.svg", "alt", "modal close button", 1, "miam-recipe-details__back-icon"], [1, "miam-recipe-details__title", "miam-ds-text", "size-xl", "weight-xxl"], [1, "miam-recipe-details__actions__icon"], ["class", "miam-recipe-details__like-button", 3, "recipe", "originTrace", 4, "ngIf"], [1, "miam-recipe-details__hideable-actions"], [1, "miam-recipe-details__close-button", "miam-ds-button", "square", "ghost", 3, "click"], ["alt", "modal close button", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg", 1, "miam-recipe-details__close-icon"], [4, "ngIf"], [1, "miam-recipe-details__infos", 3, "recipe"], [1, "miam-recipe-details__tabs", 3, "ngClass"], ["tabs", i18n_1, 3, "selectedTabIndex", "selectedTabIndexChange"], [3, "closeModal", 4, "ngIf"], ["class", "miam-recipe-details__preparation-tab", 4, "ngIf"], [1, "miam-recipe-details__footer"], ["class", "miam-recipe-
|
|
600
|
+
} return [["class", "miam-recipe-details", 4, "ngIf"], [3, "recipe", "hideAddon", 4, "ngIf"], [3, "recipe", "basketEntry", "ingredient", "ignoreSelected", "loadOnSelect", "selected", 4, "ngIf"], [1, "miam-recipe-details"], ["class", "miam-ds-loader miam-recipe-details__loader", 4, "ngIf"], ["class", "miam-recipe-details__container", 4, "ngIf"], [1, "miam-ds-loader", "miam-recipe-details__loader"], [1, "miam-recipe-details__container"], [1, "miam-recipe-details__picture"], ["topContainerImg", ""], [1, "miam-recipe-details__banner_buttons"], [1, "miam-recipe-details__top-button-wrapper"], [1, "miam-recipe-details__close-button", "miam-ds-button", "square", "primary", "reverse", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg", "alt", "modal close button", 1, "miam-recipe-details__close-icon"], [1, "miam-recipe-details__mobile-header-buttons"], [1, "miam-recipe-details__back-button", "miam-ds-button", "square", "primary", "reverse", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down-primary.svg", "alt", "modal back button", 1, "miam-recipe-details__back-icon"], ["class", "miam-recipe-details__like-button", 3, "recipe", 4, "ngIf"], [1, "miam-recipe-details__guest-counter", 3, "floating", "value", "minRange", "valueChange"], ["alt", "recipe picture", "class", "miam-recipe-details__picture-img", 3, "src", 4, "ngIf"], [3, "videoId", "width", "height", "playerVars", 4, "ngIf"], ["class", "miam-recipe-details__picture__filigrane", 4, "ngIf"], [1, "miam-recipe-details__sponsor"], [3, "hasStorytelling", "recipe", "showAddon", 4, "ngIf"], [1, "miam-recipe-details__sponsor-separator"], [1, "miam-recipe-details__sticky-header"], ["ngMiamReachTop", "", 1, "miam-recipe-details__title-container"], [1, "miam-recipe-details__back-button-mobile-container"], [1, "miam-recipe-details__back-button", "miam-ds-button", "small", "square", "ghost", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down-primary.svg", "alt", "modal close button", 1, "miam-recipe-details__back-icon"], [1, "miam-recipe-details__title", "miam-ds-text", "size-xl", "weight-xxl"], [1, "miam-recipe-details__actions__icon"], ["class", "miam-recipe-details__like-button", 3, "recipe", "originTrace", 4, "ngIf"], [1, "miam-recipe-details__hideable-actions"], [1, "miam-recipe-details__close-button", "miam-ds-button", "square", "ghost", 3, "click"], ["alt", "modal close button", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg", 1, "miam-recipe-details__close-icon"], [4, "ngIf"], [1, "miam-recipe-details__infos", 3, "recipe"], [1, "miam-recipe-details__tabs", 3, "ngClass"], ["tabs", i18n_1, 3, "selectedTabIndex", "selectedTabIndexChange"], [3, "closeModal", 4, "ngIf"], ["class", "miam-recipe-details__preparation-tab", 4, "ngIf"], [1, "miam-recipe-details__footer"], ["class", "miam-recipe-details__price", 4, "ngIf"], [1, "miam-recipe-details__like-button", 3, "recipe"], ["alt", "recipe picture", 1, "miam-recipe-details__picture-img", 3, "src"], [3, "videoId", "width", "height", "playerVars"], [1, "miam-recipe-details__picture__filigrane"], ["alt", "filigrane logo", 3, "src"], [3, "hasStorytelling", "recipe", "showAddon"], [1, "miam-recipe-details__like-button", 3, "recipe", "originTrace"], [3, "closeModal"], [1, "miam-recipe-details__preparation-tab"], [3, "ingredients"], [3, "recipe"], ["class", "miam-recipe-details__add-to-basket-cta miam-ds-button primary", 3, "click", 4, "ngIf"], ["class", "miam-recipe-details__add-to-basket-cta miam-ds-button primary", 4, "ngIf"], ["class", "miam-ds-button secondary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__add-to-basket-cta", "miam-ds-button", "primary", 3, "click"], ["alt", "basket icon", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Basket.svg"], [1, "miam-recipe-details__add-to-basket-cta__text"], i18n_3, [1, "miam-recipe-details__add-to-basket-remaining-price"], [1, "miam-ds-loader"], i18n_5, i18n_7, [1, "miam-recipe-details__add-to-basket-cta", "miam-ds-button", "primary"], [1, "miam-ds-button", "secondary", 3, "click"], i18n_9, [3, "recipeId", "serves", "fetchPricingOnScroll"], [1, "miam-recipe-details__price"], [1, "miam-recipe-details__price-label", "miam-ds-text", "size-l", "weight-xxl"], [1, "miam-ds-loader", "primary"], [1, "miam-recipe-details__price-in-basket-label", "miam-ds-text", "size-xs"], [3, "recipe", "hideAddon"], [3, "recipe", "basketEntry", "ingredient", "ignoreSelected", "loadOnSelect", "selected"]]; }, template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
577
601
|
i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 5, 6, "div", 0);
|
|
578
602
|
i0.ɵɵpipe(1, "async");
|
|
579
603
|
i0.ɵɵtemplate(2, RecipeDetailsComponent_ng_miam_recipe_addon_2_Template, 1, 1, "ng-miam-recipe-addon", 1);
|
|
@@ -585,7 +609,7 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
|
|
|
585
609
|
i0.ɵɵproperty("ngIf", !ctx.showDetail);
|
|
586
610
|
i0.ɵɵadvance(1);
|
|
587
611
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4, 5, ctx.recipeDetailsService.basketEntryToReplace$));
|
|
588
|
-
} }, directives: [i2.NgIf, i3.CounterInputComponent, i4.ReachTopDirective, i5.RecipeDetailsInfosComponent, i2.NgClass, i6.SliderTabsComponent, i7.LikeButtonComponent, i8.YouTubePlayer, i9.AddonLinkComponent, i10.StoreLocatorLinkComponent, i11.ProductsPickerComponent, i12.RecipeDetailsIngredientsComponent, i13.RecipeDetailsStepsComponent, i14.RecipeAddonComponent, i15.ReplaceItemComponent], pipes: [i2.AsyncPipe, i2.CurrencyPipe], styles: [".miam-recipe-details{min-height:100dvh}.miam-recipe-details .miam-recipe-details__loader{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:40px;height:40px;background-position-x:20px;background-size:20px 20px}.miam-recipe-details .miam-recipe-details__container{position:relative}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sponsor-separator{border-top:1px solid var(--miam-ds-color-neutral-200,#d9dde1);margin:unset}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture{position:relative;max-height:600px;display:flex}@media (min-width:1023px) and (max-height:1000px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture{max-height:400px}}@media (min-width:1023px) and (max-height:800px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture{max-height:300px}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons{position:absolute;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;top:16px;right:16px;left:16px;bottom:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper{flex:1;width:100%;height:100%}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__close-button{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons{display:flex;justify-content:space-between;height:100%}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__back-button{transform:rotate(90deg);border-radius:100%;height:40px;width:40px;position:sticky;top:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__back-button .miam-recipe-details__back-icon{display:block}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__back-button:hover img.miam-recipe-details__back-icon{content:url(https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down-white.svg)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__like-button{position:absolute;top:0;right:0}@media (min-width:1023px) and (max-height:800px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__guest-counter .miam-counter-input{padding:2px}}@media (min-width:1023px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons{top:24px;right:24px;left:24px;bottom:24px;flex-direction:column}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper{width:inherit}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__close-button{display:flex;position:sticky;top:24px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__close-button:hover img.miam-recipe-details__close-icon{content:url(https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross.svg)}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__picture-img{width:100%;max-height:100%;-o-object-position:center;object-position:center;-o-object-fit:cover;object-fit:cover}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header{z-index:2;position:sticky;top:-1px;overflow:hidden}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--miam-ds-color-neutral-white,#fff);transition:padding .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__back-button-mobile-container{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__title{width:100%;transition:font-size .3s;color:var(--miam-ds-color-neutral-black,#1f3543)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon{display:flex;position:absolute;right:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon .miam-recipe-details__hideable-actions{max-width:0;overflow:hidden;transition:max-width .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon .miam-recipe-details__close-button{margin-left:16px;padding:8px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned{padding:12px 16px;border-bottom:1px solid var(--miam-ds-color-neutral-200,#d9dde1)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__title{font-size:20px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon{position:relative;top:unset;right:unset}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon .miam-recipe-details__like-button{margin-right:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon .miam-recipe-details__hideable-actions{max-width:64px}@media (max-width:1024px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container{justify-content:flex-start}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__back-button-mobile-container{display:flex;align-items:center;justify-content:center;max-width:0;overflow:hidden;transition:max-width .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__back-button-mobile-container .miam-recipe-details__back-icon{transform:rotate(90deg)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__title{font-size:20px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon{max-width:0;overflow:hidden;transition:max-width .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__hideable-actions{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned{padding:4px 16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__back-button-mobile-container{overflow:visible;max-width:48px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__back-button-mobile-container .miam-recipe-details__back-button{margin:8px 0;width:40px;height:40px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__title{font-size:14px;font-weight:500}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon{max-width:40px}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__infos{padding:8px 16px 16px;display:block}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__tabs{padding:8px 16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__tabs.hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer{box-sizing:border-box;background:var(--miam-ds-color-neutral-white,#fff);border-top:1px solid var(--miam-ds-color-neutral-200,#d9dde1);padding:16px 12px;position:sticky;bottom:0;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;z-index:2;height:80px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer.center{justify-content:center}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer.hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta{display:flex;gap:8px}@media (max-width:1024px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta.miam-ds-button.primary:hover{background-color:var(--miam-ds-color-primary)}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta .miam-recipe-details__add-to-basket-cta__text{display:flex;gap:4px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta .miam-recipe-details__add-to-basket-cta__text .miam-recipe-details__add-to-basket-remaining-price{display:flex}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta .miam-recipe-details__add-to-basket-cta__text .miam-recipe-details__add-to-basket-remaining-price .hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer ng-miam-recipe-pricing .miam-recipe-pricing__wrapper{align-items:flex-end}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer ng-miam-recipe-pricing .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{color:var(--miam-ds-color-primary-700);margin-right:4px}@media (max-width:1024px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer ng-miam-recipe-pricing .miam-recipe-pricing__wrapper{flex-direction:column;align-items:flex-start}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price .miam-recipe-details__price-label{color:var(--miam-ds-color-primary,#24748f)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price .miam-recipe-details__price-label .hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price .miam-recipe-details__price-in-basket-label{color:var(--miam-ds-color-neutral-black,#1f3543);opacity:.65}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__preparation-tab{padding:16px;display:flex;flex-direction:column;gap:24px}"], encapsulation: 2, changeDetection: 0 });
|
|
612
|
+
} }, directives: [i2.NgIf, i3.CounterInputComponent, i4.ReachTopDirective, i5.RecipeDetailsInfosComponent, i2.NgClass, i6.SliderTabsComponent, i7.LikeButtonComponent, i8.YouTubePlayer, i9.AddonLinkComponent, i10.StoreLocatorLinkComponent, i11.ProductsPickerComponent, i12.RecipeDetailsIngredientsComponent, i13.RecipeDetailsStepsComponent, i14.RecipePricingComponent, i15.RecipeAddonComponent, i16.ReplaceItemComponent], pipes: [i2.AsyncPipe, i2.CurrencyPipe], styles: [".miam-recipe-details{min-height:100dvh}.miam-recipe-details .miam-recipe-details__loader{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:40px;height:40px;background-position-x:20px;background-size:20px 20px}.miam-recipe-details .miam-recipe-details__container{position:relative}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sponsor-separator{border-top:1px solid var(--miam-ds-color-neutral-200,#d9dde1);margin:unset}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture{position:relative;max-height:600px;display:flex}@media (min-width:1023px) and (max-height:1000px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture{max-height:400px}}@media (min-width:1023px) and (max-height:800px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture{max-height:300px}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons{position:absolute;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;top:16px;right:16px;left:16px;bottom:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper{flex:1;width:100%;height:100%}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__close-button{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons{display:flex;justify-content:space-between;height:100%}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__back-button{transform:rotate(90deg);border-radius:100%;height:40px;width:40px;position:sticky;top:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__back-button .miam-recipe-details__back-icon{display:block}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__back-button:hover img.miam-recipe-details__back-icon{content:url(https://storage.googleapis.com/assets.miam.tech/generic/icons/chevron-down-white.svg)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons .miam-recipe-details__like-button{position:absolute;top:0;right:0}@media (min-width:1023px) and (max-height:800px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__guest-counter .miam-counter-input{padding:2px}}@media (min-width:1023px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons{top:24px;right:24px;left:24px;bottom:24px;flex-direction:column}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper{width:inherit}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__mobile-header-buttons{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__close-button{display:flex;position:sticky;top:24px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__banner_buttons .miam-recipe-details__top-button-wrapper .miam-recipe-details__close-button:hover img.miam-recipe-details__close-icon{content:url(https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross.svg)}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__picture .miam-recipe-details__picture-img{width:100%;max-height:100%;-o-object-position:center;object-position:center;-o-object-fit:cover;object-fit:cover}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header{z-index:2;position:sticky;top:-1px;overflow:hidden}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--miam-ds-color-neutral-white,#fff);transition:padding .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__back-button-mobile-container{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__title{width:100%;transition:font-size .3s;color:var(--miam-ds-color-neutral-black,#1f3543)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon{display:flex;position:absolute;right:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon .miam-recipe-details__hideable-actions{max-width:0;overflow:hidden;transition:max-width .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon .miam-recipe-details__close-button{margin-left:16px;padding:8px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned{padding:12px 16px;border-bottom:1px solid var(--miam-ds-color-neutral-200,#d9dde1)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__title{font-size:20px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon{position:relative;top:unset;right:unset}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon .miam-recipe-details__like-button{margin-right:16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon .miam-recipe-details__hideable-actions{max-width:64px}@media (max-width:1024px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container{justify-content:flex-start}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__back-button-mobile-container{display:flex;align-items:center;justify-content:center;max-width:0;overflow:hidden;transition:max-width .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__back-button-mobile-container .miam-recipe-details__back-icon{transform:rotate(90deg)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__title{font-size:20px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__actions__icon{max-width:0;overflow:hidden;transition:max-width .3s}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container .miam-recipe-details__hideable-actions{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned{padding:4px 16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__back-button-mobile-container{overflow:visible;max-width:48px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__back-button-mobile-container .miam-recipe-details__back-button{margin:8px 0;width:40px;height:40px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__title{font-size:14px;font-weight:500}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__sticky-header .miam-recipe-details__title-container.is-pinned .miam-recipe-details__actions__icon{max-width:40px}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__infos{padding:8px 16px 16px;display:block}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__tabs{padding:8px 16px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__tabs.hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer{box-sizing:border-box;background:var(--miam-ds-color-neutral-white,#fff);border-top:1px solid var(--miam-ds-color-neutral-200,#d9dde1);padding:16px 12px;position:sticky;bottom:0;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;z-index:2;height:80px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer.center{justify-content:center}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer.hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta{display:flex;gap:8px}@media (max-width:1024px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta.miam-ds-button.primary:hover{background-color:var(--miam-ds-color-primary)}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta .miam-recipe-details__add-to-basket-cta__text{display:flex;gap:4px}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta .miam-recipe-details__add-to-basket-cta__text .miam-recipe-details__add-to-basket-remaining-price{display:flex}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__add-to-basket-cta .miam-recipe-details__add-to-basket-cta__text .miam-recipe-details__add-to-basket-remaining-price .hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer ng-miam-recipe-pricing .miam-recipe-pricing__wrapper{align-items:flex-end}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer ng-miam-recipe-pricing .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{color:var(--miam-ds-color-primary-700);margin-right:4px}@media (max-width:1024px){.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer ng-miam-recipe-pricing .miam-recipe-pricing__wrapper{flex-direction:column;align-items:flex-start}}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price .miam-recipe-details__price-label{color:var(--miam-ds-color-primary,#24748f)}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price .miam-recipe-details__price-label .hidden{display:none}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__footer .miam-recipe-details__price .miam-recipe-details__price-in-basket-label{color:var(--miam-ds-color-neutral-black,#1f3543);opacity:.65}.miam-recipe-details .miam-recipe-details__container .miam-recipe-details__preparation-tab{padding:16px;display:flex;flex-direction:column;gap:24px}"], encapsulation: 2, changeDetection: 0 });
|
|
589
613
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RecipeDetailsComponent, [{
|
|
590
614
|
type: Component,
|
|
591
615
|
args: [{
|
|
@@ -625,8 +649,10 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
|
|
|
625
649
|
type: Output
|
|
626
650
|
}], recipeError: [{
|
|
627
651
|
type: Output
|
|
652
|
+
}], closeDetails: [{
|
|
653
|
+
type: Output
|
|
628
654
|
}], topContainerImg: [{
|
|
629
655
|
type: ViewChild,
|
|
630
656
|
args: ['topContainerImg']
|
|
631
657
|
}] }); })();
|
|
632
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1kZXRhaWxzL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNaLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDOUI1Qyx5QkFBa0g7OztJQXVCeEcsMENBS3NCOzs7SUFGcEIsMkRBQXNDOzs7SUFnQjlDLDBCQUkyQzs7O0lBRHpDLHNKQUE0RDs7O0lBRTlELHFDQU1rQjs7O0lBSmhCLG9F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USxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLGlDQUFpQztnQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Z0JBQzlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDswVkFFVSxRQUFRO2tCQUFoQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUN1QixlQUFlO2tCQUE1QyxTQUFTO21CQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcFdoaWxlLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2ZW50VHJhY2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vX2NvbXBvbmVudHMvYWJzdHJhY3RzL2V2ZW50LXRyYWNlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5ncmVkaWVudCB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQW5hbHl0aWNzU2VydmljZSxcbiAgQmFza2V0c1NlcnZpY2UsXG4gIENvbnRleHRTZXJ2aWNlLFxuICBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgUmVjaXBlc1NlcnZpY2UsXG4gIFNwb25zb3JCbG9ja1NlcnZpY2UsXG4gIFN1cHBsaWVyc1NlcnZpY2UsXG4gIFVzZXJTZXJ2aWNlXG59IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2V2ZW50LXRyYWNlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcblxuY29uc3QgcmVjaXBlSW5jbHVkZXMgPSBbJ2luZ3JlZGllbnRzJywgJ3RhZ3MnLCAncmVjaXBlLXN0ZXBzJywgJ3Nwb25zb3JzJ107XG5jb25zdCByZWNpcGVTcGFyc2VGaWVsZHMgPSB7XG4gIHJlY2lwZXM6IFsndGl0bGUnLCAnaW5mb3JtYXRpb25hbC1zZW50ZW5jZScsICdtZWRpYS11cmwnLCAndmlkZW8taWQnLCAnZmlsaWdyYW5lLWxvZ28tdXJsJywgJ251bWJlci1vZi1ndWVzdHMnLCAnZGVzY3JpcHRpb24nLFxuICAgICdpbmZvcm1hdGlvbmFsLXBhZ2UtaHRtbCcsICdkaWZmaWN1bHR5JywgJ3ByZXBhcmF0aW9uLXRpbWUnLCAnY29va2luZy10aW1lJywgJ3Jlc3RpbmctdGltZScsIC4uLnJlY2lwZUluY2x1ZGVzXSxcbiAgaW5ncmVkaWVudHM6IFsnbmFtZScsICdxdWFudGl0eScsICd1bml0JywgJ2FjdGl2ZScsICdmb3JjZWQtZWFucycsICdwaWN0dXJlLXVybCcsICdwb3NpdGlvbiddLFxuICB0YWdzOiBbJ3RhZy10eXBlLWlkJywgJ2ljb24tdXJsJywgJ25hbWUnXSxcbiAgJ3JlY2lwZS1zdGVwcyc6IFsnZGVzY3JpcHRpb24nLCAnc3RlcC1udW1iZXInXSxcbiAgc3BvbnNvcnM6IFsnbG9nby11cmwnLCAnbmFtZSddXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJlY2lwZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGd1ZXN0TnVtYmVyOiBudW1iZXI7XG4gIEBJbnB1dCgpIHByZXZpZXdBbGxvd2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgaW5ncmVkaWVudHNQaWN0dXJlcyA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JjZURpc3BsYXlUYWdzOiBib29sZWFuOyAvLyBPdmVycmlkZSBnbG9iYWwgc2V0dGluZyBpZiBuZWNlc2FyeVxuICBASW5wdXQoKSBkaXNwbGF5VGFnc0ljb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc3BsYXlQcmljaW5nID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzcGxheUd1ZXN0cyA9IHRydWU7XG4gIEBJbnB1dCgpIGhlbHBCdXR0b25BbGxvd2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgc3RlcHNPbkxlZnRTaWRlID0gZmFsc2U7IC8vIElmIHRydWUsIGRpc3BsYXkgdGhlIGRldGFpbCBpbiA0IHF1YXJ0ZXJzIGluc3RlYWQgb2YgMiBoYWx2ZXNcbiAgQElucHV0KCkgY29va2luZ1RpbWVBc1ByaW1hcnlJbmZvID0gZmFsc2U7IC8vIElmIHRydWUsIGRpc3BsYXkgdGhlIGNvb2tpbmcgdGltZSBuZXh0IHRvIHRvdGFsIHRpbWVcbiAgQElucHV0KCkgbW9yZVJlY2lwZXNJbWFnZVVSTDogc3RyaW5nO1xuICBASW5wdXQoKSBwcmljaW5nR3Vlc3RzVGV4dCA9ICdwYXItcGVyc29ubmUnO1xuICBAT3V0cHV0KCkgcmVjaXBlQWRkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHJlY2lwZUVycm9yOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBWaWV3Q2hpbGQoJ3RvcENvbnRhaW5lckltZycpIHRvcENvbnRhaW5lckltZzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIHJlbW92ZWRJbmdyZWRpZW50czogSW5ncmVkaWVudFtdID0gW107XG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIGRpc3BsYXlUYWdzID0gZmFsc2U7XG4gIHNob3dEZXRhaWwgPSB0cnVlO1xuICBpY29uID0gSWNvbjtcbiAgcGxheWVyV2lkdGg7XG4gIHBsYXllckhlaWdodDtcbiAgcHJpbWFyeUJ1dHRvbkNsaWNrZWQkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBzaG93VmlkZW87XG4gIGFkZEJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgdGl0bGVJbkhlYWRlciA9IGZhbHNlO1xuICBzcG9uc29ySGFzU3Rvcnl0ZWxsaW5nID0gZmFsc2U7XG4gIHRpdGxlOiBIVE1MRWxlbWVudDtcbiAgY29udGVudDogSFRNTEVsZW1lbnQ7XG4gIGFjdGl2ZVRhYkluZGV4ID0gMDtcbiAgcGxheWVyVmFyczogWVQuUGxheWVyVmFycyA9IHtcbiAgICBjb250cm9sczogMSxcbiAgICBtb2Rlc3RicmFuZGluZzogMSxcbiAgICByZWw6IDAsXG4gICAgc2hvd2luZm86IDBcbiAgfTtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuICBwcml2YXRlIGludGVyc2VjdGlvbk9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwdWJsaWMgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVEZXRhaWxzU2VydmljZTogUmVjaXBlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzcG9uc29yQmxvY2tzU2VydmljZTogU3BvbnNvckJsb2NrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZVxuICApIHtcbiAgICBzdXBlcihhbmFseXRpY3NTZXJ2aWNlKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLm9ubHlTaG93UHJlcGFyYXRpb24pIHtcbiAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSAxO1xuICAgIH1cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuaXNTbWFsbFNjcmVlbiQuc3Vic2NyaWJlKGlzU21hbGwgPT4ge1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gaXNTbWFsbDtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICBtZXJnZShcbiAgICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVMb2FkaW5nJCxcbiAgICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5iYXNrZXRFbnRyeVRvUmVwbGFjZSQsXG4gICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlRm9vdGVyRGlzcGxheSQsXG4gICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNCeUNhdGVnb3J5JCkuc3Vic2NyaWJlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5yZWNpcGVJZCAmJiB0aGlzLnJlY2lwZUlkPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZldGNoUmVjaXBlKHRoaXMucmVjaXBlSWQpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JjZURpc3BsYXlUYWdzICE9PSB1bmRlZmluZWQgJiYgdGhpcy5mb3JjZURpc3BsYXlUYWdzICE9PSB0aGlzLmRpc3BsYXlUYWdzKSB7XG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5mb3JjZURpc3BsYXlUYWdzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5jb250ZXh0U2VydmljZS50YWdzT25SZWNpcGVzRW5hYmxlZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RlcHNPbkxlZnRTaWRlKSB7XG4gICAgICB0aGlzLmNvb2tpbmdUaW1lQXNQcmltYXJ5SW5mbyA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuYWxsSW5ncmVkaWVudHNUb0Jhc2tldExvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZGlzcGxheUV2ZW50V2FzU2VudCA9IGZhbHNlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBnZXRQcm9kdWN0cyhmcm9tSW5pdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKGZyb21Jbml0KSB7XG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzTG9hZGluZyA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZ2V0SW5ncmVkaWVudHNCYXNrZXRFbnRyaWVzKGZyb21Jbml0KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KSk7XG4gIH1cblxuICBmZXRjaFJlY2lwZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0KGlkLCB7XG4gICAgICAgIGluY2x1ZGU6IHJlY2lwZUluY2x1ZGVzLFxuICAgICAgICBmaWVsZHM6IHJlY2lwZVNwYXJzZUZpZWxkc1xuICAgICAgfSkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlID0gcmVzdWx0O1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gK3RoaXMuZ3Vlc3ROdW1iZXIgfHwgK3Jlc3VsdC5ndWVzdHM7XG4gICAgICAgICAgdGhpcy5nZXRQcm9kdWN0cyh0cnVlKTtcbiAgICAgICAgICB0aGlzLnNlbmREaXNwbGF5UmVjaXBlRXZlbnQoKTtcbiAgICAgICAgICB0aGlzLnNldHVwWW91dHViZVBsYXllcigpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0U2Nyb2xsTGlzdGVuZXJPblRpdGxlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmlzU3BvbnNvcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zcG9uc29yQmxvY2tzU2VydmljZS5hbGwoe1xuICAgICAgICAgICAgICByZW1vdGVmaWx0ZXI6IHsgJ3Nwb25zb3ItaWQnOiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5zcG9uc29yc1swXS5pZCB9LFxuICAgICAgICAgICAgICBwYWdlOiB7IG51bWJlcjogMSwgc2l6ZTogMSB9XG4gICAgICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgICAgICAgICAgdGFwKHJlc3VsdCA9PiB0aGlzLnNwb25zb3JIYXNTdG9yeXRlbGxpbmcgPSAhIXJlc3VsdC5kYXRhLmxlbmd0aClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSlcbiAgICApO1xuICB9XG5cbiAgc2V0dXBZb3V0dWJlUGxheWVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1ZpZGVvID0gZmFsc2U7IC8vIGZvcmNlIHJlbG9hZCB2aWRlbyBwbGF5ZXJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zaG93VmlkZW8gPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnZpZGVvUmVjaXBlc0VuYWJsZWQgJiYgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGU/LnZpZGVvSWQ7XG4gICAgaWYgKHRoaXMuc2hvd1ZpZGVvKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHdpbmRvdy5ZVD8uUGxheWVyKSB7XG4gICAgICAgICAgdGhpcy5wbGF5ZXJXaWR0aCA9IHRoaXMudG9wQ29udGFpbmVySW1nPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aDtcbiAgICAgICAgICB0aGlzLnBsYXllckhlaWdodCA9IE1hdGgubWluKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuNDgsIHRoaXMucGxheWVyV2lkdGggKiAzOTAgLyA2NDApO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldHVwWW91dHViZVBsYXllcigpO1xuICAgICAgICB9XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXQgdGhlIGxpc3RlbmVyIG9uIHNjcm9sbCBzbyB0aGUgbW9kYWwgY2FuIGhpZGUgdGhlIGNsb3NlIGljb25cbiAgICovXG4gIGluaXRTY3JvbGxMaXN0ZW5lck9uVGl0bGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRpdGxlKSB7XG4gICAgICB0aGlzLnRpdGxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pYW0tcmVjaXBlLWRldGFpbHNfX3RpdGxlJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5jb250ZW50KSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWlhbS1yZWNpcGUtZGV0YWlsc19fY29udGVudCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc01vYmlsZSAmJiAhdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlciAmJiB0aGlzLmNvbnRlbnQgJiYgdGhpcy50aXRsZSkge1xuICAgICAgLy8gRm9yIG1vcmUgcHJlY2lzaW9uIG9uIHRpdGxlIHNjcm9sbCBkZXRlY3Rpb24sIHdlIHdhbnQgdG8gdHJpZ2dlciBhbiBldmVudCBlYWNoIHRpbWUgdGhlIHVzZXIgc2Nyb2xscyA1JSBvZiB0aGUgY29udGVudFxuICAgICAgY29uc3QgdGhyZXNob2xkID0gWy4uLkFycmF5KDIwKS5rZXlzKCldLm1hcCh4ID0+IHggLyAyMCk7XG4gICAgICAvLyBSZWNlaXZlIGFuIGV2ZW50IGVhY2ggdGltZSB0aGUgdGl0bGUgZW50ZXJzL2xlYXZlcyB0aGUgdmlld3BvcnRcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpdGxlSW5IZWFkZXIoKTtcbiAgICAgIH0sIHsgdGhyZXNob2xkIH0pO1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlVGl0bGVJbkhlYWRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlSW5IZWFkZXIgPSB0aGlzLnRpdGxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSA0MDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB1cGRhdGVHdWVzdHMoZ3Vlc3RzOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cztcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUd1ZXN0cyh0aGlzLmV2ZW50VHJhY2UoKSk7XG4gICAgdGhpcy5nZXRQcm9kdWN0cyhmYWxzZSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlQWRkb24oKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RGV0YWlsID0gIXRoaXMuc2hvd0RldGFpbDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVIZWxwZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWNpcGVzU2VydmljZS50b2dnbGVIZWxwZXIoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVCdXR0b25Mb2FkZXIodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmFkZEJ1dHRvbkxvYWRpbmcgPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZGlzcGxheUV2ZW50V2FzU2VudCA9IGZhbHNlO1xuICAgIGNvbnN0IG9yaWdpblBhdGggPSB0aGlzLmV2ZW50VHJhY2UoKS5vcmlnaW5QYXRoO1xuICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuaGlkZSgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gMDtcbiAgICBpZiAob3JpZ2luUGF0aCA9PT0gJy9taWFtL3JlY2lwZXMvYmFza2V0LXByZXZpZXcvZGV0YWlsJyB8fCBvcmlnaW5QYXRoID09PSAnL2RldGFpbC9iYXNrZXQtcHJldmlldy9kZXRhaWwnKSB7XG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLm9wZW5CYXNrZXQodGhpcy5ldmVudFRyYWNlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaW50KCk6IHZvaWQge1xuICAgIHRoaXMuc2VuZEV2ZW50KHRoaXMuYW5hbHl0aWNzU2VydmljZS5FVkVOVF9SRUNJUEVfUFJJTlQpO1xuICAgIHdpbmRvdy5wcmludCgpO1xuICB9XG5cbiAgc2VuZERpc3BsYXlSZWNpcGVFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZGlzcGxheUV2ZW50V2FzU2VudCkge1xuICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5kaXNwbGF5RXZlbnRXYXNTZW50ID0gdHJ1ZTtcbiAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnRXaGVuUmVhZHkodGhpcy5hbmFseXRpY3NTZXJ2aWNlLkVWRU5UX1JFQ0lQRV9ESVNQTEFZLCB0aGlzLm9yaWdpblRyYWNlLm9yaWdpblBhdGgsIHRoaXMucHJvcHMoKSk7XG4gICAgICB0aGlzLnBhZ2V2aWV3KCk7XG4gICAgfVxuICB9XG5cbiAgc2hvd1ByaWNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUgJiYgdGhpcy5kaXNwbGF5UHJpY2luZyAmJiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmhhc0FkZGVkQVByb2R1Y3QpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRQcm9wcygpOiBDdXN0b21Qcm9wZXJ0aWVzIHtcbiAgICByZXR1cm4geyByZWNpcGVfaWQ6IHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLmlkIH07XG4gIH1cblxuICBjdXJyZW50UGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZGV0YWlsJztcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dEZXRhaWwgJiYgIShyZWNpcGVEZXRhaWxzU2VydmljZS5iYXNrZXRFbnRyeVRvUmVwbGFjZSQgfCBhc3luYylcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNcIj5cbiAgPGRpdiAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZUxvYWRpbmckIHwgYXN5bmNcIiBjbGFzcz1cIm1pYW0tZHMtbG9hZGVyIG1pYW0tcmVjaXBlLWRldGFpbHNfX2xvYWRlclwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fY29udGFpbmVyXCIgKm5nSWY9XCIhKHJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZUxvYWRpbmckIHwgYXN5bmMpXCI+XG4gICAgPCEtLSBCQU5ORVIgQ09OVEFJTkVSIC0tPlxuICAgIDxkaXYgI3RvcENvbnRhaW5lckltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVcIj5cbiAgICAgIDwhLS0gSEVBREVSIEJVVFRPTlMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYmFubmVyX2J1dHRvbnNcIj5cbiAgICAgICAgPCEtLSBUT1AgQlVUVE9OUyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcC1idXR0b24td3JhcHBlclwiPlxuICAgICAgICAgIDwhLS0gREVTS1RPUCBDTE9TRSBCVVRUT04gLS0+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Nsb3NlLWJ1dHRvbiBtaWFtLWRzLWJ1dHRvbiBzcXVhcmUgcHJpbWFyeSByZXZlcnNlXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Nsb3NlLWljb25cIlxuICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0Nyb3NzX3ByaW1hcnkuc3ZnXCJcbiAgICAgICAgICAgICAgICAgYWx0PVwibW9kYWwgY2xvc2UgYnV0dG9uXCIvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwhLS0gTU9CSUxFIEhFQURFUiBCVVRUT05TIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGUtaGVhZGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDwhLS0gQkFDSyBCVVRUT04gT04gVEhFIExFRlQgLS0+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYmFjay1idXR0b24gbWlhbS1kcy1idXR0b24gc3F1YXJlIHByaW1hcnkgcmV2ZXJzZVwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JhY2staWNvblwiXG4gICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9jaGV2cm9uLWRvd24tcHJpbWFyeS5zdmdcIlxuICAgICAgICAgICAgICAgICAgIGFsdD1cIm1vZGFsIGJhY2sgYnV0dG9uXCI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwhLS0gTElLRSBCVVRUT04gT04gVEhFIFJJR0hUIC0tPlxuICAgICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbGlrZS1idXR0b25cIlxuICAgICAgICAgICAgICBbcmVjaXBlXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLW1pYW0tbGlrZS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIEdVRVNUIENPVU5URVIgLS0+XG4gICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXRcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2d1ZXN0LWNvdW50ZXJcIlxuICAgICAgICAgIFtmbG9hdGluZ109XCJ0cnVlXCJcbiAgICAgICAgICBbdmFsdWVdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLm1vZGlmaWVkR3Vlc3RzXCJcbiAgICAgICAgICBbbWluUmFuZ2VdPVwiMVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInVwZGF0ZUd1ZXN0cygkZXZlbnQpXCI+XG4gICAgICAgICAgPlxuICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBQSUNUVVJFIC8gVklERU8gLS0+XG4gICAgICA8aW1nXG4gICAgICAgIGFsdD1cInJlY2lwZSBwaWN0dXJlXCJcbiAgICAgICAgKm5nSWY9XCIhc2hvd1ZpZGVvXCJcbiAgICAgICAgW3NyY109XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGU/LmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddXCJcbiAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlLWltZ1wiPlxuICAgICAgPHlvdXR1YmUtcGxheWVyXG4gICAgICAgICpuZ0lmPVwic2hvd1ZpZGVvICYmIHBsYXllcldpZHRoXCJcbiAgICAgICAgW3ZpZGVvSWRdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLnZpZGVvSWRcIlxuICAgICAgICBbd2lkdGhdPVwicGxheWVyV2lkdGhcIlxuICAgICAgICBbaGVpZ2h0XT1cInBsYXllckhlaWdodFwiXG4gICAgICAgIFtwbGF5ZXJWYXJzXT1cInBsYXllclZhcnNcIlxuICAgICAgPjwveW91dHViZS1wbGF5ZXI+XG4gICAgICA8IS0tIEZpbGlncmFuZSBsb2dvIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX19maWxpZ3JhbmVcIj5cbiAgICAgICAgPGltZyBhbHQ9XCJmaWxpZ3JhbmUgbG9nb1wiIFtzcmNdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLmZpbGlncmFuZUxvZ29VcmxcIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gU1BPTlNPUiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3BvbnNvclwiPlxuICAgICAgPG5nLW1pYW0tYWRkb24tbGlua1xuICAgICAgICAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmlzU3BvbnNvcmVkIHx8IHJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5pbmZvcm1hdGlvbmFsU2VudGVuY2VcIlxuICAgICAgICBbaGFzU3Rvcnl0ZWxsaW5nXT1cInNwb25zb3JIYXNTdG9yeXRlbGxpbmdcIlxuICAgICAgICBbcmVjaXBlXT0ncmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlJyAoc2hvd0FkZG9uKT0ndG9nZ2xlQWRkb24oKSc+PC9uZy1taWFtLWFkZG9uLWxpbms+XG4gICAgICA8aHIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zcG9uc29yLXNlcGFyYXRvclwiPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gU1RJQ0tZIEhFQURFUiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RpY2t5LWhlYWRlclwiPlxuICAgICAgPCEtLSBSRUNJUEUgVElUTEUgQ09OVEFJTkVSIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RpdGxlLWNvbnRhaW5lclwiXG4gICAgICAgIG5nTWlhbVJlYWNoVG9wPlxuICAgICAgICA8IS0tIEJBQ0sgQlVUVE9OIChNT0JJTEUpIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYmFjay1idXR0b24tbW9iaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19iYWNrLWJ1dHRvbiBtaWFtLWRzLWJ1dHRvbiBzbWFsbCBzcXVhcmUgZ2hvc3RcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYmFjay1pY29uXCJcbiAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9jaGV2cm9uLWRvd24tcHJpbWFyeS5zdmdcIlxuICAgICAgICAgICAgICAgICBhbHQ9XCJtb2RhbCBjbG9zZSBidXR0b25cIi8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIFJFQ0lQRSBUSVRMRSAtLT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190aXRsZSBtaWFtLWRzLXRleHQgc2l6ZS14bCB3ZWlnaHQteHhsXCI+XG4gICAgICAgIHt7IHJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgICA8IS0tIFJFQ0lQRSBBQ1RJT05TIChMSUtFIC8gQ0xPU0UgTU9EQUwpLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCI+XG4gICAgICAgICAgPCEtLSBMSUtFIEJVVFRPTiAtLT5cbiAgICAgICAgICA8bmctbWlhbS1saWtlLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19saWtlLWJ1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cInVzZXJTZXJ2aWNlLmlzTG9nZ2VkJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtyZWNpcGVdPSdyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUnIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlKClcIj5cbiAgICAgICAgICA8L25nLW1pYW0tbGlrZS1idXR0b24+XG4gICAgICAgICAgPCEtLSBDTE9TRSBNT0RBTCBCVVRUT04gKERFU0tUT1ApIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19oaWRlYWJsZS1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Nsb3NlLWJ1dHRvbiBtaWFtLWRzLWJ1dHRvbiBzcXVhcmUgZ2hvc3RcIj5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGFsdD1cIm1vZGFsIGNsb3NlIGJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jbG9zZS1pY29uXCJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0Nyb3NzX3ByaW1hcnkuc3ZnXCIvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIFNUT1JFIExPQ0FUT1IgTElOSyAtLT5cbiAgICAgIDxuZy1taWFtLXN0b3JlLWxvY2F0b3ItbGluayAqbmdJZj1cImNvbnRleHRTZXJ2aWNlLm5vU3VwcGxpZXJcIj48L25nLW1pYW0tc3RvcmUtbG9jYXRvci1saW5rPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gIFJFQ0lQRSBCQVNJQyBJTkZPUk1BVElPTlMgLS0+XG4gICAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5mb3NcbiAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NcIlxuICAgICAgW3JlY2lwZV09XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVcIj5cbiAgICA8L25nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5mb3M+XG4gICAgPCEtLSBUQUJTIFRPIFNXSVRDSCBCRVRXRUVOIEJBU0tFVCBBTkQgSU5TVFJVQ1RJT05TIC0tPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydoaWRkZW4nOiByZWNpcGVEZXRhaWxzU2VydmljZS5vbmx5U2hvd1ByZXBhcmF0aW9ufVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdGFic1wiPlxuICAgICAgPG5nLW1pYW0tc2xpZGVyLXRhYnNcbiAgICAgICAgaTE4bi10YWJzXG4gICAgICAgIHRhYnM9XCJKZSBmYWlzIG1lcyBjb3Vyc2VzLCBKZSBjdWlzaW5lXCJcbiAgICAgICAgWyhzZWxlY3RlZFRhYkluZGV4KV09XCJhY3RpdmVUYWJJbmRleFwiXG4gICAgICAgIChzZWxlY3RlZFRhYkluZGV4Q2hhbmdlKT1cImNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgIDwvbmctbWlhbS1zbGlkZXItdGFicz5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFRBQiBGT1IgUFJPRFVDVFMgUElDS0VSIC0tPlxuICAgIDxuZy1taWFtLXByb2R1Y3RzLXBpY2tlciAqbmdJZj1cImFjdGl2ZVRhYkluZGV4ID09PSAwXCIgKGNsb3NlTW9kYWwpPVwib25DbG9zZSgpXCI+PC9uZy1taWFtLXByb2R1Y3RzLXBpY2tlcj5cbiAgICA8IS0tIFRBQiBGT1IgSU5TVFJVQ1RJT05TIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJhY3RpdmVUYWJJbmRleCA9PT0gMVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcHJlcGFyYXRpb24tdGFiXCI+XG4gICAgICA8IS0tIFJFQ0lQRSBJTkdSRURJRU5UUyBUWVBFIEFORCBRVUFOVElUSUVTIC0tPlxuICAgICAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHMtaW5ncmVkaWVudHNcbiAgICAgICAgW2luZ3JlZGllbnRzXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50c1wiPlxuICAgICAgPC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZ3JlZGllbnRzPlxuICAgICAgPCEtLSBSRUNJUEUgSU5TVFJVQ1RJT05TIC0tPlxuICAgICAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHMtc3RlcHMgW3JlY2lwZV09XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVcIj48L25nLW1pYW0tcmVjaXBlLWRldGFpbHMtc3RlcHM+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBGT09URVIgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Zvb3RlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSBBREQgVE8gQkFTS0VUIENUQSAtLT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVtYWluaW5nQmFza2V0RW50cmllcy5sZW5ndGggPiAwICYmICEocmVjaXBlRGV0YWlsc1NlcnZpY2UuYWxsSW5ncmVkaWVudHNUb0Jhc2tldExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FkZC10by1iYXNrZXQtY3RhIG1pYW0tZHMtYnV0dG9uIHByaW1hcnlcIlxuICAgICAgICAgIChjbGljayk9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5hZGRBbGxJbmdyZWRpZW50c1RvQmFza2V0KGV2ZW50VHJhY2UoKSlcIj5cbiAgICAgICAgICA8aW1nIGFsdD1cImJhc2tldCBpY29uXCIgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9CYXNrZXQuc3ZnXCIvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hZGQtdG8tYmFza2V0LWN0YV9fdGV4dFwiPlxuICAgICAgICAgICAgPHNwYW4gaTE4bj5Bam91dGVyPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgcmVjaXBlRGV0YWlsc1NlcnZpY2UucmVtYWluaW5nQmFza2V0RW50cmllcy5sZW5ndGggfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBpMThuICpuZ0lmPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVtYWluaW5nQmFza2V0RW50cmllcy5sZW5ndGggPD0gMVwiPnByb2R1aXQ8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBpMThuICpuZ0lmPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVtYWluaW5nQmFza2V0RW50cmllcy5sZW5ndGggPiAxXCI+cHJvZHVpdHM8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWRkLXRvLWJhc2tldC1yZW1haW5pbmctcHJpY2VcIj4gKFxuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MuaGlkZGVuXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmluZ3JlZGllbnRUb0Jhc2tldExvYWRpbmckIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICB7eyByZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVQcmljZS5yZW1haW5pbmcgfCBjdXJyZW5jeTogc3VwcGxpZXJzU2VydmljZS5zdXBwbGllciQudmFsdWUuY3VycmVuY3kgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1kcy1sb2FkZXJcIlxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIShyZWNpcGVEZXRhaWxzU2VydmljZS5pbmdyZWRpZW50VG9CYXNrZXRMb2FkaW5nJCB8IGFzeW5jKVwiPjwvZGl2PlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlbWFpbmluZ0Jhc2tldEVudHJpZXMubGVuZ3RoID4gMCAmJiAocmVjaXBlRGV0YWlsc1NlcnZpY2UuYWxsSW5ncmVkaWVudHNUb0Jhc2tldExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FkZC10by1iYXNrZXQtY3RhIG1pYW0tZHMtYnV0dG9uIHByaW1hcnlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1kcy1sb2FkZXJcIj48L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwhLS0gQ09OVElOVUUgQ1RBIC0tPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZW1haW5pbmdCYXNrZXRFbnRyaWVzLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibWlhbS1kcy1idXR0b24gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FkZC10by1iYXNrZXQtY3RhX190ZXh0XCI+XG4gICAgICAgICAgICA8c3BhbiBpMThuPkNvbnRpbnVlciBtZXMgY291cnNlczwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gUFJJQ0UgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ByaWNlKClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3ByaWNlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wcmljZS1sYWJlbCBtaWFtLWRzLXRleHQgc2l6ZS1sIHdlaWdodC14eGxcIj5cbiAgICAgICAgICA8c3BhbiBbY2xhc3MuaGlkZGVuXT1cIlxuICAgICAgICAgIChyZWNpcGVEZXRhaWxzU2VydmljZS5pbmdyZWRpZW50VG9CYXNrZXRMb2FkaW5nJCB8IGFzeW5jKSB8fFxuICAgICAgICAgIChyZWNpcGVEZXRhaWxzU2VydmljZS51cGRhdGVJbmdyZWRpZW50RnJvbUJhc2tldExvYWRpbmckIHwgYXN5bmMpXCI+XG4gICAgICAgICAge3sgcmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlUHJpY2UuaW5CYXNrZXQgfCBjdXJyZW5jeTogc3VwcGxpZXJzU2VydmljZS5zdXBwbGllciQudmFsdWUuY3VycmVuY3kgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tZHMtbG9hZGVyIHByaW1hcnlcIiBbY2xhc3MuaGlkZGVuXT1cIlxuICAgICAgICAgICEoKHJlY2lwZURldGFpbHNTZXJ2aWNlLmluZ3JlZGllbnRUb0Jhc2tldExvYWRpbmckIHwgYXN5bmMpIHx8XG4gICAgICAgICAgKHJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUluZ3JlZGllbnRGcm9tQmFza2V0TG9hZGluZyQgfCBhc3luYykpXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3ByaWNlLWluLWJhc2tldC1sYWJlbCBtaWFtLWRzLXRleHQgc2l6ZS14c1wiPmRhbnMgbW9uIHBhbmllcjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSBBRERPTiAtLT5cbjxuZy1taWFtLXJlY2lwZS1hZGRvblxuICAqbmdJZj1cIiFzaG93RGV0YWlsXCIgW3JlY2lwZV09J3JlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZSdcbiAgKGhpZGVBZGRvbik9XCJ0b2dnbGVBZGRvbigpXCI+PC9uZy1taWFtLXJlY2lwZS1hZGRvbj5cbjwhLS0gUkVQTEFDRSBJVEVNIFBBR0UgLS0+XG48bmctbWlhbS1yZXBsYWNlLWl0ZW1cbiAgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5iYXNrZXRFbnRyeVRvUmVwbGFjZSQgfCBhc3luY1wiXG4gIFtyZWNpcGVdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlXCJcbiAgW2Jhc2tldEVudHJ5XT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmJhc2tldEVudHJ5VG9SZXBsYWNlJC52YWx1ZS5iYXNrZXRFbnRyeVwiXG4gIFtpbmdyZWRpZW50XT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmJhc2tldEVudHJ5VG9SZXBsYWNlJC52YWx1ZS5pbmdyZWRpZW50XCJcbiAgW2lnbm9yZVNlbGVjdGVkXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmJhc2tldEVudHJ5VG9SZXBsYWNlJC52YWx1ZS5pZ25vcmVTZWxlY3RlZFwiXG4gIFtsb2FkT25TZWxlY3RdPVwidHJ1ZVwiXG4gIChzZWxlY3RlZCk9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5iYXNrZXRFbnRyeVRvUmVwbGFjZSA9IG51bGw7XCJcbj5cbjwvbmctbWlhbS1yZXBsYWNlLWl0ZW0+XG4iXX0=
|
|
658
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1kZXRhaWxzL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNaLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQzlCNUMseUJBQWtIOzs7SUF1QnhHLDBDQUtzQjs7O0lBRnBCLDJEQUFzQzs7O0lBZ0I5QywwQkFJMkM7OztJQUR6QyxzSkFBNEQ7OztJQUU5RCxxQ0FNa0I7OztJQUpoQixv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O2lCQ21FckIsVUFBQSxnR0FBK0I7Ozs7OztpQkEwQnRCLFVBQUEsc0VBQU87Ozs7OztpQkFFeUQsVUFBQSx3RUFBTzs7Ozs7O2lCQUNSLFVBQUEseUVBQVE7Ozs7OztpQkFxQnZFLFVBQUEsc0ZBQXFCOztRQXZLNUMsdUVBa01NOztRQUVOLHlHQUVxRDtRQUVyRCx5R0FTdUI7OztRQWpOakIsOEdBQXlFO1FBcU01RSxlQUFpQjtRQUFqQixzQ0FBaUI7UUFJakIsZUFBd0Q7UUFBeEQsMkZBQXdEOzt1RkR2SjlDLHNCQUFzQjtjQVBsQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLGlDQUFpQztnQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Z0JBQzlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDswVkFFVSxRQUFRO2tCQUFoQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFDRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLFlBQVk7a0JBQXJCLE1BQU07WUFDdUIsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdmVudFRyYWNlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9ldmVudC10cmFjZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7XG4gIEFuYWx5dGljc1NlcnZpY2UsXG4gIEJhc2tldHNTZXJ2aWNlLFxuICBDb250ZXh0U2VydmljZSxcbiAgUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgUmVjaXBlRGV0YWlsc1NlcnZpY2UsXG4gIFJlY2lwZXNTZXJ2aWNlLFxuICBTcG9uc29yQmxvY2tTZXJ2aWNlLFxuICBTdXBwbGllcnNTZXJ2aWNlLFxuICBVc2VyU2VydmljZVxufSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgQ3VzdG9tUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL190eXBlcy9ldmVudC10cmFjZSc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5cbmNvbnN0IHJlY2lwZUluY2x1ZGVzID0gWydpbmdyZWRpZW50cycsICd0YWdzJywgJ3JlY2lwZS1zdGVwcycsICdzcG9uc29ycyddO1xuY29uc3QgcmVjaXBlU3BhcnNlRmllbGRzID0ge1xuICByZWNpcGVzOiBbJ3RpdGxlJywgJ2luZm9ybWF0aW9uYWwtc2VudGVuY2UnLCAnbWVkaWEtdXJsJywgJ3ZpZGVvLWlkJywgJ2ZpbGlncmFuZS1sb2dvLXVybCcsICdudW1iZXItb2YtZ3Vlc3RzJywgJ2Rlc2NyaXB0aW9uJyxcbiAgICAnaW5mb3JtYXRpb25hbC1wYWdlLWh0bWwnLCAnZGlmZmljdWx0eScsICdwcmVwYXJhdGlvbi10aW1lJywgJ2Nvb2tpbmctdGltZScsICdyZXN0aW5nLXRpbWUnLCAuLi5yZWNpcGVJbmNsdWRlc10sXG4gIGluZ3JlZGllbnRzOiBbJ25hbWUnLCAncXVhbnRpdHknLCAndW5pdCcsICdhY3RpdmUnLCAnZm9yY2VkLWVhbnMnLCAncGljdHVyZS11cmwnLCAncG9zaXRpb24nXSxcbiAgdGFnczogWyd0YWctdHlwZS1pZCcsICdpY29uLXVybCcsICduYW1lJ10sXG4gICdyZWNpcGUtc3RlcHMnOiBbJ2Rlc2NyaXB0aW9uJywgJ3N0ZXAtbnVtYmVyJ10sXG4gIHNwb25zb3JzOiBbJ2xvZ28tdXJsJywgJ25hbWUnXVxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZURldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBFdmVudFRyYWNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSByZWNpcGVJZDogc3RyaW5nO1xuICBASW5wdXQoKSBndWVzdE51bWJlcjogbnVtYmVyO1xuICBASW5wdXQoKSBwcmV2aWV3QWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIGluZ3JlZGllbnRzUGljdHVyZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgZm9yY2VEaXNwbGF5VGFnczogYm9vbGVhbjsgLy8gT3ZlcnJpZGUgZ2xvYmFsIHNldHRpbmcgaWYgbmVjZXNhcnlcbiAgQElucHV0KCkgZGlzcGxheVRhZ3NJY29ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNwbGF5UHJpY2luZyA9IHRydWU7XG4gIEBJbnB1dCgpIGRpc3BsYXlHdWVzdHMgPSB0cnVlO1xuICBASW5wdXQoKSBoZWxwQnV0dG9uQWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHN0ZXBzT25MZWZ0U2lkZSA9IGZhbHNlOyAvLyBJZiB0cnVlLCBkaXNwbGF5IHRoZSBkZXRhaWwgaW4gNCBxdWFydGVycyBpbnN0ZWFkIG9mIDIgaGFsdmVzXG4gIEBJbnB1dCgpIGNvb2tpbmdUaW1lQXNQcmltYXJ5SW5mbyA9IGZhbHNlOyAvLyBJZiB0cnVlLCBkaXNwbGF5IHRoZSBjb29raW5nIHRpbWUgbmV4dCB0byB0b3RhbCB0aW1lXG4gIEBJbnB1dCgpIG1vcmVSZWNpcGVzSW1hZ2VVUkw6IHN0cmluZztcbiAgQElucHV0KCkgcHJpY2luZ0d1ZXN0c1RleHQgPSAncGFyLXBlcnNvbm5lJztcbiAgQE91dHB1dCgpIHJlY2lwZUFkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSByZWNpcGVFcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2xvc2VEZXRhaWxzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBWaWV3Q2hpbGQoJ3RvcENvbnRhaW5lckltZycpIHRvcENvbnRhaW5lckltZzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIHJlbW92ZWRJbmdyZWRpZW50czogSW5ncmVkaWVudFtdID0gW107XG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIGRpc3BsYXlUYWdzID0gZmFsc2U7XG4gIHNob3dEZXRhaWwgPSB0cnVlO1xuICBpY29uID0gSWNvbjtcbiAgcGxheWVyV2lkdGg7XG4gIHBsYXllckhlaWdodDtcbiAgcHJpbWFyeUJ1dHRvbkNsaWNrZWQkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBzaG93VmlkZW87XG4gIGFkZEJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgdGl0bGVJbkhlYWRlciA9IGZhbHNlO1xuICBzcG9uc29ySGFzU3Rvcnl0ZWxsaW5nID0gZmFsc2U7XG4gIHRpdGxlOiBIVE1MRWxlbWVudDtcbiAgY29udGVudDogSFRNTEVsZW1lbnQ7XG4gIGFjdGl2ZVRhYkluZGV4ID0gMDtcbiAgcGxheWVyVmFyczogWVQuUGxheWVyVmFycyA9IHtcbiAgICBjb250cm9sczogMSxcbiAgICBtb2Rlc3RicmFuZGluZzogMSxcbiAgICByZWw6IDAsXG4gICAgc2hvd2luZm86IDBcbiAgfTtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuICBwcml2YXRlIGludGVyc2VjdGlvbk9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwdWJsaWMgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVEZXRhaWxzU2VydmljZTogUmVjaXBlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzcG9uc29yQmxvY2tzU2VydmljZTogU3BvbnNvckJsb2NrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZVxuICApIHtcbiAgICBzdXBlcihhbmFseXRpY3NTZXJ2aWNlKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLm9ubHlTaG93UHJlcGFyYXRpb24pIHtcbiAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSAxO1xuICAgIH1cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuaXNTbWFsbFNjcmVlbiQuc3Vic2NyaWJlKGlzU21hbGwgPT4ge1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gaXNTbWFsbDtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICBtZXJnZShcbiAgICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVMb2FkaW5nJCxcbiAgICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5iYXNrZXRFbnRyeVRvUmVwbGFjZSQsXG4gICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlRm9vdGVyRGlzcGxheSQsXG4gICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNCeUNhdGVnb3J5JCkuc3Vic2NyaWJlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5yZWNpcGVJZCAmJiB0aGlzLnJlY2lwZUlkPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZldGNoUmVjaXBlKHRoaXMucmVjaXBlSWQpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JjZURpc3BsYXlUYWdzICE9PSB1bmRlZmluZWQgJiYgdGhpcy5mb3JjZURpc3BsYXlUYWdzICE9PSB0aGlzLmRpc3BsYXlUYWdzKSB7XG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5mb3JjZURpc3BsYXlUYWdzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXlUYWdzID0gdGhpcy5jb250ZXh0U2VydmljZS50YWdzT25SZWNpcGVzRW5hYmxlZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RlcHNPbkxlZnRTaWRlKSB7XG4gICAgICB0aGlzLmNvb2tpbmdUaW1lQXNQcmltYXJ5SW5mbyA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuYWxsSW5ncmVkaWVudHNUb0Jhc2tldExvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZGlzcGxheUV2ZW50V2FzU2VudCA9IGZhbHNlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBnZXRQcm9kdWN0cyhmcm9tSW5pdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKGZyb21Jbml0KSB7XG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzTG9hZGluZyA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZ2V0SW5ncmVkaWVudHNCYXNrZXRFbnRyaWVzKGZyb21Jbml0KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KSk7XG4gIH1cblxuICBmZXRjaFJlY2lwZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0KGlkLCB7XG4gICAgICAgIGluY2x1ZGU6IHJlY2lwZUluY2x1ZGVzLFxuICAgICAgICBmaWVsZHM6IHJlY2lwZVNwYXJzZUZpZWxkc1xuICAgICAgfSkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiByZXN1bHQuaXNfbG9hZGluZyksXG4gICAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlID0gcmVzdWx0O1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gK3RoaXMuZ3Vlc3ROdW1iZXIgfHwgK3Jlc3VsdC5ndWVzdHM7XG4gICAgICAgICAgdGhpcy5nZXRQcm9kdWN0cyh0cnVlKTtcbiAgICAgICAgICB0aGlzLnNlbmREaXNwbGF5UmVjaXBlRXZlbnQoKTtcbiAgICAgICAgICB0aGlzLnNldHVwWW91dHViZVBsYXllcigpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0U2Nyb2xsTGlzdGVuZXJPblRpdGxlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmlzU3BvbnNvcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zcG9uc29yQmxvY2tzU2VydmljZS5hbGwoe1xuICAgICAgICAgICAgICByZW1vdGVmaWx0ZXI6IHsgJ3Nwb25zb3ItaWQnOiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5zcG9uc29yc1swXS5pZCB9LFxuICAgICAgICAgICAgICBwYWdlOiB7IG51bWJlcjogMSwgc2l6ZTogMSB9XG4gICAgICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgICAgICAgICAgdGFwKHJlc3VsdCA9PiB0aGlzLnNwb25zb3JIYXNTdG9yeXRlbGxpbmcgPSAhIXJlc3VsdC5kYXRhLmxlbmd0aClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSlcbiAgICApO1xuICB9XG5cbiAgc2V0dXBZb3V0dWJlUGxheWVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1ZpZGVvID0gZmFsc2U7IC8vIGZvcmNlIHJlbG9hZCB2aWRlbyBwbGF5ZXJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zaG93VmlkZW8gPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnZpZGVvUmVjaXBlc0VuYWJsZWQgJiYgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGU/LnZpZGVvSWQ7XG4gICAgaWYgKHRoaXMuc2hvd1ZpZGVvKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHdpbmRvdy5ZVD8uUGxheWVyKSB7XG4gICAgICAgICAgdGhpcy5wbGF5ZXJXaWR0aCA9IHRoaXMudG9wQ29udGFpbmVySW1nPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aDtcbiAgICAgICAgICB0aGlzLnBsYXllckhlaWdodCA9IE1hdGgubWluKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuNDgsIHRoaXMucGxheWVyV2lkdGggKiAzOTAgLyA2NDApO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldHVwWW91dHViZVBsYXllcigpO1xuICAgICAgICB9XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXQgdGhlIGxpc3RlbmVyIG9uIHNjcm9sbCBzbyB0aGUgbW9kYWwgY2FuIGhpZGUgdGhlIGNsb3NlIGljb25cbiAgICovXG4gIGluaXRTY3JvbGxMaXN0ZW5lck9uVGl0bGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRpdGxlKSB7XG4gICAgICB0aGlzLnRpdGxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21pYW0tcmVjaXBlLWRldGFpbHNfX3RpdGxlJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5jb250ZW50KSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWlhbS1yZWNpcGUtZGV0YWlsc19fY29udGVudCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc01vYmlsZSAmJiAhdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlciAmJiB0aGlzLmNvbnRlbnQgJiYgdGhpcy50aXRsZSkge1xuICAgICAgLy8gRm9yIG1vcmUgcHJlY2lzaW9uIG9uIHRpdGxlIHNjcm9sbCBkZXRlY3Rpb24sIHdlIHdhbnQgdG8gdHJpZ2dlciBhbiBldmVudCBlYWNoIHRpbWUgdGhlIHVzZXIgc2Nyb2xscyA1JSBvZiB0aGUgY29udGVudFxuICAgICAgY29uc3QgdGhyZXNob2xkID0gWy4uLkFycmF5KDIwKS5rZXlzKCldLm1hcCh4ID0+IHggLyAyMCk7XG4gICAgICAvLyBSZWNlaXZlIGFuIGV2ZW50IGVhY2ggdGltZSB0aGUgdGl0bGUgZW50ZXJzL2xlYXZlcyB0aGUgdmlld3BvcnRcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpdGxlSW5IZWFkZXIoKTtcbiAgICAgIH0sIHsgdGhyZXNob2xkIH0pO1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlVGl0bGVJbkhlYWRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlSW5IZWFkZXIgPSB0aGlzLnRpdGxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSA0MDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB1cGRhdGVHdWVzdHMoZ3Vlc3RzOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cztcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUd1ZXN0cyh0aGlzLmV2ZW50VHJhY2UoKSk7XG4gICAgdGhpcy5nZXRQcm9kdWN0cyhmYWxzZSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlQWRkb24oKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RGV0YWlsID0gIXRoaXMuc2hvd0RldGFpbDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVIZWxwZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWNpcGVzU2VydmljZS50b2dnbGVIZWxwZXIoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVCdXR0b25Mb2FkZXIodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmFkZEJ1dHRvbkxvYWRpbmcgPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZGlzcGxheUV2ZW50V2FzU2VudCA9IGZhbHNlO1xuICAgIGNvbnN0IG9yaWdpblBhdGggPSB0aGlzLmV2ZW50VHJhY2UoKS5vcmlnaW5QYXRoO1xuICAgIHRoaXMuY2xvc2VEZXRhaWxzLmVtaXQoKTtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGUoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IDA7XG4gICAgaWYgKG9yaWdpblBhdGggPT09ICcvbWlhbS9yZWNpcGVzL2Jhc2tldC1wcmV2aWV3L2RldGFpbCcgfHwgb3JpZ2luUGF0aCA9PT0gJy9kZXRhaWwvYmFza2V0LXByZXZpZXcvZGV0YWlsJykge1xuICAgICAgdGhpcy5yZWNpcGVzU2VydmljZS5vcGVuQmFza2V0KHRoaXMuZXZlbnRUcmFjZSgpKTtcbiAgICB9XG4gIH1cblxuICBwcmludCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRFdmVudCh0aGlzLmFuYWx5dGljc1NlcnZpY2UuRVZFTlRfUkVDSVBFX1BSSU5UKTtcbiAgICB3aW5kb3cucHJpbnQoKTtcbiAgfVxuXG4gIHNlbmREaXNwbGF5UmVjaXBlRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmRpc3BsYXlFdmVudFdhc1NlbnQpIHtcbiAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuZGlzcGxheUV2ZW50V2FzU2VudCA9IHRydWU7XG4gICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50V2hlblJlYWR5KHRoaXMuYW5hbHl0aWNzU2VydmljZS5FVkVOVF9SRUNJUEVfRElTUExBWSwgdGhpcy5vcmlnaW5UcmFjZS5vcmlnaW5QYXRoLCB0aGlzLnByb3BzKCkpO1xuICAgICAgdGhpcy5wYWdldmlldygpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dQcmljZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlICYmIHRoaXMuZGlzcGxheVByaWNpbmcgJiYgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5oYXNBZGRlZEFQcm9kdWN0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjdXJyZW50UHJvcHMoKTogQ3VzdG9tUHJvcGVydGllcyB7XG4gICAgcmV0dXJuIHsgcmVjaXBlX2lkOiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5pZCB9O1xuICB9XG5cbiAgY3VycmVudFBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2RldGFpbCc7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93RGV0YWlsICYmICEocmVjaXBlRGV0YWlsc1NlcnZpY2UuYmFza2V0RW50cnlUb1JlcGxhY2UkIHwgYXN5bmMpXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzXCI+XG4gIDxkaXYgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVMb2FkaW5nJCB8IGFzeW5jXCIgY2xhc3M9XCJtaWFtLWRzLWxvYWRlciBtaWFtLXJlY2lwZS1kZXRhaWxzX19sb2FkZXJcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2NvbnRhaW5lclwiICpuZ0lmPVwiIShyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVMb2FkaW5nJCB8IGFzeW5jKVwiPlxuICAgIDwhLS0gQkFOTkVSIENPTlRBSU5FUiAtLT5cbiAgICA8ZGl2ICN0b3BDb250YWluZXJJbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlXCI+XG4gICAgICA8IS0tIEhFQURFUiBCVVRUT05TIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Jhbm5lcl9idXR0b25zXCI+XG4gICAgICAgIDwhLS0gVE9QIEJVVFRPTlMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190b3AtYnV0dG9uLXdyYXBwZXJcIj5cbiAgICAgICAgICA8IS0tIERFU0tUT1AgQ0xPU0UgQlVUVE9OIC0tPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jbG9zZS1idXR0b24gbWlhbS1kcy1idXR0b24gc3F1YXJlIHByaW1hcnkgcmV2ZXJzZVwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jbG9zZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9Dcm9zc19wcmltYXJ5LnN2Z1wiXG4gICAgICAgICAgICAgICAgIGFsdD1cIm1vZGFsIGNsb3NlIGJ1dHRvblwiLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8IS0tIE1PQklMRSBIRUFERVIgQlVUVE9OUyAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbW9iaWxlLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgICAgICA8IS0tIEJBQ0sgQlVUVE9OIE9OIFRIRSBMRUZUIC0tPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JhY2stYnV0dG9uIG1pYW0tZHMtYnV0dG9uIHNxdWFyZSBwcmltYXJ5IHJldmVyc2VcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19iYWNrLWljb25cIlxuICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvY2hldnJvbi1kb3duLXByaW1hcnkuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJtb2RhbCBiYWNrIGJ1dHRvblwiPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8IS0tIExJS0UgQlVUVE9OIE9OIFRIRSBSSUdIVCAtLT5cbiAgICAgICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2xpa2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3JlY2lwZV09XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBHVUVTVCBDT1VOVEVSIC0tPlxuICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0XG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ndWVzdC1jb3VudGVyXCJcbiAgICAgICAgICBbZmxvYXRpbmddPVwidHJ1ZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiXG4gICAgICAgICAgW21pblJhbmdlXT1cIjFcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gUElDVFVSRSAvIFZJREVPIC0tPlxuICAgICAgPGltZ1xuICAgICAgICBhbHQ9XCJyZWNpcGUgcGljdHVyZVwiXG4gICAgICAgICpuZ0lmPVwiIXNob3dWaWRlb1wiXG4gICAgICAgIFtzcmNdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlPy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXVwiXG4gICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZS1pbWdcIj5cbiAgICAgIDx5b3V0dWJlLXBsYXllclxuICAgICAgICAqbmdJZj1cInNob3dWaWRlbyAmJiBwbGF5ZXJXaWR0aFwiXG4gICAgICAgIFt2aWRlb0lkXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS52aWRlb0lkXCJcbiAgICAgICAgW3dpZHRoXT1cInBsYXllcldpZHRoXCJcbiAgICAgICAgW2hlaWdodF09XCJwbGF5ZXJIZWlnaHRcIlxuICAgICAgICBbcGxheWVyVmFyc109XCJwbGF5ZXJWYXJzXCJcbiAgICAgID48L3lvdXR1YmUtcGxheWVyPlxuICAgICAgPCEtLSBGaWxpZ3JhbmUgbG9nbyAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fZmlsaWdyYW5lXCI+XG4gICAgICAgIDxpbWcgYWx0PVwiZmlsaWdyYW5lIGxvZ29cIiBbc3JjXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsXCI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFNQT05TT1IgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3Nwb25zb3JcIj5cbiAgICAgIDxuZy1taWFtLWFkZG9uLWxpbmtcbiAgICAgICAgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5pc1Nwb25zb3JlZCB8fCByZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUuaW5mb3JtYXRpb25hbFNlbnRlbmNlXCJcbiAgICAgICAgW2hhc1N0b3J5dGVsbGluZ109XCJzcG9uc29ySGFzU3Rvcnl0ZWxsaW5nXCJcbiAgICAgICAgW3JlY2lwZV09J3JlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZScgKHNob3dBZGRvbik9J3RvZ2dsZUFkZG9uKCknPjwvbmctbWlhbS1hZGRvbi1saW5rPlxuICAgICAgPGhyIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3BvbnNvci1zZXBhcmF0b3JcIj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFNUSUNLWSBIRUFERVIgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0aWNreS1oZWFkZXJcIj5cbiAgICAgIDwhLS0gUkVDSVBFIFRJVExFIENPTlRBSU5FUiAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190aXRsZS1jb250YWluZXJcIlxuICAgICAgICBuZ01pYW1SZWFjaFRvcD5cbiAgICAgICAgPCEtLSBCQUNLIEJVVFRPTiAoTU9CSUxFKSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JhY2stYnV0dG9uLW1vYmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYmFjay1idXR0b24gbWlhbS1kcy1idXR0b24gc21hbGwgc3F1YXJlIGdob3N0XCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JhY2staWNvblwiXG4gICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvY2hldnJvbi1kb3duLXByaW1hcnkuc3ZnXCJcbiAgICAgICAgICAgICAgICAgYWx0PVwibW9kYWwgY2xvc2UgYnV0dG9uXCIvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBSRUNJUEUgVElUTEUgLS0+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdGl0bGUgbWlhbS1kcy10ZXh0IHNpemUteGwgd2VpZ2h0LXh4bFwiPlxuICAgICAgICB7eyByZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGU/LmF0dHJpYnV0ZXNbJ3RpdGxlJ10gfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgICAgPCEtLSBSRUNJUEUgQUNUSU9OUyAoTElLRSAvIENMT1NFIE1PREFMKS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uc19faWNvblwiPlxuICAgICAgICAgIDwhLS0gTElLRSBCVVRUT04gLS0+XG4gICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbGlrZS1idXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICBbcmVjaXBlXT0ncmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlJyBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDwhLS0gQ0xPU0UgTU9EQUwgQlVUVE9OIChERVNLVE9QKSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faGlkZWFibGUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25DbG9zZSgpXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19jbG9zZS1idXR0b24gbWlhbS1kcy1idXR0b24gc3F1YXJlIGdob3N0XCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJtb2RhbCBjbG9zZSBidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fY2xvc2UtaWNvblwiXG4gICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9Dcm9zc19wcmltYXJ5LnN2Z1wiLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBTVE9SRSBMT0NBVE9SIExJTksgLS0+XG4gICAgICA8bmctbWlhbS1zdG9yZS1sb2NhdG9yLWxpbmsgKm5nSWY9XCJjb250ZXh0U2VydmljZS5ub1N1cHBsaWVyXCI+PC9uZy1taWFtLXN0b3JlLWxvY2F0b3ItbGluaz5cbiAgICA8L2Rpdj5cbiAgICA8IS0tICBSRUNJUEUgQkFTSUMgSU5GT1JNQVRJT05TIC0tPlxuICAgIDxuZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZm9zXG4gICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zXCJcbiAgICAgIFtyZWNpcGVdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlXCI+XG4gICAgPC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZm9zPlxuICAgIDwhLS0gVEFCUyBUTyBTV0lUQ0ggQkVUV0VFTiBCQVNLRVQgQU5EIElOU1RSVUNUSU9OUyAtLT5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogcmVjaXBlRGV0YWlsc1NlcnZpY2Uub25seVNob3dQcmVwYXJhdGlvbn1cIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RhYnNcIj5cbiAgICAgIDxuZy1taWFtLXNsaWRlci10YWJzXG4gICAgICAgIGkxOG4tdGFic1xuICAgICAgICB0YWJzPVwiSmUgZmFpcyBtZXMgY291cnNlcywgSmUgY3Vpc2luZVwiXG4gICAgICAgIFsoc2VsZWN0ZWRUYWJJbmRleCldPVwiYWN0aXZlVGFiSW5kZXhcIlxuICAgICAgICAoc2VsZWN0ZWRUYWJJbmRleENoYW5nZSk9XCJjZHIuZGV0ZWN0Q2hhbmdlcygpXCI+XG4gICAgICA8L25nLW1pYW0tc2xpZGVyLXRhYnM+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBUQUIgRk9SIFBST0RVQ1RTIFBJQ0tFUiAtLT5cbiAgICA8bmctbWlhbS1wcm9kdWN0cy1waWNrZXIgKm5nSWY9XCJhY3RpdmVUYWJJbmRleCA9PT0gMFwiIChjbG9zZU1vZGFsKT1cIm9uQ2xvc2UoKVwiPjwvbmctbWlhbS1wcm9kdWN0cy1waWNrZXI+XG4gICAgPCEtLSBUQUIgRk9SIElOU1RSVUNUSU9OUyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiYWN0aXZlVGFiSW5kZXggPT09IDFcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3ByZXBhcmF0aW9uLXRhYlwiPlxuICAgICAgPCEtLSBSRUNJUEUgSU5HUkVESUVOVFMgVFlQRSBBTkQgUVVBTlRJVElFUyAtLT5cbiAgICAgIDxuZy1taWFtLXJlY2lwZS1kZXRhaWxzLWluZ3JlZGllbnRzXG4gICAgICAgIFtpbmdyZWRpZW50c109XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHNcIj5cbiAgICAgIDwvbmctbWlhbS1yZWNpcGUtZGV0YWlscy1pbmdyZWRpZW50cz5cbiAgICAgIDwhLS0gUkVDSVBFIElOU1RSVUNUSU9OUyAtLT5cbiAgICAgIDxuZy1taWFtLXJlY2lwZS1kZXRhaWxzLXN0ZXBzIFtyZWNpcGVdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlXCI+PC9uZy1taWFtLXJlY2lwZS1kZXRhaWxzLXN0ZXBzPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gRk9PVEVSIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19mb290ZXJcIiBbY2xhc3MuY2VudGVyXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLm9ubHlTaG93UHJlcGFyYXRpb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVjaXBlRGV0YWlsc1NlcnZpY2Uub25seVNob3dQcmVwYXJhdGlvblwiPlxuICAgICAgICA8IS0tIEFERCBUTyBCQVNLRVQgQ1RBIC0tPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZW1haW5pbmdCYXNrZXRFbnRyaWVzLmxlbmd0aCA+IDAgJiYgIShyZWNpcGVEZXRhaWxzU2VydmljZS5hbGxJbmdyZWRpZW50c1RvQmFza2V0TG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWRkLXRvLWJhc2tldC1jdGEgbWlhbS1kcy1idXR0b24gcHJpbWFyeVwiXG4gICAgICAgICAgKGNsaWNrKT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmFkZEFsbEluZ3JlZGllbnRzVG9CYXNrZXQoZXZlbnRUcmFjZSgpKVwiPlxuICAgICAgICAgIDxpbWcgYWx0PVwiYmFza2V0IGljb25cIiBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0Jhc2tldC5zdmdcIi8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FkZC10by1iYXNrZXQtY3RhX190ZXh0XCI+XG4gICAgICAgICAgICA8c3BhbiBpMThuPkFqb3V0ZXI8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyByZWNpcGVEZXRhaWxzU2VydmljZS5yZW1haW5pbmdCYXNrZXRFbnRyaWVzLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGkxOG4gKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZW1haW5pbmdCYXNrZXRFbnRyaWVzLmxlbmd0aCA8PSAxXCI+cHJvZHVpdDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGkxOG4gKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZW1haW5pbmdCYXNrZXRFbnRyaWVzLmxlbmd0aCA+IDFcIj5wcm9kdWl0czwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hZGQtdG8tYmFza2V0LXJlbWFpbmluZy1wcmljZVwiPiAoXG4gICAgICAgICAgICAgIDxzcGFuIFtjbGFzcy5oaWRkZW5dPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UuaW5ncmVkaWVudFRvQmFza2V0TG9hZGluZyQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgIHt7IHJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZVByaWNlLnJlbWFpbmluZyB8IGN1cnJlbmN5OiBzdXBwbGllcnNTZXJ2aWNlLnN1cHBsaWVyJC52YWx1ZS5jdXJyZW5jeSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLWxvYWRlclwiXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZGRlbl09XCIhKHJlY2lwZURldGFpbHNTZXJ2aWNlLmluZ3JlZGllbnRUb0Jhc2tldExvYWRpbmckIHwgYXN5bmMpXCI+PC9kaXY+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVtYWluaW5nQmFza2V0RW50cmllcy5sZW5ndGggPiAwICYmIChyZWNpcGVEZXRhaWxzU2VydmljZS5hbGxJbmdyZWRpZW50c1RvQmFza2V0TG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWRkLXRvLWJhc2tldC1jdGEgbWlhbS1kcy1idXR0b24gcHJpbWFyeVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLWxvYWRlclwiPjwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPCEtLSBDT05USU5VRSBDVEEgLS0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlbWFpbmluZ0Jhc2tldEVudHJpZXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBzZWNvbmRhcnlcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWRkLXRvLWJhc2tldC1jdGFfX3RleHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGkxOG4+Q29udGludWVyIG1lcyBjb3Vyc2VzPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLm9ubHlTaG93UHJlcGFyYXRpb25cIj5cbiAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmdcbiAgICAgICAgICBbcmVjaXBlSWRdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlLmlkXCJcbiAgICAgICAgICBbc2VydmVzXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiXG4gICAgICAgICAgW2ZldGNoUHJpY2luZ09uU2Nyb2xsXT1cImZhbHNlXCI+XG4gICAgICAgIDwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSBQUklDRSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93UHJpY2UoKVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcHJpY2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3ByaWNlLWxhYmVsIG1pYW0tZHMtdGV4dCBzaXplLWwgd2VpZ2h0LXh4bFwiPlxuICAgICAgICAgIDxzcGFuIFtjbGFzcy5oaWRkZW5dPVwiXG4gICAgICAgICAgKHJlY2lwZURldGFpbHNTZXJ2aWNlLmluZ3JlZGllbnRUb0Jhc2tldExvYWRpbmckIHwgYXN5bmMpIHx8XG4gICAgICAgICAgKHJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUluZ3JlZGllbnRGcm9tQmFza2V0TG9hZGluZyQgfCBhc3luYylcIj5cbiAgICAgICAgICB7eyByZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVQcmljZS5pbkJhc2tldCB8IGN1cnJlbmN5OiBzdXBwbGllcnNTZXJ2aWNlLnN1cHBsaWVyJC52YWx1ZS5jdXJyZW5jeSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1kcy1sb2FkZXIgcHJpbWFyeVwiIFtjbGFzcy5oaWRkZW5dPVwiXG4gICAgICAgICAgISgocmVjaXBlRGV0YWlsc1NlcnZpY2UuaW5ncmVkaWVudFRvQmFza2V0TG9hZGluZyQgfCBhc3luYykgfHxcbiAgICAgICAgICAocmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlSW5ncmVkaWVudEZyb21CYXNrZXRMb2FkaW5nJCB8IGFzeW5jKSlcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcHJpY2UtaW4tYmFza2V0LWxhYmVsIG1pYW0tZHMtdGV4dCBzaXplLXhzXCI+ZGFucyBtb24gcGFuaWVyPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIEFERE9OIC0tPlxuPG5nLW1pYW0tcmVjaXBlLWFkZG9uXG4gICpuZ0lmPVwiIXNob3dEZXRhaWxcIiBbcmVjaXBlXT0ncmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlJ1xuICAoaGlkZUFkZG9uKT1cInRvZ2dsZUFkZG9uKClcIj48L25nLW1pYW0tcmVjaXBlLWFkZG9uPlxuPCEtLSBSRVBMQUNFIElURU0gUEFHRSAtLT5cbjxuZy1taWFtLXJlcGxhY2UtaXRlbVxuICAqbmdJZj1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmJhc2tldEVudHJ5VG9SZXBsYWNlJCB8IGFzeW5jXCJcbiAgW3JlY2lwZV09XCJyZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGVcIlxuICBbYmFza2V0RW50cnldPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UuYmFza2V0RW50cnlUb1JlcGxhY2UkLnZhbHVlLmJhc2tldEVudHJ5XCJcbiAgW2luZ3JlZGllbnRdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UuYmFza2V0RW50cnlUb1JlcGxhY2UkLnZhbHVlLmluZ3JlZGllbnRcIlxuICBbaWdub3JlU2VsZWN0ZWRdPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UuYmFza2V0RW50cnlUb1JlcGxhY2UkLnZhbHVlLmlnbm9yZVNlbGVjdGVkXCJcbiAgW2xvYWRPblNlbGVjdF09XCJ0cnVlXCJcbiAgKHNlbGVjdGVkKT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLmJhc2tldEVudHJ5VG9SZXBsYWNlID0gbnVsbDtcIlxuPlxuPC9uZy1taWFtLXJlcGxhY2UtaXRlbT5cbiJdfQ==
|