ngx-histaff-alpha 0.1.7 → 0.1.8

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.
@@ -0,0 +1,387 @@
1
+ import { EnumTranslateKey } from "alpha-global-constants";
2
+ import { EnumIconClass } from "../enum/EnumIconClass";
3
+ import { EnumStyleButtonClass } from "../enum/EnumStyleButtonClass";
4
+ import { EnumCoreButtonVNSCode } from "../libraries/core-button-group-vns/core-button-group-vns/EnumCoreButtonVNSCode";
5
+ export const CORE_VNS_BUTTONS = [
6
+ /**********************
7
+ PORTAL_GROUP (dừng phát triển)
8
+ ***********************/
9
+ {
10
+ code: EnumCoreButtonVNSCode.CANCEL,
11
+ styleClass: EnumStyleButtonClass.CANCEL,
12
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_CANCEL,
13
+ isHeader: false
14
+ },
15
+ {
16
+ code: EnumCoreButtonVNSCode.SAVE,
17
+ styleClass: EnumStyleButtonClass.SAVE,
18
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_SAVE,
19
+ isHeader: false
20
+ },
21
+ {
22
+ code: EnumCoreButtonVNSCode.SEND,
23
+ styleClass: EnumStyleButtonClass.SEND,
24
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_SEND,
25
+ isHeader: false
26
+ },
27
+ {
28
+ code: EnumCoreButtonVNSCode.EDIT,
29
+ styleClass: EnumStyleButtonClass.EDIT,
30
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_EDIT,
31
+ isHeader: false
32
+ },
33
+ {
34
+ code: EnumCoreButtonVNSCode.SAVE_PASSWORD,
35
+ styleClass: EnumStyleButtonClass.SAVE_PASSWORD,
36
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_SAVE,
37
+ isHeader: false
38
+ },
39
+ {
40
+ code: EnumCoreButtonVNSCode.CREATE,
41
+ styleClass: EnumStyleButtonClass.ADD,
42
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_ADD,
43
+ isHeader: false
44
+ },
45
+ /**********************
46
+ HEADER_GROUP
47
+ ***********************/
48
+ {
49
+ code: EnumCoreButtonVNSCode.HEADER_VIEW_ABSTRACT,
50
+ iconClass: EnumIconClass.FEATHER_VIEW,
51
+ styleClass: EnumStyleButtonClass.EDIT,
52
+ caption: EnumTranslateKey.UI_BUTTON_HEADER_VIEW_ABSTRACT,
53
+ isHeader: true,
54
+ hidden: true
55
+ },
56
+ {
57
+ code: EnumCoreButtonVNSCode.HEADER_EDIT,
58
+ iconClass: EnumIconClass.FEATHER_EDIT,
59
+ styleClass: EnumStyleButtonClass.EDIT,
60
+ caption: EnumTranslateKey.UI_BUTTON_EDIT,
61
+ isHeader: true
62
+ },
63
+ {
64
+ code: EnumCoreButtonVNSCode.HEADER_SAVE,
65
+ iconClass: EnumIconClass.FEATHER_SAVE,
66
+ styleClass: EnumStyleButtonClass.HEADER_SAVE,
67
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_SAVE,
68
+ isHeader: true
69
+ },
70
+ {
71
+ code: EnumCoreButtonVNSCode.HEADER_CANCEL,
72
+ iconClass: EnumIconClass.FEATHER_CANCEL,
73
+ styleClass: EnumStyleButtonClass.HEADER_SAVE,
74
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_CANCEL,
75
+ isHeader: true
76
+ },
77
+ {
78
+ code: EnumCoreButtonVNSCode.HEADER_COPY,
79
+ iconClass: EnumIconClass.FEATHER_COPY,
80
+ styleClass: EnumStyleButtonClass.HEADER_SAVE,
81
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_COPY,
82
+ isHeader: true
83
+ },
84
+ {
85
+ code: EnumCoreButtonVNSCode.HEADER_ACTIVATE,
86
+ iconClass: EnumIconClass.CUSTOM_CHECK,
87
+ styleClass: EnumStyleButtonClass.ACTIVATE,
88
+ caption: EnumTranslateKey.UI_BUTTON_ACTIVATE,
89
+ isHeader: true
90
+ },
91
+ {
92
+ code: EnumCoreButtonVNSCode.HEADER_INACTIVATE,
93
+ iconClass: EnumIconClass.CUSTOM_UNCHECK,
94
+ styleClass: EnumStyleButtonClass.INACTIVATE,
95
+ caption: EnumTranslateKey.UI_BUTTON_INACTIVATE,
96
+ isHeader: true
97
+ },
98
+ {
99
+ code: EnumCoreButtonVNSCode.HEADER_DELETE,
100
+ iconClass: EnumIconClass.FEATHER_DELETE,
101
+ styleClass: EnumStyleButtonClass.DELETE,
102
+ caption: EnumTranslateKey.UI_BUTTON_DELETE,
103
+ isHeader: true
104
+ },
105
+ {
106
+ code: EnumCoreButtonVNSCode.HEADER_PRINT,
107
+ iconClass: EnumIconClass.FEATHER_PRINT,
108
+ styleClass: EnumStyleButtonClass.PRINT,
109
+ caption: EnumTranslateKey.UI_BUTTON_PRINT,
110
+ isHeader: true
111
+ },
112
+ {
113
+ code: EnumCoreButtonVNSCode.HEADER_PRINT_2C_98,
114
+ iconClass: EnumIconClass.FEATHER_PRINT_2C,
115
+ styleClass: EnumStyleButtonClass.PRINT_2C,
116
+ caption: EnumTranslateKey.UI_BUTTON_PRINT_2C_98,
117
+ isHeader: true
118
+ },
119
+ {
120
+ code: EnumCoreButtonVNSCode.HEADER_PRINT_2C,
121
+ iconClass: EnumIconClass.FEATHER_PRINT_2C,
122
+ styleClass: EnumStyleButtonClass.PRINT_2C,
123
+ caption: EnumTranslateKey.UI_BUTTON_PRINT_2C,
124
+ isHeader: true
125
+ },
126
+ {
127
+ code: EnumCoreButtonVNSCode.HEADER_PRINT_2C_2008,
128
+ iconClass: EnumIconClass.FEATHER_PRINT,
129
+ styleClass: EnumStyleButtonClass.PRINT,
130
+ caption: EnumTranslateKey.UI_BUTTON_PRINT_2C_2008,
131
+ isHeader: true
132
+ },
133
+ {
134
+ code: EnumCoreButtonVNSCode.HEADER_DOWNLOAD,
135
+ iconClass: EnumIconClass.FEATHER_DOWNLOAD,
136
+ styleClass: EnumStyleButtonClass.DOWNLOAD,
137
+ caption: EnumTranslateKey.UI_BUTTON_EXPORT_EXCEL_TEMPLATE,
138
+ isHeader: true
139
+ },
140
+ {
141
+ code: EnumCoreButtonVNSCode.HEADER_UPLOAD,
142
+ iconClass: EnumIconClass.FEATHER_UPLOAD,
143
+ styleClass: EnumStyleButtonClass.UPLOAD,
144
+ caption: EnumTranslateKey.UI_BUTTON_IMPORT_EXCEL_TEMPLATE,
145
+ isHeader: true
146
+ },
147
+ {
148
+ code: EnumCoreButtonVNSCode.HEADER_EXPORTEXEL,
149
+ iconClass: EnumIconClass.CUSTOM_DOWNLOAD_EXEL,
150
+ styleClass: EnumStyleButtonClass.DOWNLOAD,
151
+ caption: EnumTranslateKey.UI_BUTTON_EXPORT_TO_EXCEL,
152
+ isHeader: true
153
+ },
154
+ {
155
+ code: EnumCoreButtonVNSCode.HEADER_DROP,
156
+ iconClass: EnumIconClass.FEATHER_DROP,
157
+ styleClass: EnumStyleButtonClass.ADD,
158
+ caption: '',
159
+ isHeader: true
160
+ },
161
+ {
162
+ code: EnumCoreButtonVNSCode.HEADER_DECLAREINSARISING,
163
+ iconClass: EnumIconClass.FEATHER_FILE,
164
+ styleClass: EnumStyleButtonClass.DECLAREINSARISING,
165
+ caption: EnumTranslateKey.UI_BUTTON_DECLARE_INS_ARISING,
166
+ isHeader: true
167
+ },
168
+ {
169
+ code: EnumCoreButtonVNSCode.HEADER_GETSHIFTDEFAULT,
170
+ styleClass: EnumStyleButtonClass.GETSHIFTDEFAULT,
171
+ caption: EnumTranslateKey.UI_GRID_FORM_BUTTON_GET_SHIFT_DEFAULT,
172
+ isHeader: true
173
+ },
174
+ {
175
+ code: EnumCoreButtonVNSCode.HEADER_INFORMATION,
176
+ styleClass: EnumStyleButtonClass.INFORMATION,
177
+ caption: EnumTranslateKey.UI_GRID_FORM_BUTTON_INFORMATION,
178
+ iconClass: EnumIconClass.FEATHER_INFORMATION,
179
+ isHeader: true
180
+ },
181
+ {
182
+ code: EnumCoreButtonVNSCode.HEADER_LOCK,
183
+ styleClass: EnumStyleButtonClass.LOCK,
184
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_LOCK,
185
+ iconClass: EnumIconClass.FEATHER_LOCK,
186
+ isHeader: true
187
+ },
188
+ {
189
+ code: EnumCoreButtonVNSCode.HEADER_UNLOCK,
190
+ styleClass: EnumStyleButtonClass.UNLOCK,
191
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON__UNLOCK,
192
+ iconClass: EnumIconClass.FEATHER_UNLOCK,
193
+ isHeader: true
194
+ },
195
+ {
196
+ code: EnumCoreButtonVNSCode.HEADER_CONFIRM,
197
+ styleClass: EnumStyleButtonClass.CONFIRM,
198
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_CONFIRM,
199
+ iconClass: EnumIconClass.FEATHER_CONFIRM,
200
+ isHeader: true
201
+ },
202
+ {
203
+ code: EnumCoreButtonVNSCode.HEADER_UNCONFIRM,
204
+ styleClass: EnumStyleButtonClass.UNCONFIRM,
205
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_UNCONFIRM,
206
+ iconClass: EnumIconClass.FEATHER_UNCONFIRM,
207
+ isHeader: true
208
+ },
209
+ {
210
+ code: EnumCoreButtonVNSCode.HEADER_SWAP,
211
+ styleClass: EnumStyleButtonClass.EDIT,
212
+ iconClass: EnumIconClass.FEATHER_SWAP,
213
+ caption: EnumTranslateKey.UI_BUTTON_SWAP,
214
+ isHeader: true
215
+ },
216
+ {
217
+ code: EnumCoreButtonVNSCode.HEADER_APPROVE,
218
+ styleClass: EnumStyleButtonClass.APPROVING,
219
+ iconClass: EnumIconClass.FEATHER_APPROVE,
220
+ caption: EnumTranslateKey.UI_BUTTON_APPROVE,
221
+ isHeader: true
222
+ },
223
+ {
224
+ code: EnumCoreButtonVNSCode.HEADER_UNAPPROVE,
225
+ styleClass: EnumStyleButtonClass.UNAPPROVE,
226
+ iconClass: EnumIconClass.FEATHER_UNAPPROVE,
227
+ caption: EnumTranslateKey.UI_BUTTON_UNAPPROVE,
228
+ isHeader: true
229
+ },
230
+ {
231
+ code: EnumCoreButtonVNSCode.HEADER_CALCULATE,
232
+ styleClass: EnumStyleButtonClass.CALCULATE,
233
+ iconClass: EnumIconClass.FEATHER_CALCULATE,
234
+ caption: EnumTranslateKey.UI_BUTTON_CALCULATE,
235
+ isHeader: true
236
+ },
237
+ {
238
+ code: EnumCoreButtonVNSCode.HEADER_UPDATE,
239
+ styleClass: EnumStyleButtonClass.UPDATE,
240
+ iconClass: EnumIconClass.FEATHER_UPDATE,
241
+ caption: EnumTranslateKey.UI_BUTTON_UPDATE,
242
+ isHeader: true
243
+ },
244
+ {
245
+ code: EnumCoreButtonVNSCode.HEADER_PENDING_APPROVE,
246
+ styleClass: EnumStyleButtonClass.PENDING_APPROVE,
247
+ iconClass: EnumIconClass.FEATHER_PENDING_APPROVE,
248
+ caption: EnumTranslateKey.UI_BUTTON_PENDING_APPROVE,
249
+ isHeader: true
250
+ },
251
+ {
252
+ code: EnumCoreButtonVNSCode.HEADER_HANDLE,
253
+ styleClass: EnumStyleButtonClass.HEADER_HANDLE,
254
+ iconClass: EnumIconClass.CUSTOM_HEADER_HANDLE,
255
+ caption: EnumTranslateKey.UI_BUTTON_HEADER_HANDLE,
256
+ isHeader: true
257
+ },
258
+ {
259
+ code: EnumCoreButtonVNSCode.HEADER_RESET,
260
+ styleClass: EnumStyleButtonClass.HEADER_RESET,
261
+ iconClass: EnumIconClass.CUSTOM_HEADER_RESET,
262
+ caption: EnumTranslateKey.UI_BUTTON_HEADER_RESET,
263
+ isHeader: true
264
+ },
265
+ {
266
+ code: EnumCoreButtonVNSCode.HEADER_SYNCHRONOUS,
267
+ styleClass: EnumStyleButtonClass.HEADER_SYNCHRONOUS,
268
+ iconClass: EnumIconClass.CUSTOM_HEADER_SYNCHRONOUS,
269
+ caption: EnumTranslateKey.UI_BUTTON_HEADER_SYNCHRONOUS,
270
+ isHeader: true
271
+ },
272
+ {
273
+ code: EnumCoreButtonVNSCode.HEADER_UPERMISSION_DELETE,
274
+ styleClass: EnumStyleButtonClass.HEADER_UPERMISSION_DELETE,
275
+ iconClass: EnumIconClass.CUSTOM_HEADER_UPERMISSION_DELETE,
276
+ caption: EnumTranslateKey.UI_BUTTON_HEADER_PERMISSION_DELETE,
277
+ isHeader: true
278
+ },
279
+ {
280
+ code: EnumCoreButtonVNSCode.HEADER_LIQUIDATE_CONTRACT,
281
+ styleClass: EnumStyleButtonClass.LIQUIDATE,
282
+ iconClass: EnumIconClass.FEATHER_LIQUIDATE,
283
+ caption: EnumTranslateKey.UI_BUTTON_LIQUIDATE_CONTRACT,
284
+ isHeader: true
285
+ },
286
+ // CREATE luôn luôn đứng sau cùng
287
+ {
288
+ code: EnumCoreButtonVNSCode.HEADER_CREATE,
289
+ iconClass: EnumIconClass.FEATHER_ADD,
290
+ styleClass: EnumStyleButtonClass.ADD,
291
+ caption: EnumTranslateKey.UI_BUTTON_CREATE,
292
+ isHeader: true
293
+ },
294
+ /**********************
295
+ NONE_HEADER_GROUP
296
+ ***********************/
297
+ {
298
+ code: EnumCoreButtonVNSCode.NONE_HEADER_CANCEL,
299
+ styleClass: EnumStyleButtonClass.NONE_HEADER_CANCEL,
300
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_CANCEL,
301
+ isHeader: false
302
+ },
303
+ {
304
+ code: EnumCoreButtonVNSCode.NONE_HEADER_SAVE,
305
+ styleClass: EnumStyleButtonClass.SAVE,
306
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_SAVE,
307
+ isHeader: false
308
+ },
309
+ {
310
+ code: EnumCoreButtonVNSCode.NONE_HEADER_HANDLE,
311
+ styleClass: EnumStyleButtonClass.HANDLE,
312
+ caption: EnumTranslateKey.UI_BUTTON_HANDLE,
313
+ isHeader: false
314
+ },
315
+ {
316
+ code: EnumCoreButtonVNSCode.NONE_HEADER_SEARCH,
317
+ styleClass: EnumStyleButtonClass.SEARCH,
318
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_SEARCH,
319
+ isHeader: false
320
+ },
321
+ {
322
+ code: EnumCoreButtonVNSCode.NONE_HEADER_DELETE,
323
+ styleClass: EnumStyleButtonClass.SAVE,
324
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_DELETE,
325
+ isHeader: false
326
+ },
327
+ {
328
+ code: EnumCoreButtonVNSCode.NONE_HEADER_CONFIRM,
329
+ styleClass: EnumStyleButtonClass.SAVE,
330
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_NONE_HEADER_CONFIRM,
331
+ isHeader: false
332
+ },
333
+ {
334
+ code: EnumCoreButtonVNSCode.NONE_HEADER_IMPORT_OPTION,
335
+ styleClass: EnumStyleButtonClass.SAVE,
336
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_NONE_HEADER_IMPROT_OPTION,
337
+ isHeader: false
338
+ },
339
+ {
340
+ code: EnumCoreButtonVNSCode.NONE_HEADER_UPDATE,
341
+ styleClass: EnumStyleButtonClass.SAVE,
342
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_NONE_HEADER_UPDATE,
343
+ isHeader: false
344
+ },
345
+ {
346
+ code: EnumCoreButtonVNSCode.NONE_HEADER_LIQUIDATE_CONTRACT,
347
+ styleClass: EnumStyleButtonClass.SAVE,
348
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_NONE_HEADER_LIQUIDATE_CONTRACT,
349
+ isHeader: false
350
+ },
351
+ {
352
+ code: EnumCoreButtonVNSCode.NONE_HEADER_TRANSFER,
353
+ styleClass: EnumStyleButtonClass.TRANSFER,
354
+ iconClass: EnumIconClass.CUSTOM_TRANSFER,
355
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_TRANSFER,
356
+ isHeader: false
357
+ },
358
+ {
359
+ code: EnumCoreButtonVNSCode.NONE_HEADER_CLONING,
360
+ styleClass: EnumStyleButtonClass.CLONING,
361
+ iconClass: EnumIconClass.CUSTOM_CLONING,
362
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_CLONING,
363
+ isHeader: false
364
+ },
365
+ {
366
+ code: EnumCoreButtonVNSCode.NONE_HEADER_POSITION_TRANSFER_SAVE,
367
+ styleClass: EnumStyleButtonClass.POSITION_TRANSFER_SAVE,
368
+ iconClass: EnumIconClass.CUSTOM_POSITION_TRANSFER,
369
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_POSITION_TRANSFER_SAVE,
370
+ isHeader: false
371
+ },
372
+ {
373
+ code: EnumCoreButtonVNSCode.NONE_HEADER_REVERT,
374
+ styleClass: EnumStyleButtonClass.REVERT,
375
+ iconClass: EnumIconClass.CUSTOM_REVERT,
376
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_REVERT,
377
+ isHeader: false
378
+ },
379
+ {
380
+ code: EnumCoreButtonVNSCode.NONE_HEADER_RECRUIT,
381
+ styleClass: EnumStyleButtonClass.RECRUIT,
382
+ iconClass: EnumIconClass.CUSTOM_RECRUIT,
383
+ caption: EnumTranslateKey.UI_EDIT_FORM_BUTTON_RECRUIT,
384
+ isHeader: false
385
+ },
386
+ ];
387
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ09SRV9WTlNfQlVUVE9OUy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2NvbnN0YW50cy9DT1JFX1ZOU19CVVRUT05TLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUd2SCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBcUI7SUFFOUM7OzRCQUV3QjtJQUV4QjtRQUNFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxNQUFNO1FBQ2xDLFVBQVUsRUFBSSxvQkFBb0IsQ0FBQyxNQUFNO1FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQywwQkFBMEI7UUFDcEQsUUFBUSxFQUFHLEtBQUs7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1FBQ2hDLFVBQVUsRUFBSSxvQkFBb0IsQ0FBQyxJQUFJO1FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyx3QkFBd0I7UUFDbEQsUUFBUSxFQUFHLEtBQUs7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1FBQ2hDLFVBQVUsRUFBSSxvQkFBb0IsQ0FBQyxJQUFJO1FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyx3QkFBd0I7UUFDbEQsUUFBUSxFQUFHLEtBQUs7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1FBQ2hDLFVBQVUsRUFBSSxvQkFBb0IsQ0FBQyxJQUFJO1FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FB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b250ZW50IjpbImltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFbnVtSWNvbkNsYXNzIH0gZnJvbSBcIi4uL2VudW0vRW51bUljb25DbGFzc1wiO1xyXG5pbXBvcnQgeyBFbnVtU3R5bGVCdXR0b25DbGFzcyB9IGZyb20gXCIuLi9lbnVtL0VudW1TdHlsZUJ1dHRvbkNsYXNzXCI7XHJcbmltcG9ydCB7IEVudW1Db3JlQnV0dG9uVk5TQ29kZSB9IGZyb20gXCIuLi9saWJyYXJpZXMvY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9FbnVtQ29yZUJ1dHRvblZOU0NvZGVcIjtcclxuaW1wb3J0IHsgSUNvcmVCdXR0b25WTlMgfSBmcm9tIFwiLi4vbGlicmFyaWVzL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvSUNvcmVCdXR0b25WTlNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBDT1JFX1ZOU19CVVRUT05TOiBJQ29yZUJ1dHRvblZOU1tdID0gW1xyXG5cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBQT1JUQUxfR1JPVVAgKGThu6tuZyBwaMOhdCB0cmnhu4NuKVxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5DQU5DRUwsXHJcbiAgICAgIHN0eWxlQ2xhc3MgOiAgRW51bVN0eWxlQnV0dG9uQ2xhc3MuQ0FOQ0VMLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fQ0FOQ0VMLFxyXG4gICAgICBpc0hlYWRlciA6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuU0FWRSxcclxuICAgICAgc3R5bGVDbGFzcyA6ICBFbnVtU3R5bGVCdXR0b25DbGFzcy5TQVZFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fU0FWRSxcclxuICAgICAgaXNIZWFkZXIgOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLlNFTkQsXHJcbiAgICAgIHN0eWxlQ2xhc3MgOiAgRW51bVN0eWxlQnV0dG9uQ2xhc3MuU0VORCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX1NFTkQsXHJcbiAgICAgIGlzSGVhZGVyIDogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5FRElULFxyXG4gICAgICBzdHlsZUNsYXNzIDogIEVudW1TdHlsZUJ1dHRvbkNsYXNzLkVESVQsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9FRElULFxyXG4gICAgICBpc0hlYWRlciA6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuU0FWRV9QQVNTV09SRCxcclxuICAgICAgc3R5bGVDbGFzcyA6ICBFbnVtU3R5bGVCdXR0b25DbGFzcy5TQVZFX1BBU1NXT1JELFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fU0FWRSxcclxuICAgICAgaXNIZWFkZXIgOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkNSRUFURSxcclxuICAgICAgc3R5bGVDbGFzcyA6ICBFbnVtU3R5bGVCdXR0b25DbGFzcy5BREQsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9BREQsXHJcbiAgICAgIGlzSGVhZGVyIDogZmFsc2VcclxuICAgIH0sXHJcbiAgXHJcbiAgXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgSEVBREVSX0dST1VQXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9WSUVXX0FCU1RSQUNULFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9WSUVXLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5FRElULFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9IRUFERVJfVklFV19BQlNUUkFDVCxcclxuICAgICAgaXNIZWFkZXI6IHRydWUsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9FRElULFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9FRElULFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5FRElULFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9FRElULFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9TQVZFLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9TQVZFLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5IRUFERVJfU0FWRSxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX1NBVkUsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0NBTkNFTCxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfQ0FOQ0VMLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5IRUFERVJfU0FWRSxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX0NBTkNFTCxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfQ09QWSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfQ09QWSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuSEVBREVSX1NBVkUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9DT1BZLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9BQ1RJVkFURSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkNVU1RPTV9DSEVDSyxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuQUNUSVZBVEUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX0FDVElWQVRFLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9JTkFDVElWQVRFLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuQ1VTVE9NX1VOQ0hFQ0ssXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLklOQUNUSVZBVEUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX0lOQUNUSVZBVEUsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0RFTEVURSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfREVMRVRFLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5ERUxFVEUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX0RFTEVURSxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfUFJJTlQsXHJcbiAgICAgIGljb25DbGFzczogRW51bUljb25DbGFzcy5GRUFUSEVSX1BSSU5ULFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5QUklOVCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fUFJJTlQsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1BSSU5UXzJDXzk4LFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9QUklOVF8yQyxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuUFJJTlRfMkMsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX1BSSU5UXzJDXzk4LFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVF8yQyxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfUFJJTlRfMkMsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlBSSU5UXzJDLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9QUklOVF8yQyxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfUFJJTlRfMkNfMjAwOCxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfUFJJTlQsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlBSSU5ULFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9QUklOVF8yQ18yMDA4LFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9ET1dOTE9BRCxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfRE9XTkxPQUQsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLkRPV05MT0FELFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9FWFBPUlRfRVhDRUxfVEVNUExBVEUsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1VQTE9BRCxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfVVBMT0FELFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5VUExPQUQsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX0lNUE9SVF9FWENFTF9URU1QTEFURSxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfRVhQT1JURVhFTCxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkNVU1RPTV9ET1dOTE9BRF9FWEVMLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5ET1dOTE9BRCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fRVhQT1JUX1RPX0VYQ0VMLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9EUk9QLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9EUk9QLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5BREQsXHJcbiAgICAgIGNhcHRpb246ICcnLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9ERUNMQVJFSU5TQVJJU0lORyxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfRklMRSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuREVDTEFSRUlOU0FSSVNJTkcsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX0RFQ0xBUkVfSU5TX0FSSVNJTkcsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0dFVFNISUZUREVGQVVMVCxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuR0VUU0hJRlRERUZBVUxULFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0dSSURfRk9STV9CVVRUT05fR0VUX1NISUZUX0RFRkFVTFQsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0lORk9STUFUSU9OLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5JTkZPUk1BVElPTixcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9HUklEX0ZPUk1fQlVUVE9OX0lORk9STUFUSU9OLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9JTkZPUk1BVElPTixcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfTE9DSyxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuTE9DSyxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX0xPQ0ssXHJcbiAgICAgIGljb25DbGFzczogRW51bUljb25DbGFzcy5GRUFUSEVSX0xPQ0ssXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1VOTE9DSyxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuVU5MT0NLLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fX1VOTE9DSyxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfVU5MT0NLLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9DT05GSVJNLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5DT05GSVJNLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fQ09ORklSTSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfQ09ORklSTSxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfVU5DT05GSVJNLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5VTkNPTkZJUk0sXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9VTkNPTkZJUk0sXHJcbiAgICAgIGljb25DbGFzczogRW51bUljb25DbGFzcy5GRUFUSEVSX1VOQ09ORklSTSxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfU1dBUCxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuRURJVCxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfU1dBUCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fU1dBUCxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfQVBQUk9WRSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuQVBQUk9WSU5HLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9BUFBST1ZFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9BUFBST1ZFLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9VTkFQUFJPVkUsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlVOQVBQUk9WRSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfVU5BUFBST1ZFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9VTkFQUFJPVkUsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0NBTENVTEFURSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuQ0FMQ1VMQVRFLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9DQUxDVUxBVEUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQlVUVE9OX0NBTENVTEFURSxcclxuICAgICAgaXNIZWFkZXI6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfVVBEQVRFLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5VUERBVEUsXHJcbiAgICAgIGljb25DbGFzczogRW51bUljb25DbGFzcy5GRUFUSEVSX1VQREFURSxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fVVBEQVRFLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QRU5ESU5HX0FQUFJPVkUsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlBFTkRJTkdfQVBQUk9WRSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfUEVORElOR19BUFBST1ZFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9QRU5ESU5HX0FQUFJPVkUsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0hBTkRMRSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuSEVBREVSX0hBTkRMRSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkNVU1RPTV9IRUFERVJfSEFORExFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9IRUFERVJfSEFORExFLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9SRVNFVCxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuSEVBREVSX1JFU0VULFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuQ1VTVE9NX0hFQURFUl9SRVNFVCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fSEVBREVSX1JFU0VULFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9TWU5DSFJPTk9VUyxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuSEVBREVSX1NZTkNIUk9OT1VTLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuQ1VTVE9NX0hFQURFUl9TWU5DSFJPTk9VUyxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fSEVBREVSX1NZTkNIUk9OT1VTLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9VUEVSTUlTU0lPTl9ERUxFVEUsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLkhFQURFUl9VUEVSTUlTU0lPTl9ERUxFVEUsXHJcbiAgICAgIGljb25DbGFzczogRW51bUljb25DbGFzcy5DVVNUT01fSEVBREVSX1VQRVJNSVNTSU9OX0RFTEVURSxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fSEVBREVSX1BFUk1JU1NJT05fREVMRVRFLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9MSVFVSURBVEVfQ09OVFJBQ1QsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLkxJUVVJREFURSxcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkZFQVRIRVJfTElRVUlEQVRFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9MSVFVSURBVEVfQ09OVFJBQ1QsXHJcbiAgICAgIGlzSGVhZGVyOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgLy8gQ1JFQVRFIGx1w7RuIGx1w7RuIMSR4bupbmcgc2F1IGPDuW5nXHJcbiAgICB7IC8vIDw9PSB0aGUgbGFzdCBpcyBIRUFERVJfQ1JFQVRFXHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfQ1JFQVRFLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuRkVBVEhFUl9BREQsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLkFERCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9CVVRUT05fQ1JFQVRFLFxyXG4gICAgICBpc0hlYWRlcjogdHJ1ZVxyXG4gICAgfSxcclxuICBcclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBOT05FX0hFQURFUl9HUk9VUFxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9DQU5DRUwsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLk5PTkVfSEVBREVSX0NBTkNFTCxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX0NBTkNFTCxcclxuICAgICAgaXNIZWFkZXI6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuTk9ORV9IRUFERVJfU0FWRSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuU0FWRSxcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX1NBVkUsXHJcbiAgICAgIGlzSGVhZGVyOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLk5PTkVfSEVBREVSX0hBTkRMRSxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuSEFORExFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0JVVFRPTl9IQU5ETEUsXHJcbiAgICAgIGlzSGVhZGVyOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLk5PTkVfSEVBREVSX1NFQVJDSCxcclxuICAgICAgc3R5bGVDbGFzczogRW51bVN0eWxlQnV0dG9uQ2xhc3MuU0VBUkNILFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fU0VBUkNILFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9ERUxFVEUsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlNBVkUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9ERUxFVEUsXHJcbiAgICAgIGlzSGVhZGVyOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLk5PTkVfSEVBREVSX0NPTkZJUk0sXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlNBVkUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9OT05FX0hFQURFUl9DT05GSVJNLFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9JTVBPUlRfT1BUSU9OLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5TQVZFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fTk9ORV9IRUFERVJfSU1QUk9UX09QVElPTixcclxuICAgICAgaXNIZWFkZXI6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuTk9ORV9IRUFERVJfVVBEQVRFLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5TQVZFLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fTk9ORV9IRUFERVJfVVBEQVRFLFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9MSVFVSURBVEVfQ09OVFJBQ1QsXHJcbiAgICAgIHN0eWxlQ2xhc3M6IEVudW1TdHlsZUJ1dHRvbkNsYXNzLlNBVkUsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9OT05FX0hFQURFUl9MSVFVSURBVEVfQ09OVFJBQ1QsXHJcbiAgICAgIGlzSGVhZGVyOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogRW51bUNvcmVCdXR0b25WTlNDb2RlLk5PTkVfSEVBREVSX1RSQU5TRkVSLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5UUkFOU0ZFUixcclxuICAgICAgaWNvbkNsYXNzOiBFbnVtSWNvbkNsYXNzLkNVU1RPTV9UUkFOU0ZFUixcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FRElUX0ZPUk1fQlVUVE9OX1RSQU5TRkVSLFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9DTE9OSU5HLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5DTE9OSU5HLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuQ1VTVE9NX0NMT05JTkcsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9DTE9OSU5HLFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9QT1NJVElPTl9UUkFOU0ZFUl9TQVZFLFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5QT1NJVElPTl9UUkFOU0ZFUl9TQVZFLFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuQ1VTVE9NX1BPU0lUSU9OX1RSQU5TRkVSLFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fUE9TSVRJT05fVFJBTlNGRVJfU0FWRSxcclxuICAgICAgaXNIZWFkZXI6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuTk9ORV9IRUFERVJfUkVWRVJULFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5SRVZFUlQsXHJcbiAgICAgIGljb25DbGFzczogRW51bUljb25DbGFzcy5DVVNUT01fUkVWRVJULFxyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VESVRfRk9STV9CVVRUT05fUkVWRVJULFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNvZGU6IEVudW1Db3JlQnV0dG9uVk5TQ29kZS5OT05FX0hFQURFUl9SRUNSVUlULFxyXG4gICAgICBzdHlsZUNsYXNzOiBFbnVtU3R5bGVCdXR0b25DbGFzcy5SRUNSVUlULFxyXG4gICAgICBpY29uQ2xhc3M6IEVudW1JY29uQ2xhc3MuQ1VTVE9NX1JFQ1JVSVQsXHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRURJVF9GT1JNX0JVVFRPTl9SRUNSVUlULFxyXG4gICAgICBpc0hlYWRlcjogZmFsc2VcclxuICAgIH0sXHJcbiAgXHJcbiAgXHJcbiAgXTsiXX0=