@ng-nest/ui 18.0.7 → 18.0.9

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 (155) hide show
  1. package/alert/alert.component.d.ts +3 -3
  2. package/auto-complete/auto-complete-portal.component.d.ts +6 -9
  3. package/auto-complete/auto-complete.component.d.ts +1 -0
  4. package/cascade/cascade-portal.component.d.ts +7 -9
  5. package/cascade/cascade.component.d.ts +1 -9
  6. package/cascade/cascade.property.d.ts +5 -2
  7. package/checkbox/checkbox.property.d.ts +10 -98
  8. package/color-picker/color-picker-portal.component.d.ts +6 -9
  9. package/core/functions/convert.d.ts +5 -0
  10. package/core/util/public-api.d.ts +1 -0
  11. package/core/util/sleep.d.ts +5 -0
  12. package/date-picker/date-picker-portal.component.d.ts +5 -6
  13. package/date-picker/date-picker.property.d.ts +1 -31
  14. package/date-picker/date-range-portal.component.d.ts +5 -6
  15. package/dialog/dialog.component.d.ts +4 -3
  16. package/dropdown/dropdown-portal.component.d.ts +5 -7
  17. package/esm2022/alert/alert.component.mjs +13 -10
  18. package/esm2022/auto-complete/auto-complete-portal.component.mjs +17 -10
  19. package/esm2022/auto-complete/auto-complete.component.mjs +7 -4
  20. package/esm2022/back-top/back-top.component.mjs +4 -2
  21. package/esm2022/cascade/cascade-portal.component.mjs +20 -11
  22. package/esm2022/cascade/cascade.component.mjs +5 -3
  23. package/esm2022/cascade/cascade.property.mjs +2 -2
  24. package/esm2022/checkbox/checkbox.property.mjs +3 -43
  25. package/esm2022/color-picker/color-picker-portal.component.mjs +17 -10
  26. package/esm2022/color-picker/color-picker.component.mjs +3 -3
  27. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  28. package/esm2022/core/functions/convert.mjs +15 -1
  29. package/esm2022/core/util/public-api.mjs +2 -1
  30. package/esm2022/core/util/sleep.mjs +8 -0
  31. package/esm2022/date-picker/date-picker-portal.component.mjs +17 -6
  32. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  33. package/esm2022/date-picker/date-picker.property.mjs +2 -17
  34. package/esm2022/date-picker/date-range-portal.component.mjs +17 -6
  35. package/esm2022/date-picker/date-range.component.mjs +3 -3
  36. package/esm2022/dialog/dialog.component.mjs +23 -18
  37. package/esm2022/dropdown/dropdown-portal.component.mjs +17 -8
  38. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  39. package/esm2022/find/find.component.mjs +15 -8
  40. package/esm2022/find/find.property.mjs +7 -57
  41. package/esm2022/form/form.component.mjs +3 -3
  42. package/esm2022/form/form.property.mjs +3 -3
  43. package/esm2022/highlight/highlight.component.mjs +3 -3
  44. package/esm2022/icon/icon.component.mjs +2 -2
  45. package/esm2022/image/image.component.mjs +3 -3
  46. package/esm2022/input/input.component.mjs +3 -3
  47. package/esm2022/input-number/input-number.component.mjs +3 -3
  48. package/esm2022/input-number/input-number.property.mjs +3 -23
  49. package/esm2022/loading/loading.component.mjs +3 -3
  50. package/esm2022/loading/loading.property.mjs +5 -5
  51. package/esm2022/pagination/pagination.component.mjs +7 -3
  52. package/esm2022/radio/radio.property.mjs +3 -53
  53. package/esm2022/rate/rate.property.mjs +3 -58
  54. package/esm2022/select/select-portal.component.mjs +17 -10
  55. package/esm2022/select/select.component.mjs +15 -5
  56. package/esm2022/select/select.property.mjs +2 -2
  57. package/esm2022/slider-select/slider-select.property.mjs +3 -58
  58. package/esm2022/switch/switch.property.mjs +3 -58
  59. package/esm2022/table/table-body.component.mjs +5 -4
  60. package/esm2022/table/table.component.mjs +3 -3
  61. package/esm2022/table/table.property.mjs +14 -4
  62. package/esm2022/textarea/textarea.property.mjs +3 -38
  63. package/esm2022/time-picker/time-picker-portal.component.mjs +17 -6
  64. package/esm2022/time-picker/time-picker.component.mjs +3 -3
  65. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  66. package/esm2022/transfer/transfer.component.mjs +3 -3
  67. package/esm2022/tree/tree-node.component.mjs +10 -2
  68. package/esm2022/tree/tree.component.mjs +11 -9
  69. package/esm2022/tree/tree.property.mjs +1 -1
  70. package/esm2022/tree/tree.service.mjs +28 -4
  71. package/esm2022/tree-select/tree-select-portal.component.mjs +17 -6
  72. package/esm2022/tree-select/tree-select.component.mjs +20 -4
  73. package/fesm2022/ng-nest-ui-alert.mjs +12 -9
  74. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  75. package/fesm2022/ng-nest-ui-auto-complete.mjs +21 -11
  76. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  77. package/fesm2022/ng-nest-ui-back-top.mjs +3 -1
  78. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  79. package/fesm2022/ng-nest-ui-cascade.mjs +24 -13
  80. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  81. package/fesm2022/ng-nest-ui-checkbox.mjs +2 -42
  82. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  83. package/fesm2022/ng-nest-ui-color-picker.mjs +20 -13
  84. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  85. package/fesm2022/ng-nest-ui-core.mjs +23 -1
  86. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  87. package/fesm2022/ng-nest-ui-date-picker.mjs +36 -29
  88. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  89. package/fesm2022/ng-nest-ui-dialog.mjs +22 -17
  90. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  91. package/fesm2022/ng-nest-ui-dropdown.mjs +19 -10
  92. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  93. package/fesm2022/ng-nest-ui-find.mjs +20 -63
  94. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  95. package/fesm2022/ng-nest-ui-form.mjs +4 -4
  96. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  97. package/fesm2022/ng-nest-ui-highlight.mjs +2 -2
  98. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  99. package/fesm2022/ng-nest-ui-icon.mjs +1 -1
  100. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  101. package/fesm2022/ng-nest-ui-image.mjs +2 -2
  102. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  103. package/fesm2022/ng-nest-ui-input-number.mjs +4 -24
  104. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  105. package/fesm2022/ng-nest-ui-input.mjs +2 -2
  106. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  107. package/fesm2022/ng-nest-ui-loading.mjs +6 -6
  108. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  109. package/fesm2022/ng-nest-ui-pagination.mjs +6 -2
  110. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  111. package/fesm2022/ng-nest-ui-radio.mjs +2 -52
  112. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  113. package/fesm2022/ng-nest-ui-rate.mjs +2 -57
  114. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  115. package/fesm2022/ng-nest-ui-select.mjs +31 -14
  116. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  117. package/fesm2022/ng-nest-ui-slider-select.mjs +2 -57
  118. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  119. package/fesm2022/ng-nest-ui-switch.mjs +2 -57
  120. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  121. package/fesm2022/ng-nest-ui-table.mjs +19 -8
  122. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  123. package/fesm2022/ng-nest-ui-textarea.mjs +2 -37
  124. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  125. package/fesm2022/ng-nest-ui-time-picker.mjs +20 -9
  126. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  127. package/fesm2022/ng-nest-ui-transfer.mjs +2 -2
  128. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  129. package/fesm2022/ng-nest-ui-tree-select.mjs +35 -8
  130. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  131. package/fesm2022/ng-nest-ui-tree.mjs +46 -12
  132. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  133. package/find/find.component.d.ts +2 -0
  134. package/find/find.property.d.ts +20 -97
  135. package/form/form.property.d.ts +4 -4
  136. package/input-number/input-number.property.d.ts +4 -56
  137. package/loading/loading.property.d.ts +4 -4
  138. package/package.json +123 -123
  139. package/pagination/pagination.component.d.ts +2 -1
  140. package/radio/radio.property.d.ts +10 -118
  141. package/rate/rate.property.d.ts +16 -121
  142. package/select/select-portal.component.d.ts +6 -9
  143. package/select/select.component.d.ts +3 -1
  144. package/slider-select/slider-select.property.d.ts +6 -113
  145. package/switch/switch.property.d.ts +2 -117
  146. package/table/table-body.component.d.ts +1 -1
  147. package/table/table.property.d.ts +13 -3
  148. package/textarea/textarea.property.d.ts +10 -45
  149. package/time-picker/time-picker-portal.component.d.ts +5 -6
  150. package/time-picker/time-picker.property.d.ts +1 -2
  151. package/tree/tree.component.d.ts +2 -3
  152. package/tree/tree.property.d.ts +1 -1
  153. package/tree/tree.service.d.ts +1 -1
  154. package/tree-select/tree-select-portal.component.d.ts +5 -6
  155. package/tree-select/tree-select.component.d.ts +7 -4
@@ -42,7 +42,7 @@ export class XIconComponent extends XIconProperty {
42
42
  this.iconService = inject(XIconService);
43
43
  this.sourceUrl = computed(() => {
44
44
  const type = this.type();
45
- if (typeof type === 'undefined')
45
+ if (typeof type === 'undefined' || type === '')
46
46
  return '';
47
47
  const split = type.split('-');
48
48
  const souce = split.shift();
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
155
155
  type: HostBinding,
156
156
  args: ['style.color']
157
157
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEYsU0FBUztBQUNULE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBbUM7SUFDdkQsR0FBRyxFQUFFLGtCQUFrQjtJQUN2QixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxxQkFBcUI7SUFDMUIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLGNBQWM7SUFDbkIsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUsc0JBQXNCO0lBQzNCLEdBQUcsRUFBRSx1QkFBdUI7SUFDNUIsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixHQUFHLEVBQUUsdUJBQXVCO0lBQzVCLEdBQUcsRUFBRSwwQkFBMEI7Q0FDaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztBQUN0Qiw2REFBNkQ7QUFDN0Qsa0RB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O2dCQUM5QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO2lJQTFIVSxjQUFjO3FIQUFkLGNBQWMsbU5DOUMzQixNQUNBOzsyRkQ2Q2EsY0FBYztrQkFSMUIsU0FBUzsrQkFDRSxHQUFHLFdBQVcsRUFBRSxjQUNkLElBQUksaUJBR0QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3REFHckIsU0FBUztzQkFBbEMsV0FBVzt1QkFBQyxPQUFPO2dCQVVrQixPQUFPO3NCQUE1QyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFJQSxRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBIb3N0QmluZGluZyxcclxuICBpbmplY3QsXHJcbiAgZWZmZWN0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWEljb25QcmVmaXgsIFhJY29uUHJvcGVydHkgfSBmcm9tICcuL2ljb24ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSWNvblNlcnZpY2UgfSBmcm9tICcuL2ljb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFhXYXJuSWNvblR5cGVOb3RGb3VuZCwgWFdhcm5TVkdUYWdOb3RGb3VuZCwgWElzRW1wdHkgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8vIOadpea6kOi3r+W+hOWvueW6lFxyXG5leHBvcnQgY29uc3QgWFNvdWNlVXJsOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XHJcbiAgYWRmOiBgYW50LWRlc2lnbi9maWxsL2AsXHJcbiAgYWRvOiBgYW50LWRlc2lnbi9vdXRsaW5lL2AsXHJcbiAgYWR0OiBgYW50LWRlc2lnbi90d290b25lL2AsXHJcbiAgZWFmOiBgZXZhL2ZpbGwvYCxcclxuICBlYW86IGBldmEvb3V0bGluZS9gLFxyXG4gIGZ0bzogYGZlYXRoZXIvYCxcclxuICBmYWI6IGBmb250LWF3ZXNvbWUvYnJhbmRzL2AsXHJcbiAgZmFyOiBgZm9udC1hd2Vzb21lL3JlZ3VsYXIvYCxcclxuICBmYXM6IGBmb250LWF3ZXNvbWUvc29saWQvYCxcclxuICBtZGY6IGBtYXRlcmlhbC1kZXNpZ24vZmlsbC9gLFxyXG4gIG1kbzogYG1hdGVyaWFsLWRlc2lnbi9vdXRsaW5lL2BcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBYVmlld0JveCA9IFtcclxuICAvLyB7IHNvdWNlczogW1wiYWRmXCIsIFwiYWRvXCIsIFwiYWR0XCJdLCB2YWx1ZTogXCIwIDAgMTAyNCAxMDI0XCIgfSxcclxuICAvLyB7IHNvdWNlczogW1wiZWFmXCIsIFwiZWFvXCJdLCB2YWx1ZTogXCIwIDAgMjQgMjRcIiB9LFxyXG4gIC8vIHsgc291Y2VzOiBbXCJmdG9cIl0sIHZhbHVlOiBcIjAgMCAyNCAyNFwiIH1cclxuXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYSWNvblByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlL2luZGV4LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSWNvbkNvbXBvbmVudCBleHRlbmRzIFhJY29uUHJvcGVydHkge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgY2xhc3NOYW1lKCkge1xyXG4gICAgcmV0dXJuIGAke1hJY29uUHJlZml4fSAke3RoaXMudHlwZSgpfWA7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3ZnRWxlbWVudCE6IFNWR0VsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSBpY29uU2VydmljZSA9IGluamVjdChYSWNvblNlcnZpY2UpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtaWNvbi1zcGluJykgZ2V0IGdldFNwaW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zcGluKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmNvbG9yJykgZ2V0IGdldENvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sb3IoKTtcclxuICB9XHJcblxyXG4gIHNvdXJjZVVybCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnR5cGUoKTtcclxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiAnJztcclxuICAgIGNvbnN0IHNwbGl0ID0gdHlwZS5zcGxpdCgnLScpO1xyXG4gICAgY29uc3Qgc291Y2UgPSBzcGxpdC5zaGlmdCgpO1xyXG4gICAgaWYgKHR5cGVvZiBzb3VjZSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiAnJztcclxuICAgIGNvbnN0IHNvdWNlVXJsID0gWFNvdWNlVXJsW3NvdWNlXTtcclxuICAgIGNvbnN0IGZpbGVOYW1lID0gc3BsaXQuam9pbignLScpO1xyXG4gICAgaWYgKCFzb3VjZVVybCB8fCAhZmlsZU5hbWUpIHtcclxuICAgICAgWFdhcm5JY29uVHlwZU5vdEZvdW5kKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7c291Y2VVcmx9JHtmaWxlTmFtZX1gO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBlZmZlY3QoKCkgPT4gdGhpcy5pY29uU2VydmljZS5nZXRTdmcodGhpcy5ocmVmKCksIHRoaXMuc291cmNlVXJsKCkpLnN1YnNjcmliZSgoeCkgPT4gdGhpcy5zZXRTdmdzKHgpKSk7XHJcbiAgfVxyXG5cclxuICBzZXRTdmdzKHN2Zzogc3RyaW5nKSB7XHJcbiAgICBpZiAoWElzRW1wdHkoc3ZnKSkgcmV0dXJuO1xyXG4gICAgbGV0IGZpcnN0Q2hpbGQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5maXJzdENoaWxkO1xyXG4gICAgaWYgKGZpcnN0Q2hpbGQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZmlyc3RDaGlsZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN2Z0VsZW1lbnQgPSB0aGlzLmJ1aWxkU3ZnKHN2ZykhO1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzKHRoaXMuc3ZnRWxlbWVudCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLnN2Z0VsZW1lbnQpO1xyXG4gICAgLy8gVE9ETzogdXNlIHpvbmVsZXNzLCByZW5kZXJlciByZW1vdmVDaGlsZCB3aWxsIG5vdCB0YWtlIGVmZmVjdCBpbW1lZGlhdGVseVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRBdHRyaWJ1dGVzKHN2Z0VsZTogU1ZHRWxlbWVudCkge1xyXG4gICAgaWYgKHN2Z0VsZSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdmdFbGUsICd3aWR0aCcsICcxZW0nKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc3ZnRWxlLCAnaGVpZ2h0JywgJzFlbScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnVpbGRTdmcoc3ZnU3RyOiBzdHJpbmcpOiBTVkdTVkdFbGVtZW50IHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdzdmcnKSBhcyBTVkdTVkdFbGVtZW50O1xyXG4gICAgY29uc3Qgc3ZnID0gdGhpcy5jcmVhdGVTdmcoc3ZnU3RyKTtcclxuICAgIGlmICghc3ZnKSByZXR1cm47XHJcbiAgICBzdmcuY2hpbGRyZW4uZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICB4LnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcclxuICAgICAgaWYgKHgudGFnTmFtZSA9PT0gJ3JlY3QnKSB7XHJcbiAgICAgICAgeC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnbm9uZScpO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdC5hcHBlbmRDaGlsZCh4KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUocmVzdWx0LCBzdmcuZWxlLCAndmlld0JveCcpO1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUocmVzdWx0LCBzdmcuZWxlLCAnZmlsbCcsICdjdXJyZW50Q29sb3InKTtcclxuICAgIHRoaXMuc2V0QXR0cmlidXRlKHJlc3VsdCwgc3ZnLmVsZSwgJ3N0cm9rZScpO1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUocmVzdWx0LCBzdmcuZWxlLCAnc3Ryb2tlLXdpZHRoJyk7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZShyZXN1bHQsIHN2Zy5lbGUsICdzdHJva2UtbGluZWNhcCcpO1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUocmVzdWx0LCBzdmcuZWxlLCAnc3Ryb2tlLWxpbmVqb2luJyk7XHJcbiAgICBpZiAoIXJlc3VsdCkge1xyXG4gICAgICBYV2FyblNWR1RhZ05vdEZvdW5kKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVN2ZyhzdmdTdHI6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGl2ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5pbm5lckhUTUwgPSBzdmdTdHI7XHJcbiAgICBsZXQgc3ZnRWxlID0gZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIGFzIFNWR0VsZW1lbnQ7XHJcbiAgICBpZiAoIXN2Z0VsZSkgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbGU6IHN2Z0VsZSxcclxuICAgICAgY2hpbGRyZW46IHN2Z0VsZS5xdWVyeVNlbGVjdG9yQWxsKCdwYXRoLCBwb2x5bGluZSwgcG9seWdvbiwgY2lyY2xlLCBsaW5lLCByZWN0JylcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRBdHRyaWJ1dGUoc3ZnOiBTVkdFbGVtZW50LCBzdmdFbGU6IFNWR0VsZW1lbnQsIGF0dHJpYnV0ZTogc3RyaW5nLCBkZWY/OiBzdHJpbmcpIHtcclxuICAgIGxldCBhdHRyID0gc3ZnRWxlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xyXG4gICAgaWYgKGF0dHIpIHtcclxuICAgICAgc3ZnLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIGF0dHIpO1xyXG4gICAgfSBlbHNlIGlmIChkZWYpIHtcclxuICAgICAgc3ZnLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIGRlZik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLzxhbmltYXRlIGJlZ2luPVwibW91c2VlbnRlclwiIGR1cj1cIjUwMG1zXCIgcmVwZWF0Q291bnQ9XCIxXCIgYXR0cmlidXRlTmFtZT1cImRcIiBmcm9tPVwiTTg2LjQyNSwxMy4yMDRsNS42NDgsMTIuNzQxSDAuNTUgICBsMC4xMjUtMTIuNjE2TDAuNTUsMC41NDRoOTEuNTIzTDg2LjQyNSwxMy4yMDR6XCIgdG89XCJNOTIuNzI1LDEzLjUyMWwwLjA0NCwxMi44ODdIMS4yNDUgICBsNy0xMi42MTZsLTctMTIuNzg1aDkxLjUyM0w5Mi43MjUsMTMuNTIxelwiIGZpbGw9XCJmcmVlemVcIj48L2FuaW1hdGU+XHJcblxyXG4gIHNldEFuaW1hdGVzKHN2Z3M6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAoc3Zncz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgc3ZnID0gdGhpcy5jcmVhdGVTdmcoc3Zncy5zaGlmdCgpIGFzIHN0cmluZyk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdmdFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGNoaWxkID0gdGhpcy5zdmdFbGVtZW50LmNoaWxkcmVuW2ldO1xyXG4gICAgICAgIGxldCB0b0NoaWxkID0gc3ZnPy5jaGlsZHJlbltpXTtcclxuICAgICAgICBpZiAoY2hpbGQ/Lm5vZGVOYW1lID09PSAncGF0aCcgJiYgdG9DaGlsZD8ubm9kZU5hbWUgPT09ICdwYXRoJykge1xyXG4gICAgICAgICAgbGV0IHRvQW5pbWF0ZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYW5pbWF0ZScpO1xyXG4gICAgICAgICAgdG9BbmltYXRlLnNldEF0dHJpYnV0ZSgnZHVyJywgJzUwMG1zJyk7XHJcbiAgICAgICAgICB0b0FuaW1hdGUuc2V0QXR0cmlidXRlKCdyZXBlYXRDb3VudCcsICcxJyk7XHJcbiAgICAgICAgICB0b0FuaW1hdGUuc2V0QXR0cmlidXRlKCdhdHRyaWJ1dGVOYW1lJywgJ2QnKTtcclxuICAgICAgICAgIHRvQW5pbWF0ZS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAnZnJlZXplJyk7XHJcbiAgICAgICAgICB0b0FuaW1hdGUuc2V0QXR0cmlidXRlKCdmcm9tJywgY2hpbGQuZ2V0QXR0cmlidXRlKCdkJykgYXMgc3RyaW5nKTtcclxuICAgICAgICAgIHRvQW5pbWF0ZS5zZXRBdHRyaWJ1dGUoJ3RvJywgdG9DaGlsZC5nZXRBdHRyaWJ1dGUoJ2QnKSBhcyBzdHJpbmcpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjaGlsZCwgdG9BbmltYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiXHJcbiJdfQ==
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEYsU0FBUztBQUNULE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBbUM7SUFDdkQsR0FBRyxFQUFFLGtCQUFrQjtJQUN2QixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxxQkFBcUI7SUFDMUIsR0FBRyxFQUFFLFdBQVc7SUFDaEIsR0FBRyxFQUFFLGNBQWM7SUFDbkIsR0FBRyxFQUFFLFVBQVU7SUFDZixHQUFHLEVBQUUsc0JBQXNCO0lBQzNCLEdBQUcsRUFBRSx1QkFBdUI7SUFDNUIsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixHQUFHLEVBQUUsdUJBQXVCO0lBQzVCLEdBQUcsRUFBRSwwQkFBMEI7Q0FDaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztBQUN0Qiw2REFBNkQ7QUFDN0Qsa0RB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LEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQzlDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7aUlBMUhVLGNBQWM7cUhBQWQsY0FBYyxtTkM5QzNCLE1BQ0E7OzJGRDZDYSxjQUFjO2tCQVIxQixTQUFTOytCQUNFLEdBQUcsV0FBVyxFQUFFLGNBQ2QsSUFBSSxpQkFHRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3dEQUdyQixTQUFTO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU87Z0JBVWtCLE9BQU87c0JBQTVDLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUlBLFFBQVE7c0JBQXZDLFdBQVc7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIGluamVjdCxcclxuICBlZmZlY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSWNvblByZWZpeCwgWEljb25Qcm9wZXJ0eSB9IGZyb20gJy4vaWNvbi5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJY29uU2VydmljZSB9IGZyb20gJy4vaWNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWFdhcm5JY29uVHlwZU5vdEZvdW5kLCBYV2FyblNWR1RhZ05vdEZvdW5kLCBYSXNFbXB0eSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLy8g5p2l5rqQ6Lev5b6E5a+55bqUXHJcbmV4cG9ydCBjb25zdCBYU291Y2VVcmw6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICBhZGY6IGBhbnQtZGVzaWduL2ZpbGwvYCxcclxuICBhZG86IGBhbnQtZGVzaWduL291dGxpbmUvYCxcclxuICBhZHQ6IGBhbnQtZGVzaWduL3R3b3RvbmUvYCxcclxuICBlYWY6IGBldmEvZmlsbC9gLFxyXG4gIGVhbzogYGV2YS9vdXRsaW5lL2AsXHJcbiAgZnRvOiBgZmVhdGhlci9gLFxyXG4gIGZhYjogYGZvbnQtYXdlc29tZS9icmFuZHMvYCxcclxuICBmYXI6IGBmb250LWF3ZXNvbWUvcmVndWxhci9gLFxyXG4gIGZhczogYGZvbnQtYXdlc29tZS9zb2xpZC9gLFxyXG4gIG1kZjogYG1hdGVyaWFsLWRlc2lnbi9maWxsL2AsXHJcbiAgbWRvOiBgbWF0ZXJpYWwtZGVzaWduL291dGxpbmUvYFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFhWaWV3Qm94ID0gW1xyXG4gIC8vIHsgc291Y2VzOiBbXCJhZGZcIiwgXCJhZG9cIiwgXCJhZHRcIl0sIHZhbHVlOiBcIjAgMCAxMDI0IDEwMjRcIiB9LFxyXG4gIC8vIHsgc291Y2VzOiBbXCJlYWZcIiwgXCJlYW9cIl0sIHZhbHVlOiBcIjAgMCAyNCAyNFwiIH0sXHJcbiAgLy8geyBzb3VjZXM6IFtcImZ0b1wiXSwgdmFsdWU6IFwiMCAwIDI0IDI0XCIgfVxyXG5dO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hJY29uUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUvaW5kZXguc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhJY29uQ29tcG9uZW50IGV4dGVuZHMgWEljb25Qcm9wZXJ0eSB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzc05hbWUoKSB7XHJcbiAgICByZXR1cm4gYCR7WEljb25QcmVmaXh9ICR7dGhpcy50eXBlKCl9YDtcclxuICB9XHJcbiAgcHJpdmF0ZSBzdmdFbGVtZW50ITogU1ZHRWxlbWVudDtcclxuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwcml2YXRlIGljb25TZXJ2aWNlID0gaW5qZWN0KFhJY29uU2VydmljZSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueC1pY29uLXNwaW4nKSBnZXQgZ2V0U3BpbigpIHtcclxuICAgIHJldHVybiB0aGlzLnNwaW4oKTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUuY29sb3InKSBnZXQgZ2V0Q29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2xvcigpO1xyXG4gIH1cclxuXHJcbiAgc291cmNlVXJsID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSgpO1xyXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnJykgcmV0dXJuICcnO1xyXG4gICAgY29uc3Qgc3BsaXQgPSB0eXBlLnNwbGl0KCctJyk7XHJcbiAgICBjb25zdCBzb3VjZSA9IHNwbGl0LnNoaWZ0KCk7XHJcbiAgICBpZiAodHlwZW9mIHNvdWNlID09PSAndW5kZWZpbmVkJykgcmV0dXJuICcnO1xyXG4gICAgY29uc3Qgc291Y2VVcmwgPSBYU291Y2VVcmxbc291Y2VdO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBzcGxpdC5qb2luKCctJyk7XHJcbiAgICBpZiAoIXNvdWNlVXJsIHx8ICFmaWxlTmFtZSkge1xyXG4gICAgICBYV2Fybkljb25UeXBlTm90Rm91bmQoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtzb3VjZVVybH0ke2ZpbGVOYW1lfWA7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGVmZmVjdCgoKSA9PiB0aGlzLmljb25TZXJ2aWNlLmdldFN2Zyh0aGlzLmhyZWYoKSwgdGhpcy5zb3VyY2VVcmwoKSkuc3Vic2NyaWJlKCh4KSA9PiB0aGlzLnNldFN2Z3MoeCkpKTtcclxuICB9XHJcblxyXG4gIHNldFN2Z3Moc3ZnOiBzdHJpbmcpIHtcclxuICAgIGlmIChYSXNFbXB0eShzdmcpKSByZXR1cm47XHJcbiAgICBsZXQgZmlyc3RDaGlsZCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQ7XHJcbiAgICBpZiAoZmlyc3RDaGlsZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBmaXJzdENoaWxkKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3ZnRWxlbWVudCA9IHRoaXMuYnVpbGRTdmcoc3ZnKSE7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZXModGhpcy5zdmdFbGVtZW50KTtcclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnRWxlbWVudCk7XHJcbiAgICAvLyBUT0RPOiB1c2Ugem9uZWxlc3MsIHJlbmRlcmVyIHJlbW92ZUNoaWxkIHdpbGwgbm90IHRha2UgZWZmZWN0IGltbWVkaWF0ZWx5XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHNldEF0dHJpYnV0ZXMoc3ZnRWxlOiBTVkdFbGVtZW50KSB7XHJcbiAgICBpZiAoc3ZnRWxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2Z0VsZSwgJ3dpZHRoJywgJzFlbScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdmdFbGUsICdoZWlnaHQnLCAnMWVtJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZFN2ZyhzdmdTdHI6IHN0cmluZyk6IFNWR1NWR0VsZW1lbnQgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3N2ZycpIGFzIFNWR1NWR0VsZW1lbnQ7XHJcbiAgICBjb25zdCBzdmcgPSB0aGlzLmNyZWF0ZVN2ZyhzdmdTdHIpO1xyXG4gICAgaWYgKCFzdmcpIHJldHVybjtcclxuICAgIHN2Zy5jaGlsZHJlbi5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIHgucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xyXG4gICAgICBpZiAoeC50YWdOYW1lID09PSAncmVjdCcpIHtcclxuICAgICAgICB4LnNldEF0dHJpYnV0ZSgnZmlsbCcsICdub25lJyk7XHJcbiAgICAgIH1cclxuICAgICAgcmVzdWx0LmFwcGVuZENoaWxkKHgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZShyZXN1bHQsIHN2Zy5lbGUsICd2aWV3Qm94Jyk7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZShyZXN1bHQsIHN2Zy5lbGUsICdmaWxsJywgJ2N1cnJlbnRDb2xvcicpO1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUocmVzdWx0LCBzdmcuZWxlLCAnc3Ryb2tlJyk7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZShyZXN1bHQsIHN2Zy5lbGUsICdzdHJva2Utd2lkdGgnKTtcclxuICAgIHRoaXMuc2V0QXR0cmlidXRlKHJlc3VsdCwgc3ZnLmVsZSwgJ3N0cm9rZS1saW5lY2FwJyk7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZShyZXN1bHQsIHN2Zy5lbGUsICdzdHJva2UtbGluZWpvaW4nKTtcclxuICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgIFhXYXJuU1ZHVGFnTm90Rm91bmQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3ZnKHN2Z1N0cjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmlubmVySFRNTCA9IHN2Z1N0cjtcclxuICAgIGxldCBzdmdFbGUgPSBkaXYucXVlcnlTZWxlY3Rvcignc3ZnJykgYXMgU1ZHRWxlbWVudDtcclxuICAgIGlmICghc3ZnRWxlKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGVsZTogc3ZnRWxlLFxyXG4gICAgICBjaGlsZHJlbjogc3ZnRWxlLnF1ZXJ5U2VsZWN0b3JBbGwoJ3BhdGgsIHBvbHlsaW5lLCBwb2x5Z29uLCBjaXJjbGUsIGxpbmUsIHJlY3QnKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEF0dHJpYnV0ZShzdmc6IFNWR0VsZW1lbnQsIHN2Z0VsZTogU1ZHRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIGRlZj86IHN0cmluZykge1xyXG4gICAgbGV0IGF0dHIgPSBzdmdFbGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSk7XHJcbiAgICBpZiAoYXR0cikge1xyXG4gICAgICBzdmcuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgYXR0cik7XHJcbiAgICB9IGVsc2UgaWYgKGRlZikge1xyXG4gICAgICBzdmcuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgZGVmKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vPGFuaW1hdGUgYmVnaW49XCJtb3VzZWVudGVyXCIgZHVyPVwiNTAwbXNcIiByZXBlYXRDb3VudD1cIjFcIiBhdHRyaWJ1dGVOYW1lPVwiZFwiIGZyb209XCJNODYuNDI1LDEzLjIwNGw1LjY0OCwxMi43NDFIMC41NSAgIGwwLjEyNS0xMi42MTZMMC41NSwwLjU0NGg5MS41MjNMODYuNDI1LDEzLjIwNHpcIiB0bz1cIk05Mi43MjUsMTMuNTIxbDAuMDQ0LDEyLjg4N0gxLjI0NSAgIGw3LTEyLjYxNmwtNy0xMi43ODVoOTEuNTIzTDkyLjcyNSwxMy41MjF6XCIgZmlsbD1cImZyZWV6ZVwiPjwvYW5pbWF0ZT5cclxuXHJcbiAgc2V0QW5pbWF0ZXMoc3Znczogc3RyaW5nW10pIHtcclxuICAgIGlmIChzdmdzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBzdmcgPSB0aGlzLmNyZWF0ZVN2ZyhzdmdzLnNoaWZ0KCkgYXMgc3RyaW5nKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN2Z0VsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgY2hpbGQgPSB0aGlzLnN2Z0VsZW1lbnQuY2hpbGRyZW5baV07XHJcbiAgICAgICAgbGV0IHRvQ2hpbGQgPSBzdmc/LmNoaWxkcmVuW2ldO1xyXG4gICAgICAgIGlmIChjaGlsZD8ubm9kZU5hbWUgPT09ICdwYXRoJyAmJiB0b0NoaWxkPy5ub2RlTmFtZSA9PT0gJ3BhdGgnKSB7XHJcbiAgICAgICAgICBsZXQgdG9BbmltYXRlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhbmltYXRlJyk7XHJcbiAgICAgICAgICB0b0FuaW1hdGUuc2V0QXR0cmlidXRlKCdkdXInLCAnNTAwbXMnKTtcclxuICAgICAgICAgIHRvQW5pbWF0ZS5zZXRBdHRyaWJ1dGUoJ3JlcGVhdENvdW50JywgJzEnKTtcclxuICAgICAgICAgIHRvQW5pbWF0ZS5zZXRBdHRyaWJ1dGUoJ2F0dHJpYnV0ZU5hbWUnLCAnZCcpO1xyXG4gICAgICAgICAgdG9BbmltYXRlLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdmcmVlemUnKTtcclxuICAgICAgICAgIHRvQW5pbWF0ZS5zZXRBdHRyaWJ1dGUoJ2Zyb20nLCBjaGlsZC5nZXRBdHRyaWJ1dGUoJ2QnKSBhcyBzdHJpbmcpO1xyXG4gICAgICAgICAgdG9BbmltYXRlLnNldEF0dHJpYnV0ZSgndG8nLCB0b0NoaWxkLmdldEF0dHJpYnV0ZSgnZCcpIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGNoaWxkLCB0b0FuaW1hdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJcclxuIl19
@@ -66,10 +66,10 @@ export class XImageComponent extends XImageProperty {
66
66
  this.load.emit(event);
67
67
  }
68
68
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XImageComponent, isStandalone: true, selector: "x-image", usesInheritance: true, ngImport: i0, template: "<div class=\"x-image\">\r\n <img\r\n [hidden]=\"(placeholder() && !isLoaded()) || isError()\"\r\n class=\"x-image-img\"\r\n [src]=\"src()\"\r\n [style.width]=\"width()\"\r\n [style.height]=\"height()\"\r\n (error)=\"onError($event)\"\r\n (load)=\"onLoad($event)\"\r\n />\r\n @if (placeholder() && !isLoaded()) {\r\n <img class=\"x-image-img\" [src]=\"placeholder()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && fallback()) {\r\n <img class=\"x-image-img\" [src]=\"fallback()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && !fallback()) {\r\n <div class=\"x-image-error-icon\" [style.width]=\"width()\" [style.height]=\"height()\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n </div>\r\n }\r\n <ng-container *xOutlet=\"previewTpl(); context: { $image: this }\">\r\n @if (!isError()) {\r\n <div class=\"x-image-overlay\" (click)=\"onPreview()\">\r\n <div class=\"x-image-text\">\r\n <x-icon type=\"fto-eye\"></x-icon>\r\n <span>{{ previewTextSignal() }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n</div>\r\n", styles: ["x-image{display:inline-block}.x-image{margin:0;padding:0}.x-image{position:relative;display:inline-block}.x-image-img{max-width:100%;max-height:100%;vertical-align:middle}.x-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#00000080;cursor:pointer;opacity:0;transition:opacity var(--x-animation-duration-base)}.x-image-overlay:hover{opacity:1}.x-image-text>span{margin-left:.25rem}.x-image-error{display:none}.x-image-error-icon{font-size:2rem}\n"], dependencies: [{ kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
69
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XImageComponent, isStandalone: true, selector: "x-image", usesInheritance: true, ngImport: i0, template: "<div class=\"x-image\">\r\n <img\r\n [hidden]=\"(placeholder() && !isLoaded()) || isError()\"\r\n class=\"x-image-img\"\r\n [src]=\"src()\"\r\n [style.width]=\"width()\"\r\n [style.height]=\"height()\"\r\n [attr.alt]=\"alt()\"\r\n (error)=\"onError($event)\"\r\n (load)=\"onLoad($event)\"\r\n />\r\n @if (placeholder() && !isLoaded()) {\r\n <img class=\"x-image-img\" [src]=\"placeholder()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && fallback()) {\r\n <img class=\"x-image-img\" [src]=\"fallback()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && !fallback()) {\r\n <div class=\"x-image-error-icon\" [style.width]=\"width()\" [style.height]=\"height()\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n </div>\r\n }\r\n <ng-container *xOutlet=\"previewTpl(); context: { $image: this }\">\r\n @if (!isError()) {\r\n <div class=\"x-image-overlay\" (click)=\"onPreview()\">\r\n <div class=\"x-image-text\">\r\n <x-icon type=\"fto-eye\"></x-icon>\r\n <span>{{ previewTextSignal() }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n</div>\r\n", styles: ["x-image{display:inline-block}.x-image{margin:0;padding:0}.x-image{position:relative;display:inline-block}.x-image-img{max-width:100%;max-height:100%;vertical-align:middle}.x-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#00000080;cursor:pointer;opacity:0;transition:opacity var(--x-animation-duration-base)}.x-image-overlay:hover{opacity:1}.x-image-text>span{margin-left:.25rem}.x-image-error{display:none}.x-image-error-icon{font-size:2rem}\n"], dependencies: [{ kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XImageComponent, decorators: [{
72
72
  type: Component,
73
- args: [{ selector: `${XImagePrefix}`, standalone: true, imports: [NgClass, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-image\">\r\n <img\r\n [hidden]=\"(placeholder() && !isLoaded()) || isError()\"\r\n class=\"x-image-img\"\r\n [src]=\"src()\"\r\n [style.width]=\"width()\"\r\n [style.height]=\"height()\"\r\n (error)=\"onError($event)\"\r\n (load)=\"onLoad($event)\"\r\n />\r\n @if (placeholder() && !isLoaded()) {\r\n <img class=\"x-image-img\" [src]=\"placeholder()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && fallback()) {\r\n <img class=\"x-image-img\" [src]=\"fallback()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && !fallback()) {\r\n <div class=\"x-image-error-icon\" [style.width]=\"width()\" [style.height]=\"height()\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n </div>\r\n }\r\n <ng-container *xOutlet=\"previewTpl(); context: { $image: this }\">\r\n @if (!isError()) {\r\n <div class=\"x-image-overlay\" (click)=\"onPreview()\">\r\n <div class=\"x-image-text\">\r\n <x-icon type=\"fto-eye\"></x-icon>\r\n <span>{{ previewTextSignal() }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n</div>\r\n", styles: ["x-image{display:inline-block}.x-image{margin:0;padding:0}.x-image{position:relative;display:inline-block}.x-image-img{max-width:100%;max-height:100%;vertical-align:middle}.x-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#00000080;cursor:pointer;opacity:0;transition:opacity var(--x-animation-duration-base)}.x-image-overlay:hover{opacity:1}.x-image-text>span{margin-left:.25rem}.x-image-error{display:none}.x-image-error-icon{font-size:2rem}\n"] }]
73
+ args: [{ selector: `${XImagePrefix}`, standalone: true, imports: [NgClass, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-image\">\r\n <img\r\n [hidden]=\"(placeholder() && !isLoaded()) || isError()\"\r\n class=\"x-image-img\"\r\n [src]=\"src()\"\r\n [style.width]=\"width()\"\r\n [style.height]=\"height()\"\r\n [attr.alt]=\"alt()\"\r\n (error)=\"onError($event)\"\r\n (load)=\"onLoad($event)\"\r\n />\r\n @if (placeholder() && !isLoaded()) {\r\n <img class=\"x-image-img\" [src]=\"placeholder()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && fallback()) {\r\n <img class=\"x-image-img\" [src]=\"fallback()\" [style.width]=\"width()\" [style.height]=\"height()\" />\r\n }\r\n @if (isError() && !fallback()) {\r\n <div class=\"x-image-error-icon\" [style.width]=\"width()\" [style.height]=\"height()\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n </div>\r\n }\r\n <ng-container *xOutlet=\"previewTpl(); context: { $image: this }\">\r\n @if (!isError()) {\r\n <div class=\"x-image-overlay\" (click)=\"onPreview()\">\r\n <div class=\"x-image-text\">\r\n <x-icon type=\"fto-eye\"></x-icon>\r\n <span>{{ previewTextSignal() }}</span>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n</div>\r\n", styles: ["x-image{display:inline-block}.x-image{margin:0;padding:0}.x-image{position:relative;display:inline-block}.x-image-img{max-width:100%;max-height:100%;vertical-align:middle}.x-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#00000080;cursor:pointer;opacity:0;transition:opacity var(--x-animation-duration-base)}.x-image-overlay:hover{opacity:1}.x-image-text>span{margin-left:.25rem}.x-image-error{display:none}.x-image-error-icon{font-size:2rem}\n"] }]
74
74
  }], ctorParameters: () => [] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW1hZ2UvaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUVOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVd0RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBY2pEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFkRixXQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMs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QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO2lJQS9EVSxlQUFlO3FIQUFmLGVBQWUsMEZDaEM1Qiw4cUNBZ0NBLDRqQkROcUIsY0FBYyxtREFBRSxnQkFBZ0I7OzJGQU14QyxlQUFlO2tCQVQzQixTQUFTOytCQUNFLEdBQUcsWUFBWSxFQUFFLGNBQ2YsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFHckMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uSW5pdCxcclxuICBpbmplY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgc2lnbmFsLFxyXG4gIE9uRGVzdHJveSxcclxuICBlZmZlY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEltYWdlTm9kZSwgWEltYWdlUHJlZml4LCBYSW1hZ2VQcm9wZXJ0eSB9IGZyb20gJy4vaW1hZ2UucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2RpYWxvZyc7XHJcbmltcG9ydCB7IFhJbWFnZVByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLXByZXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEkxOG5TZXJ2aWNlLCB6aF9DTiB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEltYWdlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEltYWdlUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgWEljb25Db21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW1hZ2VDb21wb25lbnQgZXh0ZW5kcyBYSW1hZ2VQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChYRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBncm91cCA9IGluamVjdChYSW1hZ2VHcm91cENvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuICBpc0Vycm9yID0gc2lnbmFsKGZhbHNlKTtcclxuICBpc0xvYWRlZCA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gIGxvY2FsZSA9IHRvU2lnbmFsKHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZShtYXAoKHgpID0+IHguaW1hZ2UhKSksIHsgaW5pdGlhbFZhbHVlOiB6aF9DTi5pbWFnZSB9KTtcclxuXHJcbiAgcHJldmlld1RleHRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3VGV4dCgpIHx8IHRoaXMubG9jYWxlKCkucHJldmlld1RleHQ7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGVmZmVjdChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3JjKCk7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRlZC5zZXQoZmFsc2UpO1xyXG4gICAgICB9LFxyXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXAgJiYgdGhpcy5ncm91cC5hZGRJbWFnZSh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5ncm91cCAmJiB0aGlzLmdyb3VwLnJlbW92ZUltYWdlKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgb25QcmV2aWV3KCkge1xyXG4gICAgbGV0IGRhdGE6IFhJbWFnZU5vZGVbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcclxuICAgICAgY29uc3QgYWN0aXZhdGVkSW5kZXggPSB0aGlzLmdyb3VwLmltYWdlcygpLmluZGV4T2YodGhpcyk7XHJcbiAgICAgIGRhdGEgPSB0aGlzLmdyb3VwLmltYWdlcygpLm1hcCgoeCwgaW5kZXgpID0+ICh7XHJcbiAgICAgICAgc3JjOiB4LnNyYygpLFxyXG4gICAgICAgIGFsdDogeC5hbHQoKSxcclxuICAgICAgICBmYWxsYmFjazogeC5mYWxsYmFjaygpLFxyXG4gICAgICAgIGFjdGl2YXRlZDogaW5kZXggPT09IGFjdGl2YXRlZEluZGV4XHJcbiAgICAgIH0pKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEgPSBbeyBzcmM6IHRoaXMuc3JjKCksIGFsdDogdGhpcy5hbHQoKSwgZmFsbGJhY2s6IHRoaXMuZmFsbGJhY2soKSB9XTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nLmNyZWF0ZShYSW1hZ2VQcmV2aWV3Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBjbGFzc05hbWU6ICd4LWltYWdlLXByZXZpZXctcG9ydGFsJyxcclxuICAgICAgZGF0YVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkVycm9yKGV2ZW50OiBFcnJvckV2ZW50KSB7XHJcbiAgICB0aGlzLmlzRXJyb3Iuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5lcnJvci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uTG9hZChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMuaXNMb2FkZWQuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5pc0Vycm9yLnNldChmYWxzZSk7XHJcbiAgICB0aGlzLmxvYWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWltYWdlXCI+XHJcbiAgPGltZ1xyXG4gICAgW2hpZGRlbl09XCIocGxhY2Vob2xkZXIoKSAmJiAhaXNMb2FkZWQoKSkgfHwgaXNFcnJvcigpXCJcclxuICAgIGNsYXNzPVwieC1pbWFnZS1pbWdcIlxyXG4gICAgW3NyY109XCJzcmMoKVwiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodCgpXCJcclxuICAgIChlcnJvcik9XCJvbkVycm9yKCRldmVudClcIlxyXG4gICAgKGxvYWQpPVwib25Mb2FkKCRldmVudClcIlxyXG4gIC8+XHJcbiAgQGlmIChwbGFjZWhvbGRlcigpICYmICFpc0xvYWRlZCgpKSB7XHJcbiAgICA8aW1nIGNsYXNzPVwieC1pbWFnZS1pbWdcIiBbc3JjXT1cInBsYWNlaG9sZGVyKClcIiBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KClcIiAvPlxyXG4gIH1cclxuICBAaWYgKGlzRXJyb3IoKSAmJiBmYWxsYmFjaygpKSB7XHJcbiAgICA8aW1nIGNsYXNzPVwieC1pbWFnZS1pbWdcIiBbc3JjXT1cImZhbGxiYWNrKClcIiBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KClcIiAvPlxyXG4gIH1cclxuICBAaWYgKGlzRXJyb3IoKSAmJiAhZmFsbGJhY2soKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cIngtaW1hZ2UtZXJyb3ItaWNvblwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aCgpXCIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQoKVwiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8taW1hZ2VcIj48L3gtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwicHJldmlld1RwbCgpOyBjb250ZXh0OiB7ICRpbWFnZTogdGhpcyB9XCI+XHJcbiAgICBAaWYgKCFpc0Vycm9yKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIngtaW1hZ2Utb3ZlcmxheVwiIChjbGljayk9XCJvblByZXZpZXcoKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWltYWdlLXRleHRcIj5cclxuICAgICAgICAgIDx4LWljb24gdHlwZT1cImZ0by1leWVcIj48L3gtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPnt7IHByZXZpZXdUZXh0U2lnbmFsKCkgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW1hZ2UvaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUVOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVd0RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBY2pEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFkRixXQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixXQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXBHLHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUlELE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksR0FBaUIsRUFBRSxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFNBQVMsRUFBRSxLQUFLLEtBQUssY0FBYzthQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3pDLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBWTtRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO2lJQS9EVSxlQUFlO3FIQUFmLGVBQWUsMEZDaEM1Qiwwc0NBaUNBLDRqQkRQcUIsY0FBYyxtREFBRSxnQkFBZ0I7OzJGQU14QyxlQUFlO2tCQVQzQixTQUFTOytCQUNFLEdBQUcsWUFBWSxFQUFFLGNBQ2YsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFHckMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uSW5pdCxcclxuICBpbmplY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgc2lnbmFsLFxyXG4gIE9uRGVzdHJveSxcclxuICBlZmZlY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEltYWdlTm9kZSwgWEltYWdlUHJlZml4LCBYSW1hZ2VQcm9wZXJ0eSB9IGZyb20gJy4vaW1hZ2UucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2RpYWxvZyc7XHJcbmltcG9ydCB7IFhJbWFnZVByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLXByZXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEkxOG5TZXJ2aWNlLCB6aF9DTiB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEltYWdlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEltYWdlUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgWEljb25Db21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW1hZ2VDb21wb25lbnQgZXh0ZW5kcyBYSW1hZ2VQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChYRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBncm91cCA9IGluamVjdChYSW1hZ2VHcm91cENvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuICBpc0Vycm9yID0gc2lnbmFsKGZhbHNlKTtcclxuICBpc0xvYWRlZCA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gIGxvY2FsZSA9IHRvU2lnbmFsKHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZShtYXAoKHgpID0+IHguaW1hZ2UhKSksIHsgaW5pdGlhbFZhbHVlOiB6aF9DTi5pbWFnZSB9KTtcclxuXHJcbiAgcHJldmlld1RleHRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3VGV4dCgpIHx8IHRoaXMubG9jYWxlKCkucHJldmlld1RleHQ7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGVmZmVjdChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3JjKCk7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRlZC5zZXQoZmFsc2UpO1xyXG4gICAgICB9LFxyXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXAgJiYgdGhpcy5ncm91cC5hZGRJbWFnZSh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5ncm91cCAmJiB0aGlzLmdyb3VwLnJlbW92ZUltYWdlKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgb25QcmV2aWV3KCkge1xyXG4gICAgbGV0IGRhdGE6IFhJbWFnZU5vZGVbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcclxuICAgICAgY29uc3QgYWN0aXZhdGVkSW5kZXggPSB0aGlzLmdyb3VwLmltYWdlcygpLmluZGV4T2YodGhpcyk7XHJcbiAgICAgIGRhdGEgPSB0aGlzLmdyb3VwLmltYWdlcygpLm1hcCgoeCwgaW5kZXgpID0+ICh7XHJcbiAgICAgICAgc3JjOiB4LnNyYygpLFxyXG4gICAgICAgIGFsdDogeC5hbHQoKSxcclxuICAgICAgICBmYWxsYmFjazogeC5mYWxsYmFjaygpLFxyXG4gICAgICAgIGFjdGl2YXRlZDogaW5kZXggPT09IGFjdGl2YXRlZEluZGV4XHJcbiAgICAgIH0pKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEgPSBbeyBzcmM6IHRoaXMuc3JjKCksIGFsdDogdGhpcy5hbHQoKSwgZmFsbGJhY2s6IHRoaXMuZmFsbGJhY2soKSB9XTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nLmNyZWF0ZShYSW1hZ2VQcmV2aWV3Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBjbGFzc05hbWU6ICd4LWltYWdlLXByZXZpZXctcG9ydGFsJyxcclxuICAgICAgZGF0YVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkVycm9yKGV2ZW50OiBFcnJvckV2ZW50KSB7XHJcbiAgICB0aGlzLmlzRXJyb3Iuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5lcnJvci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uTG9hZChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMuaXNMb2FkZWQuc2V0KHRydWUpO1xyXG4gICAgdGhpcy5pc0Vycm9yLnNldChmYWxzZSk7XHJcbiAgICB0aGlzLmxvYWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWltYWdlXCI+XHJcbiAgPGltZ1xyXG4gICAgW2hpZGRlbl09XCIocGxhY2Vob2xkZXIoKSAmJiAhaXNMb2FkZWQoKSkgfHwgaXNFcnJvcigpXCJcclxuICAgIGNsYXNzPVwieC1pbWFnZS1pbWdcIlxyXG4gICAgW3NyY109XCJzcmMoKVwiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiXHJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodCgpXCJcclxuICAgIFthdHRyLmFsdF09XCJhbHQoKVwiXHJcbiAgICAoZXJyb3IpPVwib25FcnJvcigkZXZlbnQpXCJcclxuICAgIChsb2FkKT1cIm9uTG9hZCgkZXZlbnQpXCJcclxuICAvPlxyXG4gIEBpZiAocGxhY2Vob2xkZXIoKSAmJiAhaXNMb2FkZWQoKSkge1xyXG4gICAgPGltZyBjbGFzcz1cIngtaW1hZ2UtaW1nXCIgW3NyY109XCJwbGFjZWhvbGRlcigpXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoKClcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodCgpXCIgLz5cclxuICB9XHJcbiAgQGlmIChpc0Vycm9yKCkgJiYgZmFsbGJhY2soKSkge1xyXG4gICAgPGltZyBjbGFzcz1cIngtaW1hZ2UtaW1nXCIgW3NyY109XCJmYWxsYmFjaygpXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoKClcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodCgpXCIgLz5cclxuICB9XHJcbiAgQGlmIChpc0Vycm9yKCkgJiYgIWZhbGxiYWNrKCkpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LWltYWdlLWVycm9yLWljb25cIiBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KClcIj5cclxuICAgICAgPHgtaWNvbiB0eXBlPVwiZnRvLWltYWdlXCI+PC94LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cInByZXZpZXdUcGwoKTsgY29udGV4dDogeyAkaW1hZ2U6IHRoaXMgfVwiPlxyXG4gICAgQGlmICghaXNFcnJvcigpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWltYWdlLW92ZXJsYXlcIiAoY2xpY2spPVwib25QcmV2aWV3KClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1pbWFnZS10ZXh0XCI+XHJcbiAgICAgICAgICA8eC1pY29uIHR5cGU9XCJmdG8tZXllXCI+PC94LWljb24+XHJcbiAgICAgICAgICA8c3Bhbj57eyBwcmV2aWV3VGV4dFNpZ25hbCgpIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -212,13 +212,13 @@ export class XInputComponent extends XInputProperty {
212
212
  }
213
213
  formControlChanges() { }
214
214
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
215
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XInputComponent, isStandalone: true, selector: "x-input", host: { properties: { "style.width": "this.getWidth" } }, providers: [XValueAccessor(XInputComponent)], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputValueRef", first: true, predicate: ["inputValueRef"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "maxLengthRef", first: true, predicate: ["maxLengthRef"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-clearable]=\"clearable()\"\r\n [class.x-clear-show]=\"clearShow()\"\r\n [class.x-input-icon]=\"getIcon()\"\r\n [class.x-input-active]=\"active()\"\r\n [class.x-input-focus]=\"focused()\"\r\n [class.x-input-pointer]=\"pointer()\"\r\n [class.x-input-bordered]=\"bordered()\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft()\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight()\"\r\n [class.x-input-after]=\"after()\"\r\n [class.x-input-before]=\"before()\"\r\n [class.x-input-after-template]=\"afterIsTemplate()\"\r\n [class.x-input-before-template]=\"beforeIsTemplate()\"\r\n [class.x-input-value-template]=\"valueTpl()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-input-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before()) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate()\">\r\n <ng-container *xOutlet=\"before()\">{{ before() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl()) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left]=\"paddingLeft()\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth()\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTpl()!; context: valueTplContext() ? valueTplContext() : { $value: value() }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n [class.x-input-has-value-template]=\"valueTpl()\"\r\n [ngStyle]=\"inputStyle()\"\r\n [type]=\"type()\"\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\r\n [readonly]=\"readonly()\"\r\n [maxlength]=\"maxlength()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left]=\"paddingLeft()\"\r\n [style.padding-right]=\"paddingRight()\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.emit($event)\"\r\n (compositionend)=\"xComposition.emit($event)\"\r\n />\r\n @if (clearShow() && !iconSpin()) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft() || iconSpin())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength() && lengthTotal()) {\r\n <span class=\"x-input-max-length\" [style.width]=\"getMaxLengthWidth()\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after()) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate()\">\r\n <ng-container *xOutlet=\"after()\">{{ after() }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before:not(.x-input-row-before-template){border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-input-row .x-input-row-after:not(.x-input-row-before-template){border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.x-input-row .x-input-row-before-template input{margin-right:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.x-input-row .x-input-row-after-template input{margin-left:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);right:0;left:inherit;opacity:0;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0;width:3rem;display:inline-flex;text-align:center;justify-content:center}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);display:inline-flex;align-items:center;justify-content:center}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-input>x-icon{height:var(--x-height-big);width:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-input>x-icon{height:var(--x-height-large);width:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-input>x-icon{height:var(--x-height-medium);width:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-input>x-icon{height:var(--x-height-small);width:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-input>x-icon{height:var(--x-height-mini);width:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input{margin:0;padding:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
215
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XInputComponent, isStandalone: true, selector: "x-input", host: { properties: { "style.width": "this.getWidth" } }, providers: [XValueAccessor(XInputComponent)], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputValueRef", first: true, predicate: ["inputValueRef"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "maxLengthRef", first: true, predicate: ["maxLengthRef"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-clearable]=\"clearable()\"\r\n [class.x-clear-show]=\"clearShow()\"\r\n [class.x-input-icon]=\"getIcon()\"\r\n [class.x-input-active]=\"active()\"\r\n [class.x-input-focus]=\"focused()\"\r\n [class.x-input-pointer]=\"pointer()\"\r\n [class.x-input-bordered]=\"bordered()\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft()\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight()\"\r\n [class.x-input-after]=\"after()\"\r\n [class.x-input-before]=\"before()\"\r\n [class.x-input-after-template]=\"afterIsTemplate()\"\r\n [class.x-input-before-template]=\"beforeIsTemplate()\"\r\n [class.x-input-value-template]=\"valueTpl()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-input-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before()) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate()\">\r\n <ng-container *xOutlet=\"before()\">{{ before() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl()) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left]=\"paddingLeft()\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth()\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *xOutlet=\"valueTpl()!; context: valueTplContext() ? valueTplContext() : { $value: value() }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n class=\"x-input-frame\"\r\n [class.x-input-has-value-template]=\"!!valueTpl()\"\r\n [ngStyle]=\"inputStyle()\"\r\n [type]=\"type()\"\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\r\n [readonly]=\"readonly()\"\r\n [maxlength]=\"maxlength()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left]=\"paddingLeft()\"\r\n [style.padding-right]=\"paddingRight()\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.emit($event)\"\r\n (compositionend)=\"xComposition.emit($event)\"\r\n />\r\n @if (clearShow() && !iconSpin()) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft() || iconSpin())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength() && lengthTotal()) {\r\n <span class=\"x-input-max-length\" [style.width]=\"getMaxLengthWidth()\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after()) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate()\">\r\n <ng-container *xOutlet=\"after()\">{{ after() }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before:not(.x-input-row-before-template){border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-input-row .x-input-row-after:not(.x-input-row-before-template){border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.x-input-row .x-input-row-before-template input{margin-right:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.x-input-row .x-input-row-after-template input{margin-left:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);right:0;left:inherit;opacity:0;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0;width:3rem;display:inline-flex;text-align:center;justify-content:center}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);display:inline-flex;align-items:center;justify-content:center}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-input>x-icon{height:var(--x-height-big);width:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-input>x-icon{height:var(--x-height-large);width:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-input>x-icon{height:var(--x-height-medium);width:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-input>x-icon{height:var(--x-height-small);width:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-input>x-icon{height:var(--x-height-mini);width:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input{margin:0;padding:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
216
216
  }
217
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XInputComponent, decorators: [{
218
218
  type: Component,
219
- args: [{ selector: `${XInputPrefix}`, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, FormsModule, ReactiveFormsModule, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputComponent)], template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-clearable]=\"clearable()\"\r\n [class.x-clear-show]=\"clearShow()\"\r\n [class.x-input-icon]=\"getIcon()\"\r\n [class.x-input-active]=\"active()\"\r\n [class.x-input-focus]=\"focused()\"\r\n [class.x-input-pointer]=\"pointer()\"\r\n [class.x-input-bordered]=\"bordered()\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft()\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight()\"\r\n [class.x-input-after]=\"after()\"\r\n [class.x-input-before]=\"before()\"\r\n [class.x-input-after-template]=\"afterIsTemplate()\"\r\n [class.x-input-before-template]=\"beforeIsTemplate()\"\r\n [class.x-input-value-template]=\"valueTpl()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-input-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before()) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate()\">\r\n <ng-container *xOutlet=\"before()\">{{ before() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl()) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left]=\"paddingLeft()\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth()\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTpl()!; context: valueTplContext() ? valueTplContext() : { $value: value() }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n [class.x-input-has-value-template]=\"valueTpl()\"\r\n [ngStyle]=\"inputStyle()\"\r\n [type]=\"type()\"\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\r\n [readonly]=\"readonly()\"\r\n [maxlength]=\"maxlength()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left]=\"paddingLeft()\"\r\n [style.padding-right]=\"paddingRight()\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.emit($event)\"\r\n (compositionend)=\"xComposition.emit($event)\"\r\n />\r\n @if (clearShow() && !iconSpin()) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft() || iconSpin())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength() && lengthTotal()) {\r\n <span class=\"x-input-max-length\" [style.width]=\"getMaxLengthWidth()\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after()) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate()\">\r\n <ng-container *xOutlet=\"after()\">{{ after() }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before:not(.x-input-row-before-template){border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-input-row .x-input-row-after:not(.x-input-row-before-template){border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.x-input-row .x-input-row-before-template input{margin-right:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.x-input-row .x-input-row-after-template input{margin-left:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);right:0;left:inherit;opacity:0;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0;width:3rem;display:inline-flex;text-align:center;justify-content:center}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);display:inline-flex;align-items:center;justify-content:center}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-input>x-icon{height:var(--x-height-big);width:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-input>x-icon{height:var(--x-height-large);width:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-input>x-icon{height:var(--x-height-medium);width:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-input>x-icon{height:var(--x-height-small);width:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-input>x-icon{height:var(--x-height-mini);width:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input{margin:0;padding:0}\n"] }]
219
+ args: [{ selector: `${XInputPrefix}`, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, FormsModule, ReactiveFormsModule, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputComponent)], template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-clearable]=\"clearable()\"\r\n [class.x-clear-show]=\"clearShow()\"\r\n [class.x-input-icon]=\"getIcon()\"\r\n [class.x-input-active]=\"active()\"\r\n [class.x-input-focus]=\"focused()\"\r\n [class.x-input-pointer]=\"pointer()\"\r\n [class.x-input-bordered]=\"bordered()\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft()\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight()\"\r\n [class.x-input-after]=\"after()\"\r\n [class.x-input-before]=\"before()\"\r\n [class.x-input-after-template]=\"afterIsTemplate()\"\r\n [class.x-input-before-template]=\"beforeIsTemplate()\"\r\n [class.x-input-value-template]=\"valueTpl()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-input-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before()) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate()\">\r\n <ng-container *xOutlet=\"before()\">{{ before() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl()) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left]=\"paddingLeft()\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth()\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *xOutlet=\"valueTpl()!; context: valueTplContext() ? valueTplContext() : { $value: value() }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n class=\"x-input-frame\"\r\n [class.x-input-has-value-template]=\"!!valueTpl()\"\r\n [ngStyle]=\"inputStyle()\"\r\n [type]=\"type()\"\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\r\n [readonly]=\"readonly()\"\r\n [maxlength]=\"maxlength()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left]=\"paddingLeft()\"\r\n [style.padding-right]=\"paddingRight()\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.emit($event)\"\r\n (compositionend)=\"xComposition.emit($event)\"\r\n />\r\n @if (clearShow() && !iconSpin()) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft() || iconSpin())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength() && lengthTotal()) {\r\n <span class=\"x-input-max-length\" [style.width]=\"getMaxLengthWidth()\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after()) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate()\">\r\n <ng-container *xOutlet=\"after()\">{{ after() }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before:not(.x-input-row-before-template){border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-input-row .x-input-row-after:not(.x-input-row-before-template){border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.x-input-row .x-input-row-before-template input{margin-right:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.x-input-row .x-input-row-after-template input{margin-left:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);right:0;left:inherit;opacity:0;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0;width:3rem;display:inline-flex;text-align:center;justify-content:center}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);display:inline-flex;align-items:center;justify-content:center}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-input>x-icon{height:var(--x-height-big);width:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-input>x-icon{height:var(--x-height-large);width:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-input>x-icon{height:var(--x-height-medium);width:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-input>x-icon{height:var(--x-height-small);width:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-input>x-icon{height:var(--x-height-mini);width:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input{margin:0;padding:0}\n"] }]
220
220
  }], propDecorators: { getWidth: [{
221
221
  type: HostBinding,
222
222
  args: ['style.width']
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBWXRELE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFWbkQ7O1FBV0UsaUJBQVksR0FBRyxT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QUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLGlCQUdsRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxpQkFBaUIsQ0FBQzs4QkFRWixRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBUZW1wbGF0ZVJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBpbmplY3QsXHJcbiAgdmlld0NoaWxkLFxyXG4gIHNpZ25hbCxcclxuICBjb21wdXRlZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRQcmVmaXgsIFhJbnB1dFByb3BlcnR5IH0gZnJvbSAnLi9pbnB1dC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYSXNVbmRlZmluZWQsIFhJc0Z1bmN0aW9uLCBYU2l6ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYSW5wdXRQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgWEljb25Db21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhJbnB1dENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBYSW5wdXRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaW5wdXRFbGVtZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xyXG4gIGlucHV0UmVmID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB9KTtcclxuICBpbnB1dFZhbHVlUmVmID0gdmlld0NoaWxkKCdpbnB1dFZhbHVlUmVmJywgeyByZWFkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB9KTtcclxuICBtYXhMZW5ndGhSZWYgPSB2aWV3Q2hpbGQoJ21heExlbmd0aFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBnZXQgZ2V0V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53aWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XHJcbiAgICB0aGlzLmlzV3JpdGVWYWx1ZS5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICAgdGhpcy5pc1dyaXRlVmFsdWUuc2V0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGNsYXNzTWFwID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgJHtYSW5wdXRQcmVmaXh9LSR7dGhpcy5zaXplKCl9YF06ICEhdGhpcy5zaXplKCksXHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeSgpfWBdOiAhIXRoaXMuanVzdGlmeSgpLFxyXG4gICAgW2B4LWFsaWduLSR7dGhpcy5hbGlnbigpfWBdOiAhIXRoaXMuYWxpZ24oKSxcclxuICAgIFtgeC1kaXJlY3Rpb24tJHt0aGlzLmRpcmVjdGlvbigpfWBdOiAhIXRoaXMuZGlyZWN0aW9uKClcclxuICB9KSk7XHJcbiAgbGFiZWxNYXBTaWduYWwgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ24oKX1gXTogISF0aGlzLmxhYmVsQWxpZ24oKVxyXG4gIH0pKTtcclxuXHJcbiAgdmFsdWVMZW5ndGggPSBzaWduYWwoMCk7XHJcbiAgbGVuZ3RoVG90YWwgPSBzaWduYWwoJycpO1xyXG4gIHBhZGRpbmdMZWZ0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWF4bGVuZ3RoKCkgJiYgdGhpcy5pY29uKCkgJiYgdGhpcy5pY29uTGF5b3V0KCkgPT09ICdyaWdodCdcclxuICAgICAgPyAodGhpcy5sZW5ndGhUb3RhbCgpLmxlbmd0aCArIDIpICogMC41ICsgJ3JlbSdcclxuICAgICAgOiB0aGlzLmljb24oKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyB0aGlzLmlucHV0SWNvblBhZGRpbmcoKVxyXG4gICAgICAgIDogdGhpcy5pbnB1dFBhZGRpbmcoKTtcclxuICB9KTtcclxuICBwYWRkaW5nUmlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXhsZW5ndGgoKSAmJiB0aGlzLmljb24oKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ2xlZnQnXHJcbiAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwoKS5sZW5ndGggKyAyKSAqIDAuNSArICdyZW0nXHJcbiAgICAgIDogKCh0aGlzLmljb24oKSB8fCB0aGlzLmNsZWFyU2hvdygpKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ3JpZ2h0JykgfHxcclxuICAgICAgICAgICh0aGlzLmNsZWFyU2hvdygpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAnbGVmdCcpXHJcbiAgICAgICAgPyB0aGlzLmlucHV0SWNvblBhZGRpbmcoKVxyXG4gICAgICAgIDogdGhpcy5tYXhsZW5ndGgoKSAmJiAhdGhpcy5pY29uKClcclxuICAgICAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwoKS5sZW5ndGggKyAyKSAqIDAuNSArICdyZW0nXHJcbiAgICAgICAgICA6IHRoaXMuaW5wdXRQYWRkaW5nKCk7XHJcbiAgfSk7XHJcbiAgY2xlYXJTaG93ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuY2xlYXJhYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWRDb21wdXRlZCgpKSB7XHJcbiAgICAgIHJldHVybiAhWElzRW1wdHkodGhpcy52YWx1ZSgpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9KTtcclxuICB2YWx1ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBpc0NvbXBvc2l0aW9uID0gc2lnbmFsKGZhbHNlKTtcclxuICBpc1dyaXRlVmFsdWUgPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgZ2V0SWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpO1xyXG4gIH0pO1xyXG5cclxuICBnZXRJY29uTGF5b3V0TGVmdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAnbGVmdCc7XHJcbiAgfSk7XHJcblxyXG4gIGdldEljb25MYXlvdXRSaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAncmlnaHQnO1xyXG4gIH0pO1xyXG5cclxuICBnZXRNYXhMZW5ndGhXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLmdldEljb25MYXlvdXRSaWdodCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBhZGRpbmdMZWZ0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWRkaW5nUmlnaHQoKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgYmVmb3JlSXNUZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYmVmb3JlKCkgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZik7XHJcbiAgYWZ0ZXJJc1RlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hZnRlcigpIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpO1xyXG5cclxuICBnZXRUZW1wbGF0ZVdpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMucGFkZGluZ0xlZnQoKX0gLSAke3RoaXMucGFkZGluZ1JpZ2h0KCl9KWA7XHJcbiAgfSk7XHJcblxyXG4gIGZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGdyb3VwU2l6ZSA9IHNpZ25hbDxYU2l6ZSB8IG51bGw+KG51bGwpO1xyXG4gIGdyb3VwQm9yZGVyZWQgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xyXG5cclxuICBvdmVycmlkZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByaXZhdGUgaW5wdXRHcm91cCA9IGluamVjdChYSW5wdXRHcm91cENvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5oZXJpdGVkVmFsdWUoKTtcclxuICAgIHRoaXMuc2V0RXZlbnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEV2ZW50KCkge1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudDtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2NvbXBvc2l0aW9uc3RhcnQnKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzQ29tcG9zaXRpb24uc2V0KHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2NvbXBvc2l0aW9uZW5kJylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0NvbXBvc2l0aW9uLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5pbnB1dENoZWNrVmFsdWUoeCk7XHJcbiAgICAgIH0pO1xyXG4gICAgZnJvbUV2ZW50KGlucHV0UmVmLCAnZm9jdXMnKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2JsdXInKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgICBmcm9tRXZlbnQ8SW5wdXRFdmVudD4oaW5wdXRSZWYsICdpbnB1dCcpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHg6IElucHV0RXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNDb21wb3NpdGlvbigpKSB7XHJcbiAgICAgICAgICB0aGlzLmlucHV0Q2hlY2tWYWx1ZSh4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSA9PT0gYiB8fCAoISF0aGlzLm1heGxlbmd0aCgpICYmIGAke2J9YC5sZW5ndGggPiBOdW1iZXIodGhpcy5tYXhsZW5ndGgoKSkpKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlKHgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGlucHV0Q2hlY2tWYWx1ZSh4OiBFdmVudCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSB4LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgbGV0IHZhbHVlID0gaW5wdXQudmFsdWU7XHJcbiAgICBpZiAodGhpcy50eXBlKCkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGlmICghWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgICAgY29uc3QgbGVuID0gWElzRW1wdHkodmFsdWUpID8gMCA6IGAke3ZhbHVlfWAubGVuZ3RoO1xyXG4gICAgICAgIGlmICh0aGlzLm1heGxlbmd0aCgpICYmIGxlbiA+IE51bWJlcih0aGlzLm1heGxlbmd0aCgpKSkge1xyXG4gICAgICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZS5zbGljZSgwLCB0aGlzLm1heGxlbmd0aCgpISk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghWElzRW1wdHkodGhpcy5taW4oKSkgJiYgTnVtYmVyKHZhbHVlKSA8PSB0aGlzLm1pbigpISkge1xyXG4gICAgICAgICAgaW5wdXQudmFsdWUgPSBgJHt0aGlzLm1pbigpIX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIVhJc0VtcHR5KHRoaXMubWF4KCkpICYmIE51bWJlcih2YWx1ZSkgPj0gdGhpcy5tYXgoKSEpIHtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gYCR7dGhpcy5tYXgoKSF9YDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMueElucHV0LmVtaXQoeCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQoaW5wdXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm1heGxlbmd0aCgpKSB7XHJcbiAgICAgIHRoaXMudmFsdWVMZW5ndGguc2V0KFhJc0VtcHR5KHZhbHVlKSA/IDAgOiBgJHt2YWx1ZX1gLmxlbmd0aCk7XHJcbiAgICAgIHRoaXMubGVuZ3RoVG90YWwuc2V0KGAke3RoaXMudmFsdWVMZW5ndGgoKX0vJHt0aGlzLm1heGxlbmd0aCgpfWApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UgJiYgIXRoaXMuaXNXcml0ZVZhbHVlKCkpIHtcclxuICAgICAgaWYgKHRoaXMudHlwZSgpID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIGlmIChbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWxpZGF0b3JDb21wdXRlZCgpICYmIFhJc0Z1bmN0aW9uKHRoaXMuaW5wdXRWYWxpZGF0b3IoKSkpIHtcclxuICAgICAgdGhpcy5pbnZhbGlkSW5wdXRWYWxpZGF0b3Iuc2V0KCF0aGlzLmlucHV0VmFsaWRhdG9yKCkhKHZhbHVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyKCkge1xyXG4gICAgY29uc3QgY2xlYXJWYWx1ZSA9IHRoaXMudmFsdWUoKTtcclxuICAgIHRoaXMudmFsdWUuc2V0KCcnKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKCkpO1xyXG4gICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMuY2xlYXJFbWl0LmVtaXQoY2xlYXJWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbmhlcml0ZWRWYWx1ZSgpIHtcclxuICAgIGlmICghdGhpcy5pbnB1dEdyb3VwKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc1VuZGVmaW5lZCh0aGlzLmlucHV0R3JvdXAuc2l6ZSgpKSkge1xyXG4gICAgICB0aGlzLmdyb3VwU2l6ZS5zZXQodGhpcy5pbnB1dEdyb3VwLnNpemUoKSEpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFYSXNVbmRlZmluZWQodGhpcy5pbnB1dEdyb3VwLmJvcmRlcmVkKCkpKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBCb3JkZXJlZC5zZXQodGhpcy5pbnB1dEdyb3VwLmJvcmRlcmVkKCkhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0Rm9jdXModHlwZTogJ2ZvY3VzJyB8ICdzZWxlY3QnIHwgJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJykge1xyXG4gICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSgpKSByZXR1cm47XHJcbiAgICBpZiAodHlwZSA9PT0gJ2FmdGVyJykge1xyXG4gICAgICB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLnZhbHVlKCkubGVuZ3RoLCB0aGlzLnZhbHVlKCkubGVuZ3RoKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2JlZm9yZScpIHtcclxuICAgICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgMCk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzZWxlY3QnKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRSZWYoKS5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIHRoaXMudmFsdWUoKS5sZW5ndGgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge31cclxufVxyXG4iLCI8ZGl2XHJcbiAgI2lucHV0RWxlbWVudFxyXG4gIGNsYXNzPVwieC1pbnB1dFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5KCkgfHwgYWxpZ24oKSB8fCBkaXJlY3Rpb24oKVwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRDb21wdXRlZCgpXCJcclxuICBbY2xhc3MueC1yZXF1aXJlZF09XCJyZXF1aXJlZElzRW1wdHkoKVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkKClcIlxyXG4gIFtjbGFzcy54LWNsZWFyYWJsZV09XCJjbGVhcmFibGUoKVwiXHJcbiAgW2NsYXNzLngtY2xlYXItc2hvd109XCJjbGVhclNob3coKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtaWNvbl09XCJnZXRJY29uKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWFjdGl2ZV09XCJhY3RpdmUoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtZm9jdXNdPVwiZm9jdXNlZCgpXCJcclxuICBbY2xhc3MueC1pbnB1dC1wb2ludGVyXT1cInBvaW50ZXIoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYm9yZGVyZWRdPVwiYm9yZGVyZWQoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtaWNvbi1sZWZ0XT1cImdldEljb25MYXlvdXRMZWZ0KClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWljb24tcmlnaHRdPVwiZ2V0SWNvbkxheW91dFJpZ2h0KClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWFmdGVyXT1cImFmdGVyKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWJlZm9yZV09XCJiZWZvcmUoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYWZ0ZXItdGVtcGxhdGVdPVwiYWZ0ZXJJc1RlbXBsYXRlKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWJlZm9yZS10ZW1wbGF0ZV09XCJiZWZvcmVJc1RlbXBsYXRlKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LXZhbHVlLXRlbXBsYXRlXT1cInZhbHVlVHBsKClcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwKClcIlxyXG4+XHJcbiAgQGlmIChsYWJlbCgpKSB7XHJcbiAgICA8bGFiZWxcclxuICAgICAgW2NsYXNzLngtaW5wdXQtbGFiZWwtcmVxdWlyZWRdPVwicmVxdWlyZWRDb21wdXRlZCgpXCJcclxuICAgICAgW3N0eWxlLndpZHRoXT1cImxhYmVsV2lkdGgoKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cImxhYmVsTWFwU2lnbmFsKClcIlxyXG4gICAgICA+e3sgbGFiZWwoKSB9fTwvbGFiZWxcclxuICAgID5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cIngtaW5wdXQtcm93XCI+XHJcbiAgICBAaWYgKGJlZm9yZSgpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWlucHV0LXJvdy1iZWZvcmVcIiBbY2xhc3MueC1pbnB1dC1yb3ctYmVmb3JlLXRlbXBsYXRlXT1cImJlZm9yZUlzVGVtcGxhdGUoKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJiZWZvcmUoKVwiPnt7IGJlZm9yZSgpIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGRpdiBjbGFzcz1cIngtaW5wdXQtaW5wdXRcIiAobW91c2VlbnRlcik9XCJ4TW91c2VlbnRlci5lbWl0KCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJ4TW91c2VsZWF2ZS5lbWl0KCRldmVudClcIj5cclxuICAgICAgQGlmICh2YWx1ZVRwbCgpKSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgI2lucHV0VmFsdWVSZWZcclxuICAgICAgICAgIGNsYXNzPVwieC1pbnB1dC12YWx1ZS10ZW1wbGF0ZS12YWx1ZVwiXHJcbiAgICAgICAgICBbc3R5bGUubGVmdF09XCJwYWRkaW5nTGVmdCgpXCJcclxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnRdPVwiMFwiXHJcbiAgICAgICAgICBbc3R5bGUucGFkZGluZy1yaWdodF09XCIwXCJcclxuICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRUZW1wbGF0ZVdpZHRoKClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZVRwbCgpITsgY29udGV4dDogdmFsdWVUcGxDb250ZXh0KCkgPyB2YWx1ZVRwbENvbnRleHQoKSA6IHsgJHZhbHVlOiB2YWx1ZSgpIH1cIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICNpbnB1dFJlZlxyXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgW2NsYXNzLngtaW5wdXQtaGFzLXZhbHVlLXRlbXBsYXRlXT1cInZhbHVlVHBsKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImlucHV0U3R5bGUoKVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkQ29tcHV0ZWQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkQ29tcHV0ZWQoKVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5KClcIlxyXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoKClcIlxyXG4gICAgICAgIFttaW5dPVwibWluKClcIlxyXG4gICAgICAgIFttYXhdPVwibWF4KClcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJwYWRkaW5nTGVmdCgpXCJcclxuICAgICAgICBbc3R5bGUucGFkZGluZy1yaWdodF09XCJwYWRkaW5nUmlnaHQoKVwiXHJcbiAgICAgICAgKGZvY3VzKT1cInhGb2N1cy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChibHVyKT1cInhCbHVyLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGtleWRvd24pPVwiZm9ybUNvbnRyb2xWYWxpZGF0b3IoKTsgeEtleWRvd24uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoY2xpY2spPVwieENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwieENvbXBvc2l0aW9uLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbXBvc2l0aW9uZW5kKT1cInhDb21wb3NpdGlvbi5lbWl0KCRldmVudClcIlxyXG4gICAgICAvPlxyXG4gICAgICBAaWYgKGNsZWFyU2hvdygpICYmICFpY29uU3BpbigpKSB7XHJcbiAgICAgICAgPHgtaWNvbiBjbGFzcz1cIngtaW5wdXQtY2xlYXJcIiB0eXBlPVwiZnRvLXhcIiAoY2xpY2spPVwib25DbGVhcigpXCI+PC94LWljb24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpY29uKCkgJiYgKCghY2xlYXJTaG93KCkgJiYgZ2V0SWNvbkxheW91dFJpZ2h0KCkpIHx8IGdldEljb25MYXlvdXRMZWZ0KCkgfHwgaWNvblNwaW4oKSkpIHtcclxuICAgICAgICA8eC1pY29uIFt0eXBlXT1cImljb24oKVwiIFtzcGluXT1cImljb25TcGluKClcIiAoY2xpY2spPVwieENsaWNrLmVtaXQoJGV2ZW50KVwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAobWF4bGVuZ3RoKCkgJiYgbGVuZ3RoVG90YWwoKSkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwieC1pbnB1dC1tYXgtbGVuZ3RoXCIgW3N0eWxlLndpZHRoXT1cImdldE1heExlbmd0aFdpZHRoKClcIj57eyBsZW5ndGhUb3RhbCgpIH19PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoaW52YWxpZCgpKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LWlucHV0LWVycm9yLW1lc3NhZ2VcIj57eyBpbnZhbGlkTWVzc2FnZSgpIH19PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAocmVxdWlyZWRJc0VtcHR5KCkgfHwgaW52YWxpZCgpKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtdG9wLWxlZnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC10b3AtcmlnaHRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC1ib3R0b20tbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LWJvdHRvbS1yaWdodFwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoYWZ0ZXIoKSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1pbnB1dC1yb3ctYWZ0ZXJcIiBbY2xhc3MueC1pbnB1dC1yb3ctYWZ0ZXItdGVtcGxhdGVdPVwiYWZ0ZXJJc1RlbXBsYXRlKClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiYWZ0ZXIoKVwiPnt7IGFmdGVyKCkgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBWXRELE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFWbkQ7O1FBV0UsaUJBQVksR0FBRyxT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QUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLGlCQUdsRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxpQkFBaUIsQ0FBQzs4QkFRWixRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBUZW1wbGF0ZVJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBpbmplY3QsXHJcbiAgdmlld0NoaWxkLFxyXG4gIHNpZ25hbCxcclxuICBjb21wdXRlZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRQcmVmaXgsIFhJbnB1dFByb3BlcnR5IH0gZnJvbSAnLi9pbnB1dC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYSXNVbmRlZmluZWQsIFhJc0Z1bmN0aW9uLCBYU2l6ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYSW5wdXRQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgWEljb25Db21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhJbnB1dENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBYSW5wdXRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaW5wdXRFbGVtZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xyXG4gIGlucHV0UmVmID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB9KTtcclxuICBpbnB1dFZhbHVlUmVmID0gdmlld0NoaWxkKCdpbnB1dFZhbHVlUmVmJywgeyByZWFkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB9KTtcclxuICBtYXhMZW5ndGhSZWYgPSB2aWV3Q2hpbGQoJ21heExlbmd0aFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBnZXQgZ2V0V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53aWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XHJcbiAgICB0aGlzLmlzV3JpdGVWYWx1ZS5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICAgdGhpcy5pc1dyaXRlVmFsdWUuc2V0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGNsYXNzTWFwID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgJHtYSW5wdXRQcmVmaXh9LSR7dGhpcy5zaXplKCl9YF06ICEhdGhpcy5zaXplKCksXHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeSgpfWBdOiAhIXRoaXMuanVzdGlmeSgpLFxyXG4gICAgW2B4LWFsaWduLSR7dGhpcy5hbGlnbigpfWBdOiAhIXRoaXMuYWxpZ24oKSxcclxuICAgIFtgeC1kaXJlY3Rpb24tJHt0aGlzLmRpcmVjdGlvbigpfWBdOiAhIXRoaXMuZGlyZWN0aW9uKClcclxuICB9KSk7XHJcbiAgbGFiZWxNYXBTaWduYWwgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ24oKX1gXTogISF0aGlzLmxhYmVsQWxpZ24oKVxyXG4gIH0pKTtcclxuXHJcbiAgdmFsdWVMZW5ndGggPSBzaWduYWwoMCk7XHJcbiAgbGVuZ3RoVG90YWwgPSBzaWduYWwoJycpO1xyXG4gIHBhZGRpbmdMZWZ0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWF4bGVuZ3RoKCkgJiYgdGhpcy5pY29uKCkgJiYgdGhpcy5pY29uTGF5b3V0KCkgPT09ICdyaWdodCdcclxuICAgICAgPyAodGhpcy5sZW5ndGhUb3RhbCgpLmxlbmd0aCArIDIpICogMC41ICsgJ3JlbSdcclxuICAgICAgOiB0aGlzLmljb24oKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyB0aGlzLmlucHV0SWNvblBhZGRpbmcoKVxyXG4gICAgICAgIDogdGhpcy5pbnB1dFBhZGRpbmcoKTtcclxuICB9KTtcclxuICBwYWRkaW5nUmlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXhsZW5ndGgoKSAmJiB0aGlzLmljb24oKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ2xlZnQnXHJcbiAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwoKS5sZW5ndGggKyAyKSAqIDAuNSArICdyZW0nXHJcbiAgICAgIDogKCh0aGlzLmljb24oKSB8fCB0aGlzLmNsZWFyU2hvdygpKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ3JpZ2h0JykgfHxcclxuICAgICAgICAgICh0aGlzLmNsZWFyU2hvdygpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAnbGVmdCcpXHJcbiAgICAgICAgPyB0aGlzLmlucHV0SWNvblBhZGRpbmcoKVxyXG4gICAgICAgIDogdGhpcy5tYXhsZW5ndGgoKSAmJiAhdGhpcy5pY29uKClcclxuICAgICAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwoKS5sZW5ndGggKyAyKSAqIDAuNSArICdyZW0nXHJcbiAgICAgICAgICA6IHRoaXMuaW5wdXRQYWRkaW5nKCk7XHJcbiAgfSk7XHJcbiAgY2xlYXJTaG93ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuY2xlYXJhYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWRDb21wdXRlZCgpKSB7XHJcbiAgICAgIHJldHVybiAhWElzRW1wdHkodGhpcy52YWx1ZSgpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9KTtcclxuICB2YWx1ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBpc0NvbXBvc2l0aW9uID0gc2lnbmFsKGZhbHNlKTtcclxuICBpc1dyaXRlVmFsdWUgPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgZ2V0SWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpO1xyXG4gIH0pO1xyXG5cclxuICBnZXRJY29uTGF5b3V0TGVmdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAnbGVmdCc7XHJcbiAgfSk7XHJcblxyXG4gIGdldEljb25MYXlvdXRSaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAncmlnaHQnO1xyXG4gIH0pO1xyXG5cclxuICBnZXRNYXhMZW5ndGhXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLmdldEljb25MYXlvdXRSaWdodCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBhZGRpbmdMZWZ0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWRkaW5nUmlnaHQoKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgYmVmb3JlSXNUZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYmVmb3JlKCkgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZik7XHJcbiAgYWZ0ZXJJc1RlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hZnRlcigpIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpO1xyXG5cclxuICBnZXRUZW1wbGF0ZVdpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMucGFkZGluZ0xlZnQoKX0gLSAke3RoaXMucGFkZGluZ1JpZ2h0KCl9KWA7XHJcbiAgfSk7XHJcblxyXG4gIGZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGdyb3VwU2l6ZSA9IHNpZ25hbDxYU2l6ZSB8IG51bGw+KG51bGwpO1xyXG4gIGdyb3VwQm9yZGVyZWQgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xyXG5cclxuICBvdmVycmlkZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByaXZhdGUgaW5wdXRHcm91cCA9IGluamVjdChYSW5wdXRHcm91cENvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5oZXJpdGVkVmFsdWUoKTtcclxuICAgIHRoaXMuc2V0RXZlbnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEV2ZW50KCkge1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudDtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2NvbXBvc2l0aW9uc3RhcnQnKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzQ29tcG9zaXRpb24uc2V0KHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2NvbXBvc2l0aW9uZW5kJylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0NvbXBvc2l0aW9uLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5pbnB1dENoZWNrVmFsdWUoeCk7XHJcbiAgICAgIH0pO1xyXG4gICAgZnJvbUV2ZW50KGlucHV0UmVmLCAnZm9jdXMnKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2JsdXInKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgICBmcm9tRXZlbnQ8SW5wdXRFdmVudD4oaW5wdXRSZWYsICdpbnB1dCcpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHg6IElucHV0RXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNDb21wb3NpdGlvbigpKSB7XHJcbiAgICAgICAgICB0aGlzLmlucHV0Q2hlY2tWYWx1ZSh4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSA9PT0gYiB8fCAoISF0aGlzLm1heGxlbmd0aCgpICYmIGAke2J9YC5sZW5ndGggPiBOdW1iZXIodGhpcy5tYXhsZW5ndGgoKSkpKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlKHgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGlucHV0Q2hlY2tWYWx1ZSh4OiBFdmVudCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSB4LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgbGV0IHZhbHVlID0gaW5wdXQudmFsdWU7XHJcbiAgICBpZiAodGhpcy50eXBlKCkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGlmICghWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgICAgY29uc3QgbGVuID0gWElzRW1wdHkodmFsdWUpID8gMCA6IGAke3ZhbHVlfWAubGVuZ3RoO1xyXG4gICAgICAgIGlmICh0aGlzLm1heGxlbmd0aCgpICYmIGxlbiA+IE51bWJlcih0aGlzLm1heGxlbmd0aCgpKSkge1xyXG4gICAgICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZS5zbGljZSgwLCB0aGlzLm1heGxlbmd0aCgpISk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghWElzRW1wdHkodGhpcy5taW4oKSkgJiYgTnVtYmVyKHZhbHVlKSA8PSB0aGlzLm1pbigpISkge1xyXG4gICAgICAgICAgaW5wdXQudmFsdWUgPSBgJHt0aGlzLm1pbigpIX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIVhJc0VtcHR5KHRoaXMubWF4KCkpICYmIE51bWJlcih2YWx1ZSkgPj0gdGhpcy5tYXgoKSEpIHtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gYCR7dGhpcy5tYXgoKSF9YDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMueElucHV0LmVtaXQoeCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQoaW5wdXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm1heGxlbmd0aCgpKSB7XHJcbiAgICAgIHRoaXMudmFsdWVMZW5ndGguc2V0KFhJc0VtcHR5KHZhbHVlKSA/IDAgOiBgJHt2YWx1ZX1gLmxlbmd0aCk7XHJcbiAgICAgIHRoaXMubGVuZ3RoVG90YWwuc2V0KGAke3RoaXMudmFsdWVMZW5ndGgoKX0vJHt0aGlzLm1heGxlbmd0aCgpfWApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UgJiYgIXRoaXMuaXNXcml0ZVZhbHVlKCkpIHtcclxuICAgICAgaWYgKHRoaXMudHlwZSgpID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIGlmIChbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWxpZGF0b3JDb21wdXRlZCgpICYmIFhJc0Z1bmN0aW9uKHRoaXMuaW5wdXRWYWxpZGF0b3IoKSkpIHtcclxuICAgICAgdGhpcy5pbnZhbGlkSW5wdXRWYWxpZGF0b3Iuc2V0KCF0aGlzLmlucHV0VmFsaWRhdG9yKCkhKHZhbHVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyKCkge1xyXG4gICAgY29uc3QgY2xlYXJWYWx1ZSA9IHRoaXMudmFsdWUoKTtcclxuICAgIHRoaXMudmFsdWUuc2V0KCcnKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKCkpO1xyXG4gICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMuY2xlYXJFbWl0LmVtaXQoY2xlYXJWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbmhlcml0ZWRWYWx1ZSgpIHtcclxuICAgIGlmICghdGhpcy5pbnB1dEdyb3VwKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc1VuZGVmaW5lZCh0aGlzLmlucHV0R3JvdXAuc2l6ZSgpKSkge1xyXG4gICAgICB0aGlzLmdyb3VwU2l6ZS5zZXQodGhpcy5pbnB1dEdyb3VwLnNpemUoKSEpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFYSXNVbmRlZmluZWQodGhpcy5pbnB1dEdyb3VwLmJvcmRlcmVkKCkpKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBCb3JkZXJlZC5zZXQodGhpcy5pbnB1dEdyb3VwLmJvcmRlcmVkKCkhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0Rm9jdXModHlwZTogJ2ZvY3VzJyB8ICdzZWxlY3QnIHwgJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJykge1xyXG4gICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSgpKSByZXR1cm47XHJcbiAgICBpZiAodHlwZSA9PT0gJ2FmdGVyJykge1xyXG4gICAgICB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLnZhbHVlKCkubGVuZ3RoLCB0aGlzLnZhbHVlKCkubGVuZ3RoKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2JlZm9yZScpIHtcclxuICAgICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgMCk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzZWxlY3QnKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRSZWYoKS5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIHRoaXMudmFsdWUoKS5sZW5ndGgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge31cclxufVxyXG4iLCI8ZGl2XHJcbiAgI2lucHV0RWxlbWVudFxyXG4gIGNsYXNzPVwieC1pbnB1dFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5KCkgfHwgYWxpZ24oKSB8fCBkaXJlY3Rpb24oKVwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRDb21wdXRlZCgpXCJcclxuICBbY2xhc3MueC1yZXF1aXJlZF09XCJyZXF1aXJlZElzRW1wdHkoKVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkKClcIlxyXG4gIFtjbGFzcy54LWNsZWFyYWJsZV09XCJjbGVhcmFibGUoKVwiXHJcbiAgW2NsYXNzLngtY2xlYXItc2hvd109XCJjbGVhclNob3coKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtaWNvbl09XCJnZXRJY29uKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWFjdGl2ZV09XCJhY3RpdmUoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtZm9jdXNdPVwiZm9jdXNlZCgpXCJcclxuICBbY2xhc3MueC1pbnB1dC1wb2ludGVyXT1cInBvaW50ZXIoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYm9yZGVyZWRdPVwiYm9yZGVyZWQoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtaWNvbi1sZWZ0XT1cImdldEljb25MYXlvdXRMZWZ0KClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWljb24tcmlnaHRdPVwiZ2V0SWNvbkxheW91dFJpZ2h0KClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWFmdGVyXT1cImFmdGVyKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWJlZm9yZV09XCJiZWZvcmUoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYWZ0ZXItdGVtcGxhdGVdPVwiYWZ0ZXJJc1RlbXBsYXRlKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LWJlZm9yZS10ZW1wbGF0ZV09XCJiZWZvcmVJc1RlbXBsYXRlKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LXZhbHVlLXRlbXBsYXRlXT1cInZhbHVlVHBsKClcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwKClcIlxyXG4+XHJcbiAgQGlmIChsYWJlbCgpKSB7XHJcbiAgICA8bGFiZWxcclxuICAgICAgW2NsYXNzLngtaW5wdXQtbGFiZWwtcmVxdWlyZWRdPVwicmVxdWlyZWRDb21wdXRlZCgpXCJcclxuICAgICAgW3N0eWxlLndpZHRoXT1cImxhYmVsV2lkdGgoKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cImxhYmVsTWFwU2lnbmFsKClcIlxyXG4gICAgICA+e3sgbGFiZWwoKSB9fTwvbGFiZWxcclxuICAgID5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cIngtaW5wdXQtcm93XCI+XHJcbiAgICBAaWYgKGJlZm9yZSgpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWlucHV0LXJvdy1iZWZvcmVcIiBbY2xhc3MueC1pbnB1dC1yb3ctYmVmb3JlLXRlbXBsYXRlXT1cImJlZm9yZUlzVGVtcGxhdGUoKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJiZWZvcmUoKVwiPnt7IGJlZm9yZSgpIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGRpdiBjbGFzcz1cIngtaW5wdXQtaW5wdXRcIiAobW91c2VlbnRlcik9XCJ4TW91c2VlbnRlci5lbWl0KCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJ4TW91c2VsZWF2ZS5lbWl0KCRldmVudClcIj5cclxuICAgICAgQGlmICh2YWx1ZVRwbCgpKSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgI2lucHV0VmFsdWVSZWZcclxuICAgICAgICAgIGNsYXNzPVwieC1pbnB1dC12YWx1ZS10ZW1wbGF0ZS12YWx1ZVwiXHJcbiAgICAgICAgICBbc3R5bGUubGVmdF09XCJwYWRkaW5nTGVmdCgpXCJcclxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnRdPVwiMFwiXHJcbiAgICAgICAgICBbc3R5bGUucGFkZGluZy1yaWdodF09XCIwXCJcclxuICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRUZW1wbGF0ZVdpZHRoKClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKnhPdXRsZXQ9XCJ2YWx1ZVRwbCgpITsgY29udGV4dDogdmFsdWVUcGxDb250ZXh0KCkgPyB2YWx1ZVRwbENvbnRleHQoKSA6IHsgJHZhbHVlOiB2YWx1ZSgpIH1cIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICNpbnB1dFJlZlxyXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgY2xhc3M9XCJ4LWlucHV0LWZyYW1lXCJcclxuICAgICAgICBbY2xhc3MueC1pbnB1dC1oYXMtdmFsdWUtdGVtcGxhdGVdPVwiISF2YWx1ZVRwbCgpXCJcclxuICAgICAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlKClcIlxyXG4gICAgICAgIFt0eXBlXT1cInR5cGUoKVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZENvbXB1dGVkKClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZENvbXB1dGVkKClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcclxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aCgpXCJcclxuICAgICAgICBbbWluXT1cIm1pbigpXCJcclxuICAgICAgICBbbWF4XT1cIm1heCgpXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5uZXh0KCRldmVudClcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnRdPVwicGFkZGluZ0xlZnQoKVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHRdPVwicGFkZGluZ1JpZ2h0KClcIlxyXG4gICAgICAgIChmb2N1cyk9XCJ4Rm9jdXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoYmx1cik9XCJ4Qmx1ci5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChrZXlkb3duKT1cImZvcm1Db250cm9sVmFsaWRhdG9yKCk7IHhLZXlkb3duLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cInhDb21wb3NpdGlvbi5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChjb21wb3NpdGlvbmVuZCk9XCJ4Q29tcG9zaXRpb24uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgICAgQGlmIChjbGVhclNob3coKSAmJiAhaWNvblNwaW4oKSkge1xyXG4gICAgICAgIDx4LWljb24gY2xhc3M9XCJ4LWlucHV0LWNsZWFyXCIgdHlwZT1cImZ0by14XCIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoaWNvbigpICYmICgoIWNsZWFyU2hvdygpICYmIGdldEljb25MYXlvdXRSaWdodCgpKSB8fCBnZXRJY29uTGF5b3V0TGVmdCgpIHx8IGljb25TcGluKCkpKSB7XHJcbiAgICAgICAgPHgtaWNvbiBbdHlwZV09XCJpY29uKClcIiBbc3Bpbl09XCJpY29uU3BpbigpXCIgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIj48L3gtaWNvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKG1heGxlbmd0aCgpICYmIGxlbmd0aFRvdGFsKCkpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cIngtaW5wdXQtbWF4LWxlbmd0aFwiIFtzdHlsZS53aWR0aF09XCJnZXRNYXhMZW5ndGhXaWR0aCgpXCI+e3sgbGVuZ3RoVG90YWwoKSB9fTwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGludmFsaWQoKSkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwieC1pbnB1dC1lcnJvci1tZXNzYWdlXCI+e3sgaW52YWxpZE1lc3NhZ2UoKSB9fTwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHJlcXVpcmVkSXNFbXB0eSgpIHx8IGludmFsaWQoKSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LXRvcC1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtdG9wLXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtYm90dG9tLWxlZnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC1ib3R0b20tcmlnaHRcIj48L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKGFmdGVyKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIngtaW5wdXQtcm93LWFmdGVyXCIgW2NsYXNzLngtaW5wdXQtcm93LWFmdGVyLXRlbXBsYXRlXT1cImFmdGVySXNUZW1wbGF0ZSgpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImFmdGVyKClcIj57eyBhZnRlcigpIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19