@ng-nest/ui 14.0.5 → 14.0.6

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 (70) hide show
  1. package/core/config/config.d.ts +3 -0
  2. package/core/functions/convert.d.ts +1 -1
  3. package/esm2020/core/config/config.mjs +1 -1
  4. package/esm2020/core/functions/convert.mjs +1 -1
  5. package/esm2020/i18n/i18n.property.mjs +1 -1
  6. package/esm2020/i18n/languages/en_US.mjs +4 -2
  7. package/esm2020/i18n/languages/zh_CN.mjs +4 -2
  8. package/esm2020/i18n/languages/zh_TW.mjs +4 -2
  9. package/esm2020/input/input.component.mjs +2 -2
  10. package/esm2020/list/list.component.mjs +33 -8
  11. package/esm2020/list/list.property.mjs +17 -2
  12. package/esm2020/loading/loading.component.mjs +3 -3
  13. package/esm2020/loading/loading.property.mjs +7 -2
  14. package/esm2020/popover/popover.directive.mjs +20 -3
  15. package/esm2020/popover/popover.property.mjs +1 -1
  16. package/esm2020/select/select.component.mjs +13 -5
  17. package/esm2020/table/table-body.component.mjs +3 -3
  18. package/esm2020/table/table-head.component.mjs +3 -3
  19. package/esm2020/table/table.component.mjs +35 -4
  20. package/esm2020/table/table.property.mjs +8 -4
  21. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  22. package/fesm2015/ng-nest-ui-i18n.mjs +9 -3
  23. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  24. package/fesm2015/ng-nest-ui-input.mjs +2 -2
  25. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  26. package/fesm2015/ng-nest-ui-list.mjs +46 -7
  27. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  28. package/fesm2015/ng-nest-ui-loading.mjs +8 -3
  29. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  30. package/fesm2015/ng-nest-ui-popover.mjs +19 -2
  31. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  32. package/fesm2015/ng-nest-ui-select.mjs +13 -5
  33. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  34. package/fesm2015/ng-nest-ui-table.mjs +45 -10
  35. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  36. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  37. package/fesm2020/ng-nest-ui-i18n.mjs +9 -3
  38. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  39. package/fesm2020/ng-nest-ui-input.mjs +2 -2
  40. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  41. package/fesm2020/ng-nest-ui-list.mjs +46 -7
  42. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  43. package/fesm2020/ng-nest-ui-loading.mjs +8 -3
  44. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  45. package/fesm2020/ng-nest-ui-popover.mjs +19 -2
  46. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  47. package/fesm2020/ng-nest-ui-select.mjs +13 -5
  48. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  49. package/fesm2020/ng-nest-ui-table.mjs +45 -10
  50. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  51. package/i18n/i18n.property.d.ts +2 -0
  52. package/i18n/languages/en_US.d.ts +2 -0
  53. package/i18n/languages/zh_CN.d.ts +2 -0
  54. package/i18n/languages/zh_TW.d.ts +2 -0
  55. package/list/examples/en_US/default/load-more/README.md +8 -0
  56. package/list/examples/zh_CN/default/load-more/README.md +8 -0
  57. package/list/list.component.d.ts +6 -0
  58. package/list/list.property.d.ts +19 -1
  59. package/loading/loading.property.d.ts +7 -2
  60. package/package.json +1 -1
  61. package/popover/popover.directive.d.ts +4 -3
  62. package/popover/popover.property.d.ts +1 -1
  63. package/table/examples/en_US/default/edit/README.md +7 -0
  64. package/table/examples/en_US/default/header/README.md +2 -2
  65. package/table/examples/en_US/default/search/README.md +6 -0
  66. package/table/examples/zh_CN/default/edit/README.md +7 -0
  67. package/table/examples/zh_CN/default/header/README.md +2 -2
  68. package/table/examples/zh_CN/default/search/README.md +6 -0
  69. package/table/table.component.d.ts +5 -0
  70. package/table/table.property.d.ts +13 -3
@@ -54,6 +54,22 @@ export class XTableComponent extends XTableProperty {
54
54
  }
55
55
  return top;
56
56
  }
57
+ get getStickyTopRightEleHeight() {
58
+ if (this.stickyTopRightEle) {
59
+ return this.stickyTopRightEle.nativeElement.offsetHeight;
60
+ }
61
+ else {
62
+ return 0;
63
+ }
64
+ }
65
+ get getStickyBottomRightEleHeight() {
66
+ if (this.stickyBottomRightEle) {
67
+ return this.stickyBottomRightEle.nativeElement.offsetHeight;
68
+ }
69
+ else {
70
+ return 0;
71
+ }
72
+ }
57
73
  ngOnInit() {
58
74
  this.setClassMap();
59
75
  this.setRowChecked();
@@ -107,6 +123,9 @@ export class XTableComponent extends XTableProperty {
107
123
  (this.headerPosition === 'top' || this.headerPosition === 'top-bottom') &&
108
124
  this.columns.some((x) => Number(x.right) >= 0));
109
125
  }
126
+ hasStickyTopRightSearch() {
127
+ return this.headSearchTpl ? true : false;
128
+ }
110
129
  hasStickyBottomRight() {
111
130
  return (this.showHeader &&
112
131
  (this.headerPosition === 'bottom' || this.headerPosition === 'top-bottom') &&
@@ -249,7 +268,13 @@ export class XTableComponent extends XTableProperty {
249
268
  node.children?.map((y) => getChildren(y, level + 1));
250
269
  return node;
251
270
  };
252
- this.treeTableData = data.filter((x) => XIsEmpty(x.pid)).map((x) => getChildren(x, 0));
271
+ this.treeTableData = data
272
+ .filter((x) => XIsEmpty(x.pid))
273
+ .map((x, index) => {
274
+ if (XIsUndefined(x.id))
275
+ x.id = index + 1;
276
+ return getChildren(x, 0);
277
+ });
253
278
  }
254
279
  setExpandedAll() {
255
280
  if (!this.treeTable || this.treeTableData?.length === 0)
@@ -299,10 +324,10 @@ export class XTableComponent extends XTableProperty {
299
324
  }
300
325
  }
301
326
  /** @nocollapse */ XTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XTableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
302
- /** @nocollapse */ XTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XTableComponent, selector: "x-table", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "caption", first: true, predicate: ["caption"], descendants: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);position:relative}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{position:absolute;width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:1}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:1}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XPaginationComponent, selector: "x-pagination" }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "component", type: i6.XTableHeadComponent, selector: "x-table-head", inputs: ["table"] }, { kind: "component", type: i7.XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }, { kind: "component", type: i8.XTableFootComponent, selector: "x-table-foot", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
327
+ /** @nocollapse */ XTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XTableComponent, selector: "x-table", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "caption", first: true, predicate: ["caption"], descendants: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }, { propertyName: "stickyTopRightEle", first: true, predicate: ["stickyTopRightEle"], descendants: true }, { propertyName: "stickyBottomRightEle", first: true, predicate: ["stickyBottomRightEle"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n #stickyTopRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyTopRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop + getStickyTopRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n #stickyBottomRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop + getStickyBottomRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);position:relative}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:5}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>thead.x-table-head-bottom>tr.x-table-search>th{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:5}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-bottom{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-top{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.XPaginationComponent, selector: "x-pagination" }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "component", type: i6.XTableHeadComponent, selector: "x-table-head", inputs: ["table"] }, { kind: "component", type: i7.XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }, { kind: "component", type: i8.XTableFootComponent, selector: "x-table-foot", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
303
328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XTableComponent, decorators: [{
304
329
  type: Component,
305
- args: [{ selector: `${XTablePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);position:relative}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{position:absolute;width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:1}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:1}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"] }]
330
+ args: [{ selector: `${XTablePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-left-max]=\"scrollLeftMax\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-has-scroll-right]=\"scrollYWidth\"\r\n [class.x-table-has-scroll-bottom]=\"scrollXWidth\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <caption #caption class=\"x-table-header\" *ngIf=\"header\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"header\">{{ header }}</ng-container>\r\n </caption>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'top' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'top'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-head\r\n *ngIf=\"showHeader && (headerPosition === 'bottom' || headerPosition === 'top-bottom')\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [position]=\"'bottom'\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-foot *ngIf=\"footer\" [table]=\"this\" [footer]=\"footer\" [rowHeight]=\"rowHeight\"></x-table-foot>\r\n <div\r\n *ngIf=\"hasStickyTopRight()\"\r\n #stickyTopRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.top.px]=\"getStickyTopScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyTopRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.top.px]=\"getStickyTopScrollTop + getStickyTopRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight()\"\r\n #stickyBottomRightEle\r\n class=\"x-table-sticky-right-scroll\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n <div\r\n *ngIf=\"hasStickyBottomRight() && headSearchTpl\"\r\n class=\"x-table-sticky-right-scroll\"\r\n [class.x-table-border-bottom]=\"headSearchTpl\"\r\n [style.bottom.px]=\"getStickyBottomScrollTop + getStickyBottomRightEleHeight\"\r\n [style.width.px]=\"scrollYWidth\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n ></div>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);position:relative}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:5}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>thead.x-table-head-bottom>tr>th{border-bottom:none}.x-table>thead.x-table-head-bottom>tr.x-table-search>th{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:5}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left .x-table-sticky-left-last{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-header{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);text-align:left;display:flex;align-items:center}.x-table-footer{display:flex;align-items:center}.x-table-sticky-right-scroll{position:absolute;right:0;min-height:42px;background-color:var(--x-background);z-index:1}.x-table-has-scroll-right .x-table-footer{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-has-scroll-bottom:not(.x-table-scroll-left-max) .x-table-sticky-right-first{box-shadow:var(--x-box-shadow-light-width-minus) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-bottom{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-border-top{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big .x-table-header,.x-table-row-size-big .x-table-footer{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large .x-table-header,.x-table-row-size-large .x-table-footer{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium .x-table-header,.x-table-row-size-medium .x-table-footer{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small .x-table-header,.x-table-row-size-small .x-table-footer{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini .x-table-header,.x-table-row-size-mini .x-table-footer{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"] }]
306
331
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { table: [{
307
332
  type: ViewChild,
308
333
  args: ['table']
@@ -312,5 +337,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
312
337
  }], pagination: [{
313
338
  type: ViewChild,
314
339
  args: ['pagination']
340
+ }], stickyTopRightEle: [{
341
+ type: ViewChild,
342
+ args: ['stickyTopRightEle']
343
+ }], stickyBottomRightEle: [{
344
+ type: ViewChild,
345
+ args: ['stickyBottomRightEle']
315
346
  }] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBNkQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBK0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTL0IsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQWlEakQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFoQ3RDLFVBQUssR0FBaUIsRUFBRSxDQUFDO1FBTXpCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUVsQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIs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QyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFVBQVUsR0FBRyxDQUFDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1RixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0hBMVRVLGVBQWU7bUhBQWYsZUFBZSwyV0MxQjVCLHcyR0E2RkE7MkZEbkVhLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsR0FBRyxZQUFZLEVBQUUsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzTEErQzNCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDSSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGFibGVQcmVmaXgsIFhUYWJsZVByb3BlcnR5LCBYVGFibGVDb2x1bW4sIFhUYWJsZVJvdywgWFRhYmxlQ2VsbCwgWFRhYmxlQ2VsbENvbmZpZ1J1bGUgfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWFJlc3VsdExpc3QsIFhOdW1iZXIsIFhTb3J0LCBYQ29uZmlnU2VydmljZSwgWElzVW5kZWZpbmVkIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3BhZ2luYXRpb24nO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGFibGVQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlQ29tcG9uZW50IGV4dGVuZHMgWFRhYmxlUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZ2V0IGdldFNjcm9sbExlZnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zY3JvbGxMZWZ0ID4gMDtcclxuICB9XHJcbiAgZ2V0IGdldFNjcm9sbFRvcCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNjcm9sbFRvcCA+IDA7XHJcbiAgfVxyXG4gIGdldCBnZXRSb3dIZWlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgfVxyXG4gIGdldCBnZXRTdGlja3lUb3BTY3JvbGxUb3AoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50Y2FwdGlvbiA/IHRoaXMudGNhcHRpb24ubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgOiAwO1xyXG4gIH1cclxuICBnZXQgZ2V0U3RpY2t5Qm90dG9tU2Nyb2xsVG9wKCkge1xyXG4gICAgbGV0IHRvcCA9IDA7XHJcbiAgICBpZiAodGhpcy5mb290ZXIgJiYgdGhpcy50Zm9vdCkge1xyXG4gICAgICB0b3AgKz0gdGhpcy50Zm9vdD8ubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgKyAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvcDtcclxuICB9XHJcbiAgdGNhcHRpb24hOiBFbGVtZW50UmVmO1xyXG4gIHRoZWFkOiBFbGVtZW50UmVmW10gPSBbXTtcclxuICB0Zm9vdCE6IEVsZW1lbnRSZWY7XHJcbiAgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgaGVhZENoYW5nZSE6ICgpID0+IHZvaWQ7XHJcbiAgYm9keUNoYW5nZSE6ICgpID0+IHZvaWQ7XHJcbiAgc2Nyb2xsQ29udGVudEVsZSE6IEhUTUxFbGVtZW50O1xyXG4gIGhhc1Njcm9sbFkgPSBmYWxzZTtcclxuICBzY3JvbGxZV2lkdGggPSAwO1xyXG4gIGhhc1Njcm9sbFggPSBmYWxzZTtcclxuICBzY3JvbGxYSGVpZ2h0ID0gMDtcclxuICBzY3JvbGxYV2lkdGghOiBudW1iZXIgfCBudWxsO1xyXG4gIHNjcm9sbExlZnQgPSAwO1xyXG4gIHNjcm9sbExlZnRNYXggPSBmYWxzZTtcclxuICBzY3JvbGxUb3AgPSAwO1xyXG4gIHJvd0NoZWNrZWQhOiBYVGFibGVDb2x1bW47XHJcbiAgaGVhZENoZWNrYm94TGlzdCE6IFhUYWJsZUNvbHVtbltdO1xyXG4gIHJvd0V4cGFuZCE6IFhUYWJsZUNvbHVtbjtcclxuICBoZWFkRXhwYW5kTGlzdCE6IFhUYWJsZUNvbHVtbltdO1xyXG4gIGRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICBnZXR0aW5nID0gZmFsc2U7XHJcbiAgdGFibGVEYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIHRyZWVUYWJsZURhdGE6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgY2hlY2tlZFZhbHVlczogeyBbcHJvcDogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XHJcbiAgaW5kZXRlcm1pbmF0ZSA9ICckJGluZGV0ZXJtaW5hdGUnO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJykgdGFibGUhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NhcHRpb24nKSBjYXB0aW9uITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdwYWdpbmF0aW9uJykgcGFnaW5hdGlvbiE6IFhQYWdpbmF0aW9uQ29tcG9uZW50O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0Um93Q2hlY2tlZCgpO1xyXG4gICAgdGhpcy5zZXRSb3dFeHBhbmQoKTtcclxuICAgIHRoaXMuc2V0TWVyZ2UoKTtcclxuICAgIHRoaXMuc2V0UGFnaW5hdGlvblBvc2l0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGNoZWNrZWRSb3csIGNvbHVtbnMsIGFjdGl2YXRlZFJvdywgbWFudWFsLCBzaG93UGFnaW5hdGlvbiwgZXhwYW5kZWRBbGwgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZXhwYW5kZWRBbGwpICYmIHRoaXMuc2V0RXhwYW5kZWRBbGwoKTtcclxuICAgIFhJc0NoYW5nZShkYXRhLCBjaGVja2VkUm93KSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIFhJc0NoYW5nZShjb2x1bW5zLCBhY3RpdmF0ZWRSb3csIHNob3dQYWdpbmF0aW9uKSAmJiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBYSXNDaGFuZ2UobWFudWFsKSAmJiB0aGlzLnNldE1hbnVhbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnRjYXB0aW9uID0gdGhpcy5jYXB0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xyXG4gICAgICBbYCR7WFRhYmxlUHJlZml4fS1yb3ctc2l6ZS0ke3RoaXMucm93U2l6ZX1gXTogIVhJc0VtcHR5KHRoaXMucm93U2l6ZSlcclxuICAgIH07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQYWdpbmF0aW9uUG9zaXRpb24oKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBgeC10YWJsZS0ke3RoaXMucGFnaW5hdGlvblBvc2l0aW9ufWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5TGVmdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLmxlZnQpID49IDA7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3lMZWZ0TGFzdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGxldCBsZWZ0cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoKHgpID0+IE51bWJlcih4LmxlZnQpID49IDApO1xyXG4gICAgaWYgKGxlZnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGxlZnRzW2xlZnRzLmxlbmd0aCAtIDFdLmlkID09PSBjb2x1bW4uaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRTdGlja3lSaWdodChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLnJpZ2h0KSA+PSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIGxldCByaWdodHMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMCk7XHJcbiAgICBpZiAocmlnaHRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHJpZ2h0c1swXS5pZCA9PT0gY29sdW1uLmlkO1xyXG4gIH1cclxuXHJcbiAgaGFzU3RpY2t5VG9wUmlnaHQoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnNob3dIZWFkZXIgJiZcclxuICAgICAgKHRoaXMuaGVhZGVyUG9zaXRpb24gPT09ICd0b3AnIHx8IHRoaXMuaGVhZGVyUG9zaXRpb24gPT09ICd0b3AtYm90dG9tJykgJiZcclxuICAgICAgdGhpcy5jb2x1bW5zLnNvbWUoKHgpID0+IE51bWJlcih4LnJpZ2h0KSA+PSAwKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhc1N0aWNreUJvdHRvbVJpZ2h0KCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5zaG93SGVhZGVyICYmXHJcbiAgICAgICh0aGlzLmhlYWRlclBvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aGlzLmhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpICYmXHJcbiAgICAgIHRoaXMuY29sdW1ucy5zb21lKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKE51bWJlcih0aGlzLmluZGV4KSAtIDEpICogTnVtYmVyKHRoaXMuc2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZXRDaGVja2VkKHRoaXMuZGF0YSk7XHJcbiAgICAgIHRoaXMuc2V0SGVhZENoZWNrYm94TGlzdCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEV4cGFuZCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEhlYWRFeHBhbmRMaXN0KCk7XHJcbiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQnlGdW5jKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hbnVhbCkgcmV0dXJuO1xyXG4gICAgdGhpcy5nZXR0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICAodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSh0aGlzLmluZGV4LCB0aGlzLnNpemUsIHRoaXMucXVlcnkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4OiBYUmVzdWx0TGlzdDxYVGFibGVSb3c+KSA9PiB7XHJcbiAgICAgICAgbGV0IFtkYXRhLCB0b3RhbF0gPSBbeC5saXN0IGFzIFhUYWJsZVJvd1tdLCB4LnRvdGFsIGFzIFhOdW1iZXJdO1xyXG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxCb2R5KSB7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2V0Q2hlY2tlZChkYXRhKTtcclxuICAgICAgICB0aGlzLnNldEhlYWRDaGVja2JveExpc3QoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRFeHBhbmQoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkRXhwYW5kTGlzdCgpO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFudWFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUlzRnVuYykgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSb3dDaGVja2VkKCkge1xyXG4gICAgdGhpcy5yb3dDaGVja2VkID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkgYXMgWFRhYmxlQ29sdW1uO1xyXG4gICAgdGhpcy5oZWFkQ2hlY2tib3hMaXN0ID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoeCkgPT4geC50eXBlID09PSAnY2hlY2tib3gnICYmIHguaGVhZENoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Um93RXhwYW5kKCkge1xyXG4gICAgdGhpcy5yb3dFeHBhbmQgPSB0aGlzLmNvbHVtbnMuZmluZCgoeCkgPT4geC5yb3dFeHBhbmQpIGFzIFhUYWJsZUNvbHVtbjtcclxuICB9XHJcblxyXG4gIGlzRXhwYW5kQ29sdW1uKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBsZXQgZXhwYW5kQ29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbHVtbi5pZCAmJiB4LnR5cGUgPT09ICdleHBhbmQnKTtcclxuICAgIGlmIChleHBhbmRDb2x1bW4pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRNZXJnZSgpIHtcclxuICAgIGlmICghdGhpcy5jZWxsQ29uZmlnKSByZXR1cm47XHJcbiAgICBjb25zdCBzZXRSdWxlID0gKHJ1bGU/OiBYVGFibGVDZWxsQ29uZmlnUnVsZSkgPT4ge1xyXG4gICAgICBpZiAoIXJ1bGUpIHJldHVybjtcclxuICAgICAgbGV0IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSAnJyxcclxuICAgICAgICBjZWxscyA9IFtdO1xyXG4gICAgICBpZiAoIXJ1bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucykge1xyXG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBgJHt0aGlzLmNvbHVtbnNcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHgud2lkdGgpIHJldHVybiB4LndpZHRoO1xyXG4gICAgICAgICAgICBpZiAoeC5mbGV4KSByZXR1cm4gYCR7eC5mbGV4fWZyYDtcclxuICAgICAgICAgICAgcmV0dXJuICcxZnInO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5qb2luKCcgJyl9YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXJ1bGUuY2VsbHMpIHJldHVybjtcclxuICAgICAgY2VsbHMgPSBydWxlLmNlbGxzLm1hcCgoeSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbCA9IHRoaXMuY29sdW1ucy5maW5kKCh6KSA9PiB6LmlkID09PSB5LmlkKTtcclxuICAgICAgICBpZiAoY29sKSB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jb2wsIC4uLnkgfSBhcyBYVGFibGVDZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7IGdyaWRUZW1wbGF0ZUNvbHVtbnMsIGNlbGxzIH07XHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRoZWFkID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGhlYWQpO1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRib2R5ID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGJvZHkpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZGF0YUlzRnVuYyAmJiB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgICB0aGlzLnJlc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNjcm9sbCh4ID0gdHJ1ZSwgeSA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLmhhc1Njcm9sbFggJiYgeCkgdGhpcy52aXJ0dWFsQm9keT8uc2Nyb2xsVG8oeyBsZWZ0OiAwIH0pO1xyXG4gICAgaWYgKHRoaXMuaGFzU2Nyb2xsWSAmJiB5KSB0aGlzLnZpcnR1YWxCb2R5Py5zY3JvbGxUbyh7IHRvcDogMCB9KTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrZWQoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGxldCByZXN1bHQ6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgICBpZiAoWElzRW1wdHkoZGF0YSkgfHwgIXRoaXMuY2hlY2tlZFJvdykgcmV0dXJuO1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2hlY2tlZFJvdykge1xyXG4gICAgICBjb25zdCBhcnIgPSB0aGlzLmNoZWNrZWRSb3dba2V5XTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiBkYXRhIGFzIGFueVtdKSB7XHJcbiAgICAgICAgaXRlbVtrZXldID0gYXJyLmluY2x1ZGVzKGl0ZW0uaWQpO1xyXG4gICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIGl0ZW1dO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIGRhdGEgPSBbLi4ucmVzdWx0XTtcclxuICB9XHJcblxyXG4gIHNldEhlYWRDaGVja2JveExpc3QoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGlmIChYSXNFbXB0eShkYXRhKSB8fCAhdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSB7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kKGRhdGE6IFhUYWJsZVJvd1tdKSB7XHJcbiAgICBjb25zdCBnZXRDaGlsZHJlbiA9IChub2RlOiBYVGFibGVSb3csIGxldmVsOiBudW1iZXIpID0+IHtcclxuICAgICAgbm9kZS5sZXZlbCA9IGxldmVsO1xyXG4gICAgICBub2RlLmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKSB8fCBsZXZlbCA8PSB0aGlzLmV4cGFuZGVkTGV2ZWwgfHwgdGhpcy5leHBhbmRlZC5pbmNsdWRlcyhub2RlLmlkKTtcclxuICAgICAgaWYgKFhJc1VuZGVmaW5lZChub2RlLmNoaWxkcmVuKSkgbm9kZS5jaGlsZHJlbiA9IGRhdGEuZmlsdGVyKCh5KSA9PiB5LnBpZCA9PT0gbm9kZS5pZCk7XHJcbiAgICAgIGlmIChYSXNVbmRlZmluZWQobm9kZS5sZWFmKSkgbm9kZS5sZWFmID0gKG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCBhcyBudW1iZXIpID4gMDtcclxuICAgICAgaWYgKG5vZGUubGVhZikgbm9kZS5jaGlsZHJlbj8ubWFwKCh5KSA9PiBnZXRDaGlsZHJlbih5LCBsZXZlbCArIDEpKTtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy50cmVlVGFibGVEYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IFhJc0VtcHR5KHgucGlkKSkubWFwKCh4KSA9PiBnZXRDaGlsZHJlbih4LCAwKSk7XHJcbiAgfVxyXG5cclxuICBzZXRFeHBhbmRlZEFsbCgpIHtcclxuICAgIGlmICghdGhpcy50cmVlVGFibGUgfHwgdGhpcy50cmVlVGFibGVEYXRhPy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKG5vZGVzOiBYVGFibGVSb3dbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICB4LmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUYWJsZVJvd1tdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy50cmVlVGFibGVEYXRhKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0SGVhZEV4cGFuZExpc3QoKSB7fVxyXG5cclxuICBjaGVja1NvcnQoc29ydDogWFNvcnRbXSkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGFJc0Z1bmMpIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5xdWVyeSA9PT0gJ3VuZGVmaW5lZCcpIHRoaXMucXVlcnkgPSB7fTtcclxuICAgIHRoaXMucXVlcnkuc29ydCA9IHNvcnQ7XHJcbiAgICB0aGlzLnF1ZXJ5Q2hhbmdlLmVtaXQodGhpcy5xdWVyeSk7XHJcbiAgICB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICB9XHJcblxyXG4gIGhlYWRDaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4sIGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIHhbY29sdW1uLmlkXSA9IGNoZWNrZWQ7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBib2R5Q2hlY2tlZChfY2hlY2tlZDogYm9vbGVhbiwgY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGVja2VkVmFsdWVzKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBjb25zdCBjb3VudCA9IHRoaXMudGFibGVEYXRhLmxlbmd0aDtcclxuICAgIGNvbnN0IGNoZWNrZWRMZW4gPSB0aGlzLnRhYmxlRGF0YS5maWx0ZXIoKHgpID0+IHhbY29sdW1uLmlkXSkubGVuZ3RoO1xyXG4gICAgdGhpcy5jaGVja2VkVmFsdWVzW2NvbHVtbi5pZF0gPSBjb3VudCA9PT0gY2hlY2tlZExlbjtcclxuICAgIHRoaXMuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWQgKyB0aGlzLmluZGV0ZXJtaW5hdGVdID0gY2hlY2tlZExlbiA+IDAgJiYgY2hlY2tlZExlbiA8IGNvdW50O1xyXG4gIH1cclxuXHJcbiAgZGV0ZWN0Q2hhbmdlcygpIHtcclxuICAgIHRoaXMuYm9keUNoYW5nZSAmJiB0aGlzLmJvZHlDaGFuZ2UoKTtcclxuICAgIHRoaXMuaGVhZENoYW5nZSAmJiB0aGlzLmhlYWRDaGFuZ2UoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPHRhYmxlXHJcbiAgI3RhYmxlXHJcbiAgY2xhc3M9XCJ4LXRhYmxlXCJcclxuICBbbmdDbGFzc109XCJjbGFzc01hcFwiXHJcbiAgW3gtbG9hZGluZ109XCJsb2FkaW5nICYmIGdldHRpbmdcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC1sZWZ0XT1cImdldFNjcm9sbExlZnRcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC1sZWZ0LW1heF09XCJzY3JvbGxMZWZ0TWF4XCJcclxuICBbY2xhc3MueC10YWJsZS1zY3JvbGwtdG9wXT1cImdldFNjcm9sbFRvcFwiXHJcbiAgW2NsYXNzLngtdGFibGUtaGFzLXNjcm9sbC1yaWdodF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gIFtjbGFzcy54LXRhYmxlLWhhcy1zY3JvbGwtYm90dG9tXT1cInNjcm9sbFhXaWR0aFwiXHJcbiAgW2NsYXNzLngtdGFibGUtYm9yZGVyZWRdPVwiYm9yZGVyZWRcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXRkLWFkYXB0aW9uLWhlaWdodF09XCJyb3dIZWlnaHQgPT0gMFwiXHJcbiAgW2NsYXNzLngtdGFibGUtY2VsbC1jb25maWddPVwiY2VsbENvbmZpZ1wiXHJcbj5cclxuICA8Y2FwdGlvbiAjY2FwdGlvbiBjbGFzcz1cIngtdGFibGUtaGVhZGVyXCIgKm5nSWY9XCJoZWFkZXJcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImhlYWRlclwiPnt7IGhlYWRlciB9fTwvbmctY29udGFpbmVyPlxyXG4gIDwvY2FwdGlvbj5cclxuICA8eC10YWJsZS1oZWFkXHJcbiAgICAqbmdJZj1cInNob3dIZWFkZXIgJiYgKGhlYWRlclBvc2l0aW9uID09PSAndG9wJyB8fCBoZWFkZXJQb3NpdGlvbiA9PT0gJ3RvcC1ib3R0b20nKVwiXHJcbiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgIFtyb3dIZWlnaHRdPVwicm93SGVpZ2h0XCJcclxuICAgIFtjb2x1bW5UcGxdPVwiaGVhZENvbHVtblRwbFwiXHJcbiAgICBbc2Nyb2xsWVdpZHRoXT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc2Nyb2xsWFdpZHRoXT1cInNjcm9sbFhXaWR0aFwiXHJcbiAgICBbY2VsbENvbmZpZ109XCJjZWxsQ29uZmlnPy50aGVhZFwiXHJcbiAgICBbcG9zaXRpb25dPVwiJ3RvcCdcIlxyXG4gICAgW3RhYmxlXT1cInRoaXNcIlxyXG4gID48L3gtdGFibGUtaGVhZD5cclxuICA8eC10YWJsZS1ib2R5XHJcbiAgICBbZGF0YV09XCJ0cmVlVGFibGUgPyB0cmVlVGFibGVEYXRhIDogdGFibGVEYXRhXCJcclxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgW2l0ZW1TaXplXT1cIml0ZW1TaXplXCJcclxuICAgIFtyb3dIZWlnaHRdPVwicm93SGVpZ2h0XCJcclxuICAgIFtib2R5SGVpZ2h0XT1cImJvZHlIZWlnaHRcIlxyXG4gICAgW2NvbHVtblRwbF09XCJib2R5Q29sdW1uVHBsXCJcclxuICAgIFthbGxvd1NlbGVjdFJvd109XCJhbGxvd1NlbGVjdFJvd1wiXHJcbiAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcclxuICAgIFttaW5CdWZmZXJQeF09XCJtaW5CdWZmZXJQeFwiXHJcbiAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhcIlxyXG4gICAgW2FkYXB0aW9uSGVpZ2h0XT1cImFkYXB0aW9uSGVpZ2h0XCJcclxuICAgIFtkb2NQZXJjZW50XT1cImRvY1BlcmNlbnRcIlxyXG4gICAgW3Njcm9sbF09XCJzY3JvbGxcIlxyXG4gICAgW3Jvd0NsYXNzXT1cInJvd0NsYXNzXCJcclxuICAgIFtjZWxsQ29uZmlnXT1cImNlbGxDb25maWc/LnRib2R5XCJcclxuICAgIFtleHBhbmRlZEFsbF09XCJleHBhbmRlZEFsbFwiXHJcbiAgICBbZXhwYW5kVHBsXT1cImV4cGFuZFRwbFwiXHJcbiAgICBbKGFjdGl2YXRlZFJvdyldPVwiYWN0aXZhdGVkUm93XCJcclxuICAgIChhY3RpdmF0ZWRSb3dDaGFuZ2UpPVwiYWN0aXZhdGVkUm93Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICBbdGFibGVdPVwidGhpc1wiXHJcbiAgPjwveC10YWJsZS1ib2R5PlxyXG4gIDx4LXRhYmxlLWhlYWRcclxuICAgICpuZ0lmPVwic2hvd0hlYWRlciAmJiAoaGVhZGVyUG9zaXRpb24gPT09ICdib3R0b20nIHx8IGhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpXCJcclxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2NvbHVtblRwbF09XCJoZWFkQ29sdW1uVHBsXCJcclxuICAgIFtzY3JvbGxZV2lkdGhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzY3JvbGxYV2lkdGhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjZWxsQ29uZmlnXT1cImNlbGxDb25maWc/LnRoZWFkXCJcclxuICAgIFtwb3NpdGlvbl09XCInYm90dG9tJ1wiXHJcbiAgICBbdGFibGVdPVwidGhpc1wiXHJcbiAgPjwveC10YWJsZS1oZWFkPlxyXG4gIDx4LXRhYmxlLWZvb3QgKm5nSWY9XCJmb290ZXJcIiBbdGFibGVdPVwidGhpc1wiIFtmb290ZXJdPVwiZm9vdGVyXCIgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIj48L3gtdGFibGUtZm9vdD5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhhc1N0aWNreVRvcFJpZ2h0KClcIlxyXG4gICAgY2xhc3M9XCJ4LXRhYmxlLXN0aWNreS1yaWdodC1zY3JvbGxcIlxyXG4gICAgW3N0eWxlLnRvcC5weF09XCJnZXRTdGlja3lUb3BTY3JvbGxUb3BcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gID48L2Rpdj5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhhc1N0aWNreUJvdHRvbVJpZ2h0KClcIlxyXG4gICAgY2xhc3M9XCJ4LXRhYmxlLXN0aWNreS1yaWdodC1zY3JvbGxcIlxyXG4gICAgW3N0eWxlLmJvdHRvbS5weF09XCJnZXRTdGlja3lCb3R0b21TY3JvbGxUb3BcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gID48L2Rpdj5cclxuPC90YWJsZT5cclxuPHgtcGFnaW5hdGlvblxyXG4gICNwYWdpbmF0aW9uXHJcbiAgKm5nSWY9XCJzaG93UGFnaW5hdGlvbiAmJiBzaXplXCJcclxuICBbKGluZGV4KV09XCJpbmRleFwiXHJcbiAgWyhzaXplKV09XCJzaXplXCJcclxuICBbKHF1ZXJ5KV09XCJxdWVyeVwiXHJcbiAgW3RvdGFsXT1cInRvdGFsXCJcclxuICAoaW5kZXhDaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxyXG4gIFtzaG93RWxsaXBzaXNdPVwic2hvd0VsbGlwc2lzXCJcclxuICBbc2hvd1RvdGFsXT1cInNob3dUb3RhbFwiXHJcbiAgW3NwYWNlXT1cInNwYWNlXCJcclxuICBbaGlkZGVuQm9yZGVyXT1cImhpZGRlbkJvcmRlclwiXHJcbj5cclxuPC94LXBhZ2luYXRpb24+XHJcbiJdfQ==
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBNkQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBK0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTL0IsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQWlFakQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFsQ3RDLFVBQUssR0FBaUIsRUFBRSxDQUFDO1FBTXpCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUVsQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIs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RDNCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDSSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNTLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBQ0ssb0JBQW9CO3NCQUF0RCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlUHJlZml4LCBYVGFibGVQcm9wZXJ0eSwgWFRhYmxlQ29sdW1uLCBYVGFibGVSb3csIFhUYWJsZUNlbGwsIFhUYWJsZUNlbGxDb25maWdSdWxlIH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWElzRW1wdHksIFhSZXN1bHRMaXN0LCBYTnVtYmVyLCBYU29ydCwgWENvbmZpZ1NlcnZpY2UsIFhJc1VuZGVmaW5lZCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFRhYmxlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUNvbXBvbmVudCBleHRlbmRzIFhUYWJsZVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGdldCBnZXRTY3JvbGxMZWZ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsTGVmdCA+IDA7XHJcbiAgfVxyXG4gIGdldCBnZXRTY3JvbGxUb3AoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zY3JvbGxUb3AgPiAwO1xyXG4gIH1cclxuICBnZXQgZ2V0Um93SGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ID09IDAgPyAnJyA6IHRoaXMucm93SGVpZ2h0O1xyXG4gIH1cclxuICBnZXQgZ2V0U3RpY2t5VG9wU2Nyb2xsVG9wKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGNhcHRpb24gPyB0aGlzLnRjYXB0aW9uLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogMDtcclxuICB9XHJcbiAgZ2V0IGdldFN0aWNreUJvdHRvbVNjcm9sbFRvcCgpIHtcclxuICAgIGxldCB0b3AgPSAwO1xyXG4gICAgaWYgKHRoaXMuZm9vdGVyICYmIHRoaXMudGZvb3QpIHtcclxuICAgICAgdG9wICs9IHRoaXMudGZvb3Q/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgMTtcclxuICAgIH1cclxuICAgIHJldHVybiB0b3A7XHJcbiAgfVxyXG4gIGdldCBnZXRTdGlja3lUb3BSaWdodEVsZUhlaWdodCgpIHtcclxuICAgIGlmICh0aGlzLnN0aWNreVRvcFJpZ2h0RWxlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0aWNreVRvcFJpZ2h0RWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBnZXRTdGlja3lCb3R0b21SaWdodEVsZUhlaWdodCgpIHtcclxuICAgIGlmICh0aGlzLnN0aWNreUJvdHRvbVJpZ2h0RWxlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0aWNreUJvdHRvbVJpZ2h0RWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRjYXB0aW9uITogRWxlbWVudFJlZjtcclxuICB0aGVhZDogRWxlbWVudFJlZltdID0gW107XHJcbiAgdGZvb3QhOiBFbGVtZW50UmVmO1xyXG4gIHZpcnR1YWxCb2R5ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG4gIGhlYWRDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIGJvZHlDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIHNjcm9sbENvbnRlbnRFbGUhOiBIVE1MRWxlbWVudDtcclxuICBoYXNTY3JvbGxZID0gZmFsc2U7XHJcbiAgc2Nyb2xsWVdpZHRoID0gMDtcclxuICBoYXNTY3JvbGxYID0gZmFsc2U7XHJcbiAgc2Nyb2xsWEhlaWdodCA9IDA7XHJcbiAgc2Nyb2xsWFdpZHRoITogbnVtYmVyIHwgbnVsbDtcclxuICBzY3JvbGxMZWZ0ID0gMDtcclxuICBzY3JvbGxMZWZ0TWF4ID0gZmFsc2U7XHJcbiAgc2Nyb2xsVG9wID0gMDtcclxuICByb3dDaGVja2VkITogWFRhYmxlQ29sdW1uO1xyXG4gIGhlYWRDaGVja2JveExpc3QhOiBYVGFibGVDb2x1bW5bXTtcclxuICByb3dFeHBhbmQhOiBYVGFibGVDb2x1bW47XHJcbiAgaGVhZEV4cGFuZExpc3QhOiBYVGFibGVDb2x1bW5bXTtcclxuICBkYXRhSXNGdW5jID0gZmFsc2U7XHJcbiAgZ2V0dGluZyA9IGZhbHNlO1xyXG4gIHRhYmxlRGF0YTogWFRhYmxlUm93W10gPSBbXTtcclxuICB0cmVlVGFibGVEYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIGNoZWNrZWRWYWx1ZXM6IHsgW3Byb3A6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG4gIGluZGV0ZXJtaW5hdGUgPSAnJCRpbmRldGVybWluYXRlJztcclxuICBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjYXB0aW9uJykgY2FwdGlvbiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncGFnaW5hdGlvbicpIHBhZ2luYXRpb24hOiBYUGFnaW5hdGlvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdzdGlja3lUb3BSaWdodEVsZScpIHN0aWNreVRvcFJpZ2h0RWxlITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdzdGlja3lCb3R0b21SaWdodEVsZScpIHN0aWNreUJvdHRvbVJpZ2h0RWxlITogRWxlbWVudFJlZjtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFJvd0NoZWNrZWQoKTtcclxuICAgIHRoaXMuc2V0Um93RXhwYW5kKCk7XHJcbiAgICB0aGlzLnNldE1lcmdlKCk7XHJcbiAgICB0aGlzLnNldFBhZ2luYXRpb25Qb3NpdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBjaGVja2VkUm93LCBjb2x1bW5zLCBhY3RpdmF0ZWRSb3csIG1hbnVhbCwgc2hvd1BhZ2luYXRpb24sIGV4cGFuZGVkQWxsIH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGV4cGFuZGVkQWxsKSAmJiB0aGlzLnNldEV4cGFuZGVkQWxsKCk7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSwgY2hlY2tlZFJvdykgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgICBYSXNDaGFuZ2UoY29sdW1ucywgYWN0aXZhdGVkUm93LCBzaG93UGFnaW5hdGlvbikgJiYgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgWElzQ2hhbmdlKG1hbnVhbCkgJiYgdGhpcy5zZXRNYW51YWwoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50Y2FwdGlvbiA9IHRoaXMuY2FwdGlvbjtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hUYWJsZVByZWZpeH0tcm93LXNpemUtJHt0aGlzLnJvd1NpemV9YF06ICFYSXNFbXB0eSh0aGlzLnJvd1NpemUpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvblBvc2l0aW9uKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgYHgtdGFibGUtJHt0aGlzLnBhZ2luYXRpb25Qb3NpdGlvbn1gKTtcclxuICB9XHJcblxyXG4gIGdldFN0aWNreUxlZnQoY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKGNvbHVtbi5sZWZ0KSA+PSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5TGVmdExhc3QoY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICBsZXQgbGVmdHMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKCh4KSA9PiBOdW1iZXIoeC5sZWZ0KSA+PSAwKTtcclxuICAgIGlmIChsZWZ0cy5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiBsZWZ0c1tsZWZ0cy5sZW5ndGggLSAxXS5pZCA9PT0gY29sdW1uLmlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RpY2t5UmlnaHQoY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKGNvbHVtbi5yaWdodCkgPj0gMDtcclxuICB9XHJcblxyXG4gIGdldFN0aWNreVJpZ2h0Rmlyc3QoY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICBsZXQgcmlnaHRzID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoeCkgPT4gTnVtYmVyKHgucmlnaHQpID49IDApO1xyXG4gICAgaWYgKHJpZ2h0cy5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiByaWdodHNbMF0uaWQgPT09IGNvbHVtbi5pZDtcclxuICB9XHJcblxyXG4gIGhhc1N0aWNreVRvcFJpZ2h0KCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5zaG93SGVhZGVyICYmXHJcbiAgICAgICh0aGlzLmhlYWRlclBvc2l0aW9uID09PSAndG9wJyB8fCB0aGlzLmhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpICYmXHJcbiAgICAgIHRoaXMuY29sdW1ucy5zb21lKCh4KSA9PiBOdW1iZXIoeC5yaWdodCkgPj0gMClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBoYXNTdGlja3lUb3BSaWdodFNlYXJjaCgpIHtcclxuICAgIHJldHVybiB0aGlzLmhlYWRTZWFyY2hUcGwgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBoYXNTdGlja3lCb3R0b21SaWdodCgpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuc2hvd0hlYWRlciAmJlxyXG4gICAgICAodGhpcy5oZWFkZXJQb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgdGhpcy5oZWFkZXJQb3NpdGlvbiA9PT0gJ3RvcC1ib3R0b20nKSAmJlxyXG4gICAgICB0aGlzLmNvbHVtbnMuc29tZSgoeCkgPT4gTnVtYmVyKHgucmlnaHQpID49IDApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIChOdW1iZXIodGhpcy5pbmRleCkgLSAxKSAqIE51bWJlcih0aGlzLnNpemUpICsgaW5kZXggKyAxO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YSgpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YSkpIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEhlYWRDaGVja2JveExpc3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRFeHBhbmQodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRIZWFkRXhwYW5kTGlzdCgpO1xyXG4gICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuZGF0YTtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZGF0YUlzRnVuYyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YUJ5RnVuYygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YUJ5RnVuYygpIHtcclxuICAgIGlmICghdGhpcy5tYW51YWwpIHJldHVybjtcclxuICAgIHRoaXMuZ2V0dGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgKHRoaXMuZGF0YSBhcyBGdW5jdGlvbikodGhpcy5pbmRleCwgdGhpcy5zaXplLCB0aGlzLnF1ZXJ5KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeDogWFJlc3VsdExpc3Q8WFRhYmxlUm93PikgPT4ge1xyXG4gICAgICAgIGxldCBbZGF0YSwgdG90YWxdID0gW3gubGlzdCBhcyBYVGFibGVSb3dbXSwgeC50b3RhbCBhcyBYTnVtYmVyXTtcclxuICAgICAgICBpZiAodGhpcy52aXJ0dWFsQm9keSkge1xyXG4gICAgICAgICAgdGhpcy52aXJ0dWFsQm9keS5zY3JvbGxUb0luZGV4KDApO1xyXG4gICAgICAgICAgdGhpcy52aXJ0dWFsQm9keS5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldHRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldENoZWNrZWQoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkQ2hlY2tib3hMaXN0KGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0RXhwYW5kKGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0SGVhZEV4cGFuZExpc3QoKTtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbCA9IHRvdGFsO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE1hbnVhbCgpIHtcclxuICAgIGlmICh0aGlzLmRhdGFJc0Z1bmMpIHRoaXMuZ2V0RGF0YUJ5RnVuYygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Um93Q2hlY2tlZCgpIHtcclxuICAgIHRoaXMucm93Q2hlY2tlZCA9IHRoaXMuY29sdW1ucy5maW5kKCh4KSA9PiB4LnJvd0NoZWNrZWQpIGFzIFhUYWJsZUNvbHVtbjtcclxuICAgIHRoaXMuaGVhZENoZWNrYm94TGlzdCA9IHRoaXMuY29sdW1ucy5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gJ2NoZWNrYm94JyAmJiB4LmhlYWRDaGVja2VkKTtcclxuICB9XHJcblxyXG4gIHNldFJvd0V4cGFuZCgpIHtcclxuICAgIHRoaXMucm93RXhwYW5kID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHgucm93RXhwYW5kKSBhcyBYVGFibGVDb2x1bW47XHJcbiAgfVxyXG5cclxuICBpc0V4cGFuZENvbHVtbihjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgbGV0IGV4cGFuZENvbHVtbiA9IHRoaXMuY29sdW1ucy5maW5kKCh4KSA9PiB4LmlkID09PSBjb2x1bW4uaWQgJiYgeC50eXBlID09PSAnZXhwYW5kJyk7XHJcbiAgICBpZiAoZXhwYW5kQ29sdW1uKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0TWVyZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2VsbENvbmZpZykgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2V0UnVsZSA9IChydWxlPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGUpID0+IHtcclxuICAgICAgaWYgKCFydWxlKSByZXR1cm47XHJcbiAgICAgIGxldCBncmlkVGVtcGxhdGVDb2x1bW5zID0gJycsXHJcbiAgICAgICAgY2VsbHMgPSBbXTtcclxuICAgICAgaWYgKCFydWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnMpIHtcclxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zID0gYCR7dGhpcy5jb2x1bW5zXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4LndpZHRoKSByZXR1cm4geC53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHguZmxleCkgcmV0dXJuIGAke3guZmxleH1mcmA7XHJcbiAgICAgICAgICAgIHJldHVybiAnMWZyJztcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuam9pbignICcpfWA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFydWxlLmNlbGxzKSByZXR1cm47XHJcbiAgICAgIGNlbGxzID0gcnVsZS5jZWxscy5tYXAoKHkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmNvbHVtbnMuZmluZCgoeikgPT4gei5pZCA9PT0geS5pZCk7XHJcbiAgICAgICAgaWYgKGNvbCkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCAuLi55IH0gYXMgWFRhYmxlQ2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4geyBncmlkVGVtcGxhdGVDb2x1bW5zLCBjZWxscyB9O1xyXG4gICAgfTtcclxuICAgIHRoaXMuY2VsbENvbmZpZy50aGVhZCA9IHNldFJ1bGUodGhpcy5jZWxsQ29uZmlnLnRoZWFkKTtcclxuICAgIHRoaXMuY2VsbENvbmZpZy50Ym9keSA9IHNldFJ1bGUodGhpcy5jZWxsQ29uZmlnLnRib2R5KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmRhdGFJc0Z1bmMgJiYgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gICAgdGhpcy5yZXNldFNjcm9sbCgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTY3JvbGwoeCA9IHRydWUsIHkgPSB0cnVlKSB7XHJcbiAgICBpZiAodGhpcy5oYXNTY3JvbGxYICYmIHgpIHRoaXMudmlydHVhbEJvZHk/LnNjcm9sbFRvKHsgbGVmdDogMCB9KTtcclxuICAgIGlmICh0aGlzLmhhc1Njcm9sbFkgJiYgeSkgdGhpcy52aXJ0dWFsQm9keT8uc2Nyb2xsVG8oeyB0b3A6IDAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGVja2VkKGRhdGE6IFhUYWJsZVJvd1tdKSB7XHJcbiAgICBsZXQgcmVzdWx0OiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gICAgaWYgKFhJc0VtcHR5KGRhdGEpIHx8ICF0aGlzLmNoZWNrZWRSb3cpIHJldHVybjtcclxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNoZWNrZWRSb3cpIHtcclxuICAgICAgY29uc3QgYXJyID0gdGhpcy5jaGVja2VkUm93W2tleV07XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgZGF0YSBhcyBhbnlbXSkge1xyXG4gICAgICAgIGl0ZW1ba2V5XSA9IGFyci5pbmNsdWRlcyhpdGVtLmlkKTtcclxuICAgICAgICByZXN1bHQgPSBbLi4ucmVzdWx0LCBpdGVtXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwKSBkYXRhID0gWy4uLnJlc3VsdF07XHJcbiAgfVxyXG5cclxuICBzZXRIZWFkQ2hlY2tib3hMaXN0KGRhdGE6IFhUYWJsZVJvd1tdKSB7XHJcbiAgICBpZiAoWElzRW1wdHkoZGF0YSkgfHwgIXRoaXMuaGVhZENoZWNrYm94TGlzdCkgcmV0dXJuO1xyXG4gICAgZm9yIChsZXQgY29sdW1uIG9mIHRoaXMuaGVhZENoZWNrYm94TGlzdCkge1xyXG4gICAgICB0aGlzLnNldENoZWNrZWRWYWx1ZXMoY29sdW1uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEV4cGFuZChkYXRhOiBYVGFibGVSb3dbXSkge1xyXG4gICAgY29uc3QgZ2V0Q2hpbGRyZW4gPSAobm9kZTogWFRhYmxlUm93LCBsZXZlbDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIG5vZGUubGV2ZWwgPSBsZXZlbDtcclxuICAgICAgbm9kZS5leHBhbmRlZCA9IEJvb2xlYW4odGhpcy5leHBhbmRlZEFsbCkgfHwgbGV2ZWwgPD0gdGhpcy5leHBhbmRlZExldmVsIHx8IHRoaXMuZXhwYW5kZWQuaW5jbHVkZXMobm9kZS5pZCk7XHJcbiAgICAgIGlmIChYSXNVbmRlZmluZWQobm9kZS5jaGlsZHJlbikpIG5vZGUuY2hpbGRyZW4gPSBkYXRhLmZpbHRlcigoeSkgPT4geS5waWQgPT09IG5vZGUuaWQpO1xyXG4gICAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUubGVhZikpIG5vZGUubGVhZiA9IChub2RlLmNoaWxkcmVuPy5sZW5ndGggYXMgbnVtYmVyKSA+IDA7XHJcbiAgICAgIGlmIChub2RlLmxlYWYpIG5vZGUuY2hpbGRyZW4/Lm1hcCgoeSkgPT4gZ2V0Q2hpbGRyZW4oeSwgbGV2ZWwgKyAxKSk7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfTtcclxuICAgIHRoaXMudHJlZVRhYmxlRGF0YSA9IGRhdGFcclxuICAgICAgLmZpbHRlcigoeCkgPT4gWElzRW1wdHkoeC5waWQpKVxyXG4gICAgICAubWFwKCh4LCBpbmRleCkgPT4ge1xyXG4gICAgICAgIGlmIChYSXNVbmRlZmluZWQoeC5pZCkpIHguaWQgPSBpbmRleCArIDE7XHJcbiAgICAgICAgcmV0dXJuIGdldENoaWxkcmVuKHgsIDApO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEV4cGFuZGVkQWxsKCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWVUYWJsZSB8fCB0aGlzLnRyZWVUYWJsZURhdGE/Lmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2V0Q2hpbGRyZW4gPSAobm9kZXM6IFhUYWJsZVJvd1tdKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShub2RlcykpIHJldHVybjtcclxuICAgICAgbm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgIHguZXhwYW5kZWQgPSBCb29sZWFuKHRoaXMuZXhwYW5kZWRBbGwpO1xyXG4gICAgICAgIHNldENoaWxkcmVuKHguY2hpbGRyZW4gYXMgWFRhYmxlUm93W10pO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICBzZXRDaGlsZHJlbih0aGlzLnRyZWVUYWJsZURhdGEpO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIZWFkRXhwYW5kTGlzdCgpIHt9XHJcblxyXG4gIGNoZWNrU29ydChzb3J0OiBYU29ydFtdKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YUlzRnVuYykgcmV0dXJuO1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnF1ZXJ5ID09PSAndW5kZWZpbmVkJykgdGhpcy5xdWVyeSA9IHt9O1xyXG4gICAgdGhpcy5xdWVyeS5zb3J0ID0gc29ydDtcclxuICAgIHRoaXMucXVlcnlDaGFuZ2UuZW1pdCh0aGlzLnF1ZXJ5KTtcclxuICAgIHRoaXMuZ2V0RGF0YUJ5RnVuYygpO1xyXG4gIH1cclxuXHJcbiAgaGVhZENoZWNrZWQoY2hlY2tlZDogYm9vbGVhbiwgY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIHRoaXMudGFibGVEYXRhLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgeFtjb2x1bW4uaWRdID0gY2hlY2tlZDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDaGVja2VkVmFsdWVzKGNvbHVtbik7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGJvZHlDaGVja2VkKF9jaGVja2VkOiBib29sZWFuLCBjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgdGhpcy5zZXRDaGVja2VkVmFsdWVzKGNvbHVtbik7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrZWRWYWx1ZXMoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy50YWJsZURhdGEubGVuZ3RoO1xyXG4gICAgY29uc3QgY2hlY2tlZExlbiA9IHRoaXMudGFibGVEYXRhLmZpbHRlcigoeCkgPT4geFtjb2x1bW4uaWRdKS5sZW5ndGg7XHJcbiAgICB0aGlzLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkXSA9IGNvdW50ID09PSBjaGVja2VkTGVuO1xyXG4gICAgdGhpcy5jaGVja2VkVmFsdWVzW2NvbHVtbi5pZCArIHRoaXMuaW5kZXRlcm1pbmF0ZV0gPSBjaGVja2VkTGVuID4gMCAmJiBjaGVja2VkTGVuIDwgY291bnQ7XHJcbiAgfVxyXG5cclxuICBkZXRlY3RDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5ib2R5Q2hhbmdlICYmIHRoaXMuYm9keUNoYW5nZSgpO1xyXG4gICAgdGhpcy5oZWFkQ2hhbmdlICYmIHRoaXMuaGVhZENoYW5nZSgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8dGFibGVcclxuICAjdGFibGVcclxuICBjbGFzcz1cIngtdGFibGVcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcclxuICBbeC1sb2FkaW5nXT1cImxvYWRpbmcgJiYgZ2V0dGluZ1wiXHJcbiAgW2NsYXNzLngtdGFibGUtc2Nyb2xsLWxlZnRdPVwiZ2V0U2Nyb2xsTGVmdFwiXHJcbiAgW2NsYXNzLngtdGFibGUtc2Nyb2xsLWxlZnQtbWF4XT1cInNjcm9sbExlZnRNYXhcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC10b3BdPVwiZ2V0U2Nyb2xsVG9wXCJcclxuICBbY2xhc3MueC10YWJsZS1oYXMtc2Nyb2xsLXJpZ2h0XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgW2NsYXNzLngtdGFibGUtaGFzLXNjcm9sbC1ib3R0b21dPVwic2Nyb2xsWFdpZHRoXCJcclxuICBbY2xhc3MueC10YWJsZS1ib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgW2NsYXNzLngtdGFibGUtdGQtYWRhcHRpb24taGVpZ2h0XT1cInJvd0hlaWdodCA9PSAwXCJcclxuICBbY2xhc3MueC10YWJsZS1jZWxsLWNvbmZpZ109XCJjZWxsQ29uZmlnXCJcclxuPlxyXG4gIDxjYXB0aW9uICNjYXB0aW9uIGNsYXNzPVwieC10YWJsZS1oZWFkZXJcIiAqbmdJZj1cImhlYWRlclwiIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiaGVhZGVyXCI+e3sgaGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgPC9jYXB0aW9uPlxyXG4gIDx4LXRhYmxlLWhlYWRcclxuICAgICpuZ0lmPVwic2hvd0hlYWRlciAmJiAoaGVhZGVyUG9zaXRpb24gPT09ICd0b3AnIHx8IGhlYWRlclBvc2l0aW9uID09PSAndG9wLWJvdHRvbScpXCJcclxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2NvbHVtblRwbF09XCJoZWFkQ29sdW1uVHBsXCJcclxuICAgIFtzY3JvbGxZV2lkdGhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzY3JvbGxYV2lkdGhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjZWxsQ29uZmlnXT1cImNlbGxDb25maWc/LnRoZWFkXCJcclxuICAgIFtwb3NpdGlvbl09XCIndG9wJ1wiXHJcbiAgICBbdGFibGVdPVwidGhpc1wiXHJcbiAgPjwveC10YWJsZS1oZWFkPlxyXG4gIDx4LXRhYmxlLWJvZHlcclxuICAgIFtkYXRhXT1cInRyZWVUYWJsZSA/IHRyZWVUYWJsZURhdGEgOiB0YWJsZURhdGFcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2JvZHlIZWlnaHRdPVwiYm9keUhlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImJvZHlDb2x1bW5UcGxcIlxyXG4gICAgW2FsbG93U2VsZWN0Um93XT1cImFsbG93U2VsZWN0Um93XCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBbYWRhcHRpb25IZWlnaHRdPVwiYWRhcHRpb25IZWlnaHRcIlxyXG4gICAgW2RvY1BlcmNlbnRdPVwiZG9jUGVyY2VudFwiXHJcbiAgICBbc2Nyb2xsXT1cInNjcm9sbFwiXHJcbiAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgW2V4cGFuZGVkQWxsXT1cImV4cGFuZGVkQWxsXCJcclxuICAgIFtleHBhbmRUcGxdPVwiZXhwYW5kVHBsXCJcclxuICAgIFsoYWN0aXZhdGVkUm93KV09XCJhY3RpdmF0ZWRSb3dcIlxyXG4gICAgKGFjdGl2YXRlZFJvd0NoYW5nZSk9XCJhY3RpdmF0ZWRSb3dDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgPHgtdGFibGUtaGVhZFxyXG4gICAgKm5nSWY9XCJzaG93SGVhZGVyICYmIChoZWFkZXJQb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgaGVhZGVyUG9zaXRpb24gPT09ICd0b3AtYm90dG9tJylcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImhlYWRDb2x1bW5UcGxcIlxyXG4gICAgW3Njcm9sbFlXaWR0aF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3Njcm9sbFhXaWR0aF09XCJzY3JvbGxYV2lkdGhcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGhlYWRcIlxyXG4gICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWhlYWQ+XHJcbiAgPHgtdGFibGUtZm9vdCAqbmdJZj1cImZvb3RlclwiIFt0YWJsZV09XCJ0aGlzXCIgW2Zvb3Rlcl09XCJmb290ZXJcIiBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiPjwveC10YWJsZS1mb290PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5VG9wUmlnaHQoKVwiXHJcbiAgICAjc3RpY2t5VG9wUmlnaHRFbGVcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLWJvcmRlci1ib3R0b21dPVwiaGVhZFNlYXJjaFRwbFwiXHJcbiAgICBbc3R5bGUudG9wLnB4XT1cImdldFN0aWNreVRvcFNjcm9sbFRvcFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5VG9wUmlnaHQoKSAmJiBoZWFkU2VhcmNoVHBsXCJcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtzdHlsZS50b3AucHhdPVwiZ2V0U3RpY2t5VG9wU2Nyb2xsVG9wICsgZ2V0U3RpY2t5VG9wUmlnaHRFbGVIZWlnaHRcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gID48L2Rpdj5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImhhc1N0aWNreUJvdHRvbVJpZ2h0KClcIlxyXG4gICAgI3N0aWNreUJvdHRvbVJpZ2h0RWxlXHJcbiAgICBjbGFzcz1cIngtdGFibGUtc3RpY2t5LXJpZ2h0LXNjcm9sbFwiXHJcbiAgICBbc3R5bGUuYm90dG9tLnB4XT1cImdldFN0aWNreUJvdHRvbVNjcm9sbFRvcFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWVdpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgPjwvZGl2PlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiaGFzU3RpY2t5Qm90dG9tUmlnaHQoKSAmJiBoZWFkU2VhcmNoVHBsXCJcclxuICAgIGNsYXNzPVwieC10YWJsZS1zdGlja3ktcmlnaHQtc2Nyb2xsXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLWJvcmRlci1ib3R0b21dPVwiaGVhZFNlYXJjaFRwbFwiXHJcbiAgICBbc3R5bGUuYm90dG9tLnB4XT1cImdldFN0aWNreUJvdHRvbVNjcm9sbFRvcCArIGdldFN0aWNreUJvdHRvbVJpZ2h0RWxlSGVpZ2h0XCJcclxuICAgIFtzdHlsZS53aWR0aC5weF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICA+PC9kaXY+XHJcbjwvdGFibGU+XHJcbjx4LXBhZ2luYXRpb25cclxuICAjcGFnaW5hdGlvblxyXG4gICpuZ0lmPVwic2hvd1BhZ2luYXRpb24gJiYgc2l6ZVwiXHJcbiAgWyhpbmRleCldPVwiaW5kZXhcIlxyXG4gIFsoc2l6ZSldPVwic2l6ZVwiXHJcbiAgWyhxdWVyeSldPVwicXVlcnlcIlxyXG4gIFt0b3RhbF09XCJ0b3RhbFwiXHJcbiAgKGluZGV4Q2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcclxuICBbc2hvd0VsbGlwc2lzXT1cInNob3dFbGxpcHNpc1wiXHJcbiAgW3Nob3dUb3RhbF09XCJzaG93VG90YWxcIlxyXG4gIFtzcGFjZV09XCJzcGFjZVwiXHJcbiAgW2hpZGRlbkJvcmRlcl09XCJoaWRkZW5Cb3JkZXJcIlxyXG4+XHJcbjwveC1wYWdpbmF0aW9uPlxyXG4iXX0=
@@ -32,12 +32,12 @@ export class XTableProperty extends XPaginationProperty {
32
32
  */
33
33
  this.activatedRowChange = new EventEmitter();
34
34
  /**
35
- * @zh_CN 列头自定义模板
35
+ * @zh_CN 列头自定义模板,通过 key-value 的方式指定每列的模版
36
36
  * @en_US Column header custom template
37
37
  */
38
38
  this.headColumnTpl = {};
39
39
  /**
40
- * @zh_CN 列内容自定义模板
40
+ * @zh_CN 列内容自定义模板,通过 key-value 的方式指定每列的模版
41
41
  * @en_US Column content custom template
42
42
  */
43
43
  this.bodyColumnTpl = {};
@@ -89,7 +89,7 @@ export class XTableProperty extends XPaginationProperty {
89
89
  }
90
90
  }
91
91
  /** @nocollapse */ XTableProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XTableProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
92
- /** @nocollapse */ XTableProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XTableProperty, selector: "ng-component", inputs: { data: "data", columns: "columns", rowHeight: "rowHeight", loading: "loading", bordered: "bordered", showHeader: "showHeader", headerPosition: "headerPosition", activatedRow: "activatedRow", headColumnTpl: "headColumnTpl", bodyColumnTpl: "bodyColumnTpl", rowClass: "rowClass", allowSelectRow: "allowSelectRow", allowCheckRow: "allowCheckRow", virtualScroll: "virtualScroll", bodyHeight: "bodyHeight", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", adaptionHeight: "adaptionHeight", docPercent: "docPercent", checkedRow: "checkedRow", manual: "manual", scroll: "scroll", header: "header", footer: "footer", cellConfig: "cellConfig", rowSize: "rowSize", paginationPosition: "paginationPosition", showPagination: "showPagination", treeTable: "treeTable", expandedAll: "expandedAll", expandedLevel: "expandedLevel", expanded: "expanded", expandTpl: "expandTpl" }, outputs: { activatedRowChange: "activatedRowChange", sortChange: "sortChange", manualChange: "manualChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
92
+ /** @nocollapse */ XTableProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XTableProperty, selector: "ng-component", inputs: { data: "data", columns: "columns", rowHeight: "rowHeight", loading: "loading", bordered: "bordered", showHeader: "showHeader", headerPosition: "headerPosition", activatedRow: "activatedRow", headColumnTpl: "headColumnTpl", bodyColumnTpl: "bodyColumnTpl", bodyTdTpl: "bodyTdTpl", rowClass: "rowClass", headSearchTpl: "headSearchTpl", allowSelectRow: "allowSelectRow", allowCheckRow: "allowCheckRow", virtualScroll: "virtualScroll", bodyHeight: "bodyHeight", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", adaptionHeight: "adaptionHeight", docPercent: "docPercent", checkedRow: "checkedRow", manual: "manual", scroll: "scroll", header: "header", footer: "footer", cellConfig: "cellConfig", rowSize: "rowSize", paginationPosition: "paginationPosition", showPagination: "showPagination", treeTable: "treeTable", expandedAll: "expandedAll", expandedLevel: "expandedLevel", expanded: "expanded", expandTpl: "expandTpl" }, outputs: { activatedRowChange: "activatedRowChange", sortChange: "sortChange", manualChange: "manualChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
93
93
  __decorate([
94
94
  XWithConfig(X_CONFIG_NAME, 42),
95
95
  XInputNumber()
@@ -181,8 +181,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
181
181
  type: Input
182
182
  }], bodyColumnTpl: [{
183
183
  type: Input
184
+ }], bodyTdTpl: [{
185
+ type: Input
184
186
  }], rowClass: [{
185
187
  type: Input
188
+ }], headSearchTpl: [{
189
+ type: Input
186
190
  }], sortChange: [{
187
191
  type: Output
188
192
  }], allowSelectRow: [{
@@ -451,4 +455,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
451
455
  }], rowHeight: [{
452
456
  type: Input
453
457
  }] } });
454
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosYUFBYSxFQUdiLFdBQVcsRUFNWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDOztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUR2RDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQStCdEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBTTVDOzs7V0FHRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBMEJuRDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUNuQzs7O1dBR0c7UUFDTSxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQU1uQzs7O1dBR0c7UUFDc0IsZUFBVSxHQUFZLENBQUMsQ0FBQztRQUNqRDs7O1dBR0c7UUFDTSxlQUFVLEdBQWtDLEVBQUUsQ0FBQztRQUN4RDs7O1dBR0c7UUFDdUIsV0FBTSxHQUFhLElBQUksQ0FBQztRQWdCbEQ7OztXQUdHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBV3JEOzs7V0FHRztRQUNNLHVCQUFrQixHQUF3QixhQUFhLENBQUM7UUFxQmpFOzs7V0FHRztRQUNNLGFBQVEsR0FBVSxFQUFFLENBQUM7S0FNL0I7OzhIQTFMWSxjQUFjO2tIQUFkLGNBQWMsOGpDQURKLEVBQUU7QUFnQjBDO0lBQXZELFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQUUsWUFBWSxFQUFFO2lEQUFvQjtBQUtiO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFOytDQUFvQjtBQUtuQjtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtnREFBcUI7QUFLckI7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7a0RBQXVCO0FBSzFCO0lBQXhELFdBQVcsQ0FBdUIsYUFBYSxFQUFFLEtBQUssQ0FBQztzREFBdUM7QUFtQ2xDO0lBQTVELFdBQVcsQ0FBVyxhQUFhLEVBQUUsSUFBSSxDQUFDO0lBQUUsYUFBYSxFQUFFO3NEQUEyQjtBQUsxQjtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtxREFBMEI7QUFLL0I7SUFBdEQsV0FBVyxDQUFXLGFBQWEsQ0FBQztJQUFFLGFBQWEsRUFBRTtxREFBMEI7QUFLaEU7SUFBZixZQUFZLEVBQUU7a0RBQXFCO0FBS29CO0lBQXZELFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQUUsWUFBWSxFQUFFO2dEQUFtQjtBQWUxRDtJQUFmLFlBQVksRUFBRTtzREFBMEI7QUFLekI7SUFBZixZQUFZLEVBQUU7a0RBQXlCO0FBVXZCO0lBQWhCLGFBQWEsRUFBRTs4Q0FBeUI7QUE4Qkk7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7K0NBQWlCO0FBVUE7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7c0RBQTJCO0FBS3pCO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO2lEQUFzQjtBQUtyQjtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTttREFBd0I7QUFLNUI7SUFBeEQsV0FBVyxDQUFVLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFFLFlBQVksRUFBRTtxREFBeUI7MkZBL0svRSxjQUFjO2tCQUQxQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLMkQsU0FBUztzQkFBekUsS0FBSztnQkFLaUUsT0FBTztzQkFBN0UsS0FBSztnQkFLaUUsUUFBUTtzQkFBOUUsS0FBSztnQkFLZ0UsVUFBVTtzQkFBL0UsS0FBSztnQkFLNEQsY0FBYztzQkFBL0UsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLRSxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNO2dCQUsrRCxjQUFjO3NCQUFuRixLQUFLO2dCQUtnRSxhQUFhO3NCQUFsRixLQUFLO2dCQUswRCxhQUFhO3NCQUE1RSxLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUsyRCxRQUFRO3NCQUF4RSxLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLbUIsY0FBYztzQkFBdEMsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBS0UsVUFBVTtzQkFBbEIsS0FBSztnQkFLZ0QsT0FBTztzQkFBNUQsS0FBSztnQkFLRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS2dFLGNBQWM7c0JBQW5GLEtBQUs7Z0JBS2lFLFNBQVM7c0JBQS9FLEtBQUs7Z0JBS2lFLFdBQVc7c0JBQWpGLEtBQUs7Z0JBSzRELGFBQWE7c0JBQTlFLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLOztBQXNTUjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO0FBRS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFEakQ7O1FBRUU7OztXQUdHO1FBQ00sWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDdEM7OztXQUdHO1FBQ3NCLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFDakQ7OztXQUdHO1FBQ00sY0FBUyxHQUFtQixFQUFFLENBQUM7S0FxQnpDOztrSUFwQ1ksa0JBQWtCO3NIQUFsQixrQkFBa0IsdVFBRFIsRUFBRTtBQVdFO0lBQWYsWUFBWSxFQUFFO3FEQUF5QjsyRkFWdEMsa0JBQWtCO2tCQUQ5QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsT0FBTztzQkFBZixLQUFLO2dCQUttQixTQUFTO3NCQUFqQyxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSzs7QUFHUjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO0FBRS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFEakQ7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFnQixFQUFFLENBQUM7UUFDaEM7OztXQUdHO1FBQ00sWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDdEM7OztXQUdHO1FBQ00sY0FBUyxHQUFtQixFQUFFLENBQUM7UUFNeEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDc0IsY0FBUyxHQUFZLEVBQUUsQ0FBQztRQU1qRDs7O1dBR0c7UUFDdUIsbUJBQWMsR0FBYSxJQUFJLENBQUM7UUFDMUQ7OztXQUdHO1FBQ3VCLGtCQUFhLEdBQWEsS0FBSyxDQUFDO1FBQzFEOzs7V0FHRztRQUNzQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQy9DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQ25DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBTW5DOzs7V0FHRztRQUNzQixlQUFVLEdBQVksQ0FBQyxDQUFDO1FBZ0JqRDs7O1dBR0c7UUFDTSxVQUFLLEdBQVcsQ0FBQyxDQUFDO0tBVzVCOztrSUFyR1ksa0JBQWtCO3NIQUFsQixrQkFBa0IsMG1CQURSLEVBQUU7QUErQkU7SUFBZixZQUFZLEVBQUU7cURBQXlCO0FBS3hCO0lBQWYsWUFBWSxFQUFFO3NEQUFxQjtBQUtuQjtJQUFoQixhQUFhLEVBQUU7MERBQWlDO0FBS2hDO0lBQWhCLGFBQWEsRUFBRTt5REFBaUM7QUFLakM7SUFBZixZQUFZLEVBQUU7b0RBQXVCO0FBZXRCO0lBQWYsWUFBWSxFQUFFOzBEQUEwQjtBQUt6QjtJQUFmLFlBQVksRUFBRTtzREFBeUI7QUF5QnZCO0lBQWhCLGFBQWEsRUFBRTt1REFBd0I7MkZBL0Z0QyxrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixJQUFJO3NCQUFaLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS2tCLFNBQVM7c0JBQWpDLEtBQUs7Z0JBS21CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBS29CLGNBQWM7c0JBQXZDLEtBQUs7Z0JBS29CLGFBQWE7c0JBQXRDLEtBQUs7Z0JBS21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUttQixVQUFVO3NCQUFsQyxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7O0FBR1I7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztBQUUvQzs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTOztrSUFBcEMsa0JBQWtCO3NIQUFsQixrQkFBa0IsaUlBRFIsRUFBRTsyRkFDWixrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixNQUFNO3NCQUFkLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFByb3BlcnR5LFxyXG4gIFhOdW1iZXIsXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhTb3J0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFRleHRBbGlnbixcclxuICBYU2l6ZSxcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYVGVtcGxhdGVcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uUHJvcGVydHksIFhQYWdpbmF0aW9uT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcblxyXG4vKipcclxuICogVGFibGVcclxuICogQHNlbGVjdG9yIHgtdGFibGVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVGFibGVQcmVmaXggPSAneC10YWJsZSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndGFibGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVQcm9wZXJ0eSBleHRlbmRzIFhQYWdpbmF0aW9uUHJvcGVydHkgaW1wbGVtZW50cyBYVGFibGVPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYRGF0YTxYVGFibGVSb3c+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5aS05ZKM6KGM6auY77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlYWRlciBhbmQgcm93IGhlaWdodCwgdW5pdCBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQyKSBAWElucHV0TnVtYmVyKCkgcm93SGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBsb2FkaW5nITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWxleekuuWIl+i+ueahhlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIHNob3cgY29sdW1uIGJvcmRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuuWIl+WktFxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNvbHVtbiBoZWFkZXJzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXIhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS05pi+56S65L2N572uXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFRhYmxlSGVhZGVyUG9zaXRpb24+KFhfQ09ORklHX05BTUUsICd0b3AnKSBoZWFkZXJQb3NpdGlvbiE6IFhUYWJsZUhlYWRlclBvc2l0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlLnlj5hcclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByb3cgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZWRSb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUYWJsZVJvdz4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5aS06Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbHVtbiBoZWFkZXIgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZENvbHVtblRwbDogWFRhYmxlVGVtcGxhdGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5YaF5a656Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIENvbHVtbiBjb250ZW50IGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJvZHlDb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/ngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU29ydCBjbGljayBldmVudHNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5Lit5b2T5YmN6KGMXHJcbiAgICogQGVuX1VTIEFsbG93IHJvdyBjbGljayB0byBzZWxlY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dTZWxlY3RSb3chOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5LitIGNoZWNrYm94XHJcbiAgICogQGVuX1VTIEFsbG93IGxpbmVzIHRvIGNsaWNrIGNoZWNrYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFsbG93Q2hlY2tSb3chOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDIpIEBYSW5wdXROdW1iZXIoKSBpdGVtU2l6ZSE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGRvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDliJfliJ3lp4vpgInkuK3nmoTmlbDmja7vvIzliJfkuK3mv4DmtLsgY2hlY2tib3hcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggY29sdW1uIGluaXRpYWxseSBzZWxlY3RlZCBkYXRhLCBjaGVja2JveCBpcyBhY3RpdmF0ZWQgaW4gY29sdW1uXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hlY2tlZFJvdzogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueVtdIH0gPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aaC5p6cIGRhdGEg5piv5Ye95pWw57G75Z6L77yM5Y+v5Lul6YCa6L+H5q2k5Y+C5pWw5o6n5Yi26K+35rGC77yM5bi455So5LqO5by55qGG5Lit55qE6KGo5qC877yM5by55Ye65ZCO5YaN6K+35rGCXHJcbiAgICogQGVuX1VTIElmIGRhdGEgaXMgYSBmdW5jdGlvbiB0eXBlLCB5b3UgY2FuIHVzZSB0aGlzIHBhcmFtZXRlciB0byBjb250cm9sIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBvZnRlbiB1c2VkIGluIHRoZSBmb3JtIGluIHRoZSBwb3AtdXAgYm94LCBhbmQgdGhlbiByZXF1ZXN0IGl0IGFmdGVyIGl0IHBvcHMgdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG1hbnVhbDogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGw/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWktFxyXG4gICAqIEBlbl9VUyBUYWJsZSBoZWFkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPguaVsOaOp+WItuivt+axguaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBQYXJhbWV0ZXIgY29udHJvbCByZXF1ZXN0IGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtYW51YWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIHJvd1NpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAgICogQGVuX1VTIFBhZ2luYXRpb24gcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwYWdpbmF0aW9uUG9zaXRpb246IFhQYWdpbmF0aW9uUG9zaXRpb24gPSAnYm90dG9tLWxlZnQnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIbpobXlmahcclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBzaG93UGFnaW5hdGlvbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLxcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqfvvIwtMSDkuI3lsZXlvIBcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAtMSkgQFhJbnB1dE51bWJlcigpIGV4cGFuZGVkTGV2ZWwhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZXlvIDlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9taXplZCBleHBhbnNpb24gY29udGVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRwbD86IFhUZW1wbGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZU9wdGlvbiBleHRlbmRzIFhQYWdpbmF0aW9uT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhUYWJsZVJvdz47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgY29sdW1ucz86IFhUYWJsZUNvbHVtbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgcm93SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLToh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBoZWFkQ29sdW1uVHBsPzogWFRhYmxlVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WGheWuueiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBib2R5Q29sdW1uVHBsPzogWFRhYmxlVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgbWluQnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBtYXhCdWZmZXJQeD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIGFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBkb2NQZXJjZW50PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaVsOaNrlxyXG4gKiBAZW5fVVMgRGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVSb3cgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYVGFibGVSb3c+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byAXHJcbiAgICogQGVuX1VTIFVuZm9sZFxyXG4gICAqL1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiX5Y+C5pWwXHJcbiAqIEBlbl9VUyBDb2x1bW4gcGFyYW1ldGVyXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbHVtbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVzIG9mXHJcbiAgICovXHJcbiAgdHlwZT86IFhDb2x1bW5UeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDlrr3luqZcclxuICAgKiBAZW5fVVMgRmxleCBsYXlvdXQgd2lkdGhcclxuICAgKi9cclxuICBmbGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmn6Xor6LlrZfmrrVcclxuICAgKiBAZW5fVVMgUXVlcnkgZmllbGRcclxuICAgKi9cclxuICBzZWFyY2g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/lrZfmrrVcclxuICAgKiBAZW5fVVMgU29ydCBmaWVsZFxyXG4gICAqL1xyXG4gIHNvcnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaTjeS9nOaMiemSrlxyXG4gICAqIEBlbl9VUyBPcGVyYXRpb24gYnV0dG9uXHJcbiAgICovXHJcbiAgYWN0aW9uPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogY2hlY2tib3gg5pe257uR5a6a6KGM54K55Ye76YCJ5Lit5LqL5Lu2XHJcbiAgICogQGVuX1VTIEJpbmQgcm93IGNsaWNrIHNlbGVjdGlvbiBldmVudCB3aGVuIHR5cGUgaXMgY2hlY2tib3hcclxuICAgKi9cclxuICByb3dDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogZXhwYW5kIOaXtue7keWumuihjOeCueWHu+WxleW8gOS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGV4cGFuZFxyXG4gICAqL1xyXG4gIHJvd0V4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBUZXh0IGFsaWdubWVudFxyXG4gICAqL1xyXG4gIHRleHRBbGlnbj86IFhUZXh0QWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+Wuve+8jOmcgOimgeiuvue9ruWIl+eahOWIneWni+WuveW6piB3aWR0aFxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGgsIHlvdSBuZWVkIHRvIHNldCB0aGUgaW5pdGlhbCB3aWR0aCBvZiB0aGUgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aS06YOo5pi+56S6IGNoZWNrYm94XHJcbiAgICogQGVuX1VTIEhlYWQgc2hvd3MgY2hlY2tib3hcclxuICAgKi9cclxuICBoZWFkQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWktOmDqOaYvuekuiBleHBhbmRcclxuICAgKiBAZW5fVVMgSGVhZCBzaG93cyBleHBhbmRcclxuICAgKi9cclxuICBoZWFkRXhwYW5kPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDZWxsQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENvbHVtbiBjZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHRoZWFkPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBSb3cgY29uZmlnXHJcbiAgICovXHJcbiAgdGJvZHk/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva7op4TliJlcclxuICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWdSdWxlIHtcclxuICAvKipcclxuICAgKiBAemhfQ04gZ3JpZCDluIPlsYDkuIvlrprkuYnliJflrr3luqZcclxuICAgKiBAZW5fVVMgRGVmaW5lIGNvbHVtbiB3aWR0aCB1bmRlciBncmlkIGxheW91dFxyXG4gICAqL1xyXG4gIGdyaWRUZW1wbGF0ZUNvbHVtbnM/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgY2VsbHM/OiBYVGFibGVDZWxsW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC85ZCI5bm26YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGwge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggZ3JpZCDluIPlsYDmnaXlkIjlubbljZXlhYPmoLxcclxuICAgKiBAZW5fVVMgVXNlIGdyaWQgbGF5b3V0IHRvIG1lcmdlIGNlbGxzXHJcbiAgICovXHJcbiAgZ3JpZEFyZWE/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjeensFxyXG4gICAqIEBlbl9VUyBOYW1lXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWuveW6plxyXG4gICAqIEBlbl9VUyBXaWR0aFxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lOWIl+eahCBpZFxyXG4gICAqIEBlbl9VUyBUaGUgaWQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJfnsbvlnotcclxuICogQGVuX1VTIENvbHVtbiB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQ29sdW1uVHlwZSA9ICdsYWJlbCcgfCAnaW5kZXgnIHwgJ2NoZWNrYm94JyB8ICdleHBhbmQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTmmL7npLrkvY3nva5cclxuICogQGVuX1VTIExpbmUgaGVhZCBkaXNwbGF5IHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVIZWFkZXJQb3NpdGlvbiA9ICd0b3AnIHwgJ2JvdHRvbScgfCAndG9wLWJvdHRvbSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIhumhteWZqOS9jee9rlxyXG4gKiBAZW5fVVMgUGFnaW5nIHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYUGFnaW5hdGlvblBvc2l0aW9uID0gJ3RvcC1sZWZ0JyB8ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmqKHmnb9cclxuICogQGVuX1VTIFRlbXBsYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVUZW1wbGF0ZSA9IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBUZW1wbGF0ZVJlZjxhbnk+IH07XHJcblxyXG4vKipcclxuICogVGFibGUgSGVhZFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1oZWFkXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlSGVhZFByZWZpeCA9ICd4LXRhYmxlLWhlYWQnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEhlYWQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlaWdodCBpbiBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQ6IFhOdW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblRwbDogWFRhYmxlVGVtcGxhdGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56uW5ZCR5rua5Yqo5p2h5a695bqmXHJcbiAgICogQGVuX1VTIFZlcnRpY2FsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxZV2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaoquWQkea7muWKqOadoeWuveW6plxyXG4gICAqIEBlbl9VUyBIb3Jpem9udGFsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxYV2lkdGg/OiBudW1iZXIgfCBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBtZXJnZSBydWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S655qE5L2N572uXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwb3NpdGlvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHlcclxuICogQHNlbGVjdG9yIHgtdGFibGUtYm9keVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUJvZHlQcmVmaXggPSAneC10YWJsZS1ib2R5JztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBCb2R5IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVCb2R5UHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IFhUYWJsZUNvbHVtbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRSb3c/OiBYVGFibGVSb3c7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaUueWPmFxyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJvdyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZFJvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqbvvIzljZXkvY0gcHjjgILorr7nva7kuLogMCDooajnpLrooYzpq5joh6rpgILlupTlhoXlrrnpq5jluqbjgIJcclxuICAgKiBAZW5fVVMgSGVpZ2h0IGluIHB4LiBzZXQgdG8gMCBtZWFucyB0aGF0IHRoZSByb3cgaGVpZ2h0IGlzIGFkYXB0aXZlIHRvIHRoZSBjb250ZW50IGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQ6IFhOdW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK1cclxuICAgKiBAZW5fVVMgQWxsb3cgcm93IGNsaWNrIHRvIHNlbGVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dTZWxlY3RSb3c6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGw6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGl0ZW1TaXplOiBudW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGRvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGw/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZyBydWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5p2h5Lu25qC35byPXHJcbiAgICogQGVuX1VTIFJvdyBjb25kaXRpb24gY2xhc3NcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dDbGFzcz86IChyb3c6IFhUYWJsZVJvdywgaW5kZXg6IG51bWJlcikgPT4geyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOS4i+eahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgdW5kZXIgdGhlIHRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBsZXZlbDogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGV4cGFuZGVkQWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxleW8gOWGheWuuVxyXG4gICAqIEBlbl9VUyBDdXN0b21pemVkIGV4cGFuc2lvbiBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kVHBsPzogWFRlbXBsYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1mb290XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlRm9vdFByZWZpeCA9ICd4LXRhYmxlLWZvb3QnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEZvb3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUZvb3RQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWktOWSjOihjOmrmO+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBIZWFkZXIgYW5kIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dIZWlnaHQhOiBudW1iZXI7XHJcbn1cclxuIl19
458
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBRVosYUFBYSxFQUdiLFdBQVcsRUFNWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDOztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUN0QyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUR2RDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUNyQzs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQStCdEM7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUM7OztXQUdHO1FBQ00sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBZ0I1Qzs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQTBCbkQ7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDbkM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFNbkM7OztXQUdHO1FBQ3NCLGVBQVUsR0FBWSxDQUFDLENBQUM7UUFDakQ7OztXQUdHO1FBQ00sZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFDeEQ7OztXQUdH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S0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLa0IsU0FBUztzQkFBakMsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLb0IsY0FBYztzQkFBdkMsS0FBSztnQkFLb0IsYUFBYTtzQkFBdEMsS0FBSztnQkFLbUIsUUFBUTtzQkFBaEMsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS21CLGNBQWM7c0JBQXRDLEtBQUs7Z0JBS21CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSzs7QUFHUjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO0FBRS9DOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7O2tJQUFwQyxrQkFBa0I7c0hBQWxCLGtCQUFrQixpSUFEUixFQUFFOzJGQUNaLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLE1BQU07c0JBQWQsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYUHJvcGVydHksXHJcbiAgWE51bWJlcixcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWFNvcnQsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYQm9vbGVhbixcclxuICBYRGF0YSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYVGV4dEFsaWduLFxyXG4gIFhTaXplLFxyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhUZW1wbGF0ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Qcm9wZXJ0eSwgWFBhZ2luYXRpb25PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZVxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZVByZWZpeCA9ICd4LXRhYmxlJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICd0YWJsZSc7XHJcblxyXG4vKipcclxuICogVGFibGUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZVByb3BlcnR5IGV4dGVuZHMgWFBhZ2luYXRpb25Qcm9wZXJ0eSBpbXBsZW1lbnRzIFhUYWJsZU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBSb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhdGE6IFhEYXRhPFhUYWJsZVJvdz4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6ZuG5ZCIXHJcbiAgICogQGVuX1VTIENvbHVtbiBzZXRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDIpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWQr+eUqOWKoOi9vSBsb2FkaW5nXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZW5hYmxlIGxvYWRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIGxvYWRpbmchOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5bGV56S65YiX6L655qGGXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gc2hvdyBjb2x1bW4gYm9yZGVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgYm9yZGVyZWQhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S65YiX5aS0XHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY29sdW1uIGhlYWRlcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgc2hvd0hlYWRlciE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmmL7npLrkvY3nva5cclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBkaXNwbGF5IHRoZSBjb2x1bW4gaGVhZGVyc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYVGFibGVIZWFkZXJQb3NpdGlvbj4oWF9DT05GSUdfTkFNRSwgJ3RvcCcpIGhlYWRlclBvc2l0aW9uITogWFRhYmxlSGVhZGVyUG9zaXRpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRSb3c/OiBYVGFibGVSb3c7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaUueWPmFxyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJvdyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZFJvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLToh6rlrprkuYnmqKHmnb/vvIzpgJrov4cga2V5LXZhbHVlIOeahOaWueW8j+aMh+Wumuavj+WIl+eahOaooeeJiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gaGVhZGVyIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRDb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WGheWuueiHquWumuS5ieaooeadv++8jOmAmui/hyBrZXktdmFsdWUg55qE5pa55byP5oyH5a6a5q+P5YiX55qE5qih54mIXHJcbiAgICogQGVuX1VTIENvbHVtbiBjb250ZW50IGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJvZHlDb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOeahOiHquWumuS5ieaooeadv++8jOS8mOWFiOe6p+S9juS6juWIl+WGheWuueiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGUgb2YgY2VsbHNcclxuICAgKi9cclxuICBASW5wdXQoKSBib2R5VGRUcGw/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLTmkJzntKLoh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgTGluZSBoZWFkIHNlYXJjaCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkU2VhcmNoVHBsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/ngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU29ydCBjbGljayBldmVudHNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5Lit5b2T5YmN6KGMXHJcbiAgICogQGVuX1VTIEFsbG93IHJvdyBjbGljayB0byBzZWxlY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dTZWxlY3RSb3chOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWB6K646KGM54K55Ye76YCJ5LitIGNoZWNrYm94XHJcbiAgICogQGVuX1VTIEFsbG93IGxpbmVzIHRvIGNsaWNrIGNoZWNrYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFsbG93Q2hlY2tSb3chOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBib2R5IOaVsOaNrumrmOW6plxyXG4gICAqIEBlbl9VUyBib2R5IGRhdGEgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDIpIEBYSW5wdXROdW1iZXIoKSBpdGVtU2l6ZSE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGRvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDliJfliJ3lp4vpgInkuK3nmoTmlbDmja7vvIzliJfkuK3mv4DmtLsgY2hlY2tib3hcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggY29sdW1uIGluaXRpYWxseSBzZWxlY3RlZCBkYXRhLCBjaGVja2JveCBpcyBhY3RpdmF0ZWQgaW4gY29sdW1uXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hlY2tlZFJvdzogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueVtdIH0gPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aaC5p6cIGRhdGEg5piv5Ye95pWw57G75Z6L77yM5Y+v5Lul6YCa6L+H5q2k5Y+C5pWw5o6n5Yi26K+35rGC77yM5bi455So5LqO5by55qGG5Lit55qE6KGo5qC877yM5by55Ye65ZCO5YaN6K+35rGCXHJcbiAgICogQGVuX1VTIElmIGRhdGEgaXMgYSBmdW5jdGlvbiB0eXBlLCB5b3UgY2FuIHVzZSB0aGlzIHBhcmFtZXRlciB0byBjb250cm9sIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBvZnRlbiB1c2VkIGluIHRoZSBmb3JtIGluIHRoZSBwb3AtdXAgYm94LCBhbmQgdGhlbiByZXF1ZXN0IGl0IGFmdGVyIGl0IHBvcHMgdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG1hbnVhbDogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGw/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWktFxyXG4gICAqIEBlbl9VUyBUYWJsZSBoZWFkZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWFkZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPguaVsOaOp+WItuivt+axguaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBQYXJhbWV0ZXIgY29udHJvbCByZXF1ZXN0IGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtYW51YWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIHJvd1NpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG6aG15Zmo5L2N572uXHJcbiAgICogQGVuX1VTIFBhZ2luYXRpb24gcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwYWdpbmF0aW9uUG9zaXRpb246IFhQYWdpbmF0aW9uUG9zaXRpb24gPSAnYm90dG9tLWxlZnQnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIbpobXlmahcclxuICAgKiBAZW5fVVMgUGFnaW5hdGlvbiBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBzaG93UGFnaW5hdGlvbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvaLooajmoLxcclxuICAgKiBAZW5fVVMgVHJlZSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqfvvIwtMSDkuI3lsZXlvIBcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAtMSkgQFhJbnB1dE51bWJlcigpIGV4cGFuZGVkTGV2ZWwhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZXlvIDlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9taXplZCBleHBhbnNpb24gY29udGVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRwbD86IFhUZW1wbGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZU9wdGlvbiBleHRlbmRzIFhQYWdpbmF0aW9uT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFJvdyBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhUYWJsZVJvdz47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgY29sdW1ucz86IFhUYWJsZUNvbHVtbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajlpLTlkozooYzpq5jvvIzljZXkvY0gcHhcclxuICAgKiBAZW5fVVMgSGVhZGVyIGFuZCByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgcm93SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblkK/nlKjliqDovb0gbG9hZGluZ1xyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGVuYWJsZSBsb2FkaW5nXHJcbiAgICovXHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgYWN0aXZhdGVkUm93PzogWFRhYmxlUm93O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflpLToh6rlrprkuYnmqKHmnb9cclxuICAgKiBAZW5fVVMgQ29sdW1uIGhlYWRlciBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBoZWFkQ29sdW1uVHBsPzogWFRhYmxlVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WGheWuueiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDb2x1bW4gY29udGVudCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBib2R5Q29sdW1uVHBsPzogWFRhYmxlVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOadoeS7tuagt+W8j1xyXG4gICAqIEBlbl9VUyBSb3cgY29uZGl0aW9uIGNsYXNzXHJcbiAgICovXHJcbiAgcm93Q2xhc3M/OiAocm93OiBYVGFibGVSb3csIGluZGV4OiBudW1iZXIpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIGJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgbWluQnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBSZW5kZXIgdGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBtYXhCdWZmZXJQeD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIGFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIERvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGJ5IHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBkb2NQZXJjZW50PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENlbGwgY29uZmlnXHJcbiAgICovXHJcbiAgY2VsbENvbmZpZz86IFhUYWJsZUNlbGxDb25maWc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaVsOaNrlxyXG4gKiBAZW5fVVMgRGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVSb3cgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYVGFibGVSb3c+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byAXHJcbiAgICogQGVuX1VTIFVuZm9sZFxyXG4gICAqL1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5YiX5Y+C5pWwXHJcbiAqIEBlbl9VUyBDb2x1bW4gcGFyYW1ldGVyXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNvbHVtbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVzIG9mXHJcbiAgICovXHJcbiAgdHlwZT86IFhDb2x1bW5UeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgV2lkdGhcclxuICAgKi9cclxuICB3aWR0aD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDlrr3luqZcclxuICAgKiBAZW5fVVMgRmxleCBsYXlvdXQgd2lkdGhcclxuICAgKi9cclxuICBmbGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmn6Xor6LlrZfmrrVcclxuICAgKiBAZW5fVVMgUXVlcnkgZmllbGRcclxuICAgKi9cclxuICBzZWFyY2g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLluo/lrZfmrrVcclxuICAgKiBAZW5fVVMgU29ydCBmaWVsZFxyXG4gICAqL1xyXG4gIHNvcnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaTjeS9nOaMiemSrlxyXG4gICAqIEBlbl9VUyBPcGVyYXRpb24gYnV0dG9uXHJcbiAgICovXHJcbiAgYWN0aW9uPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogY2hlY2tib3gg5pe257uR5a6a6KGM54K55Ye76YCJ5Lit5LqL5Lu2XHJcbiAgICogQGVuX1VTIEJpbmQgcm93IGNsaWNrIHNlbGVjdGlvbiBldmVudCB3aGVuIHR5cGUgaXMgY2hlY2tib3hcclxuICAgKi9cclxuICByb3dDaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gdHlwZSDkuLogZXhwYW5kIOaXtue7keWumuihjOeCueWHu+WxleW8gOS6i+S7tlxyXG4gICAqIEBlbl9VUyBCaW5kIHJvdyBjbGljayBzZWxlY3Rpb24gZXZlbnQgd2hlbiB0eXBlIGlzIGV4cGFuZFxyXG4gICAqL1xyXG4gIHJvd0V4cGFuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBUZXh0IGFsaWdubWVudFxyXG4gICAqL1xyXG4gIHRleHRBbGlnbj86IFhUZXh0QWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+Wuve+8jOmcgOimgeiuvue9ruWIl+eahOWIneWni+WuveW6piB3aWR0aFxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGgsIHlvdSBuZWVkIHRvIHNldCB0aGUgaW5pdGlhbCB3aWR0aCBvZiB0aGUgY29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgZHJhZ1dpZHRoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aS06YOo5pi+56S6IGNoZWNrYm94XHJcbiAgICogQGVuX1VTIEhlYWQgc2hvd3MgY2hlY2tib3hcclxuICAgKi9cclxuICBoZWFkQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWktOmDqOaYvuekuiBleHBhbmRcclxuICAgKiBAZW5fVVMgSGVhZCBzaG93cyBleHBhbmRcclxuICAgKi9cclxuICBoZWFkRXhwYW5kPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC86YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIGNvbmZpZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDZWxsQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5Y2V5YWD5qC86YWN572uXHJcbiAgICogQGVuX1VTIENvbHVtbiBjZWxsIGNvbmZpZ1xyXG4gICAqL1xyXG4gIHRoZWFkPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihjOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBSb3cgY29uZmlnXHJcbiAgICovXHJcbiAgdGJvZHk/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDljZXlhYPmoLzphY3nva7op4TliJlcclxuICogQGVuX1VTIENlbGwgY29uZmlnIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGxDb25maWdSdWxlIHtcclxuICAvKipcclxuICAgKiBAemhfQ04gZ3JpZCDluIPlsYDkuIvlrprkuYnliJflrr3luqZcclxuICAgKiBAZW5fVVMgRGVmaW5lIGNvbHVtbiB3aWR0aCB1bmRlciBncmlkIGxheW91dFxyXG4gICAqL1xyXG4gIGdyaWRUZW1wbGF0ZUNvbHVtbnM/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9rlxyXG4gICAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAgICovXHJcbiAgY2VsbHM/OiBYVGFibGVDZWxsW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5YWD5qC85ZCI5bm26YWN572uXHJcbiAqIEBlbl9VUyBDZWxsIG1lcmdlIHJ1bGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJsZUNlbGwge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggZ3JpZCDluIPlsYDmnaXlkIjlubbljZXlhYPmoLxcclxuICAgKiBAZW5fVVMgVXNlIGdyaWQgbGF5b3V0IHRvIG1lcmdlIGNlbGxzXHJcbiAgICovXHJcbiAgZ3JpZEFyZWE/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjeensFxyXG4gICAqIEBlbl9VUyBOYW1lXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWuveW6plxyXG4gICAqIEBlbl9VUyBXaWR0aFxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlt6bovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIGxlZnRcclxuICAgKi9cclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm7rlrprliJfvvIzot53nprvlj7PovrnnmoTot53nprtcclxuICAgKiBAZW5fVVMgRml4ZWQgY29sdW1uLCBkaXN0YW5jZSBmcm9tIHJpZ2h0XHJcbiAgICovXHJcbiAgcmlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lOWIl+eahCBpZFxyXG4gICAqIEBlbl9VUyBUaGUgaWQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29sdW1uXHJcbiAgICovXHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOWIl+WuvVxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBjb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBkcmFnV2lkdGg/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJfnsbvlnotcclxuICogQGVuX1VTIENvbHVtbiB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYQ29sdW1uVHlwZSA9ICdsYWJlbCcgfCAnaW5kZXgnIHwgJ2NoZWNrYm94JyB8ICdleHBhbmQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDliJflpLTmmL7npLrkvY3nva5cclxuICogQGVuX1VTIExpbmUgaGVhZCBkaXNwbGF5IHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVIZWFkZXJQb3NpdGlvbiA9ICd0b3AnIHwgJ2JvdHRvbScgfCAndG9wLWJvdHRvbSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWIhumhteWZqOS9jee9rlxyXG4gKiBAZW5fVVMgUGFnaW5nIHBvc2l0aW9uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYUGFnaW5hdGlvblBvc2l0aW9uID0gJ3RvcC1sZWZ0JyB8ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmqKHmnb9cclxuICogQGVuX1VTIFRlbXBsYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYVGFibGVUZW1wbGF0ZSA9IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBUZW1wbGF0ZVJlZjxhbnk+IH07XHJcblxyXG4vKipcclxuICogVGFibGUgSGVhZFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1oZWFkXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlSGVhZFByZWZpeCA9ICd4LXRhYmxlLWhlYWQnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEhlYWQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+mbhuWQiFxyXG4gICAqIEBlbl9VUyBDb2x1bW4gc2V0XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sdW1uczogWFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIEhlaWdodCBpbiBweFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQ6IFhOdW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblRwbDogWFRhYmxlVGVtcGxhdGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56uW5ZCR5rua5Yqo5p2h5a695bqmXHJcbiAgICogQGVuX1VTIFZlcnRpY2FsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxZV2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaoquWQkea7muWKqOadoeWuveW6plxyXG4gICAqIEBlbl9VUyBIb3Jpem9udGFsIHNjcm9sbCBiYXIgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxYV2lkdGg/OiBudW1iZXIgfCBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXlhYPmoLzphY3nva5cclxuICAgKiBAZW5fVVMgQ2VsbCBtZXJnZSBydWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S655qE5L2N572uXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwb3NpdGlvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEJvZHlcclxuICogQHNlbGVjdG9yIHgtdGFibGUtYm9keVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUYWJsZUJvZHlQcmVmaXggPSAneC10YWJsZS1ib2R5JztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBCb2R5IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVCb2R5UHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmlbDmja5cclxuICAgKiBAZW5fVVMgUm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfpm4blkIhcclxuICAgKiBAZW5fVVMgQ29sdW1uIHNldFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IFhUYWJsZUNvbHVtbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2x1bW5UcGw6IFhUYWJsZVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRSb3c/OiBYVGFibGVSb3c7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaUueWPmFxyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJvdyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZFJvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRhYmxlUm93PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpq5jluqbvvIzljZXkvY0gcHjjgILorr7nva7kuLogMCDooajnpLrooYzpq5joh6rpgILlupTlhoXlrrnpq5jluqbjgIJcclxuICAgKiBAZW5fVVMgSGVpZ2h0IGluIHB4LiBzZXQgdG8gMCBtZWFucyB0aGF0IHRoZSByb3cgaGVpZ2h0IGlzIGFkYXB0aXZlIHRvIHRoZSBjb250ZW50IGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSByb3dIZWlnaHQ6IFhOdW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04gYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBib2R5SGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhYHorrjooYzngrnlh7vpgInkuK1cclxuICAgKiBAZW5fVVMgQWxsb3cgcm93IGNsaWNrIHRvIHNlbGVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgYWxsb3dTZWxlY3RSb3c6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGw6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGl0ZW1TaXplOiBudW1iZXIgPSA0MjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIEFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBhZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBEb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBieSBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGRvY1BlcmNlbnQ6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jlrr1cclxuICAgKiBAZW5fVVMgSGVpZ2h0IGFuZCB3aWR0aCBvZiByb2xsaW5nIGFyZWFcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGw/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleWFg+agvOmFjee9ruinhOWImVxyXG4gICAqIEBlbl9VUyBDZWxsIGNvbmZpZyBydWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNlbGxDb25maWc/OiBYVGFibGVDZWxsQ29uZmlnUnVsZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5p2h5Lu25qC35byPXHJcbiAgICogQGVuX1VTIFJvdyBjb25kaXRpb24gY2xhc3NcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dDbGFzcz86IChyb3c6IFhUYWJsZVJvdywgaW5kZXg6IG51bWJlcikgPT4geyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9ouihqOagvOS4i+eahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgdW5kZXIgdGhlIHRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBsZXZlbDogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2i6KGo5qC85bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgdGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGV4cGFuZGVkQWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxleW8gOWGheWuuVxyXG4gICAqIEBlbl9VUyBDdXN0b21pemVkIGV4cGFuc2lvbiBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kVHBsPzogWFRlbXBsYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogVGFibGUgRm9vdFxyXG4gKiBAc2VsZWN0b3IgeC10YWJsZS1mb290XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRhYmxlRm9vdFByZWZpeCA9ICd4LXRhYmxlLWZvb3QnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEZvb3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUZvb3RQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteWwvlxyXG4gICAqIEBlbl9VUyBUYWJsZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWktOWSjOihjOmrmO+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBIZWFkZXIgYW5kIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICBASW5wdXQoKSByb3dIZWlnaHQhOiBudW1iZXI7XHJcbn1cclxuIl19