@fundamental-ngx/i18n 0.43.21 → 0.43.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/languages/albanian.mjs +103 -154
- package/esm2020/lib/languages/arabic.mjs +581 -0
- package/esm2020/lib/languages/bulgarian.mjs +367 -500
- package/esm2020/lib/languages/chinese.mjs +292 -365
- package/esm2020/lib/languages/chinese_traditional.mjs +574 -0
- package/esm2020/lib/languages/croatian.mjs +585 -0
- package/esm2020/lib/languages/czech.mjs +274 -336
- package/esm2020/lib/languages/danish.mjs +578 -0
- package/esm2020/lib/languages/dutch.mjs +580 -0
- package/esm2020/lib/languages/english.mjs +83 -149
- package/esm2020/lib/languages/finnish.mjs +581 -0
- package/esm2020/lib/languages/french.mjs +287 -347
- package/esm2020/lib/languages/georgian.mjs +88 -152
- package/esm2020/lib/languages/german.mjs +128 -196
- package/esm2020/lib/languages/greek.mjs +583 -0
- package/esm2020/lib/languages/hebrew.mjs +574 -0
- package/esm2020/lib/languages/hindi.mjs +90 -159
- package/esm2020/lib/languages/hungarian.mjs +586 -0
- package/esm2020/lib/languages/index.mjs +22 -1
- package/esm2020/lib/languages/italian.mjs +251 -325
- package/esm2020/lib/languages/japanese.mjs +578 -0
- package/esm2020/lib/languages/kazakh.mjs +583 -0
- package/esm2020/lib/languages/korean.mjs +574 -0
- package/esm2020/lib/languages/malay.mjs +583 -0
- package/esm2020/lib/languages/norwegian.mjs +578 -0
- package/esm2020/lib/languages/polish.mjs +325 -386
- package/esm2020/lib/languages/portuguese.mjs +88 -155
- package/esm2020/lib/languages/romanian.mjs +583 -0
- package/esm2020/lib/languages/russian.mjs +510 -352
- package/esm2020/lib/languages/serbian.mjs +583 -0
- package/esm2020/lib/languages/slovak.mjs +583 -0
- package/esm2020/lib/languages/slovenian.mjs +583 -0
- package/esm2020/lib/languages/spanish.mjs +583 -0
- package/esm2020/lib/languages/swedish.mjs +581 -0
- package/esm2020/lib/languages/thai.mjs +580 -0
- package/esm2020/lib/languages/turkish.mjs +319 -385
- package/esm2020/lib/languages/ukrainian.mjs +527 -358
- package/fesm2015/fundamental-ngx-i18n.mjs +15993 -4386
- package/fesm2015/fundamental-ngx-i18n.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-i18n.mjs +15993 -4386
- package/fesm2020/fundamental-ngx-i18n.mjs.map +1 -1
- package/fundamental-ngx-i18n-v0.43.22.tgz +0 -0
- package/lib/languages/albanian.d.ts +0 -3
- package/lib/languages/arabic.d.ts +2 -0
- package/lib/languages/bulgarian.d.ts +0 -3
- package/lib/languages/chinese.d.ts +0 -3
- package/lib/languages/chinese_traditional.d.ts +2 -0
- package/lib/languages/croatian.d.ts +2 -0
- package/lib/languages/czech.d.ts +0 -3
- package/lib/languages/danish.d.ts +2 -0
- package/lib/languages/dutch.d.ts +2 -0
- package/lib/languages/english.d.ts +0 -3
- package/lib/languages/finnish.d.ts +2 -0
- package/lib/languages/french.d.ts +0 -3
- package/lib/languages/georgian.d.ts +0 -3
- package/lib/languages/german.d.ts +1 -1
- package/lib/languages/greek.d.ts +2 -0
- package/lib/languages/hebrew.d.ts +2 -0
- package/lib/languages/hindi.d.ts +0 -3
- package/lib/languages/hungarian.d.ts +2 -0
- package/lib/languages/index.d.ts +21 -0
- package/lib/languages/italian.d.ts +0 -3
- package/lib/languages/japanese.d.ts +2 -0
- package/lib/languages/kazakh.d.ts +2 -0
- package/lib/languages/korean.d.ts +2 -0
- package/lib/languages/malay.d.ts +2 -0
- package/lib/languages/norwegian.d.ts +2 -0
- package/lib/languages/polish.d.ts +0 -3
- package/lib/languages/portuguese.d.ts +1 -1
- package/lib/languages/romanian.d.ts +2 -0
- package/lib/languages/russian.d.ts +0 -3
- package/lib/languages/serbian.d.ts +2 -0
- package/lib/languages/slovak.d.ts +2 -0
- package/lib/languages/slovenian.d.ts +2 -0
- package/lib/languages/spanish.d.ts +2 -0
- package/lib/languages/swedish.d.ts +2 -0
- package/lib/languages/thai.d.ts +2 -0
- package/lib/languages/turkish.d.ts +0 -3
- package/lib/languages/ukrainian.d.ts +0 -3
- package/package.json +1 -1
- package/fundamental-ngx-i18n-v0.43.21.tgz +0 -0
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { PluralizationSet1 } from './pluralization/set1';
|
|
2
2
|
const pluralization = new PluralizationSet1();
|
|
3
|
-
/**
|
|
4
|
-
* Default set of translations of Fundamental UI library for Russian language
|
|
5
|
-
*/
|
|
6
3
|
export const FD_LANGUAGE_RUSSIAN = {
|
|
7
4
|
coreCalendar: {
|
|
8
5
|
yearSelectionLabel: 'Выбрать год',
|
|
@@ -50,24 +47,22 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
50
47
|
datetimeOkLabel: 'ОК',
|
|
51
48
|
datetimeCancelLabel: 'Отменить'
|
|
52
49
|
},
|
|
53
|
-
coreFeedListItem: {
|
|
54
|
-
moreLabel: 'Больше',
|
|
55
|
-
lessLabel: 'Меньше'
|
|
56
|
-
},
|
|
50
|
+
coreFeedListItem: { moreLabel: 'Больше', lessLabel: 'Меньше' },
|
|
57
51
|
coreGridList: {
|
|
58
52
|
filterBarCancelButtonTitle: 'Отмена',
|
|
59
|
-
listItemStatusAriaLabel: 'Элемент имеет статус. Статус: {{
|
|
53
|
+
listItemStatusAriaLabel: 'Элемент имеет статус. Статус: {{status}}.',
|
|
60
54
|
listItemCounterAriaLabel: (params) => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return
|
|
70
|
-
|
|
55
|
+
return `Элемент имеет ${(() => {
|
|
56
|
+
if (params['count'] === 1) {
|
|
57
|
+
return `1 дочерний элемент`;
|
|
58
|
+
}
|
|
59
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
60
|
+
return `${params['count']} дочерних элемента`;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return `${params['count']} дочерних элементов`;
|
|
64
|
+
}
|
|
65
|
+
})()}.`;
|
|
71
66
|
},
|
|
72
67
|
listItemButtonDetailsTitle: 'Подробности',
|
|
73
68
|
listItemButtonDeleteTitle: 'Удалить',
|
|
@@ -75,131 +70,119 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
75
70
|
listItemStatusLocked: 'Заблокировано',
|
|
76
71
|
listItemStatusDraft: 'Черновик'
|
|
77
72
|
},
|
|
78
|
-
coreMessageStrip: {
|
|
79
|
-
dismissLabel: 'Закрыть'
|
|
80
|
-
},
|
|
73
|
+
coreMessageStrip: { dismissLabel: 'Закрыть' },
|
|
81
74
|
coreMultiInput: {
|
|
82
75
|
multiInputAriaLabel: 'Multi Value Input',
|
|
83
76
|
noResults: 'No results.',
|
|
84
77
|
navigateSelectionsWithArrows: 'Navigate selections with the up and down arrows.',
|
|
85
78
|
countListResultsSingular: '1 элемент.',
|
|
86
79
|
countListResultsPlural: (params) => {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
switch (option) {
|
|
90
|
-
case 'one':
|
|
80
|
+
return `${(() => {
|
|
81
|
+
if (params['count'] === 1) {
|
|
91
82
|
return `1 элемент.`;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
83
|
+
}
|
|
84
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
85
|
+
return `${params['count']} элемента.`;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return `${params['count']} элементов.`;
|
|
89
|
+
}
|
|
90
|
+
})()}`;
|
|
97
91
|
},
|
|
98
92
|
escapeNavigateTokens: 'Press escape to exit the input field and use the left and right arrow keys to navigate through the selected options.',
|
|
99
|
-
tokensCountText: (
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return `Выбран 1
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
93
|
+
tokensCountText: (params) => {
|
|
94
|
+
return `${(() => {
|
|
95
|
+
if (params['length'] == 0) {
|
|
96
|
+
return `Нет выбранных`;
|
|
97
|
+
}
|
|
98
|
+
if (params['length'] === 1) {
|
|
99
|
+
return `Выбран 1`;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return `Выбрано ${params['length']}`;
|
|
103
|
+
}
|
|
104
|
+
})()} ${(() => {
|
|
105
|
+
if (params['length'] === 1) {
|
|
106
|
+
return ` вариант `;
|
|
107
|
+
}
|
|
108
|
+
if (pluralization.process(params['length']) === 'few') {
|
|
109
|
+
return ` варианта `;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return ` вариантов `;
|
|
113
|
+
}
|
|
114
|
+
})()}.`;
|
|
111
115
|
}
|
|
112
116
|
},
|
|
113
|
-
coreNavigation: {
|
|
114
|
-
mainNavigation: 'Главная Навигация',
|
|
115
|
-
navigationPath: 'Путь навигации'
|
|
116
|
-
},
|
|
117
|
+
coreNavigation: { mainNavigation: 'Главная Навигация', navigationPath: 'Путь навигации' },
|
|
117
118
|
coreNestedList: {
|
|
118
|
-
linkItemAriaLabel: 'Элемент дерева {{
|
|
119
|
+
linkItemAriaLabel: 'Элемент дерева {{itemDetails}}, {{index}} из {{total}}{{selectedDescription}}'
|
|
119
120
|
},
|
|
120
121
|
coreOverflowLayout: {
|
|
121
122
|
moreItemsButton: (params) => {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return
|
|
131
|
-
|
|
123
|
+
return `Еще ${(() => {
|
|
124
|
+
if (params['count'] === 1) {
|
|
125
|
+
return `1 елемент`;
|
|
126
|
+
}
|
|
127
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
128
|
+
return `${params['count']} елемента`;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
return `${params['count']} елементов`;
|
|
132
|
+
}
|
|
133
|
+
})()}`;
|
|
132
134
|
}
|
|
133
135
|
},
|
|
134
136
|
corePagination: {
|
|
135
|
-
pageLabel: 'Страница {{
|
|
136
|
-
currentPageAriaLabel: 'Страница {{
|
|
137
|
+
pageLabel: 'Страница {{pageNumber}}',
|
|
138
|
+
currentPageAriaLabel: 'Страница {{pageNumber}} активна',
|
|
137
139
|
labelBeforeInputMobile: 'Страница:',
|
|
138
|
-
labelAfterInputMobile: 'из {{
|
|
139
|
-
inputAriaLabel: 'Поле ввода страницы, Текущая страница, Страница {{
|
|
140
|
+
labelAfterInputMobile: 'из {{totalCount}}',
|
|
141
|
+
inputAriaLabel: 'Поле ввода страницы, Текущая страница, Страница {{pageNumber}} из {{totalCount}}',
|
|
140
142
|
itemsPerPageLabel: 'Результатов на странице:',
|
|
141
143
|
firstLabel: 'Перейти к первой',
|
|
142
144
|
previousLabel: 'Перейти к предыдущей',
|
|
143
145
|
nextLabel: 'Перейти к следующей',
|
|
144
146
|
lastLabel: 'Перейти к последней',
|
|
145
147
|
ariaLabel: 'Нумерация страниц',
|
|
146
|
-
totalResultsLabel: '{{
|
|
147
|
-
},
|
|
148
|
-
coreProductSwitch: {
|
|
149
|
-
ariaLabel: 'Переключатель'
|
|
150
|
-
},
|
|
151
|
-
coreShellbar: {
|
|
152
|
-
collapsedItemMenuLabel: 'Свернутое меню элементов',
|
|
153
|
-
cancel: 'Отмена',
|
|
154
|
-
search: 'Поиск'
|
|
148
|
+
totalResultsLabel: '{{totalCount}} результатов'
|
|
155
149
|
},
|
|
150
|
+
coreProductSwitch: { ariaLabel: 'Переключатель' },
|
|
151
|
+
coreShellbar: { collapsedItemMenuLabel: 'Свернутое меню элементов', cancel: 'Отмена', search: 'Поиск' },
|
|
156
152
|
coreSlider: {
|
|
157
|
-
singleMinMaxDetails: 'Минимальное значение слайдера {{
|
|
158
|
-
singleValueminDetails: 'Значение равно {{
|
|
159
|
-
singleValuemaxDetails: 'Значение равно {{
|
|
160
|
-
singleValueNowDetails: 'Текущее значение: {{
|
|
161
|
-
multipleHandle1MinMaxDetails: 'Минимальное значение слайдера {{
|
|
162
|
-
multipleHandle1ValueminDetails: 'Значение равно {{
|
|
163
|
-
multipleHandle1ValuemaxDetails: 'Значение равно {{
|
|
164
|
-
multipleHandle1ValueNowDetails: 'Текущее значение: {{
|
|
165
|
-
multipleHandle2MinMaxDetails: 'Минимальное значение слайдера {{
|
|
166
|
-
multipleHandle2ValueminDetails: 'Значение равно {{
|
|
167
|
-
multipleHandle2ValuemaxDetails: 'Значение равно {{
|
|
168
|
-
multipleHandle2ValueNowDetails: 'Текущее значение: {{
|
|
169
|
-
},
|
|
170
|
-
coreSplitButton: {
|
|
171
|
-
expandButtonAriaLabel: 'Больше действий',
|
|
172
|
-
arialLabel: 'Кнопка разделения'
|
|
173
|
-
},
|
|
174
|
-
coreSplitter: {
|
|
175
|
-
paginationItemAriaLabel: 'Секция'
|
|
153
|
+
singleMinMaxDetails: 'Минимальное значение слайдера {{min}}, максимальное значение {{max}}',
|
|
154
|
+
singleValueminDetails: 'Значение равно {{value}}',
|
|
155
|
+
singleValuemaxDetails: 'Значение равно {{value}}',
|
|
156
|
+
singleValueNowDetails: 'Текущее значение: {{value}}',
|
|
157
|
+
multipleHandle1MinMaxDetails: 'Минимальное значение слайдера {{min}}, максимальное значение {{max}}',
|
|
158
|
+
multipleHandle1ValueminDetails: 'Значение равно {{value}}',
|
|
159
|
+
multipleHandle1ValuemaxDetails: 'Значение равно {{value}}',
|
|
160
|
+
multipleHandle1ValueNowDetails: 'Текущее значение: {{value}}',
|
|
161
|
+
multipleHandle2MinMaxDetails: 'Минимальное значение слайдера {{min}}, максимальное значение {{max}}',
|
|
162
|
+
multipleHandle2ValueminDetails: 'Значение равно {{value}}',
|
|
163
|
+
multipleHandle2ValuemaxDetails: 'Значение равно {{value}}',
|
|
164
|
+
multipleHandle2ValueNowDetails: 'Текущее значение: {{value}}'
|
|
176
165
|
},
|
|
166
|
+
coreSplitButton: { expandButtonAriaLabel: 'Больше действий', arialLabel: 'Кнопка разделения' },
|
|
167
|
+
coreSplitter: { paginationItemAriaLabel: 'Секция' },
|
|
177
168
|
coreStepInput: {
|
|
178
169
|
incrementButtonTitle: 'Увеличить',
|
|
179
170
|
decrementButtonTitle: 'Уменьшить',
|
|
180
171
|
ariaRoleDescription: 'Шаг ввода'
|
|
181
172
|
},
|
|
182
|
-
coreSwitch: {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
},
|
|
186
|
-
coreTabs: {
|
|
187
|
-
tabListExpandButtonText: 'Больше'
|
|
188
|
-
},
|
|
189
|
-
coreText: {
|
|
190
|
-
moreLabel: 'Больше',
|
|
191
|
-
lessLabel: 'Меньше'
|
|
192
|
-
},
|
|
173
|
+
coreSwitch: { semanticAcceptLabel: 'Принять', semanticDeclineLabel: 'Отклонить' },
|
|
174
|
+
coreTabs: { tabListExpandButtonText: 'Больше' },
|
|
175
|
+
coreText: { moreLabel: 'Больше', lessLabel: 'Меньше' },
|
|
193
176
|
coreTime: {
|
|
194
177
|
componentAriaName: 'Выбор времени',
|
|
195
178
|
increaseHoursLabel: 'Увеличить часы',
|
|
196
179
|
hrsLabel: 'Час',
|
|
197
|
-
decreaseHoursLabel: '
|
|
198
|
-
increaseMinutesLabel: '
|
|
199
|
-
minLabel: '
|
|
200
|
-
decreaseMinutesLabel: '
|
|
201
|
-
increaseSecondsLabel: '
|
|
202
|
-
secLabel: '
|
|
180
|
+
decreaseHoursLabel: 'Decrease hours',
|
|
181
|
+
increaseMinutesLabel: 'Increase minutes',
|
|
182
|
+
minLabel: 'Min',
|
|
183
|
+
decreaseMinutesLabel: 'Decrease minutes',
|
|
184
|
+
increaseSecondsLabel: 'Increase seconds',
|
|
185
|
+
secLabel: 'Sec',
|
|
203
186
|
hoursLabel: 'Hours',
|
|
204
187
|
minutesLabel: 'Minutes',
|
|
205
188
|
secondsLabel: 'Seconds',
|
|
@@ -207,29 +190,23 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
207
190
|
increasePeriodLabel: 'Увеличить период',
|
|
208
191
|
periodLabel: 'Период',
|
|
209
192
|
decreasePeriodLabel: 'Уменьшить период',
|
|
210
|
-
navigationInstruction: 'Для перемещения между элементами в этом списке используйте стрелку вверх или вниз. '
|
|
211
|
-
'Для переключения между списками используйте стрелку влево или вправо.'
|
|
212
|
-
},
|
|
213
|
-
coreTimePicker: {
|
|
214
|
-
timePickerInputLabel: 'Поле ввода времени',
|
|
215
|
-
timePickerButtonLabel: 'Открыть окно выбора'
|
|
216
|
-
},
|
|
217
|
-
coreToken: {
|
|
218
|
-
deleteButtonLabel: 'Удаляемый',
|
|
219
|
-
ariaRoleDescription: 'токен'
|
|
193
|
+
navigationInstruction: 'Для перемещения между элементами в этом списке используйте стрелку вверх или вниз. Для переключения между списками используйте стрелку влево или вправо.'
|
|
220
194
|
},
|
|
195
|
+
coreTimePicker: { timePickerInputLabel: 'Поле ввода времени', timePickerButtonLabel: 'Открыть окно выбора' },
|
|
196
|
+
coreToken: { deleteButtonLabel: 'Удаляемый', ariaRoleDescription: 'токен' },
|
|
221
197
|
coreTokenizer: {
|
|
222
198
|
moreLabel: (params) => {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
return
|
|
232
|
-
|
|
199
|
+
return `Еще ${(() => {
|
|
200
|
+
if (params['count'] === 1) {
|
|
201
|
+
return `1 елемент`;
|
|
202
|
+
}
|
|
203
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
204
|
+
return `${params['count']} елемента`;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
return `${params['count']} елементов`;
|
|
208
|
+
}
|
|
209
|
+
})()}`;
|
|
233
210
|
},
|
|
234
211
|
tokenizerLabel: 'Tokenizer'
|
|
235
212
|
},
|
|
@@ -242,15 +219,9 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
242
219
|
menuCancelAriaLabel: 'Отменить',
|
|
243
220
|
formItemPlaceholder: 'Имя файла'
|
|
244
221
|
},
|
|
245
|
-
coreWizard: {
|
|
246
|
-
|
|
247
|
-
},
|
|
248
|
-
coreBreadcrumb: {
|
|
249
|
-
overflowTitleMore: 'Больше'
|
|
250
|
-
},
|
|
251
|
-
platformActionBar: {
|
|
252
|
-
backButtonLabel: 'Вернуться назад'
|
|
253
|
-
},
|
|
222
|
+
coreWizard: { ariaLabel: 'Мастер' },
|
|
223
|
+
coreBreadcrumb: { overflowTitleMore: 'Больше' },
|
|
224
|
+
platformActionBar: { backButtonLabel: 'Вернуться назад' },
|
|
254
225
|
platformApprovalFlow: {
|
|
255
226
|
addNodeButtonTitle: 'Добавить',
|
|
256
227
|
nodeMenuButtonTitle: 'Меню',
|
|
@@ -294,42 +265,45 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
294
265
|
messagesErrorBuildGraph: 'При попытке построить график произошла ошибка. Проверьте входящие данные.',
|
|
295
266
|
messagesUndoAction: 'Отменить',
|
|
296
267
|
nodeMembersCount: (params) => {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
return `${count
|
|
306
|
-
|
|
268
|
+
return `${(() => {
|
|
269
|
+
if (params['count'] === 1) {
|
|
270
|
+
return `1 член`;
|
|
271
|
+
}
|
|
272
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
273
|
+
return `${params['count']} члена`;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
return `${params['count']} членов`;
|
|
277
|
+
}
|
|
278
|
+
})()} команды`;
|
|
307
279
|
},
|
|
308
280
|
nodeVariousTeams: 'Различные команды',
|
|
309
281
|
nodeStatusDueToday: 'Срок выполнения сегодня',
|
|
310
282
|
nodeStatusDueInXDays: (params) => {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
return
|
|
320
|
-
|
|
283
|
+
return `Срок выполнения через ${(() => {
|
|
284
|
+
if (params['count'] === 1) {
|
|
285
|
+
return `1 день`;
|
|
286
|
+
}
|
|
287
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
288
|
+
return `${params['count']} дня`;
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
return `${params['count']} дней`;
|
|
292
|
+
}
|
|
293
|
+
})()}`;
|
|
321
294
|
},
|
|
322
295
|
nodeStatusXDaysOverdue: (params) => {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
return
|
|
332
|
-
|
|
296
|
+
return `Просрочено на ${(() => {
|
|
297
|
+
if (params['count'] === 1) {
|
|
298
|
+
return `1 день`;
|
|
299
|
+
}
|
|
300
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
301
|
+
return `${params['count']} дня`;
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
return `${params['count']} дней`;
|
|
305
|
+
}
|
|
306
|
+
})()}`;
|
|
333
307
|
},
|
|
334
308
|
nodeActionAddApproversBefore: 'Добавить утверждающих до',
|
|
335
309
|
nodeActionAddApproversAfter: 'Добавить утверждающих после',
|
|
@@ -352,25 +326,24 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
352
326
|
watchersInputPlaceholder: 'Поиск',
|
|
353
327
|
userListSelectedItemsCountSingular: 'Выбран 1 элемент',
|
|
354
328
|
userListSelectedItemsCountPlural: (params) => {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
return
|
|
364
|
-
|
|
329
|
+
return `Выбрано ${(() => {
|
|
330
|
+
if (params['count'] === 1) {
|
|
331
|
+
return `1 элемент`;
|
|
332
|
+
}
|
|
333
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
334
|
+
return `${params['count']} элемента`;
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
return `${params['count']} элементов`;
|
|
338
|
+
}
|
|
339
|
+
})()}`;
|
|
365
340
|
},
|
|
366
341
|
statusApproved: 'утверждено',
|
|
367
342
|
statusRejected: 'отклонено',
|
|
368
343
|
statusInProgress: 'в процессе',
|
|
369
344
|
statusNotStarted: 'не начато'
|
|
370
345
|
},
|
|
371
|
-
platformFeedInput: {
|
|
372
|
-
userTitle: 'Пользователь'
|
|
373
|
-
},
|
|
346
|
+
platformFeedInput: { userTitle: 'Пользователь' },
|
|
374
347
|
platformVHD: {
|
|
375
348
|
selectionBarLabel: 'Выбранные элементы и условия',
|
|
376
349
|
selectedAndConditionLabel: 'Выбранные элементы и условия',
|
|
@@ -386,45 +359,37 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
386
359
|
searchHideAdvancedSearchLabel: 'Скрыть фильтры',
|
|
387
360
|
searchShowAllAdvancedSearchLabel: 'Показать все фильтры',
|
|
388
361
|
searchHideAllAdvancedSearchLabel: 'Скрыть все фильтры',
|
|
389
|
-
selectTabDisplayCountLabel: 'Элементы ({{
|
|
362
|
+
selectTabDisplayCountLabel: 'Элементы ({{count}})',
|
|
390
363
|
selectTabMoreBtnLabel: 'Больше',
|
|
391
364
|
selectTabCountHiddenA11yLabel: (params) => {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
case 'few':
|
|
414
|
-
colPart = `${colCount} столбца`;
|
|
415
|
-
break;
|
|
416
|
-
default:
|
|
417
|
-
colPart = `${colCount} столбцов`;
|
|
418
|
-
break;
|
|
419
|
-
}
|
|
420
|
-
return `${rowPart} и ${colPart}`;
|
|
365
|
+
return `содержит ${(() => {
|
|
366
|
+
if (params['rowCount'] === 1) {
|
|
367
|
+
return `1 строку`;
|
|
368
|
+
}
|
|
369
|
+
if (pluralization.process(params['rowCount']) === 'few') {
|
|
370
|
+
return `${params['rowCount']} строки`;
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
return `${params['rowCount']} строк`;
|
|
374
|
+
}
|
|
375
|
+
})()} и ${(() => {
|
|
376
|
+
if (params['colCount'] === 1) {
|
|
377
|
+
return `1 столбец`;
|
|
378
|
+
}
|
|
379
|
+
if (pluralization.process(params['colCount']) === 'few') {
|
|
380
|
+
return `${params['colCount']} столбца`;
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
return `${params['colCount']} столбцов`;
|
|
384
|
+
}
|
|
385
|
+
})()}`;
|
|
421
386
|
},
|
|
422
387
|
selectMobileTabBackBtnTitle: 'Назад',
|
|
423
388
|
selectMobileTabBtnOpenDialogLabel: 'Открыть диалоговое окно',
|
|
424
|
-
selectMobileTabTitle: '{{
|
|
389
|
+
selectMobileTabTitle: '{{title}} вкладка',
|
|
425
390
|
selectMobileConditionEmpty: 'Пусто',
|
|
426
391
|
defineConditionTitle: 'Продукт',
|
|
427
|
-
defineConditionSelectedValueHiddenA11yLabel: 'выбранное значение {{
|
|
392
|
+
defineConditionSelectedValueHiddenA11yLabel: 'выбранное значение {{value}}',
|
|
428
393
|
defineConditionConditionsGroupHeaderInclude: 'Включающие условия',
|
|
429
394
|
defineConditionConditionsGroupHeaderExclude: 'Исключительные условия',
|
|
430
395
|
defineConditionFromPlaceholder: 'от',
|
|
@@ -446,14 +411,14 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
446
411
|
defineConditionConditionStrategyLabelNotEqualTo: 'не равно',
|
|
447
412
|
defineConditionConditionStrategyLabelNotEmpty: 'не пусто',
|
|
448
413
|
defineConditionMaxCountError: (params) => {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
}
|
|
414
|
+
return `Введите значение не более ${(() => {
|
|
415
|
+
if (params['count'] === 1) {
|
|
416
|
+
return `1 символа`;
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
return `${params['count']} символов`;
|
|
420
|
+
}
|
|
421
|
+
})()}`;
|
|
457
422
|
},
|
|
458
423
|
selectTabTitle: 'Выбрать из списка',
|
|
459
424
|
searchTableEmptyMessage: 'Используйте поиск для получения результатов',
|
|
@@ -462,16 +427,17 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
462
427
|
platformCombobox: {
|
|
463
428
|
countListResultsSingular: '1 элемент',
|
|
464
429
|
countListResultsPlural: (params) => {
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
switch (option) {
|
|
468
|
-
case 'one':
|
|
430
|
+
return `${(() => {
|
|
431
|
+
if (params['count'] === 1) {
|
|
469
432
|
return `1 элемент`;
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
433
|
+
}
|
|
434
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
435
|
+
return `${params['count']} элемента`;
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
return `${params['count']} элементов`;
|
|
439
|
+
}
|
|
440
|
+
})()}`;
|
|
475
441
|
}
|
|
476
442
|
},
|
|
477
443
|
platformMultiCombobox: {
|
|
@@ -483,68 +449,61 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
483
449
|
platformTextarea: {
|
|
484
450
|
counterMessageCharactersOverTheLimitSingular: 'Превышен лимит на 1 символ',
|
|
485
451
|
counterMessageCharactersOverTheLimitPlural: (params) => {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
return
|
|
495
|
-
|
|
452
|
+
return `Превышен лимит на ${(() => {
|
|
453
|
+
if (params['count'] === 1) {
|
|
454
|
+
return `1 символ`;
|
|
455
|
+
}
|
|
456
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
457
|
+
return `${params['count']} символа`;
|
|
458
|
+
}
|
|
459
|
+
else {
|
|
460
|
+
return `${params['count']} символов`;
|
|
461
|
+
}
|
|
462
|
+
})()}`;
|
|
496
463
|
},
|
|
497
464
|
counterMessageCharactersRemainingSingular: 'Остался 1 символ',
|
|
498
465
|
counterMessageCharactersRemainingPlural: (params) => {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
switch (option) {
|
|
502
|
-
case 'one':
|
|
466
|
+
return `${(() => {
|
|
467
|
+
if (params['count'] === 1) {
|
|
503
468
|
return `Остался 1 символ`;
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
469
|
+
}
|
|
470
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
471
|
+
return `Осталось ${params['count']} символа`;
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
return `Осталось ${params['count']} символов`;
|
|
475
|
+
}
|
|
476
|
+
})()}`;
|
|
509
477
|
}
|
|
510
478
|
},
|
|
511
|
-
platformLink: {
|
|
512
|
-
|
|
513
|
-
},
|
|
514
|
-
|
|
515
|
-
loadingAriaLabel: 'загрузка'
|
|
516
|
-
},
|
|
517
|
-
platformObjectListItem: {
|
|
518
|
-
detailsActionAriaLabel: 'детали',
|
|
519
|
-
deleteActionAriaLabel: 'удалить'
|
|
520
|
-
},
|
|
521
|
-
platformStandardListItem: {
|
|
522
|
-
detailsActionAriaLabel: 'детали',
|
|
523
|
-
deleteActionAriaLabel: 'удалить'
|
|
524
|
-
},
|
|
479
|
+
platformLink: { roleDescriptionWithMedia: 'Медиа: {{media}}' },
|
|
480
|
+
platformList: { loadingAriaLabel: 'загрузка' },
|
|
481
|
+
platformObjectListItem: { detailsActionAriaLabel: 'детали', deleteActionAriaLabel: 'удалить' },
|
|
482
|
+
platformStandardListItem: { detailsActionAriaLabel: 'детали', deleteActionAriaLabel: 'удалить' },
|
|
525
483
|
platformSearchField: {
|
|
526
484
|
clearButtonTitle: 'Очистить',
|
|
527
485
|
submitButtonTitle: 'Поиск',
|
|
528
486
|
searchInputLabel: 'Поиск',
|
|
529
487
|
synchronizeButtonTitle: 'Синхронизировать',
|
|
530
488
|
searchSuggestionMessage: (params) => {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
switch (option) {
|
|
534
|
-
case 'one':
|
|
489
|
+
return `${(() => {
|
|
490
|
+
if (params['count'] === 1) {
|
|
535
491
|
return `Найден 1 вариант`;
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
492
|
+
}
|
|
493
|
+
if (pluralization.process(params['count']) === 'few') {
|
|
494
|
+
return `Найдено ${params['count']} варианта`;
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
return `Найдено ${params['count']} вариантов`;
|
|
498
|
+
}
|
|
499
|
+
})()}`;
|
|
541
500
|
},
|
|
542
501
|
searchSuggestionNavigateMessage: 'используйте стрелки вверх и вниз для навигации'
|
|
543
502
|
},
|
|
544
503
|
platformSmartFilterBar: {
|
|
545
504
|
searchPlaceholder: 'Поиск',
|
|
546
505
|
submitButtonLabel: 'Перейти',
|
|
547
|
-
filtersButtonLabel: 'Фильтры ({{
|
|
506
|
+
filtersButtonLabel: 'Фильтры ({{filtersCount}})',
|
|
548
507
|
showFiltersButtonLabel: 'Показать фильтры',
|
|
549
508
|
hideFiltersButtonLabel: 'Скрыть фильтры',
|
|
550
509
|
defineConditionsRemoveConditionButtonTitle: 'Удалить условие',
|
|
@@ -600,7 +559,7 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
600
559
|
P13ColumnsDialogSearchPlaceholder: 'Поиск',
|
|
601
560
|
P13ColumnsDialogsShowSelected: 'Показать выбранное',
|
|
602
561
|
P13ColumnsDialogShowAll: 'Показать все',
|
|
603
|
-
P13ColumnsDialogSelectAll: 'Выбрать все ({{
|
|
562
|
+
P13ColumnsDialogSelectAll: 'Выбрать все ({{selectedColumnsCount}}/{{selectableColumnsCount}})',
|
|
604
563
|
P13ColumnsDialogConfirmationBtnLabel: 'ОК',
|
|
605
564
|
P13ColumnsDialogCancelBtnLabel: 'Отмена',
|
|
606
565
|
P13ColumnsDialogMoveToTopBtn: 'Переместить вверх',
|
|
@@ -621,13 +580,13 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
621
580
|
P13FilterStrategyLabelBefore: 'до',
|
|
622
581
|
P13FilterStrategyLabelBeforeOrOn: 'до или равно',
|
|
623
582
|
P13FilterStrategyLabelNotDefined: 'Не определено',
|
|
624
|
-
P13FilterBooleanOptionNotDefined: '
|
|
583
|
+
P13FilterBooleanOptionNotDefined: '',
|
|
625
584
|
P13FilterBooleanOptionTrue: 'Да',
|
|
626
585
|
P13FilterBooleanOptionFalse: 'Нет',
|
|
627
586
|
P13FilterDialogHeader: 'Фильтровать по',
|
|
628
|
-
P13FilterDialogIncludePanelTitleWithCount: 'Включающие условия ({{
|
|
587
|
+
P13FilterDialogIncludePanelTitleWithCount: 'Включающие условия ({{count}})',
|
|
629
588
|
P13FilterDialogIncludePanelTitleWithoutCount: 'Включающие условия',
|
|
630
|
-
P13FilterDialogExcludePanelTitleWithCount: 'Исключающие условия ({{
|
|
589
|
+
P13FilterDialogExcludePanelTitleWithCount: 'Исключающие условия ({{count}})',
|
|
631
590
|
P13FilterDialogExcludePanelTitleWithoutCount: 'Исключающие условия',
|
|
632
591
|
P13FilterDialogRemoveFilterBtnTitle: 'Удалить фильтр',
|
|
633
592
|
P13FilterDialoAddFilterBtnTitle: 'Добавить фильтр',
|
|
@@ -660,7 +619,7 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
660
619
|
toolbarActionExpandAllButtonTitle: 'Expand all',
|
|
661
620
|
toolbarActionCollapseAllButtonTitle: 'Collapse all',
|
|
662
621
|
filterDialogNotFilteredLabel: '(Не отфильтровано)',
|
|
663
|
-
filterDialogFilterByLabel: 'Фильтр: {{
|
|
622
|
+
filterDialogFilterByLabel: 'Фильтр: {{filterLabel}}',
|
|
664
623
|
filterDialogFilterTitle: 'Фильтр',
|
|
665
624
|
filterDialogFilterBy: 'Фильтровать по',
|
|
666
625
|
filterDialogConfirmBtnLabel: 'ОК',
|
|
@@ -747,28 +706,281 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
747
706
|
messageUpdateVersionSuccess: 'Версия {{ folderName }} обновлена.',
|
|
748
707
|
messageFileRenameFailed: 'Не удалось переименовать "{{ from }}" в "{{ to }}."',
|
|
749
708
|
messageFileRenameSuccess: '{{ from }}" переименовано в "{{ to }}".',
|
|
750
|
-
messageRemoveFoldersAndFilesFailed: (params) => `Не удалось удалить ${
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
709
|
+
messageRemoveFoldersAndFilesFailed: (params) => `Не удалось удалить ${(() => {
|
|
710
|
+
const foldersCount = params['foldersCount'];
|
|
711
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
712
|
+
switch (foldersCountOption) {
|
|
713
|
+
case 'one':
|
|
714
|
+
return '1 папку';
|
|
715
|
+
case 'few':
|
|
716
|
+
return `${foldersCount} папки`;
|
|
717
|
+
default:
|
|
718
|
+
return `${foldersCount || 0} папок`;
|
|
719
|
+
}
|
|
720
|
+
})()} и ${(() => {
|
|
721
|
+
const filesCount = params['filesCount'];
|
|
722
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
723
|
+
switch (filesCountOption) {
|
|
724
|
+
case 'one':
|
|
725
|
+
return '1 файл';
|
|
726
|
+
case 'few':
|
|
727
|
+
return `${filesCount} файла`;
|
|
728
|
+
default:
|
|
729
|
+
return `${filesCount || 0} файлов`;
|
|
730
|
+
}
|
|
731
|
+
})()}.`,
|
|
732
|
+
messageRemoveFoldersAndFilesSuccess: (params) => `${(() => {
|
|
733
|
+
const foldersCount = params['foldersCount'];
|
|
734
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
735
|
+
switch (foldersCountOption) {
|
|
736
|
+
case 'one':
|
|
737
|
+
return '1 папку';
|
|
738
|
+
case 'few':
|
|
739
|
+
return `${foldersCount} папки`;
|
|
740
|
+
default:
|
|
741
|
+
return `${foldersCount || 0} папок`;
|
|
742
|
+
}
|
|
743
|
+
})()} и ${(() => {
|
|
744
|
+
const filesCount = params['filesCount'];
|
|
745
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
746
|
+
switch (filesCountOption) {
|
|
747
|
+
case 'one':
|
|
748
|
+
return '1 файл';
|
|
749
|
+
case 'few':
|
|
750
|
+
return `${filesCount} файла`;
|
|
751
|
+
default:
|
|
752
|
+
return `${filesCount || 0} файлов`;
|
|
753
|
+
}
|
|
754
|
+
})()} удалено.`,
|
|
755
|
+
messageRemoveFoldersFailed: (params) => `Не удалось удалить ${(() => {
|
|
756
|
+
const foldersCount = params['foldersCount'];
|
|
757
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
758
|
+
switch (foldersCountOption) {
|
|
759
|
+
case 'one':
|
|
760
|
+
return '1 папку';
|
|
761
|
+
case 'few':
|
|
762
|
+
return `${foldersCount} папки`;
|
|
763
|
+
default:
|
|
764
|
+
return `${foldersCount || 0} папок`;
|
|
765
|
+
}
|
|
766
|
+
})()}.`,
|
|
767
|
+
messageRemoveFoldersSuccess: (params) => `Удалено ${(() => {
|
|
768
|
+
const foldersCount = params['foldersCount'];
|
|
769
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
770
|
+
switch (foldersCountOption) {
|
|
771
|
+
case 'one':
|
|
772
|
+
return '1 папку';
|
|
773
|
+
case 'few':
|
|
774
|
+
return `${foldersCount} папки`;
|
|
775
|
+
default:
|
|
776
|
+
return `${foldersCount || 0} папок`;
|
|
777
|
+
}
|
|
778
|
+
})()}.`,
|
|
754
779
|
messageRemoveFilesFailed: 'Не удалось удалить файлы {{ filesCount }}.',
|
|
755
|
-
messageRemoveFilesSuccess: (params) => `Удалено ${
|
|
780
|
+
messageRemoveFilesSuccess: (params) => `Удалено ${(() => {
|
|
781
|
+
const filesCount = params['filesCount'];
|
|
782
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
783
|
+
switch (filesCountOption) {
|
|
784
|
+
case 'one':
|
|
785
|
+
return '1 файл';
|
|
786
|
+
case 'few':
|
|
787
|
+
return `${filesCount} файла`;
|
|
788
|
+
default:
|
|
789
|
+
return `${filesCount || 0} файлов`;
|
|
790
|
+
}
|
|
791
|
+
})()}.`,
|
|
756
792
|
messageRemoveFileOrFolderFailed: 'Не удалось удалить {{ name }}.',
|
|
757
793
|
messageRemoveFileOrFolderSuccess: '{{ name }} удалено.',
|
|
758
|
-
messageMoveFoldersAndFilesFailed: (params) => `Не удалось переместить ${
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
794
|
+
messageMoveFoldersAndFilesFailed: (params) => `Не удалось переместить ${(() => {
|
|
795
|
+
const foldersCount = params['foldersCount'];
|
|
796
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
797
|
+
switch (foldersCountOption) {
|
|
798
|
+
case 'one':
|
|
799
|
+
return '1 папку';
|
|
800
|
+
case 'few':
|
|
801
|
+
return `${foldersCount} папки`;
|
|
802
|
+
default:
|
|
803
|
+
return `${foldersCount || 0} папок`;
|
|
804
|
+
}
|
|
805
|
+
})()} и ${(() => {
|
|
806
|
+
const filesCount = params['filesCount'];
|
|
807
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
808
|
+
switch (filesCountOption) {
|
|
809
|
+
case 'one':
|
|
810
|
+
return '1 файл';
|
|
811
|
+
case 'few':
|
|
812
|
+
return `${filesCount} файла`;
|
|
813
|
+
default:
|
|
814
|
+
return `${filesCount || 0} файлов`;
|
|
815
|
+
}
|
|
816
|
+
})()} в {{ to }}.`,
|
|
817
|
+
messageMoveFoldersAndFilesSuccess: (params) => `${(() => {
|
|
818
|
+
const foldersCount = params['foldersCount'];
|
|
819
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
820
|
+
switch (foldersCountOption) {
|
|
821
|
+
case 'one':
|
|
822
|
+
return '1 папку';
|
|
823
|
+
case 'few':
|
|
824
|
+
return `${foldersCount} папки`;
|
|
825
|
+
default:
|
|
826
|
+
return `${foldersCount || 0} папок`;
|
|
827
|
+
}
|
|
828
|
+
})()} и ${(() => {
|
|
829
|
+
const filesCount = params['filesCount'];
|
|
830
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
831
|
+
switch (filesCountOption) {
|
|
832
|
+
case 'one':
|
|
833
|
+
return '1 файл';
|
|
834
|
+
case 'few':
|
|
835
|
+
return `${filesCount} файла`;
|
|
836
|
+
default:
|
|
837
|
+
return `${filesCount || 0} файлов`;
|
|
838
|
+
}
|
|
839
|
+
})()} перемещены в {{ to }}.`,
|
|
840
|
+
messageMoveFoldersFailed: (params) => `Не удалось переместить ${(() => {
|
|
841
|
+
const foldersCount = params['foldersCount'];
|
|
842
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
843
|
+
switch (foldersCountOption) {
|
|
844
|
+
case 'one':
|
|
845
|
+
return '1 папку';
|
|
846
|
+
case 'few':
|
|
847
|
+
return `${foldersCount} папки`;
|
|
848
|
+
default:
|
|
849
|
+
return `${foldersCount || 0} папок`;
|
|
850
|
+
}
|
|
851
|
+
})()} в {{ to }}.`,
|
|
852
|
+
messageMoveFoldersSuccess: (params) => `${(() => {
|
|
853
|
+
const foldersCount = params['foldersCount'];
|
|
854
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
855
|
+
switch (foldersCountOption) {
|
|
856
|
+
case 'one':
|
|
857
|
+
return '1 папку';
|
|
858
|
+
case 'few':
|
|
859
|
+
return `${foldersCount} папки`;
|
|
860
|
+
default:
|
|
861
|
+
return `${foldersCount || 0} папок`;
|
|
862
|
+
}
|
|
863
|
+
})()} перемещен в {{ to }}.`,
|
|
864
|
+
messageMoveFilesFailed: (params) => `Не удалось переместить ${(() => {
|
|
865
|
+
const filesCount = params['filesCount'];
|
|
866
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
867
|
+
switch (filesCountOption) {
|
|
868
|
+
case 'one':
|
|
869
|
+
return '1 файл';
|
|
870
|
+
case 'few':
|
|
871
|
+
return `${filesCount} файла`;
|
|
872
|
+
default:
|
|
873
|
+
return `${filesCount || 0} файлов`;
|
|
874
|
+
}
|
|
875
|
+
})()} в {{ to }}.`,
|
|
876
|
+
messageMoveFilesSuccess: (params) => `${(() => {
|
|
877
|
+
const filesCount = params['filesCount'];
|
|
878
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
879
|
+
switch (filesCountOption) {
|
|
880
|
+
case 'one':
|
|
881
|
+
return '1 файл';
|
|
882
|
+
case 'few':
|
|
883
|
+
return `${filesCount} файла`;
|
|
884
|
+
default:
|
|
885
|
+
return `${filesCount || 0} файлов`;
|
|
886
|
+
}
|
|
887
|
+
})()} перемещен в {{ to }}.`,
|
|
764
888
|
messageMoveFileOrFolderFailed: 'Не удалось переместить {{ name }} в {{ to }}.',
|
|
765
889
|
messageMoveFileOrFolderSuccess: '{{ name }} перемещен в {{ to }}.',
|
|
766
|
-
messageMoveRootFoldersAndFilesFailed: (params) => `Не удалось переместить ${
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
890
|
+
messageMoveRootFoldersAndFilesFailed: (params) => `Не удалось переместить ${(() => {
|
|
891
|
+
const foldersCount = params['foldersCount'];
|
|
892
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
893
|
+
switch (foldersCountOption) {
|
|
894
|
+
case 'one':
|
|
895
|
+
return '1 папку';
|
|
896
|
+
case 'few':
|
|
897
|
+
return `${foldersCount} папки`;
|
|
898
|
+
default:
|
|
899
|
+
return `${foldersCount || 0} папок`;
|
|
900
|
+
}
|
|
901
|
+
})()} и ${(() => {
|
|
902
|
+
const filesCount = params['filesCount'];
|
|
903
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
904
|
+
switch (filesCountOption) {
|
|
905
|
+
case 'one':
|
|
906
|
+
return '1 файл';
|
|
907
|
+
case 'few':
|
|
908
|
+
return `${filesCount} файла`;
|
|
909
|
+
default:
|
|
910
|
+
return `${filesCount || 0} файлов`;
|
|
911
|
+
}
|
|
912
|
+
})()} во все файлы.`,
|
|
913
|
+
messageMoveRootFoldersAndFilesSuccess: (params) => `${(() => {
|
|
914
|
+
const foldersCount = params['foldersCount'];
|
|
915
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
916
|
+
switch (foldersCountOption) {
|
|
917
|
+
case 'one':
|
|
918
|
+
return '1 папку';
|
|
919
|
+
case 'few':
|
|
920
|
+
return `${foldersCount} папки`;
|
|
921
|
+
default:
|
|
922
|
+
return `${foldersCount || 0} папок`;
|
|
923
|
+
}
|
|
924
|
+
})()} и ${(() => {
|
|
925
|
+
const filesCount = params['filesCount'];
|
|
926
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
927
|
+
switch (filesCountOption) {
|
|
928
|
+
case 'one':
|
|
929
|
+
return '1 файл';
|
|
930
|
+
case 'few':
|
|
931
|
+
return `${filesCount} файла`;
|
|
932
|
+
default:
|
|
933
|
+
return `${filesCount || 0} файлов`;
|
|
934
|
+
}
|
|
935
|
+
})()} перемещены ко всем файлам.`,
|
|
936
|
+
messageMoveRootFoldersFailed: (params) => `Не удалось переместить ${(() => {
|
|
937
|
+
const foldersCount = params['foldersCount'];
|
|
938
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
939
|
+
switch (foldersCountOption) {
|
|
940
|
+
case 'one':
|
|
941
|
+
return '1 папку';
|
|
942
|
+
case 'few':
|
|
943
|
+
return `${foldersCount} папки`;
|
|
944
|
+
default:
|
|
945
|
+
return `${foldersCount || 0} папок`;
|
|
946
|
+
}
|
|
947
|
+
})()} во все файлы.`,
|
|
948
|
+
messageMoveRootFoldersSuccess: (params) => `${(() => {
|
|
949
|
+
const foldersCount = params['foldersCount'];
|
|
950
|
+
const foldersCountOption = pluralization.process(foldersCount);
|
|
951
|
+
switch (foldersCountOption) {
|
|
952
|
+
case 'one':
|
|
953
|
+
return '1 папку';
|
|
954
|
+
case 'few':
|
|
955
|
+
return `${foldersCount} папки`;
|
|
956
|
+
default:
|
|
957
|
+
return `${foldersCount || 0} папок`;
|
|
958
|
+
}
|
|
959
|
+
})()} перемещен ко всем файлам.`,
|
|
960
|
+
messageMoveRootFilesFailed: (params) => `Не удалось переместить ${(() => {
|
|
961
|
+
const filesCount = params['filesCount'];
|
|
962
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
963
|
+
switch (filesCountOption) {
|
|
964
|
+
case 'one':
|
|
965
|
+
return '1 файл';
|
|
966
|
+
case 'few':
|
|
967
|
+
return `${filesCount} файла`;
|
|
968
|
+
default:
|
|
969
|
+
return `${filesCount || 0} файлов`;
|
|
970
|
+
}
|
|
971
|
+
})()} во все файлы.`,
|
|
972
|
+
messageMoveRootFilesSuccess: (params) => `${(() => {
|
|
973
|
+
const filesCount = params['filesCount'];
|
|
974
|
+
const filesCountOption = pluralization.process(filesCount);
|
|
975
|
+
switch (filesCountOption) {
|
|
976
|
+
case 'one':
|
|
977
|
+
return '1 файл';
|
|
978
|
+
case 'few':
|
|
979
|
+
return `${filesCount} файла`;
|
|
980
|
+
default:
|
|
981
|
+
return `${filesCount || 0} файлов`;
|
|
982
|
+
}
|
|
983
|
+
})()} перемещены ко всем файлам.`,
|
|
772
984
|
messageMoveRootFileOrFolderFailed: 'Не удалось переместить {{ name }} во все файлы.',
|
|
773
985
|
messageMoveRootFileOrFolderSuccess: '{{ name }} перемещен ко всем файлам.',
|
|
774
986
|
messageFileTypeMismatchPlural: (params) => {
|
|
@@ -811,9 +1023,7 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
811
1023
|
},
|
|
812
1024
|
messageFileNameLengthExceededSingular: 'Имя "{{ fileName }}" превышает максимальную длину имени файла. Разрешена длина имени файла: {{ maxFilenameLength }} символов.'
|
|
813
1025
|
},
|
|
814
|
-
platformWizardGenerator: {
|
|
815
|
-
summarySectionEditStep: 'Редактировать'
|
|
816
|
-
},
|
|
1026
|
+
platformWizardGenerator: { summarySectionEditStep: 'Редактировать' },
|
|
817
1027
|
platformMessagePopover: {
|
|
818
1028
|
allErrors: 'Все',
|
|
819
1029
|
defaultErrors: {
|
|
@@ -847,68 +1057,16 @@ export const FD_LANGUAGE_RUSSIAN = {
|
|
|
847
1057
|
createdBy: 'Создал(а)',
|
|
848
1058
|
removeVariant: 'Удалить вид',
|
|
849
1059
|
search: 'Поиск',
|
|
850
|
-
access: {
|
|
851
|
-
public: 'Публичное',
|
|
852
|
-
private: 'Приватное'
|
|
853
|
-
}
|
|
854
|
-
},
|
|
855
|
-
platformSelect: {
|
|
856
|
-
selectOptionLabel: 'Выберите вариант'
|
|
1060
|
+
access: { public: 'Публичное', private: 'Приватное' }
|
|
857
1061
|
},
|
|
1062
|
+
platformSelect: { selectOptionLabel: 'Выберите вариант' },
|
|
858
1063
|
fnSlider: {
|
|
859
1064
|
minMaxDetails: 'Минимальное значение слайдера {{ min }}, максимальное значение {{ max }}',
|
|
860
1065
|
valueminDetails: 'Значение равно {{ value }}',
|
|
861
1066
|
valuemaxDetails: 'Значение равно {{ value }}',
|
|
862
1067
|
valueNowDetails: 'Текущее значение: {{ value }}'
|
|
863
1068
|
},
|
|
864
|
-
fnSwitch: {
|
|
865
|
-
|
|
866
|
-
semanticDeclineLabel: 'Отклонить'
|
|
867
|
-
},
|
|
868
|
-
coreTree: {
|
|
869
|
-
expand: 'Развернуть узел',
|
|
870
|
-
collapse: 'Свернуть узел',
|
|
871
|
-
noData: 'Нет данных'
|
|
872
|
-
}
|
|
1069
|
+
fnSwitch: { semanticAcceptLabel: 'Принять', semanticDeclineLabel: 'Отклонить' },
|
|
1070
|
+
coreTree: { expand: 'Развернуть узел', collapse: 'Свернуть узел', noData: 'Нет данных' }
|
|
873
1071
|
};
|
|
874
|
-
/**
|
|
875
|
-
* Pluralization for "file" word in russian language
|
|
876
|
-
*
|
|
877
|
-
* Output samples:
|
|
878
|
-
* * 1 файл
|
|
879
|
-
* * 2 файла
|
|
880
|
-
* * 10 файлов
|
|
881
|
-
*/
|
|
882
|
-
function fileNamePluralization(params) {
|
|
883
|
-
const filesCount = params['filesCount'];
|
|
884
|
-
const filesCountOption = pluralization.process(filesCount);
|
|
885
|
-
switch (filesCountOption) {
|
|
886
|
-
case 'one':
|
|
887
|
-
return '1 файл';
|
|
888
|
-
case 'few':
|
|
889
|
-
return `${filesCount} файла`;
|
|
890
|
-
default:
|
|
891
|
-
return `${filesCount || 0} файлов`;
|
|
892
|
-
}
|
|
893
|
-
}
|
|
894
|
-
/**
|
|
895
|
-
* Pluralization for "folder" word in russian language
|
|
896
|
-
*
|
|
897
|
-
* Outputs samples:
|
|
898
|
-
* * 1 папку
|
|
899
|
-
* * 2 папки
|
|
900
|
-
* * 10 папок
|
|
901
|
-
*/
|
|
902
|
-
function folderNamePluralization(params) {
|
|
903
|
-
const foldersCount = params['foldersCount'];
|
|
904
|
-
const foldersCountOption = pluralization.process(foldersCount);
|
|
905
|
-
switch (foldersCountOption) {
|
|
906
|
-
case 'one':
|
|
907
|
-
return '1 папку';
|
|
908
|
-
case 'few':
|
|
909
|
-
return `${foldersCount} папки`;
|
|
910
|
-
default:
|
|
911
|
-
return `${foldersCount || 0} папок`;
|
|
912
|
-
}
|
|
913
|
-
}
|
|
914
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzc2lhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaTE4bi9zcmMvbGliL2xhbmd1YWdlcy9ydXNzaWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE1BQU0sYUFBYSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFlO0lBQzNDLFlBQVksRUFBRTtRQUNWLGtCQUFrQixFQUFFLGFBQWE7UUFDakMsd0JBQXdCLEVBQUUsc0JBQXNCO1FBQ2hELG1CQUFtQixFQUFFLGVBQWU7UUFDcEMsa0JBQWtCLEVBQUUsY0FBYztRQUNsQyxpQkFBaUIsRUFBRSxnQkFBZ0I7UUFDbkMsYUFBYSxFQUFFLGVBQWU7UUFDOUIsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLGNBQWMsRUFBRSxpQkFBaUI7UUFDakMsZUFBZSxFQUFFLGtCQUFrQjtRQUNuQyxpQkFBaUIsRUFBRSxnQkFBZ0I7UUFDbkMsVUFBVSxFQUFFLFNBQVM7UUFDckIsZUFBZSxFQUFFLGtCQUFrQjtRQUNuQyxhQUFhLEVBQUUsaUJBQWlCO1FBQ2hDLGNBQWMsRUFBRSxlQUFlO1FBQy9CLGtCQUFrQixFQUFFLG1CQUFtQjtRQUN2QywwQkFBMEIsRUFBRSxXQUFXO1FBQ3ZDLDRCQUE0QixFQUFFLGNBQWM7UUFDNUMsNEJBQTRCLEVBQUUsWUFBWTtRQUMxQyxpQ0FBaUMsRUFBRSxxQkFBcUI7S0FDM0Q7SUFDRCxpQkFBaUIsRUFBRTtRQUNmLHNCQUFzQixFQUFFLDBDQUEwQztRQUNsRSxjQUFjLEVBQUUsbURBQW1EO0tBQ3RFO0lBQ0QsWUFBWSxFQUFFO1FBQ1Ysc0JBQXNCLEVBQUUsZ0NBQWdDO1FBQ3hELHVCQUF1QixFQUFFLCtCQUErQjtLQUMzRDtJQUNELGNBQWMsRUFBRTtRQUNaLGNB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U0FBUztRQUM5QixvQkFBb0IsRUFBRSxXQUFXO0tBQ3BDO0lBQ0QsUUFBUSxFQUFFO1FBQ04sTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsZUFBZTtRQUN6QixNQUFNLEVBQUUsWUFBWTtLQUN2QjtDQUNKLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsU0FBUyxxQkFBcUIsQ0FBQyxNQUF5QjtJQUNwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELFFBQVEsZ0JBQWdCLEVBQUU7UUFDdEIsS0FBSyxLQUFLO1lBQ04sT0FBTyxRQUFRLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ04sT0FBTyxHQUFHLFVBQVUsUUFBUSxDQUFDO1FBQ2pDO1lBQ0ksT0FBTyxHQUFHLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQztLQUMxQztBQUNMLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBUyx1QkFBdUIsQ0FBQyxNQUF5QjtJQUN0RCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9ELFFBQVEsa0JBQWtCLEVBQUU7UUFDeEIsS0FBSyxLQUFLO1lBQ04sT0FBTyxTQUFTLENBQUM7UUFDckIsS0FBSyxLQUFLO1lBQ04sT0FBTyxHQUFHLFlBQVksUUFBUSxDQUFDO1FBQ25DO1lBQ0ksT0FBTyxHQUFHLFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQztLQUMzQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZExhbmd1YWdlLCBGZExhbmd1YWdlS2V5QXJncyB9IGZyb20gJy4uL21vZGVscy9sYW5nJztcbmltcG9ydCB7IFBsdXJhbGl6YXRpb25TZXQxIH0gZnJvbSAnLi9wbHVyYWxpemF0aW9uL3NldDEnO1xuXG5jb25zdCBwbHVyYWxpemF0aW9uID0gbmV3IFBsdXJhbGl6YXRpb25TZXQxKCk7XG5cbi8qKlxuICogRGVmYXVsdCBzZXQgb2YgdHJhbnNsYXRpb25zIG9mIEZ1bmRhbWVudGFsIFVJIGxpYnJhcnkgZm9yIFJ1c3NpYW4gbGFuZ3VhZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IEZEX0xBTkdVQUdFX1JVU1NJQU46IEZkTGFuZ3VhZ2UgPSB7XG4gICAgY29yZUNhbGVuZGFyOiB7XG4gICAgICAgIHllYXJTZWxlY3Rpb25MYWJlbDogJ9CS0YvQsdGA0LDRgtGMINCz0L7QtCcsXG4gICAgICAgIHllYXJzUmFuZ2VTZWxlY3Rpb25MYWJlbDogJ9CS0YvQsdGA0LDRgtGMINC00LjQsNC/0LDQt9C+0L0g0LvQtdGCJyxcbiAgICAgICAgbW9udGhTZWxlY3Rpb25MYWJlbDogJ9CS0YvQsdGA0LDRgtGMINC80LXRgdGP0YYnLFxuICAgICAgICBkYXRlU2VsZWN0aW9uTGFiZWw6ICfQktGL0LHRgNCw0YLRjCDQtNCw0YLRgycsXG4gICAgICAgIHByZXZpb3VzWWVhckxhYmVsOiAn0J/RgNC10LTRi9C00YPRidC40Lkg0LPQvtC0JyxcbiAgICAgICAgbmV4dFllYXJMYWJlbDogJ9Ch0LvQtdC00YPRjtGJ0LjQuSDQs9C+0LQnLFxuICAgICAgICBwcmV2aW91c01vbnRoTGFiZWw6ICfQn9GA0LXQtNGL0LTRg9GJ0LjQuSDQvNC10YHRj9GGJyxcbiAgICAgICAgbmV4dE1vbnRoTGFiZWw6ICfQodC70LXQtNGD0Y7RidC40Lkg0LzQtdGB0Y/RhicsXG4gICAgICAgIHdlZWtDb2x1bW5MYWJlbDogJ9Cd0LXQtNC10LvRjyDQutCw0LvQtdC90LTQsNGA0Y8nLFxuICAgICAgICBkYXRlU2VsZWN0ZWRMYWJlbDogJ9CS0YvQsdGA0LDQvdC90LDRjyDQtNCw0YLQsCcsXG4gICAgICAgIHRvZGF5TGFiZWw6ICfQodC10LPQvtC00L3RjycsXG4gICAgICAgIHJhbmdlU3RhcnRMYWJlbDogJ9Cd0LDRh9Cw0LvQviDQtNC40LDQv9Cw0LfQvtC90LAnLFxuICAgICAgICByYW5nZUVuZExhYmVsOiAn0JrQvtC90LXRhiDQtNC40LDQv9Cw0LfQvtC90LAnLFxuICAgICAgICBkYXlJblBhc3RMYWJlbDogJ9Cf0YDQvtGI0LXQtNGI0LjQtSDQtNC90LgnLFxuICAgICAgICBjbG9zZUNhbGVuZGFyTGFiZWw6ICfQl9Cw0LrRgNGL0YLRjCDQutCw0LvQtdC90LTQsNGA0YwnLFxuICAgICAgICBjYWxlbmRhckRheVZpZXdEZXNjcmlwdGlvbjogJ9Ca0LDQu9C10L3QtNCw0YDRjCcsXG4gICAgICAgIGNhbGVuZGFyTW9udGhWaWV3RGVzY3JpcHRpb246ICfQktGL0LHQvtGAINC80LXRgdGP0YbQsCcsXG4gICAgICAgIGNhbGVuZGFyWWVhcnNWaWV3RGVzY3JpcHRpb246ICfQktGL0LHQvtGAINCz0L7QtNCwJyxcbiAgICAgICAgY2FsZW5kYXJZZWFyc1JhbmdlVmlld0Rlc2NyaXB0aW9uOiAn0JLRi9Cx0L7RgCDQtNC40LDQv9Cw0LfQvtC90LAg0LvQtdGCJ1xuICAgIH0sXG4gICAgY29yZU11bHRpQ29tYm9Cb3g6IHtcbiAgICAgICAgbXVsdGlDb21ib0JveEFyaWFMYWJlbDogJ9Cf0L7Qu9C1INGB0L4g0YHQv9C40YHQutC+0Lwg0YEg0L3QtdGB0LrQvtC70YzQutC40LzQuCDQt9C90LDRh9C10L3QuNGP0LzQuCcsXG4gICAgICAgIHNlbGVjdEFsbExhYmVsOiAn0JLRi9Cx0YDQsNGC0Ywg0LLRgdC1ICh7e3NlbGVjdGVkSXRlbXN9fSDQuNC3IHt7dG90YWxJdGVtc319KSdcbiAgICB9LFxuICAgIGNvcmVDYXJvdXNlbDoge1xuICAgICAgICBsZWZ0TmF2aWdhdGlvbkJ0bkxhYmVsOiAn0J/QtdGA0LXQudGC0Lgg0Log0L/RgNC10LTRi9C00YPRidC10LzRgyDRjdC70LXQvNC10L3RgtGDJyxcbiAgICAgICAgcmlnaHROYXZpZ2F0aW9uQnRuTGFiZWw6ICfQn9C10YDQtdC50YLQuCDQuiDRgdC70LXQtNGD0Y7RidC10LzRgyDRjdC70LXQvNC10L3RgtGDJ1xuICAgIH0sXG4gICAgY29yZURhdGVQaWNrZXI6IHtcbiAgICAgICAgZGF0ZUlucHV0TGFiZWw6ICfQn9C+0LvQtSDQstCy0L7QtNCwINC00LDRgtGLJyxcbiAgICAgICAgZGF0ZVJhbmdlSW5wdXRMYWJlbDogJ9Cf0L7Qu9C1INCy0LLQvtC00LAg0LTQuNCw0L/QsNC30L7QvdCwINC00LDRgicsXG4gICAgICAgIGRpc3BsYXlDYWxlbmRhclRvZ2dsZUxhYmVsOiAn0J7RgtC60YDRi9GC0Ywg0YHRgNC10LTRgdGC0LLQviDQstGL0LHQvtGA0LAnLFxuICAgICAgICB2YWx1ZVN0YXRlU3VjY2Vzc01lc3NhZ2U6ICfQl9C90LDRh9C10L3QuNC1INGB0L7RgdGC0L7Rj9C90LjRjzog0KPRgdC/0LXRhScsXG4gICAgICAgIHZhbHVlU3RhdGVJbmZvcm1hdGlvbk1lc3NhZ2U6ICfQl9C90LDRh9C10L3QuNC1INGB0L7RgdGC0L7Rj9C90LjRjzog0JjQvdGE0L7RgNC80LDRhtC40L7QvdC90L7QtScsXG4gICAgICAgIHZhbHVlU3RhdGVXYXJuaW5nTWVzc2FnZTogJ9CX0L3QsNGH0LXQvdC40LUg0YHQvtGB0YLQvtGP0L3QuNGPOiDQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1JyxcbiAgICAgICAgdmFsdWVTdGF0ZUVycm9yTWVzc2FnZTogJ9CX0L3QsNGH0LXQvdC40LUg0YHQvtGB0YLQvtGP0L3QuNGPOiDQntGI0LjQsdC60LAnXG4gICAgfSxcbiAgICBjb3JlRGF0ZXRpbWVQaWNrZXI6IHtcbiAgICAgICAgZGF0ZXRpbWVJbnB1dExhYmVsOiAn0J/QvtC70LUg0LLQstC+0LTQsCDQtNCw0YLRiyDQuCDQstGA0LXQvNC10L3QuCcsXG4gICAgICAgIGRpc3BsYXlEYXRldGltZVRvZ2dsZUxhYmVsOiAn0J/QvtC60LDQt9Cw0YLRjCDQutCw0LvQtdC90LTQsNGA0YwnLFxuICAgICAgICBkaXNwbGF5VHlwZURhdGVMYWJlbDogJ9CU0LDRgtCwJyxcbiAgICAgICAgZGlzcGxheVR5cGVUaW1lTGFiZWw6ICfQktGA0LXQvNGPJyxcbiAgICAgICAgZGF0ZXRpbWVPa0xhYmVsOiAn0J7QmicsXG4gICAgICAgIGRhdGV0aW1lQ2FuY2VsTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJ1xuICAgIH0sXG4gICAgY29yZUZlZWRMaXN0SXRlbToge1xuICAgICAgICBtb3JlTGFiZWw6ICfQkdC+0LvRjNGI0LUnLFxuICAgICAgICBsZXNzTGFiZWw6ICfQnNC10L3RjNGI0LUnXG4gICAgfSxcbiAgICBjb3JlR3JpZExpc3Q6IHtcbiAgICAgICAgZmlsdGVyQmFyQ2FuY2VsQnV0dG9uVGl0bGU6ICfQntGC0LzQtdC90LAnLFxuICAgICAgICBsaXN0SXRlbVN0YXR1c0FyaWFMYWJlbDogJ9Ct0LvQtdC80LXQvdGCINC40LzQtdC10YIg0YHRgtCw0YLRg9GBLiDQodGC0LDRgtGD0YE6IHt7IHN0YXR1cyB9fS4nLFxuICAgICAgICBsaXN0SXRlbUNvdW50ZXJBcmlhTGFiZWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gcGFyYW1zWydjb3VudCddO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGNvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQrdC70LXQvNC10L3RgiDQuNC80LXQtdGCIDEg0LTQvtGH0LXRgNC90LjQuSDRjdC70LXQvNC10L3Rgi5gO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0K3Qu9C10LzQtdC90YIg0LjQvNC10LXRgiAke2NvdW50fSDQtNC+0YfQtdGA0L3QuNGFINGN0LvQtdC80LXQvdGC0LAuYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCt0LvQtdC80LXQvdGCINC40LzQtdC10YIgJHtjb3VudH0g0LTQvtGHZdGA0L3QuNGFINGN0LvQtdC80LXQvdGC0L7Qsi5gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBsaXN0SXRlbUJ1dHRvbkRldGFpbHNUaXRsZTogJ9Cf0L7QtNGA0L7QsdC90L7RgdGC0LgnLFxuICAgICAgICBsaXN0SXRlbUJ1dHRvbkRlbGV0ZVRpdGxlOiAn0KPQtNCw0LvQuNGC0YwnLFxuICAgICAgICBsaXN0SXRlbVN0YXR1c0NvbnRhaW5zRXJyb3JzOiAn0KHQvtC00LXRgNC20LjRgiDQvtGI0LjQsdC60LgnLFxuICAgICAgICBsaXN0SXRlbVN0YXR1c0xvY2tlZDogJ9CX0LDQsdC70L7QutC40YDQvtCy0LDQvdC+JyxcbiAgICAgICAgbGlzdEl0ZW1TdGF0dXNEcmFmdDogJ9Cn0LXRgNC90L7QstC40LonXG4gICAgfSxcbiAgICBjb3JlTWVzc2FnZVN0cmlwOiB7XG4gICAgICAgIGRpc21pc3NMYWJlbDogJ9CX0LDQutGA0YvRgtGMJ1xuICAgIH0sXG4gICAgY29yZU11bHRpSW5wdXQ6IHtcbiAgICAgICAgbXVsdGlJbnB1dEFyaWFMYWJlbDogJ011bHRpIFZhbHVlIElucHV0JyxcbiAgICAgICAgbm9SZXN1bHRzOiAnTm8gcmVzdWx0cy4nLFxuICAgICAgICBuYXZpZ2F0ZVNlbGVjdGlvbnNXaXRoQXJyb3dzOiAnTmF2aWdhdGUgc2VsZWN0aW9ucyB3aXRoIHRoZSB1cCBhbmQgZG93biBhcnJvd3MuJyxcbiAgICAgICAgY291bnRMaXN0UmVzdWx0c1Npbmd1bGFyOiAnMSDRjdC70LXQvNC10L3Rgi4nLFxuICAgICAgICBjb3VudExpc3RSZXN1bHRzUGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgMSDRjdC70LXQvNC10L3Rgi5gO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtjb3VudH0g0Y3Qu9C10LzQtdC90YLQsC5gO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtjb3VudCB8fCAwfSDRjdC70LXQvNC10L3RgtC+0LIuYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXNjYXBlTmF2aWdhdGVUb2tlbnM6XG4gICAgICAgICAgICAnUHJlc3MgZXNjYXBlIHRvIGV4aXQgdGhlIGlucHV0IGZpZWxkIGFuZCB1c2UgdGhlIGxlZnQgYW5kIHJpZ2h0IGFycm93IGtleXMgdG8gbmF2aWdhdGUgdGhyb3VnaCB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4nLFxuICAgICAgICB0b2tlbnNDb3VudFRleHQ6ICh7IGxlbmd0aCB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MobGVuZ3RoKTtcbiAgICAgICAgICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnemVybyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAn0J3QtdGCINCy0YvQsdGA0LDQvdC90YvRhSDQstCw0YDQuNCw0L3RgtC+0LIuJztcbiAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCS0YvQsdGA0LDQvSAxINCy0LDRgNC40LDQvdGCLmA7XG4gICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQktGL0LHRgNCw0L3QviAke2xlbmd0aH0g0LLQsNGA0LjQsNC90YLQsC5gO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0JLRi9Cx0YDQsNC90L4gJHtsZW5ndGh9INCy0LDRgNC40LDQvdGC0L7Qsi5gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjb3JlTmF2aWdhdGlvbjoge1xuICAgICAgICBtYWluTmF2aWdhdGlvbjogJ9CT0LvQsNCy0L3QsNGPINCd0LDQstC40LPQsNGG0LjRjycsXG4gICAgICAgIG5hdmlnYXRpb25QYXRoOiAn0J/Rg9GC0Ywg0L3QsNCy0LjQs9Cw0YbQuNC4J1xuICAgIH0sXG4gICAgY29yZU5lc3RlZExpc3Q6IHtcbiAgICAgICAgbGlua0l0ZW1BcmlhTGFiZWw6ICfQrdC70LXQvNC10L3RgiDQtNC10YDQtdCy0LAge3sgaXRlbURldGFpbHMgfX0sIHt7IGluZGV4IH19INC40Lcge3sgdG90YWwgfX17eyBzZWxlY3RlZERlc2NyaXB0aW9uIH19J1xuICAgIH0sXG4gICAgY29yZU92ZXJmbG93TGF5b3V0OiB7XG4gICAgICAgIG1vcmVJdGVtc0J1dHRvbjogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY291bnQgPSBwYXJhbXNbJ2NvdW50J107XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoY291bnQpO1xuICAgICAgICAgICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAxINC10LvQtdC80LXQvdGCYDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAke2NvdW50fSDQtdC70LXQvNC10L3RgtCwYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAke2NvdW50fSDQtdC70LXQvNC10L3RgtC+0LJgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjb3JlUGFnaW5hdGlvbjoge1xuICAgICAgICBwYWdlTGFiZWw6ICfQodGC0YDQsNC90LjRhtCwIHt7IHBhZ2VOdW1iZXIgfX0nLFxuICAgICAgICBjdXJyZW50UGFnZUFyaWFMYWJlbDogJ9Ch0YLRgNCw0L3QuNGG0LAge3sgcGFnZU51bWJlciB9fSDQsNC60YLQuNCy0L3QsCcsXG4gICAgICAgIGxhYmVsQmVmb3JlSW5wdXRNb2JpbGU6ICfQodGC0YDQsNC90LjRhtCwOicsXG4gICAgICAgIGxhYmVsQWZ0ZXJJbnB1dE1vYmlsZTogJ9C40Lcge3sgdG90YWxDb3VudCB9fScsXG4gICAgICAgIGlucHV0QXJpYUxhYmVsOiAn0J/QvtC70LUg0LLQstC+0LTQsCDRgdGC0YDQsNC90LjRhtGLLCDQotC10LrRg9GJ0LDRjyDRgdGC0YDQsNC90LjRhtCwLCDQodGC0YDQsNC90LjRhtCwIHt7IHBhZ2VOdW1iZXIgfX0g0LjQtyB7eyB0b3RhbENvdW50IH19JyxcbiAgICAgICAgaXRlbXNQZXJQYWdlTGFiZWw6ICfQoNC10LfRg9C70YzRgtCw0YLQvtCyINC90LAg0YHRgtGA0LDQvdC40YbQtTonLFxuICAgICAgICBmaXJzdExhYmVsOiAn0J/QtdGA0LXQudGC0Lgg0Log0L/QtdGA0LLQvtC5JyxcbiAgICAgICAgcHJldmlvdXNMYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INC/0YDQtdC00YvQtNGD0YnQtdC5JyxcbiAgICAgICAgbmV4dExhYmVsOiAn0J/QtdGA0LXQudGC0Lgg0Log0YHQu9C10LTRg9GO0YnQtdC5JyxcbiAgICAgICAgbGFzdExhYmVsOiAn0J/QtdGA0LXQudGC0Lgg0Log0L/QvtGB0LvQtdC00L3QtdC5JyxcbiAgICAgICAgYXJpYUxhYmVsOiAn0J3Rg9C80LXRgNCw0YbQuNGPINGB0YLRgNCw0L3QuNGGJyxcbiAgICAgICAgdG90YWxSZXN1bHRzTGFiZWw6ICd7eyB0b3RhbENvdW50IH19INGA0LXQt9GD0LvRjNGC0LDRgtC+0LInXG4gICAgfSxcbiAgICBjb3JlUHJvZHVjdFN3aXRjaDoge1xuICAgICAgICBhcmlhTGFiZWw6ICfQn9C10YDQtdC60LvRjtGH0LDRgtC10LvRjCdcbiAgICB9LFxuICAgIGNvcmVTaGVsbGJhcjoge1xuICAgICAgICBjb2xsYXBzZWRJdGVtTWVudUxhYmVsOiAn0KHQstC10YDQvdGD0YLQvtC1INC80LXQvdGOINGN0LvQtdC80LXQvdGC0L7QsicsXG4gICAgICAgIGNhbmNlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIHNlYXJjaDogJ9Cf0L7QuNGB0LonXG4gICAgfSxcbiAgICBjb3JlU2xpZGVyOiB7XG4gICAgICAgIHNpbmdsZU1pbk1heERldGFpbHM6ICfQnNC40L3QuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YHQu9Cw0LnQtNC10YDQsCB7eyBtaW4gfX0sINC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1IHt7IG1heCB9fScsXG4gICAgICAgIHNpbmdsZVZhbHVlbWluRGV0YWlsczogJ9CX0L3QsNGH0LXQvdC40LUg0YDQsNCy0L3QviB7eyB2YWx1ZSB9fScsXG4gICAgICAgIHNpbmdsZVZhbHVlbWF4RGV0YWlsczogJ9CX0L3QsNGH0LXQvdC40LUg0YDQsNCy0L3QviB7eyB2YWx1ZSB9fScsXG4gICAgICAgIHNpbmdsZVZhbHVlTm93RGV0YWlsczogJ9Ci0LXQutGD0YnQtdC1INC30L3QsNGH0LXQvdC40LU6IHt7IHZhbHVlIH19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUxTWluTWF4RGV0YWlsczogJ9Cc0LjQvdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgdC70LDQudC00LXRgNCwIHt7IG1pbiB9fSwg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUge3sgbWF4IH19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUxVmFsdWVtaW5EZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7IHZhbHVlIH19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUxVmFsdWVtYXhEZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7IHZhbHVlIH19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUxVmFsdWVOb3dEZXRhaWxzOiAn0KLQtdC60YPRidC10LUg0LfQvdCw0YfQtdC90LjQtToge3sgdmFsdWUgfX0nLFxuICAgICAgICBtdWx0aXBsZUhhbmRsZTJNaW5NYXhEZXRhaWxzOiAn0JzQuNC90LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGB0LvQsNC50LTQtdGA0LAge3sgbWluIH19LCDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSB7eyBtYXggfX0nLFxuICAgICAgICBtdWx0aXBsZUhhbmRsZTJWYWx1ZW1pbkRldGFpbHM6ICfQl9C90LDRh9C10L3QuNC1INGA0LDQstC90L4ge3sgdmFsdWUgfX0nLFxuICAgICAgICBtdWx0aXBsZUhhbmRsZTJWYWx1ZW1heERldGFpbHM6ICfQl9C90LDRh9C10L3QuNC1INGA0LDQstC90L4ge3sgdmFsdWUgfX0nLFxuICAgICAgICBtdWx0aXBsZUhhbmRsZTJWYWx1ZU5vd0RldGFpbHM6ICfQotC10LrRg9GJ0LXQtSDQt9C90LDRh9C10L3QuNC1OiB7eyB2YWx1ZSB9fSdcbiAgICB9LFxuICAgIGNvcmVTcGxpdEJ1dHRvbjoge1xuICAgICAgICBleHBhbmRCdXR0b25BcmlhTGFiZWw6ICfQkdC+0LvRjNGI0LUg0LTQtdC50YHRgtCy0LjQuScsXG4gICAgICAgIGFyaWFsTGFiZWw6ICfQmtC90L7Qv9C60LAg0YDQsNC30LTQtdC70LXQvdC40Y8nXG4gICAgfSxcbiAgICBjb3JlU3BsaXR0ZXI6IHtcbiAgICAgICAgcGFnaW5hdGlvbkl0ZW1BcmlhTGFiZWw6ICfQodC10LrRhtC40Y8nXG4gICAgfSxcbiAgICBjb3JlU3RlcElucHV0OiB7XG4gICAgICAgIGluY3JlbWVudEJ1dHRvblRpdGxlOiAn0KPQstC10LvQuNGH0LjRgtGMJyxcbiAgICAgICAgZGVjcmVtZW50QnV0dG9uVGl0bGU6ICfQo9C80LXQvdGM0YjQuNGC0YwnLFxuICAgICAgICBhcmlhUm9sZURlc2NyaXB0aW9uOiAn0KjQsNCzINCy0LLQvtC00LAnXG4gICAgfSxcbiAgICBjb3JlU3dpdGNoOiB7XG4gICAgICAgIHNlbWFudGljQWNjZXB0TGFiZWw6ICfQn9GA0LjQvdGP0YLRjCcsXG4gICAgICAgIHNlbWFudGljRGVjbGluZUxhYmVsOiAn0J7RgtC60LvQvtC90LjRgtGMJ1xuICAgIH0sXG4gICAgY29yZVRhYnM6IHtcbiAgICAgICAgdGFiTGlzdEV4cGFuZEJ1dHRvblRleHQ6ICfQkdC+0LvRjNGI0LUnXG4gICAgfSxcbiAgICBjb3JlVGV4dDoge1xuICAgICAgICBtb3JlTGFiZWw6ICfQkdC+0LvRjNGI0LUnLFxuICAgICAgICBsZXNzTGFiZWw6ICfQnNC10L3RjNGI0LUnXG4gICAgfSxcbiAgICBjb3JlVGltZToge1xuICAgICAgICBjb21wb25lbnRBcmlhTmFtZTogJ9CS0YvQsdC+0YAg0LLRgNC10LzQtdC90LgnLFxuICAgICAgICBpbmNyZWFzZUhvdXJzTGFiZWw6ICfQo9Cy0LXQu9C40YfQuNGC0Ywg0YfQsNGB0YsnLFxuICAgICAgICBocnNMYWJlbDogJ9Cn0LDRgScsXG4gICAgICAgIGRlY3JlYXNlSG91cnNMYWJlbDogJ9Cj0LzQtdC90YzRiNC40YLRjCDRh9Cw0YHRiycsXG4gICAgICAgIGluY3JlYXNlTWludXRlc0xhYmVsOiAn0KPQstC10LvQuNGH0LjRgtGMINC80LjQvdGD0YLRiycsXG4gICAgICAgIG1pbkxhYmVsOiAn0JzQuNC9JyxcbiAgICAgICAgZGVjcmVhc2VNaW51dGVzTGFiZWw6ICfQo9C80LXQvdGM0YjQuNGC0Ywg0LzQuNC90YPRgtGLJyxcbiAgICAgICAgaW5jcmVhc2VTZWNvbmRzTGFiZWw6ICfQo9Cy0LXQu9C40YfQuNGC0Ywg0YHQtdC60YPQvdC00YsnLFxuICAgICAgICBzZWNMYWJlbDogJ9Ch0LXQuicsXG4gICAgICAgIGhvdXJzTGFiZWw6ICdIb3VycycsXG4gICAgICAgIG1pbnV0ZXNMYWJlbDogJ01pbnV0ZXMnLFxuICAgICAgICBzZWNvbmRzTGFiZWw6ICdTZWNvbmRzJyxcbiAgICAgICAgZGVjcmVhc2VTZWNvbmRzTGFiZWw6ICfQo9C80LXQvdGM0YjQuNGC0Ywg0YHQtdC60YPQvdC00YsnLFxuICAgICAgICBpbmNyZWFzZVBlcmlvZExhYmVsOiAn0KPQstC10LvQuNGH0LjRgtGMINC/0LXRgNC40L7QtCcsXG4gICAgICAgIHBlcmlvZExhYmVsOiAn0J/QtdGA0LjQvtC0JyxcbiAgICAgICAgZGVjcmVhc2VQZXJpb2RMYWJlbDogJ9Cj0LzQtdC90YzRiNC40YLRjCDQv9C10YDQuNC+0LQnLFxuICAgICAgICBuYXZpZ2F0aW9uSW5zdHJ1Y3Rpb246XG4gICAgICAgICAgICAn0JTQu9GPINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8g0LzQtdC20LTRgyDRjdC70LXQvNC10L3RgtCw0LzQuCDQsiDRjdGC0L7QvCDRgdC/0LjRgdC60LUg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdGC0YDQtdC70LrRgyDQstCy0LXRgNGFINC40LvQuCDQstC90LjQty4gJyArXG4gICAgICAgICAgICAn0JTQu9GPINC/0LXRgNC10LrQu9GO0YfQtdC90LjRjyDQvNC10LbQtNGDINGB0L/QuNGB0LrQsNC80Lgg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdGC0YDQtdC70LrRgyDQstC70LXQstC+INC40LvQuCDQstC/0YDQsNCy0L4uJ1xuICAgIH0sXG4gICAgY29yZVRpbWVQaWNrZXI6IHtcbiAgICAgICAgdGltZVBpY2tlcklucHV0TGFiZWw6ICfQn9C+0LvQtSDQstCy0L7QtNCwINCy0YDQtdC80LXQvdC4JyxcbiAgICAgICAgdGltZVBpY2tlckJ1dHRvbkxhYmVsOiAn0J7RgtC60YDRi9GC0Ywg0L7QutC90L4g0LLRi9Cx0L7RgNCwJ1xuICAgIH0sXG4gICAgY29yZVRva2VuOiB7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbkxhYmVsOiAn0KPQtNCw0LvRj9C10LzRi9C5JyxcbiAgICAgICAgYXJpYVJvbGVEZXNjcmlwdGlvbjogJ9GC0L7QutC10L0nXG4gICAgfSxcbiAgICBjb3JlVG9rZW5pemVyOiB7XG4gICAgICAgIG1vcmVMYWJlbDogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY291bnQgPSBwYXJhbXNbJ2NvdW50J107XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoY291bnQpO1xuICAgICAgICAgICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAxINC10LvQtdC80LXQvdGCYDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAke2NvdW50fSDQtdC70LXQvNC10L3RgtCwYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAke2NvdW50fSDQtdC70LXQvNC10L3RgtC+0LJgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0b2tlbml6ZXJMYWJlbDogJ1Rva2VuaXplcidcbiAgICB9LFxuICAgIGNvcmVVcGxvYWRDb2xsZWN0aW9uOiB7XG4gICAgICAgIG1lbnVPa1RleHQ6ICfQntCaJyxcbiAgICAgICAgbWVudUNhbmNlbFRleHQ6ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgbWVudUVkaXRBcmlhTGFiZWw6ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIG1lbnVEZWxldGVBcmlhTGFiZWw6ICfQo9C00LDQu9C40YLRjCcsXG4gICAgICAgIG1lbnVPa0FyaWFMYWJlbDogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJyxcbiAgICAgICAgbWVudUNhbmNlbEFyaWFMYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBmb3JtSXRlbVBsYWNlaG9sZGVyOiAn0JjQvNGPINGE0LDQudC70LAnXG4gICAgfSxcbiAgICBjb3JlV2l6YXJkOiB7XG4gICAgICAgIGFyaWFMYWJlbDogJ9Cc0LDRgdGC0LXRgCdcbiAgICB9LFxuICAgIGNvcmVCcmVhZGNydW1iOiB7XG4gICAgICAgIG92ZXJmbG93VGl0bGVNb3JlOiAn0JHQvtC70YzRiNC1J1xuICAgIH0sXG4gICAgcGxhdGZvcm1BY3Rpb25CYXI6IHtcbiAgICAgICAgYmFja0J1dHRvbkxhYmVsOiAn0JLQtdGA0L3Rg9GC0YzRgdGPINC90LDQt9Cw0LQnXG4gICAgfSxcbiAgICBwbGF0Zm9ybUFwcHJvdmFsRmxvdzoge1xuICAgICAgICBhZGROb2RlQnV0dG9uVGl0bGU6ICfQlNC+0LHQsNCy0LjRgtGMJyxcbiAgICAgICAgbm9kZU1lbnVCdXR0b25UaXRsZTogJ9Cc0LXQvdGOJyxcbiAgICAgICAgZGVmYXVsdFdhdGNoZXJzTGFiZWw6ICfQndCw0LHQu9GO0LTQsNGC0LXQu9C4JyxcbiAgICAgICAgZGVmYXVsdFRpdGxlOiAn0J/RgNC+0YbQtdGB0YEg0YPRgtCy0LXRgNC20LTQtdC90LjRjycsXG4gICAgICAgIG5leHRCdXR0b25BcmlhTGFiZWw6ICfQn9C10YDQtdC50YLQuCDQuiDRgdC70LXQtNGD0Y7RidC10LzRgyDRgdC70LDQudC0JyxcbiAgICAgICAgcHJldkJ1dHRvbkFyaWFMYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INC/0YDQtdC00YvQtNGD0YnQtdC80YMg0YHQu9Cw0LnQtNGDJyxcbiAgICAgICAgZWRpdE1vZGVTYXZlQnV0dG9uTGFiZWw6ICfQodC+0YXRgNCw0L3QuNGC0YwnLFxuICAgICAgICBlZGl0TW9kZUV4aXRCdXR0b25MYWJlbDogJ9CS0YvQudGC0LgnLFxuICAgICAgICBlbXB0eVRpdGxlOiAn0J3QsNGH0LDRgtGMINC00L7QsdCw0LLQu9GP0YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUg0Lgg0L3QsNCx0LvRjtC00LDRgtC10LvQtdC5JyxcbiAgICAgICAgZW1wdHlIaW50OlxuICAgICAgICAgICAgJ9Cn0YLQvtCx0Ysg0LTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUsINC90LDQttC80LjRgtC1IFwi0JTQvtCx0LDQstC40YLRjCDRiNCw0LNcIi4g0KfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINC90LDQsdC70Y7QtNCw0YLQtdC70LXQuSwg0L3QsNC20LzQuNGC0LUg0L/QvtC70LUg0J3QsNCx0LvRjtC00LDRgtC10LvQuC4nLFxuICAgICAgICBhZGROb2RlRGlhbG9nSGVhZGVyQWRkQXBwcm92ZXJzOiAn0JTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC10LPQvicsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dIZWFkZXJFZGl0QXBwcm92ZXI6ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC10LPQvicsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dIZWFkZXJBZGRBcHByb3ZlclRlYW06ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywv0JrQvtC80LDQvdC00LAnLFxuICAgICAgICBhZGROb2RlRGlhbG9nSGVhZGVyRGV0YWlsOiAn0JTQtdGC0LDQu9C4JyxcbiAgICAgICAgYWRkTm9kZURpYWxvZ05vZGVUeXBlOiAn0J/QsNGA0LDQu9C70LXQu9GM0L3Ri9C5INC40LvQuCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90YvQuScsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dOb2RlVHlwZVNlcmlhbDogJ9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3Ri9C5JyxcbiAgICAgICAgYWRkTm9kZURpYWxvZ05vZGVUeXBlUGFyYWxsZWw6ICfQn9Cw0YDQsNC70LvQtdC70YzQvdGL0LknLFxuICAgICAgICBhZGROb2RlRGlhbG9nQXBwcm92ZXJUeXBlOiAn0KLQuNC/INGD0YLQstC10YDQttC00LDRjtGJ0LXQs9C+JyxcbiAgICAgICAgYWRkTm9kZURpYWxvZ0FwcHJvdmVyVHlwZVVzZXI6ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70YwnLFxuICAgICAgICBhZGROb2RlRGlhbG9nQXBwcm92ZXJUeXBlVGVhbUFueW9uZTogJ9Cb0Y7QsdC+0Lkg0LjQtyDQutC+0LzQsNC90LTRiycsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dBcHByb3ZlclR5cGVUZWFtRXZlcnlvbmU6ICfQktGB0LUg0LIg0LrQvtC80LDQvdC00LUnLFxuICAgICAgICBhZGROb2RlRGlhbG9nVXNlck9yVGVhbTogJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjC/QmtC+0LzQsNC90LTQsCcsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dBZGRUb05leHQ6ICfQlNC+0LHQsNCy0LjRgtGMINCyINGB0LvQtdC00YPRjtGJ0LjQuSDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90YvQuSDRg9C30LXQuycsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dEdWVEYXRlOiAn0JTQsNGC0LAg0LLRi9C/0L7Qu9C90LXQvdC40Y8nLFxuICAgICAgICBhZGROb2RlU2VhcmNoUGxhY2Vob2xkZXI6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgYWRkTm9kZUFkZEFjdGlvbkJ0bkxhYmVsOiAn0JTQvtCx0LDQstC40YLRjCcsXG4gICAgICAgIGFkZE5vZGVDYW5jZWxBY3Rpb25CdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIGFkZE5vZGVTZWxlY3RBcHByb3ZlckFjdGlvbkJ0bkxhYmVsOiAn0JLRi9Cx0YDQsNGC0YwnLFxuICAgICAgICBhZGROb2RlQ2FuY2VsQXBwcm92ZXJTZWxlY3Rpb25BY3Rpb25CdG5MYWJlbDogJ9CS0YvQudGC0LgnLFxuICAgICAgICBhZGROb2RlQXBwcm92ZXJPclRlYW1EZXRhaWxzQ2xvc2VBY3Rpb25CdG5MYWJlbDogJ9CX0LDQutGA0YvRgtGMJyxcbiAgICAgICAgdXNlckRldGFpbHNIZWFkZXI6ICfQlNC10YLQsNC70LgnLFxuICAgICAgICB1c2VyRGV0YWlsc1NlbmRSZW1pbmRlckJ0bkxhYmVsOiAn0J7RgtC/0YDQsNCy0LjRgtGMINC90LDQv9C+0LzQuNC90LDQvdC40LUnLFxuICAgICAgICB1c2VyRGV0YWlsc0NhbmNlbEJ0bkxhYmVsOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIG1lc3NhZ2VzQXBwcm92ZXJBZGRlZFN1Y2Nlc3M6ICcxINGD0YLQstC10YDQttC00LDRjtGJ0LjQuSDQtNC+0LHQsNCy0LvQtdC9JyxcbiAgICAgICAgbWVzc2FnZXNUZWFtQWRkZWRTdWNjZXNzOiAnMSDQutC+0LzQsNC90LTQsCDQtNC+0LHQsNCy0LvQtdC90LAnLFxuICAgICAgICBtZXNzYWdlc05vZGVFZGl0ZWQ6ICcxINGD0YLQstC10YDQttC00LDRjtGJ0LjQuSDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNC9JyxcbiAgICAgICAgbWVzc2FnZXNOb2RlUmVtb3ZlZFNpbmd1bGFyOiAnMSDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40Lkg0YPQtNCw0LvQtdC9JyxcbiAgICAgICAgbWVzc2FnZXNOb2RlUmVtb3ZlZFBsdXJhbDogJ9Cj0YLQstC10YDQttC00LDRjtGJ0LjQtSDRg9C00LDQu9C10L3RiycsXG4gICAgICAgIG1lc3NhZ2VzVGVhbVJlbW92ZWQ6ICcxINC60L7QvNCw0L3QtNCwINGD0LTQsNC70LXQvdCwJyxcbiAgICAgICAgbWVzc2FnZXNFcnJvckJ1aWxkR3JhcGg6ICfQn9GA0Lgg0L/QvtC/0YvRgtC60LUg0L/QvtGB0YLRgNC+0LjRgtGMINCz0YDQsNGE0LjQuiDQv9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwLiDQn9GA0L7QstC10YDRjNGC0LUg0LLRhdC+0LTRj9GJ0LjQtSDQtNCw0L3QvdGL0LUuJyxcbiAgICAgICAgbWVzc2FnZXNVbmRvQWN0aW9uOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIG5vZGVNZW1iZXJzQ291bnQ6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gcGFyYW1zWydjb3VudCddO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGNvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAxINGH0LvQtdC9INC60L7QvNCw0L3QtNGLYDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Y291bnR9INGH0LvQtdC90LAg0LrQvtC80LDQvdC00YtgO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtjb3VudCB8fCAwfSDRh9C70LXQvdC+0LIg0LrQvtC80LDQvdC00YtgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBub2RlVmFyaW91c1RlYW1zOiAn0KDQsNC30LvQuNGH0L3Ri9C1INC60L7QvNCw0L3QtNGLJyxcbiAgICAgICAgbm9kZVN0YXR1c0R1ZVRvZGF5OiAn0KHRgNC+0Log0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YHQtdCz0L7QtNC90Y8nLFxuICAgICAgICBub2RlU3RhdHVzRHVlSW5YRGF5czogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY291bnQgPSBwYXJhbXNbJ2NvdW50J107XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoY291bnQpO1xuICAgICAgICAgICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCh0YDQvtC6INCy0YvQv9C+0LvQvdC10L3QuNGPINGH0LXRgNC10LcgMSDQtNC10L3RjGA7XG4gICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQodGA0L7QuiDQstGL0L/QvtC70L3QtdC90LjRjyDRh9C10YDQtdC3ICR7Y291bnR9INC00L3Rj2A7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQodGA0L7QuiDQstGL0L/QvtC70L3QtdC90LjRjyDRh9C10YDQtdC3ICR7Y291bnQgfHwgMH0g0LTQvdC10LlgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBub2RlU3RhdHVzWERheXNPdmVyZHVlOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J/RgNC+0YHRgNC+0YfQtdC90L4g0L3QsCAxINC00LXQvdGMYDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCf0YDQvtGB0YDQvtGH0LXQvdC+INC90LAgJHtjb3VudH0g0LTQvdGPYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCf0YDQvtGB0YDQvtGH0LXQvdC+INC90LAgJHtjb3VudCB8fCAwfSDQtNC90LXQuWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG5vZGVBY3Rpb25BZGRBcHByb3ZlcnNCZWZvcmU6ICfQlNC+0LHQsNCy0LjRgtGMINGD0YLQstC10YDQttC00LDRjtGJ0LjRhSDQtNC+JyxcbiAgICAgICAgbm9kZUFjdGlvbkFkZEFwcHJvdmVyc0FmdGVyOiAn0JTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUg0L/QvtGB0LvQtScsXG4gICAgICAgIG5vZGVBY3Rpb25BZGRBcHByb3ZlcnNQYXJhbGxlbDogJ9CU0L7QsdCw0LLQuNGC0Ywg0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9GFINGD0YLQstC10YDQttC00LDRjtGJ0LjRhScsXG4gICAgICAgIG5vZGVBY3Rpb25FZGl0QXBwcm92ZXI6ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC10LPQvicsXG4gICAgICAgIG5vZGVBY3Rpb25SZW1vdmU6ICfQo9C00LDQu9C40YLRjCcsXG4gICAgICAgIHNlbGVjdFR5cGVEaWFsb2dNb3ZlQXBwcm92ZXJBczogJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0YPRgtCy0LXRgNC20LTQsNGO0YnQtdCz0L4g0LrQsNC6JyxcbiAgICAgICAgc2VsZWN0VHlwZURpYWxvZ1BhcmFsbGVsT3JTZXJpYWw6ICfQn9Cw0YDQsNC70LvQtdC70YzQvdGL0Lkg0LjQu9C4INC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3Ri9C5JyxcbiAgICAgICAgc2VsZWN0VHlwZURpYWxvZ05vZGVUeXBlUGFyYWxsZWw6ICfQn9Cw0YDQsNC70LvQtdC70YzQvdGL0Lkg0YPRgtCy0LXRgNC20LTQsNGO0YnQuNC5JyxcbiAgICAgICAgc2VsZWN0VHlwZURpYWxvZ05vZGVUeXBlU2VyaWFsOiAn0J/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdGL0Lkg0YPRgtCy0LXRgNC20LTQsNGO0YnQuNC5JyxcbiAgICAgICAgc2VsZWN0VHlwZURpYWxvZ0NvbmZpcm1CdXR0b246ICfQn9C+0LTRgtCy0LXRgNC00LjRgtGMJyxcbiAgICAgICAgc2VsZWN0VHlwZURpYWxvZ0NhbmNlbEJ1dHRvbjogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIHRvb2xiYXJBZGRTdGVwQnV0dG9uOiAn0JTQvtCx0LDQstC40YLRjCDRiNCw0LMnLFxuICAgICAgICB0b29sYmFyRWRpdEJ1dHRvbjogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJyxcbiAgICAgICAgdG9vbGJhckFkZEFwcHJvdmVyc0JlZm9yZTogJ9CU0L7QsdCw0LLQuNGC0Ywg0YPRgtCy0LXRgNC20LTQsNGO0YnQuNGFINC00L4nLFxuICAgICAgICB0b29sYmFyQWRkQXBwcm92ZXJzQWZ0ZXI6ICfQlNC+0LHQsNCy0LjRgtGMINGD0YLQstC10YDQttC00LDRjtGJ0LjRhSDQv9C+0YHQu9C1JyxcbiAgICAgICAgdG9vbGJhckFkZEFwcHJvdmVyc1BhcmFsbGVsOiAn0JTQvtCx0LDQstC40YLRjCDQv9Cw0YDQsNC70LvQtdC70YzQvdGL0YUg0YPRgtCy0LXRgNC20LTQsNGO0YnQuNGFJyxcbiAgICAgICAgdG9vbGJhclJlbW92ZTogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgdG9vbGJhckVkaXRBcHByb3ZlcjogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGD0YLQstC10YDQttC00LDRjtGJ0LXQs9C+JyxcbiAgICAgICAgd2F0Y2hlcnNJbnB1dFBsYWNlaG9sZGVyOiAn0J/QvtC40YHQuicsXG4gICAgICAgIHVzZXJMaXN0U2VsZWN0ZWRJdGVtc0NvdW50U2luZ3VsYXI6ICfQktGL0LHRgNCw0L0gMSDRjdC70LXQvNC10L3RgicsXG4gICAgICAgIHVzZXJMaXN0U2VsZWN0ZWRJdGVtc0NvdW50UGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0JLRi9Cx0YDQsNC90L4gMSDRjdC70LXQvNC10L3RgmA7XG4gICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQktGL0LHRgNCw0L3QviAke2NvdW50fSDRjdC70LXQvNC10L3RgtCwYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCS0YvQsdGA0LDQvdC+ICR7Y291bnQgfHwgMH0g0Y3Qu9C10LzQtdC90YLQvtCyYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzQXBwcm92ZWQ6ICfRg9GC0LLQtdGA0LbQtNC10L3QvicsXG4gICAgICAgIHN0YXR1c1JlamVjdGVkOiAn0L7RgtC60LvQvtC90LXQvdC+JyxcbiAgICAgICAgc3RhdHVzSW5Qcm9ncmVzczogJ9CyINC/0YDQvtGG0LXRgdGB0LUnLFxuICAgICAgICBzdGF0dXNOb3RTdGFydGVkOiAn0L3QtSDQvdCw0YfQsNGC0L4nXG4gICAgfSxcbiAgICBwbGF0Zm9ybUZlZWRJbnB1dDoge1xuICAgICAgICB1c2VyVGl0bGU6ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70YwnXG4gICAgfSxcbiAgICBwbGF0Zm9ybVZIRDoge1xuICAgICAgICBzZWxlY3Rpb25CYXJMYWJlbDogJ9CS0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLINC4INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgc2VsZWN0ZWRBbmRDb25kaXRpb25MYWJlbDogJ9CS0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLINC4INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgZm9vdGVyQ2xlYXJTZWxlY3RlZFRpdGxlOiAn0L7Rh9C40YHRgtC40YLRjCDQstGL0LHRgNCw0L3QvdGL0LUg0Y3Qu9C10LzQtdC90YLRiycsXG4gICAgICAgIGZvb3RlckNsZWFyU2VsZWN0ZWRBcmlhTGFiZWw6ICfQvtGH0LjRgdGC0LjRgtGMINCy0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLJyxcbiAgICAgICAgc2VhcmNoQnV0dG9uTGFiZWw6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgc3VjY2Vzc0J1dHRvbkxhYmVsOiAn0J7QmicsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIHNlbGVjdGVkRW1wdHlMYWJlbDogJ9Cd0LUg0LLRi9Cx0YDQsNC90L4g0L3QuNC60LDQutC40YUg0Y3Qu9C10LzQtdC90YLQvtCyINC40LvQuCDRg9GB0LvQvtCy0LjQuScsXG4gICAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAn0J/QvtC40YHQuicsXG4gICAgICAgIHNlYXJjaEFkdmFuY2VkU2VhcmNoTGFiZWw6ICfQpNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlYXJjaFNob3dBZHZhbmNlZFNlYXJjaExhYmVsOiAn0J/QvtC60LDQt9Cw0YLRjCDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlYXJjaEhpZGVBZHZhbmNlZFNlYXJjaExhYmVsOiAn0KHQutGA0YvRgtGMINGE0LjQu9GM0YLRgNGLJyxcbiAgICAgICAgc2VhcmNoU2hvd0FsbEFkdmFuY2VkU2VhcmNoTGFiZWw6ICfQn9C+0LrQsNC30LDRgtGMINCy0YHQtSDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlYXJjaEhpZGVBbGxBZHZhbmNlZFNlYXJjaExhYmVsOiAn0KHQutGA0YvRgtGMINCy0YHQtSDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlbGVjdFRhYkRpc3BsYXlDb3VudExhYmVsOiAn0K3Qu9C10LzQtdC90YLRiyAoe3sgY291bnQgfX0pJyxcbiAgICAgICAgc2VsZWN0VGFiTW9yZUJ0bkxhYmVsOiAn0JHQvtC70YzRiNC1JyxcbiAgICAgICAgc2VsZWN0VGFiQ291bnRIaWRkZW5BMTF5TGFiZWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0NvdW50ID0gcGFyYW1zWydyb3dDb3VudCddO1xuICAgICAgICAgICAgY29uc3Qgcm93T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKHJvd0NvdW50KTtcbiAgICAgICAgICAgIGxldCByb3dQYXJ0OiBzdHJpbmc7XG4gICAgICAgICAgICBzd2l0Y2ggKHJvd09wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJvd1BhcnQgPSAn0YHQvtC00LXRgNC20LjRgiAxINGB0YLRgNC+0LrRgyc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJvd1BhcnQgPSBg0YHQvtC00LXRgNC20LjRgiAke3Jvd0NvdW50fSDRgdGC0YDQvtC60LhgO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByb3dQYXJ0ID0gYNGB0L7QtNC10YDQttC40YIgJHtyb3dDb3VudH0g0YHRgtGA0L7QumA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY29sQ291bnQgPSBwYXJhbXNbJ2NvbENvdW50J107XG4gICAgICAgICAgICBjb25zdCBjb2xPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoY29sQ291bnQpO1xuICAgICAgICAgICAgbGV0IGNvbFBhcnQ6IHN0cmluZztcbiAgICAgICAgICAgIHN3aXRjaCAoY29sT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgY29sUGFydCA9ICcxINGB0YLQvtC70LHQtdGGJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgY29sUGFydCA9IGAke2NvbENvdW50fSDRgdGC0L7Qu9Cx0YbQsGA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGNvbFBhcnQgPSBgJHtjb2xDb3VudH0g0YHRgtC+0LvQsdGG0L7QsmA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGAke3Jvd1BhcnR9INC4ICR7Y29sUGFydH1gO1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RNb2JpbGVUYWJCYWNrQnRuVGl0bGU6ICfQndCw0LfQsNC0JyxcbiAgICAgICAgc2VsZWN0TW9iaWxlVGFiQnRuT3BlbkRpYWxvZ0xhYmVsOiAn0J7RgtC60YDRi9GC0Ywg0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4nLFxuICAgICAgICBzZWxlY3RNb2JpbGVUYWJUaXRsZTogJ3t7IHRpdGxlIH19INCy0LrQu9Cw0LTQutCwJyxcbiAgICAgICAgc2VsZWN0TW9iaWxlQ29uZGl0aW9uRW1wdHk6ICfQn9GD0YHRgtC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uVGl0bGU6ICfQn9GA0L7QtNGD0LrRgicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvblNlbGVjdGVkVmFsdWVIaWRkZW5BMTF5TGFiZWw6ICfQstGL0LHRgNCw0L3QvdC+0LUg0LfQvdCw0YfQtdC90LjQtSB7eyB2YWx1ZSB9fScsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvbnNHcm91cEhlYWRlckluY2x1ZGU6ICfQktC60LvRjtGH0LDRjtGJ0LjQtSDRg9GB0LvQvtCy0LjRjycsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvbnNHcm91cEhlYWRlckV4Y2x1ZGU6ICfQmNGB0LrQu9GO0YfQuNGC0LXQu9GM0L3Ri9C1INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uRnJvbVBsYWNlaG9sZGVyOiAn0L7RgicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvblRvUGxhY2Vob2xkZXI6ICfQtNC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uVmFsdWVQbGFjZWhvbGRlcjogJ9C30L3QsNGH0LXQvdC40LUnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25SZW1vdmVDb25kaXRpb25CdXR0b25UaXRsZTogJ9Cj0LTQsNC70LjRgtGMINGD0YHQu9C+0LLQuNC1JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWw6ICfQlNC+0LHQsNCy0LjRgtGMJyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQWRkQ29uZGl0aW9uQnV0dG9uVGl0bGU6ICfQlNC+0LHQsNCy0LjRgtGMINGD0YHQu9C+0LLQuNC1JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbENvbnRhaW5zOiAn0YHQvtC00LXRgNC20LjRgicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxFcXVhbFRvOiAn0YDQsNCy0L3QvicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxCZXR3ZWVuOiAn0LzQtdC20LTRgycsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxTdGFydHNXaXRoOiAn0L3QsNGH0LjQvdCw0LXRgtGB0Y8g0YEnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsRW5kc1dpdGg6ICfQt9Cw0LrQsNC90YfQuNCy0LDQtdGC0YHRjyDQvdCwJyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbExlc3NUaGFuOiAn0LzQtdC90YzRiNC1INGH0LXQvCcsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxMZXNzVGhhbkVxdWFsOiAn0LzQtdC90YzRiNC1INGH0LXQvCDQuNC70Lgg0YDQsNCy0L3QvicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxHcmVhdGVyVGhhbjogJ9Cx0L7Qu9GM0YjQtSDRh9C10LwnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsR3JlYXRlclRoYW5FcXVhbDogJ9Cx0L7Qu9GM0YjQtSDRh9C10Lwg0LjQu9C4INGA0LDQstC90L4nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsRW1wdHk6ICfQv9GD0YHRgtC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbE5vdEVxdWFsVG86ICfQvdC1INGA0LDQstC90L4nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsTm90RW1wdHk6ICfQvdC1INC/0YPRgdGC0L4nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25NYXhDb3VudEVycm9yOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSDQvdC1INCx0L7Qu9C10LUgMSDRgdC40LzQstC+0LvQsGA7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQktCy0LXQtNC40YLQtSDQt9C90LDRh9C10L3QuNC1INC90LUg0LHQvtC70LXQtSAke2NvdW50IHx8IDB9INGB0LjQvNCy0L7Qu9C+0LJgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RUYWJUaXRsZTogJ9CS0YvQsdGA0LDRgtGMINC40Lcg0YHQv9C40YHQutCwJyxcbiAgICAgICAgc2VhcmNoVGFibGVFbXB0eU1lc3NhZ2U6ICfQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0L7QuNGB0Log0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgNC10LfRg9C70YzRgtCw0YLQvtCyJyxcbiAgICAgICAgZGVmaW5lVGFiVGl0bGU6ICfQntC/0YDQtdC00LXQu9C40YLRjCDRg9GB0LvQvtCy0LjRjydcbiAgICB9LFxuICAgIHBsYXRmb3JtQ29tYm9ib3g6IHtcbiAgICAgICAgY291bnRMaXN0UmVzdWx0c1Npbmd1bGFyOiAnMSDRjdC70LXQvNC10L3RgicsXG4gICAgICAgIGNvdW50TGlzdFJlc3VsdHNQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gcGFyYW1zWydjb3VudCddO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGNvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAxINGN0LvQtdC80LXQvdGCYDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Y291bnR9INGN0LvQtdC80LXQvdGC0LBgO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtjb3VudCB8fCAwfSDRjdC70LXQvNC10L3RgtC+0LJgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBwbGF0Zm9ybU11bHRpQ29tYm9ib3g6IHtcbiAgICAgICAgaW5wdXRHbHlwaEFyaWFMYWJlbDogJ9CS0YvQsdGA0LDRgtGMINC+0L/RhtC40LgnLFxuICAgICAgICBpbnB1dEljb25UaXRsZTogJ9CS0YvQsdGA0LDRgtGMINC+0L/RhtC40LgnLFxuICAgICAgICBtb2JpbGVTaG93QWxsSXRlbXNCdXR0b246ICfQn9C+0LrQsNC30LDRgtGMINCy0YHQtSDRjdC70LXQvNC10L3RgtGLJyxcbiAgICAgICAgbW9iaWxlU2hvd1NlbGVjdGVkSXRlbXNCdXR0b246ICfQn9C+0LrQsNC30LDRgtGMINCy0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLJ1xuICAgIH0sXG4gICAgcGxhdGZvcm1UZXh0YXJlYToge1xuICAgICAgICBjb3VudGVyTWVzc2FnZUNoYXJhY3RlcnNPdmVyVGhlTGltaXRTaW5ndWxhcjogJ9Cf0YDQtdCy0YvRiNC10L0g0LvQuNC80LjRgiDQvdCwIDEg0YHQuNC80LLQvtC7JyxcbiAgICAgICAgY291bnRlck1lc3NhZ2VDaGFyYWN0ZXJzT3ZlclRoZUxpbWl0UGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J/RgNC10LLRi9GI0LXQvSDQu9C40LzQuNGCINC90LAgMSDRgdC40LzQstC+0LtgO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J/RgNC10LLRi9GI0LXQvSDQu9C40LzQuNGCINC90LAgJHtjb3VudH0g0YHQuNC80LLQvtC70LBgO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J/RgNC10LLRi9GI0LXQvSDQu9C40LzQuNGCINC90LAgJHtjb3VudCB8fCAwfSDRgdC40LzQstC+0LvQvtCyYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlck1lc3NhZ2VDaGFyYWN0ZXJzUmVtYWluaW5nU2luZ3VsYXI6ICfQntGB0YLQsNC70YHRjyAxINGB0LjQvNCy0L7QuycsXG4gICAgICAgIGNvdW50ZXJNZXNzYWdlQ2hhcmFjdGVyc1JlbWFpbmluZ1BsdXJhbDogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY291bnQgPSBwYXJhbXNbJ2NvdW50J107XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoY291bnQpO1xuICAgICAgICAgICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCe0YHRgtCw0LvRgdGPIDEg0YHQuNC80LLQvtC7YDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCe0YHRgtCw0LvQvtGB0YwgJHtjb3VudH0g0YHQuNC80LLQvtC70LBgO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J7RgdGC0LDQu9C+0YHRjCAke2NvdW50IHx8IDB9INGB0LjQvNCy0L7Qu9C+0LJgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIHBsYXRmb3JtTGluazoge1xuICAgICAgICByb2xlRGVzY3JpcHRpb25XaXRoTWVkaWE6ICfQnNC10LTQuNCwOiB7eyBtZWRpYSB9fSdcbiAgICB9LFxuICAgIHBsYXRmb3JtTGlzdDoge1xuICAgICAgICBsb2FkaW5nQXJpYUxhYmVsOiAn0LfQsNCz0YDRg9C30LrQsCdcbiAgICB9LFxuICAgIHBsYXRmb3JtT2JqZWN0TGlzdEl0ZW06IHtcbiAgICAgICAgZGV0YWlsc0FjdGlvbkFyaWFMYWJlbDogJ9C00LXRgtCw0LvQuCcsXG4gICAgICAgIGRlbGV0ZUFjdGlvbkFyaWFMYWJlbDogJ9GD0LTQsNC70LjRgtGMJ1xuICAgIH0sXG4gICAgcGxhdGZvcm1TdGFuZGFyZExpc3RJdGVtOiB7XG4gICAgICAgIGRldGFpbHNBY3Rpb25BcmlhTGFiZWw6ICfQtNC10YLQsNC70LgnLFxuICAgICAgICBkZWxldGVBY3Rpb25BcmlhTGFiZWw6ICfRg9C00LDQu9C40YLRjCdcbiAgICB9LFxuICAgIHBsYXRmb3JtU2VhcmNoRmllbGQ6IHtcbiAgICAgICAgY2xlYXJCdXR0b25UaXRsZTogJ9Ce0YfQuNGB0YLQuNGC0YwnLFxuICAgICAgICBzdWJtaXRCdXR0b25UaXRsZTogJ9Cf0L7QuNGB0LonLFxuICAgICAgICBzZWFyY2hJbnB1dExhYmVsOiAn0J/QvtC40YHQuicsXG4gICAgICAgIHN5bmNocm9uaXplQnV0dG9uVGl0bGU6ICfQodC40L3RhdGA0L7QvdC40LfQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIHNlYXJjaFN1Z2dlc3Rpb25NZXNzYWdlOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J3QsNC50LTQtdC9IDEg0LLQsNGA0LjQsNC90YJgO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0J3QsNC50LTQtdC90L4gJHtjb3VudH0g0LLQsNGA0LjQsNC90YLQsGA7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQndCw0LnQtNC10L3QviAke2NvdW50IHx8IDB9INCy0LDRgNC40LDQvdGC0L7QsmA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHNlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2U6ICfQuNGB0L/QvtC70YzQt9GD0LnRgtC1INGB0YLRgNC10LvQutC4INCy0LLQtdGA0YUg0Lgg0LLQvdC40Lcg0LTQu9GPINC90LDQstC40LPQsNGG0LjQuCdcbiAgICB9LFxuICAgIHBsYXRmb3JtU21hcnRGaWx0ZXJCYXI6IHtcbiAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgc3VibWl0QnV0dG9uTGFiZWw6ICfQn9C10YDQtdC50YLQuCcsXG4gICAgICAgIGZpbHRlcnNCdXR0b25MYWJlbDogJ9Ck0LjQu9GM0YLRgNGLICh7eyBmaWx0ZXJzQ291bnQgfX0pJyxcbiAgICAgICAgc2hvd0ZpbHRlcnNCdXR0b25MYWJlbDogJ9Cf0L7QutCw0LfQsNGC0Ywg0YTQuNC70YzRgtGA0YsnLFxuICAgICAgICBoaWRlRmlsdGVyc0J1dHRvbkxhYmVsOiAn0KHQutGA0YvRgtGMINGE0LjQu9GM0YLRgNGLJyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uc1JlbW92ZUNvbmRpdGlvbkJ1dHRvblRpdGxlOiAn0KPQtNCw0LvQuNGC0Ywg0YPRgdC70L7QstC40LUnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25zQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWw6ICfQlNC+0LHQsNCy0LjRgtGMINGD0YHQu9C+0LLQuNC1JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uc1N1Ym1pdEJ1dHRvbkxhYmVsOiAn0J/QtdGA0LXQudGC0LgnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25zQ2FuY2VsQnV0dG9uOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNIZWFkZXI6ICfQpNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNBdmFpbGFibGVGaWx0ZXJzVGV4dDogJ9CU0L7RgdGC0YPQv9C90YvQtSDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNGaWx0ZXJDb2x1bW5MYWJlbDogJ9Ck0LjQu9GM0YLRgCcsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNBY3RpdmVDb2x1bW5MYWJlbDogJ9CQ0LrRgtC40LLQvdGL0LknLFxuICAgICAgICBzZWxlY3RGaWx0ZXJzU3VibWl0QnV0dG9uTGFiZWw6ICfQn9C10YDQtdC50YLQuCcsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNDYW5jZWxCdXR0b246ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uQ29udGFpbnM6ICfRgdC+0LTQtdGA0LbQuNGCJyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uRXF1YWxUbzogJ9GA0LDQstC90L4nLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25CZXR3ZWVuOiAn0LzQtdC20LTRgycsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkJlZ2luc1dpdGg6ICfQvdCw0YfQuNC90LDQtdGC0YHRjyDRgScsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkVuZHNXaXRoOiAn0LfQsNC60LDQvdGH0LjQstCw0LXRgtGB0Y8nLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25MZXNzVGhhbjogJ9C80LXQvdGM0YjQtSDRh9C10LwnLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25MZXNzVGhhbk9yRXF1YWxUbzogJ9C80LXQvdGM0YjQtSDQuNC70Lgg0YDQsNCy0L3QvicsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuOiAn0LHQvtC70YzRiNC1INGH0LXQvCcsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAn0LHQvtC70YzRiNC1INC40LvQuCDRgNCw0LLQvdC+JyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uQWZ0ZXI6ICfQv9C+0YHQu9C1JyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uT25PckFmdGVyOiAn0YDQsNCy0L3QviDQuNC70Lgg0L/QvtGB0LvQtScsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkJlZm9yZTogJ9C00L4nLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25CZWZvcmVPck9uOiAn0LTQviDQuNC70Lgg0YDQsNCy0L3QvicsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXI6ICfQt9C90LDRh9C10L3QuNC1JyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uVmFsdWVGcm9tUGxhY2Vob2xkZXI6ICfQvtGCJyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uVmFsdWVUb1BsYWNlaG9sZGVyOiAn0LTQvicsXG4gICAgICAgIHNldHRpbmdzQ2F0ZWdvcnlBbGw6ICfQktGB0LUnLFxuICAgICAgICBzZXR0aW5nc0NhdGVnb3J5VmlzaWJsZTogJ9CS0LjQtNC40LzRi9C1JyxcbiAgICAgICAgc2V0dGluZ3NDYXRlZ29yeUFjdGl2ZTogJ9CQ0LrRgtC40LLQvdGL0LUnLFxuICAgICAgICBzZXR0aW5nc0NhdGVnb3J5VmlzaWJsZUFuZEFjdGl2ZTogJ9CS0LjQtNC40LzRi9C1INC4INCw0LrRgtC40LLQvdGL0LUnLFxuICAgICAgICBzZXR0aW5nc0NhdGVnb3J5TWFuZGF0b3J5OiAn0J7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C1JyxcbiAgICAgICAgbWFuYWdlRmllbGRDb25kaXRpb25zOiAn0J/QvtC60LDQt9Cw0YLRjCDRg9GB0LvQvtCy0LjRjyDQtNC70Y8g0L/QvtC70Y8nLFxuICAgICAgICByZWZyZXNoQnV0dG9uQXJpYUxhYmVsOiAn0J7QsdC90L7QstC40YLRjCdcbiAgICB9LFxuICAgIHBsYXRmb3JtVGFibGU6IHtcbiAgICAgICAgaGVhZGVyTWVudVNvcnRBc2M6ICfQodC+0YDRgtC40YDQvtCy0LDRgtGMINC/0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjicsXG4gICAgICAgIGhlYWRlck1lbnVTb3J0RGVzYzogJ9Ch0L7RgNGC0LjRgNC+0LLQsNGC0Ywg0L/QviDRg9Cx0YvQstCw0L3QuNGOJyxcbiAgICAgICAgaGVhZGVyTWVudUdyb3VwOiAn0KHQs9GA0YPQv9C/0LjRgNC+0LLQsNGC0YwnLFxuICAgICAgICBoZWFkZXJNZW51RnJlZXplOiAn0JfQsNC80L7RgNC+0LfQuNGC0YwnLFxuICAgICAgICBoZWFkZXJNZW51RW5kRnJlZXplOiAnRnJlZXplIHRvIEVuZCcsXG4gICAgICAgIGhlYWRlck1lbnVVbmZyZWV6ZTogJ9Cg0LDQt9C80L7RgNC+0LfQuNGC0YwnLFxuICAgICAgICBoZWFkZXJNZW51RmlsdGVyOiAn0KTQuNC70YzRgtGAJyxcbiAgICAgICAgZGVmYXVsdEVtcHR5TWVzc2FnZTogJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JyxcbiAgICAgICAgZW1wdHlDZWxsOiAn0J/Rg9GB0YLQvicsXG4gICAgICAgIG5vVmlzaWJsZUNvbHVtbnNNZXNzYWdlOlxuICAgICAgICAgICAgJ9Ch0LXQudGH0LDRgSDQsiDRgtCw0LHQu9C40YbQtSDQvdC10YIg0LLQuNC00LjQvNGL0YUg0YHRgtC+0LvQsdGG0L7Qsi4g0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0L3Rg9C20L3Ri9C1INGB0YLQvtC70LHRhtGLINCyINC90LDRgdGC0YDQvtC50LrQsNGFINGC0LDQsdC70LjRhtGLLicsXG4gICAgICAgIHJlc2V0Q2hhbmdlc0J1dHRvbkxhYmVsOiAn0KHQsdGA0L7RgdC40YLRjCcsXG4gICAgICAgIGVkaXRhYmxlQ2VsbE51bWJlclBsYWNlaG9sZGVyOiAn0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtScsXG4gICAgICAgIGVkaXRhYmxlQ2VsbERhdGVQbGFjZWhvbGRlcjogJ9CS0LLQtdC00LjRgtC1INC30L3QsNGH0LXQvdC40LUnLFxuICAgICAgICBlZGl0YWJsZUNlbGxTdHJpbmdQbGFjZWhvbGRlcjogJ9CS0LLQtdC00LjRgtC1INC30L3QsNGH0LXQvdC40LUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nSGVhZGVyOiAn0KHRgtC+0LvQsdGG0YsnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nU2VhcmNoUGxhY2Vob2xkZXI6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgUDEzQ29sdW1uc0RpYWxvZ3NTaG93U2VsZWN0ZWQ6ICfQn9C+0LrQsNC30LDRgtGMINCy0YvQsdGA0LDQvdC90L7QtScsXG4gICAgICAgIFAxM0NvbHVtbnNEaWFsb2dTaG93QWxsOiAn0J/QvtC60LDQt9Cw0YLRjCDQstGB0LUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nU2VsZWN0QWxsOiAn0JLRi9Cx0YDQsNGC0Ywg0LLRgdC1ICh7eyBzZWxlY3RlZENvbHVtbnNDb3VudCB9fS97eyBzZWxlY3RhYmxlQ29sdW1uc0NvdW50IH19KScsXG4gICAgICAgIFAxM0NvbHVtbnNEaWFsb2dDb25maXJtYXRpb25CdG5MYWJlbDogJ9Ce0JonLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nQ2FuY2VsQnRuTGFiZWw6ICfQntGC0LzQtdC90LAnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nTW92ZVRvVG9wQnRuOiAn0J/QtdGA0LXQvNC10YHRgtC40YLRjCDQstCy0LXRgNGFJyxcbiAgICAgICAgUDEzQ29sdW1uc0RpYWxvZ01vdmVVcEJ0bjogJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LLRi9GI0LUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nTW92ZURvd25CdG46ICfQn9C10YDQtdC80LXRgdGC0LjRgtGMINC90LjQttC1JyxcbiAgICAgICAgUDEzQ29sdW1uc0RpYWxvZ01vdmVUb0JvdHRvbUJ0bjogJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LLQvdC40LcnLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsQmV0d2VlbjogJ9C80LXQttC00YMnLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsQ29udGFpbnM6ICfRgdC+0LTQtdGA0LbQuNGCJyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbEJlZ2luc1dpdGg6ICfQvdCw0YfQuNC90LDQtdGC0YHRjyDRgScsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxFbmRzV2l0aDogJ9C30LDQutCw0L3Rh9C40LLQsNC10YLRgdGPINC90LAnLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsRXF1YWxUbzogJ9GA0LDQstC90L4nLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsR3JlYXRlclRoYW46ICfQsdC+0LvRjNGI0LUg0YfQtdC8JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbEdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAn0LHQvtC70YzRiNC1INC40LvQuCDRgNCw0LLQvdC+JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbExlc3NUaGFuOiAn0LzQtdC90YzRiNC1INGH0LXQvCcsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxMZXNzVGhhbk9yRXF1YWxUbzogJ9C80LXQvdGM0YjQtSDQuNC70Lgg0YDQsNCy0L3QvicsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxBZnRlcjogJ9C/0L7RgdC70LUnLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsT25PckFmdGVyOiAn0YDQsNCy0L3QviDQuNC70Lgg0L/QvtGB0LvQtScsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxCZWZvcmU6ICfQtNC+JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbEJlZm9yZU9yT246ICfQtNC+INC40LvQuCDRgNCw0LLQvdC+JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbE5vdERlZmluZWQ6ICfQndC1INC+0L/RgNC10LTQtdC70LXQvdC+JyxcbiAgICAgICAgUDEzRmlsdGVyQm9vbGVhbk9wdGlvbk5vdERlZmluZWQ6ICcgJyxcbiAgICAgICAgUDEzRmlsdGVyQm9vbGVhbk9wdGlvblRydWU6ICfQlNCwJyxcbiAgICAgICAgUDEzRmlsdGVyQm9vbGVhbk9wdGlvbkZhbHNlOiAn0J3QtdGCJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nSGVhZGVyOiAn0KTQuNC70YzRgtGA0L7QstCw0YLRjCDQv9C+JyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nSW5jbHVkZVBhbmVsVGl0bGVXaXRoQ291bnQ6ICfQktC60LvRjtGH0LDRjtGJ0LjQtSDRg9GB0LvQvtCy0LjRjyAoe3sgY291bnQgfX0pJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nSW5jbHVkZVBhbmVsVGl0bGVXaXRob3V0Q291bnQ6ICfQktC60LvRjtGH0LDRjtGJ0LjQtSDRg9GB0LvQvtCy0LjRjycsXG4gICAgICAgIFAxM0ZpbHRlckRpYWxvZ0V4Y2x1ZGVQYW5lbFRpdGxlV2l0aENvdW50OiAn0JjRgdC60LvRjtGH0LDRjtGJ0LjQtSDRg9GB0LvQvtCy0LjRjyAoe3sgY291bnQgfX0pJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nRXhjbHVkZVBhbmVsVGl0bGVXaXRob3V0Q291bnQ6ICfQmNGB0LrQu9GO0YfQsNGO0YnQuNC1INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nUmVtb3ZlRmlsdGVyQnRuVGl0bGU6ICfQo9C00LDQu9C40YLRjCDRhNC40LvRjNGC0YAnLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb0FkZEZpbHRlckJ0blRpdGxlOiAn0JTQvtCx0LDQstC40YLRjCDRhNC40LvRjNGC0YAnLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb2dDb25maXJtYXRpb25CdG5MYWJlbDogJ9Ce0JonLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nSGVhZGVyOiAn0JPRgNGD0L/Qv9C40YDQvtCy0LrQsCcsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nTm9uZVNlbGVjdGVkQ29sdW1uU2VsZWN0UGxhY2Vob2xkZXI6ICco0L3QtdGC0YMpJyxcbiAgICAgICAgUDEzR3JvdXBEaWFsb2dTaG93RmllbGRBc0NvbHVtbkNoZWNrYm94TGFiZWw6ICfQn9C+0LrQsNC30LDRgtGMINC/0L7Qu9C1INC60LDQuiDRgdGC0L7Qu9Cx0LXRhicsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nUmVtb3ZlR3JvdXBCdG5UaXRsZTogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgUDEzR3JvdXBEaWFsb2dBZGROZXdHcm91cEJ0blRpdGxlOiAn0JTQvtCx0LDQstC40YLRjCcsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWw6ICfQntCaJyxcbiAgICAgICAgUDEzR3JvdXBEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIFAxM1NvcnREaWFsb2dIZWFkZXI6ICfQodC+0YDRgtC40YDQvtCy0LrQsCcsXG4gICAgICAgIFAxM1NvcnREaWFsb2dOb25lU2VsZWN0ZWRDb2x1bW46ICco0L3QtdGC0YMpJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ05vbmVTZWxlY3RlZFNvcnRpbmc6ICco0L3QtdGC0YMpJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ1NvcnRPcmRlclNlbGVjdE9wdGlvbkFzYzogJ9Cf0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjicsXG4gICAgICAgIFAxM1NvcnREaWFsb2dTb3J0T3JkZXJTZWxlY3RPcHRpb25EZXNjOiAn0J/QviDRg9Cx0YvQstCw0L3QuNGOJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ1JlbW92ZVNvcnRCdG5UaXRsZTogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ0FkZE5ld1NvcnRCdG5UaXRsZTogJ9CU0L7QsdCw0LLQuNGC0YwnLFxuICAgICAgICBQMTNTb3J0RGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWw6ICfQntCaJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ0NhbmNlbEJ0bkxhYmVsOiAn0J7RgtC80LXQvdCwJyxcbiAgICAgICAgdG9vbGJhclNlYXJjaFBsYWNlaG9sZGVyOiAn0J/QvtC40YHQuicsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25DcmVhdGVCdXR0b25MYWJlbDogJ9Ch0L7Qt9C00LDRgtGMJyxcbiAgICAgICAgdG9vbGJhckFjdGlvblNhdmVCdXR0b25MYWJlbDogJ9Ch0L7RhdGA0LDQvdC40YLRjCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25DYW5jZWxCdXR0b25MYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICB0b29sYmFyQWN0aW9uU29ydEJ1dHRvblRpdGxlOiAn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25GaWx0ZXJCdXR0b25UaXRsZTogJ9Ck0LjQu9GM0YLRgCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlOiAn0JPRgNGD0L/Qv9C40YDQvtCy0LrQsCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25Db2x1bW5zQnV0dG9uVGl0bGU6ICfQodGC0L7Qu9Cx0YbRiycsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25FeHBhbmRBbGxCdXR0b25UaXRsZTogJ0V4cGFuZCBhbGwnLFxuICAgICAgICB0b29sYmFyQWN0aW9uQ29sbGFwc2VBbGxCdXR0b25UaXRsZTogJ0NvbGxhcHNlIGFsbCcsXG4gICAgICAgIGZpbHRlckRpYWxvZ05vdEZpbHRlcmVkTGFiZWw6ICco0J3QtSDQvtGC0YTQuNC70YzRgtGA0L7QstCw0L3QviknLFxuICAgICAgICBmaWx0ZXJEaWFsb2dGaWx0ZXJCeUxhYmVsOiAn0KTQuNC70YzRgtGAOiB7eyBmaWx0ZXJMYWJlbCB9fScsXG4gICAgICAgIGZpbHRlckRpYWxvZ0ZpbHRlclRpdGxlOiAn0KTQuNC70YzRgtGAJyxcbiAgICAgICAgZmlsdGVyRGlhbG9nRmlsdGVyQnk6ICfQpNC40LvRjNGC0YDQvtCy0LDRgtGMINC/0L4nLFxuICAgICAgICBmaWx0ZXJEaWFsb2dDb25maXJtQnRuTGFiZWw6ICfQntCaJyxcbiAgICAgICAgZmlsdGVyRGlhbG9nQ2FuY2VsQnRuTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgZ3JvdXBEaWFsb2dIZWFkZXI6ICfQk9GA0YPQv9C/0LjRgNC+0LLQutCwJyxcbiAgICAgICAgZ3JvdXBEaWFsb2dHcm91cE9yZGVySGVhZGVyOiAn0J/QvtGA0Y/QtNC+0Log0LPRgNGD0L/Qv9C40YDQvtCy0LrQuCcsXG4gICAgICAgIGdyb3VwRGlhbG9nR3JvdXBPcmRlckFzYzogJ9Cf0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjicsXG4gICAgICAgIGdyb3VwRGlhbG9nR3JvdXBPcmRlckRlc2M6ICfQn9C+INGD0LHRi9Cy0LDQvdC40Y4nLFxuICAgICAgICBncm91cERpYWxvZ0dyb3VwQnlIZWFkZXI6ICfQk9GA0YPQv9C/0LjRgNC+0LLQsNGC0Ywg0L/QvicsXG4gICAgICAgIGdyb3VwRGlhbG9nTm90R3JvdXBlZExhYmVsOiAnKNCd0LUg0YHQs9GA0YPQv9C/0LjRgNC+0LLQsNC90L4pJyxcbiAgICAgICAgZ3JvdXBEaWFsb2dDb25maXJtQnRuTGFiZWw6ICfQntCaJyxcbiAgICAgICAgZ3JvdXBEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBzb3J0RGlhbG9nSGVhZGVyOiAn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIHNvcnREaWFsb2dTb3J0T3JkZXJIZWFkZXI6ICfQn9C+0YDRj9C00L7QuiDRgdC+0YDRgtC40YDQvtCy0LrQuCcsXG4gICAgICAgIHNvcnREaWFsb2dTb3J0T3JkZXJBc2M6ICfQn9C+INGA0L7RgdGC0YMnLFxuICAgICAgICBzb3J0RGlhbG9nU29ydE9yZGVyRGVzYzogJ9C/0L4g0YPQsdGL0LLQsNC90LjRjicsXG4gICAgICAgIHNvcnREaWFsb2dTb3J0QnlIZWFkZXI6ICfQodC+0YDRgtC40YDQvtCy0LDRgtGMINC/0L4nLFxuICAgICAgICBzb3J0RGlhbG9nTm90U29ydGVkTGFiZWw6ICco0J3QtSDQvtGC0YHQvtGA0YLQuNGA0L7QstCw0L3QviknLFxuICAgICAgICBzb3J0RGlhbG9nQ29uZmlybUJ0bkxhYmVsOiAn0J7QmicsXG4gICAgICAgIHNvcnREaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBzZWxlY3RBbGxDaGVja2JveExhYmVsOiAnU2VsZWN0IGFsbCcsXG4gICAgICAgIGRlc2VsZWN0QWxsQ2hlY2tib3hMYWJlbDogJ0Rlc2VsZWN0IGFsbCcsXG4gICAgICAgIGRlc2VsZWN0U2luZ2xlUm93OiAnVG8gZGVzZWxlY3Qgcm93LCBwcmVzcyBTUEFDRUJBUicsXG4gICAgICAgIHNlbGVjdFNpbmdsZVJvdzogJ1RvIHNlbGVjdCByb3csIHByZXNzIFNQQUNFQkFSJ1xuICAgIH0sXG4gICAgcGxhdGZvcm1UaHVtYm5haWw6IHtcbiAgICAgICAgZGV0YWlsc0dvdG9QcmV2aW91c0J1dHRvblRpdGxlOiAn0J/QtdGA0LXQudGC0Lgg0Log0L/RgNC10LTRi9C00YPRidC10LzRgycsXG4gICAgICAgIGRldGFpbHNHb3RvTmV4dEJ1dHRvblRpdGxlOiAn0J/QtdGA0LXQudGC0Lgg0Log0YHQu9C10LTRg9GO0YnQtdC80YMnLFxuICAgICAgICBkZXRhaWxzRGlhbG9nQ2xvc2VCdG5MYWJlbDogJ9CX0LDQutGA0YvRgtGMJyxcbiAgICAgICAgcm9sZURlc2NyaXB0aW9uOiAn0JjQt9C+0LHRgNCw0LbQtdC90LjQtSdcbiAgICB9LFxuICAgIHBsYXRmb3JtVXBsb2FkQ29sbGVjdGlvbjoge1xuICAgICAgICBtb3ZlVG9UaXRsZTogJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LInLFxuICAgICAgICBtb3ZlVG9UaXRsZUZvbGRlcjogJ9Cf0LDQv9C60LAnLFxuICAgICAgICBtb3ZlVG9OZXdGb2xkZXJCdG5MYWJlbDogJ9Cd0L7QstCw0Y8g0L/QsNC/0LrQsCcsXG4gICAgICAgIG1vdmVUb0FsbEZpbGVzU3ViSGVhZGVyTGFiZWw6ICfQktGB0LUg0YTQsNC50LvRiycsXG4gICAgICAgIG1vdmVUb0NvbmZpcm1CdG46ICfQn9C10YDQtdC80LXRgdGC0LjRgtGMJyxcbiAgICAgICAgbW92ZVRvQ2xvc2VCdG46ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgbmV3Rm9sZGVyVGl0bGU6ICfQndC+0LLQsNGPINC/0LDQv9C60LAnLFxuICAgICAgICBuZXdGb2xkZXJBdFJvb3RJbnB1dExhYmVsOiAn0J3QsNC30LLQsNC90LjQtSDQvdC+0LLQvtC5INC/0LDQv9C60LgnLFxuICAgICAgICBuZXdGb2xkZXJBdEZvbGRlcklucHV0TGFiZWw6ICfQndCw0LfQstCw0L3QuNC1INC90L7QstC+0Lkg0L/QsNC/0LrQuCDQstC90YPRgtGA0Lgge3sgZm9sZGVyTmFtZSB9JyxcbiAgICAgICAgbmV3Rm9sZGVySW5wdXRQbGFjZWhvbGRlcjogJ9CS0LLQtdC00LjRgtC1INC40LzRjy4uJyxcbiAgICAgICAgbmV3Rm9sZGVySW5wdXRFcnJvckxhYmVsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudCA9IHBhcmFtc1snY291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhjb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0JzQsNC60YHQuNC80LDQu9GM0L3QviDRgNCw0LfRgNC10YjQtdC90L4gMSDRgdC40LzQstC+0LtgO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0JzQsNC60YHQuNC80LDQu9GM0L3QviDRgNCw0LfRgNC10YjQtdC90L4gJHtjb3VudH0g0YHQuNC80LLQvtC70LBgO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBg0JzQsNC60YHQuNC80LDQu9GM0L3QviDRgNCw0LfRgNC10YjQtdC90L4gJHtjb3VudH0g0YHQuNC80LLQvtC70L7QsmA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG5ld0ZvbGRlckRpYWxvZ0NyZWF0ZUJ0bkxhYmVsOiAn0KHQvtC30LTQsNGC0YwnLFxuICAgICAgICBuZXdGb2xkZXJEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBicmVhZGNydW1iTGFiZWxBbGxGaWxlczogJ9CS0YHQtSDRhNCw0LnQu9GLJyxcbiAgICAgICAgYnJlYWRjcnVtYkxhYmVsQWxsRmlsZXNXaXRoVG90YWw6ICfQktGB0LUg0YTQsNC50LvRiyAoe3sgdG90YWwgfX0pJyxcbiAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgYWRkQnRuTGFiZWw6ICfQlNC+0LHQsNCy0LjRgtGMJyxcbiAgICAgICAgbmV3Rm9sZGVyQnRuTGFiZWw6ICfQndC+0LLQsNGPINC/0LDQv9C60LAnLFxuICAgICAgICBtb3ZlVG9CdG5MYWJlbDogJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LInLFxuICAgICAgICBkb3dubG9hZEJ0bkxhYmVsOiAn0JfQsNCz0YDRg9C30LjRgtGMJyxcbiAgICAgICAgdXBkYXRlVmVyc2lvbkJ0bkxhYmVsOiAn0J7QsdC90L7QstC40YLRjCDQstC10YDRgdC40Y4nLFxuICAgICAgICByZW1vdmVCdG5MYWJlbDogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgZm9sZGVySWNvblRpdGxlOiAn0JfQvdCw0YfQvtC6INC/0LDQv9C60LgnLFxuICAgICAgICBmaWxlSWNvblRpdGxlOiAn0JfQvdCw0YfQvtC6INGE0LDQudC70LAnLFxuICAgICAgICBlZGl0RmlsZU5hbWVJbnB1dFBsYWNlaG9sZGVyOiAn0JLQstC10LTQuNGC0LUg0L3QsNC30LLQsNC90LjQtScsXG4gICAgICAgIGVkaXRGaWxlTmFtZUZpbGVBbHJlYWR5RXhpc3RzRXJyb3I6ICfQpNCw0LnQuyDRgSDRgtCw0LrQuNC8INC90LDQt9Cy0LDQvdC40LXQvCDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YInLFxuICAgICAgICBlZGl0RmlsZU5hbWVGb2xkZXJBbHJlYWR5RXhpc3RzRXJyb3I6ICfQn9Cw0L/QutCwINGBINGC0LDQutC40Lwg0LjQvNC10L3QtdC8INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgicsXG4gICAgICAgIGl0ZW1TdGF0dXNTdWNjZXNzZnVsOiAn0KPRgdC/0LXRiNC90L4nLFxuICAgICAgICBpdGVtU3RhdHVzVW5zdWNjZXNzZnVsOiAn0J3QtdGD0LTQsNGH0L3QvicsXG4gICAgICAgIHVwbG9hZE5ld0ZpbGVBZnRlckZhaWxBY3Rpb246ICfQktGL0L/QvtC70L3QuNGC0YwnLFxuICAgICAgICBjYW5jZWxVcGxvYWROZXdGaWxlQWN0aW9uOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIGl0ZW1NZW51QnRuVGl0bGU6ICfQkdC+0LvRjNGI0LUnLFxuICAgICAgICBkcmFnRHJvcEFyZWFUZXh0OiAn0J/QtdGA0LXRgtCw0YnQuNGC0LUg0YTQsNC50LvRiyDQtNC70Y8g0LfQsNCz0YDRg9C30LrQuCcsXG4gICAgICAgIG5vRGF0YVRleHQ6ICfQpNCw0LnQu9GLINC90LUg0L3QsNC50LTQtdC90YsnLFxuICAgICAgICBub0RhdGFEZXNjcmlwdGlvbjogJ9Cf0LXRgNC10YLQsNGJ0LjRgtC1INGE0LDQudC70Ysg0LTQu9GPINC30LDQs9GA0YPQt9C60Lgg0LjQu9C4INCy0L7RgdC/0L7Qu9GM0LfRg9C50YLQtdGB0Ywg0LrQvdC+0L/QutC+0LkgwqvQlNC+0LHQsNCy0LjRgtGMwrsuJyxcbiAgICAgICAgcGFnaW5hdGlvblRvdGFsOiAn0J/QvtC60LDQt9Cw0L3QviB7eyBmcm9tIH19LXt7IHRvIH19INC40Lcge3sgdG90YWwgfX0nLFxuICAgICAgICByZXN1bHRzUGVyUGFnZTogJ9Cg0LXQt9GD0LvRjNGC0LDRgtGLINC90LAg0YHRgtGA0LDQvdC40YbQtScsXG4gICAgICAgIG1lc3NhZ2VDcmVhdGVGYWlsZWQ6ICfQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMIHt7IGZvbGRlck5hbWUgfX0uJyxcbiAgICAgICAgbWVzc2FnZUNyZWF0ZVN1Y2Nlc3M6ICd7eyBmb2xkZXJOYW1lIH19INGD0YHQv9C10YjQvdC+INGB0L7Qt9C00LDQvdC+LicsXG4gICAgICAgIG1lc3NhZ2VVcGRhdGVWZXJzaW9uRmFpbGVkOiAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINCy0LXRgNGB0LjRjiB7eyBmb2xkZXJOYW1lIH19LicsXG4gICAgICAgIG1lc3NhZ2VVcGRhdGVWZXJzaW9uU3VjY2VzczogJ9CS0LXRgNGB0LjRjyB7eyBmb2xkZXJOYW1lIH19INC+0LHQvdC+0LLQu9C10L3QsC4nLFxuICAgICAgICBtZXNzYWdlRmlsZVJlbmFtZUZhaWxlZDogJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwgXCJ7eyBmcm9tIH19XCIg0LIgXCJ7eyB0byB9fS5cIicsXG4gICAgICAgIG1lc3NhZ2VGaWxlUmVuYW1lU3VjY2VzczogJ3t7IGZyb20gfX1cIiDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QviDQsiBcInt7IHRvIH19XCIuJyxcbiAgICAgICAgbWVzc2FnZVJlbW92ZUZvbGRlcnNBbmRGaWxlc0ZhaWxlZDogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGDQndC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMICR7Zm9sZGVyTmFtZVBsdXJhbGl6YXRpb24ocGFyYW1zKX0g0LggJHtmaWxlTmFtZVBsdXJhbGl6YXRpb24ocGFyYW1zKX0uYCxcbiAgICAgICAgbWVzc2FnZVJlbW92ZUZvbGRlcnNBbmRGaWxlc1N1Y2Nlc3M6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQuCAke2ZpbGVOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDRg9C00LDQu9C10L3Qvi5gLFxuICAgICAgICBtZXNzYWdlUmVtb3ZlRm9sZGVyc0ZhaWxlZDogKHBhcmFtcykgPT4gYNCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0YwgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfS5gLFxuICAgICAgICBtZXNzYWdlUmVtb3ZlRm9sZGVyc1N1Y2Nlc3M6IChwYXJhbXMpID0+IGDQo9C00LDQu9C10L3QviAke2ZvbGRlck5hbWVQbHVyYWxpemF0aW9uKHBhcmFtcyl9LmAsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGaWxlc0ZhaWxlZDogJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YTQsNC50LvRiyB7eyBmaWxlc0NvdW50IH19LicsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGaWxlc1N1Y2Nlc3M6IChwYXJhbXMpID0+IGDQo9C00LDQu9C10L3QviAke2ZpbGVOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfS5gLFxuICAgICAgICBtZXNzYWdlUmVtb3ZlRmlsZU9yRm9sZGVyRmFpbGVkOiAn0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCB7eyBuYW1lIH19LicsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGaWxlT3JGb2xkZXJTdWNjZXNzOiAne3sgbmFtZSB9fSDRg9C00LDQu9C10L3Qvi4nLFxuICAgICAgICBtZXNzYWdlTW92ZUZvbGRlcnNBbmRGaWxlc0ZhaWxlZDogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGDQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0YwgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQuCAke2ZpbGVOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQsiB7eyB0byB9fS5gLFxuICAgICAgICBtZXNzYWdlTW92ZUZvbGRlcnNBbmRGaWxlc1N1Y2Nlc3M6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQuCAke2ZpbGVOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQv9C10YDQtdC80LXRidC10L3RiyDQsiB7eyB0byB9fS5gLFxuICAgICAgICBtZXNzYWdlTW92ZUZvbGRlcnNGYWlsZWQ6IChwYXJhbXMpID0+IGDQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0YwgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQsiB7eyB0byB9fS5gLFxuICAgICAgICBtZXNzYWdlTW92ZUZvbGRlcnNTdWNjZXNzOiAocGFyYW1zKSA9PiBgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQv9C10YDQtdC80LXRidC10L0g0LIge3sgdG8gfX0uYCxcbiAgICAgICAgbWVzc2FnZU1vdmVGaWxlc0ZhaWxlZDogKHBhcmFtcykgPT4gYNCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC10YHRgtC40YLRjCAke2ZpbGVOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQsiB7eyB0byB9fS5gLFxuICAgICAgICBtZXNzYWdlTW92ZUZpbGVzU3VjY2VzczogKHBhcmFtcykgPT4gYCR7ZmlsZU5hbWVQbHVyYWxpemF0aW9uKHBhcmFtcyl9INC/0LXRgNC10LzQtdGJ0LXQvSDQsiB7eyB0byB9fS5gLFxuICAgICAgICBtZXNzYWdlTW92ZUZpbGVPckZvbGRlckZhaWxlZDogJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC10YHRgtC40YLRjCB7eyBuYW1lIH19INCyIHt7IHRvIH19LicsXG4gICAgICAgIG1lc3NhZ2VNb3ZlRmlsZU9yRm9sZGVyU3VjY2VzczogJ3t7IG5hbWUgfX0g0L/QtdGA0LXQvNC10YnQtdC9INCyIHt7IHRvIH19LicsXG4gICAgICAgIG1lc3NhZ2VNb3ZlUm9vdEZvbGRlcnNBbmRGaWxlc0ZhaWxlZDogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGDQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0YwgJHtmb2xkZXJOYW1lUGx1cmFsaXphdGlvbihwYXJhbXMpfSDQuCAke2ZpbGVOYW1lUGx1cmFsaXphdGlvbihcbiAgICAgICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICAgICl9INCy0L4g0LLRgdC1INGE0LDQudC70YsuYCxcbiAgICAgICAgbWVzc2FnZU1vdmVSb290Rm9sZGVyc0FuZEZpbGVzU3VjY2VzczogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGAke2ZvbGRlck5hbWVQbHVyYWxpemF0aW9uKHBhcmFtcyl9INC4ICR7ZmlsZU5hbWVQbHVyYWxpemF0aW9uKHBhcmFtcyl9INC/0LXRgNC10LzQtdGJ0LXQvdGLINC60L4g0LLRgdC10Lwg0YTQsNC50LvQsNC8LmAsXG4gICAgICAgIG1lc3NhZ2VNb3ZlUm9vdEZvbGRlcnNGYWlsZWQ6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBg0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMICR7Zm9sZGVyTmFtZVBsdXJhbGl6YXRpb24ocGFyYW1zKX0g0LLQviDQstGB0LUg0YTQsNC50LvRiy5gLFxuICAgICAgICBtZXNzYWdlTW92ZVJvb3RGb2xkZXJzU3VjY2VzczogKHBhcmFtcykgPT4gYCR7Zm9sZGVyTmFtZVBsdXJhbGl6YXRpb24ocGFyYW1zKX0g0L/QtdGA0LXQvNC10YnQtdC9INC60L4g0LLRgdC10Lwg0YTQsNC50LvQsNC8LmAsXG4gICAgICAgIG1lc3NhZ2VNb3ZlUm9vdEZpbGVzRmFpbGVkOiAocGFyYW1zKSA9PiBg0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMICR7ZmlsZU5hbWVQbHVyYWxpemF0aW9uKHBhcmFtcyl9INCy0L4g0LLRgdC1INGE0LDQudC70YsuYCxcbiAgICAgICAgbWVzc2FnZU1vdmVSb290RmlsZXNTdWNjZXNzOiAocGFyYW1zKSA9PiBgJHtmaWxlTmFtZVBsdXJhbGl6YXRpb24ocGFyYW1zKX0g0L/QtdGA0LXQvNC10YnQtdC90Ysg0LrQviDQstGB0LXQvCDRhNCw0LnQu9Cw0LwuYCxcbiAgICAgICAgbWVzc2FnZU1vdmVSb290RmlsZU9yRm9sZGVyRmFpbGVkOiAn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMIHt7IG5hbWUgfX0g0LLQviDQstGB0LUg0YTQsNC50LvRiy4nLFxuICAgICAgICBtZXNzYWdlTW92ZVJvb3RGaWxlT3JGb2xkZXJTdWNjZXNzOiAne3sgbmFtZSB9fSDQv9C10YDQtdC80LXRidC10L0g0LrQviDQstGB0LXQvCDRhNCw0LnQu9Cw0LwuJyxcbiAgICAgICAgbWVzc2FnZUZpbGVUeXBlTWlzbWF0Y2hQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7INC40LzQtdC10YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGC0LjQvy4g0KDQsNC30YDQtdGI0LXQvdC90YvQtSDRgtC40L/Rizoge3sgYWxsb3dlZFR5cGVzIH19Lic7XG4gICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpbGVzQ291bnR9INGE0LDQudC70LAg0LjQvNC10Y7RgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/LiDQoNCw0LfRgNC10YjQtdC90L3Ri9C1INGC0LjQv9GLOiB7eyBhbGxvd2VkVHlwZXMgfX0uYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudCB8fCAwfSDRhNCw0LnQu9C+0LIg0LjQvNC10Y7RgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/LiDQoNCw0LfRgNC10YjQtdC90L3Ri9C1INGC0LjQv9GLOiB7eyBhbGxvd2VkVHlwZXMgfX0uYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWVzc2FnZUZpbGVUeXBlTWlzbWF0Y2hTaW5ndWxhcjpcbiAgICAgICAgICAgICfQpNCw0LnQuyBcInt7IGZpbGVOYW1lIH19XCIg0LjQvNC10LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/LiDQoNCw0LfRgNC10YjQtdC90L3Ri9C1INGC0LjQv9GLOiB7eyBhbGxvd2VkVHlwZXMgfX0uJyxcbiAgICAgICAgbWVzc2FnZUZpbGVTaXplRXhjZWVkZWRQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7INC/0YDQtdCy0YvRiNCw0Y7RgiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAuINCg0LDQt9GA0LXRiNC10L0g0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwOiB7eyBtYXhGaWxlU2l6ZSB9fS4nO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwINC/0YDQtdCy0YvRiNCw0Y7RgiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAuINCg0LDQt9GA0LXRiNC10L0g0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwOiB7eyBtYXhGaWxlU2l6ZSB9fS5gO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzQ291bnQgfHwgMFxuICAgICAgICAgICAgICAgICAgICB9INGE0LDQudC70L7QsiDQv9GA0LXQstGL0YjQsNGO0YIg0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC9INC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsDoge3sgbWF4RmlsZVNpemUgfX0uYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWVzc2FnZUZpbGVTaXplRXhjZWVkZWRTaW5ndWxhcjpcbiAgICAgICAgICAgICfQpNCw0LnQuyBcInt7IGZpbGVOYW1lIH19XCIg0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsC4g0KDQsNC30YDQtdGI0LXQvSDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LA6IHt7IG1heEZpbGVTaXplIH19LicsXG4gICAgICAgIG1lc3NhZ2VGaWxlTmFtZUxlbmd0aEV4Y2VlZGVkUGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50ID0gcGFyYW1zWydmaWxlc0NvdW50J107XG4gICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZmlsZXNDb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnMSDRhNCw0LnQuyDQv9GA0LXQstGL0YHQuNC70Lgg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINC00LvQuNC90YMg0LjQvNC10L3QuCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC90LAg0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LA6IHt7IG1heEZpbGVuYW1lTGVuZ3RoIH19INGB0LjQvNCy0L7Qu9C+0LIuJztcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudH0g0YTQsNC50LvQsCDQv9GA0LXQstGL0YHQuNC70Lgg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINC00LvQuNC90YMg0LjQvNC10L3QuCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC90LAg0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LA6IHt7IG1heEZpbGVuYW1lTGVuZ3RoIH19INGB0LjQvNCy0L7Qu9C+0LIuYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlc0NvdW50IHx8IDBcbiAgICAgICAgICAgICAgICAgICAgfSDRhNCw0LnQu9C+0LIg0L/RgNC10LLRi9GB0LjQu9C4INC80LDQutGB0LjQvNCw0LvRjNC90YPRjiDQtNC70LjQvdGDINC40LzQtdC90Lgg0YTQsNC50LvQsC4g0KDQsNC30YDQtdGI0LXQvdCwINC00LvQuNC90LAg0LjQvNC10L3QuCDRhNCw0LnQu9CwOiB7eyBtYXhGaWxlbmFtZUxlbmd0aCB9fSDRgdC40LzQstC+0LvQvtCyLmA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2VGaWxlTmFtZUxlbmd0aEV4Y2VlZGVkU2luZ3VsYXI6XG4gICAgICAgICAgICAn0JjQvNGPIFwie3sgZmlsZU5hbWUgfX1cIiDQv9GA0LXQstGL0YjQsNC10YIg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINC00LvQuNC90YMg0LjQvNC10L3QuCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC90LAg0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LA6IHt7IG1heEZpbGVuYW1lTGVuZ3RoIH19INGB0LjQvNCy0L7Qu9C+0LIuJ1xuICAgIH0sXG4gICAgcGxhdGZvcm1XaXphcmRHZW5lcmF0b3I6IHtcbiAgICAgICAgc3VtbWFyeVNlY3Rpb25FZGl0U3RlcDogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJ1xuICAgIH0sXG4gICAgcGxhdGZvcm1NZXNzYWdlUG9wb3Zlcjoge1xuICAgICAgICBhbGxFcnJvcnM6ICfQktGB0LUnLFxuICAgICAgICBkZWZhdWx0RXJyb3JzOiB7XG4gICAgICAgICAgICBlbWFpbDogJ9CX0L3QsNGH0LXQvdC40LUg0L/QvtC70Y8g0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiDRhNC+0YDQvNCw0YLRgyBFLW1haWwnLFxuICAgICAgICAgICAgbWF4OiAn0JfQvdCw0YfQtdC90LjQtSDQv9C+0LvRjyDQv9GA0LXQstGL0YjQsNC10YIg0LzQsNC60YHQuNC80LDQu9GM0L3QviDQtNC+0L/Rg9GB0YLQuNC80L7QtScsXG4gICAgICAgICAgICBtYXhMZW5ndGg6ICfQlNC70LjQvdCwINC30L3QsNGH0LXQvdC40Y8g0L/QvtC70Y8g0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90L4g0LTQvtC/0YPRgdGC0LjQvNC+0LUnLFxuICAgICAgICAgICAgbWluOiAn0JfQvdCw0YfQtdC90LjQtSDQv9C+0LvRjyDQvNC10L3RjNGI0LUg0LzQuNC90LjQvNCw0LvRjNC90L4g0LTQvtC/0YPRgdGC0LjQvNC+0LPQvicsXG4gICAgICAgICAgICBtaW5MZW5ndGg6ICfQlNC70LjQvdCwINC30L3QsNGH0LXQvdC40Y8g0L/QvtC70Y8g0LzQtdC90YzRiNC1INC80LDQutGB0LjQvNCw0LvRjNC90L4g0LTQvtC/0YPRgdGC0LjQvNC+0LPQvicsXG4gICAgICAgICAgICBwYXR0ZXJuOiAn0J/QvtC70LUg0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiDRhNC+0YDQvNCw0YLRgycsXG4gICAgICAgICAgICByZXF1aXJlZDogJ9Ce0LHRj9C30LDRgtC10LvRjNC90L7QtSDQv9C+0LvQtScsXG4gICAgICAgICAgICByZXF1aXJlZFRydWU6ICfQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0L/QvtC70LUnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHBsYXRmb3JtVmFyaWFudE1hbmFnZW1lbnQ6IHtcbiAgICAgICAgbWFuYWdlOiAn0KPQv9GA0LDQstC70LXQvdC40LUnLFxuICAgICAgICBzYXZlQXM6ICfQodC+0YXRgNCw0L3QuNGC0Ywg0LrQsNC6JyxcbiAgICAgICAgc2F2ZVZpZXc6ICfQodC+0YXRgNCw0L3QuNGC0Ywg0JLQuNC0JyxcbiAgICAgICAgc2F2ZTogJ9Ch0L7RhdGA0LDQvdC40YLRjCcsXG4gICAgICAgIG15Vmlld3M6ICfQnNC+0Lgg0JLQuNC00YsnLFxuICAgICAgICB2aWV3OiAn0JLQuNC0JyxcbiAgICAgICAgc2V0QXNEZWZhdWx0OiAn0KPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nLFxuICAgICAgICBwdWJsaWM6ICfQn9GD0LHQu9C40YfQvdGL0LknLFxuICAgICAgICBhcHBseUF1dG9tYXRpY2FsbHk6ICfQn9GA0LjQvNC10L3Rj9GC0Ywg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgnLFxuICAgICAgICByZXF1aXJlZEZpZWxkRXJyb3I6ICfQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0L/QvtC70LUuJyxcbiAgICAgICAgbmFtZVRha2VuRmllbGRFcnJvcjogJ9CS0LjQtCDRgSDRgtCw0LrQuNC8INC40LzQtdC90LXQvCDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuINCS0LLQtdC00LjRgtC1INC00YDRg9Cz0L7QtSDQuNC80Y8uJyxcbiAgICAgICAgY2FuY2VsOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIG1hbmFnZVZpZXdzOiAn0KPQv9GA0LDQstC70LXQvdC40LUg0LLQuNC00LDQvNC4JyxcbiAgICAgICAgbWFya0FzRmF2b3VyaXRlOiAn0J7RgtC80LXRgtC40YLRjCDQutCw0Log0LjQt9Cx0YDQsNC90L3QvtC1JyxcbiAgICAgICAgc2hhcmluZzogJ9Ch0L7QstC80LXRgdGC0L3QvtC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1JyxcbiAgICAgICAgZGVmYXVsdDogJ9Cf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJyxcbiAgICAgICAgY3JlYXRlZEJ5OiAn0KHQvtC30LTQsNC7KNCwKScsXG4gICAgICAgIHJlbW92ZVZhcmlhbnQ6ICfQo9C00LDQu9C40YLRjCDQstC40LQnLFxuICAgICAgICBzZWFyY2g6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgYWNjZXNzOiB7XG4gICAgICAgICAgICBwdWJsaWM6ICfQn9GD0LHQu9C40YfQvdC+0LUnLFxuICAgICAgICAgICAgcHJpdmF0ZTogJ9Cf0YDQuNCy0LDRgtC90L7QtSdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgcGxhdGZvcm1TZWxlY3Q6IHtcbiAgICAgICAgc2VsZWN0T3B0aW9uTGFiZWw6ICfQktGL0LHQtdGA0LjRgtC1INCy0LDRgNC40LDQvdGCJ1xuICAgIH0sXG4gICAgZm5TbGlkZXI6IHtcbiAgICAgICAgbWluTWF4RGV0YWlsczogJ9Cc0LjQvdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgdC70LDQudC00LXRgNCwIHt7IG1pbiB9fSwg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUge3sgbWF4IH19JyxcbiAgICAgICAgdmFsdWVtaW5EZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7IHZhbHVlIH19JyxcbiAgICAgICAgdmFsdWVtYXhEZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7IHZhbHVlIH19JyxcbiAgICAgICAgdmFsdWVOb3dEZXRhaWxzOiAn0KLQtdC60YPRidC10LUg0LfQvdCw0YfQtdC90LjQtToge3sgdmFsdWUgfX0nXG4gICAgfSxcbiAgICBmblN3aXRjaDoge1xuICAgICAgICBzZW1hbnRpY0FjY2VwdExhYmVsOiAn0J/RgNC40L3Rj9GC0YwnLFxuICAgICAgICBzZW1hbnRpY0RlY2xpbmVMYWJlbDogJ9Ce0YLQutC70L7QvdC40YLRjCdcbiAgICB9LFxuICAgIGNvcmVUcmVlOiB7XG4gICAgICAgIGV4cGFuZDogJ9Cg0LDQt9Cy0LXRgNC90YPRgtGMINGD0LfQtdC7JyxcbiAgICAgICAgY29sbGFwc2U6ICfQodCy0LXRgNC90YPRgtGMINGD0LfQtdC7JyxcbiAgICAgICAgbm9EYXRhOiAn0J3QtdGCINC00LDQvdC90YvRhSdcbiAgICB9XG59O1xuXG4vKipcbiAqIFBsdXJhbGl6YXRpb24gZm9yIFwiZmlsZVwiIHdvcmQgaW4gcnVzc2lhbiBsYW5ndWFnZVxuICpcbiAqIE91dHB1dCBzYW1wbGVzOlxuICogKiAxINGE0LDQudC7XG4gKiAqIDIg0YTQsNC50LvQsFxuICogKiAxMCDRhNCw0LnQu9C+0LJcbiAqL1xuZnVuY3Rpb24gZmlsZU5hbWVQbHVyYWxpemF0aW9uKHBhcmFtczogRmRMYW5ndWFnZUtleUFyZ3MpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgfVxufVxuXG4vKipcbiAqIFBsdXJhbGl6YXRpb24gZm9yIFwiZm9sZGVyXCIgd29yZCBpbiBydXNzaWFuIGxhbmd1YWdlXG4gKlxuICogT3V0cHV0cyBzYW1wbGVzOlxuICogKiAxINC/0LDQv9C60YNcbiAqICogMiDQv9Cw0L/QutC4XG4gKiAqIDEwINC/0LDQv9C+0LpcbiAqL1xuZnVuY3Rpb24gZm9sZGVyTmFtZVBsdXJhbGl6YXRpb24ocGFyYW1zOiBGZExhbmd1YWdlS2V5QXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgIH1cbn1cbiJdfQ==
|
|
1072
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzc2lhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaTE4bi9zcmMvbGliL2xhbmd1YWdlcy9ydXNzaWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE1BQU0sYUFBYSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBZTtJQUMzQyxZQUFZLEVBQUU7UUFDVixrQkFBa0IsRUFBRSxhQUFhO1FBQ2pDLHdCQUF3QixFQUFFLHNCQUFzQjtRQUNoRCxtQkFBbUIsRUFBRSxlQUFlO1FBQ3BDLGtCQUFrQixFQUFFLGNBQWM7UUFDbEMsaUJBQWlCLEVBQUUsZ0JBQWdCO1FBQ25DLGFBQWEsRUFBRSxlQUFlO1FBQzlCLGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxjQUFjLEVBQUUsaUJBQWlCO1FBQ2pDLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsaUJBQWlCLEVBQUUsZ0JBQWdCO1FBQ25DLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsYUFBYSxFQUFFLGlCQUFpQjtRQUNoQyxjQUFjLEVBQUUsZUFBZTtRQUMvQixrQkFBa0IsRUFBRSxtQkFBbUI7UUFDdkMsMEJBQTBCLEVBQUUsV0FBVztRQUN2Qyw0QkFBNEIsRUFBRSxjQUFjO1FBQzVDLDRCQUE0QixFQUFFLFlBQVk7UUFDMUMsaUNBQWlDLEVBQUUscUJBQXFCO0tBQzNEO0lBQ0QsaUJBQWlCLEVBQUU7UUFDZixzQkFBc0IsRUFBRSwwQ0FBMEM7UUFDbEUsY0FBYyxFQUFFLG1EQUFtRDtLQUN0RTtJQUNELFlBQVksRUFBRTtRQUNWLHNCQUFzQixFQUFFLGdDQUFnQztRQUN4RCx1QkFBdUIsRUFBRSwrQkFBK0I7S0FDM0Q7SUFDRCxjQUFjLEVBQUU7UUFDWixjQUFjLEVBQUUsaUJB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QyxlQUFlLEVBQUUsNEJBQTRCO1FBQzdDLGVBQWUsRUFBRSwrQkFBK0I7S0FDbkQ7SUFDRCxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFO0lBQy9FLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUU7Q0FDM0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgeyBGZExhbmd1YWdlIH0gZnJvbSAnLi4vbW9kZWxzL2xhbmcnO1xuaW1wb3J0IHsgUGx1cmFsaXphdGlvblNldDEgfSBmcm9tICcuL3BsdXJhbGl6YXRpb24vc2V0MSc7XG5jb25zdCBwbHVyYWxpemF0aW9uID0gbmV3IFBsdXJhbGl6YXRpb25TZXQxKCk7XG5cbmV4cG9ydCBjb25zdCBGRF9MQU5HVUFHRV9SVVNTSUFOOiBGZExhbmd1YWdlID0ge1xuICAgIGNvcmVDYWxlbmRhcjoge1xuICAgICAgICB5ZWFyU2VsZWN0aW9uTGFiZWw6ICfQktGL0LHRgNCw0YLRjCDQs9C+0LQnLFxuICAgICAgICB5ZWFyc1JhbmdlU2VsZWN0aW9uTGFiZWw6ICfQktGL0LHRgNCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INC70LXRgicsXG4gICAgICAgIG1vbnRoU2VsZWN0aW9uTGFiZWw6ICfQktGL0LHRgNCw0YLRjCDQvNC10YHRj9GGJyxcbiAgICAgICAgZGF0ZVNlbGVjdGlvbkxhYmVsOiAn0JLRi9Cx0YDQsNGC0Ywg0LTQsNGC0YMnLFxuICAgICAgICBwcmV2aW91c1llYXJMYWJlbDogJ9Cf0YDQtdC00YvQtNGD0YnQuNC5INCz0L7QtCcsXG4gICAgICAgIG5leHRZZWFyTGFiZWw6ICfQodC70LXQtNGD0Y7RidC40Lkg0LPQvtC0JyxcbiAgICAgICAgcHJldmlvdXNNb250aExhYmVsOiAn0J/RgNC10LTRi9C00YPRidC40Lkg0LzQtdGB0Y/RhicsXG4gICAgICAgIG5leHRNb250aExhYmVsOiAn0KHQu9C10LTRg9GO0YnQuNC5INC80LXRgdGP0YYnLFxuICAgICAgICB3ZWVrQ29sdW1uTGFiZWw6ICfQndC10LTQtdC70Y8g0LrQsNC70LXQvdC00LDRgNGPJyxcbiAgICAgICAgZGF0ZVNlbGVjdGVkTGFiZWw6ICfQktGL0LHRgNCw0L3QvdCw0Y8g0LTQsNGC0LAnLFxuICAgICAgICB0b2RheUxhYmVsOiAn0KHQtdCz0L7QtNC90Y8nLFxuICAgICAgICByYW5nZVN0YXJ0TGFiZWw6ICfQndCw0YfQsNC70L4g0LTQuNCw0L/QsNC30L7QvdCwJyxcbiAgICAgICAgcmFuZ2VFbmRMYWJlbDogJ9Ca0L7QvdC10YYg0LTQuNCw0L/QsNC30L7QvdCwJyxcbiAgICAgICAgZGF5SW5QYXN0TGFiZWw6ICfQn9GA0L7RiNC10LTRiNC40LUg0LTQvdC4JyxcbiAgICAgICAgY2xvc2VDYWxlbmRhckxhYmVsOiAn0JfQsNC60YDRi9GC0Ywg0LrQsNC70LXQvdC00LDRgNGMJyxcbiAgICAgICAgY2FsZW5kYXJEYXlWaWV3RGVzY3JpcHRpb246ICfQmtCw0LvQtdC90LTQsNGA0YwnLFxuICAgICAgICBjYWxlbmRhck1vbnRoVmlld0Rlc2NyaXB0aW9uOiAn0JLRi9Cx0L7RgCDQvNC10YHRj9GG0LAnLFxuICAgICAgICBjYWxlbmRhclllYXJzVmlld0Rlc2NyaXB0aW9uOiAn0JLRi9Cx0L7RgCDQs9C+0LTQsCcsXG4gICAgICAgIGNhbGVuZGFyWWVhcnNSYW5nZVZpZXdEZXNjcmlwdGlvbjogJ9CS0YvQsdC+0YAg0LTQuNCw0L/QsNC30L7QvdCwINC70LXRgidcbiAgICB9LFxuICAgIGNvcmVNdWx0aUNvbWJvQm94OiB7XG4gICAgICAgIG11bHRpQ29tYm9Cb3hBcmlhTGFiZWw6ICfQn9C+0LvQtSDRgdC+INGB0L/QuNGB0LrQvtC8INGBINC90LXRgdC60L7Qu9GM0LrQuNC80Lgg0LfQvdCw0YfQtdC90LjRj9C80LgnLFxuICAgICAgICBzZWxlY3RBbGxMYWJlbDogJ9CS0YvQsdGA0LDRgtGMINCy0YHQtSAoe3tzZWxlY3RlZEl0ZW1zfX0g0LjQtyB7e3RvdGFsSXRlbXN9fSknXG4gICAgfSxcbiAgICBjb3JlQ2Fyb3VzZWw6IHtcbiAgICAgICAgbGVmdE5hdmlnYXRpb25CdG5MYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INC/0YDQtdC00YvQtNGD0YnQtdC80YMg0Y3Qu9C10LzQtdC90YLRgycsXG4gICAgICAgIHJpZ2h0TmF2aWdhdGlvbkJ0bkxhYmVsOiAn0J/QtdGA0LXQudGC0Lgg0Log0YHQu9C10LTRg9GO0YnQtdC80YMg0Y3Qu9C10LzQtdC90YLRgydcbiAgICB9LFxuICAgIGNvcmVEYXRlUGlja2VyOiB7XG4gICAgICAgIGRhdGVJbnB1dExhYmVsOiAn0J/QvtC70LUg0LLQstC+0LTQsCDQtNCw0YLRiycsXG4gICAgICAgIGRhdGVSYW5nZUlucHV0TGFiZWw6ICfQn9C+0LvQtSDQstCy0L7QtNCwINC00LjQsNC/0LDQt9C+0L3QsCDQtNCw0YInLFxuICAgICAgICBkaXNwbGF5Q2FsZW5kYXJUb2dnbGVMYWJlbDogJ9Ce0YLQutGA0YvRgtGMINGB0YDQtdC00YHRgtCy0L4g0LLRi9Cx0L7RgNCwJyxcbiAgICAgICAgdmFsdWVTdGF0ZVN1Y2Nlc3NNZXNzYWdlOiAn0JfQvdCw0YfQtdC90LjQtSDRgdC+0YHRgtC+0Y/QvdC40Y86INCj0YHQv9C10YUnLFxuICAgICAgICB2YWx1ZVN0YXRlSW5mb3JtYXRpb25NZXNzYWdlOiAn0JfQvdCw0YfQtdC90LjQtSDRgdC+0YHRgtC+0Y/QvdC40Y86INCY0L3RhNC+0YDQvNCw0YbQuNC+0L3QvdC+0LUnLFxuICAgICAgICB2YWx1ZVN0YXRlV2FybmluZ01lc3NhZ2U6ICfQl9C90LDRh9C10L3QuNC1INGB0L7RgdGC0L7Rj9C90LjRjzog0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtScsXG4gICAgICAgIHZhbHVlU3RhdGVFcnJvck1lc3NhZ2U6ICfQl9C90LDRh9C10L3QuNC1INGB0L7RgdGC0L7Rj9C90LjRjzog0J7RiNC40LHQutCwJ1xuICAgIH0sXG4gICAgY29yZURhdGV0aW1lUGlja2VyOiB7XG4gICAgICAgIGRhdGV0aW1lSW5wdXRMYWJlbDogJ9Cf0L7Qu9C1INCy0LLQvtC00LAg0LTQsNGC0Ysg0Lgg0LLRgNC10LzQtdC90LgnLFxuICAgICAgICBkaXNwbGF5RGF0ZXRpbWVUb2dnbGVMYWJlbDogJ9Cf0L7QutCw0LfQsNGC0Ywg0LrQsNC70LXQvdC00LDRgNGMJyxcbiAgICAgICAgZGlzcGxheVR5cGVEYXRlTGFiZWw6ICfQlNCw0YLQsCcsXG4gICAgICAgIGRpc3BsYXlUeXBlVGltZUxhYmVsOiAn0JLRgNC10LzRjycsXG4gICAgICAgIGRhdGV0aW1lT2tMYWJlbDogJ9Ce0JonLFxuICAgICAgICBkYXRldGltZUNhbmNlbExhYmVsOiAn0J7RgtC80LXQvdC40YLRjCdcbiAgICB9LFxuICAgIGNvcmVGZWVkTGlzdEl0ZW06IHsgbW9yZUxhYmVsOiAn0JHQvtC70YzRiNC1JywgbGVzc0xhYmVsOiAn0JzQtdC90YzRiNC1JyB9LFxuICAgIGNvcmVHcmlkTGlzdDoge1xuICAgICAgICBmaWx0ZXJCYXJDYW5jZWxCdXR0b25UaXRsZTogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIGxpc3RJdGVtU3RhdHVzQXJpYUxhYmVsOiAn0K3Qu9C10LzQtdC90YIg0LjQvNC10LXRgiDRgdGC0LDRgtGD0YEuINCh0YLQsNGC0YPRgToge3tzdGF0dXN9fS4nLFxuICAgICAgICBsaXN0SXRlbUNvdW50ZXJBcmlhTGFiZWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBg0K3Qu9C10LzQtdC90YIg0LjQvNC10LXRgiAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDEg0LTQvtGH0LXRgNC90LjQuSDRjdC70LXQvNC10L3RgmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydjb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0LTQvtGH0LXRgNC90LjRhSDRjdC70LXQvNC10L3RgtCwYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cGFyYW1zWydjb3VudCddfSDQtNC+0YfQtdGA0L3QuNGFINGN0LvQtdC80LXQvdGC0L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0uYDtcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdEl0ZW1CdXR0b25EZXRhaWxzVGl0bGU6ICfQn9C+0LTRgNC+0LHQvdC+0YHRgtC4JyxcbiAgICAgICAgbGlzdEl0ZW1CdXR0b25EZWxldGVUaXRsZTogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgbGlzdEl0ZW1TdGF0dXNDb250YWluc0Vycm9yczogJ9Ch0L7QtNC10YDQttC40YIg0L7RiNC40LHQutC4JyxcbiAgICAgICAgbGlzdEl0ZW1TdGF0dXNMb2NrZWQ6ICfQl9Cw0LHQu9C+0LrQuNGA0L7QstCw0L3QvicsXG4gICAgICAgIGxpc3RJdGVtU3RhdHVzRHJhZnQ6ICfQp9C10YDQvdC+0LLQuNC6J1xuICAgIH0sXG4gICAgY29yZU1lc3NhZ2VTdHJpcDogeyBkaXNtaXNzTGFiZWw6ICfQl9Cw0LrRgNGL0YLRjCcgfSxcbiAgICBjb3JlTXVsdGlJbnB1dDoge1xuICAgICAgICBtdWx0aUlucHV0QXJpYUxhYmVsOiAnTXVsdGkgVmFsdWUgSW5wdXQnLFxuICAgICAgICBub1Jlc3VsdHM6ICdObyByZXN1bHRzLicsXG4gICAgICAgIG5hdmlnYXRlU2VsZWN0aW9uc1dpdGhBcnJvd3M6ICdOYXZpZ2F0ZSBzZWxlY3Rpb25zIHdpdGggdGhlIHVwIGFuZCBkb3duIGFycm93cy4nLFxuICAgICAgICBjb3VudExpc3RSZXN1bHRzU2luZ3VsYXI6ICcxINGN0LvQtdC80LXQvdGCLicsXG4gICAgICAgIGNvdW50TGlzdFJlc3VsdHNQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbXNbJ2NvdW50J10gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAxINGN0LvQtdC80LXQvdGCLmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydjb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0Y3Qu9C10LzQtdC90YLQsC5gO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INGN0LvQtdC80LXQvdGC0L7Qsi5gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9YDtcbiAgICAgICAgfSxcbiAgICAgICAgZXNjYXBlTmF2aWdhdGVUb2tlbnM6XG4gICAgICAgICAgICAnUHJlc3MgZXNjYXBlIHRvIGV4aXQgdGhlIGlucHV0IGZpZWxkIGFuZCB1c2UgdGhlIGxlZnQgYW5kIHJpZ2h0IGFycm93IGtleXMgdG8gbmF2aWdhdGUgdGhyb3VnaCB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4nLFxuICAgICAgICB0b2tlbnNDb3VudFRleHQ6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbXNbJ2xlbmd0aCddID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQndC10YIg0LLRi9Cx0YDQsNC90L3Ri9GFYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snbGVuZ3RoJ10gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQktGL0LHRgNCw0L0gMWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDQktGL0LHRgNCw0L3QviAke3BhcmFtc1snbGVuZ3RoJ119YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpfSAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snbGVuZ3RoJ10gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAg0LLQsNGA0LjQsNC90YIgYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBsdXJhbGl6YXRpb24ucHJvY2VzcyhwYXJhbXNbJ2xlbmd0aCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAg0LLQsNGA0LjQsNC90YLQsCBgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgINCy0LDRgNC40LDQvdGC0L7QsiBgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9LmA7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvcmVOYXZpZ2F0aW9uOiB7IG1haW5OYXZpZ2F0aW9uOiAn0JPQu9Cw0LLQvdCw0Y8g0J3QsNCy0LjQs9Cw0YbQuNGPJywgbmF2aWdhdGlvblBhdGg6ICfQn9GD0YLRjCDQvdCw0LLQuNCz0LDRhtC40LgnIH0sXG4gICAgY29yZU5lc3RlZExpc3Q6IHtcbiAgICAgICAgbGlua0l0ZW1BcmlhTGFiZWw6ICfQrdC70LXQvNC10L3RgiDQtNC10YDQtdCy0LAge3tpdGVtRGV0YWlsc319LCB7e2luZGV4fX0g0LjQtyB7e3RvdGFsfX17e3NlbGVjdGVkRGVzY3JpcHRpb259fSdcbiAgICB9LFxuICAgIGNvcmVPdmVyZmxvd0xheW91dDoge1xuICAgICAgICBtb3JlSXRlbXNCdXR0b246IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBg0JXRidC1ICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1zWydjb3VudCddID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgMSDQtdC70LXQvNC10L3RgmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydjb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0LXQu9C10LzQtdC90YLQsGA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0LXQu9C10LzQtdC90YLQvtCyYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpfWA7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNvcmVQYWdpbmF0aW9uOiB7XG4gICAgICAgIHBhZ2VMYWJlbDogJ9Ch0YLRgNCw0L3QuNGG0LAge3twYWdlTnVtYmVyfX0nLFxuICAgICAgICBjdXJyZW50UGFnZUFyaWFMYWJlbDogJ9Ch0YLRgNCw0L3QuNGG0LAge3twYWdlTnVtYmVyfX0g0LDQutGC0LjQstC90LAnLFxuICAgICAgICBsYWJlbEJlZm9yZUlucHV0TW9iaWxlOiAn0KHRgtGA0LDQvdC40YbQsDonLFxuICAgICAgICBsYWJlbEFmdGVySW5wdXRNb2JpbGU6ICfQuNC3IHt7dG90YWxDb3VudH19JyxcbiAgICAgICAgaW5wdXRBcmlhTGFiZWw6ICfQn9C+0LvQtSDQstCy0L7QtNCwINGB0YLRgNCw0L3QuNGG0YssINCi0LXQutGD0YnQsNGPINGB0YLRgNCw0L3QuNGG0LAsINCh0YLRgNCw0L3QuNGG0LAge3twYWdlTnVtYmVyfX0g0LjQtyB7e3RvdGFsQ291bnR9fScsXG4gICAgICAgIGl0ZW1zUGVyUGFnZUxhYmVsOiAn0KDQtdC30YPQu9GM0YLQsNGC0L7QsiDQvdCwINGB0YLRgNCw0L3QuNGG0LU6JyxcbiAgICAgICAgZmlyc3RMYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INC/0LXRgNCy0L7QuScsXG4gICAgICAgIHByZXZpb3VzTGFiZWw6ICfQn9C10YDQtdC50YLQuCDQuiDQv9GA0LXQtNGL0LTRg9GJ0LXQuScsXG4gICAgICAgIG5leHRMYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INGB0LvQtdC00YPRjtGJ0LXQuScsXG4gICAgICAgIGxhc3RMYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INC/0L7RgdC70LXQtNC90LXQuScsXG4gICAgICAgIGFyaWFMYWJlbDogJ9Cd0YPQvNC10YDQsNGG0LjRjyDRgdGC0YDQsNC90LjRhicsXG4gICAgICAgIHRvdGFsUmVzdWx0c0xhYmVsOiAne3t0b3RhbENvdW50fX0g0YDQtdC30YPQu9GM0YLQsNGC0L7QsidcbiAgICB9LFxuICAgIGNvcmVQcm9kdWN0U3dpdGNoOiB7IGFyaWFMYWJlbDogJ9Cf0LXRgNC10LrQu9GO0YfQsNGC0LXQu9GMJyB9LFxuICAgIGNvcmVTaGVsbGJhcjogeyBjb2xsYXBzZWRJdGVtTWVudUxhYmVsOiAn0KHQstC10YDQvdGD0YLQvtC1INC80LXQvdGOINGN0LvQtdC80LXQvdGC0L7QsicsIGNhbmNlbDogJ9Ce0YLQvNC10L3QsCcsIHNlYXJjaDogJ9Cf0L7QuNGB0LonIH0sXG4gICAgY29yZVNsaWRlcjoge1xuICAgICAgICBzaW5nbGVNaW5NYXhEZXRhaWxzOiAn0JzQuNC90LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGB0LvQsNC50LTQtdGA0LAge3ttaW59fSwg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUge3ttYXh9fScsXG4gICAgICAgIHNpbmdsZVZhbHVlbWluRGV0YWlsczogJ9CX0L3QsNGH0LXQvdC40LUg0YDQsNCy0L3QviB7e3ZhbHVlfX0nLFxuICAgICAgICBzaW5nbGVWYWx1ZW1heERldGFpbHM6ICfQl9C90LDRh9C10L3QuNC1INGA0LDQstC90L4ge3t2YWx1ZX19JyxcbiAgICAgICAgc2luZ2xlVmFsdWVOb3dEZXRhaWxzOiAn0KLQtdC60YPRidC10LUg0LfQvdCw0YfQtdC90LjQtToge3t2YWx1ZX19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUxTWluTWF4RGV0YWlsczogJ9Cc0LjQvdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgdC70LDQudC00LXRgNCwIHt7bWlufX0sINC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1IHt7bWF4fX0nLFxuICAgICAgICBtdWx0aXBsZUhhbmRsZTFWYWx1ZW1pbkRldGFpbHM6ICfQl9C90LDRh9C10L3QuNC1INGA0LDQstC90L4ge3t2YWx1ZX19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUxVmFsdWVtYXhEZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7dmFsdWV9fScsXG4gICAgICAgIG11bHRpcGxlSGFuZGxlMVZhbHVlTm93RGV0YWlsczogJ9Ci0LXQutGD0YnQtdC1INC30L3QsNGH0LXQvdC40LU6IHt7dmFsdWV9fScsXG4gICAgICAgIG11bHRpcGxlSGFuZGxlMk1pbk1heERldGFpbHM6ICfQnNC40L3QuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YHQu9Cw0LnQtNC10YDQsCB7e21pbn19LCDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSB7e21heH19JyxcbiAgICAgICAgbXVsdGlwbGVIYW5kbGUyVmFsdWVtaW5EZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7dmFsdWV9fScsXG4gICAgICAgIG11bHRpcGxlSGFuZGxlMlZhbHVlbWF4RGV0YWlsczogJ9CX0L3QsNGH0LXQvdC40LUg0YDQsNCy0L3QviB7e3ZhbHVlfX0nLFxuICAgICAgICBtdWx0aXBsZUhhbmRsZTJWYWx1ZU5vd0RldGFpbHM6ICfQotC10LrRg9GJ0LXQtSDQt9C90LDRh9C10L3QuNC1OiB7e3ZhbHVlfX0nXG4gICAgfSxcbiAgICBjb3JlU3BsaXRCdXR0b246IHsgZXhwYW5kQnV0dG9uQXJpYUxhYmVsOiAn0JHQvtC70YzRiNC1INC00LXQudGB0YLQstC40LknLCBhcmlhbExhYmVsOiAn0JrQvdC+0L/QutCwINGA0LDQt9C00LXQu9C10L3QuNGPJyB9LFxuICAgIGNvcmVTcGxpdHRlcjogeyBwYWdpbmF0aW9uSXRlbUFyaWFMYWJlbDogJ9Ch0LXQutGG0LjRjycgfSxcbiAgICBjb3JlU3RlcElucHV0OiB7XG4gICAgICAgIGluY3JlbWVudEJ1dHRvblRpdGxlOiAn0KPQstC10LvQuNGH0LjRgtGMJyxcbiAgICAgICAgZGVjcmVtZW50QnV0dG9uVGl0bGU6ICfQo9C80LXQvdGM0YjQuNGC0YwnLFxuICAgICAgICBhcmlhUm9sZURlc2NyaXB0aW9uOiAn0KjQsNCzINCy0LLQvtC00LAnXG4gICAgfSxcbiAgICBjb3JlU3dpdGNoOiB7IHNlbWFudGljQWNjZXB0TGFiZWw6ICfQn9GA0LjQvdGP0YLRjCcsIHNlbWFudGljRGVjbGluZUxhYmVsOiAn0J7RgtC60LvQvtC90LjRgtGMJyB9LFxuICAgIGNvcmVUYWJzOiB7IHRhYkxpc3RFeHBhbmRCdXR0b25UZXh0OiAn0JHQvtC70YzRiNC1JyB9LFxuICAgIGNvcmVUZXh0OiB7IG1vcmVMYWJlbDogJ9CR0L7Qu9GM0YjQtScsIGxlc3NMYWJlbDogJ9Cc0LXQvdGM0YjQtScgfSxcbiAgICBjb3JlVGltZToge1xuICAgICAgICBjb21wb25lbnRBcmlhTmFtZTogJ9CS0YvQsdC+0YAg0LLRgNC10LzQtdC90LgnLFxuICAgICAgICBpbmNyZWFzZUhvdXJzTGFiZWw6ICfQo9Cy0LXQu9C40YfQuNGC0Ywg0YfQsNGB0YsnLFxuICAgICAgICBocnNMYWJlbDogJ9Cn0LDRgScsXG4gICAgICAgIGRlY3JlYXNlSG91cnNMYWJlbDogJ0RlY3JlYXNlIGhvdXJzJyxcbiAgICAgICAgaW5jcmVhc2VNaW51dGVzTGFiZWw6ICdJbmNyZWFzZSBtaW51dGVzJyxcbiAgICAgICAgbWluTGFiZWw6ICdNaW4nLFxuICAgICAgICBkZWNyZWFzZU1pbnV0ZXNMYWJlbDogJ0RlY3JlYXNlIG1pbnV0ZXMnLFxuICAgICAgICBpbmNyZWFzZVNlY29uZHNMYWJlbDogJ0luY3JlYXNlIHNlY29uZHMnLFxuICAgICAgICBzZWNMYWJlbDogJ1NlYycsXG4gICAgICAgIGhvdXJzTGFiZWw6ICdIb3VycycsXG4gICAgICAgIG1pbnV0ZXNMYWJlbDogJ01pbnV0ZXMnLFxuICAgICAgICBzZWNvbmRzTGFiZWw6ICdTZWNvbmRzJyxcbiAgICAgICAgZGVjcmVhc2VTZWNvbmRzTGFiZWw6ICfQo9C80LXQvdGM0YjQuNGC0Ywg0YHQtdC60YPQvdC00YsnLFxuICAgICAgICBpbmNyZWFzZVBlcmlvZExhYmVsOiAn0KPQstC10LvQuNGH0LjRgtGMINC/0LXRgNC40L7QtCcsXG4gICAgICAgIHBlcmlvZExhYmVsOiAn0J/QtdGA0LjQvtC0JyxcbiAgICAgICAgZGVjcmVhc2VQZXJpb2RMYWJlbDogJ9Cj0LzQtdC90YzRiNC40YLRjCDQv9C10YDQuNC+0LQnLFxuICAgICAgICBuYXZpZ2F0aW9uSW5zdHJ1Y3Rpb246XG4gICAgICAgICAgICAn0JTQu9GPINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8g0LzQtdC20LTRgyDRjdC70LXQvNC10L3RgtCw0LzQuCDQsiDRjdGC0L7QvCDRgdC/0LjRgdC60LUg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdGC0YDQtdC70LrRgyDQstCy0LXRgNGFINC40LvQuCDQstC90LjQty4g0JTQu9GPINC/0LXRgNC10LrQu9GO0YfQtdC90LjRjyDQvNC10LbQtNGDINGB0L/QuNGB0LrQsNC80Lgg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdGC0YDQtdC70LrRgyDQstC70LXQstC+INC40LvQuCDQstC/0YDQsNCy0L4uJ1xuICAgIH0sXG4gICAgY29yZVRpbWVQaWNrZXI6IHsgdGltZVBpY2tlcklucHV0TGFiZWw6ICfQn9C+0LvQtSDQstCy0L7QtNCwINCy0YDQtdC80LXQvdC4JywgdGltZVBpY2tlckJ1dHRvbkxhYmVsOiAn0J7RgtC60YDRi9GC0Ywg0L7QutC90L4g0LLRi9Cx0L7RgNCwJyB9LFxuICAgIGNvcmVUb2tlbjogeyBkZWxldGVCdXR0b25MYWJlbDogJ9Cj0LTQsNC70Y/QtdC80YvQuScsIGFyaWFSb2xlRGVzY3JpcHRpb246ICfRgtC+0LrQtdC9JyB9LFxuICAgIGNvcmVUb2tlbml6ZXI6IHtcbiAgICAgICAgbW9yZUxhYmVsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYNCV0YnQtSAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDEg0LXQu9C10LzQtdC90YJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGx1cmFsaXphdGlvbi5wcm9jZXNzKHBhcmFtc1snY291bnQnXSkgPT09ICdmZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INC10LvQtdC80LXQvdGC0LBgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INC10LvQtdC80LXQvdGC0L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX1gO1xuICAgICAgICB9LFxuICAgICAgICB0b2tlbml6ZXJMYWJlbDogJ1Rva2VuaXplcidcbiAgICB9LFxuICAgIGNvcmVVcGxvYWRDb2xsZWN0aW9uOiB7XG4gICAgICAgIG1lbnVPa1RleHQ6ICfQntCaJyxcbiAgICAgICAgbWVudUNhbmNlbFRleHQ6ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgbWVudUVkaXRBcmlhTGFiZWw6ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIG1lbnVEZWxldGVBcmlhTGFiZWw6ICfQo9C00LDQu9C40YLRjCcsXG4gICAgICAgIG1lbnVPa0FyaWFMYWJlbDogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJyxcbiAgICAgICAgbWVudUNhbmNlbEFyaWFMYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBmb3JtSXRlbVBsYWNlaG9sZGVyOiAn0JjQvNGPINGE0LDQudC70LAnXG4gICAgfSxcbiAgICBjb3JlV2l6YXJkOiB7IGFyaWFMYWJlbDogJ9Cc0LDRgdGC0LXRgCcgfSxcbiAgICBjb3JlQnJlYWRjcnVtYjogeyBvdmVyZmxvd1RpdGxlTW9yZTogJ9CR0L7Qu9GM0YjQtScgfSxcbiAgICBwbGF0Zm9ybUFjdGlvbkJhcjogeyBiYWNrQnV0dG9uTGFiZWw6ICfQktC10YDQvdGD0YLRjNGB0Y8g0L3QsNC30LDQtCcgfSxcbiAgICBwbGF0Zm9ybUFwcHJvdmFsRmxvdzoge1xuICAgICAgICBhZGROb2RlQnV0dG9uVGl0bGU6ICfQlNC+0LHQsNCy0LjRgtGMJyxcbiAgICAgICAgbm9kZU1lbnVCdXR0b25UaXRsZTogJ9Cc0LXQvdGOJyxcbiAgICAgICAgZGVmYXVsdFdhdGNoZXJzTGFiZWw6ICfQndCw0LHQu9GO0LTQsNGC0LXQu9C4JyxcbiAgICAgICAgZGVmYXVsdFRpdGxlOiAn0J/RgNC+0YbQtdGB0YEg0YPRgtCy0LXRgNC20LTQtdC90LjRjycsXG4gICAgICAgIG5leHRCdXR0b25BcmlhTGFiZWw6ICfQn9C10YDQtdC50YLQuCDQuiDRgdC70LXQtNGD0Y7RidC10LzRgyDRgdC70LDQudC0JyxcbiAgICAgICAgcHJldkJ1dHRvbkFyaWFMYWJlbDogJ9Cf0LXRgNC10LnRgtC4INC6INC/0YDQtdC00YvQtNGD0YnQtdC80YMg0YHQu9Cw0LnQtNGDJyxcbiAgICAgICAgZWRpdE1vZGVTYXZlQnV0dG9uTGFiZWw6ICfQodC+0YXRgNCw0L3QuNGC0YwnLFxuICAgICAgICBlZGl0TW9kZUV4aXRCdXR0b25MYWJlbDogJ9CS0YvQudGC0LgnLFxuICAgICAgICBlbXB0eVRpdGxlOiAn0J3QsNGH0LDRgtGMINC00L7QsdCw0LLQu9GP0YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUg0Lgg0L3QsNCx0LvRjtC00LDRgtC10LvQtdC5JyxcbiAgICAgICAgZW1wdHlIaW50OlxuICAgICAgICAgICAgJ9Cn0YLQvtCx0Ysg0LTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUsINC90LDQttC80LjRgtC1IFwi0JTQvtCx0LDQstC40YLRjCDRiNCw0LNcIi4g0KfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINC90LDQsdC70Y7QtNCw0YLQtdC70LXQuSwg0L3QsNC20LzQuNGC0LUg0L/QvtC70LUg0J3QsNCx0LvRjtC00LDRgtC10LvQuC4nLFxuICAgICAgICBhZGROb2RlRGlhbG9nSGVhZGVyQWRkQXBwcm92ZXJzOiAn0JTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC10LPQvicsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dIZWFkZXJFZGl0QXBwcm92ZXI6ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC10LPQvicsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dIZWFkZXJBZGRBcHByb3ZlclRlYW06ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywv0JrQvtC80LDQvdC00LAnLFxuICAgICAgICBhZGROb2RlRGlhbG9nSGVhZGVyRGV0YWlsOiAn0JTQtdGC0LDQu9C4JyxcbiAgICAgICAgYWRkTm9kZURpYWxvZ05vZGVUeXBlOiAn0J/QsNGA0LDQu9C70LXQu9GM0L3Ri9C5INC40LvQuCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90YvQuScsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dOb2RlVHlwZVNlcmlhbDogJ9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3Ri9C5JyxcbiAgICAgICAgYWRkTm9kZURpYWxvZ05vZGVUeXBlUGFyYWxsZWw6ICfQn9Cw0YDQsNC70LvQtdC70YzQvdGL0LknLFxuICAgICAgICBhZGROb2RlRGlhbG9nQXBwcm92ZXJUeXBlOiAn0KLQuNC/INGD0YLQstC10YDQttC00LDRjtGJ0LXQs9C+JyxcbiAgICAgICAgYWRkTm9kZURpYWxvZ0FwcHJvdmVyVHlwZVVzZXI6ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70YwnLFxuICAgICAgICBhZGROb2RlRGlhbG9nQXBwcm92ZXJUeXBlVGVhbUFueW9uZTogJ9Cb0Y7QsdC+0Lkg0LjQtyDQutC+0LzQsNC90LTRiycsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dBcHByb3ZlclR5cGVUZWFtRXZlcnlvbmU6ICfQktGB0LUg0LIg0LrQvtC80LDQvdC00LUnLFxuICAgICAgICBhZGROb2RlRGlhbG9nVXNlck9yVGVhbTogJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjC/QmtC+0LzQsNC90LTQsCcsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dBZGRUb05leHQ6ICfQlNC+0LHQsNCy0LjRgtGMINCyINGB0LvQtdC00YPRjtGJ0LjQuSDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90YvQuSDRg9C30LXQuycsXG4gICAgICAgIGFkZE5vZGVEaWFsb2dEdWVEYXRlOiAn0JTQsNGC0LAg0LLRi9C/0L7Qu9C90LXQvdC40Y8nLFxuICAgICAgICBhZGROb2RlU2VhcmNoUGxhY2Vob2xkZXI6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgYWRkTm9kZUFkZEFjdGlvbkJ0bkxhYmVsOiAn0JTQvtCx0LDQstC40YLRjCcsXG4gICAgICAgIGFkZE5vZGVDYW5jZWxBY3Rpb25CdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIGFkZE5vZGVTZWxlY3RBcHByb3ZlckFjdGlvbkJ0bkxhYmVsOiAn0JLRi9Cx0YDQsNGC0YwnLFxuICAgICAgICBhZGROb2RlQ2FuY2VsQXBwcm92ZXJTZWxlY3Rpb25BY3Rpb25CdG5MYWJlbDogJ9CS0YvQudGC0LgnLFxuICAgICAgICBhZGROb2RlQXBwcm92ZXJPclRlYW1EZXRhaWxzQ2xvc2VBY3Rpb25CdG5MYWJlbDogJ9CX0LDQutGA0YvRgtGMJyxcbiAgICAgICAgdXNlckRldGFpbHNIZWFkZXI6ICfQlNC10YLQsNC70LgnLFxuICAgICAgICB1c2VyRGV0YWlsc1NlbmRSZW1pbmRlckJ0bkxhYmVsOiAn0J7RgtC/0YDQsNCy0LjRgtGMINC90LDQv9C+0LzQuNC90LDQvdC40LUnLFxuICAgICAgICB1c2VyRGV0YWlsc0NhbmNlbEJ0bkxhYmVsOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIG1lc3NhZ2VzQXBwcm92ZXJBZGRlZFN1Y2Nlc3M6ICcxINGD0YLQstC10YDQttC00LDRjtGJ0LjQuSDQtNC+0LHQsNCy0LvQtdC9JyxcbiAgICAgICAgbWVzc2FnZXNUZWFtQWRkZWRTdWNjZXNzOiAnMSDQutC+0LzQsNC90LTQsCDQtNC+0LHQsNCy0LvQtdC90LAnLFxuICAgICAgICBtZXNzYWdlc05vZGVFZGl0ZWQ6ICcxINGD0YLQstC10YDQttC00LDRjtGJ0LjQuSDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNC9JyxcbiAgICAgICAgbWVzc2FnZXNOb2RlUmVtb3ZlZFNpbmd1bGFyOiAnMSDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40Lkg0YPQtNCw0LvQtdC9JyxcbiAgICAgICAgbWVzc2FnZXNOb2RlUmVtb3ZlZFBsdXJhbDogJ9Cj0YLQstC10YDQttC00LDRjtGJ0LjQtSDRg9C00LDQu9C10L3RiycsXG4gICAgICAgIG1lc3NhZ2VzVGVhbVJlbW92ZWQ6ICcxINC60L7QvNCw0L3QtNCwINGD0LTQsNC70LXQvdCwJyxcbiAgICAgICAgbWVzc2FnZXNFcnJvckJ1aWxkR3JhcGg6ICfQn9GA0Lgg0L/QvtC/0YvRgtC60LUg0L/QvtGB0YLRgNC+0LjRgtGMINCz0YDQsNGE0LjQuiDQv9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwLiDQn9GA0L7QstC10YDRjNGC0LUg0LLRhdC+0LTRj9GJ0LjQtSDQtNCw0L3QvdGL0LUuJyxcbiAgICAgICAgbWVzc2FnZXNVbmRvQWN0aW9uOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIG5vZGVNZW1iZXJzQ291bnQ6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbXNbJ2NvdW50J10gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAxINGH0LvQtdC9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBsdXJhbGl6YXRpb24ucHJvY2VzcyhwYXJhbXNbJ2NvdW50J10pID09PSAnZmV3Jykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cGFyYW1zWydjb3VudCddfSDRh9C70LXQvdCwYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cGFyYW1zWydjb3VudCddfSDRh9C70LXQvdC+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INC60L7QvNCw0L3QtNGLYDtcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZVZhcmlvdXNUZWFtczogJ9Cg0LDQt9C70LjRh9C90YvQtSDQutC+0LzQsNC90LTRiycsXG4gICAgICAgIG5vZGVTdGF0dXNEdWVUb2RheTogJ9Ch0YDQvtC6INCy0YvQv9C+0LvQvdC10L3QuNGPINGB0LXQs9C+0LTQvdGPJyxcbiAgICAgICAgbm9kZVN0YXR1c0R1ZUluWERheXM6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBg0KHRgNC+0Log0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YfQtdGA0LXQtyAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDEg0LTQtdC90YxgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGx1cmFsaXphdGlvbi5wcm9jZXNzKHBhcmFtc1snY291bnQnXSkgPT09ICdmZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INC00L3Rj2A7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0LTQvdC10LlgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9YDtcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZVN0YXR1c1hEYXlzT3ZlcmR1ZTogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGDQn9GA0L7RgdGA0L7Rh9C10L3QviDQvdCwICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1zWydjb3VudCddID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgMSDQtNC10L3RjGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydjb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0LTQvdGPYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cGFyYW1zWydjb3VudCddfSDQtNC90LXQuWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX1gO1xuICAgICAgICB9LFxuICAgICAgICBub2RlQWN0aW9uQWRkQXBwcm92ZXJzQmVmb3JlOiAn0JTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUg0LTQvicsXG4gICAgICAgIG5vZGVBY3Rpb25BZGRBcHByb3ZlcnNBZnRlcjogJ9CU0L7QsdCw0LLQuNGC0Ywg0YPRgtCy0LXRgNC20LTQsNGO0YnQuNGFINC/0L7RgdC70LUnLFxuICAgICAgICBub2RlQWN0aW9uQWRkQXBwcm92ZXJzUGFyYWxsZWw6ICfQlNC+0LHQsNCy0LjRgtGMINC/0LDRgNCw0LvQu9C10LvRjNC90YvRhSDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUnLFxuICAgICAgICBub2RlQWN0aW9uRWRpdEFwcHJvdmVyOiAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YPRgtCy0LXRgNC20LTQsNGO0YnQtdCz0L4nLFxuICAgICAgICBub2RlQWN0aW9uUmVtb3ZlOiAn0KPQtNCw0LvQuNGC0YwnLFxuICAgICAgICBzZWxlY3RUeXBlRGlhbG9nTW92ZUFwcHJvdmVyQXM6ICfQn9C10YDQtdC80LXRgdGC0LjRgtGMINGD0YLQstC10YDQttC00LDRjtGJ0LXQs9C+INC60LDQuicsXG4gICAgICAgIHNlbGVjdFR5cGVEaWFsb2dQYXJhbGxlbE9yU2VyaWFsOiAn0J/QsNGA0LDQu9C70LXQu9GM0L3Ri9C5INC40LvQuCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90YvQuScsXG4gICAgICAgIHNlbGVjdFR5cGVEaWFsb2dOb2RlVHlwZVBhcmFsbGVsOiAn0J/QsNGA0LDQu9C70LXQu9GM0L3Ri9C5INGD0YLQstC10YDQttC00LDRjtGJ0LjQuScsXG4gICAgICAgIHNlbGVjdFR5cGVEaWFsb2dOb2RlVHlwZVNlcmlhbDogJ9Cf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3Ri9C5INGD0YLQstC10YDQttC00LDRjtGJ0LjQuScsXG4gICAgICAgIHNlbGVjdFR5cGVEaWFsb2dDb25maXJtQnV0dG9uOiAn0J/QvtC00YLQstC10YDQtNC40YLRjCcsXG4gICAgICAgIHNlbGVjdFR5cGVEaWFsb2dDYW5jZWxCdXR0b246ICfQntGC0LzQtdC90LAnLFxuICAgICAgICB0b29sYmFyQWRkU3RlcEJ1dHRvbjogJ9CU0L7QsdCw0LLQuNGC0Ywg0YjQsNCzJyxcbiAgICAgICAgdG9vbGJhckVkaXRCdXR0b246ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIHRvb2xiYXJBZGRBcHByb3ZlcnNCZWZvcmU6ICfQlNC+0LHQsNCy0LjRgtGMINGD0YLQstC10YDQttC00LDRjtGJ0LjRhSDQtNC+JyxcbiAgICAgICAgdG9vbGJhckFkZEFwcHJvdmVyc0FmdGVyOiAn0JTQvtCx0LDQstC40YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC40YUg0L/QvtGB0LvQtScsXG4gICAgICAgIHRvb2xiYXJBZGRBcHByb3ZlcnNQYXJhbGxlbDogJ9CU0L7QsdCw0LLQuNGC0Ywg0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9GFINGD0YLQstC10YDQttC00LDRjtGJ0LjRhScsXG4gICAgICAgIHRvb2xiYXJSZW1vdmU6ICfQo9C00LDQu9C40YLRjCcsXG4gICAgICAgIHRvb2xiYXJFZGl0QXBwcm92ZXI6ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRg9GC0LLQtdGA0LbQtNCw0Y7RidC10LPQvicsXG4gICAgICAgIHdhdGNoZXJzSW5wdXRQbGFjZWhvbGRlcjogJ9Cf0L7QuNGB0LonLFxuICAgICAgICB1c2VyTGlzdFNlbGVjdGVkSXRlbXNDb3VudFNpbmd1bGFyOiAn0JLRi9Cx0YDQsNC9IDEg0Y3Qu9C10LzQtdC90YInLFxuICAgICAgICB1c2VyTGlzdFNlbGVjdGVkSXRlbXNDb3VudFBsdXJhbDogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGDQktGL0LHRgNCw0L3QviAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDEg0Y3Qu9C10LzQtdC90YJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGx1cmFsaXphdGlvbi5wcm9jZXNzKHBhcmFtc1snY291bnQnXSkgPT09ICdmZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INGN0LvQtdC80LXQvdGC0LBgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INGN0LvQtdC80LXQvdGC0L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX1gO1xuICAgICAgICB9LFxuICAgICAgICBzdGF0dXNBcHByb3ZlZDogJ9GD0YLQstC10YDQttC00LXQvdC+JyxcbiAgICAgICAgc3RhdHVzUmVqZWN0ZWQ6ICfQvtGC0LrQu9C+0L3QtdC90L4nLFxuICAgICAgICBzdGF0dXNJblByb2dyZXNzOiAn0LIg0L/RgNC+0YbQtdGB0YHQtScsXG4gICAgICAgIHN0YXR1c05vdFN0YXJ0ZWQ6ICfQvdC1INC90LDRh9Cw0YLQvidcbiAgICB9LFxuICAgIHBsYXRmb3JtRmVlZElucHV0OiB7IHVzZXJUaXRsZTogJ9Cf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCcgfSxcbiAgICBwbGF0Zm9ybVZIRDoge1xuICAgICAgICBzZWxlY3Rpb25CYXJMYWJlbDogJ9CS0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLINC4INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgc2VsZWN0ZWRBbmRDb25kaXRpb25MYWJlbDogJ9CS0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLINC4INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgZm9vdGVyQ2xlYXJTZWxlY3RlZFRpdGxlOiAn0L7Rh9C40YHRgtC40YLRjCDQstGL0LHRgNCw0L3QvdGL0LUg0Y3Qu9C10LzQtdC90YLRiycsXG4gICAgICAgIGZvb3RlckNsZWFyU2VsZWN0ZWRBcmlhTGFiZWw6ICfQvtGH0LjRgdGC0LjRgtGMINCy0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLJyxcbiAgICAgICAgc2VhcmNoQnV0dG9uTGFiZWw6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgc3VjY2Vzc0J1dHRvbkxhYmVsOiAn0J7QmicsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIHNlbGVjdGVkRW1wdHlMYWJlbDogJ9Cd0LUg0LLRi9Cx0YDQsNC90L4g0L3QuNC60LDQutC40YUg0Y3Qu9C10LzQtdC90YLQvtCyINC40LvQuCDRg9GB0LvQvtCy0LjQuScsXG4gICAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAn0J/QvtC40YHQuicsXG4gICAgICAgIHNlYXJjaEFkdmFuY2VkU2VhcmNoTGFiZWw6ICfQpNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlYXJjaFNob3dBZHZhbmNlZFNlYXJjaExhYmVsOiAn0J/QvtC60LDQt9Cw0YLRjCDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlYXJjaEhpZGVBZHZhbmNlZFNlYXJjaExhYmVsOiAn0KHQutGA0YvRgtGMINGE0LjQu9GM0YLRgNGLJyxcbiAgICAgICAgc2VhcmNoU2hvd0FsbEFkdmFuY2VkU2VhcmNoTGFiZWw6ICfQn9C+0LrQsNC30LDRgtGMINCy0YHQtSDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlYXJjaEhpZGVBbGxBZHZhbmNlZFNlYXJjaExhYmVsOiAn0KHQutGA0YvRgtGMINCy0YHQtSDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlbGVjdFRhYkRpc3BsYXlDb3VudExhYmVsOiAn0K3Qu9C10LzQtdC90YLRiyAoe3tjb3VudH19KScsXG4gICAgICAgIHNlbGVjdFRhYk1vcmVCdG5MYWJlbDogJ9CR0L7Qu9GM0YjQtScsXG4gICAgICAgIHNlbGVjdFRhYkNvdW50SGlkZGVuQTExeUxhYmVsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYNGB0L7QtNC10YDQttC40YIgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbXNbJ3Jvd0NvdW50J10gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAxINGB0YLRgNC+0LrRg2A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydyb3dDb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1sncm93Q291bnQnXX0g0YHRgtGA0L7QutC4YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cGFyYW1zWydyb3dDb3VudCddfSDRgdGC0YDQvtC6YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpfSDQuCAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY29sQ291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDEg0YHRgtC+0LvQsdC10YZgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGx1cmFsaXphdGlvbi5wcm9jZXNzKHBhcmFtc1snY29sQ291bnQnXSkgPT09ICdmZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvbENvdW50J119INGB0YLQvtC70LHRhtCwYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cGFyYW1zWydjb2xDb3VudCddfSDRgdGC0L7Qu9Cx0YbQvtCyYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpfWA7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdE1vYmlsZVRhYkJhY2tCdG5UaXRsZTogJ9Cd0LDQt9Cw0LQnLFxuICAgICAgICBzZWxlY3RNb2JpbGVUYWJCdG5PcGVuRGlhbG9nTGFiZWw6ICfQntGC0LrRgNGL0YLRjCDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3QvicsXG4gICAgICAgIHNlbGVjdE1vYmlsZVRhYlRpdGxlOiAne3t0aXRsZX19INCy0LrQu9Cw0LTQutCwJyxcbiAgICAgICAgc2VsZWN0TW9iaWxlQ29uZGl0aW9uRW1wdHk6ICfQn9GD0YHRgtC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uVGl0bGU6ICfQn9GA0L7QtNGD0LrRgicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvblNlbGVjdGVkVmFsdWVIaWRkZW5BMTF5TGFiZWw6ICfQstGL0LHRgNCw0L3QvdC+0LUg0LfQvdCw0YfQtdC90LjQtSB7e3ZhbHVlfX0nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25zR3JvdXBIZWFkZXJJbmNsdWRlOiAn0JLQutC70Y7Rh9Cw0Y7RidC40LUg0YPRgdC70L7QstC40Y8nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25zR3JvdXBIZWFkZXJFeGNsdWRlOiAn0JjRgdC60LvRjtGH0LjRgtC10LvRjNC90YvQtSDRg9GB0LvQvtCy0LjRjycsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkZyb21QbGFjZWhvbGRlcjogJ9C+0YInLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Ub1BsYWNlaG9sZGVyOiAn0LTQvicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXI6ICfQt9C90LDRh9C10L3QuNC1JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uUmVtb3ZlQ29uZGl0aW9uQnV0dG9uVGl0bGU6ICfQo9C00LDQu9C40YLRjCDRg9GB0LvQvtCy0LjQtScsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkFkZENvbmRpdGlvbkJ1dHRvbkxhYmVsOiAn0JTQvtCx0LDQstC40YLRjCcsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkFkZENvbmRpdGlvbkJ1dHRvblRpdGxlOiAn0JTQvtCx0LDQstC40YLRjCDRg9GB0LvQvtCy0LjQtScsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxDb250YWluczogJ9GB0L7QtNC10YDQttC40YInLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsRXF1YWxUbzogJ9GA0LDQstC90L4nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsQmV0d2VlbjogJ9C80LXQttC00YMnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsU3RhcnRzV2l0aDogJ9C90LDRh9C40L3QsNC10YLRgdGPINGBJyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbEVuZHNXaXRoOiAn0LfQsNC60LDQvdGH0LjQstCw0LXRgtGB0Y8g0L3QsCcsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxMZXNzVGhhbjogJ9C80LXQvdGM0YjQtSDRh9C10LwnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsTGVzc1RoYW5FcXVhbDogJ9C80LXQvdGM0YjQtSDRh9C10Lwg0LjQu9C4INGA0LDQstC90L4nLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25Db25kaXRpb25TdHJhdGVneUxhYmVsR3JlYXRlclRoYW46ICfQsdC+0LvRjNGI0LUg0YfQtdC8JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbEdyZWF0ZXJUaGFuRXF1YWw6ICfQsdC+0LvRjNGI0LUg0YfQtdC8INC40LvQuCDRgNCw0LLQvdC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbEVtcHR5OiAn0L/Rg9GB0YLQvicsXG4gICAgICAgIGRlZmluZUNvbmRpdGlvbkNvbmRpdGlvblN0cmF0ZWd5TGFiZWxOb3RFcXVhbFRvOiAn0L3QtSDRgNCw0LLQvdC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uQ29uZGl0aW9uU3RyYXRlZ3lMYWJlbE5vdEVtcHR5OiAn0L3QtSDQv9GD0YHRgtC+JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uTWF4Q291bnRFcnJvcjogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGDQktCy0LXQtNC40YLQtSDQt9C90LDRh9C10L3QuNC1INC90LUg0LHQvtC70LXQtSAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDEg0YHQuNC80LLQvtC70LBgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INGB0LjQvNCy0L7Qu9C+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9YDtcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0VGFiVGl0bGU6ICfQktGL0LHRgNCw0YLRjCDQuNC3INGB0L/QuNGB0LrQsCcsXG4gICAgICAgIHNlYXJjaFRhYmxlRW1wdHlNZXNzYWdlOiAn0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQv9C+0LjRgdC6INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0YDQtdC30YPQu9GM0YLQsNGC0L7QsicsXG4gICAgICAgIGRlZmluZVRhYlRpdGxlOiAn0J7Qv9GA0LXQtNC10LvQuNGC0Ywg0YPRgdC70L7QstC40Y8nXG4gICAgfSxcbiAgICBwbGF0Zm9ybUNvbWJvYm94OiB7XG4gICAgICAgIGNvdW50TGlzdFJlc3VsdHNTaW5ndWxhcjogJzEg0Y3Qu9C10LzQtdC90YInLFxuICAgICAgICBjb3VudExpc3RSZXN1bHRzUGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1zWydjb3VudCddID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgMSDRjdC70LXQvNC10L3RgmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydjb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0Y3Qu9C10LzQtdC90YLQsGA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0Y3Qu9C10LzQtdC90YLQvtCyYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpfWA7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHBsYXRmb3JtTXVsdGlDb21ib2JveDoge1xuICAgICAgICBpbnB1dEdseXBoQXJpYUxhYmVsOiAn0JLRi9Cx0YDQsNGC0Ywg0L7Qv9GG0LjQuCcsXG4gICAgICAgIGlucHV0SWNvblRpdGxlOiAn0JLRi9Cx0YDQsNGC0Ywg0L7Qv9GG0LjQuCcsXG4gICAgICAgIG1vYmlsZVNob3dBbGxJdGVtc0J1dHRvbjogJ9Cf0L7QutCw0LfQsNGC0Ywg0LLRgdC1INGN0LvQtdC80LXQvdGC0YsnLFxuICAgICAgICBtb2JpbGVTaG93U2VsZWN0ZWRJdGVtc0J1dHRvbjogJ9Cf0L7QutCw0LfQsNGC0Ywg0LLRi9Cx0YDQsNC90L3Ri9C1INGN0LvQtdC80LXQvdGC0YsnXG4gICAgfSxcbiAgICBwbGF0Zm9ybVRleHRhcmVhOiB7XG4gICAgICAgIGNvdW50ZXJNZXNzYWdlQ2hhcmFjdGVyc092ZXJUaGVMaW1pdFNpbmd1bGFyOiAn0J/RgNC10LLRi9GI0LXQvSDQu9C40LzQuNGCINC90LAgMSDRgdC40LzQstC+0LsnLFxuICAgICAgICBjb3VudGVyTWVzc2FnZUNoYXJhY3RlcnNPdmVyVGhlTGltaXRQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBg0J/RgNC10LLRi9GI0LXQvSDQu9C40LzQuNGCINC90LAgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbXNbJ2NvdW50J10gPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAxINGB0LjQvNCy0L7Qu2A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwbHVyYWxpemF0aW9uLnByb2Nlc3MocGFyYW1zWydjb3VudCddKSA9PT0gJ2ZldycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3BhcmFtc1snY291bnQnXX0g0YHQuNC80LLQvtC70LBgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtwYXJhbXNbJ2NvdW50J119INGB0LjQvNCy0L7Qu9C+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9YDtcbiAgICAgICAgfSxcbiAgICAgICAgY291bnRlck1lc3NhZ2VDaGFyYWN0ZXJzUmVtYWluaW5nU2luZ3VsYXI6ICfQntGB0YLQsNC70YHRjyAxINGB0LjQvNCy0L7QuycsXG4gICAgICAgIGNvdW50ZXJNZXNzYWdlQ2hhcmFjdGVyc1JlbWFpbmluZ1BsdXJhbDogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCe0YHRgtCw0LvRgdGPIDEg0YHQuNC80LLQvtC7YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBsdXJhbGl6YXRpb24ucHJvY2VzcyhwYXJhbXNbJ2NvdW50J10pID09PSAnZmV3Jykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCe0YHRgtCw0LvQvtGB0YwgJHtwYXJhbXNbJ2NvdW50J119INGB0LjQvNCy0L7Qu9CwYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCe0YHRgtCw0LvQvtGB0YwgJHtwYXJhbXNbJ2NvdW50J119INGB0LjQvNCy0L7Qu9C+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9YDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgcGxhdGZvcm1MaW5rOiB7IHJvbGVEZXNjcmlwdGlvbldpdGhNZWRpYTogJ9Cc0LXQtNC40LA6IHt7bWVkaWF9fScgfSxcbiAgICBwbGF0Zm9ybUxpc3Q6IHsgbG9hZGluZ0FyaWFMYWJlbDogJ9C30LDQs9GA0YPQt9C60LAnIH0sXG4gICAgcGxhdGZvcm1PYmplY3RMaXN0SXRlbTogeyBkZXRhaWxzQWN0aW9uQXJpYUxhYmVsOiAn0LTQtdGC0LDQu9C4JywgZGVsZXRlQWN0aW9uQXJpYUxhYmVsOiAn0YPQtNCw0LvQuNGC0YwnIH0sXG4gICAgcGxhdGZvcm1TdGFuZGFyZExpc3RJdGVtOiB7IGRldGFpbHNBY3Rpb25BcmlhTGFiZWw6ICfQtNC10YLQsNC70LgnLCBkZWxldGVBY3Rpb25BcmlhTGFiZWw6ICfRg9C00LDQu9C40YLRjCcgfSxcbiAgICBwbGF0Zm9ybVNlYXJjaEZpZWxkOiB7XG4gICAgICAgIGNsZWFyQnV0dG9uVGl0bGU6ICfQntGH0LjRgdGC0LjRgtGMJyxcbiAgICAgICAgc3VibWl0QnV0dG9uVGl0bGU6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgc2VhcmNoSW5wdXRMYWJlbDogJ9Cf0L7QuNGB0LonLFxuICAgICAgICBzeW5jaHJvbml6ZUJ1dHRvblRpdGxlOiAn0KHQuNC90YXRgNC+0L3QuNC30LjRgNC+0LLQsNGC0YwnLFxuICAgICAgICBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZTogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1snY291bnQnXSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCd0LDQudC00LXQvSAxINCy0LDRgNC40LDQvdGCYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBsdXJhbGl6YXRpb24ucHJvY2VzcyhwYXJhbXNbJ2NvdW50J10pID09PSAnZmV3Jykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCd0LDQudC00LXQvdC+ICR7cGFyYW1zWydjb3VudCddfSDQstCw0YDQuNCw0L3RgtCwYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCd0LDQudC00LXQvdC+ICR7cGFyYW1zWydjb3VudCddfSDQstCw0YDQuNCw0L3RgtC+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9YDtcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZTogJ9C40YHQv9C+0LvRjNC30YPQudGC0LUg0YHRgtGA0LXQu9C60Lgg0LLQstC10YDRhSDQuCDQstC90LjQtyDQtNC70Y8g0L3QsNCy0LjQs9Cw0YbQuNC4J1xuICAgIH0sXG4gICAgcGxhdGZvcm1TbWFydEZpbHRlckJhcjoge1xuICAgICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ9Cf0L7QuNGB0LonLFxuICAgICAgICBzdWJtaXRCdXR0b25MYWJlbDogJ9Cf0LXRgNC10LnRgtC4JyxcbiAgICAgICAgZmlsdGVyc0J1dHRvbkxhYmVsOiAn0KTQuNC70YzRgtGA0YsgKHt7ZmlsdGVyc0NvdW50fX0pJyxcbiAgICAgICAgc2hvd0ZpbHRlcnNCdXR0b25MYWJlbDogJ9Cf0L7QutCw0LfQsNGC0Ywg0YTQuNC70YzRgtGA0YsnLFxuICAgICAgICBoaWRlRmlsdGVyc0J1dHRvbkxhYmVsOiAn0KHQutGA0YvRgtGMINGE0LjQu9GM0YLRgNGLJyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uc1JlbW92ZUNvbmRpdGlvbkJ1dHRvblRpdGxlOiAn0KPQtNCw0LvQuNGC0Ywg0YPRgdC70L7QstC40LUnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25zQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWw6ICfQlNC+0LHQsNCy0LjRgtGMINGD0YHQu9C+0LLQuNC1JyxcbiAgICAgICAgZGVmaW5lQ29uZGl0aW9uc1N1Ym1pdEJ1dHRvbkxhYmVsOiAn0J/QtdGA0LXQudGC0LgnLFxuICAgICAgICBkZWZpbmVDb25kaXRpb25zQ2FuY2VsQnV0dG9uOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNIZWFkZXI6ICfQpNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNBdmFpbGFibGVGaWx0ZXJzVGV4dDogJ9CU0L7RgdGC0YPQv9C90YvQtSDRhNC40LvRjNGC0YDRiycsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNGaWx0ZXJDb2x1bW5MYWJlbDogJ9Ck0LjQu9GM0YLRgCcsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNBY3RpdmVDb2x1bW5MYWJlbDogJ9CQ0LrRgtC40LLQvdGL0LknLFxuICAgICAgICBzZWxlY3RGaWx0ZXJzU3VibWl0QnV0dG9uTGFiZWw6ICfQn9C10YDQtdC50YLQuCcsXG4gICAgICAgIHNlbGVjdEZpbHRlcnNDYW5jZWxCdXR0b246ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uQ29udGFpbnM6ICfRgdC+0LTQtdGA0LbQuNGCJyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uRXF1YWxUbzogJ9GA0LDQstC90L4nLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25CZXR3ZWVuOiAn0LzQtdC20LTRgycsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkJlZ2luc1dpdGg6ICfQvdCw0YfQuNC90LDQtdGC0YHRjyDRgScsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkVuZHNXaXRoOiAn0LfQsNC60LDQvdGH0LjQstCw0LXRgtGB0Y8nLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25MZXNzVGhhbjogJ9C80LXQvdGM0YjQtSDRh9C10LwnLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25MZXNzVGhhbk9yRXF1YWxUbzogJ9C80LXQvdGM0YjQtSDQuNC70Lgg0YDQsNCy0L3QvicsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuOiAn0LHQvtC70YzRiNC1INGH0LXQvCcsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAn0LHQvtC70YzRiNC1INC40LvQuCDRgNCw0LLQvdC+JyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uQWZ0ZXI6ICfQv9C+0YHQu9C1JyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uT25PckFmdGVyOiAn0YDQsNCy0L3QviDQuNC70Lgg0L/QvtGB0LvQtScsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvbkJlZm9yZTogJ9C00L4nLFxuICAgICAgICBmaWx0ZXJDb25kaXRpb25CZWZvcmVPck9uOiAn0LTQviDQuNC70Lgg0YDQsNCy0L3QvicsXG4gICAgICAgIGZpbHRlckNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXI6ICfQt9C90LDRh9C10L3QuNC1JyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uVmFsdWVGcm9tUGxhY2Vob2xkZXI6ICfQvtGCJyxcbiAgICAgICAgZmlsdGVyQ29uZGl0aW9uVmFsdWVUb1BsYWNlaG9sZGVyOiAn0LTQvicsXG4gICAgICAgIHNldHRpbmdzQ2F0ZWdvcnlBbGw6ICfQktGB0LUnLFxuICAgICAgICBzZXR0aW5nc0NhdGVnb3J5VmlzaWJsZTogJ9CS0LjQtNC40LzRi9C1JyxcbiAgICAgICAgc2V0dGluZ3NDYXRlZ29yeUFjdGl2ZTogJ9CQ0LrRgtC40LLQvdGL0LUnLFxuICAgICAgICBzZXR0aW5nc0NhdGVnb3J5VmlzaWJsZUFuZEFjdGl2ZTogJ9CS0LjQtNC40LzRi9C1INC4INCw0LrRgtC40LLQvdGL0LUnLFxuICAgICAgICBzZXR0aW5nc0NhdGVnb3J5TWFuZGF0b3J5OiAn0J7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C1JyxcbiAgICAgICAgbWFuYWdlRmllbGRDb25kaXRpb25zOiAn0J/QvtC60LDQt9Cw0YLRjCDRg9GB0LvQvtCy0LjRjyDQtNC70Y8g0L/QvtC70Y8nLFxuICAgICAgICByZWZyZXNoQnV0dG9uQXJpYUxhYmVsOiAn0J7QsdC90L7QstC40YLRjCdcbiAgICB9LFxuICAgIHBsYXRmb3JtVGFibGU6IHtcbiAgICAgICAgaGVhZGVyTWVudVNvcnRBc2M6ICfQodC+0YDRgtC40YDQvtCy0LDRgtGMINC/0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjicsXG4gICAgICAgIGhlYWRlck1lbnVTb3J0RGVzYzogJ9Ch0L7RgNGC0LjRgNC+0LLQsNGC0Ywg0L/QviDRg9Cx0YvQstCw0L3QuNGOJyxcbiAgICAgICAgaGVhZGVyTWVudUdyb3VwOiAn0KHQs9GA0YPQv9C/0LjRgNC+0LLQsNGC0YwnLFxuICAgICAgICBoZWFkZXJNZW51RnJlZXplOiAn0JfQsNC80L7RgNC+0LfQuNGC0YwnLFxuICAgICAgICBoZWFkZXJNZW51RW5kRnJlZXplOiAnRnJlZXplIHRvIEVuZCcsXG4gICAgICAgIGhlYWRlck1lbnVVbmZyZWV6ZTogJ9Cg0LDQt9C80L7RgNC+0LfQuNGC0YwnLFxuICAgICAgICBoZWFkZXJNZW51RmlsdGVyOiAn0KTQuNC70YzRgtGAJyxcbiAgICAgICAgZGVmYXVsdEVtcHR5TWVzc2FnZTogJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JyxcbiAgICAgICAgZW1wdHlDZWxsOiAn0J/Rg9GB0YLQvicsXG4gICAgICAgIG5vVmlzaWJsZUNvbHVtbnNNZXNzYWdlOlxuICAgICAgICAgICAgJ9Ch0LXQudGH0LDRgSDQsiDRgtCw0LHQu9C40YbQtSDQvdC10YIg0LLQuNC00LjQvNGL0YUg0YHRgtC+0LvQsdGG0L7Qsi4g0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQsdC10YDQuNGC0LUg0L3Rg9C20L3Ri9C1INGB0YLQvtC70LHRhtGLINCyINC90LDRgdGC0YDQvtC50LrQsNGFINGC0LDQsdC70LjRhtGLLicsXG4gICAgICAgIHJlc2V0Q2hhbmdlc0J1dHRvbkxhYmVsOiAn0KHQsdGA0L7RgdC40YLRjCcsXG4gICAgICAgIGVkaXRhYmxlQ2VsbE51bWJlclBsYWNlaG9sZGVyOiAn0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtScsXG4gICAgICAgIGVkaXRhYmxlQ2VsbERhdGVQbGFjZWhvbGRlcjogJ9CS0LLQtdC00LjRgtC1INC30L3QsNGH0LXQvdC40LUnLFxuICAgICAgICBlZGl0YWJsZUNlbGxTdHJpbmdQbGFjZWhvbGRlcjogJ9CS0LLQtdC00LjRgtC1INC30L3QsNGH0LXQvdC40LUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nSGVhZGVyOiAn0KHRgtC+0LvQsdGG0YsnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nU2VhcmNoUGxhY2Vob2xkZXI6ICfQn9C+0LjRgdC6JyxcbiAgICAgICAgUDEzQ29sdW1uc0RpYWxvZ3NTaG93U2VsZWN0ZWQ6ICfQn9C+0LrQsNC30LDRgtGMINCy0YvQsdGA0LDQvdC90L7QtScsXG4gICAgICAgIFAxM0NvbHVtbnNEaWFsb2dTaG93QWxsOiAn0J/QvtC60LDQt9Cw0YLRjCDQstGB0LUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nU2VsZWN0QWxsOiAn0JLRi9Cx0YDQsNGC0Ywg0LLRgdC1ICh7e3NlbGVjdGVkQ29sdW1uc0NvdW50fX0ve3tzZWxlY3RhYmxlQ29sdW1uc0NvdW50fX0pJyxcbiAgICAgICAgUDEzQ29sdW1uc0RpYWxvZ0NvbmZpcm1hdGlvbkJ0bkxhYmVsOiAn0J7QmicsXG4gICAgICAgIFAxM0NvbHVtbnNEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIFAxM0NvbHVtbnNEaWFsb2dNb3ZlVG9Ub3BCdG46ICfQn9C10YDQtdC80LXRgdGC0LjRgtGMINCy0LLQtdGA0YUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nTW92ZVVwQnRuOiAn0J/QtdGA0LXQvNC10YHRgtC40YLRjCDQstGL0YjQtScsXG4gICAgICAgIFAxM0NvbHVtbnNEaWFsb2dNb3ZlRG93bkJ0bjogJ9Cf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0L3QuNC20LUnLFxuICAgICAgICBQMTNDb2x1bW5zRGlhbG9nTW92ZVRvQm90dG9tQnRuOiAn0J/QtdGA0LXQvNC10YHRgtC40YLRjCDQstC90LjQtycsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxCZXR3ZWVuOiAn0LzQtdC20LTRgycsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxDb250YWluczogJ9GB0L7QtNC10YDQttC40YInLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsQmVnaW5zV2l0aDogJ9C90LDRh9C40L3QsNC10YLRgdGPINGBJyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbEVuZHNXaXRoOiAn0LfQsNC60LDQvdGH0LjQstCw0LXRgtGB0Y8g0L3QsCcsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxFcXVhbFRvOiAn0YDQsNCy0L3QvicsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxHcmVhdGVyVGhhbjogJ9Cx0L7Qu9GM0YjQtSDRh9C10LwnLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsR3JlYXRlclRoYW5PckVxdWFsVG86ICfQsdC+0LvRjNGI0LUg0LjQu9C4INGA0LDQstC90L4nLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsTGVzc1RoYW46ICfQvNC10L3RjNGI0LUg0YfQtdC8JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbExlc3NUaGFuT3JFcXVhbFRvOiAn0LzQtdC90YzRiNC1INC40LvQuCDRgNCw0LLQvdC+JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbEFmdGVyOiAn0L/QvtGB0LvQtScsXG4gICAgICAgIFAxM0ZpbHRlclN0cmF0ZWd5TGFiZWxPbk9yQWZ0ZXI6ICfRgNCw0LLQvdC+INC40LvQuCDQv9C+0YHQu9C1JyxcbiAgICAgICAgUDEzRmlsdGVyU3RyYXRlZ3lMYWJlbEJlZm9yZTogJ9C00L4nLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsQmVmb3JlT3JPbjogJ9C00L4g0LjQu9C4INGA0LDQstC90L4nLFxuICAgICAgICBQMTNGaWx0ZXJTdHJhdGVneUxhYmVsTm90RGVmaW5lZDogJ9Cd0LUg0L7Qv9GA0LXQtNC10LvQtdC90L4nLFxuICAgICAgICBQMTNGaWx0ZXJCb29sZWFuT3B0aW9uTm90RGVmaW5lZDogJycsXG4gICAgICAgIFAxM0ZpbHRlckJvb2xlYW5PcHRpb25UcnVlOiAn0JTQsCcsXG4gICAgICAgIFAxM0ZpbHRlckJvb2xlYW5PcHRpb25GYWxzZTogJ9Cd0LXRgicsXG4gICAgICAgIFAxM0ZpbHRlckRpYWxvZ0hlYWRlcjogJ9Ck0LjQu9GM0YLRgNC+0LLQsNGC0Ywg0L/QvicsXG4gICAgICAgIFAxM0ZpbHRlckRpYWxvZ0luY2x1ZGVQYW5lbFRpdGxlV2l0aENvdW50OiAn0JLQutC70Y7Rh9Cw0Y7RidC40LUg0YPRgdC70L7QstC40Y8gKHt7Y291bnR9fSknLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb2dJbmNsdWRlUGFuZWxUaXRsZVdpdGhvdXRDb3VudDogJ9CS0LrQu9GO0YfQsNGO0YnQuNC1INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nRXhjbHVkZVBhbmVsVGl0bGVXaXRoQ291bnQ6ICfQmNGB0LrQu9GO0YfQsNGO0YnQuNC1INGD0YHQu9C+0LLQuNGPICh7e2NvdW50fX0pJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nRXhjbHVkZVBhbmVsVGl0bGVXaXRob3V0Q291bnQ6ICfQmNGB0LrQu9GO0YfQsNGO0YnQuNC1INGD0YHQu9C+0LLQuNGPJyxcbiAgICAgICAgUDEzRmlsdGVyRGlhbG9nUmVtb3ZlRmlsdGVyQnRuVGl0bGU6ICfQo9C00LDQu9C40YLRjCDRhNC40LvRjNGC0YAnLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb0FkZEZpbHRlckJ0blRpdGxlOiAn0JTQvtCx0LDQstC40YLRjCDRhNC40LvRjNGC0YAnLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb2dDb25maXJtYXRpb25CdG5MYWJlbDogJ9Ce0JonLFxuICAgICAgICBQMTNGaWx0ZXJEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nSGVhZGVyOiAn0JPRgNGD0L/Qv9C40YDQvtCy0LrQsCcsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nTm9uZVNlbGVjdGVkQ29sdW1uU2VsZWN0UGxhY2Vob2xkZXI6ICco0L3QtdGC0YMpJyxcbiAgICAgICAgUDEzR3JvdXBEaWFsb2dTaG93RmllbGRBc0NvbHVtbkNoZWNrYm94TGFiZWw6ICfQn9C+0LrQsNC30LDRgtGMINC/0L7Qu9C1INC60LDQuiDRgdGC0L7Qu9Cx0LXRhicsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nUmVtb3ZlR3JvdXBCdG5UaXRsZTogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgUDEzR3JvdXBEaWFsb2dBZGROZXdHcm91cEJ0blRpdGxlOiAn0JTQvtCx0LDQstC40YLRjCcsXG4gICAgICAgIFAxM0dyb3VwRGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWw6ICfQntCaJyxcbiAgICAgICAgUDEzR3JvdXBEaWFsb2dDYW5jZWxCdG5MYWJlbDogJ9Ce0YLQvNC10L3QsCcsXG4gICAgICAgIFAxM1NvcnREaWFsb2dIZWFkZXI6ICfQodC+0YDRgtC40YDQvtCy0LrQsCcsXG4gICAgICAgIFAxM1NvcnREaWFsb2dOb25lU2VsZWN0ZWRDb2x1bW46ICco0L3QtdGC0YMpJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ05vbmVTZWxlY3RlZFNvcnRpbmc6ICco0L3QtdGC0YMpJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ1NvcnRPcmRlclNlbGVjdE9wdGlvbkFzYzogJ9Cf0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjicsXG4gICAgICAgIFAxM1NvcnREaWFsb2dTb3J0T3JkZXJTZWxlY3RPcHRpb25EZXNjOiAn0J/QviDRg9Cx0YvQstCw0L3QuNGOJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ1JlbW92ZVNvcnRCdG5UaXRsZTogJ9Cj0LTQsNC70LjRgtGMJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ0FkZE5ld1NvcnRCdG5UaXRsZTogJ9CU0L7QsdCw0LLQuNGC0YwnLFxuICAgICAgICBQMTNTb3J0RGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWw6ICfQntCaJyxcbiAgICAgICAgUDEzU29ydERpYWxvZ0NhbmNlbEJ0bkxhYmVsOiAn0J7RgtC80LXQvdCwJyxcbiAgICAgICAgdG9vbGJhclNlYXJjaFBsYWNlaG9sZGVyOiAn0J/QvtC40YHQuicsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25DcmVhdGVCdXR0b25MYWJlbDogJ9Ch0L7Qt9C00LDRgtGMJyxcbiAgICAgICAgdG9vbGJhckFjdGlvblNhdmVCdXR0b25MYWJlbDogJ9Ch0L7RhdGA0LDQvdC40YLRjCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25DYW5jZWxCdXR0b25MYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICB0b29sYmFyQWN0aW9uU29ydEJ1dHRvblRpdGxlOiAn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25GaWx0ZXJCdXR0b25UaXRsZTogJ9Ck0LjQu9GM0YLRgCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlOiAn0JPRgNGD0L/Qv9C40YDQvtCy0LrQsCcsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25Db2x1bW5zQnV0dG9uVGl0bGU6ICfQodGC0L7Qu9Cx0YbRiycsXG4gICAgICAgIHRvb2xiYXJBY3Rpb25FeHBhbmRBbGxCdXR0b25UaXRsZTogJ0V4cGFuZCBhbGwnLFxuICAgICAgICB0b29sYmFyQWN0aW9uQ29sbGFwc2VBbGxCdXR0b25UaXRsZTogJ0NvbGxhcHNlIGFsbCcsXG4gICAgICAgIGZpbHRlckRpYWxvZ05vdEZpbHRlcmVkTGFiZWw6ICco0J3QtSDQvtGC0YTQuNC70YzRgtGA0L7QstCw0L3QviknLFxuICAgICAgICBmaWx0ZXJEaWFsb2dGaWx0ZXJCeUxhYmVsOiAn0KTQuNC70YzRgtGAOiB7e2ZpbHRlckxhYmVsfX0nLFxuICAgICAgICBmaWx0ZXJEaWFsb2dGaWx0ZXJUaXRsZTogJ9Ck0LjQu9GM0YLRgCcsXG4gICAgICAgIGZpbHRlckRpYWxvZ0ZpbHRlckJ5OiAn0KTQuNC70YzRgtGA0L7QstCw0YLRjCDQv9C+JyxcbiAgICAgICAgZmlsdGVyRGlhbG9nQ29uZmlybUJ0bkxhYmVsOiAn0J7QmicsXG4gICAgICAgIGZpbHRlckRpYWxvZ0NhbmNlbEJ0bkxhYmVsOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIGdyb3VwRGlhbG9nSGVhZGVyOiAn0JPRgNGD0L/Qv9C40YDQvtCy0LrQsCcsXG4gICAgICAgIGdyb3VwRGlhbG9nR3JvdXBPcmRlckhlYWRlcjogJ9Cf0L7RgNGP0LTQvtC6INCz0YDRg9C/0L/QuNGA0L7QstC60LgnLFxuICAgICAgICBncm91cERpYWxvZ0dyb3VwT3JkZXJBc2M6ICfQn9C+INCy0L7Qt9GA0LDRgdGC0LDQvdC40Y4nLFxuICAgICAgICBncm91cERpYWxvZ0dyb3VwT3JkZXJEZXNjOiAn0J/QviDRg9Cx0YvQstCw0L3QuNGOJyxcbiAgICAgICAgZ3JvdXBEaWFsb2dHcm91cEJ5SGVhZGVyOiAn0JPRgNGD0L/Qv9C40YDQvtCy0LDRgtGMINC/0L4nLFxuICAgICAgICBncm91cERpYWxvZ05vdEdyb3VwZWRMYWJlbDogJyjQndC1INGB0LPRgNGD0L/Qv9C40YDQvtCy0LDQvdC+KScsXG4gICAgICAgIGdyb3VwRGlhbG9nQ29uZmlybUJ0bkxhYmVsOiAn0J7QmicsXG4gICAgICAgIGdyb3VwRGlhbG9nQ2FuY2VsQnRuTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgc29ydERpYWxvZ0hlYWRlcjogJ9Ch0L7RgNGC0LjRgNC+0LLQsNGC0YwnLFxuICAgICAgICBzb3J0RGlhbG9nU29ydE9yZGVySGVhZGVyOiAn0J/QvtGA0Y/QtNC+0Log0YHQvtGA0YLQuNGA0L7QstC60LgnLFxuICAgICAgICBzb3J0RGlhbG9nU29ydE9yZGVyQXNjOiAn0J/QviDRgNC+0YHRgtGDJyxcbiAgICAgICAgc29ydERpYWxvZ1NvcnRPcmRlckRlc2M6ICfQv9C+INGD0LHRi9Cy0LDQvdC40Y4nLFxuICAgICAgICBzb3J0RGlhbG9nU29ydEJ5SGVhZGVyOiAn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9C+JyxcbiAgICAgICAgc29ydERpYWxvZ05vdFNvcnRlZExhYmVsOiAnKNCd0LUg0L7RgtGB0L7RgNGC0LjRgNC+0LLQsNC90L4pJyxcbiAgICAgICAgc29ydERpYWxvZ0NvbmZpcm1CdG5MYWJlbDogJ9Ce0JonLFxuICAgICAgICBzb3J0RGlhbG9nQ2FuY2VsQnRuTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgc2VsZWN0QWxsQ2hlY2tib3hMYWJlbDogJ1NlbGVjdCBhbGwnLFxuICAgICAgICBkZXNlbGVjdEFsbENoZWNrYm94TGFiZWw6ICdEZXNlbGVjdCBhbGwnLFxuICAgICAgICBkZXNlbGVjdFNpbmdsZVJvdzogJ1RvIGRlc2VsZWN0IHJvdywgcHJlc3MgU1BBQ0VCQVInLFxuICAgICAgICBzZWxlY3RTaW5nbGVSb3c6ICdUbyBzZWxlY3Qgcm93LCBwcmVzcyBTUEFDRUJBUidcbiAgICB9LFxuICAgIHBsYXRmb3JtVGh1bWJuYWlsOiB7XG4gICAgICAgIGRldGFpbHNHb3RvUHJldmlvdXNCdXR0b25UaXRsZTogJ9Cf0LXRgNC10LnRgtC4INC6INC/0YDQtdC00YvQtNGD0YnQtdC80YMnLFxuICAgICAgICBkZXRhaWxzR290b05leHRCdXR0b25UaXRsZTogJ9Cf0LXRgNC10LnRgtC4INC6INGB0LvQtdC00YPRjtGJ0LXQvNGDJyxcbiAgICAgICAgZGV0YWlsc0RpYWxvZ0Nsb3NlQnRuTGFiZWw6ICfQl9Cw0LrRgNGL0YLRjCcsXG4gICAgICAgIHJvbGVEZXNjcmlwdGlvbjogJ9CY0LfQvtCx0YDQsNC20LXQvdC40LUnXG4gICAgfSxcbiAgICBwbGF0Zm9ybVVwbG9hZENvbGxlY3Rpb246IHtcbiAgICAgICAgbW92ZVRvVGl0bGU6ICfQn9C10YDQtdC80LXRgdGC0LjRgtGMINCyJyxcbiAgICAgICAgbW92ZVRvVGl0bGVGb2xkZXI6ICfQn9Cw0L/QutCwJyxcbiAgICAgICAgbW92ZVRvTmV3Rm9sZGVyQnRuTGFiZWw6ICfQndC+0LLQsNGPINC/0LDQv9C60LAnLFxuICAgICAgICBtb3ZlVG9BbGxGaWxlc1N1YkhlYWRlckxhYmVsOiAn0JLRgdC1INGE0LDQudC70YsnLFxuICAgICAgICBtb3ZlVG9Db25maXJtQnRuOiAn0J/QtdGA0LXQvNC10YHRgtC40YLRjCcsXG4gICAgICAgIG1vdmVUb0Nsb3NlQnRuOiAn0J7RgtC80LXQvdC40YLRjCcsXG4gICAgICAgIG5ld0ZvbGRlclRpdGxlOiAn0J3QvtCy0LDRjyDQv9Cw0L/QutCwJyxcbiAgICAgICAgbmV3Rm9sZGVyQXRSb290SW5wdXRMYWJlbDogJ9Cd0LDQt9Cy0LDQvdC40LUg0L3QvtCy0L7QuSDQv9Cw0L/QutC4JyxcbiAgICAgICAgbmV3Rm9sZGVyQXRGb2xkZXJJbnB1dExhYmVsOiAn0J3QsNC30LLQsNC90LjQtSDQvdC+0LLQvtC5INC/0LDQv9C60Lgg0LLQvdGD0YLRgNC4IHt7IGZvbGRlck5hbWUgfScsXG4gICAgICAgIG5ld0ZvbGRlcklucHV0UGxhY2Vob2xkZXI6ICfQktCy0LXQtNC40YLQtSDQuNC80Y8uLicsXG4gICAgICAgIG5ld0ZvbGRlcklucHV0RXJyb3JMYWJlbDogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgY291bnQgPSBwYXJhbXNbJ2NvdW50J107XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoY291bnQpO1xuICAgICAgICAgICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCc0LDQutGB0LjQvNCw0LvRjNC90L4g0YDQsNC30YDQtdGI0LXQvdC+IDEg0YHQuNC80LLQvtC7YDtcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCc0LDQutGB0LjQvNCw0LvRjNC90L4g0YDQsNC30YDQtdGI0LXQvdC+ICR7Y291bnR9INGB0LjQvNCy0L7Qu9CwYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNCc0LDQutGB0LjQvNCw0LvRjNC90L4g0YDQsNC30YDQtdGI0LXQvdC+ICR7Y291bnR9INGB0LjQvNCy0L7Qu9C+0LJgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBuZXdGb2xkZXJEaWFsb2dDcmVhdGVCdG5MYWJlbDogJ9Ch0L7Qt9C00LDRgtGMJyxcbiAgICAgICAgbmV3Rm9sZGVyRGlhbG9nQ2FuY2VsQnRuTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcbiAgICAgICAgYnJlYWRjcnVtYkxhYmVsQWxsRmlsZXM6ICfQktGB0LUg0YTQsNC50LvRiycsXG4gICAgICAgIGJyZWFkY3J1bWJMYWJlbEFsbEZpbGVzV2l0aFRvdGFsOiAn0JLRgdC1INGE0LDQudC70YsgKHt7IHRvdGFsIH19KScsXG4gICAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAn0J/QvtC40YHQuicsXG4gICAgICAgIGFkZEJ0bkxhYmVsOiAn0JTQvtCx0LDQstC40YLRjCcsXG4gICAgICAgIG5ld0ZvbGRlckJ0bkxhYmVsOiAn0J3QvtCy0LDRjyDQv9Cw0L/QutCwJyxcbiAgICAgICAgbW92ZVRvQnRuTGFiZWw6ICfQn9C10YDQtdC80LXRgdGC0LjRgtGMINCyJyxcbiAgICAgICAgZG93bmxvYWRCdG5MYWJlbDogJ9CX0LDQs9GA0YPQt9C40YLRjCcsXG4gICAgICAgIHVwZGF0ZVZlcnNpb25CdG5MYWJlbDogJ9Ce0LHQvdC+0LLQuNGC0Ywg0LLQtdGA0YHQuNGOJyxcbiAgICAgICAgcmVtb3ZlQnRuTGFiZWw6ICfQo9C00LDQu9C40YLRjCcsXG4gICAgICAgIGZvbGRlckljb25UaXRsZTogJ9CX0L3QsNGH0L7QuiDQv9Cw0L/QutC4JyxcbiAgICAgICAgZmlsZUljb25UaXRsZTogJ9CX0L3QsNGH0L7QuiDRhNCw0LnQu9CwJyxcbiAgICAgICAgZWRpdEZpbGVOYW1lSW5wdXRQbGFjZWhvbGRlcjogJ9CS0LLQtdC00LjRgtC1INC90LDQt9Cy0LDQvdC40LUnLFxuICAgICAgICBlZGl0RmlsZU5hbWVGaWxlQWxyZWFkeUV4aXN0c0Vycm9yOiAn0KTQsNC50Lsg0YEg0YLQsNC60LjQvCDQvdCw0LfQstCw0L3QuNC10Lwg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJyxcbiAgICAgICAgZWRpdEZpbGVOYW1lRm9sZGVyQWxyZWFkeUV4aXN0c0Vycm9yOiAn0J/QsNC/0LrQsCDRgSDRgtCw0LrQuNC8INC40LzQtdC90LXQvCDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YInLFxuICAgICAgICBpdGVtU3RhdHVzU3VjY2Vzc2Z1bDogJ9Cj0YHQv9C10YjQvdC+JyxcbiAgICAgICAgaXRlbVN0YXR1c1Vuc3VjY2Vzc2Z1bDogJ9Cd0LXRg9C00LDRh9C90L4nLFxuICAgICAgICB1cGxvYWROZXdGaWxlQWZ0ZXJGYWlsQWN0aW9uOiAn0JLRi9C/0L7Qu9C90LjRgtGMJyxcbiAgICAgICAgY2FuY2VsVXBsb2FkTmV3RmlsZUFjdGlvbjogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBpdGVtTWVudUJ0blRpdGxlOiAn0JHQvtC70YzRiNC1JyxcbiAgICAgICAgZHJhZ0Ryb3BBcmVhVGV4dDogJ9Cf0LXRgNC10YLQsNGJ0LjRgtC1INGE0LDQudC70Ysg0LTQu9GPINC30LDQs9GA0YPQt9C60LgnLFxuICAgICAgICBub0RhdGFUZXh0OiAn0KTQsNC50LvRiyDQvdC1INC90LDQudC00LXQvdGLJyxcbiAgICAgICAgbm9EYXRhRGVzY3JpcHRpb246ICfQn9C10YDQtdGC0LDRidC40YLQtSDRhNCw0LnQu9GLINC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INC40LvQuCDQstC+0YHQv9C+0LvRjNC30YPQudGC0LXRgdGMINC60L3QvtC/0LrQvtC5IMKr0JTQvtCx0LDQstC40YLRjMK7LicsXG4gICAgICAgIHBhZ2luYXRpb25Ub3RhbDogJ9Cf0L7QutCw0LfQsNC90L4ge3sgZnJvbSB9fS17eyB0byB9fSDQuNC3IHt7IHRvdGFsIH19JyxcbiAgICAgICAgcmVzdWx0c1BlclBhZ2U6ICfQoNC10LfRg9C70YzRgtCw0YLRiyDQvdCwINGB0YLRgNCw0L3QuNGG0LUnLFxuICAgICAgICBtZXNzYWdlQ3JlYXRlRmFpbGVkOiAn0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCB7eyBmb2xkZXJOYW1lIH19LicsXG4gICAgICAgIG1lc3NhZ2VDcmVhdGVTdWNjZXNzOiAne3sgZm9sZGVyTmFtZSB9fSDRg9GB0L/QtdGI0L3QviDRgdC+0LfQtNCw0L3Qvi4nLFxuICAgICAgICBtZXNzYWdlVXBkYXRlVmVyc2lvbkZhaWxlZDogJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQstC10YDRgdC40Y4ge3sgZm9sZGVyTmFtZSB9fS4nLFxuICAgICAgICBtZXNzYWdlVXBkYXRlVmVyc2lvblN1Y2Nlc3M6ICfQktC10YDRgdC40Y8ge3sgZm9sZGVyTmFtZSB9fSDQvtCx0L3QvtCy0LvQtdC90LAuJyxcbiAgICAgICAgbWVzc2FnZUZpbGVSZW5hbWVGYWlsZWQ6ICfQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMIFwie3sgZnJvbSB9fVwiINCyIFwie3sgdG8gfX0uXCInLFxuICAgICAgICBtZXNzYWdlRmlsZVJlbmFtZVN1Y2Nlc3M6ICd7eyBmcm9tIH19XCIg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90L4g0LIgXCJ7eyB0byB9fVwiLicsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGb2xkZXJzQW5kRmlsZXNGYWlsZWQ6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBg0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INC4ICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50ID0gcGFyYW1zWydmaWxlc0NvdW50J107XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpbGVzQ291bnRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnMSDRhNCw0LnQuyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudH0g0YTQsNC50LvQsGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudCB8fCAwfSDRhNCw0LnQu9C+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9LmAsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGb2xkZXJzQW5kRmlsZXNTdWNjZXNzOiAocGFyYW1zKSA9PlxuICAgICAgICAgICAgYCR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnQgPSBwYXJhbXNbJ2ZvbGRlcnNDb3VudCddO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhmb2xkZXJzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzEg0L/QsNC/0LrRgyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50fSDQv9Cw0L/QutC4YDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmb2xkZXJzQ291bnQgfHwgMH0g0L/QsNC/0L7QumA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LggJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0YPQtNCw0LvQtdC90L4uYCxcbiAgICAgICAgbWVzc2FnZVJlbW92ZUZvbGRlcnNGYWlsZWQ6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBg0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9LmAsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGb2xkZXJzU3VjY2VzczogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGDQo9C00LDQu9C10L3QviAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9LmAsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGaWxlc0ZhaWxlZDogJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YTQsNC50LvRiyB7eyBmaWxlc0NvdW50IH19LicsXG4gICAgICAgIG1lc3NhZ2VSZW1vdmVGaWxlc1N1Y2Nlc3M6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBg0KPQtNCw0LvQtdC90L4gJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0uYCxcbiAgICAgICAgbWVzc2FnZVJlbW92ZUZpbGVPckZvbGRlckZhaWxlZDogJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywge3sgbmFtZSB9fS4nLFxuICAgICAgICBtZXNzYWdlUmVtb3ZlRmlsZU9yRm9sZGVyU3VjY2VzczogJ3t7IG5hbWUgfX0g0YPQtNCw0LvQtdC90L4uJyxcbiAgICAgICAgbWVzc2FnZU1vdmVGb2xkZXJzQW5kRmlsZXNGYWlsZWQ6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBg0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnQgPSBwYXJhbXNbJ2ZvbGRlcnNDb3VudCddO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhmb2xkZXJzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzEg0L/QsNC/0LrRgyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50fSDQv9Cw0L/QutC4YDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmb2xkZXJzQ291bnQgfHwgMH0g0L/QsNC/0L7QumA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LggJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LIge3sgdG8gfX0uYCxcbiAgICAgICAgbWVzc2FnZU1vdmVGb2xkZXJzQW5kRmlsZXNTdWNjZXNzOiAocGFyYW1zKSA9PlxuICAgICAgICAgICAgYCR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnQgPSBwYXJhbXNbJ2ZvbGRlcnNDb3VudCddO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhmb2xkZXJzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzEg0L/QsNC/0LrRgyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50fSDQv9Cw0L/QutC4YDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmb2xkZXJzQ291bnQgfHwgMH0g0L/QsNC/0L7QumA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LggJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0L/QtdGA0LXQvNC10YnQtdC90Ysg0LIge3sgdG8gfX0uYCxcbiAgICAgICAgbWVzc2FnZU1vdmVGb2xkZXJzRmFpbGVkOiAocGFyYW1zKSA9PlxuICAgICAgICAgICAgYNCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC10YHRgtC40YLRjCAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INCyIHt7IHRvIH19LmAsXG4gICAgICAgIG1lc3NhZ2VNb3ZlRm9sZGVyc1N1Y2Nlc3M6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudCA9IHBhcmFtc1snZm9sZGVyc0NvdW50J107XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZvbGRlcnNDb3VudCk7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChmb2xkZXJzQ291bnRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnMSDQv9Cw0L/QutGDJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmb2xkZXJzQ291bnR9INC/0LDQv9C60LhgO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudCB8fCAwfSDQv9Cw0L/QvtC6YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpfSDQv9C10YDQtdC80LXRidC10L0g0LIge3sgdG8gfX0uYCxcbiAgICAgICAgbWVzc2FnZU1vdmVGaWxlc0ZhaWxlZDogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGDQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0YwgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LIge3sgdG8gfX0uYCxcbiAgICAgICAgbWVzc2FnZU1vdmVGaWxlc1N1Y2Nlc3M6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0L/QtdGA0LXQvNC10YnQtdC9INCyIHt7IHRvIH19LmAsXG4gICAgICAgIG1lc3NhZ2VNb3ZlRmlsZU9yRm9sZGVyRmFpbGVkOiAn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMIHt7IG5hbWUgfX0g0LIge3sgdG8gfX0uJyxcbiAgICAgICAgbWVzc2FnZU1vdmVGaWxlT3JGb2xkZXJTdWNjZXNzOiAne3sgbmFtZSB9fSDQv9C10YDQtdC80LXRidC10L0g0LIge3sgdG8gfX0uJyxcbiAgICAgICAgbWVzc2FnZU1vdmVSb290Rm9sZGVyc0FuZEZpbGVzRmFpbGVkOiAocGFyYW1zKSA9PlxuICAgICAgICAgICAgYNCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC10YHRgtC40YLRjCAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INC4ICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50ID0gcGFyYW1zWydmaWxlc0NvdW50J107XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpbGVzQ291bnRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnMSDRhNCw0LnQuyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudH0g0YTQsNC50LvQsGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudCB8fCAwfSDRhNCw0LnQu9C+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INCy0L4g0LLRgdC1INGE0LDQudC70YsuYCxcbiAgICAgICAgbWVzc2FnZU1vdmVSb290Rm9sZGVyc0FuZEZpbGVzU3VjY2VzczogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INC4ICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50ID0gcGFyYW1zWydmaWxlc0NvdW50J107XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpbGVzQ291bnRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnMSDRhNCw0LnQuyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudH0g0YTQsNC50LvQsGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudCB8fCAwfSDRhNCw0LnQu9C+0LJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INC/0LXRgNC10LzQtdGJ0LXQvdGLINC60L4g0LLRgdC10Lwg0YTQsNC50LvQsNC8LmAsXG4gICAgICAgIG1lc3NhZ2VNb3ZlUm9vdEZvbGRlcnNGYWlsZWQ6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBg0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMICR7KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnQgPSBwYXJhbXNbJ2ZvbGRlcnNDb3VudCddO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2Vzcyhmb2xkZXJzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzEg0L/QsNC/0LrRgyc7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50fSDQv9Cw0L/QutC4YDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmb2xkZXJzQ291bnQgfHwgMH0g0L/QsNC/0L7QumA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LLQviDQstGB0LUg0YTQsNC50LvRiy5gLFxuICAgICAgICBtZXNzYWdlTW92ZVJvb3RGb2xkZXJzU3VjY2VzczogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGAkeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVyc0NvdW50ID0gcGFyYW1zWydmb2xkZXJzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZm9sZGVyc0NvdW50KTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINC/0LDQv9C60YMnO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZvbGRlcnNDb3VudH0g0L/QsNC/0LrQuGA7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7Zm9sZGVyc0NvdW50IHx8IDB9INC/0LDQv9C+0LpgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCl9INC/0LXRgNC10LzQtdGJ0LXQvSDQutC+INCy0YHQtdC8INGE0LDQudC70LDQvC5gLFxuICAgICAgICBtZXNzYWdlTW92ZVJvb3RGaWxlc0ZhaWxlZDogKHBhcmFtcykgPT5cbiAgICAgICAgICAgIGDQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0YwgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0LLQviDQstGB0LUg0YTQsNC50LvRiy5gLFxuICAgICAgICBtZXNzYWdlTW92ZVJvb3RGaWxlc1N1Y2Nlc3M6IChwYXJhbXMpID0+XG4gICAgICAgICAgICBgJHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50T3B0aW9uID0gcGx1cmFsaXphdGlvbi5wcm9jZXNzKGZpbGVzQ291bnQpO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmlsZXNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdvbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7JztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50IHx8IDB9INGE0LDQudC70L7QsmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKX0g0L/QtdGA0LXQvNC10YnQtdC90Ysg0LrQviDQstGB0LXQvCDRhNCw0LnQu9Cw0LwuYCxcbiAgICAgICAgbWVzc2FnZU1vdmVSb290RmlsZU9yRm9sZGVyRmFpbGVkOiAn0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC80LXRgdGC0LjRgtGMIHt7IG5hbWUgfX0g0LLQviDQstGB0LUg0YTQsNC50LvRiy4nLFxuICAgICAgICBtZXNzYWdlTW92ZVJvb3RGaWxlT3JGb2xkZXJTdWNjZXNzOiAne3sgbmFtZSB9fSDQv9C10YDQtdC80LXRidC10L0g0LrQviDQstGB0LXQvCDRhNCw0LnQu9Cw0LwuJyxcbiAgICAgICAgbWVzc2FnZUZpbGVUeXBlTWlzbWF0Y2hQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7INC40LzQtdC10YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGC0LjQvy4g0KDQsNC30YDQtdGI0LXQvdC90YvQtSDRgtC40L/Rizoge3sgYWxsb3dlZFR5cGVzIH19Lic7XG4gICAgICAgICAgICAgICAgY2FzZSAnZmV3JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpbGVzQ291bnR9INGE0LDQudC70LAg0LjQvNC10Y7RgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/LiDQoNCw0LfRgNC10YjQtdC90L3Ri9C1INGC0LjQv9GLOiB7eyBhbGxvd2VkVHlwZXMgfX0uYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudCB8fCAwfSDRhNCw0LnQu9C+0LIg0LjQvNC10Y7RgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/LiDQoNCw0LfRgNC10YjQtdC90L3Ri9C1INGC0LjQv9GLOiB7eyBhbGxvd2VkVHlwZXMgfX0uYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWVzc2FnZUZpbGVUeXBlTWlzbWF0Y2hTaW5ndWxhcjpcbiAgICAgICAgICAgICfQpNCw0LnQuyBcInt7IGZpbGVOYW1lIH19XCIg0LjQvNC10LXRgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/LiDQoNCw0LfRgNC10YjQtdC90L3Ri9C1INGC0LjQv9GLOiB7eyBhbGxvd2VkVHlwZXMgfX0uJyxcbiAgICAgICAgbWVzc2FnZUZpbGVTaXplRXhjZWVkZWRQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzQ291bnQgPSBwYXJhbXNbJ2ZpbGVzQ291bnQnXTtcbiAgICAgICAgICAgIGNvbnN0IGZvbGRlcnNDb3VudE9wdGlvbiA9IHBsdXJhbGl6YXRpb24ucHJvY2VzcyhmaWxlc0NvdW50KTtcbiAgICAgICAgICAgIHN3aXRjaCAoZm9sZGVyc0NvdW50T3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnb25lJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcxINGE0LDQudC7INC/0YDQtdCy0YvRiNCw0Y7RgiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAuINCg0LDQt9GA0LXRiNC10L0g0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwOiB7eyBtYXhGaWxlU2l6ZSB9fS4nO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zldyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWxlc0NvdW50fSDRhNCw0LnQu9CwINC/0YDQtdCy0YvRiNCw0Y7RgiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAuINCg0LDQt9GA0LXRiNC10L0g0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwOiB7eyBtYXhGaWxlU2l6ZSB9fS5gO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzQ291bnQgfHwgMFxuICAgICAgICAgICAgICAgICAgICB9INGE0LDQudC70L7QsiDQv9GA0LXQstGL0YjQsNGO0YIg0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC9INC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsDoge3sgbWF4RmlsZVNpemUgfX0uYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWVzc2FnZUZpbGVTaXplRXhjZWVkZWRTaW5ndWxhcjpcbiAgICAgICAgICAgICfQpNCw0LnQuyBcInt7IGZpbGVOYW1lIH19XCIg0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsC4g0KDQsNC30YDQtdGI0LXQvSDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LA6IHt7IG1heEZpbGVTaXplIH19LicsXG4gICAgICAgIG1lc3NhZ2VGaWxlTmFtZUxlbmd0aEV4Y2VlZGVkUGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlc0NvdW50ID0gcGFyYW1zWydmaWxlc0NvdW50J107XG4gICAgICAgICAgICBjb25zdCBmb2xkZXJzQ291bnRPcHRpb24gPSBwbHVyYWxpemF0aW9uLnByb2Nlc3MoZmlsZXNDb3VudCk7XG4gICAgICAgICAgICBzd2l0Y2ggKGZvbGRlcnNDb3VudE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ29uZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnMSDRhNCw0LnQuyDQv9GA0LXQstGL0YHQuNC70Lgg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINC00LvQuNC90YMg0LjQvNC10L3QuCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC90LAg0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LA6IHt7IG1heEZpbGVuYW1lTGVuZ3RoIH19INGB0LjQvNCy0L7Qu9C+0LIuJztcbiAgICAgICAgICAgICAgICBjYXNlICdmZXcnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsZXNDb3VudH0g0YTQsNC50LvQsCDQv9GA0LXQstGL0YHQuNC70Lgg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINC00LvQuNC90YMg0LjQvNC10L3QuCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC90LAg0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LA6IHt7IG1heEZpbGVuYW1lTGVuZ3RoIH19INGB0LjQvNCy0L7Qu9C+0LIuYDtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlc0NvdW50IHx8IDBcbiAgICAgICAgICAgICAgICAgICAgfSDRhNCw0LnQu9C+0LIg0L/RgNC10LLRi9GB0LjQu9C4INC80LDQutGB0LjQvNCw0LvRjNC90YPRjiDQtNC70LjQvdGDINC40LzQtdC90Lgg0YTQsNC50LvQsC4g0KDQsNC30YDQtdGI0LXQvdCwINC00LvQuNC90LAg0LjQvNC10L3QuCDRhNCw0LnQu9CwOiB7eyBtYXhGaWxlbmFtZUxlbmd0aCB9fSDRgdC40LzQstC+0LvQvtCyLmA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2VGaWxlTmFtZUxlbmd0aEV4Y2VlZGVkU2luZ3VsYXI6XG4gICAgICAgICAgICAn0JjQvNGPIFwie3sgZmlsZU5hbWUgfX1cIiDQv9GA0LXQstGL0YjQsNC10YIg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINC00LvQuNC90YMg0LjQvNC10L3QuCDRhNCw0LnQu9CwLiDQoNCw0LfRgNC10YjQtdC90LAg0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LA6IHt7IG1heEZpbGVuYW1lTGVuZ3RoIH19INGB0LjQvNCy0L7Qu9C+0LIuJ1xuICAgIH0sXG4gICAgcGxhdGZvcm1XaXphcmRHZW5lcmF0b3I6IHsgc3VtbWFyeVNlY3Rpb25FZGl0U3RlcDogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMJyB9LFxuICAgIHBsYXRmb3JtTWVzc2FnZVBvcG92ZXI6IHtcbiAgICAgICAgYWxsRXJyb3JzOiAn0JLRgdC1JyxcbiAgICAgICAgZGVmYXVsdEVycm9yczoge1xuICAgICAgICAgICAgZW1haWw6ICfQl9C90LDRh9C10L3QuNC1INC/0L7Qu9GPINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YTQvtGA0LzQsNGC0YMgRS1tYWlsJyxcbiAgICAgICAgICAgIG1heDogJ9CX0L3QsNGH0LXQvdC40LUg0L/QvtC70Y8g0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90L4g0LTQvtC/0YPRgdGC0LjQvNC+0LUnLFxuICAgICAgICAgICAgbWF4TGVuZ3RoOiAn0JTQu9C40L3QsCDQt9C90LDRh9C10L3QuNGPINC/0L7Qu9GPINC/0YDQtdCy0YvRiNCw0LXRgiDQvNCw0LrRgdC40LzQsNC70YzQvdC+INC00L7Qv9GD0YHRgtC40LzQvtC1JyxcbiAgICAgICAgICAgIG1pbjogJ9CX0L3QsNGH0LXQvdC40LUg0L/QvtC70Y8g0LzQtdC90YzRiNC1INC80LjQvdC40LzQsNC70YzQvdC+INC00L7Qv9GD0YHRgtC40LzQvtCz0L4nLFxuICAgICAgICAgICAgbWluTGVuZ3RoOiAn0JTQu9C40L3QsCDQt9C90LDRh9C10L3QuNGPINC/0L7Qu9GPINC80LXQvdGM0YjQtSDQvNCw0LrRgdC40LzQsNC70YzQvdC+INC00L7Qv9GD0YHRgtC40LzQvtCz0L4nLFxuICAgICAgICAgICAgcGF0dGVybjogJ9Cf0L7Qu9C1INC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YTQvtGA0LzQsNGC0YMnLFxuICAgICAgICAgICAgcmVxdWlyZWQ6ICfQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0L/QvtC70LUnLFxuICAgICAgICAgICAgcmVxdWlyZWRUcnVlOiAn0J7QsdGP0LfQsNGC0LXQu9GM0L3QvtC1INC/0L7Qu9C1J1xuICAgICAgICB9XG4gICAgfSxcbiAgICBwbGF0Zm9ybVZhcmlhbnRNYW5hZ2VtZW50OiB7XG4gICAgICAgIG1hbmFnZTogJ9Cj0L/RgNCw0LLQu9C10L3QuNC1JyxcbiAgICAgICAgc2F2ZUFzOiAn0KHQvtGF0YDQsNC90LjRgtGMINC60LDQuicsXG4gICAgICAgIHNhdmVWaWV3OiAn0KHQvtGF0YDQsNC90LjRgtGMINCS0LjQtCcsXG4gICAgICAgIHNhdmU6ICfQodC+0YXRgNCw0L3QuNGC0YwnLFxuICAgICAgICBteVZpZXdzOiAn0JzQvtC4INCS0LjQtNGLJyxcbiAgICAgICAgdmlldzogJ9CS0LjQtCcsXG4gICAgICAgIHNldEFzRGVmYXVsdDogJ9Cj0YHRgtCw0L3QvtCy0LjRgtGMINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJyxcbiAgICAgICAgcHVibGljOiAn0J/Rg9Cx0LvQuNGH0L3Ri9C5JyxcbiAgICAgICAgYXBwbHlBdXRvbWF0aWNhbGx5OiAn0J/RgNC40LzQtdC90Y/RgtGMINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4JyxcbiAgICAgICAgcmVxdWlyZWRGaWVsZEVycm9yOiAn0J7QsdGP0LfQsNGC0LXQu9GM0L3QvtC1INC/0L7Qu9C1LicsXG4gICAgICAgIG5hbWVUYWtlbkZpZWxkRXJyb3I6ICfQktC40LQg0YEg0YLQsNC60LjQvCDQuNC80LXQvdC10Lwg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCLiDQktCy0LXQtNC40YLQtSDQtNGA0YPQs9C+0LUg0LjQvNGPLicsXG4gICAgICAgIGNhbmNlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxuICAgICAgICBtYW5hZ2VWaWV3czogJ9Cj0L/RgNCw0LLQu9C10L3QuNC1INCy0LjQtNCw0LzQuCcsXG4gICAgICAgIG1hcmtBc0Zhdm91cml0ZTogJ9Ce0YLQvNC10YLQuNGC0Ywg0LrQsNC6INC40LfQsdGA0LDQvdC90L7QtScsXG4gICAgICAgIHNoYXJpbmc6ICfQodC+0LLQvNC10YHRgtC90L7QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtScsXG4gICAgICAgIGRlZmF1bHQ6ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjicsXG4gICAgICAgIGNyZWF0ZWRCeTogJ9Ch0L7Qt9C00LDQuyjQsCknLFxuICAgICAgICByZW1vdmVWYXJpYW50OiAn0KPQtNCw0LvQuNGC0Ywg0LLQuNC0JyxcbiAgICAgICAgc2VhcmNoOiAn0J/QvtC40YHQuicsXG4gICAgICAgIGFjY2VzczogeyBwdWJsaWM6ICfQn9GD0LHQu9C40YfQvdC+0LUnLCBwcml2YXRlOiAn0J/RgNC40LLQsNGC0L3QvtC1JyB9XG4gICAgfSxcbiAgICBwbGF0Zm9ybVNlbGVjdDogeyBzZWxlY3RPcHRpb25MYWJlbDogJ9CS0YvQsdC10YDQuNGC0LUg0LLQsNGA0LjQsNC90YInIH0sXG4gICAgZm5TbGlkZXI6IHtcbiAgICAgICAgbWluTWF4RGV0YWlsczogJ9Cc0LjQvdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgdC70LDQudC00LXRgNCwIHt7IG1pbiB9fSwg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUge3sgbWF4IH19JyxcbiAgICAgICAgdmFsdWVtaW5EZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7IHZhbHVlIH19JyxcbiAgICAgICAgdmFsdWVtYXhEZXRhaWxzOiAn0JfQvdCw0YfQtdC90LjQtSDRgNCw0LLQvdC+IHt7IHZhbHVlIH19JyxcbiAgICAgICAgdmFsdWVOb3dEZXRhaWxzOiAn0KLQtdC60YPRidC10LUg0LfQvdCw0YfQtdC90LjQtToge3sgdmFsdWUgfX0nXG4gICAgfSxcbiAgICBmblN3aXRjaDogeyBzZW1hbnRpY0FjY2VwdExhYmVsOiAn0J/RgNC40L3Rj9GC0YwnLCBzZW1hbnRpY0RlY2xpbmVMYWJlbDogJ9Ce0YLQutC70L7QvdC40YLRjCcgfSxcbiAgICBjb3JlVHJlZTogeyBleHBhbmQ6ICfQoNCw0LfQstC10YDQvdGD0YLRjCDRg9C30LXQuycsIGNvbGxhcHNlOiAn0KHQstC10YDQvdGD0YLRjCDRg9C30LXQuycsIG5vRGF0YTogJ9Cd0LXRgiDQtNCw0L3QvdGL0YUnIH1cbn07XG4iXX0=
|