ids-enterprise-wc 1.15.9-patch.11 → 1.15.9-patch.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/chunks/{ids-chunk-UD2BRVFR-full.js → ids-chunk-5GV6Y3WM-full.js} +2 -2
  2. package/chunks/{ids-chunk-4MSGTAOV-full.js → ids-chunk-5XYPHVID-full.js} +1 -1
  3. package/chunks/{ids-chunk-4MSGTAOV-full.js.map → ids-chunk-5XYPHVID-full.js.map} +2 -2
  4. package/chunks/{ids-chunk-HR4HAGMR-full.js → ids-chunk-A5IOTIO6-full.js} +163 -11
  5. package/chunks/ids-chunk-A5IOTIO6-full.js.map +7 -0
  6. package/chunks/{ids-chunk-SPEJ6VZH-full.js → ids-chunk-EGZI5ZV3-full.js} +9 -2
  7. package/chunks/ids-chunk-EGZI5ZV3-full.js.map +7 -0
  8. package/chunks/{ids-chunk-7NHSNXHZ-full.js → ids-chunk-FV5W3K6S-full.js} +2 -2
  9. package/components/ids-app-menu/ids-app-menu.css +132 -23
  10. package/components/ids-data-grid/ids-data-grid-cell.js +1 -1
  11. package/components/ids-data-grid/ids-data-grid-column.d.ts +2 -0
  12. package/components/ids-data-grid/ids-data-grid-column.js +1 -1
  13. package/components/ids-data-grid/ids-data-grid-filters.js +2 -2
  14. package/components/ids-data-grid/ids-data-grid-row.js +2 -2
  15. package/components/ids-data-grid/ids-data-grid.css +54 -1
  16. package/components/ids-data-grid/ids-data-grid.d.ts +18 -0
  17. package/components/ids-data-grid/ids-data-grid.js +5 -5
  18. package/components/ids-date-picker/ids-date-picker.css +59 -96
  19. package/components/ids-hierarchy/ids-hierarchy.css +14 -117
  20. package/components/ids-hyperlink/ids-hyperlink.css +15 -188
  21. package/components/ids-menu/ids-menu.css +13 -3
  22. package/components/ids-swappable/ids-swappable.css +19 -84
  23. package/components/ids-tabs/ids-tabs.css +470 -264
  24. package/components/ids-tag/ids-tag.css +8 -152
  25. package/components/ids-time-picker/ids-time-picker.css +67 -49
  26. package/custom-elements.json +74 -0
  27. package/enterprise-wc.all.iife.js +166 -7
  28. package/enterprise-wc.all.iife.js.map +2 -2
  29. package/enterprise-wc.js +5 -5
  30. package/package.json +1 -1
  31. package/vscode.html-custom-data.json +1 -1
  32. package/chunks/ids-chunk-HR4HAGMR-full.js.map +0 -7
  33. package/chunks/ids-chunk-SPEJ6VZH-full.js.map +0 -7
  34. /package/chunks/{ids-chunk-UD2BRVFR-full.js.map → ids-chunk-5GV6Y3WM-full.js.map} +0 -0
  35. /package/chunks/{ids-chunk-7NHSNXHZ-full.js.map → ids-chunk-FV5W3K6S-full.js.map} +0 -0
@@ -34,7 +34,7 @@ import {
34
34
  } from "./ids-chunk-3BYETIBG-full.js";
35
35
  import {
36
36
  IdsDataGridFilters
37
- } from "./ids-chunk-7NHSNXHZ-full.js";
37
+ } from "./ids-chunk-FV5W3K6S-full.js";
38
38
  import {
39
39
  IdsDataGridFormatters
40
40
  } from "./ids-chunk-LZ3MVUCD-full.js";
@@ -43,13 +43,13 @@ import {
43
43
  } from "./ids-chunk-HUXAWVOG-full.js";
44
44
  import {
45
45
  IdsDataGridRow
46
- } from "./ids-chunk-UD2BRVFR-full.js";
46
+ } from "./ids-chunk-5GV6Y3WM-full.js";
47
47
  import {
48
48
  IdsDataGridCell
49
- } from "./ids-chunk-SPEJ6VZH-full.js";
49
+ } from "./ids-chunk-EGZI5ZV3-full.js";
50
50
  import {
51
51
  DEFAULT_COLUMN_MIN_WIDTH
52
- } from "./ids-chunk-4MSGTAOV-full.js";
52
+ } from "./ids-chunk-5XYPHVID-full.js";
53
53
  import {
54
54
  containerArguments,
55
55
  containerTypes
@@ -782,6 +782,9 @@ th.ids-data-grid-header-cell {
782
782
  padding-inline-start: var(--ids-data-grid-padding-md);
783
783
  padding-inline-end: var(--ids-data-grid-padding-md);
784
784
  }
785
+ .ids-data-grid[data-row-height=md] .ids-data-grid-cell.is-expanded {
786
+ height: auto;
787
+ }
785
788
  .ids-data-grid[data-row-height=md] .ids-data-grid-cell:not(.align-center) .ids-data-grid-header-cell-content:not(.vertical-align-center) .ids-data-grid-header-text {
786
789
  padding-inline-start: var(--ids-data-grid-padding-md);
787
790
  transition: padding var(--ids-motion-duration) var(--ids-motion-ease);
@@ -797,6 +800,9 @@ th.ids-data-grid-header-cell {
797
800
  padding-inline-start: var(--ids-data-grid-padding-sm);
798
801
  padding-inline-end: var(--ids-data-grid-padding-sm);
799
802
  }
803
+ .ids-data-grid[data-row-height=sm] .ids-data-grid-cell.is-expanded {
804
+ height: auto;
805
+ }
800
806
  .ids-data-grid[data-row-height=sm] .ids-data-grid-cell:not(.align-center) .ids-data-grid-header-cell-content:not(.vertical-align-center) .ids-data-grid-header-text {
801
807
  padding-inline-start: var(--ids-data-grid-padding-sm);
802
808
  transition: padding var(--ids-motion-duration) var(--ids-motion-ease);
@@ -813,6 +819,9 @@ th.ids-data-grid-header-cell {
813
819
  padding-inline-start: var(--ids-data-grid-padding-xs);
814
820
  padding-inline-end: var(--ids-data-grid-padding-xs);
815
821
  }
822
+ .ids-data-grid[data-row-height=xs] .ids-data-grid-cell.is-expanded {
823
+ height: auto;
824
+ }
816
825
  .ids-data-grid[data-row-height=xs] .ids-data-grid-cell:not(.align-center) .ids-data-grid-header-cell-content:not(.vertical-align-center) .ids-data-grid-header-text {
817
826
  padding-inline-start: var(--ids-data-grid-padding-xs);
818
827
  transition: padding var(--ids-motion-duration) var(--ids-motion-ease);
@@ -833,6 +842,9 @@ th.ids-data-grid-header-cell {
833
842
  padding-inline-start: var(--ids-data-grid-padding-xs);
834
843
  padding-inline-end: var(--ids-data-grid-padding-xs);
835
844
  }
845
+ .ids-data-grid[data-row-height=xxs] .ids-data-grid-cell.is-expanded {
846
+ height: auto;
847
+ }
836
848
  .ids-data-grid[data-row-height=xxs] .ids-data-grid-cell:not(.align-center) .ids-data-grid-header-cell-content:not(.vertical-align-center) .ids-data-grid-header-text {
837
849
  padding-inline-start: var(--ids-data-grid-padding-xxs);
838
850
  transition: padding var(--ids-motion-duration) var(--ids-motion-ease);
@@ -1141,6 +1153,35 @@ ids-data-grid-cell[column-offscreen-right] {
1141
1153
  .ids-data-grid-cell.formatter-text {
1142
1154
  white-space: pre;
1143
1155
  }
1156
+ .ids-data-grid-cell.is-expandable {
1157
+ overflow: hidden;
1158
+ }
1159
+ .ids-data-grid-cell.is-expandable .text-ellipsis {
1160
+ overflow: hidden;
1161
+ text-overflow: ellipsis;
1162
+ white-space: nowrap;
1163
+ }
1164
+ .ids-data-grid-cell.is-expandable.formatter-text {
1165
+ white-space: nowrap;
1166
+ }
1167
+ .ids-data-grid-cell.is-expanded {
1168
+ height: auto;
1169
+ min-height: var(--ids-data-grid-row-height-lg);
1170
+ white-space: pre-line;
1171
+ overflow: visible;
1172
+ align-items: flex-start;
1173
+ }
1174
+ .ids-data-grid-cell.is-expanded .text-ellipsis {
1175
+ overflow: visible;
1176
+ text-overflow: unset;
1177
+ white-space: pre-line;
1178
+ /* stylelint-disable-next-line property-no-deprecated */
1179
+ word-wrap: break-word;
1180
+ padding-block: var(--ids-data-grid-expanded-padding-block, var(--ids-space-xs));
1181
+ }
1182
+ .ids-data-grid-cell.is-expanded-sibling {
1183
+ align-items: flex-start;
1184
+ }
1144
1185
  .ids-data-grid-cell.formatter-row-reorder {
1145
1186
  cursor: move;
1146
1187
  }
@@ -1271,6 +1312,9 @@ ids-data-grid-cell[column-offscreen-right] {
1271
1312
  margin-block-start: 1px;
1272
1313
  }
1273
1314
 
1315
+ [data-row-height=xxs] .ids-data-grid-cell.is-expanded {
1316
+ --ids-data-grid-expanded-padding-block: var(--ids-data-grid-padding-xxs);
1317
+ }
1274
1318
  [data-row-height=xxs] .formatter-progress ids-progress-bar {
1275
1319
  margin: var(--ids-data-grid-padding-xxs);
1276
1320
  }
@@ -1330,6 +1374,9 @@ ids-data-grid-cell[column-offscreen-right] {
1330
1374
  padding-inline: var(--ids-space-2xs);
1331
1375
  }
1332
1376
 
1377
+ [data-row-height=xs] .ids-data-grid-cell.is-expanded {
1378
+ --ids-data-grid-expanded-padding-block: var(--ids-data-grid-padding-xs);
1379
+ }
1333
1380
  [data-row-height=xs] .formatter-progress ids-progress-bar {
1334
1381
  margin: var(--ids-data-grid-padding-xs);
1335
1382
  }
@@ -1376,6 +1423,9 @@ ids-data-grid-cell[column-offscreen-right] {
1376
1423
  padding-inline: var(--ids-space-2xs);
1377
1424
  }
1378
1425
 
1426
+ [data-row-height=sm] .ids-data-grid-cell.is-expanded {
1427
+ --ids-data-grid-expanded-padding-block: var(--ids-data-grid-padding-sm);
1428
+ }
1379
1429
  [data-row-height=sm] .formatter-progress ids-progress-bar {
1380
1430
  margin: var(--ids-data-grid-padding-sm);
1381
1431
  }
@@ -1399,6 +1449,9 @@ ids-data-grid-cell[column-offscreen-right] {
1399
1449
  padding-inline: var(--ids-space-xs);
1400
1450
  }
1401
1451
 
1452
+ [data-row-height=md] .ids-data-grid-cell.is-expanded {
1453
+ --ids-data-grid-expanded-padding-block: var(--ids-data-grid-padding-md);
1454
+ }
1402
1455
  [data-row-height=md] .formatter-progress ids-progress-bar {
1403
1456
  margin: var(--ids-data-grid-padding-md);
1404
1457
  }
@@ -2680,7 +2733,7 @@ ids-loading-indicator[stopped] {
2680
2733
  z-index: 2;
2681
2734
  transition: all 0.05s ease;
2682
2735
  }
2683
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtZGF0YS1ncmlkIiwic291cmNlcyI6WyJpZHMtZGF0YS1ncmlkLWZpbHRlcnMuc2NzcyIsImlkcy1kYXRhLWdyaWQtaGVhZGVyLnNjc3MiLCJpZHMtZGF0YS1ncmlkLXJvdy5zY3NzIiwiaWRzLWRhdGEtZ3JpZC1jZWxsLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1oaWRlLW1peGluLnNjc3MiLCIuLi9pZHMtcG9wdXAtbWVudS9pZHMtcG9wdXAtbWVudS5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY2hlY2tib3gtbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXJhZGlvLW1peGluLnNjc3MiLCJpZHMtZGF0YS1ncmlkLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucy5zY3NzIiwiaWRzLWRhdGEtZ3JpZC1jb21tb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBRUE7O0FBR0Y7RUFJRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQU1BO0FBQUE7QUFBQTtFQUdFOztBQUtOO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQ3hFTjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFXQTs7QUFUQTtFQUNFOztBQUdGO0VBQ0U7OztBQVFKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7QUFBQTtBQUFBO0VBR0U7O0FBTU47RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBRUU7O0FBR0Y7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUE7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTs7O0FBS047RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUtBO0FBQUE7RUFDRTs7O0FBTUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQU1GO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFNQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLQTtFQUNFOztBQUlKO0FBQUE7RUFFRTs7QUFLQTtFQUNFOzs7QUFNTjtFQUNFOzs7QUFNRTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOztBQU1KO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFPSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDRTs7QUFLRjtFQUNFOztBQUtOO0VBQ0U7OztBQVFBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUU7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7OztBQzlvQlY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQU1BO0VBRUU7RUFDQTs7QUFHRjtFQUVFOztBQUVBO0VBRUU7O0FBSUo7RUFDRTs7QUFLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0VBQ0U7O0FBR0U7RUFLRTtFQUNBOztBQUxBO0VBQ0k7O0FBU1Y7RUFDRTs7QUFHRTtFQUtFO0VBQ0E7O0FBTEE7RUFDRTs7QUFTUjtFQUNFOztBQUdFO0VBS0U7RUFDQTs7QUFMQTtFQUNFOzs7QUFXVjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7OztBQVFBO0VBQ0U7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFFQTtBQUFBO0VBRUU7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFO0VBQ0E7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQU1BO0VBQ0U7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBTU47RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBS0E7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUY7QUFBQTtFQUVFOzs7QUFTTTtFQUNJOztBQVNKO0VBQ0k7O0FBU0o7RUFDSTs7O0FDelJkO0FBR0E7QUFhQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFLRTtFQUNFOztBQUdGO0VBQ0U7OztBQUtOO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQU1GO0VBQ0U7RUFDQTs7QUFLRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0VBQ0U7O0FBTUo7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFPSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFPRjtFQUNFOztBQU1BO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFLTjtFQUdFOztBQUVBO0VBQ0U7O0FBTUY7RUFDRTtFQUNBOztBQUtGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7O0FBTUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFUQTtFQUNFOztBQVlKO0VBSUU7O0FBR0Y7RUFDRTs7QUFLQTtFQUNFOztBQUdGO0VBQ0U7O0FBS0o7RUFDRTs7QUFFQTtFQUNFOztBQUtKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJRjtFQUNFOztBQUVBO0FBQUE7QUFBQTtFQUdFOztBQUtKO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUU7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQUdGO0VBemFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUF1YUk7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUF2Yk47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQXFiRTtFQUNFO0VBQ0E7O0FBSUE7RUFDRTtFQUNBOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBaUJNO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7O0FBYVI7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7O0FBSUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFLSjtFQUNFOztBQUlGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBRUE7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQVdGO0VBQ0U7O0FBSUo7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBS0o7RUFDRTs7QUFJRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUlBO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBV0Y7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFXRjtFQUNFOztBQUtKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFLRjtFQUNFOzs7QUFXRjtFQUNFOzs7QUFRSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRTtFQUNFOztBQU1GO0VBQ0U7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFOztBQUlBO0VBRUU7O0FBS0Y7RUFDRTs7O0FBT1I7RUFDRTs7O0FDL3pCRjtFQUNFOzs7QUFJQTtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUFXRjtFQURGO0lBRUk7Ozs7QUEvQkY7RUM1R0Y7SUQ2R0k7Ozs7QUN4R0Y7RUFDRTtFQUNBOzs7QUNUSjtBQUFBO0FBQUE7QUFvSUE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQ2pLSjtBQUFBO0FBQUE7QUNXQTtFQUNFO0VBRUE7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQ3JCQTtFQUNBO0VEeUJBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtFQUVFOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJSjtFRjFEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRTJERTtFQUNBO0VBQ0E7RUFDQTs7QUFQQTtFQUNFOztBQVFGO0VGZkY7RUFDQTtFQUNBO0VFZ0JJOztBQUdGO0VGN0RGO0VBQ0E7O0FFK0RJO0VGM0RKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUVvRE07O0FBR0Y7RUZwQko7RUFDQTs7QUV3QkU7RUZ2REY7RUFDQTs7QUV5REk7RUZyREo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRThDTTs7QUFNTjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFRDVHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VDd0dFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VEekdGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ29HRTtFRHZFRjtFQUNBO0VBQ0E7RUFDQTs7QUN3RUU7RUQzRkY7RUFDQTs7QUM2Rkk7RUR6Rko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDdUZJO0VEbkVKO0VBQ0E7RUFDQTs7QUN3RUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUErRVU7RUFDRTtFQUNBOztBQU9GO0VBQ0U7RUFDQTs7QUFRTjtFRTlRUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ3UVE7RUVuUlY7RUZzUlk7O0FFcFJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRjZRVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQTlFRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VFOVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRndRUTtFRW5SVjtFRnNSWTs7QUVwUlo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGNlFVO0VBQ0U7O0FBUVY7RUFDRTs7QUFRSTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFvQkE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBOUVGO0VBQ0U7RUFDQTs7QUFPRjtFQUNFO0VBQ0E7O0FBUU47RUU5UVI7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGd1FRO0VFblJWO0VGc1JZOztBRXBSWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUY2UVU7RUFDRTs7QUFRVjtFQUNFOztBQVFJO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQW9CQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUE5RUY7RUFDRTtFQUNBOztBQU9GO0VBQ0U7RUFDQTs7QUFRTjtFRTlRUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ3UVE7RUVuUlY7RUZzUlk7O0FFcFJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRjZRVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQTlFRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VFOVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRndRUTtFRW5SVjtFRnNSWTs7QUVwUlo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGNlFVO0VBQ0U7O0FBUVY7RUFDRTs7QUFRSTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFvQkE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBWVY7RUFDRTs7QUFNTjtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUFNTjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUtGO0FBQUE7RUFFRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFFQTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gRmlsdGVyICovXG4uaWRzLWRhdGEtZ3JpZCB7XG4gIC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1kZWZhdWx0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pY29uLWNvbG9yKTtcbiAgLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pY29uLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLXRleHQtaG92ZXI6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3ItaG92ZXIpO1xuICAtLWlkcy1tZW51LWl0ZW0td2lkdGgtbWluOiAxOTBweDtcbiAgLS1pZHMtdHJpZ2dlci1maWVsZC1idXR0b24taW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuXG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIGlkcy1kcm9wZG93biB7XG4gICAgLS1pZHMtdHJpZ2dlci1maWVsZC1idXR0b24taW5zZXQtaW5saW5lLXN0YXJ0OiAtMXB4O1xuXG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIGlkcy1kcm9wZG93bixcbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3NtJ10gaWRzLWRyb3Bkb3duLFxuICAmW2RhdGEtcm93LWhlaWdodD0neHMnXSBpZHMtZHJvcGRvd24sXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4eHMnXSBpZHMtZHJvcGRvd24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgOjpzbG90dGVkKFtzbG90Xj0nZmlsdGVyLSddKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQudmVydGljYWwtYWxpZ24tY2VudGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLWlkcy1zcGFjZS1zbSkpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSArIDRweCk7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGlkcy1kcm9wZG93bltjb21wYWN0XSBpZHMtbGlzdC1ib3gtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogdW5zZXQ7XG4gICAgICBtaW4taGVpZ2h0OiB2YXIoLS1pZHMtc2l6ZS0yMCk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuaXMtdXBwZXJjYXNlIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICBpZHMtbGlzdC1ib3gtb3B0aW9uLFxuICAgICAgaWRzLWRyb3Bkb3duOjpwYXJ0KHRyaWdnZXJmaWVsZC1pbnB1dCksXG4gICAgICBpZHMtaW5wdXQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGF0YS1maWx0ZXItY29uZGl0aW9ucy1idXR0b25dIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1jb21wYWN0LWhlaWdodDogMjBweDtcbiAgICAtLWlkcy1idXR0b24taWNvbi1jb21wYWN0LXdpZHRoOiAzNnB4O1xuXG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDJweDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuXG4gICAgaWRzLWljb24ge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogM3B4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0zcHg7XG4gICAgfVxuXG4gICAgaWRzLWljb24tYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyogSWRzIERhdGEgR3JpZCBDb21wb25lbnQgLSBIZWFkZXIgKi9cbi5pZHMtZGF0YS1ncmlkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB6LWluZGV4OiA1OyAvLyBNdXN0IGJlIGhpZ2hlciB0aGFuIGZvY3VzZWQgYm9keSBjZWxscyAoei1pbmRleDogMylcbiAgaGVpZ2h0OiAzNHB4O1xuXG4gICYuaXMtZnJvemVuIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgJjpoYXMoLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIpIHtcbiAgICBoZWlnaHQ6IDYycHg7XG4gIH1cblxuICAvLyBGaWx0ZXIgYnV0dG9uIGhlaWdodFxuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemU6IDI4cHg7XG59XG5cbi8vIEhlYWRlciBDaGVja2JveFxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgd2lkdGg6IDIwcHg7XG5cbiAgJltkaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveFtkaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jaGVja2JveC1vcGFjaXR5LWRpc2FibGVkKTtcbiAgfVxuXG5cbiAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3g6bm90KC5jaGVja2VkKTpub3QoLmluZGV0ZXJtaW5hdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJvcmRlcik7XG4gIH1cbn1cblxuLy8gSGVhZGVyIENlbGwgQXJlYVxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gIG1pbi1oZWlnaHQ6IDI4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikge1xuICAgIGhlaWdodDogNjJweDtcblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWhlaWdodCk7XG5cbiAgICAgIGlkcy1tZW51LWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaGVpZ2h0KTtcblxuICAgICAgICAmOjpwYXJ0KGJ1dHRvbikge1xuICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZHMtZHJvcGRvd246OnBhcnQodHJpZ2dlcmZpZWxkLWZpZWxkLWNvbnRhaW5lciksXG4gICAgICBpZHMtaW5wdXQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSxcbiAgICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWhlaWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSGlkZSBmaXJzdCBib3JkZXJcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgfVxuXG4gICY6aG92ZXIuaXMtYWN0aW9uYWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gIH1cblxuICAmLmFsaWduLWNlbnRlciAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50LFxuICAmLmFsaWduLWNlbnRlciAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQsXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1zb3J0YWJsZSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbGcpO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICBpZHMtbWVudS1idXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzaXppbmcgQ2VsbHNcbiAgLnJlc2l6ZXIge1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1yZXNpemUpO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IDZweDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLy8gUmVvcmRlcmFibGUgQ2VsbHNcbiAgLnJlb3JkZXJlciB7XG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLW1vdmUpO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHdpZHRoOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcblxuICAgIGlkcy1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1pY29uKTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAucmVvcmRlcmVyIHtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiA1cHg7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBpbml0aWFsO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIC5yZXNpemVyIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDEwMCUgLSA2cHgpOyAvLyBQcmV2ZW50cyB1bm5lZWRlZCBzY3JvbGxiYXJcbiAgfVxuXG4gICYuZHJhZ2dpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWRyYWctYmFja2dyb3VuZC1jb2xvcikgIWltcG9ydGFudDsgLy8gdGhpcyBpbXBvcnRhbnQgaXMgbmVlZGVkIGZvciBkcmFnIHN0eWxlcyB0byB3b3JrXG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IC0xMDAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHdpZHRoOiAxMTBweDtcbiAgfVxuXG4gICYuYWN0aXZlLWRyYWctY29sdW1uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQtcGxhY2Vob2xkZXItZHJhZ2dpbmcpO1xuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciAucmVvcmRlcmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gUmVvcmRlcmFibGUgQ2VsbHNcbiAgJi5mcm96ZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgLy8gQ2hhbmdlIGJvcmRlcnMgZm9yIGZyb3plbiBjb2x1bW4gc2Nyb2xsaW5nXG4gICYuZnJvemVuLWxhc3Qge1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYm9yZGVyKTtcblxuICAgICsgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgICB9XG4gIH1cblxuICAmLmZyb3plbi1sZWZ0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAxMCB7XG4gICAgICAmOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZnJvemVuLWNvbHVtbi1sZWZ0LXdpZHRoLSN7JGl9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZyb3plbi1yaWdodCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICByaWdodDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgLy8gV2llcmQgY2VudGVyaW5nIGJ1ZyAoZnJvemVuIHJpZ2h0KVxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICB9XG59XG5cbi5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1sZy1wYWRkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWlkcy1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItdGV4dCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBzbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWlkcy1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICB9XG59XG5cbi5oZWFkZXItdGV4dC1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIFJlcXVpcmVkIGluZGljYXRvciB1c2luZyBDU1MgcHNldWRvLWVsZW1lbnRcbi5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLmlzLXJlcXVpcmVkIHtcbiAgLmhlYWRlci10ZXh0LWNvbnRlbnQ6OmFmdGVyLFxuICAuaWRzLWNoZWNrYm94IC5sYWJlbC10ZXh0OjphZnRlciB7XG4gICAgY29udGVudDogJyonO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cbn1cblxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWljb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG59XG5cbi8vIEhlYWRlciBzb3J0IHN0eWxlc1xuLnNvcnQtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1zcGFjZS1sZykgLSAycHgpO1xuICB3aWR0aDogMThweDtcbn1cblxuLy8gU29ydCBIb3ZlciBzdGF0ZXNcbi5pcy1zb3J0YWJsZSB7XG4gIC5zb3J0LWluZGljYXRvciBpZHMtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tdW5zb3J0ZWQpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIHZhcigtLWlkcy1tb3Rpb24tZWFzZSkgMHM7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5zb3J0LWluZGljYXRvciBpZHMtaWNvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLWV4cGFuZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LWhlaWdodDogMThweDtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZXhwYW5kZXItY29sb3IpO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMTIpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1leHBhbmRlci1jb2xvci1hY3RpdmUpO1xuICB9XG59XG5cbltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIC5oZWFkZXItZXhwYW5kZXIge1xuICB0b3A6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xufVxuXG46aG9zdChbc2hvdy1oZWFkZXItZXhwYW5kZXJdKSAuaGVhZGVyLWV4cGFuZGVyLFxuLmNvbHVtbi1oZWFkZXItZXhwYW5kZXIgLmhlYWRlci1leHBhbmRlciB7XG4gIGRpc3BsYXk6IHVuc2V0O1xufVxuXG4uaGFzLXNlbGVjdGlvbmNoZWNrYm94IC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG59XG5cbi5pcy1zb3J0YWJsZSxcbi5oYXMtaGVhZGVyaWNvbiB7XG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxufVxuXG4vLyBBc2NlbmRpbmcgc29ydFxuW2FyaWEtc29ydD0nYXNjZW5kaW5nJ10gLmlzLXNvcnRhYmxlIC5zb3J0LWluZGljYXRvciBpZHMtaWNvbiB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1pY29uLXNvcnRlZCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBEZXNjZW5kaW5nIHNvcnRcblthcmlhLXNvcnQ9J2Rlc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tc29ydGVkKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIERyYWcgYXJyb3dzIGZvciBzb3J0aW5nXG4uaWRzLWRhdGEtZ3JpZC1zb3J0LWFycm93cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMzRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWRyYWctYXJyb3ctY29sb3ItYmFja2dyb3VuZCk7XG4gICAgdG9wOiAtNnB4O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1kcmFnLWFycm93LWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGJvdHRvbTogLTlweDtcbiAgfVxufVxuXG4vLyBTdGFuZGFsb25lIENzc1xudHIuaWRzLWRhdGEtZ3JpZC1oZWFkZXIge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbn1cblxudGguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8vIExpc3QgU3R5bGUgRmVhdHVyZVxuLmlkcy1kYXRhLWdyaWQuaXMtbGlzdC1zdHlsZSB7XG4gIC8vIENoYW5nZSBIZWFkZXIgQ29sb3JcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtaGVhZGVyLWNvbG9yLWJvcmRlcik7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItdGV4dCk7XG4gIH1cblxuICAvLyBDaGFuZ2UgU29ydCBJY29uIENvbG9yc1xuICAuaXMtc29ydGFibGUge1xuICAgIGlkcy1pY29uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1pY29uLXVuc29ydGVkKTtcbiAgICB9XG4gIH1cblxuICBbYXJpYS1zb3J0PSdkZXNjZW5kaW5nJ10gLmlzLXNvcnRhYmxlIGlkcy1pY29uOmxhc3QtY2hpbGQsXG4gIFthcmlhLXNvcnQ9J2FzY2VuZGluZyddIC5pcy1zb3J0YWJsZSBpZHMtaWNvbjpmaXJzdC1jaGlsZCAge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtaGVhZGVyLWNvbG9yLWljb24tdW5zb3J0ZWQpXG4gIH1cblxuICAvLyBDaGFuZ2UgSGVhZGVyIENoZWNrYm94XG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3g6bm90KC5jaGVja2VkKTpub3QoLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCBmb3IgRnJvemVuIENvbHVtbnNcbi5pZHMtZGF0YS1ncmlkLWJvZHkge1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4vLyBBZGp1c3QgZm9yIFJvdyBIZWlnaHRzIChsYXJnZSBpcyBkZWZhdWx0KVxuLmlkcy1kYXRhLWdyaWQge1xuICAmW2RhdGEtcm93LWhlaWdodD0nbWQnXSB7XG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZzogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItbWQtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLnJlb3JkZXJlciBpZHMtaWNvbiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xMXB4O1xuICAgIH1cblxuICAgIC5zb3J0LWluZGljYXRvciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtOHB4O1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLmFsaWduLXJpZ2h0IC5yZW9yZGVyZXIge1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogM3B4O1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdzbSddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1zbS1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC00cHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aGFzKC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyKSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLXhzKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAmOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikge1xuICAgICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbDpoYXMoLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIpIHtcbiAgICAgIGhlaWdodDogNThweDtcblxuICAgICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXhzLXBhZGRpbmcpO1xuICAgIH1cblxuICAgIC5yZW9yZGVyZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTJweDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtMnB4O1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtM3B4O1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuYWxpZ24tcmlnaHQgLmlzLXNvcnRhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAmOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikge1xuICAgICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbDpoYXMoLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIpIHtcbiAgICAgIGhlaWdodDogNThweDtcblxuICAgICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogNnB4O1xuICAgICAgfVxuXG4gICAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci14eHMtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLnJlb3JkZXJlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zb3J0LWluZGljYXRvciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0xcHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG5cbiAgICAgID4gaWRzLWljb246Zmlyc3QtY2hpbGQge1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgIH1cblxuICAgICAgaWRzLWljb246bGFzdC1jaGlsZCB7XG4gICAgICAgIHRvcDogLTExcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFsaWduLXJpZ2h0IC5zb3J0LWluZGljYXRvciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuYWxpZ24tcmlnaHQgLmlzLXNvcnRhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogM3B4O1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDNweDtcbiAgICB9XG5cbiAgICAvLyBGaWx0ZXIgQWRqdXN0bWVudHNcbiAgICBpZHMtaW5wdXQsXG4gICAgaWRzLW1lbnUtYnV0dG9uLFxuICAgIGlkcy10cmlnZ2VyLWZpZWxkLFxuICAgIGlkcy1kcm9wZG93biB7XG4gICAgICAtLWlkcy1pbnB1dC1oZWlnaHQtMTA6IDI0cHg7XG4gICAgfVxuXG4gICAgaWRzLWRyb3Bkb3duIHtcbiAgICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWlucHV0LWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cykgKyAycHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpICsgMnB4KTtcbiAgICAgIHBhZGRpbmctYmxvY2stZW5kOiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpIC0gMXB4KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uIHNlbGVjdGlvbiBoZWFkZXJcbi5pZHMtZGF0YS1ncmlkIC5oYXMtY29sLXNlbGVjdGlvbiB7XG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOm5vdChbY29sdW1uLWlkPSdzZWxlY3Rpb25DaGVja2JveCddKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCAuaWRzLWNoZWNrYm94IC5sYWJlbC10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgJi5pcy1zb3J0YWJsZSxcbiAgICAmLmlzLXJlb3JkZXJhYmxlIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IC5pZHMtY2hlY2tib3ggLmxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtc29ydGFibGUuaXMtcmVvcmRlcmFibGUge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1jaGVja2JveCAubGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICB9XG59XG5cbi8vIEhhbmRsZSBSVExcbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC8vIE5lZ2F0ZSByaWdodCBhbGlnbm1lbnRcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwge1xuICAgICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuXG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZyb3plbi1jb2x1bW4tbGVmdC13aWR0aC0jeyRpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gUm93cyAqL1xuLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbHVtbi13aWR0aHMpOyAvLyBGaWxsZWQgaW4gZHluYW1pY2FsbHlcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogaW5oZXJpdDtcblxuICAmLmlzLWRyYWctc3RhcnQge1xuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICYuaXMtZHJhZy10YXJnZXQge1xuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgfVxuXG4gICYuc2VsZWN0ZWQ6bm90KC5taXhlZCkgLmlkcy1kYXRhLWdyaWQtY2VsbCxcbiAgJi5hY3RpdmF0ZWQgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG5cbiAgICAmOmZvY3VzLFxuICAgICYuaXMtZm9jdXNlZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICZbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbcGFydCo9J3Jvdy0nXSB7XG4gICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbcGFydD0ncm93LW5ldyddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLW5ldyk7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtbmV3KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LXN0YXRlcy1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3BhcnQ9J3Jvdy1yZW1vdmVkJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtcmVtb3ZlZCk7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtcmVtb3ZlZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1zdGF0ZXMtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltwYXJ0PSdyb3ctZXJyb3InXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLWVycm9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1lcnJvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1zdGF0ZXMtZGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdyb3VwZWQgUm93c1xuLmlkcy1kYXRhLWdyaWQtcm93LmlzLWdyb3VwLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtY29sb3ItYmFja2dyb3VuZCk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1ncm91cGVkLWNvbG9yLXRleHQsIHJlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtZm9udC13ZWlnaHQsIDYwMCk7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIGlkcy1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWhvdmVyOiB0cmFuc3BhcmVudDtcblxuICAgIHBhZGRpbmc6IDAgMnB4O1xuICB9XG59XG5cbi8vIFJvdyBIZWlnaHQgRmVhdHVyZSB3aXRoIEZvcm1hdHRlcnMgc3BhY2luZ1xuLmlkcy1kYXRhLWdyaWQge1xuICAvLyBMYXJnZSBieSBkZWZhdWx0XG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LW1kKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLW1kKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdzbSddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXNtKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXhzKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyxcbiAgICAgIGlkcy1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXh4cyk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcblxuICAgICAgLnRleHQtZWxsaXBzaXMsXG4gICAgICBpZHMtYmFkZ2Uge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9uICd4eHMnIHJvdyBoZWlnaHQsIGlubGluZS1lZGl0YWJsZSBjZWxscyBoYXZlIGEgc2xpZ2h0bHkgd2lkZXJcbiAgICAgIC8vIHBhZGRpbmcgYXBwZWFyYW5jZSB0byBhY2NvbW1vZGF0ZSB0aGUgaW5saW5lIGRpc3BsYXlcbiAgICAgICYuaXMtaW5saW5lIHtcbiAgICAgICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKTtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOm5vdCguYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbDpob3ZlciAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50Om5vdCgudmVydGljYWwtYWxpZ24tY2VudGVyKS5pcy1yZW9yZGVyYWJsZSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJvdyBBbHRlcm5hdGUgUm93IFNldHRpbmcgRmVhdHVyZVxuLmlkcy1kYXRhLWdyaWQuYWx0LXJvdy1zaGFkaW5nIGlkcy1kYXRhLWdyaWQtcm93Om50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWFsdGVybmF0aW5nLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4vLyBFeHBhbmRhYmxlIFJvd1xuLmlkcy1kYXRhLWdyaWQtZXhwYW5kYWJsZS1yb3cge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJvcmRlcik7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS14cyk7XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzXG50ci5pZHMtZGF0YS1ncmlkLXJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQtbGcpO1xufVxuXG4vLyBSb3cgTmF2aWdhdGlvbiBTdHlsZXNcbi5pZHMtZGF0YS1ncmlkLnJvdy1uYXZpZ2F0aW9uIC5pZHMtZGF0YS1ncmlkLWJvZHkgLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1zaGFkb3ctZm9jdXMpO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBoeXBlcmxpbmtzIGluIHJvdy1uYXZpZ2F0aW9uIG1vZGUgY2Fubm90IGJlIGRpcmVjdGx5IGNsaWNrZWRcbiAgaWRzLWh5cGVybGluayxcbiAgLmlkcy1oeXBlcmxpbmsge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigxcHgpO1xuICB9XG59XG5cbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC5pZHMtZGF0YS1ncmlkLXJvdyB7XG4gICAgJltwYXJ0PSdyb3ctbmV3J10ge1xuICAgICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLW5ldykgdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLW5ldykgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltwYXJ0PSdyb3ctcmVtb3ZlZCddIHtcbiAgICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKSB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItcmVtb3ZlZCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltwYXJ0PSdyb3ctZXJyb3InXSB7XG4gICAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItZXJyb3IpIHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1lcnJvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBJZHMgRGF0YSBHcmlkIENvbXBvbmVudCAtIENlbGxzICovXG5AdXNlICdzYXNzOmxpc3QnO1xuXG4vKiBHZW5lcmF0ZXMgYSBwc2V1ZG8tZWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGRpcnR5IHRyYWNrZXIgKi9cbkBtaXhpbiBpZHMtZGF0YS1ncmlkLWNlbGwtZGlydHktdHJhY2tlci1pY29uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIHotaW5kZXg6IDE7XG59XG5cbmlkcy1kYXRhLWdyaWQtY2VsbFtjb2x1bW4tb25zY3JlZW5dIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vZmZzY3JlZW5dIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vZmZzY3JlZW4tbGVmdF0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5pZHMtZGF0YS1ncmlkLWNlbGxbY29sdW1uLW9mZnNjcmVlbi1yaWdodF0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uaWRzLWRhdGEtZ3JpZC1yb3c6bm90KC5zZWxlY3RlZCk6bm90KFtwYXJ0Kj0ncm93LSddKSB7XG4gIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5pcy1yZWFkb25seSkge1xuICAgICYuZnJvemVuLWxlZnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAmLmZyb3plbi1yaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxufVxuXG4uaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgLy8gQm9yZGVyIGFuZCBCYWNrZ3JvdW5kIGFuZCBTaXppbmdcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkO1xuICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJvcmRlcik7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEhpZGUgZmlyc3QvbGFzdCBib3JkZXJcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgfVxuXG4gIC8vIFJlc2V0IGJhZGdlIG1hcmdpbiB0byBjZW50ZXIgaXQgdmVydGljYWxseVxuICBpZHMtYmFkZ2U6OnBhcnQoYmFkZ2UpIHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxuXG4gIGlkcy1iYWRnZSB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICB9XG5cbiAgLy8gU28gdGhlIGNvbG9yIGlzIHRoZSBzYW1lIGFzIHRoZSBlZGl0b3JcbiAgaWRzLWljb25baWNvbj0nZHJvcGRvd24nXSB7XG4gICAgY29sb3I6IHZhcigtLWlkcy10cmlnZ2VyLWZpZWxkLWljb24tY29sb3IpXG4gIH1cblxuICBpZHMtaHlwZXJsaW5rIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IDEycHg7XG4gICAgd2lkdGg6IC1tb3otYXZhaWxhYmxlO1xuICAgIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgIHdpZHRoOiBmaWxsLWF2YWlsYWJsZTtcbiAgfVxuXG4gIC50ZXh0LWVsbGlwc2lzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpICsgNHB4KTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSArIDRweCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAvLyBUZXh0IEFsaWdubWVudFxuICBpZHMtaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICsgc3BhbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGV4dCBBbGlnbm1lbnRcbiAgJi5hbGlnbi1jZW50ZXIge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSkgYXV0bztcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IHtcbiAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICBpZHMtaW5wdXQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVhZG9ubHkgYW5kIGRpc2FibGVkIENlbGxzXG4gICYuaXMtcmVhZG9ubHk6bm90KC5leGNsdWRlLXJlYWRvbmx5LXN0eWxlKTpub3QoLnNlbGVjdGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJhY2tncm91bmQtZnJvemVuLXJlYWRvbmx5KTtcblxuICAgIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LWRpc2FibGVkKTtcblxuICAgIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5pcy11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyBGb2N1cyBTdGF0ZVxuICAmOmZvY3VzLFxuICAmLmlzLWVkaXRpbmc6bm90KC5pcy1pbmxpbmUpOmZvY3VzLXdpdGhpbixcbiAgJi5pcy1mb2N1c2VkIHtcbiAgICAmOm5vdCguc2VsZWN0ZWQpOm5vdChbdGFiaW5kZXg9Jy0xJ10pIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1zaGFkb3ctMjApO1xuICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWlkcy1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLy8gT25seSBmcm96ZW4gZm9jdXNlZCBjZWxscyBnZXQgZWxldmF0ZWQgei1pbmRleCBzbyBib3gtc2hhZG93XG4gICAgICAvLyBpcyBub3QgY2xpcHBlZCBieSBhZGphY2VudCBmcm96ZW4gY2VsbHMuIE5vcm1hbC9yZWFkb25seSBjZWxsc1xuICAgICAgLy8gc3RheSBiZWxvdyBmcm96ZW4gY29sdW1ucyB0byBhdm9pZCBzY3JvbGwgb3ZlcmxhcC5cbiAgICAgICYuZnJvemVuIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm1hdHRlci10ZXh0bWFzayB7XG4gICAgJi5pcy1ob3ZlcmFibGUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmLnNob3ctY2VsbC1pY29uLWFsd2F5cyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5pcy1pbmxpbmUpOm5vdCguaXMtaW52YWxpZCk6aG92ZXIsXG4gICAgJi5pcy1lZGl0aW5nIHtcbiAgICAgIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0wOCk7XG4gICAgICB9XG5cbiAgICAgIGlkcy1hbGVydCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoMTAwJSAtIDQ4cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtZWRpdGFibGUge1xuICAgICYuaXMtcmVhZG9ubHk6bm90KC5leGNsdWRlLXJlYWRvbmx5LXN0eWxlKSB7XG4gICAgICAudGV4dC1lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1pbmxpbmUge1xuICAgICAgJi5mb3JtYXR0ZXItdHJlZSB7XG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtY29udGFpbmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDE1cHg7XG5cbiAgICAgICAgJltpY29uPSdkcm9wZG93biddIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbG9va3VwLFxuICAgICYuaXMtZGF0ZXBpY2tlcixcbiAgICAmLmlzLXRpbWVwaWNrZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZGF0ZXBpY2tlcixcbiAgICAmLmlzLXRpbWVwaWNrZXIge1xuICAgICAgaWRzLXRyaWdnZXItZmllbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMXB4O1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxvb2t1cCB7XG4gICAgICBpZHMtbG9va3VwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgaWRzLWxvb2t1cDo6cGFydChjb250YWluZXIpLFxuICAgICAgaWRzLWxvb2t1cDo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJi5zaG93LWNlbGwtaWNvbi1hbHdheXMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZHMtdHJpZ2dlci1idXR0b246OnBhcnQoYnV0dG9uKSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBpcy1ib3JkZXJsZXNzOmhvdmVyXG4gICAgJjpub3QoLmlzLWlubGluZSk6bm90KC5pcy1pbnZhbGlkKTpub3QoLmlzLXJlYWRvbmx5KTpmb2N1cyxcbiAgICAmOm5vdCguaXMtaW5saW5lKTpub3QoLmlzLWludmFsaWQpOm5vdCguaXMtcmVhZG9ubHkpOmhvdmVyIHtcbiAgICAgIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgaWRzLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYygxMDAlIC0gNDhweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0YWJsZS5pcy1pbnZhbGlkIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgaWRzLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1lZGl0aW5nIGlkcy1jaGVja2JveCB7XG4gICAgLS1pZHMtY2hlY2tib3gtbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzOiAwIDAgMCAycHggdHJhbnNwYXJlbnQsIDAgMCAwIDNweCB0cmFuc3BhcmVudDtcbiAgICAtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXIpO1xuXG4gICAgJltjaGVja2VkXSB7XG4gICAgICAtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2cHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICAvLyBFZGl0aW5nIHdpdGggcG9wdXBzXG4gICYuaXMtZWRpdGluZy5pcy1sb29rdXAsXG4gICYuaXMtZWRpdGluZy5pcy1kYXRlcGlja2VyLFxuICAmLmlzLWVkaXRpbmcuaXMtdGltZXBpY2tlcixcbiAgJi5pcy1lZGl0aW5nLmlzLXBhc3N3b3JkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gICYuaXMtZWRpdGluZy5pcy1pbmxpbmUgaWRzLWlucHV0IHtcbiAgICB6LWluZGV4OiA5OTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIEVkaXRhYmxlIENlbGxcbiAgJi5pcy1lZGl0YWJsZS5pcy1kcm9wZG93biB7XG4gICAgLmRyb3Bkb3duLWNlbGwtdmFsdWUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0aW5nOm5vdCguaXMtaW5saW5lKSB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duIEVkaXRpbmcgSW5saW5lXG4gICYuaXMtZWRpdGluZy5pcy1kcm9wZG93bi5pcy1pbmxpbmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBpZHMtZHJvcGRvd24ge1xuICAgICAgcGFkZGluZzogMCB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBUZXh0IEVkaXRhYmxlIENlbGxcbiAgJi5mb3JtYXR0ZXItdGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgfVxuXG4gICYuZm9ybWF0dGVyLXJvdy1yZW9yZGVyIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cblxuICAvLyBFZGl0aW5nIFVwcGVyY2FzZVxuICAmLmlzLWVkaXRpbmcuaXMtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgaWRzLWxpc3QtYm94LW9wdGlvbixcbiAgICBpZHMtZHJvcGRvd246OnBhcnQodHJpZ2dlcmZpZWxkLWlucHV0KSxcbiAgICBpZHMtaW5wdXQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gRnJvemVuIENlbGxzXG4gICYuZnJvemVuIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sb3ItYmFja2dyb3VuZCk7XG4gICAgei1pbmRleDogMjsgLy8gYmVsb3cgZm9jdXNlZCBjZWxsICh6LWluZGV4OiAzKSBzbyBmb2N1cyBib3gtc2hhZG93IGlzIG5vdCBjbGlwcGVkXG4gIH1cblxuICAvLyBDaGFuZ2UgYm9yZGVycyBmb3Igc2Nyb2xsaW5nXG4gICYuZnJvemVuLWxhc3Qge1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJvcmRlcik7XG5cbiAgICArIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgICB9XG4gIH1cblxuICAmLmZyb3plbi1sZWZ0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgIC8vIER5bmFtaWNhbGx5IGFkZGVkIHdpZHRoc1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggMTAge1xuICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICBsZWZ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZyb3plbi1jb2x1bW4tbGVmdC13aWR0aC0jeyRpfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mcm96ZW4tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxuXG4gICYuaXMtZGlydHk6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgaWRzLWRhdGEtZ3JpZC1jZWxsLWRpcnR5LXRyYWNrZXItaWNvbjtcbiAgfVxuXG4gICYuaXMtZGlydHkuaXMtaW5saW5lIHtcbiAgICAmLmZvcm1hdHRlci10cmVlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWRzLWRhdGEtZ3JpZC1jZWxsLWRpcnR5LXRyYWNrZXItaWNvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZHJvcGRvd246OmJlZm9yZSB7XG4gICAgICBtYXJnaW4taW5saW5lOiA2cHg7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNnB4O1xuICAgIH1cblxuICAgIGlkcy1pbnB1dCB7XG4gICAgICAmOjpwYXJ0KGRpcnR5LXRyYWNrZXItaWNvbikge1xuICAgICAgICAtLWlkcy1pY29uLWhlaWdodC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtZGlydHkuaXMtZHJvcGRvd24uaXMtZWRpdGluZzpub3QoLmlzLWlubGluZSk6OmJlZm9yZSB7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDNweDtcbiAgICBtYXJnaW4taW5saW5lOiAzcHg7XG4gIH1cblxuICAmLmlzLWludmFsaWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1iYWNrZ3JvdW5kLWVycm9yKTtcbiAgfVxuXG4gICYuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICB9XG5cbiAgaWRzLWFsZXJ0IHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cblxuICBpZHMtdGFnIHtcbiAgICAtLWlkcy10YWctbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gIH1cblxuICBpZHMtcHJvZ3Jlc3MtYmFyIHtcbiAgICBtYXJnaW46IHZhcigtLWlkcy1wcm9ncmVzcy1iYXItZ3JpZC1jZWxsLW1hcmdpbik7XG4gIH1cblxuICAmLmlzLWVkaXRpbmcge1xuICAgICRpY29uLXN0eWxlczogKFxuICAgICAgJ3RpbWVwaWNrZXInOiAnY2xvY2snLFxuICAgICAgJ2RhdGVwaWNrZXInOiAnY2FsZW5kYXInXG4gICAgKTtcblxuICAgICRmaWVsZC1oZWlnaHRzOiAoXG4gICAgICAneHMnOiAoLTVweCwgMXB4KSxcbiAgICAgICdzbSc6ICh2YXIoLS1pZHMtc3BhY2UtM3hzKSwgMXB4KVxuICAgICk7XG5cbiAgICBAZWFjaCAkY2xhc3MsICRpY29uIGluICRpY29uLXN0eWxlcyB7XG4gICAgICAmLmlzLSN7JGNsYXNzfSB7XG4gICAgICAgIEBlYWNoICRoZWlnaHQsICR2YWx1ZXMgaW4gJGZpZWxkLWhlaWdodHMge1xuICAgICAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kW2ljb249JyN7JGljb259J11bZmllbGQtaGVpZ2h0PScjeyRoZWlnaHR9J10ge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGxpc3QubnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBsaXN0Lm50aCgkdmFsdWVzLCAyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgaGVpZ2h0OiAneHhzJ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5bZGF0YS1yb3ctaGVpZ2h0PSd4eHMnXSB7XG4gIC5mb3JtYXR0ZXItcHJvZ3Jlc3Mge1xuICAgIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKTtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWRpcnR5OjpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogNHB4O1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAxcHg7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMXB4O1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1kaXJ0eS5pcy1pbmxpbmU6OmJlZm9yZSB7XG4gICAgbWFyZ2luLWlubGluZTogM3B4O1xuICAgIHRvcDogM3B4O1xuICB9XG5cbiAgaWRzLWJ1dHRvbiB7XG4gICAgLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICBpZHMtYmFkZ2Uge1xuICAgIC0taWRzLWJhZGdlLWZvbnQtbGluZS1oZWlnaHQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXh4cykgLSA4cHgpO1xuICB9XG5cbiAgaWRzLXRhZyB7XG4gICAgLS1pZHMtdGFnLWhlaWdodDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHhzKSAtIDZweCk7XG4gIH1cblxuICBpZHMtaW5wdXQsXG4gIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAtLWlkcy1zcGFjZS0zeHM6IDA7XG4gICAgLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIH1cblxuICBpZHMtaW5wdXQge1xuICAgICY6OnBhcnQoZGlydHktdHJhY2tlci1pY29uKSB7XG4gICAgICAtLWlkcy1pY29uLWhlaWdodC1kZWZhdWx0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAtLWlkcy1pY29uLXdpZHRoLWRlZmF1bHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjpwYXJ0KGlucHV0KSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGluZyB7XG4gICAgaWRzLWlucHV0OjpwYXJ0KGlucHV0KSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSA0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkanVzdCBub24gaW5saW5lIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICAvLyBBZGp1c3QgZHJvcGRvd24gZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGluZy5pcy1kcm9wZG93bi5pcy1pbmxpbmUgaWRzLWRyb3Bkb3duIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSkgdmFyKC0taWRzLXNwYWNlLTR4cyk7XG5cbiAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lcjpub3QoLmlzLXNlbGVjdGlvbi1jaGVja2JveCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgIH1cblxuICAgICYuaXMtZWRpdGFibGUuaXMtZWRpdGFibGUuaXMtaW52YWxpZCBpZHMtYWxlcnQge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS00eHMpO1xuICAgIH1cblxuICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICd4cydcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS1yb3ctaGVpZ2h0PSd4cyddIHtcbiAgLmZvcm1hdHRlci1wcm9ncmVzcyB7XG4gICAgaWRzLXByb2dyZXNzLWJhciB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1kaXJ0eTo6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZGlydHkuaXMtaW5saW5lOjpiZWZvcmUge1xuICAgIG1hcmdpbi1pbmxpbmU6IDNweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuXG4gIGlkcy1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi1pY29uLXBhZGRpbmc6IDNweDtcbiAgfVxuXG4gIGlkcy1iYWRnZSB7XG4gICAgLS1pZHMtYmFkZ2UtZm9udC1saW5lLWhlaWdodDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHMpIC0gMTJweCk7XG4gIH1cblxuICBpZHMtdGFnIHtcbiAgICAtLWlkcy10YWctaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC14eHMpIC0gNHB4KTtcbiAgfVxuXG4gIGlkcy1pbnB1dCB7XG4gICAgLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG5cbiAgICAmOjpwYXJ0KGRpcnR5LXRyYWNrZXItaWNvbikge1xuICAgICAgLS1pZHMtaWNvbi1oZWlnaHQtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgLS1pZHMtaWNvbi13aWR0aC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRqdXN0IG5vbiBpbmxpbmUgZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUgLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIC8vIEFkanVzdCBkcm9wZG93biBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0aW5nLmlzLWRyb3Bkb3duLmlzLWlubGluZSBpZHMtZHJvcGRvd24ge1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKSB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lcjpub3QoLmlzLXNlbGVjdGlvbi1jaGVja2JveCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgfVxuXG4gICAgaWRzLWh5cGVybGluayB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IGhlaWdodDogJ3NtJ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbltkYXRhLXJvdy1oZWlnaHQ9J3NtJ10ge1xuICAuZm9ybWF0dGVyLXByb2dyZXNzIHtcbiAgICBpZHMtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXNtKTtcbiAgICB9XG4gIH1cblxuICBpZHMtYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gIC8vIEFkanVzdCBub24gaW5saW5lIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNnB4O1xuICB9XG5cbiAgLy8gQWRqdXN0IGRyb3Bkb3duIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSBpZHMtaWNvbi5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lcjpub3QoLmlzLXNlbGVjdGlvbi1jaGVja2JveCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gICAgfVxuXG4gICAgaWRzLWh5cGVybGluayB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgaGVpZ2h0OiAnbWQnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuW2RhdGEtcm93LWhlaWdodD0nbWQnXSB7XG4gIC5mb3JtYXR0ZXItcHJvZ3Jlc3Mge1xuICAgIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkanVzdCBkcm9wZG93biBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZSAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDdweDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuXG4gICAgOjpzbG90dGVkKGlkcy10cmlnZ2VyLWJ1dHRvbikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICdsZydcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS1yb3ctaGVpZ2h0PSdsZyddIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtc2VsZWN0aW9uLWNoZWNrYm94KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLWxnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTGlzdCBTdHlsZSBGZWF0dXJlXG4uaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgLy8gQ2hhbmdlIENlbGwgQm9yZGVycy9CR1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtY2VsbC1jb2xvci1ib3JkZXIpO1xuXG4gICAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KVxuICAgIH1cblxuICAgICYuaXMtZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1ib2R5IC5pZHMtZGF0YS1ncmlkLXJvdzpmaXJzdC1jaGlsZCAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzXG50ZC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xufVxuXG4vLyBIYW5kbGUgUlRMXG46aG9zdChbZGlyPSdydGwnXSkge1xuICAuaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZ2F0ZSBCb3JkZXJzXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICYuZnJvemVuLWxlZnQge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAgIC8vIER5bmFtaWNhbGx5IGFkZGVkIHdpZHRoc1xuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAxMCB7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgICByaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mcm96ZW4tY29sdW1uLWxlZnQtd2lkdGgtI3skaX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cblxuICAgICYuaXMtZGlydHkge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXI6OmJlZm9yZSxcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWRpcnR5LWluZGljYXRvci1jb2xvci1iYWNrZ3JvdW5kLWRpcnR5KSAgdmFyKC0taWRzLWlucHV0LWRpcnR5LWluZGljYXRvci1jb2xvci1iYWNrZ3JvdW5kLWRpcnR5KSB0cmFuc3BhcmVudCAgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5mb3JtYXR0ZXItdGV4dG1hc2sge1xuICAgICAgLmlzLXRleHRtYXNrIHtcbiAgICAgICAgdW5pY29kZS1iaWRpOiBwbGFpbnRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpeCBzbG90dGVkIHRyaWdnZXIgYnV0dG9uIG1hcmdpbnMgd2hlbiBuZXN0ZWQgd2l0aGluIGNlbGxzXG4uaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG59XG4iLCJAdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgKjtcblxuLy8gSW5jbHVkZXMgSGlkZGVuIENsYXNzZXMgYW5kIE1peGlucyBmb3IgaGlkaW5nIGVsZW1lbnRzIGF0IGJyZWFrcG9pbnRzXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWRlLXh4bC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14eGwtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXh4bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteHhsLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteHhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14eGwtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14eGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXhsLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteGwtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14bC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14bC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1sZy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLWxnLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtbGctdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtbGctdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtbWQtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1tZC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLW1kLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLW1kLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXNtLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtc20tZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1zbS11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1zbS11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14cy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXhzLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteHMtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteHMtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHMtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWhpZGUtbWl4aW4uc2NzcycgYXMgaGlkZTtcblxuOmhvc3QoLmhpZGUtc20tZG93bikge1xuICBAaW5jbHVkZSBoaWRlLmhpZGUtc20tZG93bigpO1xufVxuXG4uaWRzLXBvcHVwLW1lbnUge1xuICAmOm5vdChbaGlkZGVuXSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IHZhcigtLWlkcy16LWluZGV4LTE2MCk7XG4gIH1cbn1cbiIsIi8qKlxuICogQ2hlY2tib3ggTWl4aW5zLlxuICovXG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLy8gVW5jaGVja2VkXG5AbWl4aW4gY2hlY2tib3gtdW5jaGVja2VkKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItcmFkaXVzKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAzcHg7XG59XG5cbkBtaXhpbiBjaGVja2JveC11bmNoZWNrZWQtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZXJyb3IpO1xufVxuXG4vLyBDaGVja2VkXG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtY2hlY2tlZC1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogdmFyKC0taWRzLWZvbnQtc2l6ZS0yeHMpIHNvbGlkIHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQtYWZ0ZXIpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItd2lkdGgtc2VsZWN0ZWQtYWZ0ZXIpO1xuICBhbmltYXRpb246IGNoZWNrIDAuMTVzO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IDRweDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNHB4O1xufVxuXG4vLyBJbmRldGVybWluYXRlXG5AbWl4aW4gY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtaW5kZXRlcm1pbmF0ZSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1pbmRldGVybWluYXRlKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFuaW1hdGlvbjogY2hlY2tpbmRldGVybWluYXRlIDAuMTVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1pbmRldGVybWluYXRlLWFmdGVyKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyLXdpZHRoLWluZGV0ZXJtaW5hdGUpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiA2cHg7XG4gIGxlZnQ6IDJweDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHdpZHRoOiAxMHB4O1xufVxuXG4vLyBEaXNhYmxlZFxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzLWVycm9yKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLXNlbGVjdGVkLWRpc2FibGVkKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWRpc2FibGVkLXRleHQge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi8vIEZvY3VzXG5AbWl4aW4gY2hlY2tib3gtZm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzKTtcbn1cblxuQG1peGluIGNoZWNrYm94LWZvY3VzLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWZvY3VzLWVycm9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWNoZWNrYm94LXNoYWRvdy1mb2N1cy1lcnJvcik7XG59XG5cbi8vIENvbG9yZWRcbiRjb2xvci1uYW1lczogJ2dyZWVuJyAncHVycGxlJyAnYmx1ZScgJ29yYW5nZScgJ3JlZCc7XG4kY29sb3ItdmFyczogLS1pZHMtY29sb3ItZ3JlZW4tNzAgLS1pZHMtY29sb3ItcHVycGxlLTcwIC0taWRzLWNvbG9yLWJsdWUtNzAgLS1pZHMtY29sb3Itb3JhbmdlLTcwIC0taWRzLWNvbG9yLXJlZC03MDtcblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQoKSB7XG4gIEBlYWNoICRuYW1lIGluICRjb2xvci1uYW1lcyB7XG4gICAgJGk6IGxpc3QuaW5kZXgoJGNvbG9yLW5hbWVzLCAkbmFtZSk7XG4gICAgJGNvbG9yOiB2YXIoI3tsaXN0Lm50aCgkY29sb3ItdmFycywgJGkpfSk7XG5cbiAgICAmW2NvbG9yPScjeyRuYW1lfSddIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY29sb3JlZC1ib3goJGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLWNoZWNrZWQoKTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1jb2xvcmVkLWJveC1mb2N1cygkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZC1ib3goJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkLWJveC1mb2N1cygkY29sb3IpIHtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vIEFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgY2hlY2sge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tpbmRldGVybWluYXRlIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cbn1cbiIsIi8qKlxuICogUmFkaW8gTWl4aW5zLlxuICovXG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLy8gVW5jaGVja2VkXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtcmFkaW8tYm9yZGVyLXJhZGl1cyk7XG4gIGhlaWdodDogMTRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAzcHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICB3aWR0aDogMTRweDtcbn1cblxuQG1peGluIHJhZGlvLXVuY2hlY2tlZC1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJhY2tncm91bmQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1yYWRpby1ib3JkZXItcmFkaXVzKTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogNnB4O1xuICB0b3A6IDZweDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gIHdpZHRoOiAwO1xufVxuXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkLWVycm9yLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xufVxuXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkLWVycm9yLWxhYmVsLXRleHQge1xuICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xufVxuXG4vLyBDaGVja2VkXG5AbWl4aW4gcmFkaW8tY2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLXNlbGVjdGVkKTtcbn1cblxuQG1peGluIHJhZGlvLWNoZWNrZWQtYWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8taW5uZXItY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWlubmVyLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDNweDtcbiAgdG9wOiAzcHg7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi8vIERpc2FibGVkXG5AbWl4aW4gcmFkaW8tZGlzYWJsZWQtdW5jaGVja2VkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1pZHMtcmFkaW8tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbkBtaXhpbiByYWRpby1kaXNhYmxlZC11bmNoZWNrZWQtZXJyb3ItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbn1cblxuQG1peGluIHJhZGlvLWRpc2FibGVkLXVuY2hlY2tlZC1lcnJvci1sYWJlbC10ZXh0IHtcbiAgY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xufVxuXG5AbWl4aW4gcmFkaW8tZGlzYWJsZWQtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItc2VsZWN0ZWQtZGlzYWJsZWQpO1xuICBvcGFjaXR5OiB2YXIoLS1pZHMtcmFkaW8tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbkBtaXhpbiByYWRpby1kaXNhYmxlZC10ZXh0IHtcbiAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICBjb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICBvcGFjaXR5OiB2YXIoLS1pZHMtcmFkaW8tZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi8vIEZvY3VzXG5AbWl4aW4gcmFkaW8tZm9jdXMge1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtcmFkaW8tc2hhZG93KTtcbn1cblxuQG1peGluIHJhZGlvLWZvY3VzLW5vdC1oaWRlLWZvY3VzIHtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLXJhZGlvLXNoYWRvdy1mb2N1cyk7XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuQHVzZSAnLi9pZHMtZGF0YS1ncmlkLWNvbW1vbicgYXMgKjtcbkB1c2UgJy4vaWRzLWRhdGEtZ3JpZC1maWx0ZXJzJyBhcyAqO1xuQHVzZSAnLi9pZHMtZGF0YS1ncmlkLWhlYWRlcicgYXMgKjtcbkB1c2UgJy4vaWRzLWRhdGEtZ3JpZC1yb3cnIGFzICo7XG5AdXNlICcuL2lkcy1kYXRhLWdyaWQtY2VsbCcgYXMgKjtcbkB1c2UgJy4uLy4uL2NvbXBvbmVudHMvaWRzLXBvcHVwLW1lbnUvaWRzLXBvcHVwLW1lbnUnIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jaGVja2JveC1taXhpbicgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXJhZGlvLW1peGluJyBhcyAqO1xuXG46aG9zdCB7XG4gIC0taWRzLWRhdGEtZ3JpZC1jb2x1bW4td2lkdGhzOiByZXBlYXQoMSwgbWlubWF4KDExMHB4LCAxZnIpKTtcblxuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pZHMtZGF0YS1ncmlkIHtcbiAgLy8gT3V0c2lkZSBib3JkZXIgYW5kIEJhY2tncm91bmQgYW5kIHNpemluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbG9yLWJhY2tncm91bmQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtMnhzKTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIC8vIE5lZWRlZCBzbyBzdGlja3kgaGVhZGVyIHdvcmtzIGluIHNhZmFyaVxuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcblxuICAvLyBGb250IEluZm9cbiAgQGluY2x1ZGUgbWl4aW5zLmFudGlhbGlhc2VkKCk7XG5cbiAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLXNtKTtcblxuICAvLyBTZWxlY3Rpb24gQ2hlY2tib3hcbiAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENoZWNrYm94IGFsaWdubWVudHNcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5hbGlnbi1sZWZ0IHtcbiAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWNvbnRhaW5lcixcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmFsaWduLWNlbnRlciB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuYWxpZ24tcmlnaHQge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgY2hlY2tib3gtdW5jaGVja2VkKCk7XG5cbiAgICAmLmVkaXRhYmxlIHtcbiAgICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICB9XG5cbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jaGVja2JveC1jb2xvci1ib3JkZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCgpO1xuXG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuXG4gICAgJi5jaGVja2VkIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNoZWNrZWQoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1jaGVja2VkLWFmdGVyKCk7XG5cbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaW5kZXRlcm1pbmF0ZSB7XG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1pbmRldGVybWluYXRlKCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1hZnRlcigpO1xuXG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWxlY3Rpb24gUmFkaW9cbiAgLmlkcy1kYXRhLWdyaWQtcmFkaW8tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtcmFkaW8ge1xuICAgIEBpbmNsdWRlIHJhZGlvLXVuY2hlY2tlZCgpO1xuXG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSByYWRpby11bmNoZWNrZWQtYWZ0ZXIoKTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHJhZGlvLWRpc2FibGVkLXVuY2hlY2tlZCgpO1xuICAgIH1cblxuICAgICYuY2hlY2tlZCB7XG4gICAgICBAaW5jbHVkZSByYWRpby1jaGVja2VkKCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaW8tY2hlY2tlZC1hZnRlcigpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaW8tZGlzYWJsZWQtY2hlY2tlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRyZWUgR3JpZFxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIC5pZHMtZGF0YS1ncmlkLXRyZWUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGlkcy1idXR0b24gKyAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciAudGV4dC1lbGxpcHNpcyB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuXG4gICAgaWRzLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICBpZHMtYnV0dG9uLmV4cGFuZC1idXR0b24ge1xuICAgICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZDogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItcHJlc3NlZDogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICBpZHMtaHlwZXJsaW5rIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIE1hcHMgdXNlZCBmb3IgYWx0ZXJpbmcgYWxpZ25tZW50cyBvZiBlZGl0YWJsZSBncmlkIGNlbGxzIGluIGRpZmZlcmVudCBzY2VuYXJpb3MuXG4gIC8vIFRoZXNlIHJ1bGVzIGFyZSBiYXNlZCBvbiByb3ctaGVpZ2h0LCB3aGljaCBpcyBkZWZpbmVkIGF0IHRoZSBgLmlkcy1kYXRhLWdyaWRgIGVsZW1lbnQgbGV2ZWwuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJHJvdy1oZWlnaHQtaW5saW5lLXRyZWUtZ3JpZC1idXR0b24td2lkdGhzOiAoXG4gICAgJ3h4cyc6IDMwLFxuICAgICd4cyc6IDMyLFxuICAgICdzbSc6IDM0LFxuICAgICdtZCc6IDQwLFxuICAgICdsZyc6IDQwXG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtcGFkZGluZy1vZmZzZXRzOiAoXG4gICAgJ3h4cyc6IDEyLFxuICAgICd4cyc6IDEwLFxuICAgICdzbSc6IDgsXG4gICAgJ21kJzogMyxcbiAgICAnbGcnOiAzXG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtZGlydHktaW5kaWNhdG9yLW9mZnNldHM6IChcbiAgICAneHhzJzogMSxcbiAgICAneHMnOiAxLFxuICAgICdzbSc6IDEsXG4gICAgJ21kJzogMixcbiAgICAnbGcnOiAyXG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXRzOiAoXG4gICAgJ3h4cyc6IDMsXG4gICAgJ3hzJzogNCxcbiAgICAnc20nOiA1LFxuICAgICdtZCc6IDYsXG4gICAgJ2xnJzogNlxuICApO1xuXG4gICRyb3ctaGVpZ2h0LWluZGVudHM6IChcbiAgICAneHhzJzogMTIsXG4gICAgJ3hzJzogMTMsXG4gICAgJ3NtJzogMTUsXG4gICAgJ21kJzogMTcsXG4gICAgJ2xnJzogMTdcbiAgKTtcblxuICAkcm93LWhlaWdodC1vdXRsaW5lLXBhZGRpbmc6IChcbiAgICAneHhzJzogMSxcbiAgICAneHMnOiAyLFxuICAgICdzbSc6IDMsXG4gICAgJ21kJzogNCxcbiAgICAnbGcnOiA0XG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtb3V0bGluZS1vZmZzZXRzOiAoXG4gICAgJ3h4cyc6IDEsXG4gICAgJ3hzJzogMixcbiAgICAnc20nOiA1LFxuICAgICdtZCc6IDgsXG4gICAgJ2xnJzogMTJcbiAgKTtcblxuICBAZWFjaCAkcm93SGVpZ2h0LCAkb2Zmc2V0IGluICRyb3ctaGVpZ2h0LXBhZGRpbmctb2Zmc2V0cyB7XG4gICAgLy8gVGhlc2UgdmFsdWVzIGFyZSBkaWZmZXJlbnQgZm9yIGVhY2ggUm93IEhlaWdodFxuICAgICRidXR0b24td2lkdGg6IG1hcC5nZXQoJHJvdy1oZWlnaHQtaW5saW5lLXRyZWUtZ3JpZC1idXR0b24td2lkdGhzLCAkcm93SGVpZ2h0KTtcbiAgICAkaW5kZW50OiBtYXAuZ2V0KCRyb3ctaGVpZ2h0LWluZGVudHMsICRyb3dIZWlnaHQpO1xuICAgICRkaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0OiBtYXAuZ2V0KCRyb3ctaGVpZ2h0LWRpcnR5LWluZGljYXRvci1vZmZzZXRzLCAkcm93SGVpZ2h0KTtcbiAgICAkaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXQ6IG1hcC5nZXQoJHJvdy1oZWlnaHQtaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXRzLCAkcm93SGVpZ2h0KTtcbiAgICAkb3V0bGluZS1vZmZzZXQ6IG1hcC5nZXQoJHJvdy1oZWlnaHQtb3V0bGluZS1vZmZzZXRzLCAkcm93SGVpZ2h0KTtcbiAgICAkb3V0bGluZS1wYWRkaW5nOiBtYXAuZ2V0KCRyb3ctaGVpZ2h0LW91dGxpbmUtcGFkZGluZywgJHJvd0hlaWdodCk7XG5cbiAgICAmW2RhdGEtcm93LWhlaWdodD0nI3skcm93SGVpZ2h0fSddIHtcbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLy8gVG9wLWxldmVsIGdyaWQgYWxpZ25tZW50cyB0aGF0IGRlcGVuZCBzb2xlbHkgb24gcm93IGhlaWdodFxuICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICYuaXMtZGlydHkge1xuICAgICAgICAgICY6bm90KC5pcy1pbmxpbmUpIHtcbiAgICAgICAgICAgICYuZm9ybWF0dGVyLXRleHQge1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAjeyRkaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7JGRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmlzLWlubGluZSB7XG4gICAgICAgICAgICAmLmZvcm1hdHRlci10ZXh0IHtcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogI3skaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZWZpbmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgXCJpbmxpbmUtZWRpdFwiIHN0eWxlJ3Mgb3V0bGluZVxuICAgICAgICAmLmlzLWVkaXRhYmxlLmlzLWlubGluZSB7XG4gICAgICAgICAgJjpub3QoLmZvcm1hdHRlci10cmVlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWlubGluZS1lZGl0YWJsZS1vdXRsaW5lKCRvdXRsaW5lLXBhZGRpbmcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZm9ybWF0dGVyLXRyZWUge1xuICAgICAgICAgICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWlubGluZS1lZGl0YWJsZS1vdXRsaW5lKCRvdXRsaW5lLXBhZGRpbmcpO1xuXG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRvdXRsaW5lLW9mZnNldCArIDR9cHgpO1xuXG4gICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLSN7JG91dGxpbmUtb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBzdGFydCBwYWRkaW5nIGZyb20gdHJlZS1ncmlkLWNvbnRhaW5lZCBgLnRleHQtZWxsaXBzaXNgIGVsZW1lbnRzXG4gICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICB9XG5cbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLy8gRXhwYW5kYWJsZSBncmlkL3RyZWUgZ3JpZCBuZXN0ZWQgYWxpZ25tZW50IHJ1bGVzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDgge1xuICAgICAgICBbYXJpYS1sZXZlbD0nI3skaX0nXSAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7JGJ1dHRvbi13aWR0aH1weDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWRzLWJ1dHRvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWRzLWJ1dHRvbiArIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeyRidXR0b24td2lkdGggKyAoJGluZGVudCAqICgkaSAtIDEpKSArICgkb2Zmc2V0KX1weDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWRzLWJ1dHRvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7KCRpbmRlbnQgKiAoJGkgLSAxKSkgKyAkb2Zmc2V0fXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uICsgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAgLy8gRGlydHktdHJhY2tlciBydWxlcyBkZXBlbmRlbnQgb24gYGFyaWEtbGV2ZWxgIG5lc3RpbmdcbiAgICAgICAgICAmLmlzLWRpcnR5IHtcbiAgICAgICAgICAgICYuaXMtaW5saW5lIHtcbiAgICAgICAgICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6ICN7JGlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7JGlubGluZS1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0fXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRml4IGZvciB4eHMgcm93IGhlaWdodCB0cmVlIGZvcm1hdHRlciBjZWxscyB3aXRoIGV4cGFuZCBpY29uc1xuICAmW2RhdGEtcm93LWhlaWdodD0neHhzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lLmZvcm1hdHRlci10cmVlIHtcbiAgICAgIC50ZXh0LWVsbGlwc2lzOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpc3QgU3R5bGUgRmVhdHVyZVxuICAmLmlzLWxpc3Qtc3R5bGUge1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgfVxuXG4gIC8vIFVzZWQgZm9yIHJvdyBzdGFydFxuICAmLndhaXRpbmctbG9hZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1ib2R5IHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCBmb3IgRnJvemVuIENvbHVtbnNcbi5pZHMtZGF0YS1ncmlkLWJvZHkge1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4vLyBTdGFuZGFsb25lIENzcyBCb3JkZXJzXG50YWJsZS5pZHMtZGF0YS1ncmlkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbi8vIEVtcHR5IE1lc3NhZ2Vcbi5pZHMtZGF0YS1ncmlkLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmlkcy1kYXRhLWdyaWQtdG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDZweCB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgfVxufVxuXG5pZHMtZW1wdHktbWVzc2FnZTpub3QoW2hpZGRlbl0pLFxuOjpzbG90dGVkKGlkcy1lbXB0eS1tZXNzYWdlOm5vdChbaGlkZGVuXSkpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xufVxuXG4vLyBBZGp1c3QgZm9yIGZpbHRlciByb3dcbmlkcy1lbXB0eS1tZXNzYWdlLmhhcy1maWx0ZXItcm93Om5vdChbaGlkZGVuXSkge1xuICAmLmZpbHRlci1yb3ctc2l6ZS14eHMge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMjRweDtcbiAgfVxuXG4gICYuZmlsdGVyLXJvdy1zaXplLXhzIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDM0cHg7XG4gIH1cblxuICAmLmZpbHRlci1yb3ctc2l6ZS1zbSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzNHB4O1xuICB9XG5cbiAgJi5maWx0ZXItcm93LXNpemUtbWQge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMzRweDtcbiAgfVxuXG4gICYuZmlsdGVyLXJvdy1zaXplLWxnIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDI2cHg7XG4gIH1cblxuICAmLmhhcy1wYWdlciB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxNHB4O1xuICB9XG59XG5cbjo6c2xvdHRlZChpZHMtZW1wdHktbWVzc2FnZS5oYXMtZmlsdGVyLXJvdzpub3QoW2hpZGRlbl0pKSB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMTRweDtcbn1cblxuLmhhcy1lbXB0eS1tZXNzYWdlIC5pZHMtZGF0YS1ncmlkIHtcbiAgbWluLWhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWlnaHQtbWluKTtcbn1cblxuLy8gTG9hZGluZyBJbmRpY2F0b3Jcbmlkcy1sb2FkaW5nLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICZbc3RvcHBlZF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOm5vdChbZGlzYWJsZS1yb3ctaGlnaGxpZ2h0XSkpIGlkcy1kYXRhLWdyaWQtcm93OmhvdmVyOm5vdChbcGFydCo9J3Jvdy0nXSk6bm90KC5zZWxlY3RlZCkge1xuICBpZHMtZGF0YS1ncmlkLWNlbGwsXG4gIGlkcy1kYXRhLWdyaWQtY2VsbC5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgfVxuXG4gIGlkcy1kYXRhLWdyaWQtY2VsbC5pcy1pbnZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1lcnJvci1ob3Zlcik7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmZyb3plbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gIH1cbn1cblxuI2RhdGFncmlkLW1vZGFsIHtcbiAgLS1pZHMtbW9kYWwtY29udGVudC1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gIC0taWRzLW1vZGFsLWhlYWRlci1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utc20pIHZhcigtLWlkcy1zcGFjZS1zbSkgdmFyKC0taWRzLXNwYWNlLXhzKSB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAtLWlkcy1wb3B1cC1maXQtaGVpZ2h0OiA0MDBweDtcblxuICBpZHMtc3dhcHBhYmxlLWl0ZW0ge1xuICAgIC0taWRzLXN3YXBwYWJsZS1pdGVtLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQ6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtYmx1ZS13ZWFrZXN0KTtcbiAgICAtLWlkcy1zd2FwcGFibGUtaXRlbS1jb2xvci10ZXh0LXNlbGVjdGVkOiB2YXIoLS1pZHMtY29sb3ItZm9yZWdyb3VuZC1kZWZhdWx0LWRlZmF1bHQpO1xuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtbW9kYWwtcm93LWhlaWdodCk7XG4gIH1cblxuICAjZGF0YWdyaWQtbW9kYWwtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGNhbGModmFyKC0taWRzLXNwYWNlLTA0KSAqIC0xKTtcbiAgfVxuXG4gIGlkcy1zZWFyY2gtZmllbGQge1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdDogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWtlc3QpO1xuICAgIC0taWRzLXNlYXJjaC1maWVsZC1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrZXN0KTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZGVmYXVsdDogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWspO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3c6IG5vbmU7XG4gICAgLS1pZHMtc2VhcmNoLWZpZWxkLWJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuICAgIC0taWRzLXNlYXJjaC1maWVsZC1ib3JkZXItd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtc20pIHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0taWRzLXNwYWNlLTA4KSAqIC0xKTtcbiAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIGlkcy10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGlkcy1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgaWRzLXN3YXBwYWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZGF0YWdyaWQtbW9kYWwtY29sdW1uLWxpc3Qge1xuICAgIC0taWRzLW1vZGFsLWNvbHVtbi1saXN0LWhlaWdodDogY2FsYygxMDAlIC0gMTRweCk7XG5cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1pZHMtbW9kYWwtY29sdW1uLWxpc3QtaGVpZ2h0KTtcbiAgfVxuXG59XG5cbi5zZWxlY3Rpb24tYm9yZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjA1cyBlYXNlO1xufVxuIiwiLy8gQnJlYWtwb2ludHMgLSB0aGlzIGNhbnQgYmUgdG9rZW5zXG4kYnJlYWtwb2ludC14eGw6IDE0NDBweDtcbiRicmVha3BvaW50LXhsOiAxMjgwcHg7XG4kYnJlYWtwb2ludC1sZzogMTAyNHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDg0MHB4O1xuJGJyZWFrcG9pbnQtc206IDYwMHB4O1xuJGJyZWFrcG9pbnQteHM6IDMyMHB4O1xuXG4vLyBTZXRzIFRleHQgQW50aWFsaWFzaW5nXG5AbWl4aW4gYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gdmVuZG9yIHByZWZpeGVkIHRyYW5zaXRpb25zIGZvciByZWd1bGFyIGF0dHJpYnV0ZXMgKG5vbi12ZW5kb3IgcHJlZml4ZWQpXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMtbGlzdC4uLikge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fXRyYW5zaXRpb246ICR0cmFuc2l0aW9ucy1saXN0O1xuICB9XG59XG5cbi8vIG1ha2UgdGhlIHRleHQgaW52aXNpYmxlIHZpc3VhbGx5IGJ1dCByZWFkYWJsZSBieSBzY3JlZW4gcmVhZGVyc1xuQG1peGluIGF1ZGlibGUoKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2VuZXJhdGVzIGEgcHNldWRvLWVsZW1lbnQgaW4gdGhlIGZvcm0gb2YgYW4gXCJvdXRsaW5lXCJcbi8vIGluIGEgY2VsbCB0aGF0IHJlcHJlc2VudHMgdGhlIFwiaW5saW5lLCBlZGl0YWJsZVwiIHN0YXRlLlxuQG1peGluIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG1hcmdpbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtMnhzKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbjogI3skbWFyZ2lufXB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skbWFyZ2luICogMn1weCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtYXJnaW4gKiAyfXB4KTtcbiAgfVxufVxuIl19 */`;
2736
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtZGF0YS1ncmlkIiwic291cmNlcyI6WyJpZHMtZGF0YS1ncmlkLWZpbHRlcnMuc2NzcyIsImlkcy1kYXRhLWdyaWQtaGVhZGVyLnNjc3MiLCJpZHMtZGF0YS1ncmlkLXJvdy5zY3NzIiwiaWRzLWRhdGEtZ3JpZC1jZWxsLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1oaWRlLW1peGluLnNjc3MiLCIuLi9pZHMtcG9wdXAtbWVudS9pZHMtcG9wdXAtbWVudS5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY2hlY2tib3gtbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXJhZGlvLW1peGluLnNjc3MiLCJpZHMtZGF0YS1ncmlkLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucy5zY3NzIiwiaWRzLWRhdGEtZ3JpZC1jb21tb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBRUE7O0FBR0Y7RUFJRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQU1BO0FBQUE7QUFBQTtFQUdFOztBQUtOO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQ3hFTjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFXQTs7QUFUQTtFQUNFOztBQUdGO0VBQ0U7OztBQVFKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7QUFBQTtBQUFBO0VBR0U7O0FBTU47RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBRUU7O0FBR0Y7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUE7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFJRTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTs7O0FBS047RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUtBO0FBQUE7RUFDRTs7O0FBTUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQU1GO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFNQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLQTtFQUNFOztBQUlKO0FBQUE7RUFFRTs7QUFLQTtFQUNFOzs7QUFNTjtFQUNFOzs7QUFNRTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOztBQU1KO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFPSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDRTs7QUFLRjtFQUNFOztBQUtOO0VBQ0U7OztBQVFBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUU7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7OztBQzlvQlY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQU1BO0VBRUU7RUFDQTs7QUFHRjtFQUVFOztBQUVBO0VBRUU7O0FBSUo7RUFDRTs7QUFLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0VBQ0U7O0FBR0U7RUFLRTtFQUNBOztBQUxBO0VBQ0k7O0FBU1Y7RUFDRTs7QUFHRTtFQUtFO0VBQ0E7O0FBTEE7RUFDRTs7QUFTUjtFQUNFOztBQUdFO0VBS0U7RUFDQTs7QUFMQTtFQUNFOzs7QUFXVjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7OztBQVFBO0VBQ0U7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7O0FBSUo7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQU1BO0VBQ0U7RUFDQTs7QUFLTjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFNTjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFLQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTs7QUFJRjtBQUFBO0VBRUU7OztBQVNNO0VBQ0k7O0FBU0o7RUFDSTs7QUFTSjtFQUNJOzs7QUN6U2Q7QUFHQTtBQWFBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUtFO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBS047RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFJRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBTUY7RUFDRTtFQUNBOztBQUtGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUtKO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTs7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDRTs7QUFNSjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFFQTtFQUNFOztBQU9KO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQU9GO0VBQ0U7O0FBTUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBR0U7O0FBRUE7RUFDRTs7QUFNRjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBS047RUFDRTs7QUFNQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVRBO0VBQ0U7O0FBWUo7RUFJRTs7QUFHRjtFQUNFOztBQUtBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFOztBQUVBO0VBQ0U7O0FBS0o7RUFDRTs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0FBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJRjtFQUNFOztBQUVBO0FBQUE7QUFBQTtFQUdFOztBQUtKO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBSUU7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQUdGO0VBaGRBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUE4Y0k7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUE5ZE47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQTRkRTtFQUNFO0VBQ0E7O0FBSUE7RUFDRTtFQUNBOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBaUJNO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7O0FBWVY7RUFDRTs7QUFJQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFOztBQUtKO0VBQ0U7O0FBSUY7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFFQTs7QUFJQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBVUo7RUFDRTs7QUFJQTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUtKO0VBQ0U7O0FBSUY7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOztBQUdGO0VBQ0U7OztBQVVKO0VBQ0U7O0FBSUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFVSjtFQUNFOztBQUlBO0VBQ0U7O0FBS0o7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUtGO0VBQ0U7OztBQVdGO0VBQ0U7OztBQVFKO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7OztBQU1FO0VBQ0U7O0FBTUY7RUFDRTtFQUNBOztBQUlFO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQUtOO0VBQ0U7O0FBSUE7RUFFRTs7QUFLRjtFQUNFOzs7QUFPUjtFQUNFOzs7QUN0M0JGO0VBQ0U7OztBQUlBO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQVdGO0VBREY7SUFFSTs7OztBQS9CRjtFQzVHRjtJRDZHSTs7OztBQ3hHRjtFQUNFO0VBQ0E7OztBQ1RKO0FBQUE7QUFBQTtBQW9JQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FDaktKO0FBQUE7QUFBQTtBQ1dBO0VBQ0U7RUFFQTtFQUNBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VDckJBO0VBQ0E7RUR5QkE7RUFDQTs7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7QUFLQTtBQUFBO0VBRUU7O0FBS0Y7RUFDRTs7QUFLRjtFQUNFOztBQUlKO0VGMURBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFMkRFO0VBQ0E7RUFDQTtFQUNBOztBQVBBO0VBQ0U7O0FBUUY7RUZmRjtFQUNBO0VBQ0E7RUVnQkk7O0FBR0Y7RUY3REY7RUFDQTs7QUUrREk7RUYzREo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRW9ETTs7QUFHRjtFRnBCSjtFQUNBOztBRXdCRTtFRnZERjtFQUNBOztBRXlESTtFRnJESjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFOENNOztBQU1OO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VENUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUN3R0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUR6R0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDb0dFO0VEdkVGO0VBQ0E7RUFDQTtFQUNBOztBQ3dFRTtFRDNGRjtFQUNBOztBQzZGSTtFRHpGSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUN1Rkk7RURuRUo7RUFDQTtFQUNBOztBQ3dFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQStFVTtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VFOVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRndRUTtFRW5SVjtFRnNSWTs7QUVwUlo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGNlFVO0VBQ0U7O0FBUVY7RUFDRTs7QUFRSTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFvQkE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBOUVGO0VBQ0U7RUFDQTs7QUFPRjtFQUNFO0VBQ0E7O0FBUU47RUU5UVI7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGd1FRO0VFblJWO0VGc1JZOztBRXBSWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUY2UVU7RUFDRTs7QUFRVjtFQUNFOztBQVFJO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQW9CQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUE5RUY7RUFDRTtFQUNBOztBQU9GO0VBQ0U7RUFDQTs7QUFRTjtFRTlRUjs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ3UVE7RUVuUlY7RUZzUlk7O0FFcFJaO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRjZRVTtFQUNFOztBQVFWO0VBQ0U7O0FBUUk7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBb0JBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQTlFRjtFQUNFO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBOztBQVFOO0VFOVFSOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRndRUTtFRW5SVjtFRnNSWTs7QUVwUlo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGNlFVO0VBQ0U7O0FBUVY7RUFDRTs7QUFRSTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFvQkE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBOUVGO0VBQ0U7RUFDQTs7QUFPRjtFQUNFO0VBQ0E7O0FBUU47RUU5UVI7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGd1FRO0VFblJWO0VGc1JZOztBRXBSWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUY2UVU7RUFDRTs7QUFRVjtFQUNFOztBQVFJO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQW9CQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFuQko7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBUUE7RUFDRTtFQUNBOztBQW5CSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFRQTtFQUNFO0VBQ0E7O0FBbkJKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQVFBO0VBQ0U7RUFDQTs7QUFZVjtFQUNFOztBQU1OO0VBQ0U7O0FBSUY7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQU1OO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBS0Y7QUFBQTtFQUVFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBRUE7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUVBO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLyogSWRzIERhdGEgR3JpZCBDb21wb25lbnQgLSBGaWx0ZXIgKi9cbi5pZHMtZGF0YS1ncmlkIHtcbiAgLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWRlZmF1bHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3IpO1xuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWljb24tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gIC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1ob3ZlcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIC0taWRzLW1lbnUtaXRlbS13aWR0aC1taW46IDE5MHB4O1xuICAtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1pbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIgaWRzLWRyb3Bkb3duIHtcbiAgICAtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1pbnNldC1pbmxpbmUtc3RhcnQ6IC0xcHg7XG5cbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J21kJ10gaWRzLWRyb3Bkb3duLFxuICAmW2RhdGEtcm93LWhlaWdodD0nc20nXSBpZHMtZHJvcGRvd24sXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4cyddIGlkcy1kcm9wZG93bixcbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIGlkcy1kcm9wZG93biB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICA6OnNsb3R0ZWQoW3Nsb3RePSdmaWx0ZXItJ10pIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taWRzLXNwYWNlLXNtKSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpICsgNHB4KTtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcblxuICAgICYuaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaWRzLWRyb3Bkb3duW2NvbXBhY3RdIGlkcy1saXN0LWJveC1vcHRpb24ge1xuICAgICAgZm9udC1zaXplOiB1bnNldDtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1zaXplLTIwKTtcbiAgICB9XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5pcy11cHBlcmNhc2Uge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICAgIGlkcy1saXN0LWJveC1vcHRpb24sXG4gICAgICBpZHMtZHJvcGRvd246OnBhcnQodHJpZ2dlcmZpZWxkLWlucHV0KSxcbiAgICAgIGlkcy1pbnB1dDo6cGFydChpbnB1dCkge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkYXRhLWZpbHRlci1jb25kaXRpb25zLWJ1dHRvbl0ge1xuICAgIC0taWRzLWJ1dHRvbi1pY29uLWNvbXBhY3QtaGVpZ2h0OiAyMHB4O1xuICAgIC0taWRzLWJ1dHRvbi1pY29uLWNvbXBhY3Qtd2lkdGg6IDM2cHg7XG5cbiAgICBtYXJnaW4taW5saW5lLWVuZDogMnB4O1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG5cbiAgICBpZHMtaWNvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAzcHg7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLTNweDtcbiAgICB9XG5cbiAgICBpZHMtaWNvbi1idXR0b24ge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKiBJZHMgRGF0YSBHcmlkIENvbXBvbmVudCAtIEhlYWRlciAqL1xuLmlkcy1kYXRhLWdyaWQtaGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gIHotaW5kZXg6IDU7IC8vIE11c3QgYmUgaGlnaGVyIHRoYW4gZm9jdXNlZCBib2R5IGNlbGxzICh6LWluZGV4OiAzKVxuICBoZWlnaHQ6IDM0cHg7XG5cbiAgJi5pcy1mcm96ZW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAmOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikge1xuICAgIGhlaWdodDogNjJweDtcbiAgfVxuXG4gIC8vIEZpbHRlciBidXR0b24gaGVpZ2h0XG4gIC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItc2l6ZTogMjhweDtcbn1cblxuLy8gSGVhZGVyIENoZWNrYm94XG4uaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICB3aWR0aDogMjBweDtcblxuICAmW2Rpc2FibGVkPSd0cnVlJ10ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94W2Rpc2FibGVkPSd0cnVlJ10ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNoZWNrYm94LW9wYWNpdHktZGlzYWJsZWQpO1xuICB9XG5cblxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveDpub3QoLmNoZWNrZWQpOm5vdCguaW5kZXRlcm1pbmF0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY2hlY2tib3gtY29sb3ItYm9yZGVyKTtcbiAgfVxufVxuXG4vLyBIZWFkZXIgQ2VsbCBBcmVhXG4uaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgbWluLWhlaWdodDogMjhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aGFzKC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyKSB7XG4gICAgaGVpZ2h0OiA2MnB4O1xuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaGVpZ2h0KTtcblxuICAgICAgaWRzLW1lbnUtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1oZWlnaHQpO1xuXG4gICAgICAgICY6OnBhcnQoYnV0dG9uKSB7XG4gICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlkcy1kcm9wZG93bjo6cGFydCh0cmlnZ2VyZmllbGQtZmllbGQtY29udGFpbmVyKSxcbiAgICAgIGlkcy1pbnB1dDo6cGFydChmaWVsZC1jb250YWluZXIpLFxuICAgICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaGVpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIaWRlIGZpcnN0IGJvcmRlclxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgJjpob3Zlci5pcy1hY3Rpb25hYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgfVxuXG4gICYuYWxpZ24tY2VudGVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQsXG4gICYuYWxpZ24tY2VudGVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCxcbiAgJi5hbGlnbi1yaWdodCAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLXNvcnRhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1sZyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgIGlkcy1tZW51LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNpemluZyBDZWxsc1xuICAucmVzaXplciB7XG4gICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXJlc2l6ZSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB3aWR0aDogNnB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAvLyBSZW9yZGVyYWJsZSBDZWxsc1xuICAucmVvcmRlcmVyIHtcbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItbW92ZSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogMzRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuXG4gICAgaWRzLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24pO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5yZW9yZGVyZXIge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDVweDtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGluaXRpYWw7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgLnJlc2l6ZXIge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMTAwJSAtIDZweCk7IC8vIFByZXZlbnRzIHVubmVlZGVkIHNjcm9sbGJhclxuICB9XG5cbiAgJi5kcmFnZ2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZHJhZy1iYWNrZ3JvdW5kLWNvbG9yKSAhaW1wb3J0YW50OyAvLyB0aGlzIGltcG9ydGFudCBpcyBuZWVkZWQgZm9yIGRyYWcgc3R5bGVzIHRvIHdvcmtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogLTEwMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgd2lkdGg6IDExMHB4O1xuICB9XG5cbiAgJi5hY3RpdmUtZHJhZy1jb2x1bW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdC1wbGFjZWhvbGRlci1kcmFnZ2luZyk7XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIC5yZW9yZGVyZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBSZW9yZGVyYWJsZSBDZWxsc1xuICAmLmZyb3plbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICAvLyBDaGFuZ2UgYm9yZGVycyBmb3IgZnJvemVuIGNvbHVtbiBzY3JvbGxpbmdcbiAgJi5mcm96ZW4tbGFzdCB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci1ib3JkZXIpO1xuXG4gICAgKyAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLWxlZnQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBEeW5hbWljYWxseSBhZGRlZCB3aWR0aHNcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgbGVmdDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mcm96ZW4tY29sdW1uLWxlZnQtd2lkdGgtI3skaX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHJpZ2h0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAvLyBXaWVyZCBjZW50ZXJpbmcgYnVnIChmcm96ZW4gcmlnaHQpXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWxnLXBhZGRpbmcpO1xuICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1jb2xvci10ZXh0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG4gIH1cbn1cblxuLmhlYWRlci10ZXh0LWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gUmVxdWlyZWQgaW5kaWNhdG9yIHVzaW5nIENTUyBwc2V1ZG8tZWxlbWVudFxuLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuaXMtcmVxdWlyZWQge1xuICAuaGVhZGVyLXRleHQtY29udGVudDo6YWZ0ZXIsXG4gIC5pZHMtY2hlY2tib3ggLmxhYmVsLXRleHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnKic7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1yZXF1aXJlZC1pbmRpY2F0b3ItY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxufVxuXG4uaWRzLWRhdGEtZ3JpZC1oZWFkZXItaWNvbiB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLXRleHQpO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbn1cblxuLy8gSGVhZGVyIHNvcnQgc3R5bGVzXG4uc29ydC1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLXNwYWNlLWxnKSAtIDJweCk7XG4gIHdpZHRoOiAxOHB4O1xufVxuXG4vLyBTb3J0IEhvdmVyIHN0YXRlc1xuLmlzLXNvcnRhYmxlIHtcbiAgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItaWNvbi11bnNvcnRlZCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSAwcztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItZXhwYW5kZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtaGVpZ2h0OiAxOHB4O1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1leHBhbmRlci1jb2xvcik7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0xMik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWV4cGFuZGVyLWNvbG9yLWFjdGl2ZSk7XG4gIH1cbn1cblxuW2RhdGEtcm93LWhlaWdodD0neHhzJ10gLmhlYWRlci1leHBhbmRlciB7XG4gIHRvcDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG59XG5cbjpob3N0KFtzaG93LWhlYWRlci1leHBhbmRlcl0pIC5oZWFkZXItZXhwYW5kZXIsXG4uY29sdW1uLWhlYWRlci1leHBhbmRlciAuaGVhZGVyLWV4cGFuZGVyIHtcbiAgZGlzcGxheTogdW5zZXQ7XG59XG5cbi5oYXMtc2VsZWN0aW9uY2hlY2tib3ggLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbn1cblxuLmlzLXNvcnRhYmxlLFxuLmhhcy1oZWFkZXJpY29uIHtcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG59XG5cbi8vIEFzY2VuZGluZyBzb3J0XG5bYXJpYS1zb3J0PSdhc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgLnNvcnQtaW5kaWNhdG9yIGlkcy1pY29uIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tc29ydGVkKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIERlc2NlbmRpbmcgc29ydFxuW2FyaWEtc29ydD0nZGVzY2VuZGluZyddIC5pcy1zb3J0YWJsZSAuc29ydC1pbmRpY2F0b3IgaWRzLWljb24ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItY29sb3ItaWNvbi1zb3J0ZWQpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gRHJhZyBhcnJvd3MgZm9yIHNvcnRpbmdcbi5pZHMtZGF0YS1ncmlkLXNvcnQtYXJyb3dzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IC01cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXItZHJhZy1hcnJvdy1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB0b3A6IC02cHg7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWRyYWctYXJyb3ctY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm90dG9tOiAtOXB4O1xuICB9XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzXG50ci5pZHMtZGF0YS1ncmlkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xufVxuXG50aC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLy8gTGlzdCBTdHlsZSBGZWF0dXJlXG4uaWRzLWRhdGEtZ3JpZC5pcy1saXN0LXN0eWxlIHtcbiAgLy8gQ2hhbmdlIEhlYWRlciBDb2xvclxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1saXN0LWhlYWRlci1jb2xvci10ZXh0KTtcbiAgfVxuXG4gIC8vIENoYW5nZSBTb3J0IEljb24gQ29sb3JzXG4gIC5pcy1zb3J0YWJsZSB7XG4gICAgaWRzLWljb24ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLWNvbG9yLWljb24tdW5zb3J0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIFthcmlhLXNvcnQ9J2Rlc2NlbmRpbmcnXSAuaXMtc29ydGFibGUgaWRzLWljb246bGFzdC1jaGlsZCxcbiAgW2FyaWEtc29ydD0nYXNjZW5kaW5nJ10gLmlzLXNvcnRhYmxlIGlkcy1pY29uOmZpcnN0LWNoaWxkICB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1oZWFkZXItY29sb3ItaWNvbi11bnNvcnRlZClcbiAgfVxuXG4gIC8vIENoYW5nZSBIZWFkZXIgQ2hlY2tib3hcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveDpub3QoLmNoZWNrZWQpOm5vdCguaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWxpc3QtaGVhZGVyLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIGZvciBGcm96ZW4gQ29sdW1uc1xuLmlkcy1kYXRhLWdyaWQtYm9keSB7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8vIEFkanVzdCBmb3IgUm93IEhlaWdodHMgKGxhcmdlIGlzIGRlZmF1bHQpXG4uaWRzLWRhdGEtZ3JpZCB7XG4gICZbZGF0YS1yb3ctaGVpZ2h0PSdtZCddIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlYWRlci1tZC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIGlkcy1pY29uIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTExcHg7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC04cHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwuYWxpZ24tcmlnaHQgLnJlb3JkZXJlciB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAzcHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aGFzKC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3NtJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXNtLXBhZGRpbmcpO1xuICAgIH1cblxuICAgIC5yZW9yZGVyZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc29ydC1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTRweDtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbDpoYXMoLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UteHMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3hzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAgICY6aGFzKC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyKSB7XG4gICAgICAgIGhlaWdodDogNThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikge1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuXG4gICAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtZmlsdGVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZzogdmFyKC0taWRzLWRhdGEtZ3JpZC1oZWFkZXIteHMtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLnJlb3JkZXJlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zb3J0LWluZGljYXRvciB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMnB4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ycHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0zcHg7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCAuaXMtc29ydGFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcm93LWhlaWdodD0neHhzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAgICY6aGFzKC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyKSB7XG4gICAgICAgIGhlaWdodDogNThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhhcyguaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlcikge1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuXG4gICAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiA2cHg7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWZpbHRlci13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWlkcy1kYXRhLWdyaWQtaGVhZGVyLXh4cy1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAucmVvcmRlcmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLTFweDtcbiAgICAgIGhlaWdodDogMjJweDtcblxuICAgICAgPiBpZHMtaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgfVxuXG4gICAgICBpZHMtaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ24tcmlnaHQgLnNvcnQtaW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCAuaXMtc29ydGFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogM3B4O1xuICAgIH1cblxuICAgIC8vIEZpbHRlciBBZGp1c3RtZW50c1xuICAgIGlkcy1pbnB1dCxcbiAgICBpZHMtbWVudS1idXR0b24sXG4gICAgaWRzLXRyaWdnZXItZmllbGQsXG4gICAgaWRzLWRyb3Bkb3duIHtcbiAgICAgIC0taWRzLWlucHV0LWhlaWdodC0xMDogMjRweDtcbiAgICB9XG5cbiAgICBpZHMtZHJvcGRvd24ge1xuICAgICAgLS1pZHMtaW5wdXQtZm9udC1zaXplLXNtOiB2YXIoLS1pZHMtaW5wdXQtZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1maWx0ZXItd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKSArIDJweCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cykgKyAycHgpO1xuICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cykgLSAxcHgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW4gc2VsZWN0aW9uIGhlYWRlclxuLmlkcy1kYXRhLWdyaWQgLmhhcy1jb2wtc2VsZWN0aW9uIHtcbiAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6bm90KFtjb2x1bW4taWQ9J3NlbGVjdGlvbkNoZWNrYm94J10pIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IC5pZHMtY2hlY2tib3ggLmxhYmVsLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICAmLmlzLXNvcnRhYmxlLFxuICAgICYuaXMtcmVvcmRlcmFibGUge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQgLmlkcy1jaGVja2JveCAubGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1zb3J0YWJsZS5pcy1yZW9yZGVyYWJsZSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCAuaWRzLWNoZWNrYm94IC5sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc29ydC1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gIH1cbn1cblxuLy8gSGFuZGxlIFJUTFxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgLy8gTmVnYXRlIHJpZ2h0IGFsaWdubWVudFxuICAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgJi5hbGlnbi1yaWdodCAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50IHtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcbiAgICB9XG5cbiAgICAmLmZyb3plbi1sZWZ0IHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICByaWdodDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgICAvLyBEeW5hbWljYWxseSBhZGRlZCB3aWR0aHNcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggMTAge1xuICAgICAgICAmOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgICAgcmlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZnJvemVuLWNvbHVtbi1sZWZ0LXdpZHRoLSN7JGl9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogSWRzIERhdGEgR3JpZCBDb21wb25lbnQgLSBSb3dzICovXG4uaWRzLWRhdGEtZ3JpZC1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sdW1uLXdpZHRocyk7IC8vIEZpbGxlZCBpbiBkeW5hbWljYWxseVxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuXG4gICYuaXMtZHJhZy1zdGFydCB7XG4gICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgJi5pcy1kcmFnLXRhcmdldCB7XG4gICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuICB9XG5cbiAgJi5zZWxlY3RlZDpub3QoLm1peGVkKSAuaWRzLWRhdGEtZ3JpZC1jZWxsLFxuICAmLmFjdGl2YXRlZCAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcblxuICAgICY6Zm9jdXMsXG4gICAgJi5pcy1mb2N1c2VkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgJltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJltwYXJ0Kj0ncm93LSddIHtcbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltwYXJ0PSdyb3ctbmV3J10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtbmV3KTtcblxuICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1uZXcpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1uZXcpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1uZXcpO1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLXRleHQtc3RhdGVzLWRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbcGFydD0ncm93LXJlbW92ZWQnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1yZW1vdmVkKTtcblxuICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItcmVtb3ZlZCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1yZW1vdmVkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LXN0YXRlcy1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3BhcnQ9J3Jvdy1lcnJvciddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLWVycm9yKTtcblxuICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItZXJyb3IpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1lcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLWVycm9yKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci10ZXh0LXN0YXRlcy1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR3JvdXBlZCBSb3dzXG4uaWRzLWRhdGEtZ3JpZC1yb3cuaXMtZ3JvdXAtcm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctZ3JvdXBlZC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWdyb3VwZWQtY29sb3ItdGV4dCwgcmVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctZ3JvdXBlZC1mb250LXdlaWdodCwgNjAwKTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICB9XG5cbiAgaWRzLWJ1dHRvbiB7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItaG92ZXI6IHRyYW5zcGFyZW50O1xuXG4gICAgcGFkZGluZzogMCAycHg7XG4gIH1cbn1cblxuLy8gUm93IEhlaWdodCBGZWF0dXJlIHdpdGggRm9ybWF0dGVycyBzcGFjaW5nXG4uaWRzLWRhdGEtZ3JpZCB7XG4gIC8vIExhcmdlIGJ5IGRlZmF1bHRcbiAgJltkYXRhLXJvdy1oZWlnaHQ9J21kJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQtbWQpO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyxcbiAgICAgIGlkcy1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1leHBhbmRlZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3NtJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQtc20pO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyxcbiAgICAgIGlkcy1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctc20pO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1leHBhbmRlZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGw6aG92ZXIgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikuaXMtcmVvcmRlcmFibGUgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXJvdy1oZWlnaHQ9J3hzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHMpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZvbnQtc2l6ZS1zbSk7XG5cbiAgICAgIC50ZXh0LWVsbGlwc2lzLFxuICAgICAgaWRzLWJhZGdlIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWV4cGFuZGVkIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOm5vdCguYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50Om5vdCgudmVydGljYWwtYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcbiAgICB9XG5cbiAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsOm5vdCguYWxpZ24tY2VudGVyKSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbDpob3ZlciAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItY2VsbC1jb250ZW50Om5vdCgudmVydGljYWwtYWxpZ24tY2VudGVyKS5pcy1yZW9yZGVyYWJsZSAuaWRzLWRhdGEtZ3JpZC1oZWFkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcm93LWhlaWdodD0neHhzJ10ge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHhzKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgICAudGV4dC1lbGxpcHNpcyxcbiAgICAgIGlkcy1iYWRnZSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKTtcbiAgICAgIH1cblxuICAgICAgLy8gT24gJ3h4cycgcm93IGhlaWdodCwgaW5saW5lLWVkaXRhYmxlIGNlbGxzIGhhdmUgYSBzbGlnaHRseSB3aWRlclxuICAgICAgLy8gcGFkZGluZyBhcHBlYXJhbmNlIHRvIGFjY29tbW9kYXRlIHRoZSBpbmxpbmUgZGlzcGxheVxuICAgICAgJi5pcy1pbmxpbmUge1xuICAgICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14cyk7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1leHBhbmRlZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLWNlbGwtY29udGVudDpub3QoLnZlcnRpY2FsLWFsaWduLWNlbnRlcikgLmlkcy1kYXRhLWdyaWQtaGVhZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpO1xuICAgIH1cblxuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGw6bm90KC5hbGlnbi1jZW50ZXIpIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsOmhvdmVyIC5pZHMtZGF0YS1ncmlkLWhlYWRlci1jZWxsLWNvbnRlbnQ6bm90KC52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIpLmlzLXJlb3JkZXJhYmxlIC5pZHMtZGF0YS1ncmlkLWhlYWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHhzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUm93IEFsdGVybmF0ZSBSb3cgU2V0dGluZyBGZWF0dXJlXG4uaWRzLWRhdGEtZ3JpZC5hbHQtcm93LXNoYWRpbmcgaWRzLWRhdGEtZ3JpZC1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctYWx0ZXJuYXRpbmctY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbi8vIEV4cGFuZGFibGUgUm93XG4uaWRzLWRhdGEtZ3JpZC1leHBhbmRhYmxlLXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLXhzKTtcbn1cblxuLy8gU3RhbmRhbG9uZSBDc3NcbnRyLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xuICBoZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC1sZyk7XG59XG5cbi8vIFJvdyBOYXZpZ2F0aW9uIFN0eWxlc1xuLmlkcy1kYXRhLWdyaWQucm93LW5hdmlnYXRpb24gLmlkcy1kYXRhLWdyaWQtYm9keSAuaWRzLWRhdGEtZ3JpZC1yb3cge1xuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LXNoYWRvdy1mb2N1cyk7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIGh5cGVybGlua3MgaW4gcm93LW5hdmlnYXRpb24gbW9kZSBjYW5ub3QgYmUgZGlyZWN0bHkgY2xpY2tlZFxuICBpZHMtaHlwZXJsaW5rLFxuICAuaWRzLWh5cGVybGluayB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDFweCk7XG4gIH1cbn1cblxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgLmlkcy1kYXRhLWdyaWQtcm93IHtcbiAgICAmW3BhcnQ9J3Jvdy1uZXcnXSB7XG4gICAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgICAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1ib3JkZXItbmV3KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3BhcnQ9J3Jvdy1yZW1vdmVkJ10ge1xuICAgICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLXJlbW92ZWQpIHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1yZW1vdmVkKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3BhcnQ9J3Jvdy1lcnJvciddIHtcbiAgICAgICY6bm90KC5zZWxlY3RlZCkge1xuICAgICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJvcmRlci1lcnJvcikgdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYm9yZGVyLWVycm9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIElkcyBEYXRhIEdyaWQgQ29tcG9uZW50IC0gQ2VsbHMgKi9cbkB1c2UgJ3Nhc3M6bGlzdCc7XG5cbi8qIEdlbmVyYXRlcyBhIHBzZXVkby1lbGVtZW50IHJlcHJlc2VudGluZyB0aGUgZGlydHkgdHJhY2tlciAqL1xuQG1peGluIGlkcy1kYXRhLWdyaWQtY2VsbC1kaXJ0eS10cmFja2VyLWljb24ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0taWRzLWlucHV0LWRpcnR5LWluZGljYXRvci1jb2xvci1iYWNrZ3JvdW5kLWRpcnR5KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgei1pbmRleDogMTtcbn1cblxuaWRzLWRhdGEtZ3JpZC1jZWxsW2NvbHVtbi1vbnNjcmVlbl0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5pZHMtZGF0YS1ncmlkLWNlbGxbY29sdW1uLW9mZnNjcmVlbl0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5pZHMtZGF0YS1ncmlkLWNlbGxbY29sdW1uLW9mZnNjcmVlbi1sZWZ0XSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbmlkcy1kYXRhLWdyaWQtY2VsbFtjb2x1bW4tb2Zmc2NyZWVuLXJpZ2h0XSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5pZHMtZGF0YS1ncmlkLXJvdzpub3QoLnNlbGVjdGVkKTpub3QoW3BhcnQqPSdyb3ctJ10pIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbDpub3QoLmlzLXJlYWRvbmx5KSB7XG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgICYuZnJvemVuLXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG59XG5cbi5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAvLyBCb3JkZXIgYW5kIEJhY2tncm91bmQgYW5kIFNpemluZ1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gSGlkZSBmaXJzdC9sYXN0IGJvcmRlclxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgLy8gUmVzZXQgYmFkZ2UgbWFyZ2luIHRvIGNlbnRlciBpdCB2ZXJ0aWNhbGx5XG4gIGlkcy1iYWRnZTo6cGFydChiYWRnZSkge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG5cbiAgaWRzLWJhZGdlIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gIH1cblxuICAvLyBTbyB0aGUgY29sb3IgaXMgdGhlIHNhbWUgYXMgdGhlIGVkaXRvclxuICBpZHMtaWNvbltpY29uPSdkcm9wZG93biddIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLXRyaWdnZXItZmllbGQtaWNvbi1jb2xvcilcbiAgfVxuXG4gIGlkcy1oeXBlcmxpbmsge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWlubGluZTogMTJweDtcbiAgICB3aWR0aDogLW1vei1hdmFpbGFibGU7XG4gICAgd2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgd2lkdGg6IGZpbGwtYXZhaWxhYmxlO1xuICB9XG5cbiAgLnRleHQtZWxsaXBzaXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgKyA0cHgpO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpICsgNHB4KTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC8vIFRleHQgQWxpZ25tZW50XG4gIGlkcy1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cblxuICAvLyBUZXh0IEFsaWdubWVudFxuICAmLmFsaWduLWNlbnRlciB7XG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKSBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIGlkcy1pbnB1dCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBSZWFkb25seSBhbmQgZGlzYWJsZWQgQ2VsbHNcbiAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpOm5vdCguc2VsZWN0ZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYmFja2dyb3VuZC1mcm96ZW4tcmVhZG9ubHkpO1xuXG4gICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuXG4gICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmlzLXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC8vIEZvY3VzIFN0YXRlXG4gICY6Zm9jdXMsXG4gICYuaXMtZWRpdGluZzpub3QoLmlzLWlubGluZSk6Zm9jdXMtd2l0aGluLFxuICAmLmlzLWZvY3VzZWQge1xuICAgICY6bm90KC5zZWxlY3RlZCk6bm90KFt0YWJpbmRleD0nLTEnXSkge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLXNoYWRvdy0yMCk7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taWRzLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAvLyBPbmx5IGZyb3plbiBmb2N1c2VkIGNlbGxzIGdldCBlbGV2YXRlZCB6LWluZGV4IHNvIGJveC1zaGFkb3dcbiAgICAgIC8vIGlzIG5vdCBjbGlwcGVkIGJ5IGFkamFjZW50IGZyb3plbiBjZWxscy4gTm9ybWFsL3JlYWRvbmx5IGNlbGxzXG4gICAgICAvLyBzdGF5IGJlbG93IGZyb3plbiBjb2x1bW5zIHRvIGF2b2lkIHNjcm9sbCBvdmVybGFwLlxuICAgICAgJi5mcm96ZW4ge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybWF0dGVyLXRleHRtYXNrIHtcbiAgICAmLmlzLWhvdmVyYWJsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxMHB4O1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICYuc2hvdy1jZWxsLWljb24tYWx3YXlzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmlzLWlubGluZSk6bm90KC5pcy1pbnZhbGlkKTpob3ZlcixcbiAgICAmLmlzLWVkaXRpbmcge1xuICAgICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTA4KTtcbiAgICAgIH1cblxuICAgICAgaWRzLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogY2FsYygxMDAlIC0gNDhweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1lZGl0YWJsZSB7XG4gICAgJi5pcy1yZWFkb25seTpub3QoLmV4Y2x1ZGUtcmVhZG9ubHktc3R5bGUpIHtcbiAgICAgIC50ZXh0LWVsbGlwc2lzOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWlubGluZSB7XG4gICAgICAmLmZvcm1hdHRlci10cmVlIHtcbiAgICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWVsbGlwc2lzOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC04cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTVweDtcblxuICAgICAgICAmW2ljb249J2Ryb3Bkb3duJ10ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1sb29rdXAsXG4gICAgJi5pcy1kYXRlcGlja2VyLFxuICAgICYuaXMtdGltZXBpY2tlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1kYXRlcGlja2VyLFxuICAgICYuaXMtdGltZXBpY2tlciB7XG4gICAgICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xcHg7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbG9va3VwIHtcbiAgICAgIGlkcy1sb29rdXAge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBpZHMtbG9va3VwOjpwYXJ0KGNvbnRhaW5lciksXG4gICAgICBpZHMtbG9va3VwOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmLnNob3ctY2VsbC1pY29uLWFsd2F5cyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlkcy10cmlnZ2VyLWJ1dHRvbjo6cGFydChidXR0b24pIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIGlzLWJvcmRlcmxlc3M6aG92ZXJcbiAgICAmOm5vdCguaXMtaW5saW5lKTpub3QoLmlzLWludmFsaWQpOm5vdCguaXMtcmVhZG9ubHkpOmZvY3VzLFxuICAgICY6bm90KC5pcy1pbmxpbmUpOm5vdCguaXMtaW52YWxpZCk6bm90KC5pcy1yZWFkb25seSk6aG92ZXIge1xuICAgICAgLmVkaXRvci1jZWxsLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICBpZHMtYWxlcnQge1xuICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWVkaXRhYmxlLmlzLWludmFsaWQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICBpZHMtYWxlcnQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWVkaXRpbmcgaWRzLWNoZWNrYm94IHtcbiAgICAtLWlkcy1jaGVja2JveC1tYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAtLWlkcy1jaGVja2JveC1zaGFkb3ctZm9jdXM6IDAgMCAwIDJweCB0cmFuc3BhcmVudCwgMCAwIDAgM3B4IHRyYW5zcGFyZW50O1xuICAgIC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlcik7XG5cbiAgICAmW2NoZWNrZWRdIHtcbiAgICAgIC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1czogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuXG4gIC8vIEVkaXRpbmcgd2l0aCBwb3B1cHNcbiAgJi5pcy1lZGl0aW5nLmlzLWxvb2t1cCxcbiAgJi5pcy1lZGl0aW5nLmlzLWRhdGVwaWNrZXIsXG4gICYuaXMtZWRpdGluZy5pcy10aW1lcGlja2VyLFxuICAmLmlzLWVkaXRpbmcuaXMtcGFzc3dvcmQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgJi5pcy1lZGl0aW5nLmlzLWlubGluZSBpZHMtaW5wdXQge1xuICAgIHotaW5kZXg6IDk5O1xuICB9XG5cbiAgLy8gRHJvcGRvd24gRWRpdGFibGUgQ2VsbFxuICAmLmlzLWVkaXRhYmxlLmlzLWRyb3Bkb3duIHtcbiAgICAuZHJvcGRvd24tY2VsbC12YWx1ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmlzLWVkaXRpbmc6bm90KC5pcy1pbmxpbmUpIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJvcGRvd24gRWRpdGluZyBJbmxpbmVcbiAgJi5pcy1lZGl0aW5nLmlzLWRyb3Bkb3duLmlzLWlubGluZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIGlkcy1kcm9wZG93biB7XG4gICAgICBwYWRkaW5nOiAwIHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRleHQgRWRpdGFibGUgQ2VsbFxuICAmLmZvcm1hdHRlci10ZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICB9XG5cbiAgLy8gRXhwYW5kIG9uIGFjdGl2YXRlIGNvbHVtbiAtIGNvbnN0cmFpbiBoZWlnaHQgd2hlbiBub3QgZXhwYW5kZWRcbiAgJi5pcy1leHBhbmRhYmxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBPdmVycmlkZSBmb3JtYXR0ZXItdGV4dCB3aGl0ZS1zcGFjZTogcHJlXG4gICAgJi5mb3JtYXR0ZXItdGV4dCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV4cGFuZCBvbiBhY3RpdmF0ZSAtIHNob3cgZnVsbCBtdWx0aS1saW5lIGNvbnRlbnQgd2hlbiBhY3RpdmF0ZWRcbiAgJi5pcy1leHBhbmRlZCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC1sZyk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgLnRleHQtZWxsaXBzaXMge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby1kZXByZWNhdGVkICovXG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWV4cGFuZGVkLXBhZGRpbmctYmxvY2ssIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpYmxpbmcgY2VsbHMgaW4gYW4gZXhwYW5kZWQgcm93IC0gbWF0Y2ggZXhwYW5kZWQgcm93IGhlaWdodFxuICAmLmlzLWV4cGFuZGVkLXNpYmxpbmcge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJi5mb3JtYXR0ZXItcm93LXJlb3JkZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuXG4gIC8vIEVkaXRpbmcgVXBwZXJjYXNlXG4gICYuaXMtZWRpdGluZy5pcy11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBpZHMtbGlzdC1ib3gtb3B0aW9uLFxuICAgIGlkcy1kcm9wZG93bjo6cGFydCh0cmlnZ2VyZmllbGQtaW5wdXQpLFxuICAgIGlkcy1pbnB1dDo6cGFydChpbnB1dCkge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAvLyBGcm96ZW4gQ2VsbHNcbiAgJi5mcm96ZW4ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB6LWluZGV4OiAyOyAvLyBiZWxvdyBmb2N1c2VkIGNlbGwgKHotaW5kZXg6IDMpIHNvIGZvY3VzIGJveC1zaGFkb3cgaXMgbm90IGNsaXBwZWRcbiAgfVxuXG4gIC8vIENoYW5nZSBib3JkZXJzIGZvciBzY3JvbGxpbmdcbiAgJi5mcm96ZW4tbGFzdCB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1pZHMtZGF0YS1ncmlkLWNlbGwtY29sb3ItYm9yZGVyKTtcblxuICAgICsgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICAgIH1cbiAgfVxuXG4gICYuZnJvemVuLWxlZnQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAxMCB7XG4gICAgICAmOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtZnJvemVuLWNvbHVtbi1sZWZ0LXdpZHRoLSN7JGl9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZyb3plbi1yaWdodCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICByaWdodDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG5cbiAgJi5pcy1kaXJ0eTo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWNlbGwtZGlydHktdHJhY2tlci1pY29uO1xuICB9XG5cbiAgJi5pcy1kaXJ0eS5pcy1pbmxpbmUge1xuICAgICYuZm9ybWF0dGVyLXRyZWUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpZHMtZGF0YS1ncmlkLWNlbGwtZGlydHktdHJhY2tlci1pY29uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1kcm9wZG93bjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDZweDtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA2cHg7XG4gICAgfVxuXG4gICAgaWRzLWlucHV0IHtcbiAgICAgICY6OnBhcnQoZGlydHktdHJhY2tlci1pY29uKSB7XG4gICAgICAgIC0taWRzLWljb24taGVpZ2h0LWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgLS1pZHMtaWNvbi13aWR0aC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1kaXJ0eS5pcy1kcm9wZG93bi5pcy1lZGl0aW5nOm5vdCguaXMtaW5saW5lKTo6YmVmb3JlIHtcbiAgICBpbnNldC1ibG9jay1zdGFydDogM3B4O1xuICAgIG1hcmdpbi1pbmxpbmU6IDNweDtcbiAgfVxuXG4gICYuaXMtaW52YWxpZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJhY2tncm91bmQtZXJyb3IpO1xuICB9XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIH1cblxuICBpZHMtYWxlcnQge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuXG4gIGlkcy10YWcge1xuICAgIC0taWRzLXRhZy1tYXJnaW4taW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgIG1hcmdpbjogdmFyKC0taWRzLXByb2dyZXNzLWJhci1ncmlkLWNlbGwtbWFyZ2luKTtcbiAgfVxuXG4gICYuaXMtZWRpdGluZyB7XG4gICAgJGljb24tc3R5bGVzOiAoXG4gICAgICAndGltZXBpY2tlcic6ICdjbG9jaycsXG4gICAgICAnZGF0ZXBpY2tlcic6ICdjYWxlbmRhcidcbiAgICApO1xuXG4gICAgJGZpZWxkLWhlaWdodHM6IChcbiAgICAgICd4cyc6ICgtNXB4LCAxcHgpLFxuICAgICAgJ3NtJzogKHZhcigtLWlkcy1zcGFjZS0zeHMpLCAxcHgpXG4gICAgKTtcblxuICAgIEBlYWNoICRjbGFzcywgJGljb24gaW4gJGljb24tc3R5bGVzIHtcbiAgICAgICYuaXMtI3skY2xhc3N9IHtcbiAgICAgICAgQGVhY2ggJGhlaWdodCwgJHZhbHVlcyBpbiAkZmllbGQtaGVpZ2h0cyB7XG4gICAgICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmRbaWNvbj0nI3skaWNvbn0nXVtmaWVsZC1oZWlnaHQ9JyN7JGhlaWdodH0nXSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogbGlzdC5udGgoJHZhbHVlcywgMSk7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGxpc3QubnRoKCR2YWx1ZXMsIDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICd4eHMnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbltkYXRhLXJvdy1oZWlnaHQ9J3h4cyddIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1leHBhbmRlZCB7XG4gICAgLS1pZHMtZGF0YS1ncmlkLWV4cGFuZGVkLXBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICB9XG5cbiAgLmZvcm1hdHRlci1wcm9ncmVzcyB7XG4gICAgaWRzLXByb2dyZXNzLWJhciB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy14eHMpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZGlydHk6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDFweDtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xcHg7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWRpcnR5LmlzLWlubGluZTo6YmVmb3JlIHtcbiAgICBtYXJnaW4taW5saW5lOiAzcHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICBpZHMtYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIGlkcy1iYWRnZSB7XG4gICAgLS1pZHMtYmFkZ2UtZm9udC1saW5lLWhlaWdodDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHhzKSAtIDhweCk7XG4gIH1cblxuICBpZHMtdGFnIHtcbiAgICAtLWlkcy10YWctaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWhlaWdodC14eHMpIC0gNnB4KTtcbiAgfVxuXG4gIGlkcy1pbnB1dCxcbiAgaWRzLXRyaWdnZXItZmllbGQge1xuICAgIC0taWRzLXNwYWNlLTN4czogMDtcbiAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgfVxuXG4gIGlkcy1pbnB1dCB7XG4gICAgJjo6cGFydChkaXJ0eS10cmFja2VyLWljb24pIHtcbiAgICAgIC0taWRzLWljb24taGVpZ2h0LWRlZmF1bHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6OnBhcnQoaW5wdXQpIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTEwKSk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0aW5nIHtcbiAgICBpZHMtaW5wdXQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTEwKSAtIDRweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRqdXN0IG5vbiBpbmxpbmUgZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUgLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxuXG4gIC8vIEFkanVzdCBkcm9wZG93biBlZGl0b3JcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUge1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0aW5nLmlzLWRyb3Bkb3duLmlzLWlubGluZSBpZHMtZHJvcGRvd24ge1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKSB2YXIoLS1pZHMtc3BhY2UtNHhzKTtcblxuICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyOm5vdCguaXMtc2VsZWN0aW9uLWNoZWNrYm94KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXh4cyk7XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0YWJsZS5pcy1lZGl0YWJsZS5pcy1pbnZhbGlkIGlkcy1hbGVydCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTR4cyk7XG4gICAgfVxuXG4gICAgaWRzLWh5cGVybGluayB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IGhlaWdodDogJ3hzJ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbltkYXRhLXJvdy1oZWlnaHQ9J3hzJ10ge1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWV4cGFuZGVkIHtcbiAgICAtLWlkcy1kYXRhLWdyaWQtZXhwYW5kZWQtcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXhzKTtcbiAgfVxuXG4gIC5mb3JtYXR0ZXItcHJvZ3Jlc3Mge1xuICAgIGlkcy1wcm9ncmVzcy1iYXIge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZGlydHk6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWRpcnR5LmlzLWlubGluZTo6YmVmb3JlIHtcbiAgICBtYXJnaW4taW5saW5lOiAzcHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cblxuICBpZHMtYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nOiAzcHg7XG4gIH1cblxuICBpZHMtYmFkZ2Uge1xuICAgIC0taWRzLWJhZGdlLWZvbnQtbGluZS1oZWlnaHQ6IGNhbGModmFyKC0taWRzLWRhdGEtZ3JpZC1yb3ctaGVpZ2h0LXhzKSAtIDEycHgpO1xuICB9XG5cbiAgaWRzLXRhZyB7XG4gICAgLS1pZHMtdGFnLWhlaWdodDogY2FsYyh2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1oZWlnaHQteHhzKSAtIDRweCk7XG4gIH1cblxuICBpZHMtaW5wdXQge1xuICAgIC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgJjo6cGFydChkaXJ0eS10cmFja2VyLWljb24pIHtcbiAgICAgIC0taWRzLWljb24taGVpZ2h0LWRlZmF1bHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkanVzdCBub24gaW5saW5lIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICAvLyBBZGp1c3QgZHJvcGRvd24gZWRpdG9yXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIGlkcy1pY29uLmVkaXRvci1jZWxsLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAtLWlkcy1pbnB1dC1mb250LXNpemUtc206IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGluZy5pcy1kcm9wZG93bi5pcy1pbmxpbmUgaWRzLWRyb3Bkb3duIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSkgdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmcteHMpO1xuICAgIH1cblxuICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJvdyBoZWlnaHQ6ICdzbSdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS1yb3ctaGVpZ2h0PSdzbSddIHtcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1leHBhbmRlZCB7XG4gICAgLS1pZHMtZGF0YS1ncmlkLWV4cGFuZGVkLXBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gIH1cblxuICAuZm9ybWF0dGVyLXByb2dyZXNzIHtcbiAgICBpZHMtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taWRzLWRhdGEtZ3JpZC1wYWRkaW5nLXNtKTtcbiAgICB9XG4gIH1cblxuICBpZHMtYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxuXG4gIC8vIEFkanVzdCBub24gaW5saW5lIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNnB4O1xuICB9XG5cbiAgLy8gQWRqdXN0IGRyb3Bkb3duIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSBpZHMtaWNvbi5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lcjpub3QoLmlzLXNlbGVjdGlvbi1jaGVja2JveCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gICAgfVxuXG4gICAgaWRzLWh5cGVybGluayB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgaGVpZ2h0OiAnbWQnXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuW2RhdGEtcm93LWhlaWdodD0nbWQnXSB7XG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuaXMtZXhwYW5kZWQge1xuICAgIC0taWRzLWRhdGEtZ3JpZC1leHBhbmRlZC1wYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbWQpO1xuICB9XG5cbiAgLmZvcm1hdHRlci1wcm9ncmVzcyB7XG4gICAgaWRzLXByb2dyZXNzLWJhciB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRqdXN0IGRyb3Bkb3duIGVkaXRvclxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlIC5lZGl0b3ItY2VsbC1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogN3B4O1xuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUgaWRzLWljb24uZWRpdG9yLWNlbGwtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1zbSk7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWVkaXRhYmxlLmlzLWlubGluZSB7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG5cbiAgICA6OnNsb3R0ZWQoaWRzLXRyaWdnZXItYnV0dG9uKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lcjpub3QoLmlzLXNlbGVjdGlvbi1jaGVja2JveCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1kYXRhLWdyaWQtcGFkZGluZy1tZCk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IGhlaWdodDogJ2xnJ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbltkYXRhLXJvdy1oZWlnaHQ9J2xnJ10ge1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXI6bm90KC5pcy1zZWxlY3Rpb24tY2hlY2tib3gpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXBhZGRpbmctbGcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBMaXN0IFN0eWxlIEZlYXR1cmVcbi5pZHMtZGF0YS1ncmlkLmlzLWxpc3Qtc3R5bGUge1xuICAvLyBDaGFuZ2UgQ2VsbCBCb3JkZXJzL0JHXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtbGlzdC1jZWxsLWNvbG9yLWJvcmRlcik7XG5cbiAgICAmLmlzLXJlYWRvbmx5Om5vdCguZXhjbHVkZS1yZWFkb25seS1zdHlsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLWJhY2tncm91bmQtcmVhZG9ubHkpXG4gICAgfVxuXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWJvZHkgLmlkcy1kYXRhLWdyaWQtcm93OmZpcnN0LWNoaWxkIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLy8gU3RhbmRhbG9uZSBDc3NcbnRkLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG59XG5cbi8vIEhhbmRsZSBSVExcbjpob3N0KFtkaXI9J3J0bCddKSB7XG4gIC5pZHMtZGF0YS1ncmlkLmlzLWxpc3Qtc3R5bGUge1xuICAgIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRlIEJvcmRlcnNcbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCB7XG4gICAgJi5mcm96ZW4tbGVmdCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICAgLy8gRHluYW1pY2FsbHkgYWRkZWQgd2lkdGhzXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwIHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgIHJpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZyb3plbi1jb2x1bW4tbGVmdC13aWR0aC0jeyRpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6IHZhcigtLWlkcy1ib3JkZXItd2lkdGgtbm9uZSk7XG4gICAgfVxuXG4gICAgJi5pcy1kaXJ0eSB7XG4gICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lcjo6YmVmb3JlLFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpICB2YXIoLS1pZHMtaW5wdXQtZGlydHktaW5kaWNhdG9yLWNvbG9yLWJhY2tncm91bmQtZGlydHkpIHRyYW5zcGFyZW50ICB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZvcm1hdHRlci10ZXh0bWFzayB7XG4gICAgICAuaXMtdGV4dG1hc2sge1xuICAgICAgICB1bmljb2RlLWJpZGk6IHBsYWludGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRml4IHNsb3R0ZWQgdHJpZ2dlciBidXR0b24gbWFyZ2lucyB3aGVuIG5lc3RlZCB3aXRoaW4gY2VsbHNcbi5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbn1cbiIsIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyAqO1xuXG4vLyBJbmNsdWRlcyBIaWRkZW4gQ2xhc3NlcyBhbmQgTWl4aW5zIGZvciBoaWRpbmcgZWxlbWVudHMgYXQgYnJlYWtwb2ludHNcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGUteHhsLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14eGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXh4bC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14eGwtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14eGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXh4bC11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXh4bCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteGwtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14bC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXhsLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXhsLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLWxnLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtbGctZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1sZy11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1sZy11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1tZC1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLW1kLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtbWQtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUtbWQtdXAge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUtc20tZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1zbS1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXNtLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXNtLXVwIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oaWRlLXhzLWRvd24ge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGhpZGUteHMtZG93biB7XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS14cy11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS14cy11cCB7XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14cy1kb3duIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtaGlkZS1taXhpbi5zY3NzJyBhcyBoaWRlO1xuXG46aG9zdCguaGlkZS1zbS1kb3duKSB7XG4gIEBpbmNsdWRlIGhpZGUuaGlkZS1zbS1kb3duKCk7XG59XG5cbi5pZHMtcG9wdXAtbWVudSB7XG4gICY6bm90KFtoaWRkZW5dKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogdmFyKC0taWRzLXotaW5kZXgtMTYwKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBDaGVja2JveCBNaXhpbnMuXG4gKi9cbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuXG4vLyBVbmNoZWNrZWRcbkBtaXhpbiBjaGVja2JveC11bmNoZWNrZWQoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiB2YXIoLS1pZHMtY2hlY2tib3gtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlci1yYWRpdXMpO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDNweDtcbn1cblxuQG1peGluIGNoZWNrYm94LXVuY2hlY2tlZC1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1lcnJvcik7XG59XG5cbi8vIENoZWNrZWRcbkBtaXhpbiBjaGVja2JveC1jaGVja2VkKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1zZWxlY3RlZCk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1jaGVja2VkLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiB2YXIoLS1pZHMtZm9udC1zaXplLTJ4cykgc29saWQgdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1zZWxlY3RlZC1hZnRlcik7XG4gIGJvcmRlci13aWR0aDogdmFyKC0taWRzLWNoZWNrYm94LWJvcmRlci13aWR0aC1zZWxlY3RlZC1hZnRlcik7XG4gIGFuaW1hdGlvbjogY2hlY2sgMC4xNXM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMTBweDtcbiAgbGVmdDogNHB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi8vIEluZGV0ZXJtaW5hdGVcbkBtaXhpbiBjaGVja2JveC1pbmRldGVybWluYXRlKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYmFja2dyb3VuZC1pbmRldGVybWluYXRlKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWluZGV0ZXJtaW5hdGUpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1hZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYW5pbWF0aW9uOiBjaGVja2luZGV0ZXJtaW5hdGUgMC4xNXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtY2hlY2tib3gtY29sb3ItYm9yZGVyLWluZGV0ZXJtaW5hdGUtYWZ0ZXIpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1jaGVja2JveC1ib3JkZXItd2lkdGgtaW5kZXRlcm1pbmF0ZSk7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDZweDtcbiAgbGVmdDogMnB4O1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDEwcHg7XG59XG5cbi8vIERpc2FibGVkXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG59XG5cbkBtaXhpbiBjaGVja2JveC1kaXNhYmxlZC11bmNoZWNrZWQtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMtZXJyb3IpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItc2VsZWN0ZWQtZGlzYWJsZWQpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZGlzYWJsZWQtdGV4dCB7XG4gIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1kZWZhdWx0KTtcbiAgY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbn1cblxuLy8gRm9jdXNcbkBtaXhpbiBjaGVja2JveC1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNoZWNrYm94LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1jaGVja2JveC1zaGFkb3ctZm9jdXMpO1xufVxuXG5AbWl4aW4gY2hlY2tib3gtZm9jdXMtZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jaGVja2JveC1jb2xvci1ib3JkZXItZm9jdXMtZXJyb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtY2hlY2tib3gtc2hhZG93LWZvY3VzLWVycm9yKTtcbn1cblxuLy8gQ29sb3JlZFxuJGNvbG9yLW5hbWVzOiAnZ3JlZW4nICdwdXJwbGUnICdibHVlJyAnb3JhbmdlJyAncmVkJztcbiRjb2xvci12YXJzOiAtLWlkcy1jb2xvci1ncmVlbi03MCAtLWlkcy1jb2xvci1wdXJwbGUtNzAgLS1pZHMtY29sb3ItYmx1ZS03MCAtLWlkcy1jb2xvci1vcmFuZ2UtNzAgLS1pZHMtY29sb3ItcmVkLTcwO1xuXG5AbWl4aW4gY2hlY2tib3gtY29sb3JlZCgpIHtcbiAgQGVhY2ggJG5hbWUgaW4gJGNvbG9yLW5hbWVzIHtcbiAgICAkaTogbGlzdC5pbmRleCgkY29sb3ItbmFtZXMsICRuYW1lKTtcbiAgICAkY29sb3I6IHZhcigje2xpc3QubnRoKCRjb2xvci12YXJzLCAkaSl9KTtcblxuICAgICZbY29sb3I9JyN7JG5hbWV9J10gaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICB+IC5jaGVja21hcmsge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1jb2xvcmVkLWJveCgkY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWRpc2FibGVkLXVuY2hlY2tlZCgpO1xuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkOmNoZWNrZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtY2hlY2tlZCgpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNvbG9yZWQtYm94LWZvY3VzKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjaGVja2JveC1jb2xvcmVkLWJveCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGNoZWNrYm94LWNvbG9yZWQtYm94LWZvY3VzKCRjb2xvcikge1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuLy8gQW5pbWF0aW9uc1xuQGtleWZyYW1lcyBjaGVjayB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDhweDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDRweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjaGVja2luZGV0ZXJtaW5hdGUge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB3aWR0aDogMTBweDtcbiAgfVxufVxuIiwiLyoqXG4gKiBSYWRpbyBNaXhpbnMuXG4gKi9cbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuXG4vLyBVbmNoZWNrZWRcbkBtaXhpbiByYWRpby11bmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1yYWRpby1ib3JkZXItcmFkaXVzKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDNweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG4gIHdpZHRoOiAxNHB4O1xufVxuXG5AbWl4aW4gcmFkaW8tdW5jaGVja2VkLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1yYWRpby1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLXJhZGlvLWJvcmRlci1yYWRpdXMpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiA2cHg7XG4gIHRvcDogNnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcbiAgd2lkdGg6IDA7XG59XG5cbkBtaXhpbiByYWRpby11bmNoZWNrZWQtZXJyb3ItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG59XG5cbkBtaXhpbiByYWRpby11bmNoZWNrZWQtZXJyb3ItbGFiZWwtdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG59XG5cbi8vIENoZWNrZWRcbkBtaXhpbiByYWRpby1jaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0ZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItc2VsZWN0ZWQpO1xufVxuXG5AbWl4aW4gcmFkaW8tY2hlY2tlZC1hZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1yYWRpby1pbm5lci1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8taW5uZXItY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogM3B4O1xuICB0b3A6IDNweDtcbiAgd2lkdGg6IDRweDtcbn1cblxuLy8gRGlzYWJsZWRcbkBtaXhpbiByYWRpby1kaXNhYmxlZC11bmNoZWNrZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG9wYWNpdHk6IHZhcigtLWlkcy1yYWRpby1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuQG1peGluIHJhZGlvLWRpc2FibGVkLXVuY2hlY2tlZC1lcnJvci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1yYWRpby1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xufVxuXG5AbWl4aW4gcmFkaW8tZGlzYWJsZWQtdW5jaGVja2VkLWVycm9yLWxhYmVsLXRleHQge1xuICBjb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG59XG5cbkBtaXhpbiByYWRpby1kaXNhYmxlZC1jaGVja2VkKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZC1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLXJhZGlvLWNvbG9yLWJvcmRlci1zZWxlY3RlZC1kaXNhYmxlZCk7XG4gIG9wYWNpdHk6IHZhcigtLWlkcy1yYWRpby1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuQG1peGluIHJhZGlvLWRpc2FibGVkLXRleHQge1xuICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItZGVmYXVsdCk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtcmFkaW8tY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIG9wYWNpdHk6IHZhcigtLWlkcy1yYWRpby1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cblxuLy8gRm9jdXNcbkBtaXhpbiByYWRpby1mb2N1cyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1yYWRpby1zaGFkb3cpO1xufVxuXG5AbWl4aW4gcmFkaW8tZm9jdXMtbm90LWhpZGUtZm9jdXMge1xuICBib3gtc2hhZG93OiB2YXIoLS1pZHMtcmFkaW8tc2hhZG93LWZvY3VzKTtcbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5AdXNlICcuL2lkcy1kYXRhLWdyaWQtY29tbW9uJyBhcyAqO1xuQHVzZSAnLi9pZHMtZGF0YS1ncmlkLWZpbHRlcnMnIGFzICo7XG5AdXNlICcuL2lkcy1kYXRhLWdyaWQtaGVhZGVyJyBhcyAqO1xuQHVzZSAnLi9pZHMtZGF0YS1ncmlkLXJvdycgYXMgKjtcbkB1c2UgJy4vaWRzLWRhdGEtZ3JpZC1jZWxsJyBhcyAqO1xuQHVzZSAnLi4vLi4vY29tcG9uZW50cy9pZHMtcG9wdXAtbWVudS9pZHMtcG9wdXAtbWVudScgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNoZWNrYm94LW1peGluJyBhcyAqO1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtcmFkaW8tbWl4aW4nIGFzICo7XG5cbjpob3N0IHtcbiAgLS1pZHMtZGF0YS1ncmlkLWNvbHVtbi13aWR0aHM6IHJlcGVhdCgxLCBtaW5tYXgoMTEwcHgsIDFmcikpO1xuXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlkcy1kYXRhLWdyaWQge1xuICAvLyBPdXRzaWRlIGJvcmRlciBhbmQgQmFja2dyb3VuZCBhbmQgc2l6aW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy0yeHMpO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgLy8gTmVlZGVkIHNvIHN0aWNreSBoZWFkZXIgd29ya3MgaW4gc2FmYXJpXG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC8vIEZvbnQgSW5mb1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICBmb250LXNpemU6IHZhcigtLWlkcy1mb250LXNpemUtc20pO1xuXG4gIC8vIFNlbGVjdGlvbiBDaGVja2JveFxuICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2hlY2tib3ggYWxpZ25tZW50c1xuICAuaWRzLWRhdGEtZ3JpZC1jZWxsLmFsaWduLWxlZnQge1xuICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtY29udGFpbmVyLFxuICAgIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuYWxpZ24tY2VudGVyIHtcbiAgICAuaWRzLWRhdGEtZ3JpZC1jaGVja2JveC1jb250YWluZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbC5hbGlnbi1yaWdodCB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSBjaGVja2JveC11bmNoZWNrZWQoKTtcblxuICAgICYuZWRpdGFibGUge1xuICAgICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLXBvaW50ZXIpO1xuICAgIH1cblxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1jZWxsLWNoZWNrYm94LWNvbG9yLWJvcmRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZGlzYWJsZWQtdW5jaGVja2VkKCk7XG5cbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmLmNoZWNrZWQge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtY2hlY2tlZCgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWNoZWNrZWQtYWZ0ZXIoKTtcblxuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pbmRldGVybWluYXRlIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWluZGV0ZXJtaW5hdGUoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1pbmRldGVybWluYXRlLWFmdGVyKCk7XG5cbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlbGVjdGlvbiBSYWRpb1xuICAuaWRzLWRhdGEtZ3JpZC1yYWRpby1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaWRzLWRhdGEtZ3JpZC1yYWRpbyB7XG4gICAgQGluY2x1ZGUgcmFkaW8tdW5jaGVja2VkKCk7XG5cbiAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHJhZGlvLXVuY2hlY2tlZC1hZnRlcigpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcmFkaW8tZGlzYWJsZWQtdW5jaGVja2VkKCk7XG4gICAgfVxuXG4gICAgJi5jaGVja2VkIHtcbiAgICAgIEBpbmNsdWRlIHJhZGlvLWNoZWNrZWQoKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSByYWRpby1jaGVja2VkLWFmdGVyKCk7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSByYWRpby1kaXNhYmxlZC1jaGVja2VkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVHJlZSBHcmlkXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwgLmlkcy1kYXRhLWdyaWQtdHJlZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaWRzLWJ1dHRvbiArIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICBpZHMtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIH1cblxuICAgIGlkcy1idXR0b24uZXhwYW5kLWJ1dHRvbiB7XG4gICAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItaG92ZXI6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1wcmVzc2VkOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgIGlkcy1oeXBlcmxpbmsge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlkcy1kYXRhLWdyaWQtY2VsbCAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTWFwcyB1c2VkIGZvciBhbHRlcmluZyBhbGlnbm1lbnRzIG9mIGVkaXRhYmxlIGdyaWQgY2VsbHMgaW4gZGlmZmVyZW50IHNjZW5hcmlvcy5cbiAgLy8gVGhlc2UgcnVsZXMgYXJlIGJhc2VkIG9uIHJvdy1oZWlnaHQsIHdoaWNoIGlzIGRlZmluZWQgYXQgdGhlIGAuaWRzLWRhdGEtZ3JpZGAgZWxlbWVudCBsZXZlbC5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAkcm93LWhlaWdodC1pbmxpbmUtdHJlZS1ncmlkLWJ1dHRvbi13aWR0aHM6IChcbiAgICAneHhzJzogMzAsXG4gICAgJ3hzJzogMzIsXG4gICAgJ3NtJzogMzQsXG4gICAgJ21kJzogNDAsXG4gICAgJ2xnJzogNDBcbiAgKTtcblxuICAkcm93LWhlaWdodC1wYWRkaW5nLW9mZnNldHM6IChcbiAgICAneHhzJzogMTIsXG4gICAgJ3hzJzogMTAsXG4gICAgJ3NtJzogOCxcbiAgICAnbWQnOiAzLFxuICAgICdsZyc6IDNcbiAgKTtcblxuICAkcm93LWhlaWdodC1kaXJ0eS1pbmRpY2F0b3Itb2Zmc2V0czogKFxuICAgICd4eHMnOiAxLFxuICAgICd4cyc6IDEsXG4gICAgJ3NtJzogMSxcbiAgICAnbWQnOiAyLFxuICAgICdsZyc6IDJcbiAgKTtcblxuICAkcm93LWhlaWdodC1pbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldHM6IChcbiAgICAneHhzJzogMyxcbiAgICAneHMnOiA0LFxuICAgICdzbSc6IDUsXG4gICAgJ21kJzogNixcbiAgICAnbGcnOiA2XG4gICk7XG5cbiAgJHJvdy1oZWlnaHQtaW5kZW50czogKFxuICAgICd4eHMnOiAxMixcbiAgICAneHMnOiAxMyxcbiAgICAnc20nOiAxNSxcbiAgICAnbWQnOiAxNyxcbiAgICAnbGcnOiAxN1xuICApO1xuXG4gICRyb3ctaGVpZ2h0LW91dGxpbmUtcGFkZGluZzogKFxuICAgICd4eHMnOiAxLFxuICAgICd4cyc6IDIsXG4gICAgJ3NtJzogMyxcbiAgICAnbWQnOiA0LFxuICAgICdsZyc6IDRcbiAgKTtcblxuICAkcm93LWhlaWdodC1vdXRsaW5lLW9mZnNldHM6IChcbiAgICAneHhzJzogMSxcbiAgICAneHMnOiAyLFxuICAgICdzbSc6IDUsXG4gICAgJ21kJzogOCxcbiAgICAnbGcnOiAxMlxuICApO1xuXG4gIEBlYWNoICRyb3dIZWlnaHQsICRvZmZzZXQgaW4gJHJvdy1oZWlnaHQtcGFkZGluZy1vZmZzZXRzIHtcbiAgICAvLyBUaGVzZSB2YWx1ZXMgYXJlIGRpZmZlcmVudCBmb3IgZWFjaCBSb3cgSGVpZ2h0XG4gICAgJGJ1dHRvbi13aWR0aDogbWFwLmdldCgkcm93LWhlaWdodC1pbmxpbmUtdHJlZS1ncmlkLWJ1dHRvbi13aWR0aHMsICRyb3dIZWlnaHQpO1xuICAgICRpbmRlbnQ6IG1hcC5nZXQoJHJvdy1oZWlnaHQtaW5kZW50cywgJHJvd0hlaWdodCk7XG4gICAgJGRpcnR5LWluZGljYXRvci1vZmZzZXQ6IG1hcC5nZXQoJHJvdy1oZWlnaHQtZGlydHktaW5kaWNhdG9yLW9mZnNldHMsICRyb3dIZWlnaHQpO1xuICAgICRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldDogbWFwLmdldCgkcm93LWhlaWdodC1pbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldHMsICRyb3dIZWlnaHQpO1xuICAgICRvdXRsaW5lLW9mZnNldDogbWFwLmdldCgkcm93LWhlaWdodC1vdXRsaW5lLW9mZnNldHMsICRyb3dIZWlnaHQpO1xuICAgICRvdXRsaW5lLXBhZGRpbmc6IG1hcC5nZXQoJHJvdy1oZWlnaHQtb3V0bGluZS1wYWRkaW5nLCAkcm93SGVpZ2h0KTtcblxuICAgICZbZGF0YS1yb3ctaGVpZ2h0PScjeyRyb3dIZWlnaHR9J10ge1xuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBUb3AtbGV2ZWwgZ3JpZCBhbGlnbm1lbnRzIHRoYXQgZGVwZW5kIHNvbGVseSBvbiByb3cgaGVpZ2h0XG4gICAgICAuaWRzLWRhdGEtZ3JpZC1jZWxsIHtcbiAgICAgICAgJi5pcy1kaXJ0eSB7XG4gICAgICAgICAgJjpub3QoLmlzLWlubGluZSkge1xuICAgICAgICAgICAgJi5mb3JtYXR0ZXItdGV4dCB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6ICN7JGRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaXMtaW5saW5lIHtcbiAgICAgICAgICAgICYuZm9ybWF0dGVyLXRleHQge1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAjeyRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAjeyRpbmxpbmUtZGlydHktaW5kaWNhdG9yLW9mZnNldH1weDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlZmluZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBcImlubGluZS1lZGl0XCIgc3R5bGUncyBvdXRsaW5lXG4gICAgICAgICYuaXMtZWRpdGFibGUuaXMtaW5saW5lIHtcbiAgICAgICAgICAmOm5vdCguZm9ybWF0dGVyLXRyZWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG91dGxpbmUtcGFkZGluZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5mb3JtYXR0ZXItdHJlZSB7XG4gICAgICAgICAgICAudGV4dC1lbGxpcHNpcyB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGlkcy1kYXRhLWdyaWQtaW5saW5lLWVkaXRhYmxlLW91dGxpbmUoJG91dGxpbmUtcGFkZGluZyk7XG5cbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG91dGxpbmUtb2Zmc2V0ICsgNH1weCk7XG5cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtI3skb3V0bGluZS1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIHN0YXJ0IHBhZGRpbmcgZnJvbSB0cmVlLWdyaWQtY29udGFpbmVkIGAudGV4dC1lbGxpcHNpc2AgZWxlbWVudHNcbiAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIC50ZXh0LWVsbGlwc2lzIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cblxuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBFeHBhbmRhYmxlIGdyaWQvdHJlZSBncmlkIG5lc3RlZCBhbGlnbm1lbnQgcnVsZXNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOCB7XG4gICAgICAgIFthcmlhLWxldmVsPScjeyRpfSddIC5pZHMtZGF0YS1ncmlkLWNlbGwge1xuICAgICAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgICAgIC5pZHMtZGF0YS1ncmlkLXRyZWUtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skYnV0dG9uLXdpZHRofXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uICsgLmlkcy1kYXRhLWdyaWQtdHJlZS1maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7JGJ1dHRvbi13aWR0aCArICgkaW5kZW50ICogKCRpIC0gMSkpICsgKCRvZmZzZXQpfXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZHMtYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3soJGluZGVudCAqICgkaSAtIDEpKSArICRvZmZzZXR9cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlkcy1idXR0b24gKyAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICAvLyBEaXJ0eS10cmFja2VyIHJ1bGVzIGRlcGVuZGVudCBvbiBgYXJpYS1sZXZlbGAgbmVzdGluZ1xuICAgICAgICAgICYuaXMtZGlydHkge1xuICAgICAgICAgICAgJi5pcy1pbmxpbmUge1xuICAgICAgICAgICAgICAuaWRzLWRhdGEtZ3JpZC10cmVlLWZpZWxkLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogI3skaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogI3skaW5saW5lLWRpcnR5LWluZGljYXRvci1vZmZzZXR9cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGaXggZm9yIHh4cyByb3cgaGVpZ2h0IHRyZWUgZm9ybWF0dGVyIGNlbGxzIHdpdGggZXhwYW5kIGljb25zXG4gICZbZGF0YS1yb3ctaGVpZ2h0PSd4eHMnXSB7XG4gICAgLmlkcy1kYXRhLWdyaWQtY2VsbC5pcy1lZGl0YWJsZS5pcy1pbmxpbmUuZm9ybWF0dGVyLXRyZWUge1xuICAgICAgLnRleHQtZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdCBTdHlsZSBGZWF0dXJlXG4gICYuaXMtbGlzdC1zdHlsZSB7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1pZHMtYm9yZGVyLXdpZHRoLW5vbmUpO1xuICB9XG5cbiAgLy8gVXNlZCBmb3Igcm93IHN0YXJ0XG4gICYud2FpdGluZy1sb2FkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5pZHMtZGF0YS1ncmlkLWJvZHkge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIGZvciBGcm96ZW4gQ29sdW1uc1xuLmlkcy1kYXRhLWdyaWQtYm9keSB7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8vIFN0YW5kYWxvbmUgQ3NzIEJvcmRlcnNcbnRhYmxlLmlkcy1kYXRhLWdyaWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1ib3JkZXIpO1xuICBvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cblxuLy8gRW1wdHkgTWVzc2FnZVxuLmlkcy1kYXRhLWdyaWQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuaWRzLWRhdGEtZ3JpZC10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNnB4IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICB9XG59XG5cbmlkcy1lbXB0eS1tZXNzYWdlOm5vdChbaGlkZGVuXSksXG46OnNsb3R0ZWQoaWRzLWVtcHR5LW1lc3NhZ2U6bm90KFtoaWRkZW5dKSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS1zbSk7XG59XG5cbi8vIEFkanVzdCBmb3IgZmlsdGVyIHJvd1xuaWRzLWVtcHR5LW1lc3NhZ2UuaGFzLWZpbHRlci1yb3c6bm90KFtoaWRkZW5dKSB7XG4gICYuZmlsdGVyLXJvdy1zaXplLXh4cyB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAyNHB4O1xuICB9XG5cbiAgJi5maWx0ZXItcm93LXNpemUteHMge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMzRweDtcbiAgfVxuXG4gICYuZmlsdGVyLXJvdy1zaXplLXNtIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDM0cHg7XG4gIH1cblxuICAmLmZpbHRlci1yb3ctc2l6ZS1tZCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzNHB4O1xuICB9XG5cbiAgJi5maWx0ZXItcm93LXNpemUtbGcge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMjZweDtcbiAgfVxuXG4gICYuaGFzLXBhZ2VyIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDE0cHg7XG4gIH1cbn1cblxuOjpzbG90dGVkKGlkcy1lbXB0eS1tZXNzYWdlLmhhcy1maWx0ZXItcm93Om5vdChbaGlkZGVuXSkpIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxNHB4O1xufVxuXG4uaGFzLWVtcHR5LW1lc3NhZ2UgLmlkcy1kYXRhLWdyaWQge1xuICBtaW4taGVpZ2h0OiB2YXIoLS1pZHMtZGF0YS1ncmlkLWhlaWdodC1taW4pO1xufVxuXG4vLyBMb2FkaW5nIEluZGljYXRvclxuaWRzLWxvYWRpbmctaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgJltzdG9wcGVkXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdCg6bm90KFtkaXNhYmxlLXJvdy1oaWdobGlnaHRdKSkgaWRzLWRhdGEtZ3JpZC1yb3c6aG92ZXI6bm90KFtwYXJ0Kj0ncm93LSddKTpub3QoLnNlbGVjdGVkKSB7XG4gIGlkcy1kYXRhLWdyaWQtY2VsbCxcbiAgaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLXJlYWRvbmx5Om5vdCguZXhjbHVkZS1yZWFkb25seS1zdHlsZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtcm93LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICB9XG5cbiAgaWRzLWRhdGEtZ3JpZC1jZWxsLmlzLWludmFsaWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtY2VsbC1jb2xvci1iYWNrZ3JvdW5kLWVycm9yLWhvdmVyKTtcbiAgfVxuXG4gIC5pZHMtZGF0YS1ncmlkLWNlbGwuZnJvemVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLXJvdy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgfVxufVxuXG4jZGF0YWdyaWQtbW9kYWwge1xuICAtLWlkcy1tb2RhbC1jb250ZW50LXBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgLS1pZHMtbW9kYWwtaGVhZGVyLXBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1zbSkgdmFyKC0taWRzLXNwYWNlLXNtKSB2YXIoLS1pZHMtc3BhY2UteHMpIHZhcigtLWlkcy1zcGFjZS1zbSk7XG4gIC0taWRzLXBvcHVwLWZpdC1oZWlnaHQ6IDQwMHB4O1xuXG4gIGlkcy1zd2FwcGFibGUtaXRlbSB7XG4gICAgLS1pZHMtc3dhcHBhYmxlLWl0ZW0tY29sb3ItYmFja2dyb3VuZC1zZWxlY3RlZDogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1ibHVlLXdlYWtlc3QpO1xuICAgIC0taWRzLXN3YXBwYWJsZS1pdGVtLWNvbG9yLXRleHQtc2VsZWN0ZWQ6IHZhcigtLWlkcy1jb2xvci1mb3JlZ3JvdW5kLWRlZmF1bHQtZGVmYXVsdCk7XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogdmFyKC0taWRzLWRhdGEtZ3JpZC1tb2RhbC1yb3ctaGVpZ2h0KTtcbiAgfVxuXG4gICNkYXRhZ3JpZC1tb2RhbC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UtMDQpICogLTEpO1xuICB9XG5cbiAgaWRzLXNlYXJjaC1maWVsZCB7XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1pZHMtY29sb3ItYWNjZW50LW5ldXRyYWwtd2Vha2VzdCk7XG4gICAgLS1pZHMtc2VhcmNoLWZpZWxkLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdDogdmFyKC0taWRzLWNvbG9yLWFjY2VudC1uZXV0cmFsLXdlYWtlc3QpO1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kZWZhdWx0OiB2YXIoLS1pZHMtY29sb3ItYWNjZW50LW5ldXRyYWwtd2Vhayk7XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItYWNjZW50LW5ldXRyYWwtd2Vhayk7XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWZvY3VzOiB2YXIoLS1pZHMtY29sb3ItYWNjZW50LW5ldXRyYWwtd2Vhayk7XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLXNoYWRvdzogbm9uZTtcbiAgICAtLWlkcy1zZWFyY2gtZmllbGQtYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtbm9uZSk7XG4gICAgLS1pZHMtc2VhcmNoLWZpZWxkLWJvcmRlci13aWR0aDogdmFyKC0taWRzLWJvcmRlci13aWR0aC1zbSkgdmFyKC0taWRzLWJvcmRlci13aWR0aC1ub25lKTtcblxuICAgIG1hcmdpbi1ib3R0b206IC04cHg7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UtMDgpICogLTEpO1xuICAgIG1pbi13aWR0aDogMzMwcHg7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgaWRzLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaWRzLXN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICBpZHMtc3dhcHBhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5kYXRhZ3JpZC1tb2RhbC1jb2x1bW4tbGlzdCB7XG4gICAgLS1pZHMtbW9kYWwtY29sdW1uLWxpc3QtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNHB4KTtcblxuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWlkcy1tb2RhbC1jb2x1bW4tbGlzdC1oZWlnaHQpO1xuICB9XG5cbn1cblxuLnNlbGVjdGlvbi1ib3JkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMDVzIGVhc2U7XG59XG4iLCIvLyBCcmVha3BvaW50cyAtIHRoaXMgY2FudCBiZSB0b2tlbnNcbiRicmVha3BvaW50LXh4bDogMTQ0MHB4O1xuJGJyZWFrcG9pbnQteGw6IDEyODBweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC1tZDogODQwcHg7XG4kYnJlYWtwb2ludC1zbTogNjAwcHg7XG4kYnJlYWtwb2ludC14czogMzIwcHg7XG5cbi8vIFNldHMgVGV4dCBBbnRpYWxpYXNpbmdcbkBtaXhpbiBhbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyB2ZW5kb3IgcHJlZml4ZWQgdHJhbnNpdGlvbnMgZm9yIHJlZ3VsYXIgYXR0cmlidXRlcyAobm9uLXZlbmRvciBwcmVmaXhlZClcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucy1saXN0Li4uKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcmVmaXh9dHJhbnNpdGlvbjogJHRyYW5zaXRpb25zLWxpc3Q7XG4gIH1cbn1cblxuLy8gbWFrZSB0aGUgdGV4dCBpbnZpc2libGUgdmlzdWFsbHkgYnV0IHJlYWRhYmxlIGJ5IHNjcmVlbiByZWFkZXJzXG5AbWl4aW4gYXVkaWJsZSgpIHtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAwO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZW5lcmF0ZXMgYSBwc2V1ZG8tZWxlbWVudCBpbiB0aGUgZm9ybSBvZiBhbiBcIm91dGxpbmVcIlxuLy8gaW4gYSBjZWxsIHRoYXQgcmVwcmVzZW50cyB0aGUgXCJpbmxpbmUsIGVkaXRhYmxlXCIgc3RhdGUuXG5AbWl4aW4gaWRzLWRhdGEtZ3JpZC1pbmxpbmUtZWRpdGFibGUtb3V0bGluZSgkbWFyZ2luKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy0yeHMpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgbWFyZ2luOiAjeyRtYXJnaW59cHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtYXJnaW4gKiAyfXB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1hcmdpbiAqIDJ9cHgpO1xuICB9XG59XG4iXX0= */`;
2684
2737
 
2685
2738
  // src/components/ids-data-grid/ids-data-grid.ts
2686
2739
  var Base = ids_pager_mixin_default(
@@ -2700,7 +2753,7 @@ var Base = ids_pager_mixin_default(
2700
2753
  )
2701
2754
  )
2702
2755
  );
2703
- var _activeCellCache, _editedCellsCache, _startSelectionCell, _endSelectionCell, _currentScroll, _afterSetActiveCellFn, _header, _IdsDataGrid_instances, redrawBodyTemplate_fn, _lastSelectedRow, _initiallySelectedRow, _lastShiftedRow, resetLastSelectedRow_fn, resetInitiallySelectedRow_fn, resetLastShiftedRow_fn, toggleShiftSelectionInBetween_fn, getSelection_fn, attachEventHandlers_fn, attachDragSelection_fn, createSelectionBorder_fn, updateSelectionBorder_fn, attachCopyPasteCellHandlers_fn, attachKeyboardListeners_fn, setColumnWidths_fn, setFrozenColumnWidth_fn, calcMaxContentWidth_fn, reapplyDirtyStates_fn, setColumnGroupsWidth_fn, appendMissingRows_fn, _virtualScrollMaxRowsInDom, attachScrollEvents_fn, attachVirtualScrollEvent_fn, calculateColumnsOnscreen_fn, detachScrollEvents_fn, syncTreeHiddenStates_fn, handleTreeRowExpandCollapse_fn, recycleAllTreeRows_fn, handleVirtualScroll_fn, _customScrollEventCache, triggerCustomScrollEvent_fn, positionVirtualScrollWindow_fn, restoreScrollPosition_fn, scrollTo_fn, scrollToTreeRow_fn, scrollRowIntoView_fn, getVisibleRowIndex_fn, findNextVisibleRow_fn, scrollToActivateRow_fn, ensureRowInViewport_fn, setVirtualScrollPaddingBottom_fn, scrollTreeRowIntoView_fn, recycleTreeRowsDown_fn, recycleTreeRowsUp_fn, recycleAllRows_fn, recycleTopRowsDown_fn, recycleBottomRowsUp_fn, saveCellOriginalValue_fn, updateCellDirtyState_fn, findParentRow_fn, findRootRow_fn, updateRowCount_fn, ensureRowVisibleInViewport_fn, applyAutoFit_fn, removeAttachedMenus_fn, filterColumnList_fn, handleCopy_fn, handlePaste_fn, saveEditedCellsBeforeScroll_fn, restoreActiveCellAfterScroll_fn, restoreEditedCellsAfterScroll_fn;
2756
+ var _activeCellCache, _editedCellsCache, _startSelectionCell, _endSelectionCell, _currentScroll, _afterSetActiveCellFn, _expandedCellInfo, _header, _IdsDataGrid_instances, redrawBodyTemplate_fn, _lastSelectedRow, _initiallySelectedRow, _lastShiftedRow, resetLastSelectedRow_fn, resetInitiallySelectedRow_fn, resetLastShiftedRow_fn, toggleShiftSelectionInBetween_fn, getSelection_fn, attachEventHandlers_fn, attachDragSelection_fn, createSelectionBorder_fn, updateSelectionBorder_fn, attachCopyPasteCellHandlers_fn, attachKeyboardListeners_fn, setColumnWidths_fn, setFrozenColumnWidth_fn, calcMaxContentWidth_fn, reapplyDirtyStates_fn, setColumnGroupsWidth_fn, appendMissingRows_fn, _virtualScrollMaxRowsInDom, attachScrollEvents_fn, attachVirtualScrollEvent_fn, calculateColumnsOnscreen_fn, detachScrollEvents_fn, syncTreeHiddenStates_fn, handleTreeRowExpandCollapse_fn, recycleAllTreeRows_fn, handleVirtualScroll_fn, _customScrollEventCache, triggerCustomScrollEvent_fn, positionVirtualScrollWindow_fn, restoreScrollPosition_fn, scrollTo_fn, scrollToTreeRow_fn, scrollRowIntoView_fn, getVisibleRowIndex_fn, findNextVisibleRow_fn, scrollToActivateRow_fn, ensureRowInViewport_fn, setVirtualScrollPaddingBottom_fn, scrollTreeRowIntoView_fn, recycleTreeRowsDown_fn, recycleTreeRowsUp_fn, recycleAllRows_fn, recycleTopRowsDown_fn, recycleBottomRowsUp_fn, saveCellOriginalValue_fn, updateCellDirtyState_fn, findParentRow_fn, findRootRow_fn, updateRowCount_fn, ensureRowVisibleInViewport_fn, applyAutoFit_fn, removeAttachedMenus_fn, filterColumnList_fn, handleCopy_fn, handlePaste_fn, saveEditedCellsBeforeScroll_fn, restoreActiveCellAfterScroll_fn, restoreEditedCellsAfterScroll_fn;
2704
2757
  var IdsDataGrid = class extends Base {
2705
2758
  constructor() {
2706
2759
  super();
@@ -2741,6 +2794,10 @@ var IdsDataGrid = class extends Base {
2741
2794
  __publicField(this, "contextmenuTypes", { ...containerTypes });
2742
2795
  __publicField(this, "selectWithFilterDropdown", false);
2743
2796
  __publicField(this, "dirtyRows");
2797
+ /** Tracks the currently expanded cell { row, cell } for expandOnActivate */
2798
+ __privateAdd(this, _expandedCellInfo, null);
2799
+ /** Cache of expanded row heights for expandOnActivate feature */
2800
+ __publicField(this, "expandedRowHeights", {});
2744
2801
  /** #@see IdsDataGrid.header */
2745
2802
  __privateAdd(this, _header);
2746
2803
  /** Reference to datasource API */
@@ -2999,6 +3056,11 @@ var IdsDataGrid = class extends Base {
2999
3056
  detail: { elem: this, rows, allRows: true }
3000
3057
  });
3001
3058
  }
3059
+ if (this.treeGrid && this.virtualScroll) {
3060
+ this.container.scrollTop = 0;
3061
+ this.body?.style.setProperty("padding-bottom", "0px");
3062
+ __privateMethod(this, _IdsDataGrid_instances, recycleAllTreeRows_fn).call(this, 0);
3063
+ }
3002
3064
  }
3003
3065
  /**
3004
3066
  * Expand all expandable or tree rows.
@@ -3019,6 +3081,10 @@ var IdsDataGrid = class extends Base {
3019
3081
  bubbles: true,
3020
3082
  detail: { elem: this, rows, allRows: true }
3021
3083
  });
3084
+ if (this.treeGrid && this.virtualScroll) {
3085
+ const currentScrollIndex = Math.floor(this.container.scrollTop / this.virtualScrollSettings.ROW_HEIGHT);
3086
+ __privateMethod(this, _IdsDataGrid_instances, recycleAllTreeRows_fn).call(this, currentScrollIndex);
3087
+ }
3022
3088
  }
3023
3089
  /**
3024
3090
  * Toggle the empty message.
@@ -3969,6 +4035,66 @@ var IdsDataGrid = class extends Base {
3969
4035
  get scrollMaxRows() {
3970
4036
  return __privateGet(this, _virtualScrollMaxRowsInDom);
3971
4037
  }
4038
+ /**
4039
+ * Get the current pixel height for a given row, accounting for expanded state
4040
+ * @param {number} rowIndex The row index
4041
+ * @returns {number} The row height in pixels
4042
+ */
4043
+ getRowHeight(rowIndex) {
4044
+ return this.expandedRowHeights[rowIndex] || this.rowPixelHeight;
4045
+ }
4046
+ /**
4047
+ * Expand a cell to show full multi-line content
4048
+ * @param {number} rowIndex The row index
4049
+ * @param {number} columnIndex The column index
4050
+ */
4051
+ expandCell(rowIndex, columnIndex) {
4052
+ const row = this.rowByIndex(rowIndex);
4053
+ if (!row) return;
4054
+ const cell = row.querySelector(`ids-data-grid-cell[aria-colindex="${columnIndex + 1}"]`);
4055
+ if (!cell || cell.classList.contains("is-expanded")) return;
4056
+ const column = this.visibleColumns[columnIndex];
4057
+ const rowData = this.data[rowIndex];
4058
+ const fieldValue = column?.field ? rowData?.[column.field] : null;
4059
+ if (fieldValue == null || String(fieldValue).trim() === "") return;
4060
+ const textEl = cell.querySelector(".text-ellipsis");
4061
+ if (textEl && textEl.scrollWidth <= textEl.clientWidth && !String(fieldValue).includes("\n")) return;
4062
+ const defaultHeight = this.rowPixelHeight;
4063
+ cell.classList.add("is-expanded");
4064
+ const expandedHeight = cell.scrollHeight;
4065
+ if (expandedHeight > defaultHeight) {
4066
+ this.expandedRowHeights[rowIndex] = expandedHeight;
4067
+ const cells = row.querySelectorAll("ids-data-grid-cell");
4068
+ cells.forEach((sibling) => {
4069
+ if (sibling !== cell) {
4070
+ sibling.classList.add("is-expanded-sibling");
4071
+ }
4072
+ sibling.style.height = `${expandedHeight}px`;
4073
+ });
4074
+ } else {
4075
+ cell.classList.remove("is-expanded");
4076
+ }
4077
+ }
4078
+ /**
4079
+ * Collapse the currently expanded cell back to default row height
4080
+ */
4081
+ collapseCell() {
4082
+ const expandedCell = this.container?.querySelector("ids-data-grid-cell.is-expanded");
4083
+ if (!expandedCell) {
4084
+ return;
4085
+ }
4086
+ expandedCell.classList.remove("is-expanded");
4087
+ const row = expandedCell.parentRow;
4088
+ if (row) {
4089
+ const rowIndex = expandedCell.rowIndex;
4090
+ delete this.expandedRowHeights[rowIndex];
4091
+ const cells = row.querySelectorAll("ids-data-grid-cell");
4092
+ cells.forEach((cell) => {
4093
+ cell.classList.remove("is-expanded-sibling");
4094
+ cell.style.removeProperty("height");
4095
+ });
4096
+ }
4097
+ }
3972
4098
  /**
3973
4099
  * Scroll a given row into view
3974
4100
  * @param {number} rowIndex which row to scroll into view.
@@ -4006,8 +4132,13 @@ var IdsDataGrid = class extends Base {
4006
4132
  this.setAttribute(attributes.ROW_HEIGHT, value);
4007
4133
  this.shadowRoot?.querySelector(".ids-data-grid")?.setAttribute("data-row-height", value);
4008
4134
  if (isNew) {
4135
+ this.collapseCell();
4136
+ this.expandedRowHeights = {};
4009
4137
  this.maxContentColumnWidths = {};
4010
4138
  __privateMethod(this, _IdsDataGrid_instances, setColumnWidths_fn).call(this);
4139
+ if (this.virtualScroll) {
4140
+ this.redraw();
4141
+ }
4011
4142
  }
4012
4143
  } else {
4013
4144
  this.removeAttribute(attributes.ROW_HEIGHT);
@@ -4876,7 +5007,9 @@ var IdsDataGrid = class extends Base {
4876
5007
  return this.activeCell;
4877
5008
  }
4878
5009
  const cellNode = rowNode?.querySelector(`ids-data-grid-cell[aria-colindex="${cellNumber + 1}"]`);
4879
- __privateMethod(this, _IdsDataGrid_instances, ensureRowVisibleInViewport_fn).call(this, rowIndex, rowNode);
5010
+ if (reason !== "internal") {
5011
+ __privateMethod(this, _IdsDataGrid_instances, ensureRowVisibleInViewport_fn).call(this, rowIndex, rowNode);
5012
+ }
4880
5013
  if (this.virtualScroll && this.body && rowNode && this.rows[0]) {
4881
5014
  const rowHeight = this.virtualScrollSettings.ROW_HEIGHT;
4882
5015
  const firstRowIndex = this.rows[0].rowIndex || 0;
@@ -5465,6 +5598,7 @@ _startSelectionCell = new WeakMap();
5465
5598
  _endSelectionCell = new WeakMap();
5466
5599
  _currentScroll = new WeakMap();
5467
5600
  _afterSetActiveCellFn = new WeakMap();
5601
+ _expandedCellInfo = new WeakMap();
5468
5602
  _header = new WeakMap();
5469
5603
  _IdsDataGrid_instances = new WeakSet();
5470
5604
  /**
@@ -6536,6 +6670,7 @@ attachVirtualScrollEvent_fn = function() {
6536
6670
  this.offEvent("scroll.data-grid.virtual-scroll", this.container);
6537
6671
  this.onEvent("scroll.data-grid.virtual-scroll", this.container, (evt) => {
6538
6672
  evt.stopImmediatePropagation();
6673
+ this.collapseCell();
6539
6674
  __privateMethod(this, _IdsDataGrid_instances, handleVirtualScroll_fn).call(this, virtualRowHeight);
6540
6675
  if (!this.treeGrid) {
6541
6676
  clearTimeout(debounceScroll);
@@ -6936,6 +7071,12 @@ scrollTreeRowIntoView_fn = function(cursorIndex) {
6936
7071
  const firstDomRowVirtualIndex = virtualRows.indexOf(firstDomRow.rowData);
6937
7072
  const lastDomRow = domRows[domRows.length - 1];
6938
7073
  const lastDomRowVirtualIndex = virtualRows.indexOf(lastDomRow.rowData);
7074
+ if (firstDomRowVirtualIndex === -1 || lastDomRowVirtualIndex === -1) {
7075
+ __privateMethod(this, _IdsDataGrid_instances, saveEditedCellsBeforeScroll_fn).call(this);
7076
+ __privateMethod(this, _IdsDataGrid_instances, recycleAllTreeRows_fn).call(this, cursorIndex);
7077
+ __privateMethod(this, _IdsDataGrid_instances, restoreEditedCellsAfterScroll_fn).call(this);
7078
+ return;
7079
+ }
6939
7080
  const moveRowsDown = upperLimitIndex - firstDomRowVirtualIndex;
6940
7081
  const moveRowsUp = moveRowsDown < 0 ? Math.abs(moveRowsDown) : NaN;
6941
7082
  const isInRange = cursorIndex >= firstDomRowVirtualIndex && cursorIndex <= lastDomRowVirtualIndex;
@@ -6962,7 +7103,12 @@ scrollTreeRowIntoView_fn = function(cursorIndex) {
6962
7103
  }
6963
7104
  virtualRows = this.virtualRows;
6964
7105
  firstVisibleRow = this.rowsVisible[0];
6965
- firstVisibleRowIndex = virtualRows.indexOf(firstVisibleRow.rowData);
7106
+ if (firstVisibleRow) {
7107
+ firstVisibleRowIndex = virtualRows.indexOf(firstVisibleRow.rowData);
7108
+ if (firstVisibleRowIndex === -1) firstVisibleRowIndex = 0;
7109
+ } else {
7110
+ firstVisibleRowIndex = 0;
7111
+ }
6966
7112
  __privateMethod(this, _IdsDataGrid_instances, positionVirtualScrollWindow_fn).call(this, firstVisibleRowIndex, virtualRows.length, scrollSettings);
6967
7113
  if (needsRecycling) {
6968
7114
  __privateMethod(this, _IdsDataGrid_instances, restoreEditedCellsAfterScroll_fn).call(this);
@@ -6974,7 +7120,7 @@ recycleTreeRowsDown_fn = function(obj, staleRows) {
6974
7120
  staleRows.forEach((row, idx) => {
6975
7121
  const nextIndex = lastVisibleRowIndex + idx + 1;
6976
7122
  const visibleRowData = dataVisibleRows[nextIndex];
6977
- if (nextIndex > maxRowIndex) return;
7123
+ if (nextIndex > maxRowIndex || !visibleRowData) return;
6978
7124
  const dataRowIndex = visibleRowData.vsRefId;
6979
7125
  row.rowIndex = dataRowIndex;
6980
7126
  rowsToMove.push(row);
@@ -6989,6 +7135,7 @@ recycleTreeRowsUp_fn = function(obj, staleRows) {
6989
7135
  staleRows.forEach((row, idx) => {
6990
7136
  const prevIndex = firstVisibleRowIndex - (idx + 1);
6991
7137
  const visibleRowData = dataVisibleRows[prevIndex];
7138
+ if (prevIndex < 0 || !visibleRowData) return;
6992
7139
  const dataRowIndex = visibleRowData.vsRefId;
6993
7140
  row.rowIndex = dataRowIndex;
6994
7141
  rowsToMove.push(row);
@@ -7153,7 +7300,9 @@ ensureRowVisibleInViewport_fn = function(rowIndex, rowNode) {
7153
7300
  const rowHeight = this.virtualScrollSettings.ROW_HEIGHT;
7154
7301
  const scrollTop = this.container.scrollTop || 0;
7155
7302
  const headerHeight = this.header?.clientHeight ?? 0;
7156
- const rowTop = rowIndex * rowHeight;
7303
+ const effectiveIndex = this.treeGrid ? __privateMethod(this, _IdsDataGrid_instances, getVisibleRowIndex_fn).call(this, rowIndex) : rowIndex;
7304
+ if (effectiveIndex === -1) return;
7305
+ const rowTop = effectiveIndex * rowHeight;
7157
7306
  const rowBottom = rowTop + rowHeight;
7158
7307
  const viewportTop = scrollTop + headerHeight;
7159
7308
  const viewportBottom = scrollTop + this.container.clientHeight;
@@ -7374,6 +7523,9 @@ restoreActiveCellAfterScroll_fn = function() {
7374
7523
  cellElement.editor.input.value = currentValue;
7375
7524
  }
7376
7525
  }
7526
+ if (__privateGet(this, _expandedCellInfo) && __privateGet(this, _expandedCellInfo).row === rowIndex && __privateGet(this, _expandedCellInfo).cell === columnIndex && cellElement.column?.expandOnActivate) {
7527
+ this.expandCell(rowIndex, columnIndex);
7528
+ }
7377
7529
  };
7378
7530
  /**
7379
7531
  * Restore edited cell values after DOM recycling
@@ -7429,4 +7581,4 @@ IdsDataGrid = __decorateClass([
7429
7581
  export {
7430
7582
  IdsDataGrid
7431
7583
  };
7432
- //# sourceMappingURL=ids-chunk-HR4HAGMR-full.js.map
7584
+ //# sourceMappingURL=ids-chunk-A5IOTIO6-full.js.map