ng-miam 3.3.2 → 3.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/bundles/ng-miam.umd.js +1844 -1111
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +2 -2
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +1 -1
  6. package/esm2015/lib/_components/icon/icon.component.js +23 -6
  7. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +94 -40
  8. package/esm2015/lib/_components/text-input/text-input.component.js +6 -4
  9. package/esm2015/lib/_models/article.js +43 -0
  10. package/esm2015/lib/_models/basket.js +2 -2
  11. package/esm2015/lib/_models/index.js +4 -1
  12. package/esm2015/lib/_models/ingredient.js +11 -7
  13. package/esm2015/lib/_models/package.js +14 -3
  14. package/esm2015/lib/_models/recipe.js +6 -2
  15. package/esm2015/lib/_models/user.js +10 -1
  16. package/esm2015/lib/_services/analytics.service.js +3 -3
  17. package/esm2015/lib/_services/articles.service.js +21 -0
  18. package/esm2015/lib/_services/baskets.service.js +2 -2
  19. package/esm2015/lib/_services/context.service.js +19 -1
  20. package/esm2015/lib/_services/groceries-lists.service.js +2 -2
  21. package/esm2015/lib/_services/index.js +3 -1
  22. package/esm2015/lib/_services/ingredients.service.js +2 -2
  23. package/esm2015/lib/_services/interceptor.service.js +2 -3
  24. package/esm2015/lib/_services/package.service.js +32 -9
  25. package/esm2015/lib/_services/recipe-events.service.js +2 -2
  26. package/esm2015/lib/_services/recipe-likes.service.js +6 -2
  27. package/esm2015/lib/_services/recipe-share.service.js +2 -2
  28. package/esm2015/lib/_services/recipes.service.js +2 -2
  29. package/esm2015/lib/_services/suppliers.service.js +2 -2
  30. package/esm2015/lib/_services/toastr.service.js +52 -0
  31. package/esm2015/lib/_services/user.service.js +64 -21
  32. package/esm2015/lib/_types/icon.enum.js +2 -1
  33. package/esm2015/lib/_web-components/catalog-article-card/catalog-article-card.component.js +71 -0
  34. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +134 -92
  35. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +51 -34
  36. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +106 -61
  37. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +65 -52
  38. package/esm2015/lib/_web-components/favorite-page/favorite-page.component.js +8 -6
  39. package/esm2015/lib/_web-components/index.js +2 -1
  40. package/esm2015/lib/_web-components/personal-recipes/personal-recipes.component.js +7 -5
  41. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +73 -58
  42. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +152 -92
  43. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +355 -278
  44. package/esm2015/lib/_web-components/suggestion-card/suggestion-card.component.js +3 -6
  45. package/esm2015/lib/_web-components/web-components.module.js +17 -9
  46. package/esm2015/lib/environments/environment.js +6 -0
  47. package/esm2015/lib/ng-miam.module.js +4 -4
  48. package/fesm2015/ng-miam.js +1755 -1140
  49. package/fesm2015/ng-miam.js.map +1 -1
  50. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +1 -1
  51. package/lib/_components/recipe-filters/recipe-filters.component.d.ts +14 -4
  52. package/lib/_components/text-input/text-input.component.d.ts +2 -1
  53. package/lib/_models/article.d.ts +23 -0
  54. package/lib/_models/basket.d.ts +1 -2
  55. package/lib/_models/index.d.ts +3 -0
  56. package/lib/_models/ingredient.d.ts +2 -0
  57. package/lib/_models/package.d.ts +10 -3
  58. package/lib/_models/recipe.d.ts +2 -0
  59. package/lib/_models/user.d.ts +16 -1
  60. package/lib/_services/articles.service.d.ts +10 -0
  61. package/lib/_services/context.service.d.ts +14 -6
  62. package/lib/_services/index.d.ts +2 -0
  63. package/lib/_services/package.service.d.ts +6 -1
  64. package/lib/_services/toastr.service.d.ts +10 -0
  65. package/lib/_services/user.service.d.ts +12 -6
  66. package/lib/_types/icon.enum.d.ts +2 -1
  67. package/lib/_web-components/catalog-article-card/catalog-article-card.component.d.ts +8 -0
  68. package/lib/_web-components/catalog-category/catalog-category.component.d.ts +12 -7
  69. package/lib/_web-components/catalog-header/catalog-header.component.d.ts +5 -2
  70. package/lib/_web-components/catalog-list/catalog-list.component.d.ts +13 -6
  71. package/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.d.ts +1 -0
  72. package/lib/_web-components/favorite-page/favorite-page.component.d.ts +0 -1
  73. package/lib/_web-components/index.d.ts +1 -0
  74. package/lib/_web-components/personal-recipes/personal-recipes.component.d.ts +0 -1
  75. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -0
  76. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +13 -4
  77. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +19 -6
  78. package/lib/_web-components/suggestion-card/suggestion-card.component.d.ts +0 -1
  79. package/lib/_web-components/web-components.module.d.ts +13 -11
  80. package/lib/environments/environment.d.ts +5 -0
  81. package/miam-style.css +1 -1
  82. package/package.json +1 -1
  83. package/esm2015/lib/environment.js +0 -18
  84. package/lib/environment.d.ts +0 -5
@@ -1,4 +1,4 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ChangeDetectorRef, Output, EventEmitter, HostListener } from '@angular/core';
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ChangeDetectorRef, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
2
2
  import { Recipe } from '../../_models/recipe';
3
3
  import { Icon } from '../../_types/icon.enum';
4
4
  import { ContextService, GroceriesListsService, PointOfSalesService, RecipeEventsService, UserService } from '../../_services';
@@ -12,479 +12,514 @@ import * as i2 from "../../_services";
12
12
  import * as i3 from "@angular/common";
13
13
  import * as i4 from "../../_components/icon/icon.component";
14
14
  import * as i5 from "../../_components/recipe-pricing/recipe-pricing.component";
15
- import * as i6 from "../../_components/like-button/like-button.component";
16
- import * as i7 from "../../_components/addon-link/addon-link.component";
17
- import * as i8 from "../../_components/counter-input/counter-input.component";
18
- import * as i9 from "../recipe-addon/recipe-addon.component";
19
- import * as i10 from "../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
20
- import * as i11 from "../../_utils/pipes/readable-float-number/readable-float-number.pipe";
21
- function RecipeDetailsComponent_div_0_div_6_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "div", 37);
15
+ import * as i6 from "@angular/youtube-player";
16
+ import * as i7 from "../../_components/like-button/like-button.component";
17
+ import * as i8 from "../../_components/addon-link/addon-link.component";
18
+ import * as i9 from "../../_components/counter-input/counter-input.component";
19
+ import * as i10 from "../recipe-addon/recipe-addon.component";
20
+ import * as i11 from "../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
21
+ import * as i12 from "../../_utils/pipes/readable-float-number/readable-float-number.pipe";
22
+ const _c0 = ["topContainerImg"];
23
+ const _c1 = ["mainContainer"];
24
+ function RecipeDetailsComponent_div_0_img_6_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelement(0, "img", 40);
26
+ } if (rf & 2) {
27
+ const ctx_r5 = i0.ɵɵnextContext(2);
28
+ i0.ɵɵproperty("src", ctx_r5.recipe == null ? null : ctx_r5.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
29
+ } }
30
+ function RecipeDetailsComponent_div_0_div_7_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelement(0, "div", 41);
32
+ } }
33
+ function RecipeDetailsComponent_div_0_youtube_player_8_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelement(0, "youtube-player", 42);
35
+ } if (rf & 2) {
36
+ const ctx_r7 = i0.ɵɵnextContext(2);
37
+ i0.ɵɵproperty("videoId", ctx_r7.recipe.videoId)("width", ctx_r7.playerWidth)("height", ctx_r7.playerHeight);
38
+ } }
39
+ function RecipeDetailsComponent_div_0_div_9_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "div", 43);
23
41
  i0.ɵɵtext(1, "D\u00E9j\u00E0 ajout\u00E9e");
24
42
  i0.ɵɵelementEnd();
25
43
  } }
26
- function RecipeDetailsComponent_div_0_ng_miam_like_button_9_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelement(0, "ng-miam-like-button", 38);
44
+ function RecipeDetailsComponent_div_0_ng_miam_like_button_12_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelement(0, "ng-miam-like-button", 44);
28
46
  } if (rf & 2) {
29
- const ctx_r4 = i0.ɵɵnextContext(2);
30
- i0.ɵɵproperty("recipe", ctx_r4.recipe)("width", 26)("height", 26);
47
+ const ctx_r9 = i0.ɵɵnextContext(2);
48
+ i0.ɵɵproperty("recipe", ctx_r9.recipe)("width", 26)("height", 26);
31
49
  } }
32
- function RecipeDetailsComponent_div_0_img_13_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelement(0, "img", 39);
50
+ function RecipeDetailsComponent_div_0_img_16_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelement(0, "img", 45);
34
52
  } if (rf & 2) {
35
- const ctx_r5 = i0.ɵɵnextContext(2);
36
- i0.ɵɵpropertyInterpolate("src", ctx_r5.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
53
+ const ctx_r10 = i0.ɵɵnextContext(2);
54
+ i0.ɵɵpropertyInterpolate("src", ctx_r10.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
37
55
  } }
38
- function RecipeDetailsComponent_div_0_div_20_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵelementStart(0, "div", 40);
56
+ function RecipeDetailsComponent_div_0_div_23_Template(rf, ctx) { if (rf & 1) {
57
+ i0.ɵɵelementStart(0, "div", 46);
40
58
  i0.ɵɵelementStart(1, "span");
41
59
  i0.ɵɵtext(2, "Pr\u00E9paration");
42
60
  i0.ɵɵelementEnd();
43
- i0.ɵɵelementStart(3, "div", 41);
44
- i0.ɵɵelement(4, "ng-miam-icon", 42);
61
+ i0.ɵɵelementStart(3, "div", 47);
62
+ i0.ɵɵelement(4, "ng-miam-icon", 48);
45
63
  i0.ɵɵelementStart(5, "span");
46
64
  i0.ɵɵtext(6);
47
65
  i0.ɵɵelementEnd();
48
66
  i0.ɵɵelementEnd();
49
67
  i0.ɵɵelementEnd();
50
68
  } if (rf & 2) {
51
- const ctx_r6 = i0.ɵɵnextContext(2);
69
+ const ctx_r11 = i0.ɵɵnextContext(2);
52
70
  i0.ɵɵadvance(4);
53
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r6.icon.Preparation);
71
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r11.icon.Preparation);
54
72
  i0.ɵɵadvance(2);
55
- i0.ɵɵtextInterpolate(ctx_r6.recipe == null ? null : ctx_r6.recipe.preparationTime);
73
+ i0.ɵɵtextInterpolate(ctx_r11.recipe == null ? null : ctx_r11.recipe.preparationTime);
56
74
  } }
57
- function RecipeDetailsComponent_div_0_div_21_Template(rf, ctx) { if (rf & 1) {
58
- i0.ɵɵelementStart(0, "div", 40);
75
+ function RecipeDetailsComponent_div_0_div_24_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelementStart(0, "div", 46);
59
77
  i0.ɵɵelementStart(1, "span");
60
78
  i0.ɵɵtext(2, "Cuisson");
61
79
  i0.ɵɵelementEnd();
62
- i0.ɵɵelementStart(3, "div", 41);
63
- i0.ɵɵelement(4, "ng-miam-icon", 42);
80
+ i0.ɵɵelementStart(3, "div", 47);
81
+ i0.ɵɵelement(4, "ng-miam-icon", 48);
64
82
  i0.ɵɵelementStart(5, "span");
65
83
  i0.ɵɵtext(6);
66
84
  i0.ɵɵelementEnd();
67
85
  i0.ɵɵelementEnd();
68
86
  i0.ɵɵelementEnd();
69
87
  } if (rf & 2) {
70
- const ctx_r7 = i0.ɵɵnextContext(2);
88
+ const ctx_r12 = i0.ɵɵnextContext(2);
71
89
  i0.ɵɵadvance(4);
72
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r7.icon.Hot);
90
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r12.icon.Hot);
73
91
  i0.ɵɵadvance(2);
74
- i0.ɵɵtextInterpolate(ctx_r7.recipe == null ? null : ctx_r7.recipe.cookingTime);
92
+ i0.ɵɵtextInterpolate(ctx_r12.recipe == null ? null : ctx_r12.recipe.cookingTime);
75
93
  } }
76
- function RecipeDetailsComponent_div_0_div_22_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelementStart(0, "div", 40);
94
+ function RecipeDetailsComponent_div_0_div_25_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵelementStart(0, "div", 46);
78
96
  i0.ɵɵelementStart(1, "span");
79
97
  i0.ɵɵtext(2, "Repos");
80
98
  i0.ɵɵelementEnd();
81
- i0.ɵɵelementStart(3, "div", 41);
82
- i0.ɵɵelement(4, "ng-miam-icon", 42);
99
+ i0.ɵɵelementStart(3, "div", 47);
100
+ i0.ɵɵelement(4, "ng-miam-icon", 48);
83
101
  i0.ɵɵelementStart(5, "span");
84
102
  i0.ɵɵtext(6);
85
103
  i0.ɵɵelementEnd();
86
104
  i0.ɵɵelementEnd();
87
105
  i0.ɵɵelementEnd();
88
106
  } if (rf & 2) {
89
- const ctx_r8 = i0.ɵɵnextContext(2);
107
+ const ctx_r13 = i0.ɵɵnextContext(2);
90
108
  i0.ɵɵadvance(4);
91
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r8.icon.Wait);
109
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r13.icon.Wait);
92
110
  i0.ɵɵadvance(2);
93
- i0.ɵɵtextInterpolate(ctx_r8.recipe == null ? null : ctx_r8.recipe.restingTime);
111
+ i0.ɵɵtextInterpolate(ctx_r13.recipe == null ? null : ctx_r13.recipe.restingTime);
94
112
  } }
95
- function RecipeDetailsComponent_div_0_ng_container_32_Template(rf, ctx) { if (rf & 1) {
113
+ function RecipeDetailsComponent_div_0_ng_container_35_Template(rf, ctx) { if (rf & 1) {
96
114
  i0.ɵɵelementContainerStart(0);
97
- i0.ɵɵelement(1, "ng-miam-icon", 43);
115
+ i0.ɵɵelement(1, "ng-miam-icon", 49);
98
116
  i0.ɵɵelementContainerEnd();
99
117
  } if (rf & 2) {
100
- const ctx_r9 = i0.ɵɵnextContext(2);
118
+ const ctx_r14 = i0.ɵɵnextContext(2);
101
119
  i0.ɵɵadvance(1);
102
- i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r9.icon.DifficultyLow);
120
+ i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r14.icon.DifficultyLow);
103
121
  } }
104
- function RecipeDetailsComponent_div_0_ng_container_33_Template(rf, ctx) { if (rf & 1) {
122
+ function RecipeDetailsComponent_div_0_ng_container_36_Template(rf, ctx) { if (rf & 1) {
105
123
  i0.ɵɵelementContainerStart(0);
106
- i0.ɵɵelement(1, "ng-miam-icon", 43);
124
+ i0.ɵɵelement(1, "ng-miam-icon", 49);
107
125
  i0.ɵɵelementContainerEnd();
108
126
  } if (rf & 2) {
109
- const ctx_r10 = i0.ɵɵnextContext(2);
127
+ const ctx_r15 = i0.ɵɵnextContext(2);
110
128
  i0.ɵɵadvance(1);
111
- i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r10.icon.DifficultyMedium);
129
+ i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r15.icon.DifficultyMedium);
112
130
  } }
113
- function RecipeDetailsComponent_div_0_ng_container_34_Template(rf, ctx) { if (rf & 1) {
131
+ function RecipeDetailsComponent_div_0_ng_container_37_Template(rf, ctx) { if (rf & 1) {
114
132
  i0.ɵɵelementContainerStart(0);
115
- i0.ɵɵelement(1, "ng-miam-icon", 43);
133
+ i0.ɵɵelement(1, "ng-miam-icon", 49);
116
134
  i0.ɵɵelementContainerEnd();
117
135
  } if (rf & 2) {
118
- const ctx_r11 = i0.ɵɵnextContext(2);
136
+ const ctx_r16 = i0.ɵɵnextContext(2);
119
137
  i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r11.icon.DifficultyHight);
138
+ i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r16.icon.DifficultyHight);
121
139
  } }
122
- function RecipeDetailsComponent_div_0_ng_container_35_Template(rf, ctx) { if (rf & 1) {
140
+ function RecipeDetailsComponent_div_0_ng_container_38_Template(rf, ctx) { if (rf & 1) {
123
141
  i0.ɵɵelementContainer(0);
124
142
  } }
125
- function RecipeDetailsComponent_div_0_button_48_Template(rf, ctx) { if (rf & 1) {
126
- const _r20 = i0.ɵɵgetCurrentView();
127
- i0.ɵɵelementStart(0, "button", 44);
128
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_48_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return ctx_r19.addRecipe(); });
143
+ function RecipeDetailsComponent_div_0_button_51_Template(rf, ctx) { if (rf & 1) {
144
+ const _r25 = i0.ɵɵgetCurrentView();
145
+ i0.ɵɵelementStart(0, "button", 50);
146
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_51_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return ctx_r24.addRecipe(); });
129
147
  i0.ɵɵelementStart(1, "span");
130
148
  i0.ɵɵtext(2);
131
149
  i0.ɵɵpipe(3, "async");
132
150
  i0.ɵɵelementEnd();
133
- i0.ɵɵelement(4, "ng-miam-icon", 45);
151
+ i0.ɵɵelement(4, "ng-miam-icon", 51);
134
152
  i0.ɵɵpipe(5, "async");
135
153
  i0.ɵɵelementEnd();
136
154
  } if (rf & 2) {
137
- const ctx_r13 = i0.ɵɵnextContext(2);
155
+ const ctx_r18 = i0.ɵɵnextContext(2);
138
156
  var tmp_0_0 = null;
139
157
  var tmp_3_0 = null;
140
158
  i0.ɵɵadvance(2);
141
- i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r13.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r13.recipe == null ? null : ctx_r13.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
159
+ i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
142
160
  i0.ɵɵadvance(2);
143
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r13.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r13.recipe == null ? null : ctx_r13.recipe.id)) ? ctx_r13.icon.CheckList : ctx_r13.icon.Cart);
161
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? ctx_r18.icon.CheckList : ctx_r18.icon.Cart);
144
162
  } }
145
- function RecipeDetailsComponent_div_0_ng_miam_addon_link_51_Template(rf, ctx) { if (rf & 1) {
146
- const _r22 = i0.ɵɵgetCurrentView();
147
- i0.ɵɵelementStart(0, "ng-miam-addon-link", 46);
148
- i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_ng_miam_addon_link_51_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return ctx_r21.toggleAddon(); });
163
+ function RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template(rf, ctx) { if (rf & 1) {
164
+ const _r27 = i0.ɵɵgetCurrentView();
165
+ i0.ɵɵelementStart(0, "ng-miam-addon-link", 52);
166
+ i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return ctx_r26.toggleAddon(); });
149
167
  i0.ɵɵelementEnd();
150
168
  } if (rf & 2) {
151
- const ctx_r14 = i0.ɵɵnextContext(2);
152
- i0.ɵɵproperty("recipe", ctx_r14.recipe);
169
+ const ctx_r19 = i0.ɵɵnextContext(2);
170
+ i0.ɵɵproperty("recipe", ctx_r19.recipe);
153
171
  } }
154
- const _c0 = function (a0) { return { "checked": a0 }; };
155
- function RecipeDetailsComponent_div_0_div_52_div_12_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementStart(0, "div", 60);
157
- i0.ɵɵelementStart(1, "div");
158
- i0.ɵɵtext(2);
159
- i0.ɵɵpipe(3, "capitalizeFirstLetter");
172
+ function RecipeDetailsComponent_div_0_div_55_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
173
+ i0.ɵɵelementStart(0, "div");
174
+ i0.ɵɵelement(1, "img", 68);
160
175
  i0.ɵɵelementEnd();
161
- i0.ɵɵelementStart(4, "div", 54);
162
- i0.ɵɵtext(5);
163
- i0.ɵɵpipe(6, "readableFloatNumber");
176
+ } if (rf & 2) {
177
+ const ingredient_r30 = i0.ɵɵnextContext().$implicit;
178
+ const ctx_r32 = i0.ɵɵnextContext(3);
179
+ i0.ɵɵadvance(1);
180
+ i0.ɵɵproperty("src", ctx_r32.ingredientPicture(ingredient_r30), i0.ɵɵsanitizeUrl);
181
+ } }
182
+ const _c2 = function (a0) { return { "checked": a0 }; };
183
+ function RecipeDetailsComponent_div_0_div_55_div_12_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "div", 66);
185
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_55_div_12_div_1_Template, 2, 1, "div", 67);
186
+ i0.ɵɵelementStart(2, "div");
187
+ i0.ɵɵtext(3);
188
+ i0.ɵɵpipe(4, "capitalizeFirstLetter");
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelementStart(5, "div", 60);
191
+ i0.ɵɵtext(6);
192
+ i0.ɵɵpipe(7, "readableFloatNumber");
164
193
  i0.ɵɵelementEnd();
165
194
  i0.ɵɵelementEnd();
166
195
  } if (rf & 2) {
167
- const ingredient_r25 = ctx.$implicit;
168
- const i_r26 = ctx.index;
169
- const ctx_r23 = i0.ɵɵnextContext(3);
170
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx_r23.ingredientsChecked[i_r26]));
196
+ const ingredient_r30 = ctx.$implicit;
197
+ const i_r31 = ctx.index;
198
+ const ctx_r28 = i0.ɵɵnextContext(3);
199
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2, ctx_r28.ingredientsChecked[i_r31]));
200
+ i0.ɵɵadvance(1);
201
+ i0.ɵɵproperty("ngIf", ctx_r28.ingredientsPictures);
171
202
  i0.ɵɵadvance(2);
172
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r25.name), "");
203
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, ingredient_r30.name), "");
173
204
  i0.ɵɵadvance(3);
174
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r25.qty, ingredient_r25.unit), "");
205
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(7, 6, ingredient_r30.qty, ingredient_r30.unit), "");
175
206
  } }
176
- function RecipeDetailsComponent_div_0_div_52_div_17_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
177
- i0.ɵɵelement(0, "ng-miam-icon", 65);
207
+ function RecipeDetailsComponent_div_0_div_55_div_17_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
208
+ i0.ɵɵelement(0, "ng-miam-icon", 73);
178
209
  } if (rf & 2) {
179
- const ctx_r29 = i0.ɵɵnextContext(4);
180
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r29.icon.CheckCircleFill);
210
+ const ctx_r36 = i0.ɵɵnextContext(4);
211
+ i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r36.icon.CheckCircleFill);
181
212
  } }
182
- function RecipeDetailsComponent_div_0_div_52_div_17_Template(rf, ctx) { if (rf & 1) {
183
- const _r31 = i0.ɵɵgetCurrentView();
184
- i0.ɵɵelementStart(0, "div", 61);
185
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_52_div_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r31); const i_r28 = ctx.index; const ctx_r30 = i0.ɵɵnextContext(3); return ctx_r30.changeActiveStep(i_r28); });
186
- i0.ɵɵelementStart(1, "div", 62);
213
+ function RecipeDetailsComponent_div_0_div_55_div_17_Template(rf, ctx) { if (rf & 1) {
214
+ const _r38 = i0.ɵɵgetCurrentView();
215
+ i0.ɵɵelementStart(0, "div", 69);
216
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_55_div_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r38); const i_r35 = ctx.index; const ctx_r37 = i0.ɵɵnextContext(3); return ctx_r37.changeActiveStep(i_r35); });
217
+ i0.ɵɵelementStart(1, "div", 70);
187
218
  i0.ɵɵelementStart(2, "strong");
188
219
  i0.ɵɵtext(3);
189
220
  i0.ɵɵelementEnd();
190
221
  i0.ɵɵelementEnd();
191
- i0.ɵɵelementStart(4, "div", 63);
222
+ i0.ɵɵelementStart(4, "div", 71);
192
223
  i0.ɵɵtext(5);
193
224
  i0.ɵɵelementEnd();
194
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_52_div_17_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 64);
225
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_55_div_17_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 72);
195
226
  i0.ɵɵelementEnd();
196
227
  } if (rf & 2) {
197
- const step_r27 = ctx.$implicit;
198
- const i_r28 = ctx.index;
199
- const ctx_r24 = i0.ɵɵnextContext(3);
200
- i0.ɵɵclassProp("active", i_r28 === ctx_r24.activeStep)("miam-recipe-details__panel__done", i_r28 < ctx_r24.activeStep);
228
+ const step_r34 = ctx.$implicit;
229
+ const i_r35 = ctx.index;
230
+ const ctx_r29 = i0.ɵɵnextContext(3);
231
+ i0.ɵɵclassProp("active", i_r35 === ctx_r29.activeStep)("miam-recipe-details__panel__done", i_r35 < ctx_r29.activeStep);
201
232
  i0.ɵɵadvance(3);
202
- i0.ɵɵtextInterpolate(i_r28);
233
+ i0.ɵɵtextInterpolate(i_r35 + 1);
203
234
  i0.ɵɵadvance(2);
204
- i0.ɵɵtextInterpolate(step_r27 == null ? null : step_r27.attributes == null ? null : step_r27.attributes.description);
235
+ i0.ɵɵtextInterpolate(step_r34 == null ? null : step_r34.attributes == null ? null : step_r34.attributes.description);
205
236
  i0.ɵɵadvance(1);
206
- i0.ɵɵproperty("ngIf", i_r28 <= ctx_r24.activeStep);
237
+ i0.ɵɵproperty("ngIf", i_r35 <= ctx_r29.activeStep);
207
238
  } }
208
- function RecipeDetailsComponent_div_0_div_52_Template(rf, ctx) { if (rf & 1) {
209
- const _r33 = i0.ɵɵgetCurrentView();
210
- i0.ɵɵelementStart(0, "div", 47);
211
- i0.ɵɵelementStart(1, "div", 48);
212
- i0.ɵɵelementStart(2, "div", 49);
239
+ function RecipeDetailsComponent_div_0_div_55_Template(rf, ctx) { if (rf & 1) {
240
+ const _r40 = i0.ɵɵgetCurrentView();
241
+ i0.ɵɵelementStart(0, "div", 53);
242
+ i0.ɵɵelementStart(1, "div", 54);
243
+ i0.ɵɵelementStart(2, "div", 55);
213
244
  i0.ɵɵtext(3, " Ingr\u00E9dients ");
214
245
  i0.ɵɵelementEnd();
215
- i0.ɵɵelementStart(4, "div", 50);
216
- i0.ɵɵelementStart(5, "div", 51);
217
- i0.ɵɵelementStart(6, "ng-miam-counter-input", 52);
218
- i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_div_52_Template_ng_miam_counter_input_counterChange_6_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(2); return ctx_r32.updateGuests($event); });
246
+ i0.ɵɵelementStart(4, "div", 56);
247
+ i0.ɵɵelementStart(5, "div", 57);
248
+ i0.ɵɵelementStart(6, "ng-miam-counter-input", 58);
249
+ i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_div_55_Template_ng_miam_counter_input_counterChange_6_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(2); return ctx_r39.updateGuests($event); });
219
250
  i0.ɵɵelementEnd();
220
- i0.ɵɵelementStart(7, "span", 53);
251
+ i0.ɵɵelementStart(7, "span", 59);
221
252
  i0.ɵɵtext(8);
222
253
  i0.ɵɵelementEnd();
223
254
  i0.ɵɵelementEnd();
224
- i0.ɵɵelementStart(9, "span", 54);
255
+ i0.ɵɵelementStart(9, "span", 60);
225
256
  i0.ɵɵtext(10, "Quantit\u00E9");
226
257
  i0.ɵɵelementEnd();
227
258
  i0.ɵɵelementEnd();
228
- i0.ɵɵelementStart(11, "div", 55);
229
- i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_div_52_div_12_Template, 7, 10, "div", 56);
259
+ i0.ɵɵelementStart(11, "div", 61);
260
+ i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_div_55_div_12_Template, 8, 11, "div", 62);
230
261
  i0.ɵɵelementEnd();
231
262
  i0.ɵɵelementEnd();
232
- i0.ɵɵelementStart(13, "div", 57);
233
- i0.ɵɵelementStart(14, "div", 49);
263
+ i0.ɵɵelementStart(13, "div", 63);
264
+ i0.ɵɵelementStart(14, "div", 55);
234
265
  i0.ɵɵtext(15, " Pr\u00E9paration ");
235
266
  i0.ɵɵelementEnd();
236
- i0.ɵɵelementStart(16, "div", 58);
237
- i0.ɵɵtemplate(17, RecipeDetailsComponent_div_0_div_52_div_17_Template, 7, 7, "div", 59);
267
+ i0.ɵɵelementStart(16, "div", 64);
268
+ i0.ɵɵtemplate(17, RecipeDetailsComponent_div_0_div_55_div_17_Template, 7, 7, "div", 65);
238
269
  i0.ɵɵelementEnd();
239
270
  i0.ɵɵelementEnd();
240
271
  i0.ɵɵelementEnd();
241
272
  } if (rf & 2) {
242
- const ctx_r15 = i0.ɵɵnextContext(2);
273
+ const ctx_r20 = i0.ɵɵnextContext(2);
243
274
  i0.ɵɵadvance(6);
244
- i0.ɵɵproperty("counter", (ctx_r15.recipe == null ? null : ctx_r15.recipe.modifiedGuests) || ctx_r15.recipe.guests);
275
+ i0.ɵɵproperty("counter", (ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedGuests) || ctx_r20.recipe.guests);
245
276
  i0.ɵɵadvance(2);
246
- i0.ɵɵtextInterpolate1("Pour ", ctx_r15.recipe == null ? null : ctx_r15.recipe.modifiedGuests, " personnes");
277
+ i0.ɵɵtextInterpolate1("Pour ", ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedGuests, " personnes");
247
278
  i0.ɵɵadvance(4);
248
- i0.ɵɵproperty("ngForOf", ctx_r15.recipe == null ? null : ctx_r15.recipe.modifiedIngredients);
279
+ i0.ɵɵproperty("ngForOf", ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedIngredients);
249
280
  i0.ɵɵadvance(5);
250
- i0.ɵɵproperty("ngForOf", ctx_r15.steps);
281
+ i0.ɵɵproperty("ngForOf", ctx_r20.steps);
251
282
  } }
252
- function RecipeDetailsComponent_div_0_ng_template_53_ng_container_7_div_9_Template(rf, ctx) { if (rf & 1) {
253
- i0.ɵɵelementStart(0, "div", 60);
283
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_div_9_Template(rf, ctx) { if (rf & 1) {
284
+ i0.ɵɵelementStart(0, "div", 66);
254
285
  i0.ɵɵelementStart(1, "div");
255
286
  i0.ɵɵtext(2);
256
287
  i0.ɵɵpipe(3, "capitalizeFirstLetter");
257
288
  i0.ɵɵelementEnd();
258
- i0.ɵɵelementStart(4, "div", 54);
289
+ i0.ɵɵelementStart(4, "div", 60);
259
290
  i0.ɵɵtext(5);
260
291
  i0.ɵɵpipe(6, "readableFloatNumber");
261
292
  i0.ɵɵelementEnd();
262
293
  i0.ɵɵelementEnd();
263
294
  } if (rf & 2) {
264
- const ingredient_r39 = ctx.$implicit;
265
- const i_r40 = ctx.index;
266
- const ctx_r38 = i0.ɵɵnextContext(4);
267
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx_r38.ingredientsChecked[i_r40]));
295
+ const ingredient_r46 = ctx.$implicit;
296
+ const i_r47 = ctx.index;
297
+ const ctx_r45 = i0.ɵɵnextContext(4);
298
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r45.ingredientsChecked[i_r47]));
268
299
  i0.ɵɵadvance(2);
269
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r39.name), "");
300
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r46.name), "");
270
301
  i0.ɵɵadvance(3);
271
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r39.qty, ingredient_r39.unit), "");
302
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r46.qty, ingredient_r46.unit), "");
272
303
  } }
273
- function RecipeDetailsComponent_div_0_ng_template_53_ng_container_7_Template(rf, ctx) { if (rf & 1) {
274
- const _r42 = i0.ɵɵgetCurrentView();
304
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template(rf, ctx) { if (rf & 1) {
305
+ const _r49 = i0.ɵɵgetCurrentView();
275
306
  i0.ɵɵelementContainerStart(0);
276
- i0.ɵɵelementStart(1, "div", 50);
277
- i0.ɵɵelementStart(2, "div", 51);
278
- i0.ɵɵelementStart(3, "ng-miam-counter-input", 52);
279
- i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_ng_template_53_ng_container_7_Template_ng_miam_counter_input_counterChange_3_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(3); return ctx_r41.updateGuests($event); });
307
+ i0.ɵɵelementStart(1, "div", 56);
308
+ i0.ɵɵelementStart(2, "div", 57);
309
+ i0.ɵɵelementStart(3, "ng-miam-counter-input", 58);
310
+ i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template_ng_miam_counter_input_counterChange_3_listener($event) { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(3); return ctx_r48.updateGuests($event); });
280
311
  i0.ɵɵelementEnd();
281
- i0.ɵɵelementStart(4, "span", 53);
312
+ i0.ɵɵelementStart(4, "span", 59);
282
313
  i0.ɵɵtext(5);
283
314
  i0.ɵɵelementEnd();
284
315
  i0.ɵɵelementEnd();
285
- i0.ɵɵelementStart(6, "span", 54);
316
+ i0.ɵɵelementStart(6, "span", 60);
286
317
  i0.ɵɵtext(7, "Quantit\u00E9");
287
318
  i0.ɵɵelementEnd();
288
319
  i0.ɵɵelementEnd();
289
- i0.ɵɵelementStart(8, "div", 55);
290
- i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_template_53_ng_container_7_div_9_Template, 7, 10, "div", 56);
320
+ i0.ɵɵelementStart(8, "div", 61);
321
+ i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_div_9_Template, 7, 10, "div", 62);
291
322
  i0.ɵɵelementEnd();
292
323
  i0.ɵɵelementContainerEnd();
293
324
  } if (rf & 2) {
294
- const ctx_r35 = i0.ɵɵnextContext(3);
325
+ const ctx_r42 = i0.ɵɵnextContext(3);
295
326
  i0.ɵɵadvance(3);
296
- i0.ɵɵproperty("counter", ctx_r35.recipe == null ? null : ctx_r35.recipe.modifiedGuests);
327
+ i0.ɵɵproperty("counter", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedGuests);
297
328
  i0.ɵɵadvance(2);
298
- i0.ɵɵtextInterpolate1("Pour ", ctx_r35.recipe == null ? null : ctx_r35.recipe.modifiedGuests, " personnes");
329
+ i0.ɵɵtextInterpolate1("Pour ", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedGuests, " personnes");
299
330
  i0.ɵɵadvance(4);
300
- i0.ɵɵproperty("ngForOf", ctx_r35.recipe == null ? null : ctx_r35.recipe.modifiedIngredients);
331
+ i0.ɵɵproperty("ngForOf", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedIngredients);
301
332
  } }
302
- function RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_div_1_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
303
- i0.ɵɵelement(0, "ng-miam-icon", 65);
333
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
334
+ i0.ɵɵelement(0, "ng-miam-icon", 73);
304
335
  } if (rf & 2) {
305
- const ctx_r46 = i0.ɵɵnextContext(5);
306
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r46.icon.CheckCircleFill);
336
+ const ctx_r53 = i0.ɵɵnextContext(5);
337
+ i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r53.icon.CheckCircleFill);
307
338
  } }
308
- function RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {
309
- const _r48 = i0.ɵɵgetCurrentView();
310
- i0.ɵɵelementStart(0, "div", 61);
311
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r48); const i_r45 = ctx.index; const ctx_r47 = i0.ɵɵnextContext(4); return ctx_r47.changeActiveStep(i_r45); });
312
- i0.ɵɵelementStart(1, "div", 62);
339
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {
340
+ const _r55 = i0.ɵɵgetCurrentView();
341
+ i0.ɵɵelementStart(0, "div", 69);
342
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r55); const i_r52 = ctx.index; const ctx_r54 = i0.ɵɵnextContext(4); return ctx_r54.changeActiveStep(i_r52); });
343
+ i0.ɵɵelementStart(1, "div", 70);
313
344
  i0.ɵɵelementStart(2, "strong");
314
345
  i0.ɵɵtext(3);
315
346
  i0.ɵɵelementEnd();
316
347
  i0.ɵɵelementEnd();
317
- i0.ɵɵelementStart(4, "div", 63);
348
+ i0.ɵɵelementStart(4, "div", 71);
318
349
  i0.ɵɵtext(5);
319
350
  i0.ɵɵelementEnd();
320
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_div_1_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 64);
351
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 72);
321
352
  i0.ɵɵelementEnd();
322
353
  } if (rf & 2) {
323
- const step_r44 = ctx.$implicit;
324
- const i_r45 = ctx.index;
325
- const ctx_r43 = i0.ɵɵnextContext(4);
326
- i0.ɵɵclassProp("active", i_r45 === ctx_r43.activeStep)("miam-recipe-details__panel__done", i_r45 < ctx_r43.activeStep);
354
+ const step_r51 = ctx.$implicit;
355
+ const i_r52 = ctx.index;
356
+ const ctx_r50 = i0.ɵɵnextContext(4);
357
+ i0.ɵɵclassProp("active", i_r52 === ctx_r50.activeStep)("miam-recipe-details__panel__done", i_r52 < ctx_r50.activeStep);
327
358
  i0.ɵɵadvance(3);
328
- i0.ɵɵtextInterpolate(i_r45);
359
+ i0.ɵɵtextInterpolate(i_r52 + 1);
329
360
  i0.ɵɵadvance(2);
330
- i0.ɵɵtextInterpolate(step_r44 == null ? null : step_r44.attributes == null ? null : step_r44.attributes.description);
361
+ i0.ɵɵtextInterpolate(step_r51 == null ? null : step_r51.attributes == null ? null : step_r51.attributes.description);
331
362
  i0.ɵɵadvance(1);
332
- i0.ɵɵproperty("ngIf", i_r45 <= ctx_r43.activeStep);
363
+ i0.ɵɵproperty("ngIf", i_r52 <= ctx_r50.activeStep);
333
364
  } }
334
- function RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_Template(rf, ctx) { if (rf & 1) {
335
- i0.ɵɵelementStart(0, "div", 58);
336
- i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_div_1_Template, 7, 7, "div", 59);
365
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_Template(rf, ctx) { if (rf & 1) {
366
+ i0.ɵɵelementStart(0, "div", 64);
367
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template, 7, 7, "div", 65);
337
368
  i0.ɵɵelementEnd();
338
369
  } if (rf & 2) {
339
- const ctx_r37 = i0.ɵɵnextContext(3);
370
+ const ctx_r44 = i0.ɵɵnextContext(3);
340
371
  i0.ɵɵadvance(1);
341
- i0.ɵɵproperty("ngForOf", ctx_r37.steps);
372
+ i0.ɵɵproperty("ngForOf", ctx_r44.steps);
342
373
  } }
343
- const _c1 = function (a0) { return { "active": a0 }; };
344
- function RecipeDetailsComponent_div_0_ng_template_53_Template(rf, ctx) { if (rf & 1) {
345
- const _r50 = i0.ɵɵgetCurrentView();
346
- i0.ɵɵelementStart(0, "div", 66, 67);
347
- i0.ɵɵelementStart(2, "div", 68);
348
- i0.ɵɵelementStart(3, "button", 69);
349
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_53_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r50); const _r34 = i0.ɵɵreference(1); const ctx_r49 = i0.ɵɵnextContext(2); ctx_r49.toggleShowIngredient(true); return _r34.scrollIntoView(); });
374
+ const _c3 = function (a0) { return { "active": a0 }; };
375
+ function RecipeDetailsComponent_div_0_ng_template_56_Template(rf, ctx) { if (rf & 1) {
376
+ const _r57 = i0.ɵɵgetCurrentView();
377
+ i0.ɵɵelementStart(0, "div", 74, 75);
378
+ i0.ɵɵelementStart(2, "div", 76);
379
+ i0.ɵɵelementStart(3, "button", 77);
380
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r57); const _r41 = i0.ɵɵreference(1); const ctx_r56 = i0.ɵɵnextContext(2); ctx_r56.toggleShowIngredient(true); return _r41.scrollIntoView(); });
350
381
  i0.ɵɵtext(4, "Ingredients");
351
382
  i0.ɵɵelementEnd();
352
- i0.ɵɵelementStart(5, "button", 69);
353
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_53_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r50); const _r34 = i0.ɵɵreference(1); const ctx_r51 = i0.ɵɵnextContext(2); ctx_r51.toggleShowIngredient(false); return _r34.scrollIntoView(); });
383
+ i0.ɵɵelementStart(5, "button", 77);
384
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r57); const _r41 = i0.ɵɵreference(1); const ctx_r58 = i0.ɵɵnextContext(2); ctx_r58.toggleShowIngredient(false); return _r41.scrollIntoView(); });
354
385
  i0.ɵɵtext(6, "Pr\u00E9paration");
355
386
  i0.ɵɵelementEnd();
356
387
  i0.ɵɵelementEnd();
357
- i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_ng_template_53_ng_container_7_Template, 10, 3, "ng-container", 70);
358
- i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_ng_template_53_ng_template_8_Template, 2, 1, "ng-template", null, 71, i0.ɵɵtemplateRefExtractor);
388
+ i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template, 10, 3, "ng-container", 78);
389
+ i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_Template, 2, 1, "ng-template", null, 79, i0.ɵɵtemplateRefExtractor);
359
390
  i0.ɵɵelementEnd();
360
391
  } if (rf & 2) {
361
- const _r36 = i0.ɵɵreference(9);
362
- const ctx_r17 = i0.ɵɵnextContext(2);
392
+ const _r43 = i0.ɵɵreference(9);
393
+ const ctx_r22 = i0.ɵɵnextContext(2);
363
394
  i0.ɵɵadvance(3);
364
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1, ctx_r17.showIngredient));
395
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r22.showIngredient));
365
396
  i0.ɵɵadvance(2);
366
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c1, !ctx_r17.showIngredient));
397
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, !ctx_r22.showIngredient));
367
398
  i0.ɵɵadvance(2);
368
- i0.ɵɵproperty("ngIf", ctx_r17.showIngredient)("ngIfElse", _r36);
399
+ i0.ɵɵproperty("ngIf", ctx_r22.showIngredient)("ngIfElse", _r43);
369
400
  } }
370
- function RecipeDetailsComponent_div_0_button_59_Template(rf, ctx) { if (rf & 1) {
371
- const _r53 = i0.ɵɵgetCurrentView();
372
- i0.ɵɵelementStart(0, "button", 44);
373
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_59_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r52 = i0.ɵɵnextContext(2); return ctx_r52.addRecipe(); });
401
+ function RecipeDetailsComponent_div_0_button_62_Template(rf, ctx) { if (rf & 1) {
402
+ const _r60 = i0.ɵɵgetCurrentView();
403
+ i0.ɵɵelementStart(0, "button", 50);
404
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_62_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(2); return ctx_r59.addRecipe(); });
374
405
  i0.ɵɵelementStart(1, "span");
375
406
  i0.ɵɵtext(2);
376
407
  i0.ɵɵpipe(3, "async");
377
408
  i0.ɵɵelementEnd();
378
- i0.ɵɵelement(4, "ng-miam-icon", 45);
409
+ i0.ɵɵelement(4, "ng-miam-icon", 51);
379
410
  i0.ɵɵpipe(5, "async");
380
411
  i0.ɵɵelementEnd();
381
412
  } if (rf & 2) {
382
- const ctx_r18 = i0.ɵɵnextContext(2);
413
+ const ctx_r23 = i0.ɵɵnextContext(2);
383
414
  var tmp_0_0 = null;
384
415
  var tmp_3_0 = null;
385
416
  i0.ɵɵadvance(2);
386
- i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
417
+ i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r23.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r23.recipe == null ? null : ctx_r23.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
387
418
  i0.ɵɵadvance(2);
388
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? ctx_r18.icon.CheckList : ctx_r18.icon.Cart);
419
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r23.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r23.recipe == null ? null : ctx_r23.recipe.id)) ? ctx_r23.icon.CheckList : ctx_r23.icon.Cart);
389
420
  } }
390
421
  function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
391
- const _r55 = i0.ɵɵgetCurrentView();
392
- i0.ɵɵelementStart(0, "div", 2);
393
- i0.ɵɵlistener("scroll", function RecipeDetailsComponent_div_0_Template_div_scroll_0_listener($event) { i0.ɵɵrestoreView(_r55); const ctx_r54 = i0.ɵɵnextContext(); return ctx_r54.onScroll($event); });
394
- i0.ɵɵelementStart(1, "div", 3);
422
+ const _r62 = i0.ɵɵgetCurrentView();
423
+ i0.ɵɵelementStart(0, "div", 2, 3);
395
424
  i0.ɵɵelementStart(2, "div", 4);
396
425
  i0.ɵɵelementStart(3, "div", 5);
397
- i0.ɵɵelement(4, "img", 6);
398
- i0.ɵɵelement(5, "div", 7);
399
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_6_Template, 2, 0, "div", 8);
400
- i0.ɵɵpipe(7, "async");
401
- i0.ɵɵelementStart(8, "div", 9);
402
- i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_miam_like_button_9_Template, 1, 3, "ng-miam-like-button", 10);
426
+ i0.ɵɵelementStart(4, "div", 6, 7);
427
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_img_6_Template, 1, 1, "img", 8);
428
+ i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_div_7_Template, 1, 0, "div", 9);
429
+ i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_youtube_player_8_Template, 1, 3, "youtube-player", 10);
430
+ i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_div_9_Template, 2, 0, "div", 11);
403
431
  i0.ɵɵpipe(10, "async");
404
- i0.ɵɵelement(11, "ng-miam-icon", 11);
405
- i0.ɵɵelement(12, "ng-miam-icon", 11);
432
+ i0.ɵɵelementStart(11, "div", 12);
433
+ i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_ng_miam_like_button_12_Template, 1, 3, "ng-miam-like-button", 13);
434
+ i0.ɵɵpipe(13, "async");
435
+ i0.ɵɵelement(14, "ng-miam-icon", 14);
436
+ i0.ɵɵelement(15, "ng-miam-icon", 14);
406
437
  i0.ɵɵelementEnd();
407
- i0.ɵɵtemplate(13, RecipeDetailsComponent_div_0_img_13_Template, 1, 1, "img", 12);
438
+ i0.ɵɵtemplate(16, RecipeDetailsComponent_div_0_img_16_Template, 1, 1, "img", 15);
408
439
  i0.ɵɵelementEnd();
409
- i0.ɵɵelementStart(14, "div", 13);
410
- i0.ɵɵelementStart(15, "div", 14);
411
- i0.ɵɵelement(16, "ng-miam-icon", 15);
412
- i0.ɵɵelementStart(17, "span");
413
- i0.ɵɵtext(18);
440
+ i0.ɵɵelementStart(17, "div", 16);
441
+ i0.ɵɵelementStart(18, "div", 17);
442
+ i0.ɵɵelement(19, "ng-miam-icon", 18);
443
+ i0.ɵɵelementStart(20, "span");
444
+ i0.ɵɵtext(21);
414
445
  i0.ɵɵelementEnd();
415
446
  i0.ɵɵelementEnd();
416
- i0.ɵɵelementStart(19, "div", 16);
417
- i0.ɵɵtemplate(20, RecipeDetailsComponent_div_0_div_20_Template, 7, 4, "div", 17);
418
- i0.ɵɵtemplate(21, RecipeDetailsComponent_div_0_div_21_Template, 7, 4, "div", 17);
419
- i0.ɵɵtemplate(22, RecipeDetailsComponent_div_0_div_22_Template, 7, 4, "div", 17);
447
+ i0.ɵɵelementStart(22, "div", 19);
448
+ i0.ɵɵtemplate(23, RecipeDetailsComponent_div_0_div_23_Template, 7, 4, "div", 20);
449
+ i0.ɵɵtemplate(24, RecipeDetailsComponent_div_0_div_24_Template, 7, 4, "div", 20);
450
+ i0.ɵɵtemplate(25, RecipeDetailsComponent_div_0_div_25_Template, 7, 4, "div", 20);
420
451
  i0.ɵɵelementEnd();
421
452
  i0.ɵɵelementEnd();
422
453
  i0.ɵɵelementEnd();
423
- i0.ɵɵelementStart(23, "div", 18);
424
- i0.ɵɵelementStart(24, "div", 19);
425
- i0.ɵɵelementStart(25, "span", 20);
426
- i0.ɵɵtext(26);
427
- i0.ɵɵpipe(27, "titlecase");
428
- i0.ɵɵelementEnd();
429
- i0.ɵɵelementStart(28, "span", 21);
454
+ i0.ɵɵelementStart(26, "div", 21);
455
+ i0.ɵɵelementStart(27, "div", 22);
456
+ i0.ɵɵelementStart(28, "span", 23);
430
457
  i0.ɵɵtext(29);
458
+ i0.ɵɵpipe(30, "titlecase");
459
+ i0.ɵɵelementEnd();
460
+ i0.ɵɵelementStart(31, "span", 24);
461
+ i0.ɵɵtext(32);
431
462
  i0.ɵɵelementEnd();
432
- i0.ɵɵelementStart(30, "div", 22);
433
- i0.ɵɵelementContainerStart(31, 23);
434
- i0.ɵɵtemplate(32, RecipeDetailsComponent_div_0_ng_container_32_Template, 2, 3, "ng-container", 24);
435
- i0.ɵɵtemplate(33, RecipeDetailsComponent_div_0_ng_container_33_Template, 2, 3, "ng-container", 24);
436
- i0.ɵɵtemplate(34, RecipeDetailsComponent_div_0_ng_container_34_Template, 2, 3, "ng-container", 24);
437
- i0.ɵɵtemplate(35, RecipeDetailsComponent_div_0_ng_container_35_Template, 1, 0, "ng-container", 25);
463
+ i0.ɵɵelementStart(33, "div", 25);
464
+ i0.ɵɵelementContainerStart(34, 26);
465
+ i0.ɵɵtemplate(35, RecipeDetailsComponent_div_0_ng_container_35_Template, 2, 3, "ng-container", 27);
466
+ i0.ɵɵtemplate(36, RecipeDetailsComponent_div_0_ng_container_36_Template, 2, 3, "ng-container", 27);
467
+ i0.ɵɵtemplate(37, RecipeDetailsComponent_div_0_ng_container_37_Template, 2, 3, "ng-container", 27);
468
+ i0.ɵɵtemplate(38, RecipeDetailsComponent_div_0_ng_container_38_Template, 1, 0, "ng-container", 28);
438
469
  i0.ɵɵelementContainerEnd();
439
- i0.ɵɵelementStart(36, "span");
440
- i0.ɵɵtext(37);
441
- i0.ɵɵpipe(38, "titlecase");
470
+ i0.ɵɵelementStart(39, "span");
471
+ i0.ɵɵtext(40);
472
+ i0.ɵɵpipe(41, "titlecase");
442
473
  i0.ɵɵelementEnd();
443
474
  i0.ɵɵelementEnd();
444
- i0.ɵɵelementStart(39, "div", 26);
445
- i0.ɵɵtext(40);
446
- i0.ɵɵelementStart(41, "div", 27);
447
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_Template_div_click_41_listener() { i0.ɵɵrestoreView(_r55); const ctx_r56 = i0.ɵɵnextContext(); return ctx_r56.print(); });
448
- i0.ɵɵelement(42, "ng-miam-icon", 11);
449
- i0.ɵɵelementStart(43, "span");
450
- i0.ɵɵtext(44, " Imprimer la recette ");
475
+ i0.ɵɵelementStart(42, "div", 29);
476
+ i0.ɵɵtext(43);
477
+ i0.ɵɵelementStart(44, "div", 30);
478
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_Template_div_click_44_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(); return ctx_r61.print(); });
479
+ i0.ɵɵelement(45, "ng-miam-icon", 14);
480
+ i0.ɵɵelementStart(46, "span");
481
+ i0.ɵɵtext(47, " Imprimer la recette ");
451
482
  i0.ɵɵelementEnd();
452
483
  i0.ɵɵelementEnd();
453
484
  i0.ɵɵelementEnd();
454
485
  i0.ɵɵelementEnd();
455
- i0.ɵɵelementStart(45, "div", 28);
456
- i0.ɵɵelementStart(46, "div", 29);
457
- i0.ɵɵelement(47, "ng-miam-recipe-pricing", 30);
486
+ i0.ɵɵelementStart(48, "div", 31);
487
+ i0.ɵɵelementStart(49, "div", 32);
488
+ i0.ɵɵelement(50, "ng-miam-recipe-pricing", 33);
458
489
  i0.ɵɵelementEnd();
459
- i0.ɵɵtemplate(48, RecipeDetailsComponent_div_0_button_48_Template, 6, 8, "button", 31);
490
+ i0.ɵɵtemplate(51, RecipeDetailsComponent_div_0_button_51_Template, 6, 8, "button", 34);
460
491
  i0.ɵɵelementEnd();
461
492
  i0.ɵɵelementEnd();
462
493
  i0.ɵɵelementEnd();
463
- i0.ɵɵelement(49, "div", 32);
464
- i0.ɵɵelementStart(50, "div");
465
- i0.ɵɵtemplate(51, RecipeDetailsComponent_div_0_ng_miam_addon_link_51_Template, 1, 1, "ng-miam-addon-link", 33);
494
+ i0.ɵɵelement(52, "div", 35);
495
+ i0.ɵɵelementStart(53, "div");
496
+ i0.ɵɵtemplate(54, RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template, 1, 1, "ng-miam-addon-link", 36);
466
497
  i0.ɵɵelementEnd();
467
- i0.ɵɵtemplate(52, RecipeDetailsComponent_div_0_div_52_Template, 18, 4, "div", 34);
468
- i0.ɵɵtemplate(53, RecipeDetailsComponent_div_0_ng_template_53_Template, 10, 8, "ng-template", null, 35, i0.ɵɵtemplateRefExtractor);
469
- i0.ɵɵelementStart(55, "div", 36);
470
- i0.ɵɵelementStart(56, "div", 28);
471
- i0.ɵɵelementStart(57, "div", 29);
472
- i0.ɵɵelement(58, "ng-miam-recipe-pricing", 30);
498
+ i0.ɵɵtemplate(55, RecipeDetailsComponent_div_0_div_55_Template, 18, 4, "div", 37);
499
+ i0.ɵɵtemplate(56, RecipeDetailsComponent_div_0_ng_template_56_Template, 10, 8, "ng-template", null, 38, i0.ɵɵtemplateRefExtractor);
500
+ i0.ɵɵelementStart(58, "div", 39);
501
+ i0.ɵɵelementStart(59, "div", 31);
502
+ i0.ɵɵelementStart(60, "div", 32);
503
+ i0.ɵɵelement(61, "ng-miam-recipe-pricing", 33);
473
504
  i0.ɵɵelementEnd();
474
- i0.ɵɵtemplate(59, RecipeDetailsComponent_div_0_button_59_Template, 6, 8, "button", 31);
505
+ i0.ɵɵtemplate(62, RecipeDetailsComponent_div_0_button_62_Template, 6, 8, "button", 34);
475
506
  i0.ɵɵelementEnd();
476
507
  i0.ɵɵelementEnd();
477
508
  i0.ɵɵelementEnd();
478
509
  } if (rf & 2) {
479
- const _r16 = i0.ɵɵreference(54);
510
+ const _r21 = i0.ɵɵreference(57);
480
511
  const ctx_r0 = i0.ɵɵnextContext();
481
- var tmp_1_0 = null;
482
- i0.ɵɵadvance(4);
483
- i0.ɵɵproperty("src", ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
484
- i0.ɵɵadvance(2);
485
- i0.ɵɵproperty("ngIf", (tmp_1_0 = i0.ɵɵpipeBind1(7, 37, ctx_r0.groceriesListsService.list$)) == null ? null : tmp_1_0.hasRecipe(ctx_r0.recipe == null ? null : ctx_r0.recipe.id));
512
+ var tmp_3_0 = null;
513
+ i0.ɵɵadvance(6);
514
+ i0.ɵɵproperty("ngIf", !ctx_r0.showVideo);
515
+ i0.ɵɵadvance(1);
516
+ i0.ɵɵproperty("ngIf", !ctx_r0.showVideo);
517
+ i0.ɵɵadvance(1);
518
+ i0.ɵɵproperty("ngIf", ctx_r0.showVideo && ctx_r0.playerWidth);
519
+ i0.ɵɵadvance(1);
520
+ i0.ɵɵproperty("ngIf", (tmp_3_0 = i0.ɵɵpipeBind1(10, 39, ctx_r0.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r0.recipe == null ? null : ctx_r0.recipe.id));
486
521
  i0.ɵɵadvance(3);
487
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(10, 39, ctx_r0.userService.isLogged$));
522
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 41, ctx_r0.userService.isLogged$));
488
523
  i0.ɵɵadvance(2);
489
524
  i0.ɵɵproperty("width", 26)("height", 26)("iconName", ctx_r0.icon.Calendar);
490
525
  i0.ɵɵadvance(1);
@@ -502,7 +537,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
502
537
  i0.ɵɵadvance(1);
503
538
  i0.ɵɵproperty("ngIf", (ctx_r0.recipe == null ? null : ctx_r0.recipe.restingTime) !== "-");
504
539
  i0.ɵɵadvance(4);
505
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(27, 41, ctx_r0.recipe == null ? null : ctx_r0.recipe.recipeType == null ? null : ctx_r0.recipe.recipeType.attributes == null ? null : ctx_r0.recipe.recipeType.attributes.name));
540
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 43, ctx_r0.recipe == null ? null : ctx_r0.recipe.recipeType == null ? null : ctx_r0.recipe.recipeType.attributes == null ? null : ctx_r0.recipe.recipeType.attributes.name));
506
541
  i0.ɵɵadvance(3);
507
542
  i0.ɵɵtextInterpolate(ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["title"]);
508
543
  i0.ɵɵadvance(2);
@@ -514,7 +549,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
514
549
  i0.ɵɵadvance(1);
515
550
  i0.ɵɵproperty("ngSwitchCase", "difficile");
516
551
  i0.ɵɵadvance(3);
517
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(38, 43, ctx_r0.recipe == null ? null : ctx_r0.recipe.difficultyLabel));
552
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 45, ctx_r0.recipe == null ? null : ctx_r0.recipe.difficultyLabel));
518
553
  i0.ɵɵadvance(3);
519
554
  i0.ɵɵtextInterpolate1(" ", ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["description"], " ");
520
555
  i0.ɵɵadvance(2);
@@ -526,16 +561,16 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
526
561
  i0.ɵɵadvance(3);
527
562
  i0.ɵɵproperty("ngIf", (ctx_r0.recipe == null ? null : ctx_r0.recipe.sponsors == null ? null : ctx_r0.recipe.sponsors.length) > 0 || ctx_r0.recipe.informationalSentence);
528
563
  i0.ɵɵadvance(1);
529
- i0.ɵɵproperty("ngIf", !ctx_r0.isMobile)("ngIfElse", _r16);
564
+ i0.ɵɵproperty("ngIf", !ctx_r0.isMobile)("ngIfElse", _r21);
530
565
  i0.ɵɵadvance(6);
531
566
  i0.ɵɵproperty("recipe", ctx_r0.recipe)("serves", ctx_r0.recipe == null ? null : ctx_r0.recipe.modifiedGuests);
532
567
  i0.ɵɵadvance(1);
533
568
  i0.ɵɵproperty("ngIf", ctx_r0.previewAllowed);
534
569
  } }
535
570
  function RecipeDetailsComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
536
- const _r58 = i0.ɵɵgetCurrentView();
537
- i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 72);
538
- i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_template_1_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r58); const ctx_r57 = i0.ɵɵnextContext(); return ctx_r57.toggleAddon(); });
571
+ const _r64 = i0.ɵɵgetCurrentView();
572
+ i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 80);
573
+ i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_template_1_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return ctx_r63.toggleAddon(); });
539
574
  i0.ɵɵelementEnd();
540
575
  } if (rf & 2) {
541
576
  const ctx_r2 = i0.ɵɵnextContext();
@@ -550,8 +585,8 @@ export class RecipeDetailsComponent {
550
585
  this.posService = posService;
551
586
  this.recipeEventsService = recipeEventsService;
552
587
  this.contextService = contextService;
553
- this.forceIngredientsStepstoggle = false;
554
588
  this.previewAllowed = true;
589
+ this.ingredientsPictures = false;
555
590
  this.recipeAdded = new EventEmitter();
556
591
  this.recipeChanged = new EventEmitter();
557
592
  this.recipeError = new EventEmitter();
@@ -564,22 +599,51 @@ export class RecipeDetailsComponent {
564
599
  this.ingredientsChecked = {};
565
600
  this.showIngredient = true;
566
601
  this.closeIconhidden = new BehaviorSubject(false);
602
+ this.scrollListenerInitialised = false;
567
603
  this.subscriptions = [];
568
604
  this.isMobile = this.mediaMatcher.matchMedia('(max-width: 1023px)').matches;
569
605
  }
570
- onScroll($event) {
571
- if ($event.srcElement.scrollTop > 300 !== this.closeIconhidden.value) {
572
- this.closeIconhidden.next($event.srcElement.scrollTop > 300);
573
- }
574
- }
575
606
  ngOnChanges() {
576
- this.isMobile = this.forceIngredientsStepstoggle ? true : this.isMobile;
607
+ var _a;
608
+ // if forceIngredientsStepstoggle, use isMobile to toggle ingredients & steps in mobile mode, else
609
+ // Use the value of forceIngredientsStepstoggle to force it to mobile (true) or desktop (false)
610
+ if (this.forceIngredientsStepstoggle !== undefined) {
611
+ this.isMobile = this.forceIngredientsStepstoggle;
612
+ }
613
+ this.showVideo = false; // force reload video player
614
+ this.cdr.detectChanges();
615
+ this.showVideo = this.contextService.videoRecipesEnabled && ((_a = this.recipe) === null || _a === void 0 ? void 0 : _a.videoId);
577
616
  if (this.recipe) {
578
617
  this.steps = this.recipe.steps;
579
618
  this.activeStep = 0;
580
619
  this.cdr.detectChanges();
581
620
  }
582
621
  }
622
+ ngAfterViewChecked() {
623
+ var _a, _b;
624
+ this.playerWidth = Math.min(640, (_b = (_a = this.topContainerImg) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.offsetWidth);
625
+ this.playerHeight = this.playerWidth * 390 / 640;
626
+ if (!this.scrollListenerInitialised) {
627
+ this.initScrollListener();
628
+ }
629
+ }
630
+ /**
631
+ * Init the listener on scroll so the modal can hide the close icon
632
+ */
633
+ initScrollListener() {
634
+ if (this.mainContainer) {
635
+ const intersectionObserver = new IntersectionObserver(([entry]) => {
636
+ if (this.mainContainer.nativeElement.scrollTop > 300 !== this.closeIconhidden.value) {
637
+ this.closeIconhidden.next(this.mainContainer.nativeElement.scrollTop > 300);
638
+ }
639
+ }, {
640
+ threshold: [0, 0.33, 0.66, 1],
641
+ root: this.mainContainer.nativeElement
642
+ });
643
+ intersectionObserver.observe(this.topContainerImg.nativeElement);
644
+ this.scrollListenerInitialised = true;
645
+ }
646
+ }
583
647
  changeActiveStep(index) {
584
648
  this.activeStep = index;
585
649
  this.cdr.detectChanges();
@@ -633,17 +697,25 @@ export class RecipeDetailsComponent {
633
697
  this.showIngredient = isShowed;
634
698
  this.cdr.detectChanges();
635
699
  }
700
+ ingredientPicture(ingredient) {
701
+ return ingredient.picture || this.contextService.defaultIngredientPicture;
702
+ }
636
703
  }
637
704
  RecipeDetailsComponent.ɵfac = function RecipeDetailsComponent_Factory(t) { return new (t || RecipeDetailsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher), i0.ɵɵdirectiveInject(i2.GroceriesListsService), i0.ɵɵdirectiveInject(i2.UserService), i0.ɵɵdirectiveInject(i2.PointOfSalesService), i0.ɵɵdirectiveInject(i2.RecipeEventsService), i0.ɵɵdirectiveInject(i2.ContextService)); };
638
- RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsComponent, selectors: [["ng-miam-recipe-details"]], hostBindings: function RecipeDetailsComponent_HostBindings(rf, ctx) { if (rf & 1) {
639
- i0.ɵɵlistener("scroll", function RecipeDetailsComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); });
640
- } }, inputs: { recipe: "recipe", forceIngredientsStepstoggle: "forceIngredientsStepstoggle", previewAllowed: "previewAllowed" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 3, "scroll", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details", 3, "scroll"], [1, "miam-recipe-details__top__container"], [1, "miam-recipe-details__top__left"], [1, "miam-recipe-details__top__container__img"], [3, "src"], [1, "miam-recipe-details__picture__gradient"], ["class", "miam-recipe-details__picture__tag", 4, "ngIf"], [1, "miam-recipe-details__img__actions"], ["class", "miam-recipe-details__actions__icon miam-noPadding", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName"], ["class", "miam-recipe-details__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__top__container__info"], [1, "miam-recipe-details__info__metrics", "miam-recipe-details__info__metrics__total"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], [1, "miam-recipe-details__info__times"], ["class", "miam-recipe-details__info__metrics", 4, "ngIf"], [1, "miam-recipe-details__top__container__infos"], [1, "miam-recipe-details__top__container__infos__top"], [1, "miam-recipe-details__infos__type"], [1, "miam-recipe-details__infos__title"], [1, "miam-recipe-details__infos__difficulty"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "miam-recipe-details__infos__description"], [1, "miam-recipe-details__description__action", 3, "click"], [1, "miam-recipe-details__infos__price__wrapper"], [1, "miam-recipe-details__infos__price"], [3, "recipe", "serves"], ["class", "miam-recipe-details__infos__action m-button-fab-primary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__mid__container"], [3, "recipe", "showAddon", 4, "ngIf"], ["class", "miam-recipe-details__bottom__container", 4, "ngIf", "ngIfElse"], ["mobileContainer", ""], [1, "miam-recipe-details__bottom__container__action"], [1, "miam-recipe-details__picture__tag"], [1, "miam-recipe-details__actions__icon", "miam-noPadding", 3, "recipe", "width", "height"], [1, "miam-recipe-details__picture__sponsor", 3, "src"], [1, "miam-recipe-details__info__metrics"], [1, "miam-recipe-details__metrics__row"], ["primaryColor", "var(--m-color-slate)", 3, "width", "height", "iconName"], [3, "width", "height", "iconName"], [1, "miam-recipe-details__infos__action", "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "showAddon"], [1, "miam-recipe-details__bottom__container"], [1, "miam-recipe-details__bottom__container__ingredients"], [1, "miam-recipe-details__bottom__container__header"], [1, "miam-recipe-details__ingredients__row"], [1, "miam-recipe-details__ingredients__counter"], [3, "counter", "counterChange"], [1, "miam-recipe-details__ingredients__counter__print"], [1, "miam-recipe-details__ingredients__row__qty"], [1, "miam-recipe-details__ingredients__list"], ["class", "miam-recipe-details__ingredients__row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__bottom__container__steps"], [1, "miam-recipe-details__steps__list"], ["class", "miam-recipe-details__steps__list__panel", 3, "active", "miam-recipe-details__panel__done", "click", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__ingredients__row", 3, "ngClass"], [1, "miam-recipe-details__steps__list__panel", 3, "click"], [1, "miam-recipe-details__panel__idx"], [1, "miam-recipe-details__panel__text"], ["class", "miam-recipe-details__panel__checkIcon", "primaryColor", "var(--m-color-secondary)", 3, "height", "width", "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-secondary)", 1, "miam-recipe-details__panel__checkIcon", 3, "height", "width", "iconName"], [1, "miam-recipe-details__mobile__container"], ["mobileContainerTop", ""], [1, "miam-recipe-details__mobile__header"], [1, "m-button-secondary", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["stepsContainer", ""], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
641
- i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 60, 45, "div", 0);
705
+ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsComponent, selectors: [["ng-miam-recipe-details"]], viewQuery: function RecipeDetailsComponent_Query(rf, ctx) { if (rf & 1) {
706
+ i0.ɵɵviewQuery(_c0, true);
707
+ i0.ɵɵviewQuery(_c1, true);
708
+ } if (rf & 2) {
709
+ var _t;
710
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topContainerImg = _t.first);
711
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.mainContainer = _t.first);
712
+ } }, inputs: { recipe: "recipe", forceIngredientsStepstoggle: "forceIngredientsStepstoggle", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details"], ["mainContainer", ""], [1, "miam-recipe-details__top__container"], [1, "miam-recipe-details__top__left"], [1, "miam-recipe-details__top__container__img"], ["topContainerImg", ""], [3, "src", 4, "ngIf"], ["class", "miam-recipe-details__picture__gradient", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], ["class", "miam-recipe-details__picture__tag", 4, "ngIf"], [1, "miam-recipe-details__img__actions"], ["class", "miam-recipe-details__actions__icon miam-noPadding", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName"], ["class", "miam-recipe-details__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__top__container__info"], [1, "miam-recipe-details__info__metrics", "miam-recipe-details__info__metrics__total"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], [1, "miam-recipe-details__info__times"], ["class", "miam-recipe-details__info__metrics", 4, "ngIf"], [1, "miam-recipe-details__top__container__infos"], [1, "miam-recipe-details__top__container__infos__top"], [1, "miam-recipe-details__infos__type"], [1, "miam-recipe-details__infos__title"], [1, "miam-recipe-details__infos__difficulty"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "miam-recipe-details__infos__description"], [1, "miam-recipe-details__description__action", 3, "click"], [1, "miam-recipe-details__infos__price__wrapper"], [1, "miam-recipe-details__infos__price"], [3, "recipe", "serves"], ["class", "miam-recipe-details__infos__action m-button-fab-primary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__mid__container"], [3, "recipe", "showAddon", 4, "ngIf"], ["class", "miam-recipe-details__bottom__container", 4, "ngIf", "ngIfElse"], ["mobileContainer", ""], [1, "miam-recipe-details__bottom__container__action"], [3, "src"], [1, "miam-recipe-details__picture__gradient"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__picture__tag"], [1, "miam-recipe-details__actions__icon", "miam-noPadding", 3, "recipe", "width", "height"], [1, "miam-recipe-details__picture__sponsor", 3, "src"], [1, "miam-recipe-details__info__metrics"], [1, "miam-recipe-details__metrics__row"], ["primaryColor", "var(--m-color-slate)", 3, "width", "height", "iconName"], [3, "width", "height", "iconName"], [1, "miam-recipe-details__infos__action", "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "showAddon"], [1, "miam-recipe-details__bottom__container"], [1, "miam-recipe-details__bottom__container__ingredients"], [1, "miam-recipe-details__bottom__container__header"], [1, "miam-recipe-details__ingredients__row"], [1, "miam-recipe-details__ingredients__counter"], [3, "counter", "counterChange"], [1, "miam-recipe-details__ingredients__counter__print"], [1, "miam-recipe-details__ingredients__row__qty"], [1, "miam-recipe-details__ingredients__list"], ["class", "miam-recipe-details__ingredients__row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__bottom__container__steps"], [1, "miam-recipe-details__steps__list"], ["class", "miam-recipe-details__steps__list__panel", 3, "active", "miam-recipe-details__panel__done", "click", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__ingredients__row", 3, "ngClass"], [4, "ngIf"], [1, "miam-recipe-details__ingredients__row__picture", 3, "src"], [1, "miam-recipe-details__steps__list__panel", 3, "click"], [1, "miam-recipe-details__panel__idx"], [1, "miam-recipe-details__panel__text"], ["class", "miam-recipe-details__panel__checkIcon", "primaryColor", "var(--m-color-secondary)", 3, "height", "width", "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-secondary)", 1, "miam-recipe-details__panel__checkIcon", 3, "height", "width", "iconName"], [1, "miam-recipe-details__mobile__container"], ["mobileContainerTop", ""], [1, "miam-recipe-details__mobile__header"], [1, "m-button-secondary", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["stepsContainer", ""], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
713
+ i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 63, 47, "div", 0);
642
714
  i0.ɵɵtemplate(1, RecipeDetailsComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
643
715
  } if (rf & 2) {
644
716
  const _r1 = i0.ɵɵreference(2);
645
717
  i0.ɵɵproperty("ngIf", ctx.showDetail)("ngIfElse", _r1);
646
- } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.RecipePricingComponent, i6.LikeButtonComponent, i7.AddonLinkComponent, i8.CounterInputComponent, i3.NgForOf, i3.NgClass, i9.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i10.CapitalizeFirstLetterPipe, i11.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{border-radius:var(--m-border-radius);height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
718
+ } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.RecipePricingComponent, i6.YouTubePlayer, i7.LikeButtonComponent, i8.AddonLinkComponent, i9.CounterInputComponent, i3.NgForOf, i3.NgClass, i10.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i11.CapitalizeFirstLetterPipe, i12.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
647
719
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeDetailsComponent, [{
648
720
  type: Component,
649
721
  args: [{
@@ -659,14 +731,19 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
659
731
  type: Input
660
732
  }], previewAllowed: [{
661
733
  type: Input
734
+ }], ingredientsPictures: [{
735
+ type: Input
662
736
  }], recipeAdded: [{
663
737
  type: Output
664
738
  }], recipeChanged: [{
665
739
  type: Output
666
740
  }], recipeError: [{
667
741
  type: Output
668
- }], onScroll: [{
669
- type: HostListener,
670
- args: ['scroll', ['$event']]
742
+ }], topContainerImg: [{
743
+ type: ViewChild,
744
+ args: ['topContainerImg']
745
+ }], mainContainer: [{
746
+ type: ViewChild,
747
+ args: ['mainContainer']
671
748
  }] }); })();
672
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ0QzQywrQkFDNEM7SUFBQSwyQ0FBWTtJQUFBLGlCQUFNOzs7SUFFNUQsMENBRXNCOzs7SUFEc0Msc0NBQWlCLGFBQUEsY0FBQTs7O0lBTy9FLDBCQUNGOzs7SUFEcUYsaUZBQWlDOzs7SUFRbEgsK0JBQ0U7SUFBQSw0QkFBTTtJQUFBLGdD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OFBBRVUsTUFBTTtrQkFBZCxLQUFLO1lBQ0csMkJBQTJCO2tCQUFuQyxLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNJLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxhQUFhO2tCQUF0QixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQTBCUCxRQUFRO2tCQURQLFlBQVk7bUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RvcEV2ZW50UHJvcGFnYXRpb24gfSBmcm9tICcuLi8uLi9fdXRpbHMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJlY2lwZTogUmVjaXBlO1xuICBASW5wdXQoKSBmb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBAT3V0cHV0KCkgcmVjaXBlQWRkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUVycm9yOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGlzTW9iaWxlID0gZmFsc2U7XG4gIHB1YmxpYyB0YWIgPSAwO1xuICBwdWJsaWMgc2hvd0RldGFpbCA9IHRydWU7XG4gIHB1YmxpYyBzdGVwczogYW55W10gPSBbXTtcbiAgcHVibGljIGFjdGl2ZVN0ZXAgPSAwO1xuICBwdWJsaWMgaWNvbiA9IEljb247XG4gIHB1YmxpYyBpbmdyZWRpZW50c0NoZWNrZWQgPSB7fTtcbiAgcHVibGljIHNob3dJbmdyZWRpZW50ID0gdHJ1ZTtcbiAgcHVibGljIGNsb3NlSWNvbmhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZUV2ZW50c1NlcnZpY2U6IFJlY2lwZUV2ZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyM3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdzY3JvbGwnLCBbJyRldmVudCddKVxuICBvblNjcm9sbCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LnNyY0VsZW1lbnQuc2Nyb2xsVG9wID4gMzAwICE9PSB0aGlzLmNsb3NlSWNvbmhpZGRlbi52YWx1ZSkge1xuICAgICAgdGhpcy5jbG9zZUljb25oaWRkZW4ubmV4dCgkZXZlbnQuc3JjRWxlbWVudC5zY3JvbGxUb3AgPiAzMDApIDtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy5mb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGUgPyB0cnVlIDogdGhpcy5pc01vYmlsZTtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLnJlY2lwZS5zdGVwcztcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCA9IDA7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlQWN0aXZlU3RlcChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVTdGVwID0gaW5kZXg7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgYWRkUmVjaXBlKCk6IHZvaWQge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNMb2dnZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZSgxKSksXG4gICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICBdKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IGlzSG9va09rID0gdGhpcy5jb250ZXh0U2VydmljZS5ob29rQ2FsbGJhY2socmVzWzBdLCByZXNbMV0pO1xuICAgICAgaWYgKGlzSG9va09rKSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uT0soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uS08oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbk9LKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQudmFsdWUuaGFzUmVjaXBlKHRoaXMucmVjaXBlLmlkKSl7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKVxuICAgIH1cbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzKTtcbiAgICB0aGlzLnJlY2lwZUFkZGVkLmVtaXQoKTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbktPKCk6IHZvaWQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ19taWFtL2NhY2hlZC1yZWNpcGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2lwZSkpO1xuICAgIHRoaXMucmVjaXBlRXJyb3IuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlR3Vlc3RzKGd1ZXN0cykge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzO1xuICAgIHRoaXMucmVjaXBlQ2hhbmdlZC5lbWl0KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgd2luZG93LnByaW50KCk7XG4gIH1cblxuICBvcGVuQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICBzaGFyZVJlY2lwZShldmVudDogRXZlbnQpIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgLy8gVE9ETyBpbXBsZW1lbnRcbiAgfVxuXG4gIHRvZ2dsZUFkZG9uKCl7XG4gICAgdGhpcy5zaG93RGV0YWlsID0gICF0aGlzLnNob3dEZXRhaWw7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlU2hvd0luZ3JlZGllbnQoaXNTaG93ZWQ6IGJvb2xlYW4pe1xuICAgIHRoaXMuc2hvd0luZ3JlZGllbnQgPSBpc1Nob3dlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93RGV0YWlsIGVsc2UgYWRkb25cIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNcIiAgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCI+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190b3BfX2NvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190b3BfX2xlZnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190b3BfX2NvbnRhaW5lcl9faW1nXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJyZWNpcGU/LmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX19ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpXCJcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVfX3RhZ1wiPkTDqWrDoCBham91dMOpZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW1nX19hY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b24gKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb24gbWlhbS1ub1BhZGRpbmdcIiBbcmVjaXBlXT0ncmVjaXBlJyBbd2lkdGhdPVwiMjZcIiBbaGVpZ2h0XT1cIjI2XCI+XG4gICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiIFtpY29uTmFtZV09XCJpY29uLkNhbGVuZGFyXCJcbiAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIiBbd2lkdGhdPVwiMjZcIiBbaGVpZ2h0XT1cIjI2XCIgW2ljb25OYW1lXT1cImljb24uU2hhcmVcIlxuICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJz48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJyZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fc3BvbnNvclwiIHNyYz1cInt7cmVjaXBlLmZpbGlncmFuZUxvZ29Vcmx9fVwiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3MgbWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc19fdG90YWxcIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknIFt3aWR0aF09XCIzMlwiIFtoZWlnaHRdPVwiMzJcIiBbaWNvbk5hbWVdPVwiaWNvbi5UaW1lXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPHNwYW4+VGVtcHMgdG90YWwgOiB7eyByZWNpcGU/LnRvdGFsVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX190aW1lc1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LnByZXBhcmF0aW9uVGltZSAhPT0gJy0nXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX19tZXRyaWNzXCI+XG4gICAgICAgICAgICA8c3Bhbj5QcsOpcGFyYXRpb248L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLlByZXBhcmF0aW9uXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHJlY2lwZT8ucHJlcGFyYXRpb25UaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8uY29va2luZ1RpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+Q3Vpc3Nvbjwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tZXRyaWNzX19yb3dcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLkhvdFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LmNvb2tpbmdUaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8ucmVzdGluZ1RpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+UmVwb3M8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5XYWl0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHJlY2lwZT8ucmVzdGluZ1RpbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9zX190b3BcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fdHlwZVwiPnt7cmVjaXBlPy5yZWNpcGVUeXBlPy5hdHRyaWJ1dGVzPy5uYW1lIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX190aXRsZVwiPnt7cmVjaXBlPy5hdHRyaWJ1dGVzWyd0aXRsZSddfX08L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fZGlmZmljdWx0eVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlY2lwZT8uZGlmZmljdWx0eUxhYmVsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFjaWxlJ1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI1NlwiIFtoZWlnaHRdPVwiMTZcIiBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TG93XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb3llbidcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eU1lZGl1bVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGlmZmljaWxlJ1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI1NlwiIFtoZWlnaHRdPVwiMTZcIiBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5SGlnaHRcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxzcGFuPnt7cmVjaXBlPy5kaWZmaWN1bHR5TGFiZWwgfCB0aXRsZWNhc2UgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgcmVjaXBlPy5hdHRyaWJ1dGVzWydkZXNjcmlwdGlvbiddIH19XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Rlc2NyaXB0aW9uX19hY3Rpb25cIiAoY2xpY2spPVwicHJpbnQoKVwiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmludFwiPlxuICAgICAgICAgICAgPC9uZy1taWFtLWljb24+IDxzcGFuPiBJbXByaW1lciBsYSByZWNldHRlIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VfX3dyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nIFtyZWNpcGVdPVwicmVjaXBlXCIgW3NlcnZlc109XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzXCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJhZGRSZWNpcGUoKVwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3soZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyAnVm9pciBsZSBkw6l0YWlsJyA6ICdTw6lsZWN0aW9ubmVyIGNlIHJlcGFzJ319XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZidcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyBpY29uLkNoZWNrTGlzdCA6IGljb24uQ2FydFwiPlxuICAgICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21pZF9fY29udGFpbmVyXCI+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxuZy1taWFtLWFkZG9uLWxpbmsgKm5nSWY9XCJyZWNpcGU/LnNwb25zb3JzPy5sZW5ndGggPiAwIHx8IHJlY2lwZS5pbmZvcm1hdGlvbmFsU2VudGVuY2VcIlxuICAgICAgW3JlY2lwZV09J3JlY2lwZScgKHNob3dBZGRvbik9J3RvZ2dsZUFkZG9uKCknPjwvbmctbWlhbS1hZGRvbi1saW5rPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFpc01vYmlsZSBlbHNlIG1vYmlsZUNvbnRhaW5lclwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2luZ3JlZGllbnRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBJbmdyw6lkaWVudHNcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyXCI+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzIHx8IHJlY2lwZS5ndWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJfX3ByaW50XCI+UG91ciB7e3JlY2lwZT8ubW9kaWZpZWRHdWVzdHN9fVxuICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj5RdWFudGl0w6k8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGluZ3JlZGllbnRzQ2hlY2tlZFtpXX1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICA8ZGl2PiB7eyBpbmdyZWRpZW50Lm5hbWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJ9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj4ge3sgaW5ncmVkaWVudC5xdHkgfCByZWFkYWJsZUZsb2F0TnVtYmVyIDpcbiAgICAgICAgICAgIGluZ3JlZGllbnQudW5pdCB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib3R0b21fX2NvbnRhaW5lcl9fc3RlcHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib3R0b21fX2NvbnRhaW5lcl9faGVhZGVyXCI+XG4gICAgICAgIFByw6lwYXJhdGlvblxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0X19wYW5lbFwiICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUFjdGl2ZVN0ZXAoaSlcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBcIlxuICAgICAgICAgIFtjbGFzcy5taWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fZG9uZV09XCJpIDwgYWN0aXZlU3RlcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9faWR4XCI+PHN0cm9uZz57eyBpIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX190ZXh0XCI+e3tzdGVwPy5hdHRyaWJ1dGVzPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19jaGVja0ljb25cIiAqbmdJZj1cImkgPD0gYWN0aXZlU3RlcFwiIFtoZWlnaHRdPScxNicgW3dpZHRoXT0nMTYnXG4gICAgICAgICAgICBbaWNvbk5hbWVdPSdpY29uLkNoZWNrQ2lyY2xlRmlsbCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI21vYmlsZUNvbnRhaW5lciA+XG4gICAgPGRpdiAjbW9iaWxlQ29udGFpbmVyVG9wIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbW9iaWxlX19jb250YWluZXJcIj5cbiAgICAgIDxkaXYgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbW9iaWxlX19oZWFkZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm0tYnV0dG9uLXNlY29uZGFyeVwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJyA6IHNob3dJbmdyZWRpZW50fVwiIChjbGljayk9XCJ0b2dnbGVTaG93SW5ncmVkaWVudCh0cnVlKTsgbW9iaWxlQ29udGFpbmVyVG9wLnNjcm9sbEludG9WaWV3KClcIj5JbmdyZWRpZW50czwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tc2Vjb25kYXJ5XCIgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogIXNob3dJbmdyZWRpZW50fVwiIChjbGljayk9XCJ0b2dnbGVTaG93SW5ncmVkaWVudChmYWxzZSk7IG1vYmlsZUNvbnRhaW5lclRvcC5zY3JvbGxJbnRvVmlldygpXCI+UHLDqXBhcmF0aW9uPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgICpuZ0lmPVwic2hvd0luZ3JlZGllbnQgZWxzZSBzdGVwc0NvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzXCIgKGNvdW50ZXJDaGFuZ2UpPVwidXBkYXRlR3Vlc3RzKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJfX3ByaW50XCI+UG91ciB7e3JlY2lwZT8ubW9kaWZpZWRHdWVzdHN9fVxuICAgICAgICAgICAgICAgIHBlcnNvbm5lczwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj5RdWFudGl0w6k8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19saXN0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGluZ3JlZGllbnRzQ2hlY2tlZFtpXX1cIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaW5ncmVkaWVudCBvZiByZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHMsIGxldCBpID0gaW5kZXggXCI+XG4gICAgICAgICAgICAgIDxkaXY+IHt7IGluZ3JlZGllbnQubmFtZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj4ge3sgaW5ncmVkaWVudC5xdHkgfCByZWFkYWJsZUZsb2F0TnVtYmVyIDpcbiAgICAgICAgICAgICAgICBpbmdyZWRpZW50LnVuaXQgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RlcHNDb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0X19wYW5lbFwiICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUFjdGl2ZVN0ZXAoaSlcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5taWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fZG9uZV09XCJpIDwgYWN0aXZlU3RlcFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9faWR4XCI+PHN0cm9uZz57eyBpIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX190ZXh0XCI+e3tzdGVwPy5hdHRyaWJ1dGVzPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19jaGVja0ljb25cIiAqbmdJZj1cImkgPD0gYWN0aXZlU3RlcFwiIFtoZWlnaHRdPScxNicgW3dpZHRoXT0nMTYnXG4gICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPSdpY29uLkNoZWNrQ2lyY2xlRmlsbCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib3R0b21fX2NvbnRhaW5lcl9fYWN0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZV9fd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJhZGRSZWNpcGUoKVwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyhncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/ICdWb2lyIGxlIGTDqXRhaWwnIDogJ1PDqWxlY3Rpb25uZXIgY2UgcmVwYXMnfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/IGljb24uQ2hlY2tMaXN0ICA6aWNvbi5DYXJ0XCI+XG4gICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2FkZG9uPlxuICA8bmctbWlhbS1yZWNpcGUtYWRkb24gW3JlY2lwZV09J3JlY2lwZScgKGhpZGVBZGRvbik9XCJ0b2dnbGVBZGRvbigpXCI+PC9uZy1taWFtLXJlY2lwZS1hZGRvbj5cbjwvbmctdGVtcGxhdGU+Il19
749
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNmM0MsMEJBQ0E7OztJQUR3Qiw0R0FBdUM7OztJQUMvRCwwQkFBNkU7OztJQUM3RSxxQ0FLa0I7OztJQUhoQiwrQ0FBMEIsNkJBQUEsK0JBQUE7OztJQUs1QiwrQkFDNEM7SUFBQSwyQ0FBWTtJQUFBLGlCQUFN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LElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7SUFDNUUsQ0FBQzs7NEZBbEpVLHNCQUFzQjsyREFBdEIsc0JBQXNCOzs7Ozs7OztRQzdCbkMseUVBQ0U7UUF5TUYsd0hBQ0U7OztRQTNNRyxxQ0FBNkIsaUJBQUE7O2tERDZCckIsc0JBQXNCO2NBUGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzhQQUVVLE1BQU07a0JBQWQsS0FBSztZQUNHLDJCQUEyQjtrQkFBbkMsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFFdUIsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7WUFDQSxhQUFhO2tCQUF4QyxTQUFTO21CQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBQb2ludE9mU2FsZXNTZXJ2aWNlLCBSZWNpcGVFdmVudHNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vX3V0aWxzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBASW5wdXQoKSByZWNpcGU6IFJlY2lwZTtcbiAgQElucHV0KCkgZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlO1xuICBASW5wdXQoKSBwcmV2aWV3QWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIGluZ3JlZGllbnRzUGljdHVyZXMgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJlY2lwZUFkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWNpcGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWNpcGVFcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RvcENvbnRhaW5lckltZycpIHRvcENvbnRhaW5lckltZzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbWFpbkNvbnRhaW5lcicpIG1haW5Db250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgdGFiID0gMDtcbiAgc2hvd0RldGFpbCA9IHRydWU7XG4gIHN0ZXBzOiBhbnlbXSA9IFtdO1xuICBhY3RpdmVTdGVwID0gMDtcbiAgaWNvbiA9IEljb247XG4gIGluZ3JlZGllbnRzQ2hlY2tlZCA9IHt9O1xuICBzaG93SW5ncmVkaWVudCA9IHRydWU7XG4gIGNsb3NlSWNvbmhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwbGF5ZXJXaWR0aDtcbiAgcGxheWVySGVpZ2h0O1xuICBzaG93VmlkZW87XG4gIHNjcm9sbExpc3RlbmVySW5pdGlhbGlzZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICAgcHVibGljIGdyb2Nlcmllc0xpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyM3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBpZiBmb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGUsIHVzZSBpc01vYmlsZSB0byB0b2dnbGUgaW5ncmVkaWVudHMgJiBzdGVwcyBpbiBtb2JpbGUgbW9kZSwgZWxzZVxuICAgIC8vIFVzZSB0aGUgdmFsdWUgb2YgZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlIHRvIGZvcmNlIGl0IHRvIG1vYmlsZSAodHJ1ZSkgb3IgZGVza3RvcCAoZmFsc2UpXG4gICAgaWYgKHRoaXMuZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLmZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZTtcbiAgICB9XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTsgLy8gZm9yY2UgcmVsb2FkIHZpZGVvIHBsYXllclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNob3dWaWRlbyA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZT8udmlkZW9JZDtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLnJlY2lwZS5zdGVwcztcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCA9IDA7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMucGxheWVyV2lkdGggPSBNYXRoLm1pbig2NDAsIHRoaXMudG9wQ29udGFpbmVySW1nPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aCk7XG4gICAgdGhpcy5wbGF5ZXJIZWlnaHQgPSB0aGlzLnBsYXllcldpZHRoICogMzkwIC8gNjQwO1xuICAgIGlmICghdGhpcy5zY3JvbGxMaXN0ZW5lckluaXRpYWxpc2VkKSB7XG4gICAgICB0aGlzLmluaXRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHRoZSBsaXN0ZW5lciBvbiBzY3JvbGwgc28gdGhlIG1vZGFsIGNhbiBoaWRlIHRoZSBjbG9zZSBpY29uXG4gICAqL1xuICBpbml0U2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMubWFpbkNvbnRhaW5lcikge1xuICAgICAgY29uc3QgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCAhPT0gdGhpcy5jbG9zZUljb25oaWRkZW4udmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlSWNvbmhpZGRlbi5uZXh0KHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCkgO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aHJlc2hvbGQ6IFswLCAwLjMzLCAwLjY2LCAxXSxcbiAgICAgICAgcm9vdDogdGhpcy5tYWluQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgIH0pO1xuICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRvcENvbnRhaW5lckltZy5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJJbml0aWFsaXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlQWN0aXZlU3RlcChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVTdGVwID0gaW5kZXg7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgYWRkUmVjaXBlKCk6IHZvaWQge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNMb2dnZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZSgxKSksXG4gICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICBdKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IGlzSG9va09rID0gdGhpcy5jb250ZXh0U2VydmljZS5ob29rQ2FsbGJhY2socmVzWzBdLCByZXNbMV0pO1xuICAgICAgaWYgKGlzSG9va09rKSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uT0soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uS08oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbk9LKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQudmFsdWUuaGFzUmVjaXBlKHRoaXMucmVjaXBlLmlkKSl7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKVxuICAgIH1cbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzKTtcbiAgICB0aGlzLnJlY2lwZUFkZGVkLmVtaXQoKTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbktPKCk6IHZvaWQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ19taWFtL2NhY2hlZC1yZWNpcGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2lwZSkpO1xuICAgIHRoaXMucmVjaXBlRXJyb3IuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlR3Vlc3RzKGd1ZXN0cykge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzO1xuICAgIHRoaXMucmVjaXBlQ2hhbmdlZC5lbWl0KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgd2luZG93LnByaW50KCk7XG4gIH1cblxuICBvcGVuQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICBzaGFyZVJlY2lwZShldmVudDogRXZlbnQpIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgLy8gVE9ETyBpbXBsZW1lbnRcbiAgfVxuXG4gIHRvZ2dsZUFkZG9uKCl7XG4gICAgdGhpcy5zaG93RGV0YWlsID0gICF0aGlzLnNob3dEZXRhaWw7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlU2hvd0luZ3JlZGllbnQoaXNTaG93ZWQ6IGJvb2xlYW4pe1xuICAgIHRoaXMuc2hvd0luZ3JlZGllbnQgPSBpc1Nob3dlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpbmdyZWRpZW50UGljdHVyZShpbmdyZWRpZW50OiBJbmdyZWRpZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5ncmVkaWVudC5waWN0dXJlIHx8IHRoaXMuY29udGV4dFNlcnZpY2UuZGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2hvd0RldGFpbCBlbHNlIGFkZG9uXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzXCIgI21haW5Db250YWluZXIgPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19sZWZ0XCI+XG4gICAgICA8ZGl2ICN0b3BDb250YWluZXJJbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190b3BfX2NvbnRhaW5lcl9faW1nXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCIhc2hvd1ZpZGVvXCIgW3NyY109XCJyZWNpcGU/LmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1ZpZGVvXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX19ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICA8eW91dHViZS1wbGF5ZXJcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWRlbyAmJiBwbGF5ZXJXaWR0aFwiXG4gICAgICAgICAgW3ZpZGVvSWRdPVwicmVjaXBlLnZpZGVvSWRcIlxuICAgICAgICAgIFt3aWR0aF09XCJwbGF5ZXJXaWR0aFwiXG4gICAgICAgICAgW2hlaWdodF09XCJwbGF5ZXJIZWlnaHRcIlxuICAgICAgICA+PC95b3V0dWJlLXBsYXllcj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpXCJcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVfX3RhZ1wiPkTDqWrDoCBham91dMOpZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW1nX19hY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b24gKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb24gbWlhbS1ub1BhZGRpbmdcIiBbcmVjaXBlXT0ncmVjaXBlJyBbd2lkdGhdPVwiMjZcIiBbaGVpZ2h0XT1cIjI2XCI+XG4gICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiIFtpY29uTmFtZV09XCJpY29uLkNhbGVuZGFyXCJcbiAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIiBbd2lkdGhdPVwiMjZcIiBbaGVpZ2h0XT1cIjI2XCIgW2ljb25OYW1lXT1cImljb24uU2hhcmVcIlxuICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJz48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJyZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fc3BvbnNvclwiIHNyYz1cInt7cmVjaXBlLmZpbGlncmFuZUxvZ29Vcmx9fVwiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3MgbWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc19fdG90YWxcIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknIFt3aWR0aF09XCIzMlwiIFtoZWlnaHRdPVwiMzJcIiBbaWNvbk5hbWVdPVwiaWNvbi5UaW1lXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPHNwYW4+VGVtcHMgdG90YWwgOiB7eyByZWNpcGU/LnRvdGFsVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX190aW1lc1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LnByZXBhcmF0aW9uVGltZSAhPT0gJy0nXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX19tZXRyaWNzXCI+XG4gICAgICAgICAgICA8c3Bhbj5QcsOpcGFyYXRpb248L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLlByZXBhcmF0aW9uXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHJlY2lwZT8ucHJlcGFyYXRpb25UaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8uY29va2luZ1RpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+Q3Vpc3Nvbjwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tZXRyaWNzX19yb3dcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLkhvdFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LmNvb2tpbmdUaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8ucmVzdGluZ1RpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+UmVwb3M8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5XYWl0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHJlY2lwZT8ucmVzdGluZ1RpbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9zX190b3BcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fdHlwZVwiPnt7cmVjaXBlPy5yZWNpcGVUeXBlPy5hdHRyaWJ1dGVzPy5uYW1lIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX190aXRsZVwiPnt7cmVjaXBlPy5hdHRyaWJ1dGVzWyd0aXRsZSddfX08L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fZGlmZmljdWx0eVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlY2lwZT8uZGlmZmljdWx0eUxhYmVsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFjaWxlJ1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI1NlwiIFtoZWlnaHRdPVwiMTZcIiBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TG93XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb3llbidcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eU1lZGl1bVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGlmZmljaWxlJ1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI1NlwiIFtoZWlnaHRdPVwiMTZcIiBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5SGlnaHRcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxzcGFuPnt7cmVjaXBlPy5kaWZmaWN1bHR5TGFiZWwgfCB0aXRsZWNhc2UgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgcmVjaXBlPy5hdHRyaWJ1dGVzWydkZXNjcmlwdGlvbiddIH19XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Rlc2NyaXB0aW9uX19hY3Rpb25cIiAoY2xpY2spPVwicHJpbnQoKVwiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmludFwiPlxuICAgICAgICAgICAgPC9uZy1taWFtLWljb24+IDxzcGFuPiBJbXByaW1lciBsYSByZWNldHRlIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VfX3dyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nIFtyZWNpcGVdPVwicmVjaXBlXCIgW3NlcnZlc109XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzXCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJhZGRSZWNpcGUoKVwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3soZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyAnVm9pciBsZSBkw6l0YWlsJyA6ICdTw6lsZWN0aW9ubmVyIGNlIHJlcGFzJ319XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZidcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyBpY29uLkNoZWNrTGlzdCA6IGljb24uQ2FydFwiPlxuICAgICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21pZF9fY29udGFpbmVyXCI+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxuZy1taWFtLWFkZG9uLWxpbmsgKm5nSWY9XCJyZWNpcGU/LnNwb25zb3JzPy5sZW5ndGggPiAwIHx8IHJlY2lwZS5pbmZvcm1hdGlvbmFsU2VudGVuY2VcIlxuICAgICAgW3JlY2lwZV09J3JlY2lwZScgKHNob3dBZGRvbik9J3RvZ2dsZUFkZG9uKCknPjwvbmctbWlhbS1hZGRvbi1saW5rPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFpc01vYmlsZSBlbHNlIG1vYmlsZUNvbnRhaW5lclwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2luZ3JlZGllbnRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBJbmdyw6lkaWVudHNcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyXCI+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzIHx8IHJlY2lwZS5ndWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJfX3ByaW50XCI+UG91ciB7e3JlY2lwZT8ubW9kaWZpZWRHdWVzdHN9fVxuICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj5RdWFudGl0w6k8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGluZ3JlZGllbnRzQ2hlY2tlZFtpXX1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5ncmVkaWVudHNQaWN0dXJlc1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3BpY3R1cmVcIiBbc3JjXT1cImluZ3JlZGllbnRQaWN0dXJlKGluZ3JlZGllbnQpXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+IHt7IGluZ3JlZGllbnQucXR5IHwgcmVhZGFibGVGbG9hdE51bWJlciA6XG4gICAgICAgICAgICBpbmdyZWRpZW50LnVuaXQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX3N0ZXBzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBQcsOpcGFyYXRpb25cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdF9fcGFuZWxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VBY3RpdmVTdGVwKGkpXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCJcbiAgICAgICAgICBbY2xhc3MubWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2RvbmVdPVwiaSA8IGFjdGl2ZVN0ZXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2lkeFwiPjxzdHJvbmc+e3sgaSArIDEgfX08L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX3RleHRcIj57e3N0ZXA/LmF0dHJpYnV0ZXM/LmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2NoZWNrSWNvblwiICpuZ0lmPVwiaSA8PSBhY3RpdmVTdGVwXCIgW2hlaWdodF09JzE2JyBbd2lkdGhdPScxNidcbiAgICAgICAgICAgIFtpY29uTmFtZV09J2ljb24uQ2hlY2tDaXJjbGVGaWxsJyBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSlcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbW9iaWxlQ29udGFpbmVyID5cbiAgICA8ZGl2ICNtb2JpbGVDb250YWluZXJUb3AgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGVfX2NvbnRhaW5lclwiPlxuICAgICAgPGRpdiAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGVfX2hlYWRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tc2Vjb25kYXJ5XCIgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogc2hvd0luZ3JlZGllbnR9XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dJbmdyZWRpZW50KHRydWUpOyBtb2JpbGVDb250YWluZXJUb3Auc2Nyb2xsSW50b1ZpZXcoKVwiPkluZ3JlZGllbnRzPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnlcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZScgOiAhc2hvd0luZ3JlZGllbnR9XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dJbmdyZWRpZW50KGZhbHNlKTsgbW9iaWxlQ29udGFpbmVyVG9wLnNjcm9sbEludG9WaWV3KClcIj5QcsOpcGFyYXRpb248L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJzaG93SW5ncmVkaWVudCBlbHNlIHN0ZXBzQ29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlclwiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0IFtjb3VudGVyXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlcl9fcHJpbnRcIj5Qb3VyIHt7cmVjaXBlPy5tb2RpZmllZEd1ZXN0c319XG4gICAgICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPlF1YW50aXTDqTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2xpc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCIgW25nQ2xhc3NdPVwieydjaGVja2VkJzogaW5ncmVkaWVudHNDaGVja2VkW2ldfVwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPiB7eyBpbmdyZWRpZW50LnF0eSB8IHJlYWRhYmxlRmxvYXROdW1iZXIgOlxuICAgICAgICAgICAgICAgIGluZ3JlZGllbnQudW5pdCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGVwc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RfX3BhbmVsXCIgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlQWN0aXZlU3RlcChpKVwiIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gYWN0aXZlU3RlcFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19pZHhcIj48c3Ryb25nPnt7IGkgKyAxIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX190ZXh0XCI+e3tzdGVwPy5hdHRyaWJ1dGVzPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19jaGVja0ljb25cIiAqbmdJZj1cImkgPD0gYWN0aXZlU3RlcFwiIFtoZWlnaHRdPScxNicgW3dpZHRoXT0nMTYnXG4gICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPSdpY29uLkNoZWNrQ2lyY2xlRmlsbCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib3R0b21fX2NvbnRhaW5lcl9fYWN0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZV9fd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJhZGRSZWNpcGUoKVwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyhncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/ICdWb2lyIGxlIGTDqXRhaWwnIDogJ1PDqWxlY3Rpb25uZXIgY2UgcmVwYXMnfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/IGljb24uQ2hlY2tMaXN0ICA6aWNvbi5DYXJ0XCI+XG4gICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2FkZG9uPlxuICA8bmctbWlhbS1yZWNpcGUtYWRkb24gW3JlY2lwZV09J3JlY2lwZScgKGhpZGVBZGRvbik9XCJ0b2dnbGVBZGRvbigpXCI+PC9uZy1taWFtLXJlY2lwZS1hZGRvbj5cbjwvbmctdGVtcGxhdGU+Il19