@ultraviolet/ui 1.75.3 → 1.76.0

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 (154) hide show
  1. package/dist/components/ActionBar/index.cjs +6 -5
  2. package/dist/components/ActionBar/index.js +6 -5
  3. package/dist/components/AvatarV2/constants.cjs +8 -7
  4. package/dist/components/AvatarV2/constants.d.ts +6 -5
  5. package/dist/components/AvatarV2/constants.js +9 -8
  6. package/dist/components/AvatarV2/index.cjs +19 -15
  7. package/dist/components/AvatarV2/index.js +20 -16
  8. package/dist/components/AvatarV2/types.d.ts +2 -2
  9. package/dist/components/Badge/index.cjs +12 -16
  10. package/dist/components/Badge/index.d.ts +3 -3
  11. package/dist/components/Badge/index.js +12 -16
  12. package/dist/components/Banner/assets/default-image-small.svg.cjs +1 -1
  13. package/dist/components/Banner/assets/default-image-small.svg.js +1 -1
  14. package/dist/components/Banner/assets/default-image.svg.cjs +1 -1
  15. package/dist/components/Banner/assets/default-image.svg.js +1 -1
  16. package/dist/components/BarChart/Tooltip.cjs +13 -3
  17. package/dist/components/BarChart/Tooltip.js +13 -3
  18. package/dist/components/BarStack/index.cjs +12 -6
  19. package/dist/components/BarStack/index.js +12 -6
  20. package/dist/components/Breadcrumbs/components/Item.cjs +52 -0
  21. package/dist/components/Breadcrumbs/components/Item.d.ts +13 -0
  22. package/dist/components/Breadcrumbs/components/Item.js +50 -0
  23. package/dist/components/Breadcrumbs/constants.cjs +4 -0
  24. package/dist/components/Breadcrumbs/constants.d.ts +1 -0
  25. package/dist/components/Breadcrumbs/constants.js +4 -0
  26. package/dist/components/Breadcrumbs/index.cjs +13 -59
  27. package/dist/components/Breadcrumbs/index.d.ts +2 -17
  28. package/dist/components/Breadcrumbs/index.js +13 -59
  29. package/dist/components/Bullet/index.cjs +16 -11
  30. package/dist/components/Bullet/index.d.ts +1 -6
  31. package/dist/components/Bullet/index.js +16 -11
  32. package/dist/components/Button/index.cjs +10 -9
  33. package/dist/components/Button/index.d.ts +4 -4
  34. package/dist/components/Button/index.js +10 -9
  35. package/dist/components/Card/index.cjs +2 -2
  36. package/dist/components/Card/index.js +2 -2
  37. package/dist/components/Checkbox/index.cjs +24 -23
  38. package/dist/components/Checkbox/index.js +24 -23
  39. package/dist/components/DateInput/index.cjs +22 -6
  40. package/dist/components/DateInput/index.js +22 -6
  41. package/dist/components/Dialog/index.cjs +2 -2
  42. package/dist/components/Dialog/index.js +2 -2
  43. package/dist/components/EmptyState/index.cjs +30 -18
  44. package/dist/components/EmptyState/index.d.ts +3 -3
  45. package/dist/components/EmptyState/index.js +30 -18
  46. package/dist/components/GlobalAlert/index.cjs +7 -3
  47. package/dist/components/GlobalAlert/index.js +7 -3
  48. package/dist/components/LineChart/CustomLegend.cjs +8 -16
  49. package/dist/components/LineChart/CustomLegend.js +8 -16
  50. package/dist/components/LineChart/Tooltip.cjs +13 -3
  51. package/dist/components/LineChart/Tooltip.js +13 -3
  52. package/dist/components/List/Cell.cjs +3 -12
  53. package/dist/components/List/Cell.js +3 -12
  54. package/dist/components/Loader/index.cjs +6 -4
  55. package/dist/components/Loader/index.js +6 -4
  56. package/dist/components/MenuV2/Item.cjs +6 -6
  57. package/dist/components/MenuV2/Item.js +6 -6
  58. package/dist/components/MenuV2/index.cjs +5 -4
  59. package/dist/components/MenuV2/index.d.ts +2 -1
  60. package/dist/components/MenuV2/index.js +5 -4
  61. package/dist/components/Meter/index.cjs +3 -5
  62. package/dist/components/Meter/index.js +3 -5
  63. package/dist/components/Modal/components/Dialog.cjs +5 -5
  64. package/dist/components/Modal/components/Dialog.js +5 -5
  65. package/dist/components/Modal/constants.cjs +7 -6
  66. package/dist/components/Modal/constants.js +7 -6
  67. package/dist/components/Notification/index.cjs +1 -1
  68. package/dist/components/Notification/index.js +1 -1
  69. package/dist/components/NumberInputV2/index.cjs +33 -12
  70. package/dist/components/NumberInputV2/index.d.ts +3 -3
  71. package/dist/components/NumberInputV2/index.js +33 -12
  72. package/dist/components/PieChart/Legends.cjs +18 -20
  73. package/dist/components/PieChart/Legends.js +18 -20
  74. package/dist/components/PieChart/index.cjs +7 -22
  75. package/dist/components/PieChart/index.js +7 -22
  76. package/dist/components/Popover/index.cjs +11 -9
  77. package/dist/components/Popover/index.d.ts +2 -1
  78. package/dist/components/Popover/index.js +11 -9
  79. package/dist/components/Popup/helpers.cjs +15 -13
  80. package/dist/components/Popup/helpers.d.ts +3 -1
  81. package/dist/components/Popup/helpers.js +15 -13
  82. package/dist/components/Popup/index.cjs +8 -6
  83. package/dist/components/Popup/index.d.ts +5 -1
  84. package/dist/components/Popup/index.js +8 -6
  85. package/dist/components/ProgressBar/index.cjs +6 -4
  86. package/dist/components/ProgressBar/index.js +6 -4
  87. package/dist/components/Radio/index.cjs +23 -12
  88. package/dist/components/Radio/index.js +23 -12
  89. package/dist/components/SearchInput/Key.cjs +6 -2
  90. package/dist/components/SearchInput/Key.js +6 -2
  91. package/dist/components/SearchInput/index.cjs +3 -3
  92. package/dist/components/SearchInput/index.js +3 -3
  93. package/dist/components/SelectInputV2/Dropdown.cjs +31 -20
  94. package/dist/components/SelectInputV2/Dropdown.d.ts +1 -1
  95. package/dist/components/SelectInputV2/Dropdown.js +31 -20
  96. package/dist/components/SelectInputV2/SelectBar.cjs +15 -16
  97. package/dist/components/SelectInputV2/SelectBar.js +15 -16
  98. package/dist/components/SelectInputV2/SelectInputProvider.cjs +1 -1
  99. package/dist/components/SelectInputV2/SelectInputProvider.js +1 -1
  100. package/dist/components/SelectInputV2/index.cjs +3 -3
  101. package/dist/components/SelectInputV2/index.d.ts +1 -1
  102. package/dist/components/SelectInputV2/index.js +3 -3
  103. package/dist/components/SelectInputV2/types.cjs +4 -3
  104. package/dist/components/SelectInputV2/types.d.ts +3 -3
  105. package/dist/components/SelectInputV2/types.js +4 -3
  106. package/dist/components/SelectableCard/index.cjs +14 -14
  107. package/dist/components/SelectableCard/index.js +14 -14
  108. package/dist/components/Skeleton/Block.cjs +3 -3
  109. package/dist/components/Skeleton/Block.js +3 -3
  110. package/dist/components/Skeleton/BoxWithIcon.cjs +3 -3
  111. package/dist/components/Skeleton/BoxWithIcon.js +3 -3
  112. package/dist/components/Skeleton/Donut.cjs +7 -13
  113. package/dist/components/Skeleton/Donut.js +7 -13
  114. package/dist/components/Skeleton/Line.cjs +4 -2
  115. package/dist/components/Skeleton/Line.js +4 -2
  116. package/dist/components/Skeleton/List.cjs +9 -11
  117. package/dist/components/Skeleton/List.js +9 -11
  118. package/dist/components/Skeleton/Slider.cjs +4 -4
  119. package/dist/components/Skeleton/Slider.js +4 -4
  120. package/dist/components/Slider/components/DoubleSlider.cjs +10 -17
  121. package/dist/components/Slider/components/DoubleSlider.js +10 -17
  122. package/dist/components/StepList/index.cjs +8 -4
  123. package/dist/components/StepList/index.js +8 -4
  124. package/dist/components/SwitchButton/index.cjs +9 -4
  125. package/dist/components/SwitchButton/index.js +9 -4
  126. package/dist/components/Table/Cell.cjs +4 -2
  127. package/dist/components/Table/Cell.js +4 -2
  128. package/dist/components/Table/Row.cjs +5 -3
  129. package/dist/components/Table/Row.js +5 -3
  130. package/dist/components/Table/constants.cjs +2 -2
  131. package/dist/components/Table/constants.d.ts +2 -2
  132. package/dist/components/Table/constants.js +2 -2
  133. package/dist/components/Table/index.cjs +4 -2
  134. package/dist/components/Table/index.js +4 -2
  135. package/dist/components/Tabs/index.cjs +3 -3
  136. package/dist/components/Tabs/index.js +3 -3
  137. package/dist/components/Tag/index.cjs +12 -16
  138. package/dist/components/Tag/index.js +12 -16
  139. package/dist/components/TagList/index.cjs +9 -3
  140. package/dist/components/TagList/index.js +9 -3
  141. package/dist/components/TextInputV2/index.cjs +13 -11
  142. package/dist/components/TextInputV2/index.d.ts +3 -3
  143. package/dist/components/TextInputV2/index.js +13 -11
  144. package/dist/components/Toaster/index.cjs +2 -2
  145. package/dist/components/Toaster/index.js +2 -2
  146. package/dist/components/Toggle/index.cjs +31 -23
  147. package/dist/components/Toggle/index.d.ts +6 -6
  148. package/dist/components/Toggle/index.js +31 -23
  149. package/dist/components/UnitInput/index.cjs +16 -9
  150. package/dist/components/UnitInput/index.d.ts +1 -1
  151. package/dist/components/UnitInput/index.js +16 -9
  152. package/dist/components/VerificationCode/index.cjs +16 -14
  153. package/dist/components/VerificationCode/index.js +16 -14
  154. package/package.json +8 -7
@@ -40,7 +40,7 @@ const StyledPopup = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "pro
40
40
  positions,
41
41
  reverseAnimation,
42
42
  animationDuration
43
- }) => /* @__PURE__ */ css(animationDuration, "ms ", !reverseAnimation ? animation(positions) : exitAnimation(positions), " forwards;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledPopup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RTRFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRQb3B1cCA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnbWF4V2lkdGgnLFxuICAgICAgJ3Bvc2l0aW9ucycsXG4gICAgICAncmV2ZXJzZUFuaW1hdGlvbicsXG4gICAgICAnbWF4SGVpZ2h0JyxcbiAgICAgICdhbmltYXRpb25EdXJhdGlvbicsXG4gICAgICAnaXNEaWFsb2cnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRQb3B1cFByb3BzPmBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0U3Ryb25nZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAkeyh7IG1heFdpZHRoIH0pID0+XG4gICAgdHlwZW9mIG1heFdpZHRoID09PSAnbnVtYmVyJyA/IGAke21heFdpZHRofXB4YCA6IG1heFdpZHRofTtcbiAgbWF4LWhlaWdodDogJHsoeyBtYXhIZWlnaHQgfSkgPT5cbiAgICB0eXBlb2YgbWF4SGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke21heEhlaWdodH1weGAgOiBtYXhIZWlnaHR9O1xuICBvdmVyZmxvdzogJHsoeyBtYXhIZWlnaHQgfSkgPT4gKG1heEhlaWdodCA/ICdhdXRvJyA6IHVuZGVmaW5lZCl9O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucG9wdXBQb3NpdGlvbn07XG5cbiAgJltkYXRhLWFuaW1hdGVkPVwidHJ1ZVwiXSB7XG4gICAgYW5pbWF0aW9uOiAkeyh7IHBvc2l0aW9ucywgcmV2ZXJzZUFuaW1hdGlvbiwgYW5pbWF0aW9uRHVyYXRpb24gfSkgPT4gY3NzYFxuICAgICAgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAhcmV2ZXJzZUFuaW1hdGlvbiA/IGFuaW1hdGlvbihwb3NpdGlvbnMpIDogZXhpdEFuaW1hdGlvbihwb3NpdGlvbnMpXG4gICAgICB9IGZvcndhcmRzXG4gICAgYH07XG4gIH1cblxuICAmW2RhdGEtaGFzLWFycm93PVwidHJ1ZVwiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RvcH1weDtcbiAgICAgIGxlZnQ6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd0xlZnR9cHg7XG4gICAgICB0cmFuc2Zvcm06ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RyYW5zZm9ybX1cbiAgICAgICAgcm90YXRlKCR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5yb3RhdGV9ZGVnKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAke0RFRkFVTFRfQVJST1dfV0lEVEh9cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlcn1cbiAgICAgICAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmlzaWJsZS1pbi1kb209XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBTdHlsZWRDaGlsZHJlbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgJltkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPVwidHJ1ZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbmBcblxudHlwZSBQb3B1cFByb3BzID0ge1xuICAvKipcbiAgICogSWQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHNldC4gSXQgaXMgdXNlZCBmb3IgYXNzb2NpYXRpbmcgcG9wdXAgd3JhcHBlciB3aXRoIHBvcHVwIHBvcnRhbC5cbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIGNoaWxkcmVuOlxuICAgIHwgUmVhY3ROb2RlXG4gICAgfCAoKHJlbmRlclByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgICAgICBvbkJsdXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Gb2N1czogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJFbnRlcjogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogKCkgPT4gdm9pZFxuICAgICAgICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbiAgICAgIH0pID0+IFJlYWN0Tm9kZSlcbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIGBhdXRvYCBwbGFjZW1lbnQgd2lsbCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBpZiBpdCBkb2Vzbid0IGZpdCBpbiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwbGFjZW1lbnQ/OiBQb3B1cFBsYWNlbWVudFxuICAvKipcbiAgICogQ29udGVudCBvZiB0aGUgcG9wdXAsIHByZWZlcmFibHkgdGV4dCBpbnNpZGUuXG4gICAqL1xuICB0ZXh0PzogUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogSXQgd2lsbCBhZGQgYHdpZHRoOiAxMDAlYCB0byB0aGUgcG9wdXAgY29udGFpbmVyLlxuICAgKi9cbiAgY29udGFpbmVyRnVsbFdpZHRoPzogYm9vbGVhblxuICAvKipcbiAgICogSXQgd2lsbCBmb3JjZSBkaXNwbGF5IHBvcHVwLiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IG5lZWQgdG8gYWx3YXlzIGRpc3BsYXkgdGhlIHBvcHVwIHdpdGhvdXQgaG92ZXIgbmVlZGVkLlxuICAgKi9cbiAgdmlzaWJsZT86IGJvb2xlYW5cbiAgaW5uZXJSZWY/OiBSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICByb2xlPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgaGFzQXJyb3c/OiBib29sZWFuXG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIHRhYkluZGV4PzogbnVtYmVyXG4gIG9uS2V5RG93bj86IEtleWJvYXJkRXZlbnRIYW5kbGVyXG4gICdhcmlhLWhhc3BvcHVwJz86IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PlsnYXJpYS1oYXNwb3B1cCddXG4gIGhpZGVPbkNsaWNrT3V0c2lkZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgZGVib3VuY2VUaW1lIHRvIGZhbHNlLCB0aGUgcG9wdXAgd2lsbCBub3QgZGVib3VuY2UgdGhlIGhvdmVyIGV2ZW50IGFuZCB3aWxsIGJlIGRpc3BsYXllZCBpbnN0YW50bHkuXG4gICAqIElmIHNldCB0byAwIGl0IHdpbGwgZGlzYWJsZSBkZWJvdW5jZS5cbiAgICovXG4gIGRlYm91bmNlRGVsYXk/OiBudW1iZXJcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgYSBtYXggaGVpZ2h0IGtlZXAgaW4gbWluZCB0aGF0IHRoZSBhbmltYXRpb24gaXMgZGlzYWJsZWQsIG9yIGl0IHdpbGwgbm90IHdvcmsgcHJvcGVybHkgb24gc29tZSBicm93c2Vycy5cbiAgICovXG4gIG1heEhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICAvKipcbiAgICogV2lsbCByZW1vdmUgdGhlIGFuaW1hdGlvbiBvbiB0aGUgcG9wdXAgaWYgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgZGlzYWJsZUFuaW1hdGlvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBwb3J0YWwgdGFyZ2V0IGlzIGNoaWxkcmVuIGNvbnRhaW5lciBvciBkb2N1bWVudC5ib2R5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24uIFlvdSBjYW4gb3ZlcnJpZGUgdGhpc1xuICAgKiBiZWhhdmlvciBieSBzZXR0aW5nIGEgcG9ydGFsVGFyZ2V0IHByb3AuXG4gICAqL1xuICBwb3J0YWxUYXJnZXQ/OiBIVE1MRWxlbWVudFxuICAvKipcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRydWUsIHRoZSBwb3B1cCB3aWxsIGJlIHJlbmRlcmVkIGluIHRoZSBET00gb25seSB3aGVuIGl0IGlzIHZpc2libGUuXG4gICAqIFdoZW4gc2V0IHRvIGZhbHNlLCB0aGUgcG9wdXAgd2lsbCBhbHdheXMgYmUgcmVuZGVyZWQgaW4gdGhlIERPTS4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIHNldCB0byBgdHJ1ZWAsIGlmIGZvciBzb21lXG4gICAqIHJlYXNvbiB5b3UgbmVlZCB0byBkaXNhYmxlIGl0LCB5b3UgY2FuIHNldCBpdCB0byBgZmFsc2VgLlxuICAgKi9cbiAgZHluYW1pY0RvbVJlbmRlcmluZz86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgY29tcG9uZW50IGlzIGV4cGVyaW1lbnRhbCBhbmQgbWF5IGJlIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiB0aGUgZnV0dXJlLlxuICovXG5leHBvcnQgY29uc3QgUG9wdXAgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgY2hpbGRyZW4sXG4gICAgICB0ZXh0ID0gJycsXG4gICAgICBwbGFjZW1lbnQgPSAnYXV0bycsXG4gICAgICBpZCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIG1heFdpZHRoID0gMjMyLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgdmlzaWJsZSxcbiAgICAgIGlubmVyUmVmLFxuICAgICAgcm9sZSA9ICdwb3B1cCcsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgaGFzQXJyb3cgPSB0cnVlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIHRhYkluZGV4ID0gMCxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgICdhcmlhLWhhc3BvcHVwJzogYXJpYUhhc1BvcHVwLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2UsXG4gICAgICBkZWJvdW5jZURlbGF5ID0gREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTixcbiAgICAgIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZSxcbiAgICAgIHBvcnRhbFRhcmdldCxcbiAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmcgPSB0cnVlLFxuICAgIH06IFBvcHVwUHJvcHMsXG4gICAgcmVmOiBSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGlubmVyUmVmLCAoKSA9PiBjaGlsZHJlblJlZi5jdXJyZW50KVxuXG4gICAgY29uc3QgaW5uZXJQb3B1cFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5uZXJQb3B1cFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50KVxuXG4gICAgY29uc3QgdGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ+KClcbiAgICBjb25zdCBwb3B1cFBvcnRhbFRhcmdldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHBvcnRhbFRhcmdldCkgcmV0dXJuIHBvcnRhbFRhcmdldFxuXG4gICAgICBpZiAocm9sZSA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuUmVmLmN1cnJlbnQpIHJldHVybiBjaGlsZHJlblJlZi5jdXJyZW50XG4gICAgICAgIGlmIChpc0NsaWVudFNpZGUpIHJldHVybiBkb2N1bWVudC5ib2R5XG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2UgY2hlY2sgaWYgd2luZG93IGV4aXN0cyBmb3IgU1NSXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbcG9ydGFsVGFyZ2V0LCByb2xlLCBjaGlsZHJlblJlZi5jdXJyZW50XSlcblxuICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlIHdoZW4gbWl4aW5nIGFuaW1hdGlvbiBhbmQgbWF4SGVpZ2h0IG9uIHNvbWUgYnJvd3NlcnMsIHNvIHdlIGRpc2FibGUgYW5pbWF0aW9uIGlmIG1heEhlaWdodCBpcyBzZXQuXG4gICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPVxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiB8fCBtYXhIZWlnaHQgPyAwIDogREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT05cblxuICAgIC8vIERlYm91bmNlIHRpbWVyIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHRoZSBwb3B1cCBmcm9tIGZsaWNrZXJpbmcgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2Ugb3V0IGFuZCBpbiB0aGUgY2hpbGRyZW4gZWxlbWVudC5cbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkPigpXG4gICAgY29uc3QgW3Zpc2libGVJbkRvbSwgc2V0VmlzaWJsZUluRG9tXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtyZXZlcnNlQW5pbWF0aW9uLCBzZXRSZXZlcnNlQW5pbWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxQb3NpdGlvbnNUeXBlPih7XG4gICAgICAuLi5ERUZBVUxUX1BPU0lUSU9OUyxcbiAgICB9KVxuICAgIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKVxuICAgIGNvbnN0IGdlbmVyYXRlZElkID0gaWQgPz8gdW5pcXVlSWRcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSB2aXNpYmxlICE9PSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0UG9zaXRpb25zKFxuICAgICAgICAgIGNvbXB1dGVQb3NpdGlvbnMoe1xuICAgICAgICAgICAgY2hpbGRyZW5SZWYsXG4gICAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgICBwb3B1cFJlZjogaW5uZXJQb3B1cFJlZixcbiAgICAgICAgICAgIHBvcHVwUG9ydGFsVGFyZ2V0OiBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0Fycm93LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfSwgW2hhc0Fycm93LCBwbGFjZW1lbnQsIHBvcHVwUG9ydGFsVGFyZ2V0XSlcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gd2UgbmVlZCB0byByZWNvbXB1dGUgcG9zaXRpb25zIG9mIHBvcHVwIGR1ZSB0byB3aW5kb3cgc2Nyb2xsIG9yIHJlc2l6ZS5cbiAgICAgKi9cbiAgICBjb25zdCBvbldpbmRvd0NoYW5nZURldGVjdGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgLy8gV2UgcmVtb3ZlIGFuaW1hdGlvbiBvbiBzY3JvbGwgb3IgdGhlIGFuaW1hdGlvbiB3aWxsIHJlc3RhcnQgb24gZXZlcnkgc2Nyb2xsXG4gICAgICBpZiAoaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG4gICAgfSwgW2dlbmVyYXRlUG9wdXBQb3NpdGlvbnMsIGlubmVyUG9wdXBSZWZdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlbW92ZSBwb3B1cCBwb3J0YWwgZnJvbSBET00gYW5kIHJlbW92ZSBldmVudCBsaXN0ZW5lciB0byBpdC5cbiAgICAgKi9cbiAgICBjb25zdCB1bm1vdW50UG9wdXBGcm9tRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VmlzaWJsZUluRG9tKGZhbHNlKVxuICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgfSwgW29uV2luZG93Q2hhbmdlRGV0ZWN0ZWRdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIGhpZGUgcG9wdXAuIEEgdGltZW91dCBpcyBzZXQgdG8gYWxsb3cgYW5pbWF0aW9uIGVuZCwgdGhlbiByZW1vdmVcbiAgICAgKiBwb3B1cCBmcm9tIGRvbS5cbiAgICAgKi9cbiAgICBjb25zdCBjbG9zZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFJldmVyc2VBbmltYXRpb24odHJ1ZSlcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB1bm1vdW50UG9wdXBGcm9tRG9tKClcbiAgICAgICAgICAgIG9uQ2xvc2U/LigpXG4gICAgICAgICAgfSwgYW5pbWF0aW9uRHVyYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlRGVsYXkgJiYgIWRpc2FibGVBbmltYXRpb24gPyBkZWJvdW5jZURlbGF5IDogMCxcbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGRpc2FibGVBbmltYXRpb24sXG4gICAgICBkZWJvdW5jZURlbGF5LFxuICAgICAgb25DbG9zZSxcbiAgICAgIHVubW91bnRQb3B1cEZyb21Eb20sXG4gICAgXSlcblxuICAgIC8qKlxuICAgICAqIFdoZW4gbW91c2UgaG92ZXIgb3Igc3RvcCBob3ZlcmluZyBjaGlsZHJlbiB0aGlzIGZ1bmN0aW9uIGRpc3BsYXkgb3IgaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb25cbiAgICAgKiBlbmQsIHRoZW4gcmVtb3ZlIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IG9uUG9pbnRlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZGVib3VuY2VEZWxheSBhbmQgdGhlIHBvcHVwIGlzIG5vdCB2aXNpYmxlLCB3ZSBjbGVhciB0aGUgZGVib3VuY2UgdGltZXJcbiAgICAgICAgaWYgKCF2aXNpYmxlICYmIGRlYm91bmNlRGVsYXkgPiAwICYmIGRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIHVubW91bnQgdGhlIHBvcHVwXG4gICAgICAgIC8vIFRoZXJlIGlzIGRlYm91bmNlIGluIG9yZGVyIHRvIGF2b2lkIHBvcHVwIHRvIGZsaWNrZXIgd2hlbiB3ZSBtb3ZlIHRoZSBtb3VzZSBmcm9tIGNoaWxkcmVuIHRvIHBvcHVwXG4gICAgICAgIC8vIFRpbWVyIGlzIHVzZWQgdG8gZm9sbG93IHRoZSBhbmltYXRpb24gZHVyYXRpb25cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50ICYmICFkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIG1vdW50IHRoZSBwb3B1cFxuICAgICAgICAgIC8vIElmIHRoZSB0aW1lciBleGlzdHMgaXQgbWVhbnMgdGhlIHBvcHVwIHdhcyBhYm91dCB0byB1bW91bnQsIGJ1dCB3ZSBob3ZlcmVkIHRoZSBjaGlsZHJlbiBhZ2FpbixcbiAgICAgICAgICAvLyBzbyB3ZSBjbGVhciB0aGUgdGltZXIgYW5kIHRoZSBwb3B1cCB3aWxsIG5vdCBiZSB1bm1vdW50ZWRcbiAgICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgICAgdGltZXIuY3VycmVudCA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBbmQgaGVyZSBpcyB3aGVuIHdlIGN1cnJlbnRseSBhcmUgaW4gYSBkZWJvdW5jZSB0aW1lciwgaXQgbWVhbnMgcG9wdXAgd2FzIGhvdmVyZWQgZHVyaW5nXG4gICAgICAgICAgLy8gdGhhdCBwZXJpb2QsIGFuZCBzbyB3ZSBjYW4gY2xlYXIgZGVib3VuY2UgdGltZXJcbiAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lci5jdXJyZW50KVxuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJvdW5jZURlbGF5ID4gMCkge1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFZpc2libGVJbkRvbSh0cnVlKVxuICAgICAgICAgICAgfSwgZGVib3VuY2VEZWxheSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjbG9zZVBvcHVwLCBkZWJvdW5jZURlbGF5LCB2aXNpYmxlXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbSB3ZSBjYW4gY29tcHV0ZSBwb3NpdGlvbnMsIHRoZW4gc2V0IGl0IHZpc2libGUgb24gc2NyZWVuIGFuZCBhZGQgZXZlbnQgdG9cbiAgICAgKiByZWNvbXB1dGUgcG9zaXRpb25zIG9uIHNjcm9sbCBvciBzY3JlZW4gcmVzaXplLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZUluRG9tKSB7XG4gICAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMoKVxuXG4gICAgICAgIGlmIChwb3B1cFBvcnRhbFRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZGV0ZWN0IHNjcm9sbCBhbmQgcmVzaXplIGluIG9yZGVyIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXBcbiAgICAgICAgICAvLyBBZGRpbmcgdHJ1ZSBhcyB0aGlyZCBwYXJhbWV0ZXIgdG8gZXZlbnQgbGlzdGVuZXIgd2lsbCBkZXRlY3QgbmVzdGVkIHNjcm9sbHMuXG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgaWYgKHRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIuY3VycmVudClcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zLFxuICAgICAgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgcG9wdXBQb3J0YWxUYXJnZXQsXG4gICAgXSlcblxuICAgIC8vIFRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBwb3NpdGlvbnMgYXJlIGNvbXB1dGVkIGFuZCBwb3B1cCBpcyB2aXNpYmxlIGluIHRoZSBkb20uXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodmlzaWJsZUluRG9tICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcG9zaXRpb25zXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBJZiBwb3B1cCBoYXMgYHZpc2libGVgIHByb3AgaXQgbWVhbnMgdGhlIHBvcHVwIGlzIG1hbnVhbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCB0aGlzIHByb3AuXG4gICAgICogSW4gdGhpcyBjYXMgd2UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IHBvcHVwIG9uIGhvdmVyLCBidXQgb25seSB3aGVuIGB2aXNpYmxlYCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDb250cm9sbGVkKSB7XG4gICAgICAgIG9uUG9pbnRlckV2ZW50KHZpc2libGUpKClcbiAgICAgIH1cbiAgICB9LCBbaXNDb250cm9sbGVkLCBvblBvaW50ZXJFdmVudCwgdmlzaWJsZV0pXG5cbiAgICAvLyBIYW5kbGUgaGlkZSBvbiBlc2MgcHJlc3MgYW5kIGhpZGUgb24gY2xpY2sgb3V0c2lkZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFc2NQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb3B1cEN1cnJlbnQgPSBpbm5lclBvcHVwUmVmLmN1cnJlbnRcbiAgICAgICAgY29uc3QgY2hpbGRyZW5DdXJyZW50ID0gY2hpbGRyZW5SZWYuY3VycmVudFxuXG4gICAgICAgIGlmIChwb3B1cEN1cnJlbnQgJiYgaGlkZU9uQ2xpY2tPdXRzaWRlICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IHBvcHVwQ3VycmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSBjaGlsZHJlbkN1cnJlbnQgJiZcbiAgICAgICAgICAgICFjaGlsZHJlbkN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcHVwQ3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZUVzY1ByZXNzKVxuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG4gICAgfSwgW1xuICAgICAgY2xvc2VQb3B1cCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIGlubmVyUG9wdXBSZWYsXG4gICAgICBjaGlsZHJlblJlZixcbiAgICAgIGhpZGVPbkNsaWNrT3V0c2lkZSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCB3aWxsIG9jY3VyIG9ubHkgZm9yIGRpYWxvZyBhbmQgd2lsbCB0cmFwIGZvY3VzIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNvbnN0IGhhbmRsZUZvY3VzVHJhcDogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldmVudCA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXkgPT09ICdUYWInXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVscyA9XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnYVtocmVmXTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgICAgICAgKSA/PyBbXVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5vIGludGVyYWN0aXZlIGVsZW1lbnQgYXJlIHdpdGhpbiB0aGUgbW9kYWwgKGluY2x1ZGluZyBjbG9zZSBpY29uKVxuICAgICAgaWYgKGZvY3VzYWJsZUVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsID0gZm9jdXNhYmxlRWxzWzBdIGFzIEhUTUxFbGVtZW50XG4gICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbXG4gICAgICAgIGZvY3VzYWJsZUVscy5sZW5ndGggLSAxXG4gICAgICBdIGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbCB8fFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgKSB7XG4gICAgICAgIGZpcnN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICAvKipcbiAgICAgKiBXaWxsIHJlbmRlciBjaGlsZHJlbiBjb25kaXRpb25hbGx5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24gb3Igbm90LlxuICAgICAqL1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW4oe1xuICAgICAgICAgIG9uQmx1cjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgb25Gb2N1czogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJFbnRlcjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgcmVmOiBjaGlsZHJlblJlZixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZENoaWxkcmVuQ29udGFpbmVyXG4gICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgb25CbHVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICBvbkZvY3VzPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICByZWY9e2NoaWxkcmVuUmVmfVxuICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgIG9uS2V5RG93bj8uKGV2ZW50KVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGF0YS1jb250YWluZXItZnVsbC13aWR0aD17Y29udGFpbmVyRnVsbFdpZHRofVxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e2FyaWFIYXNQb3B1cH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDaGlsZHJlbkNvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhcmlhSGFzUG9wdXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIGdlbmVyYXRlZElkLFxuICAgICAgaXNDb250cm9sbGVkLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyRXZlbnQsXG4gICAgICB0YWJJbmRleCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWR5bmFtaWNEb21SZW5kZXJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKGR5bmFtaWNEb21SZW5kZXJpbmcgJiYgdmlzaWJsZUluRG9tKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIFtkeW5hbWljRG9tUmVuZGVyaW5nLCB2aXNpYmxlSW5Eb21dKVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gbnVsbFxuXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBoYW5kbGUgYWxsb3cgdXMgdG8gbm90IGJ1YmJsZSB0aGUgZXZlbnQgdG8gZG9jdW1lbnQuYm9keSBsaWtlIHRoaXMgcmVhY3Qtc2VsZWN0IHdvcmtzIGZpbmVcbiAgICAgKi9cbiAgICBjb25zdCBzdG9wQ2xpY2tQcm9wYWdhdGlvbjogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgICBldmVudC5uYXRpdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cmVuZGVyQ2hpbGRyZW4oKX1cbiAgICAgICAge3Nob3VsZFJlbmRlclxuICAgICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgICA8U3R5bGVkUG9wdXBcbiAgICAgICAgICAgICAgICByZWY9e2lubmVyUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zPXtwb3NpdGlvbnN9XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICAgICAgaWQ9e2dlbmVyYXRlZElkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIHJldmVyc2VBbmltYXRpb249e3JldmVyc2VBbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICAgICAgZGF0YS1oYXMtYXJyb3c9e2hhc0Fycm93fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3N0b3BDbGlja1Byb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17YW5pbWF0aW9uRHVyYXRpb259XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtyb2xlID09PSAnZGlhbG9nJyA/IGhhbmRsZUZvY3VzVHJhcCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBpc0RpYWxvZz17cm9sZSA9PT0gJ2RpYWxvZyd9XG4gICAgICAgICAgICAgICAgZGF0YS12aXNpYmxlLWluLWRvbT17XG4gICAgICAgICAgICAgICAgICAhZHluYW1pY0RvbVJlbmRlcmluZyA/IHZpc2libGVJbkRvbSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhLWFuaW1hdGVkPXthbmltYXRpb25EdXJhdGlvbiA+IDAgJiYgIW1heEhlaWdodH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICA8L1N0eWxlZFBvcHVwPixcbiAgICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9LFxuKVxuIl19 */"), ';}&[data-has-arrow="true"]{&::after{content:" ";position:absolute;top:', ({
43
+ }) => /* @__PURE__ */ css(animationDuration, "ms ", !reverseAnimation ? animation(positions) : exitAnimation(positions), " forwards;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledPopup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RTRFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRQb3B1cCA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnbWF4V2lkdGgnLFxuICAgICAgJ3Bvc2l0aW9ucycsXG4gICAgICAncmV2ZXJzZUFuaW1hdGlvbicsXG4gICAgICAnbWF4SGVpZ2h0JyxcbiAgICAgICdhbmltYXRpb25EdXJhdGlvbicsXG4gICAgICAnaXNEaWFsb2cnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRQb3B1cFByb3BzPmBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0U3Ryb25nZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAkeyh7IG1heFdpZHRoIH0pID0+XG4gICAgdHlwZW9mIG1heFdpZHRoID09PSAnbnVtYmVyJyA/IGAke21heFdpZHRofXB4YCA6IG1heFdpZHRofTtcbiAgbWF4LWhlaWdodDogJHsoeyBtYXhIZWlnaHQgfSkgPT5cbiAgICB0eXBlb2YgbWF4SGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke21heEhlaWdodH1weGAgOiBtYXhIZWlnaHR9O1xuICBvdmVyZmxvdzogJHsoeyBtYXhIZWlnaHQgfSkgPT4gKG1heEhlaWdodCA/ICdhdXRvJyA6IHVuZGVmaW5lZCl9O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucG9wdXBQb3NpdGlvbn07XG5cbiAgJltkYXRhLWFuaW1hdGVkPVwidHJ1ZVwiXSB7XG4gICAgYW5pbWF0aW9uOiAkeyh7IHBvc2l0aW9ucywgcmV2ZXJzZUFuaW1hdGlvbiwgYW5pbWF0aW9uRHVyYXRpb24gfSkgPT4gY3NzYFxuICAgICAgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAhcmV2ZXJzZUFuaW1hdGlvbiA/IGFuaW1hdGlvbihwb3NpdGlvbnMpIDogZXhpdEFuaW1hdGlvbihwb3NpdGlvbnMpXG4gICAgICB9IGZvcndhcmRzXG4gICAgYH07XG4gIH1cblxuICAmW2RhdGEtaGFzLWFycm93PVwidHJ1ZVwiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RvcH1weDtcbiAgICAgIGxlZnQ6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd0xlZnR9cHg7XG4gICAgICB0cmFuc2Zvcm06ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RyYW5zZm9ybX1cbiAgICAgICAgcm90YXRlKCR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5yb3RhdGV9ZGVnKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAke0RFRkFVTFRfQVJST1dfV0lEVEh9cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlcn1cbiAgICAgICAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmlzaWJsZS1pbi1kb209XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBTdHlsZWRDaGlsZHJlbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgJltkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPVwidHJ1ZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbmBcblxudHlwZSBQb3B1cFByb3BzID0ge1xuICAvKipcbiAgICogSWQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHNldC4gSXQgaXMgdXNlZCBmb3IgYXNzb2NpYXRpbmcgcG9wdXAgd3JhcHBlciB3aXRoIHBvcHVwIHBvcnRhbC5cbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIGNoaWxkcmVuOlxuICAgIHwgUmVhY3ROb2RlXG4gICAgfCAoKHJlbmRlclByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgICAgICBvbkJsdXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Gb2N1czogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJFbnRlcjogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogKCkgPT4gdm9pZFxuICAgICAgICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbiAgICAgIH0pID0+IFJlYWN0Tm9kZSlcbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIGBhdXRvYCBwbGFjZW1lbnQgd2lsbCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBpZiBpdCBkb2Vzbid0IGZpdCBpbiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwbGFjZW1lbnQ/OiBQb3B1cFBsYWNlbWVudFxuICAvKipcbiAgICogQWxpZ24gdGhlIHBvcHVwIHRvIHRoZSBzdGFydCBvciBjZW50ZXIgb2YgdGhlIGNoaWxkcmVuLlxuICAgKi9cbiAgYWxpZ24/OiBQb3B1cEFsaWduXG4gIC8qKlxuICAgKiBDb250ZW50IG9mIHRoZSBwb3B1cCwgcHJlZmVyYWJseSB0ZXh0IGluc2lkZS5cbiAgICovXG4gIHRleHQ/OiBSZWFjdE5vZGVcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBJdCB3aWxsIGFkZCBgd2lkdGg6IDEwMCVgIHRvIHRoZSBwb3B1cCBjb250YWluZXIuXG4gICAqL1xuICBjb250YWluZXJGdWxsV2lkdGg/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJdCB3aWxsIGZvcmNlIGRpc3BsYXkgcG9wdXAuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgbmVlZCB0byBhbHdheXMgZGlzcGxheSB0aGUgcG9wdXAgd2l0aG91dCBob3ZlciBuZWVkZWQuXG4gICAqL1xuICB2aXNpYmxlPzogYm9vbGVhblxuICBpbm5lclJlZj86IFJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+XG4gIHJvbGU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBoYXNBcnJvdz86IGJvb2xlYW5cbiAgb25DbG9zZT86ICgpID0+IHZvaWRcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXJcbiAgJ2FyaWEtaGFzcG9wdXAnPzogSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+WydhcmlhLWhhc3BvcHVwJ11cbiAgaGlkZU9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgeW91IHNldCBkZWJvdW5jZVRpbWUgdG8gZmFsc2UsIHRoZSBwb3B1cCB3aWxsIG5vdCBkZWJvdW5jZSB0aGUgaG92ZXIgZXZlbnQgYW5kIHdpbGwgYmUgZGlzcGxheWVkIGluc3RhbnRseS5cbiAgICogSWYgc2V0IHRvIDAgaXQgd2lsbCBkaXNhYmxlIGRlYm91bmNlLlxuICAgKi9cbiAgZGVib3VuY2VEZWxheT86IG51bWJlclxuICAvKipcbiAgICogSWYgeW91IHNldCBhIG1heCBoZWlnaHQga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGFuaW1hdGlvbiBpcyBkaXNhYmxlZCwgb3IgaXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBvbiBzb21lIGJyb3dzZXJzLlxuICAgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKlxuICAgKiBXaWxsIHJlbW92ZSB0aGUgYW5pbWF0aW9uIG9uIHRoZSBwb3B1cCBpZiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBkaXNhYmxlQW5pbWF0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgdGhlIHBvcnRhbCB0YXJnZXQgaXMgY2hpbGRyZW4gY29udGFpbmVyIG9yIGRvY3VtZW50LmJvZHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbi4gWW91IGNhbiBvdmVycmlkZSB0aGlzXG4gICAqIGJlaGF2aW9yIGJ5IHNldHRpbmcgYSBwb3J0YWxUYXJnZXQgcHJvcC5cbiAgICovXG4gIHBvcnRhbFRhcmdldD86IEhUTUxFbGVtZW50XG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IHRoaXMgdG8gdHJ1ZSwgdGhlIHBvcHVwIHdpbGwgYmUgcmVuZGVyZWQgaW4gdGhlIERPTSBvbmx5IHdoZW4gaXQgaXMgdmlzaWJsZS5cbiAgICogV2hlbiBzZXQgdG8gZmFsc2UsIHRoZSBwb3B1cCB3aWxsIGFsd2F5cyBiZSByZW5kZXJlZCBpbiB0aGUgRE9NLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgc2V0IHRvIGB0cnVlYCwgaWYgZm9yIHNvbWVcbiAgICogcmVhc29uIHlvdSBuZWVkIHRvIGRpc2FibGUgaXQsIHlvdSBjYW4gc2V0IGl0IHRvIGBmYWxzZWAuXG4gICAqL1xuICBkeW5hbWljRG9tUmVuZGVyaW5nPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBQb3B1cCA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIHRleHQgPSAnJyxcbiAgICAgIHBsYWNlbWVudCA9ICdhdXRvJyxcbiAgICAgIGFsaWduID0gJ2NlbnRlcicsXG4gICAgICBpZCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIG1heFdpZHRoID0gJzE0LjVyZW0nLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgdmlzaWJsZSxcbiAgICAgIGlubmVyUmVmLFxuICAgICAgcm9sZSA9ICdwb3B1cCcsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgaGFzQXJyb3cgPSB0cnVlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIHRhYkluZGV4ID0gMCxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgICdhcmlhLWhhc3BvcHVwJzogYXJpYUhhc1BvcHVwLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2UsXG4gICAgICBkZWJvdW5jZURlbGF5ID0gREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTixcbiAgICAgIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZSxcbiAgICAgIHBvcnRhbFRhcmdldCxcbiAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmcgPSB0cnVlLFxuICAgIH06IFBvcHVwUHJvcHMsXG4gICAgcmVmOiBSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGlubmVyUmVmLCAoKSA9PiBjaGlsZHJlblJlZi5jdXJyZW50KVxuXG4gICAgY29uc3QgaW5uZXJQb3B1cFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5uZXJQb3B1cFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50KVxuXG4gICAgY29uc3QgdGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ+KClcbiAgICBjb25zdCBwb3B1cFBvcnRhbFRhcmdldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHBvcnRhbFRhcmdldCkgcmV0dXJuIHBvcnRhbFRhcmdldFxuXG4gICAgICBpZiAocm9sZSA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuUmVmLmN1cnJlbnQpIHJldHVybiBjaGlsZHJlblJlZi5jdXJyZW50XG4gICAgICAgIGlmIChpc0NsaWVudFNpZGUpIHJldHVybiBkb2N1bWVudC5ib2R5XG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2UgY2hlY2sgaWYgd2luZG93IGV4aXN0cyBmb3IgU1NSXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbcG9ydGFsVGFyZ2V0LCByb2xlLCBjaGlsZHJlblJlZi5jdXJyZW50XSlcblxuICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlIHdoZW4gbWl4aW5nIGFuaW1hdGlvbiBhbmQgbWF4SGVpZ2h0IG9uIHNvbWUgYnJvd3NlcnMsIHNvIHdlIGRpc2FibGUgYW5pbWF0aW9uIGlmIG1heEhlaWdodCBpcyBzZXQuXG4gICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPVxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiB8fCBtYXhIZWlnaHQgPyAwIDogREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT05cblxuICAgIC8vIERlYm91bmNlIHRpbWVyIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHRoZSBwb3B1cCBmcm9tIGZsaWNrZXJpbmcgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2Ugb3V0IGFuZCBpbiB0aGUgY2hpbGRyZW4gZWxlbWVudC5cbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkPigpXG4gICAgY29uc3QgW3Zpc2libGVJbkRvbSwgc2V0VmlzaWJsZUluRG9tXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtyZXZlcnNlQW5pbWF0aW9uLCBzZXRSZXZlcnNlQW5pbWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxQb3NpdGlvbnNUeXBlPih7XG4gICAgICAuLi5ERUZBVUxUX1BPU0lUSU9OUyxcbiAgICB9KVxuICAgIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKVxuICAgIGNvbnN0IGdlbmVyYXRlZElkID0gaWQgPz8gdW5pcXVlSWRcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSB2aXNpYmxlICE9PSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0UG9zaXRpb25zKFxuICAgICAgICAgIGNvbXB1dGVQb3NpdGlvbnMoe1xuICAgICAgICAgICAgY2hpbGRyZW5SZWYsXG4gICAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgICBwb3B1cFJlZjogaW5uZXJQb3B1cFJlZixcbiAgICAgICAgICAgIHBvcHVwUG9ydGFsVGFyZ2V0OiBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0Fycm93LFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LCBbaGFzQXJyb3csIHBsYWNlbWVudCwgcG9wdXBQb3J0YWxUYXJnZXQsIGFsaWduXSlcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gd2UgbmVlZCB0byByZWNvbXB1dGUgcG9zaXRpb25zIG9mIHBvcHVwIGR1ZSB0byB3aW5kb3cgc2Nyb2xsIG9yIHJlc2l6ZS5cbiAgICAgKi9cbiAgICBjb25zdCBvbldpbmRvd0NoYW5nZURldGVjdGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgLy8gV2UgcmVtb3ZlIGFuaW1hdGlvbiBvbiBzY3JvbGwgb3IgdGhlIGFuaW1hdGlvbiB3aWxsIHJlc3RhcnQgb24gZXZlcnkgc2Nyb2xsXG4gICAgICBpZiAoaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG4gICAgfSwgW2dlbmVyYXRlUG9wdXBQb3NpdGlvbnMsIGlubmVyUG9wdXBSZWZdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlbW92ZSBwb3B1cCBwb3J0YWwgZnJvbSBET00gYW5kIHJlbW92ZSBldmVudCBsaXN0ZW5lciB0byBpdC5cbiAgICAgKi9cbiAgICBjb25zdCB1bm1vdW50UG9wdXBGcm9tRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VmlzaWJsZUluRG9tKGZhbHNlKVxuICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgfSwgW29uV2luZG93Q2hhbmdlRGV0ZWN0ZWRdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIGhpZGUgcG9wdXAuIEEgdGltZW91dCBpcyBzZXQgdG8gYWxsb3cgYW5pbWF0aW9uIGVuZCwgdGhlbiByZW1vdmVcbiAgICAgKiBwb3B1cCBmcm9tIGRvbS5cbiAgICAgKi9cbiAgICBjb25zdCBjbG9zZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFJldmVyc2VBbmltYXRpb24odHJ1ZSlcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB1bm1vdW50UG9wdXBGcm9tRG9tKClcbiAgICAgICAgICAgIG9uQ2xvc2U/LigpXG4gICAgICAgICAgfSwgYW5pbWF0aW9uRHVyYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlRGVsYXkgJiYgIWRpc2FibGVBbmltYXRpb24gPyBkZWJvdW5jZURlbGF5IDogMCxcbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGRpc2FibGVBbmltYXRpb24sXG4gICAgICBkZWJvdW5jZURlbGF5LFxuICAgICAgb25DbG9zZSxcbiAgICAgIHVubW91bnRQb3B1cEZyb21Eb20sXG4gICAgXSlcblxuICAgIC8qKlxuICAgICAqIFdoZW4gbW91c2UgaG92ZXIgb3Igc3RvcCBob3ZlcmluZyBjaGlsZHJlbiB0aGlzIGZ1bmN0aW9uIGRpc3BsYXkgb3IgaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb25cbiAgICAgKiBlbmQsIHRoZW4gcmVtb3ZlIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IG9uUG9pbnRlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZGVib3VuY2VEZWxheSBhbmQgdGhlIHBvcHVwIGlzIG5vdCB2aXNpYmxlLCB3ZSBjbGVhciB0aGUgZGVib3VuY2UgdGltZXJcbiAgICAgICAgaWYgKCF2aXNpYmxlICYmIGRlYm91bmNlRGVsYXkgPiAwICYmIGRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIHVubW91bnQgdGhlIHBvcHVwXG4gICAgICAgIC8vIFRoZXJlIGlzIGRlYm91bmNlIGluIG9yZGVyIHRvIGF2b2lkIHBvcHVwIHRvIGZsaWNrZXIgd2hlbiB3ZSBtb3ZlIHRoZSBtb3VzZSBmcm9tIGNoaWxkcmVuIHRvIHBvcHVwXG4gICAgICAgIC8vIFRpbWVyIGlzIHVzZWQgdG8gZm9sbG93IHRoZSBhbmltYXRpb24gZHVyYXRpb25cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50ICYmICFkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIG1vdW50IHRoZSBwb3B1cFxuICAgICAgICAgIC8vIElmIHRoZSB0aW1lciBleGlzdHMgaXQgbWVhbnMgdGhlIHBvcHVwIHdhcyBhYm91dCB0byB1bW91bnQsIGJ1dCB3ZSBob3ZlcmVkIHRoZSBjaGlsZHJlbiBhZ2FpbixcbiAgICAgICAgICAvLyBzbyB3ZSBjbGVhciB0aGUgdGltZXIgYW5kIHRoZSBwb3B1cCB3aWxsIG5vdCBiZSB1bm1vdW50ZWRcbiAgICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgICAgdGltZXIuY3VycmVudCA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBbmQgaGVyZSBpcyB3aGVuIHdlIGN1cnJlbnRseSBhcmUgaW4gYSBkZWJvdW5jZSB0aW1lciwgaXQgbWVhbnMgcG9wdXAgd2FzIGhvdmVyZWQgZHVyaW5nXG4gICAgICAgICAgLy8gdGhhdCBwZXJpb2QsIGFuZCBzbyB3ZSBjYW4gY2xlYXIgZGVib3VuY2UgdGltZXJcbiAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lci5jdXJyZW50KVxuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJvdW5jZURlbGF5ID4gMCkge1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFZpc2libGVJbkRvbSh0cnVlKVxuICAgICAgICAgICAgfSwgZGVib3VuY2VEZWxheSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjbG9zZVBvcHVwLCBkZWJvdW5jZURlbGF5LCB2aXNpYmxlXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbSB3ZSBjYW4gY29tcHV0ZSBwb3NpdGlvbnMsIHRoZW4gc2V0IGl0IHZpc2libGUgb24gc2NyZWVuIGFuZCBhZGQgZXZlbnQgdG9cbiAgICAgKiByZWNvbXB1dGUgcG9zaXRpb25zIG9uIHNjcm9sbCBvciBzY3JlZW4gcmVzaXplLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZUluRG9tKSB7XG4gICAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMoKVxuXG4gICAgICAgIGlmIChwb3B1cFBvcnRhbFRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZGV0ZWN0IHNjcm9sbCBhbmQgcmVzaXplIGluIG9yZGVyIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXBcbiAgICAgICAgICAvLyBBZGRpbmcgdHJ1ZSBhcyB0aGlyZCBwYXJhbWV0ZXIgdG8gZXZlbnQgbGlzdGVuZXIgd2lsbCBkZXRlY3QgbmVzdGVkIHNjcm9sbHMuXG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgaWYgKHRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIuY3VycmVudClcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zLFxuICAgICAgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgcG9wdXBQb3J0YWxUYXJnZXQsXG4gICAgXSlcblxuICAgIC8vIFRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBwb3NpdGlvbnMgYXJlIGNvbXB1dGVkIGFuZCBwb3B1cCBpcyB2aXNpYmxlIGluIHRoZSBkb20uXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodmlzaWJsZUluRG9tICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcG9zaXRpb25zXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBJZiBwb3B1cCBoYXMgYHZpc2libGVgIHByb3AgaXQgbWVhbnMgdGhlIHBvcHVwIGlzIG1hbnVhbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCB0aGlzIHByb3AuXG4gICAgICogSW4gdGhpcyBjYXMgd2UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IHBvcHVwIG9uIGhvdmVyLCBidXQgb25seSB3aGVuIGB2aXNpYmxlYCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDb250cm9sbGVkKSB7XG4gICAgICAgIG9uUG9pbnRlckV2ZW50KHZpc2libGUpKClcbiAgICAgIH1cbiAgICB9LCBbaXNDb250cm9sbGVkLCBvblBvaW50ZXJFdmVudCwgdmlzaWJsZV0pXG5cbiAgICAvLyBIYW5kbGUgaGlkZSBvbiBlc2MgcHJlc3MgYW5kIGhpZGUgb24gY2xpY2sgb3V0c2lkZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFc2NQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb3B1cEN1cnJlbnQgPSBpbm5lclBvcHVwUmVmLmN1cnJlbnRcbiAgICAgICAgY29uc3QgY2hpbGRyZW5DdXJyZW50ID0gY2hpbGRyZW5SZWYuY3VycmVudFxuXG4gICAgICAgIGlmIChwb3B1cEN1cnJlbnQgJiYgaGlkZU9uQ2xpY2tPdXRzaWRlICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IHBvcHVwQ3VycmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSBjaGlsZHJlbkN1cnJlbnQgJiZcbiAgICAgICAgICAgICFjaGlsZHJlbkN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcHVwQ3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZUVzY1ByZXNzKVxuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG4gICAgfSwgW1xuICAgICAgY2xvc2VQb3B1cCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIGlubmVyUG9wdXBSZWYsXG4gICAgICBjaGlsZHJlblJlZixcbiAgICAgIGhpZGVPbkNsaWNrT3V0c2lkZSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCB3aWxsIG9jY3VyIG9ubHkgZm9yIGRpYWxvZyBhbmQgd2lsbCB0cmFwIGZvY3VzIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNvbnN0IGhhbmRsZUZvY3VzVHJhcDogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldmVudCA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXkgPT09ICdUYWInXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVscyA9XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnYVtocmVmXTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgICAgICAgKSA/PyBbXVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5vIGludGVyYWN0aXZlIGVsZW1lbnQgYXJlIHdpdGhpbiB0aGUgbW9kYWwgKGluY2x1ZGluZyBjbG9zZSBpY29uKVxuICAgICAgaWYgKGZvY3VzYWJsZUVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsID0gZm9jdXNhYmxlRWxzWzBdIGFzIEhUTUxFbGVtZW50XG4gICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbXG4gICAgICAgIGZvY3VzYWJsZUVscy5sZW5ndGggLSAxXG4gICAgICBdIGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbCB8fFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgKSB7XG4gICAgICAgIGZpcnN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICAvKipcbiAgICAgKiBXaWxsIHJlbmRlciBjaGlsZHJlbiBjb25kaXRpb25hbGx5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24gb3Igbm90LlxuICAgICAqL1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW4oe1xuICAgICAgICAgIG9uQmx1cjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgb25Gb2N1czogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJFbnRlcjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgcmVmOiBjaGlsZHJlblJlZixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZENoaWxkcmVuQ29udGFpbmVyXG4gICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgb25CbHVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICBvbkZvY3VzPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICByZWY9e2NoaWxkcmVuUmVmfVxuICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgIG9uS2V5RG93bj8uKGV2ZW50KVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGF0YS1jb250YWluZXItZnVsbC13aWR0aD17Y29udGFpbmVyRnVsbFdpZHRofVxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e2FyaWFIYXNQb3B1cH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDaGlsZHJlbkNvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhcmlhSGFzUG9wdXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIGdlbmVyYXRlZElkLFxuICAgICAgaXNDb250cm9sbGVkLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyRXZlbnQsXG4gICAgICB0YWJJbmRleCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWR5bmFtaWNEb21SZW5kZXJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKGR5bmFtaWNEb21SZW5kZXJpbmcgJiYgdmlzaWJsZUluRG9tKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIFtkeW5hbWljRG9tUmVuZGVyaW5nLCB2aXNpYmxlSW5Eb21dKVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gbnVsbFxuXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBoYW5kbGUgYWxsb3cgdXMgdG8gbm90IGJ1YmJsZSB0aGUgZXZlbnQgdG8gZG9jdW1lbnQuYm9keSBsaWtlIHRoaXMgcmVhY3Qtc2VsZWN0IHdvcmtzIGZpbmVcbiAgICAgKi9cbiAgICBjb25zdCBzdG9wQ2xpY2tQcm9wYWdhdGlvbjogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgICBldmVudC5uYXRpdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cmVuZGVyQ2hpbGRyZW4oKX1cbiAgICAgICAge3Nob3VsZFJlbmRlclxuICAgICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgICA8U3R5bGVkUG9wdXBcbiAgICAgICAgICAgICAgICByZWY9e2lubmVyUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zPXtwb3NpdGlvbnN9XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICAgICAgaWQ9e2dlbmVyYXRlZElkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIHJldmVyc2VBbmltYXRpb249e3JldmVyc2VBbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICAgICAgZGF0YS1oYXMtYXJyb3c9e2hhc0Fycm93fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3N0b3BDbGlja1Byb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17YW5pbWF0aW9uRHVyYXRpb259XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtyb2xlID09PSAnZGlhbG9nJyA/IGhhbmRsZUZvY3VzVHJhcCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBpc0RpYWxvZz17cm9sZSA9PT0gJ2RpYWxvZyd9XG4gICAgICAgICAgICAgICAgZGF0YS12aXNpYmxlLWluLWRvbT17XG4gICAgICAgICAgICAgICAgICAhZHluYW1pY0RvbVJlbmRlcmluZyA/IHZpc2libGVJbkRvbSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhLWFuaW1hdGVkPXthbmltYXRpb25EdXJhdGlvbiA+IDAgJiYgIW1heEhlaWdodH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICA8L1N0eWxlZFBvcHVwPixcbiAgICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9LFxuKVxuIl19 */"), ';}&[data-has-arrow="true"]{&::after{content:" ";position:absolute;top:', ({
44
44
  positions
45
45
  }) => positions.arrowTop, "px;left:", ({
46
46
  positions
@@ -50,7 +50,7 @@ const StyledPopup = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "pro
50
50
  positions
51
51
  }) => positions.rotate, "deg);margin-left:-", DEFAULT_ARROW_WIDTH, "px;border-width:", DEFAULT_ARROW_WIDTH, "px;border-style:solid;border-color:", ({
52
52
  theme
53
- }) => theme.colors.neutral.backgroundStronger, ' transparent transparent transparent;pointer-events:none;}}&[data-visible-in-dom="false"]{display:none;}' + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3RG9CIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRQb3B1cCA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnbWF4V2lkdGgnLFxuICAgICAgJ3Bvc2l0aW9ucycsXG4gICAgICAncmV2ZXJzZUFuaW1hdGlvbicsXG4gICAgICAnbWF4SGVpZ2h0JyxcbiAgICAgICdhbmltYXRpb25EdXJhdGlvbicsXG4gICAgICAnaXNEaWFsb2cnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRQb3B1cFByb3BzPmBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0U3Ryb25nZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAkeyh7IG1heFdpZHRoIH0pID0+XG4gICAgdHlwZW9mIG1heFdpZHRoID09PSAnbnVtYmVyJyA/IGAke21heFdpZHRofXB4YCA6IG1heFdpZHRofTtcbiAgbWF4LWhlaWdodDogJHsoeyBtYXhIZWlnaHQgfSkgPT5cbiAgICB0eXBlb2YgbWF4SGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke21heEhlaWdodH1weGAgOiBtYXhIZWlnaHR9O1xuICBvdmVyZmxvdzogJHsoeyBtYXhIZWlnaHQgfSkgPT4gKG1heEhlaWdodCA/ICdhdXRvJyA6IHVuZGVmaW5lZCl9O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucG9wdXBQb3NpdGlvbn07XG5cbiAgJltkYXRhLWFuaW1hdGVkPVwidHJ1ZVwiXSB7XG4gICAgYW5pbWF0aW9uOiAkeyh7IHBvc2l0aW9ucywgcmV2ZXJzZUFuaW1hdGlvbiwgYW5pbWF0aW9uRHVyYXRpb24gfSkgPT4gY3NzYFxuICAgICAgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAhcmV2ZXJzZUFuaW1hdGlvbiA/IGFuaW1hdGlvbihwb3NpdGlvbnMpIDogZXhpdEFuaW1hdGlvbihwb3NpdGlvbnMpXG4gICAgICB9IGZvcndhcmRzXG4gICAgYH07XG4gIH1cblxuICAmW2RhdGEtaGFzLWFycm93PVwidHJ1ZVwiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RvcH1weDtcbiAgICAgIGxlZnQ6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd0xlZnR9cHg7XG4gICAgICB0cmFuc2Zvcm06ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RyYW5zZm9ybX1cbiAgICAgICAgcm90YXRlKCR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5yb3RhdGV9ZGVnKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAke0RFRkFVTFRfQVJST1dfV0lEVEh9cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlcn1cbiAgICAgICAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmlzaWJsZS1pbi1kb209XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBTdHlsZWRDaGlsZHJlbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgJltkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPVwidHJ1ZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbmBcblxudHlwZSBQb3B1cFByb3BzID0ge1xuICAvKipcbiAgICogSWQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHNldC4gSXQgaXMgdXNlZCBmb3IgYXNzb2NpYXRpbmcgcG9wdXAgd3JhcHBlciB3aXRoIHBvcHVwIHBvcnRhbC5cbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIGNoaWxkcmVuOlxuICAgIHwgUmVhY3ROb2RlXG4gICAgfCAoKHJlbmRlclByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgICAgICBvbkJsdXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Gb2N1czogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJFbnRlcjogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogKCkgPT4gdm9pZFxuICAgICAgICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbiAgICAgIH0pID0+IFJlYWN0Tm9kZSlcbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIGBhdXRvYCBwbGFjZW1lbnQgd2lsbCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBpZiBpdCBkb2Vzbid0IGZpdCBpbiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwbGFjZW1lbnQ/OiBQb3B1cFBsYWNlbWVudFxuICAvKipcbiAgICogQ29udGVudCBvZiB0aGUgcG9wdXAsIHByZWZlcmFibHkgdGV4dCBpbnNpZGUuXG4gICAqL1xuICB0ZXh0PzogUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogSXQgd2lsbCBhZGQgYHdpZHRoOiAxMDAlYCB0byB0aGUgcG9wdXAgY29udGFpbmVyLlxuICAgKi9cbiAgY29udGFpbmVyRnVsbFdpZHRoPzogYm9vbGVhblxuICAvKipcbiAgICogSXQgd2lsbCBmb3JjZSBkaXNwbGF5IHBvcHVwLiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IG5lZWQgdG8gYWx3YXlzIGRpc3BsYXkgdGhlIHBvcHVwIHdpdGhvdXQgaG92ZXIgbmVlZGVkLlxuICAgKi9cbiAgdmlzaWJsZT86IGJvb2xlYW5cbiAgaW5uZXJSZWY/OiBSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICByb2xlPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgaGFzQXJyb3c/OiBib29sZWFuXG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIHRhYkluZGV4PzogbnVtYmVyXG4gIG9uS2V5RG93bj86IEtleWJvYXJkRXZlbnRIYW5kbGVyXG4gICdhcmlhLWhhc3BvcHVwJz86IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PlsnYXJpYS1oYXNwb3B1cCddXG4gIGhpZGVPbkNsaWNrT3V0c2lkZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgZGVib3VuY2VUaW1lIHRvIGZhbHNlLCB0aGUgcG9wdXAgd2lsbCBub3QgZGVib3VuY2UgdGhlIGhvdmVyIGV2ZW50IGFuZCB3aWxsIGJlIGRpc3BsYXllZCBpbnN0YW50bHkuXG4gICAqIElmIHNldCB0byAwIGl0IHdpbGwgZGlzYWJsZSBkZWJvdW5jZS5cbiAgICovXG4gIGRlYm91bmNlRGVsYXk/OiBudW1iZXJcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgYSBtYXggaGVpZ2h0IGtlZXAgaW4gbWluZCB0aGF0IHRoZSBhbmltYXRpb24gaXMgZGlzYWJsZWQsIG9yIGl0IHdpbGwgbm90IHdvcmsgcHJvcGVybHkgb24gc29tZSBicm93c2Vycy5cbiAgICovXG4gIG1heEhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICAvKipcbiAgICogV2lsbCByZW1vdmUgdGhlIGFuaW1hdGlvbiBvbiB0aGUgcG9wdXAgaWYgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgZGlzYWJsZUFuaW1hdGlvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBwb3J0YWwgdGFyZ2V0IGlzIGNoaWxkcmVuIGNvbnRhaW5lciBvciBkb2N1bWVudC5ib2R5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24uIFlvdSBjYW4gb3ZlcnJpZGUgdGhpc1xuICAgKiBiZWhhdmlvciBieSBzZXR0aW5nIGEgcG9ydGFsVGFyZ2V0IHByb3AuXG4gICAqL1xuICBwb3J0YWxUYXJnZXQ/OiBIVE1MRWxlbWVudFxuICAvKipcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRydWUsIHRoZSBwb3B1cCB3aWxsIGJlIHJlbmRlcmVkIGluIHRoZSBET00gb25seSB3aGVuIGl0IGlzIHZpc2libGUuXG4gICAqIFdoZW4gc2V0IHRvIGZhbHNlLCB0aGUgcG9wdXAgd2lsbCBhbHdheXMgYmUgcmVuZGVyZWQgaW4gdGhlIERPTS4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIHNldCB0byBgdHJ1ZWAsIGlmIGZvciBzb21lXG4gICAqIHJlYXNvbiB5b3UgbmVlZCB0byBkaXNhYmxlIGl0LCB5b3UgY2FuIHNldCBpdCB0byBgZmFsc2VgLlxuICAgKi9cbiAgZHluYW1pY0RvbVJlbmRlcmluZz86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgY29tcG9uZW50IGlzIGV4cGVyaW1lbnRhbCBhbmQgbWF5IGJlIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiB0aGUgZnV0dXJlLlxuICovXG5leHBvcnQgY29uc3QgUG9wdXAgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgY2hpbGRyZW4sXG4gICAgICB0ZXh0ID0gJycsXG4gICAgICBwbGFjZW1lbnQgPSAnYXV0bycsXG4gICAgICBpZCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIG1heFdpZHRoID0gMjMyLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgdmlzaWJsZSxcbiAgICAgIGlubmVyUmVmLFxuICAgICAgcm9sZSA9ICdwb3B1cCcsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgaGFzQXJyb3cgPSB0cnVlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIHRhYkluZGV4ID0gMCxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgICdhcmlhLWhhc3BvcHVwJzogYXJpYUhhc1BvcHVwLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2UsXG4gICAgICBkZWJvdW5jZURlbGF5ID0gREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTixcbiAgICAgIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZSxcbiAgICAgIHBvcnRhbFRhcmdldCxcbiAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmcgPSB0cnVlLFxuICAgIH06IFBvcHVwUHJvcHMsXG4gICAgcmVmOiBSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGlubmVyUmVmLCAoKSA9PiBjaGlsZHJlblJlZi5jdXJyZW50KVxuXG4gICAgY29uc3QgaW5uZXJQb3B1cFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5uZXJQb3B1cFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50KVxuXG4gICAgY29uc3QgdGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ+KClcbiAgICBjb25zdCBwb3B1cFBvcnRhbFRhcmdldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHBvcnRhbFRhcmdldCkgcmV0dXJuIHBvcnRhbFRhcmdldFxuXG4gICAgICBpZiAocm9sZSA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuUmVmLmN1cnJlbnQpIHJldHVybiBjaGlsZHJlblJlZi5jdXJyZW50XG4gICAgICAgIGlmIChpc0NsaWVudFNpZGUpIHJldHVybiBkb2N1bWVudC5ib2R5XG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2UgY2hlY2sgaWYgd2luZG93IGV4aXN0cyBmb3IgU1NSXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbcG9ydGFsVGFyZ2V0LCByb2xlLCBjaGlsZHJlblJlZi5jdXJyZW50XSlcblxuICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlIHdoZW4gbWl4aW5nIGFuaW1hdGlvbiBhbmQgbWF4SGVpZ2h0IG9uIHNvbWUgYnJvd3NlcnMsIHNvIHdlIGRpc2FibGUgYW5pbWF0aW9uIGlmIG1heEhlaWdodCBpcyBzZXQuXG4gICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPVxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiB8fCBtYXhIZWlnaHQgPyAwIDogREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT05cblxuICAgIC8vIERlYm91bmNlIHRpbWVyIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHRoZSBwb3B1cCBmcm9tIGZsaWNrZXJpbmcgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2Ugb3V0IGFuZCBpbiB0aGUgY2hpbGRyZW4gZWxlbWVudC5cbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkPigpXG4gICAgY29uc3QgW3Zpc2libGVJbkRvbSwgc2V0VmlzaWJsZUluRG9tXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtyZXZlcnNlQW5pbWF0aW9uLCBzZXRSZXZlcnNlQW5pbWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxQb3NpdGlvbnNUeXBlPih7XG4gICAgICAuLi5ERUZBVUxUX1BPU0lUSU9OUyxcbiAgICB9KVxuICAgIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKVxuICAgIGNvbnN0IGdlbmVyYXRlZElkID0gaWQgPz8gdW5pcXVlSWRcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSB2aXNpYmxlICE9PSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0UG9zaXRpb25zKFxuICAgICAgICAgIGNvbXB1dGVQb3NpdGlvbnMoe1xuICAgICAgICAgICAgY2hpbGRyZW5SZWYsXG4gICAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgICBwb3B1cFJlZjogaW5uZXJQb3B1cFJlZixcbiAgICAgICAgICAgIHBvcHVwUG9ydGFsVGFyZ2V0OiBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0Fycm93LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfSwgW2hhc0Fycm93LCBwbGFjZW1lbnQsIHBvcHVwUG9ydGFsVGFyZ2V0XSlcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gd2UgbmVlZCB0byByZWNvbXB1dGUgcG9zaXRpb25zIG9mIHBvcHVwIGR1ZSB0byB3aW5kb3cgc2Nyb2xsIG9yIHJlc2l6ZS5cbiAgICAgKi9cbiAgICBjb25zdCBvbldpbmRvd0NoYW5nZURldGVjdGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgLy8gV2UgcmVtb3ZlIGFuaW1hdGlvbiBvbiBzY3JvbGwgb3IgdGhlIGFuaW1hdGlvbiB3aWxsIHJlc3RhcnQgb24gZXZlcnkgc2Nyb2xsXG4gICAgICBpZiAoaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG4gICAgfSwgW2dlbmVyYXRlUG9wdXBQb3NpdGlvbnMsIGlubmVyUG9wdXBSZWZdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlbW92ZSBwb3B1cCBwb3J0YWwgZnJvbSBET00gYW5kIHJlbW92ZSBldmVudCBsaXN0ZW5lciB0byBpdC5cbiAgICAgKi9cbiAgICBjb25zdCB1bm1vdW50UG9wdXBGcm9tRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VmlzaWJsZUluRG9tKGZhbHNlKVxuICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgfSwgW29uV2luZG93Q2hhbmdlRGV0ZWN0ZWRdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIGhpZGUgcG9wdXAuIEEgdGltZW91dCBpcyBzZXQgdG8gYWxsb3cgYW5pbWF0aW9uIGVuZCwgdGhlbiByZW1vdmVcbiAgICAgKiBwb3B1cCBmcm9tIGRvbS5cbiAgICAgKi9cbiAgICBjb25zdCBjbG9zZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFJldmVyc2VBbmltYXRpb24odHJ1ZSlcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB1bm1vdW50UG9wdXBGcm9tRG9tKClcbiAgICAgICAgICAgIG9uQ2xvc2U/LigpXG4gICAgICAgICAgfSwgYW5pbWF0aW9uRHVyYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlRGVsYXkgJiYgIWRpc2FibGVBbmltYXRpb24gPyBkZWJvdW5jZURlbGF5IDogMCxcbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGRpc2FibGVBbmltYXRpb24sXG4gICAgICBkZWJvdW5jZURlbGF5LFxuICAgICAgb25DbG9zZSxcbiAgICAgIHVubW91bnRQb3B1cEZyb21Eb20sXG4gICAgXSlcblxuICAgIC8qKlxuICAgICAqIFdoZW4gbW91c2UgaG92ZXIgb3Igc3RvcCBob3ZlcmluZyBjaGlsZHJlbiB0aGlzIGZ1bmN0aW9uIGRpc3BsYXkgb3IgaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb25cbiAgICAgKiBlbmQsIHRoZW4gcmVtb3ZlIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IG9uUG9pbnRlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZGVib3VuY2VEZWxheSBhbmQgdGhlIHBvcHVwIGlzIG5vdCB2aXNpYmxlLCB3ZSBjbGVhciB0aGUgZGVib3VuY2UgdGltZXJcbiAgICAgICAgaWYgKCF2aXNpYmxlICYmIGRlYm91bmNlRGVsYXkgPiAwICYmIGRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIHVubW91bnQgdGhlIHBvcHVwXG4gICAgICAgIC8vIFRoZXJlIGlzIGRlYm91bmNlIGluIG9yZGVyIHRvIGF2b2lkIHBvcHVwIHRvIGZsaWNrZXIgd2hlbiB3ZSBtb3ZlIHRoZSBtb3VzZSBmcm9tIGNoaWxkcmVuIHRvIHBvcHVwXG4gICAgICAgIC8vIFRpbWVyIGlzIHVzZWQgdG8gZm9sbG93IHRoZSBhbmltYXRpb24gZHVyYXRpb25cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50ICYmICFkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIG1vdW50IHRoZSBwb3B1cFxuICAgICAgICAgIC8vIElmIHRoZSB0aW1lciBleGlzdHMgaXQgbWVhbnMgdGhlIHBvcHVwIHdhcyBhYm91dCB0byB1bW91bnQsIGJ1dCB3ZSBob3ZlcmVkIHRoZSBjaGlsZHJlbiBhZ2FpbixcbiAgICAgICAgICAvLyBzbyB3ZSBjbGVhciB0aGUgdGltZXIgYW5kIHRoZSBwb3B1cCB3aWxsIG5vdCBiZSB1bm1vdW50ZWRcbiAgICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgICAgdGltZXIuY3VycmVudCA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBbmQgaGVyZSBpcyB3aGVuIHdlIGN1cnJlbnRseSBhcmUgaW4gYSBkZWJvdW5jZSB0aW1lciwgaXQgbWVhbnMgcG9wdXAgd2FzIGhvdmVyZWQgZHVyaW5nXG4gICAgICAgICAgLy8gdGhhdCBwZXJpb2QsIGFuZCBzbyB3ZSBjYW4gY2xlYXIgZGVib3VuY2UgdGltZXJcbiAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lci5jdXJyZW50KVxuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJvdW5jZURlbGF5ID4gMCkge1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFZpc2libGVJbkRvbSh0cnVlKVxuICAgICAgICAgICAgfSwgZGVib3VuY2VEZWxheSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjbG9zZVBvcHVwLCBkZWJvdW5jZURlbGF5LCB2aXNpYmxlXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbSB3ZSBjYW4gY29tcHV0ZSBwb3NpdGlvbnMsIHRoZW4gc2V0IGl0IHZpc2libGUgb24gc2NyZWVuIGFuZCBhZGQgZXZlbnQgdG9cbiAgICAgKiByZWNvbXB1dGUgcG9zaXRpb25zIG9uIHNjcm9sbCBvciBzY3JlZW4gcmVzaXplLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZUluRG9tKSB7XG4gICAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMoKVxuXG4gICAgICAgIGlmIChwb3B1cFBvcnRhbFRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZGV0ZWN0IHNjcm9sbCBhbmQgcmVzaXplIGluIG9yZGVyIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXBcbiAgICAgICAgICAvLyBBZGRpbmcgdHJ1ZSBhcyB0aGlyZCBwYXJhbWV0ZXIgdG8gZXZlbnQgbGlzdGVuZXIgd2lsbCBkZXRlY3QgbmVzdGVkIHNjcm9sbHMuXG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgaWYgKHRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIuY3VycmVudClcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zLFxuICAgICAgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgcG9wdXBQb3J0YWxUYXJnZXQsXG4gICAgXSlcblxuICAgIC8vIFRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBwb3NpdGlvbnMgYXJlIGNvbXB1dGVkIGFuZCBwb3B1cCBpcyB2aXNpYmxlIGluIHRoZSBkb20uXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodmlzaWJsZUluRG9tICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcG9zaXRpb25zXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBJZiBwb3B1cCBoYXMgYHZpc2libGVgIHByb3AgaXQgbWVhbnMgdGhlIHBvcHVwIGlzIG1hbnVhbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCB0aGlzIHByb3AuXG4gICAgICogSW4gdGhpcyBjYXMgd2UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IHBvcHVwIG9uIGhvdmVyLCBidXQgb25seSB3aGVuIGB2aXNpYmxlYCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDb250cm9sbGVkKSB7XG4gICAgICAgIG9uUG9pbnRlckV2ZW50KHZpc2libGUpKClcbiAgICAgIH1cbiAgICB9LCBbaXNDb250cm9sbGVkLCBvblBvaW50ZXJFdmVudCwgdmlzaWJsZV0pXG5cbiAgICAvLyBIYW5kbGUgaGlkZSBvbiBlc2MgcHJlc3MgYW5kIGhpZGUgb24gY2xpY2sgb3V0c2lkZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFc2NQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb3B1cEN1cnJlbnQgPSBpbm5lclBvcHVwUmVmLmN1cnJlbnRcbiAgICAgICAgY29uc3QgY2hpbGRyZW5DdXJyZW50ID0gY2hpbGRyZW5SZWYuY3VycmVudFxuXG4gICAgICAgIGlmIChwb3B1cEN1cnJlbnQgJiYgaGlkZU9uQ2xpY2tPdXRzaWRlICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IHBvcHVwQ3VycmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSBjaGlsZHJlbkN1cnJlbnQgJiZcbiAgICAgICAgICAgICFjaGlsZHJlbkN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcHVwQ3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZUVzY1ByZXNzKVxuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG4gICAgfSwgW1xuICAgICAgY2xvc2VQb3B1cCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIGlubmVyUG9wdXBSZWYsXG4gICAgICBjaGlsZHJlblJlZixcbiAgICAgIGhpZGVPbkNsaWNrT3V0c2lkZSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCB3aWxsIG9jY3VyIG9ubHkgZm9yIGRpYWxvZyBhbmQgd2lsbCB0cmFwIGZvY3VzIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNvbnN0IGhhbmRsZUZvY3VzVHJhcDogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldmVudCA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXkgPT09ICdUYWInXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVscyA9XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnYVtocmVmXTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgICAgICAgKSA/PyBbXVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5vIGludGVyYWN0aXZlIGVsZW1lbnQgYXJlIHdpdGhpbiB0aGUgbW9kYWwgKGluY2x1ZGluZyBjbG9zZSBpY29uKVxuICAgICAgaWYgKGZvY3VzYWJsZUVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsID0gZm9jdXNhYmxlRWxzWzBdIGFzIEhUTUxFbGVtZW50XG4gICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbXG4gICAgICAgIGZvY3VzYWJsZUVscy5sZW5ndGggLSAxXG4gICAgICBdIGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbCB8fFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgKSB7XG4gICAgICAgIGZpcnN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICAvKipcbiAgICAgKiBXaWxsIHJlbmRlciBjaGlsZHJlbiBjb25kaXRpb25hbGx5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24gb3Igbm90LlxuICAgICAqL1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW4oe1xuICAgICAgICAgIG9uQmx1cjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgb25Gb2N1czogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJFbnRlcjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgcmVmOiBjaGlsZHJlblJlZixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZENoaWxkcmVuQ29udGFpbmVyXG4gICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgb25CbHVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICBvbkZvY3VzPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICByZWY9e2NoaWxkcmVuUmVmfVxuICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgIG9uS2V5RG93bj8uKGV2ZW50KVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGF0YS1jb250YWluZXItZnVsbC13aWR0aD17Y29udGFpbmVyRnVsbFdpZHRofVxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e2FyaWFIYXNQb3B1cH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDaGlsZHJlbkNvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhcmlhSGFzUG9wdXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIGdlbmVyYXRlZElkLFxuICAgICAgaXNDb250cm9sbGVkLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyRXZlbnQsXG4gICAgICB0YWJJbmRleCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWR5bmFtaWNEb21SZW5kZXJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKGR5bmFtaWNEb21SZW5kZXJpbmcgJiYgdmlzaWJsZUluRG9tKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIFtkeW5hbWljRG9tUmVuZGVyaW5nLCB2aXNpYmxlSW5Eb21dKVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gbnVsbFxuXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBoYW5kbGUgYWxsb3cgdXMgdG8gbm90IGJ1YmJsZSB0aGUgZXZlbnQgdG8gZG9jdW1lbnQuYm9keSBsaWtlIHRoaXMgcmVhY3Qtc2VsZWN0IHdvcmtzIGZpbmVcbiAgICAgKi9cbiAgICBjb25zdCBzdG9wQ2xpY2tQcm9wYWdhdGlvbjogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgICBldmVudC5uYXRpdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cmVuZGVyQ2hpbGRyZW4oKX1cbiAgICAgICAge3Nob3VsZFJlbmRlclxuICAgICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgICA8U3R5bGVkUG9wdXBcbiAgICAgICAgICAgICAgICByZWY9e2lubmVyUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zPXtwb3NpdGlvbnN9XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICAgICAgaWQ9e2dlbmVyYXRlZElkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIHJldmVyc2VBbmltYXRpb249e3JldmVyc2VBbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICAgICAgZGF0YS1oYXMtYXJyb3c9e2hhc0Fycm93fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3N0b3BDbGlja1Byb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17YW5pbWF0aW9uRHVyYXRpb259XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtyb2xlID09PSAnZGlhbG9nJyA/IGhhbmRsZUZvY3VzVHJhcCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBpc0RpYWxvZz17cm9sZSA9PT0gJ2RpYWxvZyd9XG4gICAgICAgICAgICAgICAgZGF0YS12aXNpYmxlLWluLWRvbT17XG4gICAgICAgICAgICAgICAgICAhZHluYW1pY0RvbVJlbmRlcmluZyA/IHZpc2libGVJbkRvbSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhLWFuaW1hdGVkPXthbmltYXRpb25EdXJhdGlvbiA+IDAgJiYgIW1heEhlaWdodH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICA8L1N0eWxlZFBvcHVwPixcbiAgICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
53
+ }) => theme.colors.neutral.backgroundStronger, ' transparent transparent transparent;pointer-events:none;}}&[data-visible-in-dom="false"]{display:none;}' + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3RG9CIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRQb3B1cCA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnbWF4V2lkdGgnLFxuICAgICAgJ3Bvc2l0aW9ucycsXG4gICAgICAncmV2ZXJzZUFuaW1hdGlvbicsXG4gICAgICAnbWF4SGVpZ2h0JyxcbiAgICAgICdhbmltYXRpb25EdXJhdGlvbicsXG4gICAgICAnaXNEaWFsb2cnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRQb3B1cFByb3BzPmBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0U3Ryb25nZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAkeyh7IG1heFdpZHRoIH0pID0+XG4gICAgdHlwZW9mIG1heFdpZHRoID09PSAnbnVtYmVyJyA/IGAke21heFdpZHRofXB4YCA6IG1heFdpZHRofTtcbiAgbWF4LWhlaWdodDogJHsoeyBtYXhIZWlnaHQgfSkgPT5cbiAgICB0eXBlb2YgbWF4SGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke21heEhlaWdodH1weGAgOiBtYXhIZWlnaHR9O1xuICBvdmVyZmxvdzogJHsoeyBtYXhIZWlnaHQgfSkgPT4gKG1heEhlaWdodCA/ICdhdXRvJyA6IHVuZGVmaW5lZCl9O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucG9wdXBQb3NpdGlvbn07XG5cbiAgJltkYXRhLWFuaW1hdGVkPVwidHJ1ZVwiXSB7XG4gICAgYW5pbWF0aW9uOiAkeyh7IHBvc2l0aW9ucywgcmV2ZXJzZUFuaW1hdGlvbiwgYW5pbWF0aW9uRHVyYXRpb24gfSkgPT4gY3NzYFxuICAgICAgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAhcmV2ZXJzZUFuaW1hdGlvbiA/IGFuaW1hdGlvbihwb3NpdGlvbnMpIDogZXhpdEFuaW1hdGlvbihwb3NpdGlvbnMpXG4gICAgICB9IGZvcndhcmRzXG4gICAgYH07XG4gIH1cblxuICAmW2RhdGEtaGFzLWFycm93PVwidHJ1ZVwiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RvcH1weDtcbiAgICAgIGxlZnQ6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd0xlZnR9cHg7XG4gICAgICB0cmFuc2Zvcm06ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RyYW5zZm9ybX1cbiAgICAgICAgcm90YXRlKCR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5yb3RhdGV9ZGVnKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAke0RFRkFVTFRfQVJST1dfV0lEVEh9cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlcn1cbiAgICAgICAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmlzaWJsZS1pbi1kb209XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBTdHlsZWRDaGlsZHJlbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgJltkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPVwidHJ1ZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbmBcblxudHlwZSBQb3B1cFByb3BzID0ge1xuICAvKipcbiAgICogSWQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHNldC4gSXQgaXMgdXNlZCBmb3IgYXNzb2NpYXRpbmcgcG9wdXAgd3JhcHBlciB3aXRoIHBvcHVwIHBvcnRhbC5cbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIGNoaWxkcmVuOlxuICAgIHwgUmVhY3ROb2RlXG4gICAgfCAoKHJlbmRlclByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgICAgICBvbkJsdXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Gb2N1czogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJFbnRlcjogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogKCkgPT4gdm9pZFxuICAgICAgICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbiAgICAgIH0pID0+IFJlYWN0Tm9kZSlcbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIGBhdXRvYCBwbGFjZW1lbnQgd2lsbCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBpZiBpdCBkb2Vzbid0IGZpdCBpbiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwbGFjZW1lbnQ/OiBQb3B1cFBsYWNlbWVudFxuICAvKipcbiAgICogQWxpZ24gdGhlIHBvcHVwIHRvIHRoZSBzdGFydCBvciBjZW50ZXIgb2YgdGhlIGNoaWxkcmVuLlxuICAgKi9cbiAgYWxpZ24/OiBQb3B1cEFsaWduXG4gIC8qKlxuICAgKiBDb250ZW50IG9mIHRoZSBwb3B1cCwgcHJlZmVyYWJseSB0ZXh0IGluc2lkZS5cbiAgICovXG4gIHRleHQ/OiBSZWFjdE5vZGVcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBJdCB3aWxsIGFkZCBgd2lkdGg6IDEwMCVgIHRvIHRoZSBwb3B1cCBjb250YWluZXIuXG4gICAqL1xuICBjb250YWluZXJGdWxsV2lkdGg/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJdCB3aWxsIGZvcmNlIGRpc3BsYXkgcG9wdXAuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgbmVlZCB0byBhbHdheXMgZGlzcGxheSB0aGUgcG9wdXAgd2l0aG91dCBob3ZlciBuZWVkZWQuXG4gICAqL1xuICB2aXNpYmxlPzogYm9vbGVhblxuICBpbm5lclJlZj86IFJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+XG4gIHJvbGU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBoYXNBcnJvdz86IGJvb2xlYW5cbiAgb25DbG9zZT86ICgpID0+IHZvaWRcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXJcbiAgJ2FyaWEtaGFzcG9wdXAnPzogSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+WydhcmlhLWhhc3BvcHVwJ11cbiAgaGlkZU9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgeW91IHNldCBkZWJvdW5jZVRpbWUgdG8gZmFsc2UsIHRoZSBwb3B1cCB3aWxsIG5vdCBkZWJvdW5jZSB0aGUgaG92ZXIgZXZlbnQgYW5kIHdpbGwgYmUgZGlzcGxheWVkIGluc3RhbnRseS5cbiAgICogSWYgc2V0IHRvIDAgaXQgd2lsbCBkaXNhYmxlIGRlYm91bmNlLlxuICAgKi9cbiAgZGVib3VuY2VEZWxheT86IG51bWJlclxuICAvKipcbiAgICogSWYgeW91IHNldCBhIG1heCBoZWlnaHQga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGFuaW1hdGlvbiBpcyBkaXNhYmxlZCwgb3IgaXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBvbiBzb21lIGJyb3dzZXJzLlxuICAgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKlxuICAgKiBXaWxsIHJlbW92ZSB0aGUgYW5pbWF0aW9uIG9uIHRoZSBwb3B1cCBpZiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBkaXNhYmxlQW5pbWF0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgdGhlIHBvcnRhbCB0YXJnZXQgaXMgY2hpbGRyZW4gY29udGFpbmVyIG9yIGRvY3VtZW50LmJvZHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbi4gWW91IGNhbiBvdmVycmlkZSB0aGlzXG4gICAqIGJlaGF2aW9yIGJ5IHNldHRpbmcgYSBwb3J0YWxUYXJnZXQgcHJvcC5cbiAgICovXG4gIHBvcnRhbFRhcmdldD86IEhUTUxFbGVtZW50XG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IHRoaXMgdG8gdHJ1ZSwgdGhlIHBvcHVwIHdpbGwgYmUgcmVuZGVyZWQgaW4gdGhlIERPTSBvbmx5IHdoZW4gaXQgaXMgdmlzaWJsZS5cbiAgICogV2hlbiBzZXQgdG8gZmFsc2UsIHRoZSBwb3B1cCB3aWxsIGFsd2F5cyBiZSByZW5kZXJlZCBpbiB0aGUgRE9NLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgc2V0IHRvIGB0cnVlYCwgaWYgZm9yIHNvbWVcbiAgICogcmVhc29uIHlvdSBuZWVkIHRvIGRpc2FibGUgaXQsIHlvdSBjYW4gc2V0IGl0IHRvIGBmYWxzZWAuXG4gICAqL1xuICBkeW5hbWljRG9tUmVuZGVyaW5nPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBQb3B1cCA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIHRleHQgPSAnJyxcbiAgICAgIHBsYWNlbWVudCA9ICdhdXRvJyxcbiAgICAgIGFsaWduID0gJ2NlbnRlcicsXG4gICAgICBpZCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIG1heFdpZHRoID0gJzE0LjVyZW0nLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgdmlzaWJsZSxcbiAgICAgIGlubmVyUmVmLFxuICAgICAgcm9sZSA9ICdwb3B1cCcsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgaGFzQXJyb3cgPSB0cnVlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIHRhYkluZGV4ID0gMCxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgICdhcmlhLWhhc3BvcHVwJzogYXJpYUhhc1BvcHVwLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2UsXG4gICAgICBkZWJvdW5jZURlbGF5ID0gREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTixcbiAgICAgIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZSxcbiAgICAgIHBvcnRhbFRhcmdldCxcbiAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmcgPSB0cnVlLFxuICAgIH06IFBvcHVwUHJvcHMsXG4gICAgcmVmOiBSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGlubmVyUmVmLCAoKSA9PiBjaGlsZHJlblJlZi5jdXJyZW50KVxuXG4gICAgY29uc3QgaW5uZXJQb3B1cFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5uZXJQb3B1cFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50KVxuXG4gICAgY29uc3QgdGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ+KClcbiAgICBjb25zdCBwb3B1cFBvcnRhbFRhcmdldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHBvcnRhbFRhcmdldCkgcmV0dXJuIHBvcnRhbFRhcmdldFxuXG4gICAgICBpZiAocm9sZSA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuUmVmLmN1cnJlbnQpIHJldHVybiBjaGlsZHJlblJlZi5jdXJyZW50XG4gICAgICAgIGlmIChpc0NsaWVudFNpZGUpIHJldHVybiBkb2N1bWVudC5ib2R5XG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2UgY2hlY2sgaWYgd2luZG93IGV4aXN0cyBmb3IgU1NSXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbcG9ydGFsVGFyZ2V0LCByb2xlLCBjaGlsZHJlblJlZi5jdXJyZW50XSlcblxuICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlIHdoZW4gbWl4aW5nIGFuaW1hdGlvbiBhbmQgbWF4SGVpZ2h0IG9uIHNvbWUgYnJvd3NlcnMsIHNvIHdlIGRpc2FibGUgYW5pbWF0aW9uIGlmIG1heEhlaWdodCBpcyBzZXQuXG4gICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPVxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiB8fCBtYXhIZWlnaHQgPyAwIDogREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT05cblxuICAgIC8vIERlYm91bmNlIHRpbWVyIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHRoZSBwb3B1cCBmcm9tIGZsaWNrZXJpbmcgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2Ugb3V0IGFuZCBpbiB0aGUgY2hpbGRyZW4gZWxlbWVudC5cbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkPigpXG4gICAgY29uc3QgW3Zpc2libGVJbkRvbSwgc2V0VmlzaWJsZUluRG9tXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtyZXZlcnNlQW5pbWF0aW9uLCBzZXRSZXZlcnNlQW5pbWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxQb3NpdGlvbnNUeXBlPih7XG4gICAgICAuLi5ERUZBVUxUX1BPU0lUSU9OUyxcbiAgICB9KVxuICAgIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKVxuICAgIGNvbnN0IGdlbmVyYXRlZElkID0gaWQgPz8gdW5pcXVlSWRcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSB2aXNpYmxlICE9PSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0UG9zaXRpb25zKFxuICAgICAgICAgIGNvbXB1dGVQb3NpdGlvbnMoe1xuICAgICAgICAgICAgY2hpbGRyZW5SZWYsXG4gICAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgICBwb3B1cFJlZjogaW5uZXJQb3B1cFJlZixcbiAgICAgICAgICAgIHBvcHVwUG9ydGFsVGFyZ2V0OiBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0Fycm93LFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LCBbaGFzQXJyb3csIHBsYWNlbWVudCwgcG9wdXBQb3J0YWxUYXJnZXQsIGFsaWduXSlcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gd2UgbmVlZCB0byByZWNvbXB1dGUgcG9zaXRpb25zIG9mIHBvcHVwIGR1ZSB0byB3aW5kb3cgc2Nyb2xsIG9yIHJlc2l6ZS5cbiAgICAgKi9cbiAgICBjb25zdCBvbldpbmRvd0NoYW5nZURldGVjdGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgLy8gV2UgcmVtb3ZlIGFuaW1hdGlvbiBvbiBzY3JvbGwgb3IgdGhlIGFuaW1hdGlvbiB3aWxsIHJlc3RhcnQgb24gZXZlcnkgc2Nyb2xsXG4gICAgICBpZiAoaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG4gICAgfSwgW2dlbmVyYXRlUG9wdXBQb3NpdGlvbnMsIGlubmVyUG9wdXBSZWZdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlbW92ZSBwb3B1cCBwb3J0YWwgZnJvbSBET00gYW5kIHJlbW92ZSBldmVudCBsaXN0ZW5lciB0byBpdC5cbiAgICAgKi9cbiAgICBjb25zdCB1bm1vdW50UG9wdXBGcm9tRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VmlzaWJsZUluRG9tKGZhbHNlKVxuICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgfSwgW29uV2luZG93Q2hhbmdlRGV0ZWN0ZWRdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIGhpZGUgcG9wdXAuIEEgdGltZW91dCBpcyBzZXQgdG8gYWxsb3cgYW5pbWF0aW9uIGVuZCwgdGhlbiByZW1vdmVcbiAgICAgKiBwb3B1cCBmcm9tIGRvbS5cbiAgICAgKi9cbiAgICBjb25zdCBjbG9zZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFJldmVyc2VBbmltYXRpb24odHJ1ZSlcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB1bm1vdW50UG9wdXBGcm9tRG9tKClcbiAgICAgICAgICAgIG9uQ2xvc2U/LigpXG4gICAgICAgICAgfSwgYW5pbWF0aW9uRHVyYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlRGVsYXkgJiYgIWRpc2FibGVBbmltYXRpb24gPyBkZWJvdW5jZURlbGF5IDogMCxcbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGRpc2FibGVBbmltYXRpb24sXG4gICAgICBkZWJvdW5jZURlbGF5LFxuICAgICAgb25DbG9zZSxcbiAgICAgIHVubW91bnRQb3B1cEZyb21Eb20sXG4gICAgXSlcblxuICAgIC8qKlxuICAgICAqIFdoZW4gbW91c2UgaG92ZXIgb3Igc3RvcCBob3ZlcmluZyBjaGlsZHJlbiB0aGlzIGZ1bmN0aW9uIGRpc3BsYXkgb3IgaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb25cbiAgICAgKiBlbmQsIHRoZW4gcmVtb3ZlIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IG9uUG9pbnRlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZGVib3VuY2VEZWxheSBhbmQgdGhlIHBvcHVwIGlzIG5vdCB2aXNpYmxlLCB3ZSBjbGVhciB0aGUgZGVib3VuY2UgdGltZXJcbiAgICAgICAgaWYgKCF2aXNpYmxlICYmIGRlYm91bmNlRGVsYXkgPiAwICYmIGRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIHVubW91bnQgdGhlIHBvcHVwXG4gICAgICAgIC8vIFRoZXJlIGlzIGRlYm91bmNlIGluIG9yZGVyIHRvIGF2b2lkIHBvcHVwIHRvIGZsaWNrZXIgd2hlbiB3ZSBtb3ZlIHRoZSBtb3VzZSBmcm9tIGNoaWxkcmVuIHRvIHBvcHVwXG4gICAgICAgIC8vIFRpbWVyIGlzIHVzZWQgdG8gZm9sbG93IHRoZSBhbmltYXRpb24gZHVyYXRpb25cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50ICYmICFkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIG1vdW50IHRoZSBwb3B1cFxuICAgICAgICAgIC8vIElmIHRoZSB0aW1lciBleGlzdHMgaXQgbWVhbnMgdGhlIHBvcHVwIHdhcyBhYm91dCB0byB1bW91bnQsIGJ1dCB3ZSBob3ZlcmVkIHRoZSBjaGlsZHJlbiBhZ2FpbixcbiAgICAgICAgICAvLyBzbyB3ZSBjbGVhciB0aGUgdGltZXIgYW5kIHRoZSBwb3B1cCB3aWxsIG5vdCBiZSB1bm1vdW50ZWRcbiAgICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgICAgdGltZXIuY3VycmVudCA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBbmQgaGVyZSBpcyB3aGVuIHdlIGN1cnJlbnRseSBhcmUgaW4gYSBkZWJvdW5jZSB0aW1lciwgaXQgbWVhbnMgcG9wdXAgd2FzIGhvdmVyZWQgZHVyaW5nXG4gICAgICAgICAgLy8gdGhhdCBwZXJpb2QsIGFuZCBzbyB3ZSBjYW4gY2xlYXIgZGVib3VuY2UgdGltZXJcbiAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lci5jdXJyZW50KVxuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJvdW5jZURlbGF5ID4gMCkge1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFZpc2libGVJbkRvbSh0cnVlKVxuICAgICAgICAgICAgfSwgZGVib3VuY2VEZWxheSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjbG9zZVBvcHVwLCBkZWJvdW5jZURlbGF5LCB2aXNpYmxlXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbSB3ZSBjYW4gY29tcHV0ZSBwb3NpdGlvbnMsIHRoZW4gc2V0IGl0IHZpc2libGUgb24gc2NyZWVuIGFuZCBhZGQgZXZlbnQgdG9cbiAgICAgKiByZWNvbXB1dGUgcG9zaXRpb25zIG9uIHNjcm9sbCBvciBzY3JlZW4gcmVzaXplLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZUluRG9tKSB7XG4gICAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMoKVxuXG4gICAgICAgIGlmIChwb3B1cFBvcnRhbFRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZGV0ZWN0IHNjcm9sbCBhbmQgcmVzaXplIGluIG9yZGVyIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXBcbiAgICAgICAgICAvLyBBZGRpbmcgdHJ1ZSBhcyB0aGlyZCBwYXJhbWV0ZXIgdG8gZXZlbnQgbGlzdGVuZXIgd2lsbCBkZXRlY3QgbmVzdGVkIHNjcm9sbHMuXG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgaWYgKHRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIuY3VycmVudClcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zLFxuICAgICAgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgcG9wdXBQb3J0YWxUYXJnZXQsXG4gICAgXSlcblxuICAgIC8vIFRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBwb3NpdGlvbnMgYXJlIGNvbXB1dGVkIGFuZCBwb3B1cCBpcyB2aXNpYmxlIGluIHRoZSBkb20uXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodmlzaWJsZUluRG9tICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcG9zaXRpb25zXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBJZiBwb3B1cCBoYXMgYHZpc2libGVgIHByb3AgaXQgbWVhbnMgdGhlIHBvcHVwIGlzIG1hbnVhbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCB0aGlzIHByb3AuXG4gICAgICogSW4gdGhpcyBjYXMgd2UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IHBvcHVwIG9uIGhvdmVyLCBidXQgb25seSB3aGVuIGB2aXNpYmxlYCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDb250cm9sbGVkKSB7XG4gICAgICAgIG9uUG9pbnRlckV2ZW50KHZpc2libGUpKClcbiAgICAgIH1cbiAgICB9LCBbaXNDb250cm9sbGVkLCBvblBvaW50ZXJFdmVudCwgdmlzaWJsZV0pXG5cbiAgICAvLyBIYW5kbGUgaGlkZSBvbiBlc2MgcHJlc3MgYW5kIGhpZGUgb24gY2xpY2sgb3V0c2lkZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFc2NQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb3B1cEN1cnJlbnQgPSBpbm5lclBvcHVwUmVmLmN1cnJlbnRcbiAgICAgICAgY29uc3QgY2hpbGRyZW5DdXJyZW50ID0gY2hpbGRyZW5SZWYuY3VycmVudFxuXG4gICAgICAgIGlmIChwb3B1cEN1cnJlbnQgJiYgaGlkZU9uQ2xpY2tPdXRzaWRlICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IHBvcHVwQ3VycmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSBjaGlsZHJlbkN1cnJlbnQgJiZcbiAgICAgICAgICAgICFjaGlsZHJlbkN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcHVwQ3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZUVzY1ByZXNzKVxuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG4gICAgfSwgW1xuICAgICAgY2xvc2VQb3B1cCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIGlubmVyUG9wdXBSZWYsXG4gICAgICBjaGlsZHJlblJlZixcbiAgICAgIGhpZGVPbkNsaWNrT3V0c2lkZSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCB3aWxsIG9jY3VyIG9ubHkgZm9yIGRpYWxvZyBhbmQgd2lsbCB0cmFwIGZvY3VzIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNvbnN0IGhhbmRsZUZvY3VzVHJhcDogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldmVudCA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXkgPT09ICdUYWInXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVscyA9XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnYVtocmVmXTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgICAgICAgKSA/PyBbXVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5vIGludGVyYWN0aXZlIGVsZW1lbnQgYXJlIHdpdGhpbiB0aGUgbW9kYWwgKGluY2x1ZGluZyBjbG9zZSBpY29uKVxuICAgICAgaWYgKGZvY3VzYWJsZUVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsID0gZm9jdXNhYmxlRWxzWzBdIGFzIEhUTUxFbGVtZW50XG4gICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbXG4gICAgICAgIGZvY3VzYWJsZUVscy5sZW5ndGggLSAxXG4gICAgICBdIGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbCB8fFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgKSB7XG4gICAgICAgIGZpcnN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICAvKipcbiAgICAgKiBXaWxsIHJlbmRlciBjaGlsZHJlbiBjb25kaXRpb25hbGx5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24gb3Igbm90LlxuICAgICAqL1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW4oe1xuICAgICAgICAgIG9uQmx1cjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgb25Gb2N1czogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJFbnRlcjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgcmVmOiBjaGlsZHJlblJlZixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZENoaWxkcmVuQ29udGFpbmVyXG4gICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgb25CbHVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICBvbkZvY3VzPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICByZWY9e2NoaWxkcmVuUmVmfVxuICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgIG9uS2V5RG93bj8uKGV2ZW50KVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGF0YS1jb250YWluZXItZnVsbC13aWR0aD17Y29udGFpbmVyRnVsbFdpZHRofVxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e2FyaWFIYXNQb3B1cH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDaGlsZHJlbkNvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhcmlhSGFzUG9wdXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIGdlbmVyYXRlZElkLFxuICAgICAgaXNDb250cm9sbGVkLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyRXZlbnQsXG4gICAgICB0YWJJbmRleCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWR5bmFtaWNEb21SZW5kZXJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKGR5bmFtaWNEb21SZW5kZXJpbmcgJiYgdmlzaWJsZUluRG9tKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIFtkeW5hbWljRG9tUmVuZGVyaW5nLCB2aXNpYmxlSW5Eb21dKVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gbnVsbFxuXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBoYW5kbGUgYWxsb3cgdXMgdG8gbm90IGJ1YmJsZSB0aGUgZXZlbnQgdG8gZG9jdW1lbnQuYm9keSBsaWtlIHRoaXMgcmVhY3Qtc2VsZWN0IHdvcmtzIGZpbmVcbiAgICAgKi9cbiAgICBjb25zdCBzdG9wQ2xpY2tQcm9wYWdhdGlvbjogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgICBldmVudC5uYXRpdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cmVuZGVyQ2hpbGRyZW4oKX1cbiAgICAgICAge3Nob3VsZFJlbmRlclxuICAgICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgICA8U3R5bGVkUG9wdXBcbiAgICAgICAgICAgICAgICByZWY9e2lubmVyUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zPXtwb3NpdGlvbnN9XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICAgICAgaWQ9e2dlbmVyYXRlZElkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIHJldmVyc2VBbmltYXRpb249e3JldmVyc2VBbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICAgICAgZGF0YS1oYXMtYXJyb3c9e2hhc0Fycm93fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3N0b3BDbGlja1Byb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17YW5pbWF0aW9uRHVyYXRpb259XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtyb2xlID09PSAnZGlhbG9nJyA/IGhhbmRsZUZvY3VzVHJhcCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBpc0RpYWxvZz17cm9sZSA9PT0gJ2RpYWxvZyd9XG4gICAgICAgICAgICAgICAgZGF0YS12aXNpYmxlLWluLWRvbT17XG4gICAgICAgICAgICAgICAgICAhZHluYW1pY0RvbVJlbmRlcmluZyA/IHZpc2libGVJbkRvbSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhLWFuaW1hdGVkPXthbmltYXRpb25EdXJhdGlvbiA+IDAgJiYgIW1heEhlaWdodH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICA8L1N0eWxlZFBvcHVwPixcbiAgICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
54
54
  const StyledChildrenContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
55
55
  target: "e4h1g860"
56
56
  } : {
@@ -62,17 +62,18 @@ const StyledChildrenContainer = /* @__PURE__ */ _styled("div", process.env.NODE_
62
62
  } : {
63
63
  name: "1y7vhm4",
64
64
  styles: 'display:inherit;&[data-container-full-width="true"]{width:100%;}',
65
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRzBDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRQb3B1cCA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnbWF4V2lkdGgnLFxuICAgICAgJ3Bvc2l0aW9ucycsXG4gICAgICAncmV2ZXJzZUFuaW1hdGlvbicsXG4gICAgICAnbWF4SGVpZ2h0JyxcbiAgICAgICdhbmltYXRpb25EdXJhdGlvbicsXG4gICAgICAnaXNEaWFsb2cnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRQb3B1cFByb3BzPmBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0U3Ryb25nZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAkeyh7IG1heFdpZHRoIH0pID0+XG4gICAgdHlwZW9mIG1heFdpZHRoID09PSAnbnVtYmVyJyA/IGAke21heFdpZHRofXB4YCA6IG1heFdpZHRofTtcbiAgbWF4LWhlaWdodDogJHsoeyBtYXhIZWlnaHQgfSkgPT5cbiAgICB0eXBlb2YgbWF4SGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke21heEhlaWdodH1weGAgOiBtYXhIZWlnaHR9O1xuICBvdmVyZmxvdzogJHsoeyBtYXhIZWlnaHQgfSkgPT4gKG1heEhlaWdodCA/ICdhdXRvJyA6IHVuZGVmaW5lZCl9O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucG9wdXBQb3NpdGlvbn07XG5cbiAgJltkYXRhLWFuaW1hdGVkPVwidHJ1ZVwiXSB7XG4gICAgYW5pbWF0aW9uOiAkeyh7IHBvc2l0aW9ucywgcmV2ZXJzZUFuaW1hdGlvbiwgYW5pbWF0aW9uRHVyYXRpb24gfSkgPT4gY3NzYFxuICAgICAgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAhcmV2ZXJzZUFuaW1hdGlvbiA/IGFuaW1hdGlvbihwb3NpdGlvbnMpIDogZXhpdEFuaW1hdGlvbihwb3NpdGlvbnMpXG4gICAgICB9IGZvcndhcmRzXG4gICAgYH07XG4gIH1cblxuICAmW2RhdGEtaGFzLWFycm93PVwidHJ1ZVwiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RvcH1weDtcbiAgICAgIGxlZnQ6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd0xlZnR9cHg7XG4gICAgICB0cmFuc2Zvcm06ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RyYW5zZm9ybX1cbiAgICAgICAgcm90YXRlKCR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5yb3RhdGV9ZGVnKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAke0RFRkFVTFRfQVJST1dfV0lEVEh9cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlcn1cbiAgICAgICAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmlzaWJsZS1pbi1kb209XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBTdHlsZWRDaGlsZHJlbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgJltkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPVwidHJ1ZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbmBcblxudHlwZSBQb3B1cFByb3BzID0ge1xuICAvKipcbiAgICogSWQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHNldC4gSXQgaXMgdXNlZCBmb3IgYXNzb2NpYXRpbmcgcG9wdXAgd3JhcHBlciB3aXRoIHBvcHVwIHBvcnRhbC5cbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIGNoaWxkcmVuOlxuICAgIHwgUmVhY3ROb2RlXG4gICAgfCAoKHJlbmRlclByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgICAgICBvbkJsdXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Gb2N1czogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJFbnRlcjogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogKCkgPT4gdm9pZFxuICAgICAgICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbiAgICAgIH0pID0+IFJlYWN0Tm9kZSlcbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIGBhdXRvYCBwbGFjZW1lbnQgd2lsbCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBpZiBpdCBkb2Vzbid0IGZpdCBpbiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwbGFjZW1lbnQ/OiBQb3B1cFBsYWNlbWVudFxuICAvKipcbiAgICogQ29udGVudCBvZiB0aGUgcG9wdXAsIHByZWZlcmFibHkgdGV4dCBpbnNpZGUuXG4gICAqL1xuICB0ZXh0PzogUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogSXQgd2lsbCBhZGQgYHdpZHRoOiAxMDAlYCB0byB0aGUgcG9wdXAgY29udGFpbmVyLlxuICAgKi9cbiAgY29udGFpbmVyRnVsbFdpZHRoPzogYm9vbGVhblxuICAvKipcbiAgICogSXQgd2lsbCBmb3JjZSBkaXNwbGF5IHBvcHVwLiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IG5lZWQgdG8gYWx3YXlzIGRpc3BsYXkgdGhlIHBvcHVwIHdpdGhvdXQgaG92ZXIgbmVlZGVkLlxuICAgKi9cbiAgdmlzaWJsZT86IGJvb2xlYW5cbiAgaW5uZXJSZWY/OiBSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICByb2xlPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgaGFzQXJyb3c/OiBib29sZWFuXG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIHRhYkluZGV4PzogbnVtYmVyXG4gIG9uS2V5RG93bj86IEtleWJvYXJkRXZlbnRIYW5kbGVyXG4gICdhcmlhLWhhc3BvcHVwJz86IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PlsnYXJpYS1oYXNwb3B1cCddXG4gIGhpZGVPbkNsaWNrT3V0c2lkZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgZGVib3VuY2VUaW1lIHRvIGZhbHNlLCB0aGUgcG9wdXAgd2lsbCBub3QgZGVib3VuY2UgdGhlIGhvdmVyIGV2ZW50IGFuZCB3aWxsIGJlIGRpc3BsYXllZCBpbnN0YW50bHkuXG4gICAqIElmIHNldCB0byAwIGl0IHdpbGwgZGlzYWJsZSBkZWJvdW5jZS5cbiAgICovXG4gIGRlYm91bmNlRGVsYXk/OiBudW1iZXJcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgYSBtYXggaGVpZ2h0IGtlZXAgaW4gbWluZCB0aGF0IHRoZSBhbmltYXRpb24gaXMgZGlzYWJsZWQsIG9yIGl0IHdpbGwgbm90IHdvcmsgcHJvcGVybHkgb24gc29tZSBicm93c2Vycy5cbiAgICovXG4gIG1heEhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICAvKipcbiAgICogV2lsbCByZW1vdmUgdGhlIGFuaW1hdGlvbiBvbiB0aGUgcG9wdXAgaWYgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgZGlzYWJsZUFuaW1hdGlvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBwb3J0YWwgdGFyZ2V0IGlzIGNoaWxkcmVuIGNvbnRhaW5lciBvciBkb2N1bWVudC5ib2R5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24uIFlvdSBjYW4gb3ZlcnJpZGUgdGhpc1xuICAgKiBiZWhhdmlvciBieSBzZXR0aW5nIGEgcG9ydGFsVGFyZ2V0IHByb3AuXG4gICAqL1xuICBwb3J0YWxUYXJnZXQ/OiBIVE1MRWxlbWVudFxuICAvKipcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRydWUsIHRoZSBwb3B1cCB3aWxsIGJlIHJlbmRlcmVkIGluIHRoZSBET00gb25seSB3aGVuIGl0IGlzIHZpc2libGUuXG4gICAqIFdoZW4gc2V0IHRvIGZhbHNlLCB0aGUgcG9wdXAgd2lsbCBhbHdheXMgYmUgcmVuZGVyZWQgaW4gdGhlIERPTS4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIHNldCB0byBgdHJ1ZWAsIGlmIGZvciBzb21lXG4gICAqIHJlYXNvbiB5b3UgbmVlZCB0byBkaXNhYmxlIGl0LCB5b3UgY2FuIHNldCBpdCB0byBgZmFsc2VgLlxuICAgKi9cbiAgZHluYW1pY0RvbVJlbmRlcmluZz86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgY29tcG9uZW50IGlzIGV4cGVyaW1lbnRhbCBhbmQgbWF5IGJlIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyBpbiB0aGUgZnV0dXJlLlxuICovXG5leHBvcnQgY29uc3QgUG9wdXAgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgY2hpbGRyZW4sXG4gICAgICB0ZXh0ID0gJycsXG4gICAgICBwbGFjZW1lbnQgPSAnYXV0bycsXG4gICAgICBpZCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIG1heFdpZHRoID0gMjMyLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgdmlzaWJsZSxcbiAgICAgIGlubmVyUmVmLFxuICAgICAgcm9sZSA9ICdwb3B1cCcsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgaGFzQXJyb3cgPSB0cnVlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIHRhYkluZGV4ID0gMCxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgICdhcmlhLWhhc3BvcHVwJzogYXJpYUhhc1BvcHVwLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2UsXG4gICAgICBkZWJvdW5jZURlbGF5ID0gREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTixcbiAgICAgIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZSxcbiAgICAgIHBvcnRhbFRhcmdldCxcbiAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmcgPSB0cnVlLFxuICAgIH06IFBvcHVwUHJvcHMsXG4gICAgcmVmOiBSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGlubmVyUmVmLCAoKSA9PiBjaGlsZHJlblJlZi5jdXJyZW50KVxuXG4gICAgY29uc3QgaW5uZXJQb3B1cFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5uZXJQb3B1cFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50KVxuXG4gICAgY29uc3QgdGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ+KClcbiAgICBjb25zdCBwb3B1cFBvcnRhbFRhcmdldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHBvcnRhbFRhcmdldCkgcmV0dXJuIHBvcnRhbFRhcmdldFxuXG4gICAgICBpZiAocm9sZSA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuUmVmLmN1cnJlbnQpIHJldHVybiBjaGlsZHJlblJlZi5jdXJyZW50XG4gICAgICAgIGlmIChpc0NsaWVudFNpZGUpIHJldHVybiBkb2N1bWVudC5ib2R5XG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2UgY2hlY2sgaWYgd2luZG93IGV4aXN0cyBmb3IgU1NSXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbcG9ydGFsVGFyZ2V0LCByb2xlLCBjaGlsZHJlblJlZi5jdXJyZW50XSlcblxuICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlIHdoZW4gbWl4aW5nIGFuaW1hdGlvbiBhbmQgbWF4SGVpZ2h0IG9uIHNvbWUgYnJvd3NlcnMsIHNvIHdlIGRpc2FibGUgYW5pbWF0aW9uIGlmIG1heEhlaWdodCBpcyBzZXQuXG4gICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPVxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiB8fCBtYXhIZWlnaHQgPyAwIDogREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT05cblxuICAgIC8vIERlYm91bmNlIHRpbWVyIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHRoZSBwb3B1cCBmcm9tIGZsaWNrZXJpbmcgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2Ugb3V0IGFuZCBpbiB0aGUgY2hpbGRyZW4gZWxlbWVudC5cbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkPigpXG4gICAgY29uc3QgW3Zpc2libGVJbkRvbSwgc2V0VmlzaWJsZUluRG9tXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtyZXZlcnNlQW5pbWF0aW9uLCBzZXRSZXZlcnNlQW5pbWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxQb3NpdGlvbnNUeXBlPih7XG4gICAgICAuLi5ERUZBVUxUX1BPU0lUSU9OUyxcbiAgICB9KVxuICAgIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKVxuICAgIGNvbnN0IGdlbmVyYXRlZElkID0gaWQgPz8gdW5pcXVlSWRcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSB2aXNpYmxlICE9PSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0UG9zaXRpb25zKFxuICAgICAgICAgIGNvbXB1dGVQb3NpdGlvbnMoe1xuICAgICAgICAgICAgY2hpbGRyZW5SZWYsXG4gICAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgICBwb3B1cFJlZjogaW5uZXJQb3B1cFJlZixcbiAgICAgICAgICAgIHBvcHVwUG9ydGFsVGFyZ2V0OiBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0Fycm93LFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfSwgW2hhc0Fycm93LCBwbGFjZW1lbnQsIHBvcHVwUG9ydGFsVGFyZ2V0XSlcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gd2UgbmVlZCB0byByZWNvbXB1dGUgcG9zaXRpb25zIG9mIHBvcHVwIGR1ZSB0byB3aW5kb3cgc2Nyb2xsIG9yIHJlc2l6ZS5cbiAgICAgKi9cbiAgICBjb25zdCBvbldpbmRvd0NoYW5nZURldGVjdGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgLy8gV2UgcmVtb3ZlIGFuaW1hdGlvbiBvbiBzY3JvbGwgb3IgdGhlIGFuaW1hdGlvbiB3aWxsIHJlc3RhcnQgb24gZXZlcnkgc2Nyb2xsXG4gICAgICBpZiAoaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG4gICAgfSwgW2dlbmVyYXRlUG9wdXBQb3NpdGlvbnMsIGlubmVyUG9wdXBSZWZdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlbW92ZSBwb3B1cCBwb3J0YWwgZnJvbSBET00gYW5kIHJlbW92ZSBldmVudCBsaXN0ZW5lciB0byBpdC5cbiAgICAgKi9cbiAgICBjb25zdCB1bm1vdW50UG9wdXBGcm9tRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VmlzaWJsZUluRG9tKGZhbHNlKVxuICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgfSwgW29uV2luZG93Q2hhbmdlRGV0ZWN0ZWRdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIGhpZGUgcG9wdXAuIEEgdGltZW91dCBpcyBzZXQgdG8gYWxsb3cgYW5pbWF0aW9uIGVuZCwgdGhlbiByZW1vdmVcbiAgICAgKiBwb3B1cCBmcm9tIGRvbS5cbiAgICAgKi9cbiAgICBjb25zdCBjbG9zZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFJldmVyc2VBbmltYXRpb24odHJ1ZSlcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB1bm1vdW50UG9wdXBGcm9tRG9tKClcbiAgICAgICAgICAgIG9uQ2xvc2U/LigpXG4gICAgICAgICAgfSwgYW5pbWF0aW9uRHVyYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlRGVsYXkgJiYgIWRpc2FibGVBbmltYXRpb24gPyBkZWJvdW5jZURlbGF5IDogMCxcbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGRpc2FibGVBbmltYXRpb24sXG4gICAgICBkZWJvdW5jZURlbGF5LFxuICAgICAgb25DbG9zZSxcbiAgICAgIHVubW91bnRQb3B1cEZyb21Eb20sXG4gICAgXSlcblxuICAgIC8qKlxuICAgICAqIFdoZW4gbW91c2UgaG92ZXIgb3Igc3RvcCBob3ZlcmluZyBjaGlsZHJlbiB0aGlzIGZ1bmN0aW9uIGRpc3BsYXkgb3IgaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb25cbiAgICAgKiBlbmQsIHRoZW4gcmVtb3ZlIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IG9uUG9pbnRlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZGVib3VuY2VEZWxheSBhbmQgdGhlIHBvcHVwIGlzIG5vdCB2aXNpYmxlLCB3ZSBjbGVhciB0aGUgZGVib3VuY2UgdGltZXJcbiAgICAgICAgaWYgKCF2aXNpYmxlICYmIGRlYm91bmNlRGVsYXkgPiAwICYmIGRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIHVubW91bnQgdGhlIHBvcHVwXG4gICAgICAgIC8vIFRoZXJlIGlzIGRlYm91bmNlIGluIG9yZGVyIHRvIGF2b2lkIHBvcHVwIHRvIGZsaWNrZXIgd2hlbiB3ZSBtb3ZlIHRoZSBtb3VzZSBmcm9tIGNoaWxkcmVuIHRvIHBvcHVwXG4gICAgICAgIC8vIFRpbWVyIGlzIHVzZWQgdG8gZm9sbG93IHRoZSBhbmltYXRpb24gZHVyYXRpb25cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50ICYmICFkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIG1vdW50IHRoZSBwb3B1cFxuICAgICAgICAgIC8vIElmIHRoZSB0aW1lciBleGlzdHMgaXQgbWVhbnMgdGhlIHBvcHVwIHdhcyBhYm91dCB0byB1bW91bnQsIGJ1dCB3ZSBob3ZlcmVkIHRoZSBjaGlsZHJlbiBhZ2FpbixcbiAgICAgICAgICAvLyBzbyB3ZSBjbGVhciB0aGUgdGltZXIgYW5kIHRoZSBwb3B1cCB3aWxsIG5vdCBiZSB1bm1vdW50ZWRcbiAgICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgICAgdGltZXIuY3VycmVudCA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBbmQgaGVyZSBpcyB3aGVuIHdlIGN1cnJlbnRseSBhcmUgaW4gYSBkZWJvdW5jZSB0aW1lciwgaXQgbWVhbnMgcG9wdXAgd2FzIGhvdmVyZWQgZHVyaW5nXG4gICAgICAgICAgLy8gdGhhdCBwZXJpb2QsIGFuZCBzbyB3ZSBjYW4gY2xlYXIgZGVib3VuY2UgdGltZXJcbiAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lci5jdXJyZW50KVxuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJvdW5jZURlbGF5ID4gMCkge1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFZpc2libGVJbkRvbSh0cnVlKVxuICAgICAgICAgICAgfSwgZGVib3VuY2VEZWxheSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjbG9zZVBvcHVwLCBkZWJvdW5jZURlbGF5LCB2aXNpYmxlXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbSB3ZSBjYW4gY29tcHV0ZSBwb3NpdGlvbnMsIHRoZW4gc2V0IGl0IHZpc2libGUgb24gc2NyZWVuIGFuZCBhZGQgZXZlbnQgdG9cbiAgICAgKiByZWNvbXB1dGUgcG9zaXRpb25zIG9uIHNjcm9sbCBvciBzY3JlZW4gcmVzaXplLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZUluRG9tKSB7XG4gICAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMoKVxuXG4gICAgICAgIGlmIChwb3B1cFBvcnRhbFRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZGV0ZWN0IHNjcm9sbCBhbmQgcmVzaXplIGluIG9yZGVyIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXBcbiAgICAgICAgICAvLyBBZGRpbmcgdHJ1ZSBhcyB0aGlyZCBwYXJhbWV0ZXIgdG8gZXZlbnQgbGlzdGVuZXIgd2lsbCBkZXRlY3QgbmVzdGVkIHNjcm9sbHMuXG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgaWYgKHRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIuY3VycmVudClcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zLFxuICAgICAgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgcG9wdXBQb3J0YWxUYXJnZXQsXG4gICAgXSlcblxuICAgIC8vIFRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBwb3NpdGlvbnMgYXJlIGNvbXB1dGVkIGFuZCBwb3B1cCBpcyB2aXNpYmxlIGluIHRoZSBkb20uXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodmlzaWJsZUluRG9tICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcG9zaXRpb25zXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBJZiBwb3B1cCBoYXMgYHZpc2libGVgIHByb3AgaXQgbWVhbnMgdGhlIHBvcHVwIGlzIG1hbnVhbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCB0aGlzIHByb3AuXG4gICAgICogSW4gdGhpcyBjYXMgd2UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IHBvcHVwIG9uIGhvdmVyLCBidXQgb25seSB3aGVuIGB2aXNpYmxlYCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDb250cm9sbGVkKSB7XG4gICAgICAgIG9uUG9pbnRlckV2ZW50KHZpc2libGUpKClcbiAgICAgIH1cbiAgICB9LCBbaXNDb250cm9sbGVkLCBvblBvaW50ZXJFdmVudCwgdmlzaWJsZV0pXG5cbiAgICAvLyBIYW5kbGUgaGlkZSBvbiBlc2MgcHJlc3MgYW5kIGhpZGUgb24gY2xpY2sgb3V0c2lkZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFc2NQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb3B1cEN1cnJlbnQgPSBpbm5lclBvcHVwUmVmLmN1cnJlbnRcbiAgICAgICAgY29uc3QgY2hpbGRyZW5DdXJyZW50ID0gY2hpbGRyZW5SZWYuY3VycmVudFxuXG4gICAgICAgIGlmIChwb3B1cEN1cnJlbnQgJiYgaGlkZU9uQ2xpY2tPdXRzaWRlICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IHBvcHVwQ3VycmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSBjaGlsZHJlbkN1cnJlbnQgJiZcbiAgICAgICAgICAgICFjaGlsZHJlbkN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcHVwQ3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZUVzY1ByZXNzKVxuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG4gICAgfSwgW1xuICAgICAgY2xvc2VQb3B1cCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIGlubmVyUG9wdXBSZWYsXG4gICAgICBjaGlsZHJlblJlZixcbiAgICAgIGhpZGVPbkNsaWNrT3V0c2lkZSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCB3aWxsIG9jY3VyIG9ubHkgZm9yIGRpYWxvZyBhbmQgd2lsbCB0cmFwIGZvY3VzIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNvbnN0IGhhbmRsZUZvY3VzVHJhcDogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldmVudCA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXkgPT09ICdUYWInXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVscyA9XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnYVtocmVmXTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgICAgICAgKSA/PyBbXVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5vIGludGVyYWN0aXZlIGVsZW1lbnQgYXJlIHdpdGhpbiB0aGUgbW9kYWwgKGluY2x1ZGluZyBjbG9zZSBpY29uKVxuICAgICAgaWYgKGZvY3VzYWJsZUVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsID0gZm9jdXNhYmxlRWxzWzBdIGFzIEhUTUxFbGVtZW50XG4gICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbXG4gICAgICAgIGZvY3VzYWJsZUVscy5sZW5ndGggLSAxXG4gICAgICBdIGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbCB8fFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgKSB7XG4gICAgICAgIGZpcnN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICAvKipcbiAgICAgKiBXaWxsIHJlbmRlciBjaGlsZHJlbiBjb25kaXRpb25hbGx5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24gb3Igbm90LlxuICAgICAqL1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW4oe1xuICAgICAgICAgIG9uQmx1cjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgb25Gb2N1czogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJFbnRlcjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgcmVmOiBjaGlsZHJlblJlZixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZENoaWxkcmVuQ29udGFpbmVyXG4gICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgb25CbHVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICBvbkZvY3VzPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICByZWY9e2NoaWxkcmVuUmVmfVxuICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgIG9uS2V5RG93bj8uKGV2ZW50KVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGF0YS1jb250YWluZXItZnVsbC13aWR0aD17Y29udGFpbmVyRnVsbFdpZHRofVxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e2FyaWFIYXNQb3B1cH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDaGlsZHJlbkNvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhcmlhSGFzUG9wdXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIGdlbmVyYXRlZElkLFxuICAgICAgaXNDb250cm9sbGVkLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyRXZlbnQsXG4gICAgICB0YWJJbmRleCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWR5bmFtaWNEb21SZW5kZXJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKGR5bmFtaWNEb21SZW5kZXJpbmcgJiYgdmlzaWJsZUluRG9tKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIFtkeW5hbWljRG9tUmVuZGVyaW5nLCB2aXNpYmxlSW5Eb21dKVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gbnVsbFxuXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBoYW5kbGUgYWxsb3cgdXMgdG8gbm90IGJ1YmJsZSB0aGUgZXZlbnQgdG8gZG9jdW1lbnQuYm9keSBsaWtlIHRoaXMgcmVhY3Qtc2VsZWN0IHdvcmtzIGZpbmVcbiAgICAgKi9cbiAgICBjb25zdCBzdG9wQ2xpY2tQcm9wYWdhdGlvbjogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgICBldmVudC5uYXRpdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cmVuZGVyQ2hpbGRyZW4oKX1cbiAgICAgICAge3Nob3VsZFJlbmRlclxuICAgICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgICA8U3R5bGVkUG9wdXBcbiAgICAgICAgICAgICAgICByZWY9e2lubmVyUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zPXtwb3NpdGlvbnN9XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICAgICAgaWQ9e2dlbmVyYXRlZElkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIHJldmVyc2VBbmltYXRpb249e3JldmVyc2VBbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICAgICAgZGF0YS1oYXMtYXJyb3c9e2hhc0Fycm93fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3N0b3BDbGlja1Byb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17YW5pbWF0aW9uRHVyYXRpb259XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtyb2xlID09PSAnZGlhbG9nJyA/IGhhbmRsZUZvY3VzVHJhcCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBpc0RpYWxvZz17cm9sZSA9PT0gJ2RpYWxvZyd9XG4gICAgICAgICAgICAgICAgZGF0YS12aXNpYmxlLWluLWRvbT17XG4gICAgICAgICAgICAgICAgICAhZHluYW1pY0RvbVJlbmRlcmluZyA/IHZpc2libGVJbkRvbSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhLWFuaW1hdGVkPXthbmltYXRpb25EdXJhdGlvbiA+IDAgJiYgIW1heEhlaWdodH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICA8L1N0eWxlZFBvcHVwPixcbiAgICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9LFxuKVxuIl19 */",
65
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRzBDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRQb3B1cCA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnbWF4V2lkdGgnLFxuICAgICAgJ3Bvc2l0aW9ucycsXG4gICAgICAncmV2ZXJzZUFuaW1hdGlvbicsXG4gICAgICAnbWF4SGVpZ2h0JyxcbiAgICAgICdhbmltYXRpb25EdXJhdGlvbicsXG4gICAgICAnaXNEaWFsb2cnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRQb3B1cFByb3BzPmBcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0U3Ryb25nZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAkeyh7IG1heFdpZHRoIH0pID0+XG4gICAgdHlwZW9mIG1heFdpZHRoID09PSAnbnVtYmVyJyA/IGAke21heFdpZHRofXB4YCA6IG1heFdpZHRofTtcbiAgbWF4LWhlaWdodDogJHsoeyBtYXhIZWlnaHQgfSkgPT5cbiAgICB0eXBlb2YgbWF4SGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke21heEhlaWdodH1weGAgOiBtYXhIZWlnaHR9O1xuICBvdmVyZmxvdzogJHsoeyBtYXhIZWlnaHQgfSkgPT4gKG1heEhlaWdodCA/ICdhdXRvJyA6IHVuZGVmaW5lZCl9O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucG9wdXBQb3NpdGlvbn07XG5cbiAgJltkYXRhLWFuaW1hdGVkPVwidHJ1ZVwiXSB7XG4gICAgYW5pbWF0aW9uOiAkeyh7IHBvc2l0aW9ucywgcmV2ZXJzZUFuaW1hdGlvbiwgYW5pbWF0aW9uRHVyYXRpb24gfSkgPT4gY3NzYFxuICAgICAgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAhcmV2ZXJzZUFuaW1hdGlvbiA/IGFuaW1hdGlvbihwb3NpdGlvbnMpIDogZXhpdEFuaW1hdGlvbihwb3NpdGlvbnMpXG4gICAgICB9IGZvcndhcmRzXG4gICAgYH07XG4gIH1cblxuICAmW2RhdGEtaGFzLWFycm93PVwidHJ1ZVwiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RvcH1weDtcbiAgICAgIGxlZnQ6ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd0xlZnR9cHg7XG4gICAgICB0cmFuc2Zvcm06ICR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5hcnJvd1RyYW5zZm9ybX1cbiAgICAgICAgcm90YXRlKCR7KHsgcG9zaXRpb25zIH0pID0+IHBvc2l0aW9ucy5yb3RhdGV9ZGVnKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAke0RFRkFVTFRfQVJST1dfV0lEVEh9cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmdlcn1cbiAgICAgICAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmlzaWJsZS1pbi1kb209XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYFxuXG5jb25zdCBTdHlsZWRDaGlsZHJlbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgJltkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPVwidHJ1ZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbmBcblxudHlwZSBQb3B1cFByb3BzID0ge1xuICAvKipcbiAgICogSWQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHNldC4gSXQgaXMgdXNlZCBmb3IgYXNzb2NpYXRpbmcgcG9wdXAgd3JhcHBlciB3aXRoIHBvcHVwIHBvcnRhbC5cbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIGNoaWxkcmVuOlxuICAgIHwgUmVhY3ROb2RlXG4gICAgfCAoKHJlbmRlclByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgICAgICBvbkJsdXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Gb2N1czogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJFbnRlcjogKCkgPT4gdm9pZFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogKCkgPT4gdm9pZFxuICAgICAgICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbiAgICAgIH0pID0+IFJlYWN0Tm9kZSlcbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqXG4gICAqIGBhdXRvYCBwbGFjZW1lbnQgd2lsbCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBpZiBpdCBkb2Vzbid0IGZpdCBpbiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBwbGFjZW1lbnQ/OiBQb3B1cFBsYWNlbWVudFxuICAvKipcbiAgICogQWxpZ24gdGhlIHBvcHVwIHRvIHRoZSBzdGFydCBvciBjZW50ZXIgb2YgdGhlIGNoaWxkcmVuLlxuICAgKi9cbiAgYWxpZ24/OiBQb3B1cEFsaWduXG4gIC8qKlxuICAgKiBDb250ZW50IG9mIHRoZSBwb3B1cCwgcHJlZmVyYWJseSB0ZXh0IGluc2lkZS5cbiAgICovXG4gIHRleHQ/OiBSZWFjdE5vZGVcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBJdCB3aWxsIGFkZCBgd2lkdGg6IDEwMCVgIHRvIHRoZSBwb3B1cCBjb250YWluZXIuXG4gICAqL1xuICBjb250YWluZXJGdWxsV2lkdGg/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJdCB3aWxsIGZvcmNlIGRpc3BsYXkgcG9wdXAuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgbmVlZCB0byBhbHdheXMgZGlzcGxheSB0aGUgcG9wdXAgd2l0aG91dCBob3ZlciBuZWVkZWQuXG4gICAqL1xuICB2aXNpYmxlPzogYm9vbGVhblxuICBpbm5lclJlZj86IFJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+XG4gIHJvbGU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBoYXNBcnJvdz86IGJvb2xlYW5cbiAgb25DbG9zZT86ICgpID0+IHZvaWRcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXJcbiAgJ2FyaWEtaGFzcG9wdXAnPzogSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+WydhcmlhLWhhc3BvcHVwJ11cbiAgaGlkZU9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgeW91IHNldCBkZWJvdW5jZVRpbWUgdG8gZmFsc2UsIHRoZSBwb3B1cCB3aWxsIG5vdCBkZWJvdW5jZSB0aGUgaG92ZXIgZXZlbnQgYW5kIHdpbGwgYmUgZGlzcGxheWVkIGluc3RhbnRseS5cbiAgICogSWYgc2V0IHRvIDAgaXQgd2lsbCBkaXNhYmxlIGRlYm91bmNlLlxuICAgKi9cbiAgZGVib3VuY2VEZWxheT86IG51bWJlclxuICAvKipcbiAgICogSWYgeW91IHNldCBhIG1heCBoZWlnaHQga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGFuaW1hdGlvbiBpcyBkaXNhYmxlZCwgb3IgaXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSBvbiBzb21lIGJyb3dzZXJzLlxuICAgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKlxuICAgKiBXaWxsIHJlbW92ZSB0aGUgYW5pbWF0aW9uIG9uIHRoZSBwb3B1cCBpZiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBkaXNhYmxlQW5pbWF0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgdGhlIHBvcnRhbCB0YXJnZXQgaXMgY2hpbGRyZW4gY29udGFpbmVyIG9yIGRvY3VtZW50LmJvZHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbi4gWW91IGNhbiBvdmVycmlkZSB0aGlzXG4gICAqIGJlaGF2aW9yIGJ5IHNldHRpbmcgYSBwb3J0YWxUYXJnZXQgcHJvcC5cbiAgICovXG4gIHBvcnRhbFRhcmdldD86IEhUTUxFbGVtZW50XG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IHRoaXMgdG8gdHJ1ZSwgdGhlIHBvcHVwIHdpbGwgYmUgcmVuZGVyZWQgaW4gdGhlIERPTSBvbmx5IHdoZW4gaXQgaXMgdmlzaWJsZS5cbiAgICogV2hlbiBzZXQgdG8gZmFsc2UsIHRoZSBwb3B1cCB3aWxsIGFsd2F5cyBiZSByZW5kZXJlZCBpbiB0aGUgRE9NLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgc2V0IHRvIGB0cnVlYCwgaWYgZm9yIHNvbWVcbiAgICogcmVhc29uIHlvdSBuZWVkIHRvIGRpc2FibGUgaXQsIHlvdSBjYW4gc2V0IGl0IHRvIGBmYWxzZWAuXG4gICAqL1xuICBkeW5hbWljRG9tUmVuZGVyaW5nPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWwgVGhpcyBjb21wb25lbnQgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIGluIHRoZSBmdXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBQb3B1cCA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIHRleHQgPSAnJyxcbiAgICAgIHBsYWNlbWVudCA9ICdhdXRvJyxcbiAgICAgIGFsaWduID0gJ2NlbnRlcicsXG4gICAgICBpZCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIG1heFdpZHRoID0gJzE0LjVyZW0nLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgdmlzaWJsZSxcbiAgICAgIGlubmVyUmVmLFxuICAgICAgcm9sZSA9ICdwb3B1cCcsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICAgICAgaGFzQXJyb3cgPSB0cnVlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIHRhYkluZGV4ID0gMCxcbiAgICAgIG9uS2V5RG93bixcbiAgICAgICdhcmlhLWhhc3BvcHVwJzogYXJpYUhhc1BvcHVwLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2UsXG4gICAgICBkZWJvdW5jZURlbGF5ID0gREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTixcbiAgICAgIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZSxcbiAgICAgIHBvcnRhbFRhcmdldCxcbiAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmcgPSB0cnVlLFxuICAgIH06IFBvcHVwUHJvcHMsXG4gICAgcmVmOiBSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGlubmVyUmVmLCAoKSA9PiBjaGlsZHJlblJlZi5jdXJyZW50KVxuXG4gICAgY29uc3QgaW5uZXJQb3B1cFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5uZXJQb3B1cFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50KVxuXG4gICAgY29uc3QgdGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ+KClcbiAgICBjb25zdCBwb3B1cFBvcnRhbFRhcmdldCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHBvcnRhbFRhcmdldCkgcmV0dXJuIHBvcnRhbFRhcmdldFxuXG4gICAgICBpZiAocm9sZSA9PT0gJ2RpYWxvZycpIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuUmVmLmN1cnJlbnQpIHJldHVybiBjaGlsZHJlblJlZi5jdXJyZW50XG4gICAgICAgIGlmIChpc0NsaWVudFNpZGUpIHJldHVybiBkb2N1bWVudC5ib2R5XG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2UgY2hlY2sgaWYgd2luZG93IGV4aXN0cyBmb3IgU1NSXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbcG9ydGFsVGFyZ2V0LCByb2xlLCBjaGlsZHJlblJlZi5jdXJyZW50XSlcblxuICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlIHdoZW4gbWl4aW5nIGFuaW1hdGlvbiBhbmQgbWF4SGVpZ2h0IG9uIHNvbWUgYnJvd3NlcnMsIHNvIHdlIGRpc2FibGUgYW5pbWF0aW9uIGlmIG1heEhlaWdodCBpcyBzZXQuXG4gICAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPVxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiB8fCBtYXhIZWlnaHQgPyAwIDogREVGQVVMVF9BTklNQVRJT05fRFVSQVRJT05cblxuICAgIC8vIERlYm91bmNlIHRpbWVyIHdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHRoZSBwb3B1cCBmcm9tIGZsaWNrZXJpbmcgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2Ugb3V0IGFuZCBpbiB0aGUgY2hpbGRyZW4gZWxlbWVudC5cbiAgICBjb25zdCBkZWJvdW5jZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkPigpXG4gICAgY29uc3QgW3Zpc2libGVJbkRvbSwgc2V0VmlzaWJsZUluRG9tXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtyZXZlcnNlQW5pbWF0aW9uLCBzZXRSZXZlcnNlQW5pbWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwb3NpdGlvbnMsIHNldFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxQb3NpdGlvbnNUeXBlPih7XG4gICAgICAuLi5ERUZBVUxUX1BPU0lUSU9OUyxcbiAgICB9KVxuICAgIGNvbnN0IHVuaXF1ZUlkID0gdXNlSWQoKVxuICAgIGNvbnN0IGdlbmVyYXRlZElkID0gaWQgPz8gdW5pcXVlSWRcbiAgICBjb25zdCBpc0NvbnRyb2xsZWQgPSB2aXNpYmxlICE9PSB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0UG9zaXRpb25zKFxuICAgICAgICAgIGNvbXB1dGVQb3NpdGlvbnMoe1xuICAgICAgICAgICAgY2hpbGRyZW5SZWYsXG4gICAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgICBwb3B1cFJlZjogaW5uZXJQb3B1cFJlZixcbiAgICAgICAgICAgIHBvcHVwUG9ydGFsVGFyZ2V0OiBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0Fycm93LFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LCBbaGFzQXJyb3csIHBsYWNlbWVudCwgcG9wdXBQb3J0YWxUYXJnZXQsIGFsaWduXSlcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gd2UgbmVlZCB0byByZWNvbXB1dGUgcG9zaXRpb25zIG9mIHBvcHVwIGR1ZSB0byB3aW5kb3cgc2Nyb2xsIG9yIHJlc2l6ZS5cbiAgICAgKi9cbiAgICBjb25zdCBvbldpbmRvd0NoYW5nZURldGVjdGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgLy8gV2UgcmVtb3ZlIGFuaW1hdGlvbiBvbiBzY3JvbGwgb3IgdGhlIGFuaW1hdGlvbiB3aWxsIHJlc3RhcnQgb24gZXZlcnkgc2Nyb2xsXG4gICAgICBpZiAoaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG4gICAgfSwgW2dlbmVyYXRlUG9wdXBQb3NpdGlvbnMsIGlubmVyUG9wdXBSZWZdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlbW92ZSBwb3B1cCBwb3J0YWwgZnJvbSBET00gYW5kIHJlbW92ZSBldmVudCBsaXN0ZW5lciB0byBpdC5cbiAgICAgKi9cbiAgICBjb25zdCB1bm1vdW50UG9wdXBGcm9tRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VmlzaWJsZUluRG9tKGZhbHNlKVxuICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgfSwgW29uV2luZG93Q2hhbmdlRGV0ZWN0ZWRdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIGhpZGUgcG9wdXAuIEEgdGltZW91dCBpcyBzZXQgdG8gYWxsb3cgYW5pbWF0aW9uIGVuZCwgdGhlbiByZW1vdmVcbiAgICAgKiBwb3B1cCBmcm9tIGRvbS5cbiAgICAgKi9cbiAgICBjb25zdCBjbG9zZVBvcHVwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFJldmVyc2VBbmltYXRpb24odHJ1ZSlcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB1bm1vdW50UG9wdXBGcm9tRG9tKClcbiAgICAgICAgICAgIG9uQ2xvc2U/LigpXG4gICAgICAgICAgfSwgYW5pbWF0aW9uRHVyYXRpb24pXG4gICAgICAgIH0sXG4gICAgICAgIGRlYm91bmNlRGVsYXkgJiYgIWRpc2FibGVBbmltYXRpb24gPyBkZWJvdW5jZURlbGF5IDogMCxcbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgIGRpc2FibGVBbmltYXRpb24sXG4gICAgICBkZWJvdW5jZURlbGF5LFxuICAgICAgb25DbG9zZSxcbiAgICAgIHVubW91bnRQb3B1cEZyb21Eb20sXG4gICAgXSlcblxuICAgIC8qKlxuICAgICAqIFdoZW4gbW91c2UgaG92ZXIgb3Igc3RvcCBob3ZlcmluZyBjaGlsZHJlbiB0aGlzIGZ1bmN0aW9uIGRpc3BsYXkgb3IgaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb25cbiAgICAgKiBlbmQsIHRoZW4gcmVtb3ZlIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IG9uUG9pbnRlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZGVib3VuY2VEZWxheSBhbmQgdGhlIHBvcHVwIGlzIG5vdCB2aXNpYmxlLCB3ZSBjbGVhciB0aGUgZGVib3VuY2UgdGltZXJcbiAgICAgICAgaWYgKCF2aXNpYmxlICYmIGRlYm91bmNlRGVsYXkgPiAwICYmIGRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIHVubW91bnQgdGhlIHBvcHVwXG4gICAgICAgIC8vIFRoZXJlIGlzIGRlYm91bmNlIGluIG9yZGVyIHRvIGF2b2lkIHBvcHVwIHRvIGZsaWNrZXIgd2hlbiB3ZSBtb3ZlIHRoZSBtb3VzZSBmcm9tIGNoaWxkcmVuIHRvIHBvcHVwXG4gICAgICAgIC8vIFRpbWVyIGlzIHVzZWQgdG8gZm9sbG93IHRoZSBhbmltYXRpb24gZHVyYXRpb25cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50ICYmICFkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAvLyBUaGlzIGNvbmRpdGlvbiBpcyBmb3Igd2hlbiB3ZSB3YW50IHRvIG1vdW50IHRoZSBwb3B1cFxuICAgICAgICAgIC8vIElmIHRoZSB0aW1lciBleGlzdHMgaXQgbWVhbnMgdGhlIHBvcHVwIHdhcyBhYm91dCB0byB1bW91bnQsIGJ1dCB3ZSBob3ZlcmVkIHRoZSBjaGlsZHJlbiBhZ2FpbixcbiAgICAgICAgICAvLyBzbyB3ZSBjbGVhciB0aGUgdGltZXIgYW5kIHRoZSBwb3B1cCB3aWxsIG5vdCBiZSB1bm1vdW50ZWRcbiAgICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbihmYWxzZSlcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgICAgdGltZXIuY3VycmVudCA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBbmQgaGVyZSBpcyB3aGVuIHdlIGN1cnJlbnRseSBhcmUgaW4gYSBkZWJvdW5jZSB0aW1lciwgaXQgbWVhbnMgcG9wdXAgd2FzIGhvdmVyZWQgZHVyaW5nXG4gICAgICAgICAgLy8gdGhhdCBwZXJpb2QsIGFuZCBzbyB3ZSBjYW4gY2xlYXIgZGVib3VuY2UgdGltZXJcbiAgICAgICAgICBpZiAoZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VUaW1lci5jdXJyZW50KVxuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJvdW5jZURlbGF5ID4gMCkge1xuICAgICAgICAgICAgZGVib3VuY2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFZpc2libGVJbkRvbSh0cnVlKVxuICAgICAgICAgICAgfSwgZGVib3VuY2VEZWxheSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjbG9zZVBvcHVwLCBkZWJvdW5jZURlbGF5LCB2aXNpYmxlXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbSB3ZSBjYW4gY29tcHV0ZSBwb3NpdGlvbnMsIHRoZW4gc2V0IGl0IHZpc2libGUgb24gc2NyZWVuIGFuZCBhZGQgZXZlbnQgdG9cbiAgICAgKiByZWNvbXB1dGUgcG9zaXRpb25zIG9uIHNjcm9sbCBvciBzY3JlZW4gcmVzaXplLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZUluRG9tKSB7XG4gICAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMoKVxuXG4gICAgICAgIGlmIChwb3B1cFBvcnRhbFRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgIC8vIFdlIHdhbnQgdG8gZGV0ZWN0IHNjcm9sbCBhbmQgcmVzaXplIGluIG9yZGVyIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXBcbiAgICAgICAgICAvLyBBZGRpbmcgdHJ1ZSBhcyB0aGlyZCBwYXJhbWV0ZXIgdG8gZXZlbnQgbGlzdGVuZXIgd2lsbCBkZXRlY3QgbmVzdGVkIHNjcm9sbHMuXG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgaWYgKHRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIuY3VycmVudClcbiAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zLFxuICAgICAgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgcG9wdXBQb3J0YWxUYXJnZXQsXG4gICAgXSlcblxuICAgIC8vIFRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBwb3NpdGlvbnMgYXJlIGNvbXB1dGVkIGFuZCBwb3B1cCBpcyB2aXNpYmxlIGluIHRoZSBkb20uXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodmlzaWJsZUluRG9tICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcG9zaXRpb25zXSxcbiAgICApXG5cbiAgICAvKipcbiAgICAgKiBJZiBwb3B1cCBoYXMgYHZpc2libGVgIHByb3AgaXQgbWVhbnMgdGhlIHBvcHVwIGlzIG1hbnVhbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCB0aGlzIHByb3AuXG4gICAgICogSW4gdGhpcyBjYXMgd2UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IHBvcHVwIG9uIGhvdmVyLCBidXQgb25seSB3aGVuIGB2aXNpYmxlYCBpcyB0cnVlLlxuICAgICAqL1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDb250cm9sbGVkKSB7XG4gICAgICAgIG9uUG9pbnRlckV2ZW50KHZpc2libGUpKClcbiAgICAgIH1cbiAgICB9LCBbaXNDb250cm9sbGVkLCBvblBvaW50ZXJFdmVudCwgdmlzaWJsZV0pXG5cbiAgICAvLyBIYW5kbGUgaGlkZSBvbiBlc2MgcHJlc3MgYW5kIGhpZGUgb24gY2xpY2sgb3V0c2lkZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFc2NQcmVzcyA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb3B1cEN1cnJlbnQgPSBpbm5lclBvcHVwUmVmLmN1cnJlbnRcbiAgICAgICAgY29uc3QgY2hpbGRyZW5DdXJyZW50ID0gY2hpbGRyZW5SZWYuY3VycmVudFxuXG4gICAgICAgIGlmIChwb3B1cEN1cnJlbnQgJiYgaGlkZU9uQ2xpY2tPdXRzaWRlICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IHBvcHVwQ3VycmVudCAmJlxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSBjaGlsZHJlbkN1cnJlbnQgJiZcbiAgICAgICAgICAgICFjaGlsZHJlbkN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcHVwQ3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICBjbG9zZVBvcHVwKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZUVzY1ByZXNzKVxuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG4gICAgfSwgW1xuICAgICAgY2xvc2VQb3B1cCxcbiAgICAgIHZpc2libGVJbkRvbSxcbiAgICAgIGlubmVyUG9wdXBSZWYsXG4gICAgICBjaGlsZHJlblJlZixcbiAgICAgIGhpZGVPbkNsaWNrT3V0c2lkZSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCB3aWxsIG9jY3VyIG9ubHkgZm9yIGRpYWxvZyBhbmQgd2lsbCB0cmFwIGZvY3VzIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNvbnN0IGhhbmRsZUZvY3VzVHJhcDogS2V5Ym9hcmRFdmVudEhhbmRsZXIgPSB1c2VDYWxsYmFjayhldmVudCA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXkgPT09ICdUYWInXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVscyA9XG4gICAgICAgIGlubmVyUG9wdXBSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnYVtocmVmXTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgICAgICAgKSA/PyBbXVxuXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5vIGludGVyYWN0aXZlIGVsZW1lbnQgYXJlIHdpdGhpbiB0aGUgbW9kYWwgKGluY2x1ZGluZyBjbG9zZSBpY29uKVxuICAgICAgaWYgKGZvY3VzYWJsZUVscy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsID0gZm9jdXNhYmxlRWxzWzBdIGFzIEhUTUxFbGVtZW50XG4gICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbXG4gICAgICAgIGZvY3VzYWJsZUVscy5sZW5ndGggLSAxXG4gICAgICBdIGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbCB8fFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgKSB7XG4gICAgICAgIGZpcnN0Rm9jdXNhYmxlRWwuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICAvKipcbiAgICAgKiBXaWxsIHJlbmRlciBjaGlsZHJlbiBjb25kaXRpb25hbGx5IGlmIGNoaWxkcmVuIGlzIGEgZnVuY3Rpb24gb3Igbm90LlxuICAgICAqL1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW4oe1xuICAgICAgICAgIG9uQmx1cjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgb25Gb2N1czogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJFbnRlcjogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KHRydWUpIDogbm9vcCxcbiAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogIWlzQ29udHJvbGxlZCA/IG9uUG9pbnRlckV2ZW50KGZhbHNlKSA6IG5vb3AsXG4gICAgICAgICAgcmVmOiBjaGlsZHJlblJlZixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZENoaWxkcmVuQ29udGFpbmVyXG4gICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgb25CbHVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICBvbkZvY3VzPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICByZWY9e2NoaWxkcmVuUmVmfVxuICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICBvbktleURvd249e2V2ZW50ID0+IHtcbiAgICAgICAgICAgIG9uS2V5RG93bj8uKGV2ZW50KVxuICAgICAgICAgIH19XG4gICAgICAgICAgZGF0YS1jb250YWluZXItZnVsbC13aWR0aD17Y29udGFpbmVyRnVsbFdpZHRofVxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9e2FyaWFIYXNQb3B1cH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDaGlsZHJlbkNvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9LCBbXG4gICAgICBhcmlhSGFzUG9wdXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNvbnRhaW5lckZ1bGxXaWR0aCxcbiAgICAgIGdlbmVyYXRlZElkLFxuICAgICAgaXNDb250cm9sbGVkLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgb25Qb2ludGVyRXZlbnQsXG4gICAgICB0YWJJbmRleCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWR5bmFtaWNEb21SZW5kZXJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKGR5bmFtaWNEb21SZW5kZXJpbmcgJiYgdmlzaWJsZUluRG9tKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIFtkeW5hbWljRG9tUmVuZGVyaW5nLCB2aXNpYmxlSW5Eb21dKVxuXG4gICAgaWYgKCF0ZXh0KSB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gbnVsbFxuXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBoYW5kbGUgYWxsb3cgdXMgdG8gbm90IGJ1YmJsZSB0aGUgZXZlbnQgdG8gZG9jdW1lbnQuYm9keSBsaWtlIHRoaXMgcmVhY3Qtc2VsZWN0IHdvcmtzIGZpbmVcbiAgICAgKi9cbiAgICBjb25zdCBzdG9wQ2xpY2tQcm9wYWdhdGlvbjogTW91c2VFdmVudEhhbmRsZXIgPSBldmVudCA9PiB7XG4gICAgICBldmVudC5uYXRpdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cmVuZGVyQ2hpbGRyZW4oKX1cbiAgICAgICAge3Nob3VsZFJlbmRlclxuICAgICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgICA8U3R5bGVkUG9wdXBcbiAgICAgICAgICAgICAgICByZWY9e2lubmVyUG9wdXBSZWZ9XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zPXtwb3NpdGlvbnN9XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgICAgICAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgICAgICAgaWQ9e2dlbmVyYXRlZElkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIHJldmVyc2VBbmltYXRpb249e3JldmVyc2VBbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICAgICAgZGF0YS1oYXMtYXJyb3c9e2hhc0Fycm93fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3N0b3BDbGlja1Byb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckVudGVyPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlPXshaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17YW5pbWF0aW9uRHVyYXRpb259XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXtyb2xlID09PSAnZGlhbG9nJyA/IGhhbmRsZUZvY3VzVHJhcCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBpc0RpYWxvZz17cm9sZSA9PT0gJ2RpYWxvZyd9XG4gICAgICAgICAgICAgICAgZGF0YS12aXNpYmxlLWluLWRvbT17XG4gICAgICAgICAgICAgICAgICAhZHluYW1pY0RvbVJlbmRlcmluZyA/IHZpc2libGVJbkRvbSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhLWFuaW1hdGVkPXthbmltYXRpb25EdXJhdGlvbiA+IDAgJiYgIW1heEhlaWdodH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICA8L1N0eWxlZFBvcHVwPixcbiAgICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKVxuICB9LFxuKVxuIl19 */",
66
66
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
67
67
  });
68
68
  const Popup = forwardRef(({
69
69
  children,
70
70
  text = "",
71
71
  placement = "auto",
72
+ align = "center",
72
73
  id,
73
74
  className,
74
75
  containerFullWidth,
75
- maxWidth = 232,
76
+ maxWidth = "14.5rem",
76
77
  maxHeight,
77
78
  visible,
78
79
  innerRef,
@@ -123,10 +124,11 @@ const Popup = forwardRef(({
123
124
  placement,
124
125
  popupRef: innerPopupRef,
125
126
  popupPortalTarget,
126
- hasArrow
127
+ hasArrow,
128
+ align
127
129
  }));
128
130
  }
129
- }, [hasArrow, placement, popupPortalTarget]);
131
+ }, [hasArrow, placement, popupPortalTarget, align]);
130
132
  const onWindowChangeDetected = useCallback(() => {
131
133
  if (innerPopupRef.current) {
132
134
  innerPopupRef.current.style.animation = "none";
@@ -21,17 +21,19 @@ const StyledProgressContainer = /* @__PURE__ */ _styled__default.default("div",
21
21
  } : {
22
22
  target: "e1b95x8r2",
23
23
  label: "StyledProgressContainer"
24
- })("overflow:hidden;position:relative;height:4px;margin-left:0;margin-right:0;border-radius:", ({
24
+ })("overflow:hidden;position:relative;height:", ({
25
+ theme
26
+ }) => theme.sizing["050"], ";margin-left:0;margin-right:0;border-radius:", ({
25
27
  theme
26
28
  }) => theme.radii.default, ";background-color:", ({
27
29
  theme
28
- }) => theme.colors.neutral.backgroundStrong, ";width:100%;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QjBDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJy4uLy4uL3RoZW1lJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBzaGluZUFuaW1hdGlvbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuXG4gIHRvIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0JhclNlbnRpbWVudHMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdpbmZvJyxcbiAgJ2RhbmdlcicsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDI1JTtcbiAgb3BhY2l0eTogMC44O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApXG4gICk7XG4gIGFuaW1hdGlvbjogJHtzaGluZUFuaW1hdGlvbn0gMXMgbGluZWFyIGluZmluaXRlO1xuYFxuXG5jb25zdCBTdHlsZWRGaWxsZWQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnc2VudGltZW50JywgJ3ZhbHVlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IHNlbnRpbWVudDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH0+YFxuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lLCBzZW50aW1lbnQgfSkgPT5cbiAgICB0aGVtZS5jb2xvcnNbc2VudGltZW50IGFzIENvbG9yXS5iYWNrZ3JvdW5kU3Ryb25nID8/ICdpbmhlcml0J307XG4gIHRyYW5zaXRpb246IDAuM3Mgd2lkdGg7XG4gIHdpZHRoOiAkeyh7IHZhbHVlIH0pID0+IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgdmFsdWUpKX0lO1xuYFxuXG50eXBlIFByb2dyZXNzQmFyUHJvcHMgPSB7XG4gIHNlbnRpbWVudD86ICh0eXBlb2YgcHJvZ3Jlc3NCYXJTZW50aW1lbnRzKVtudW1iZXJdXG4gIHZhbHVlPzogbnVtYmVyXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW5cbiAgbGFiZWw/OiBzdHJpbmdcbiAgbGFiZWxEZXNjcmlwdGlvbj86IFJlYWN0Tm9kZVxuICBkaXJlY3Rpb24/OiAnY29sdW1uJyB8ICdyb3cnXG4gIC8qKiBQdXQgUHJvZ3Jlc3NCYXIgaW4gYSBsb2FkaW5nIHN0YXRlICovXG4gIHByb2dyZXNzPzogYm9vbGVhblxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICAnYXJpYS1sYWJlbGxlZGJ5Jz86IHN0cmluZ1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQcm9ncmVzcyBiYXIgY29tcG9uZW50IHRvIGRpc3BsYXkgcHJvZ3Jlc3Mgb2YgYSB0YXNrLiBDYW4gYmUgdXNlZCB0byBkaXNwbGF5IHByb2dyZXNzIG9mIGEgZm9ybSBvciBhIGxvYWRpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBQcm9ncmVzc0JhciA9ICh7XG4gIHByb2dyZXNzID0gZmFsc2UsXG4gIHZhbHVlID0gMCxcbiAgc2VudGltZW50ID0gJ3ByaW1hcnknLFxuICBjbGFzc05hbWUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHNob3dQcm9ncmVzcyA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxEZXNjcmlwdGlvbixcbiAgZGlyZWN0aW9uID0gJ2NvbHVtbicsXG4gICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSxcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBQcm9ncmVzc0JhclByb3BzKSA9PiAoXG4gIDxTdGFja1xuICAgIGdhcD17ZGlyZWN0aW9uID09PSAnY29sdW1uJyA/IDEgOiAyfVxuICAgIGRpcmVjdGlvbj17ZGlyZWN0aW9ufVxuICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICA+XG4gICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgKGxhYmVsIHx8IHNob3dQcm9ncmVzcykgPyAoXG4gICAgICA8U3RhY2tcbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9eyFsYWJlbCAmJiBzaG93UHJvZ3Jlc3MgPyAncmlnaHQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAge2xhYmVsID8gKFxuICAgICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7dHlwZW9mIGxhYmVsRGVzY3JpcHRpb24gPT09ICdzdHJpbmcnID8gKFxuICAgICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgICAge2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2xhYmVsRGVzY3JpcHRpb24gJiYgdHlwZW9mIGxhYmVsRGVzY3JpcHRpb24gIT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IGxhYmVsRGVzY3JpcHRpb25cbiAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge3Nob3dQcm9ncmVzcyA/IChcbiAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgYXM9XCJsYWJlbFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtgJHtNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JWB9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgKSA6IG51bGx9XG4gICAge2xhYmVsICYmIGRpcmVjdGlvbiA9PT0gJ3JvdycgJiYgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBnYXA9ezF9PlxuICAgICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiIHNlbnRpbWVudD1cIm5ldXRyYWxcIj5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAge3R5cGVvZiBsYWJlbERlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApIDogKFxuICAgICAgICAgIGxhYmVsRGVzY3JpcHRpb25cbiAgICAgICAgKX1cbiAgICAgIDwvU3RhY2s+XG4gICAgKSA6IG51bGx9XG4gICAge2xhYmVsICYmIGRpcmVjdGlvbiA9PT0gJ3JvdycgJiYgIWxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiIHNlbnRpbWVudD1cIm5ldXRyYWxcIj5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9UZXh0PlxuICAgICkgOiBudWxsfVxuICAgIDxTdHlsZWRQcm9ncmVzc0NvbnRhaW5lclxuICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgIGFyaWEtdmFsdWVub3c9e3ZhbHVlfVxuICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgIGFyaWEtdmFsdWVtYXg9ezEwMH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2FyaWFMYWJlbGxlZEJ5fVxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgID5cbiAgICAgIHtwcm9ncmVzcyA/IChcbiAgICAgICAgPFN0eWxlZFByb2dyZXNzIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkRmlsbGVkIHNlbnRpbWVudD17c2VudGltZW50fSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkUHJvZ3Jlc3NDb250YWluZXI+XG4gICAge3Nob3dQcm9ncmVzcyAmJiBkaXJlY3Rpb24gPT09ICdyb3cnID8gKFxuICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgIHtgJHtNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JWB9XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IG51bGx9XG4gIDwvU3RhY2s+XG4pXG4iXX0= */"));
30
+ }) => theme.colors.neutral.backgroundStrong, ";width:100%;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QjBDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJy4uLy4uL3RoZW1lJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBzaGluZUFuaW1hdGlvbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuXG4gIHRvIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0JhclNlbnRpbWVudHMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdpbmZvJyxcbiAgJ2RhbmdlcicsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWycwNTAnXX07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ307XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTdHlsZWRQcm9ncmVzcyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyNSU7XG4gIG9wYWNpdHk6IDAuODtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDkwZGVnLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKVxuICApO1xuICBhbmltYXRpb246ICR7c2hpbmVBbmltYXRpb259IDFzIGxpbmVhciBpbmZpbml0ZTtcbmBcblxuY29uc3QgU3R5bGVkRmlsbGVkID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3NlbnRpbWVudCcsICd2YWx1ZSddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBzZW50aW1lbnQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSwgc2VudGltZW50IH0pID0+XG4gICAgdGhlbWUuY29sb3JzW3NlbnRpbWVudCBhcyBDb2xvcl0uYmFja2dyb3VuZFN0cm9uZyA/PyAnaW5oZXJpdCd9O1xuICB0cmFuc2l0aW9uOiAwLjNzIHdpZHRoO1xuICB3aWR0aDogJHsoeyB2YWx1ZSB9KSA9PiBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JTtcbmBcblxudHlwZSBQcm9ncmVzc0JhclByb3BzID0ge1xuICBzZW50aW1lbnQ/OiAodHlwZW9mIHByb2dyZXNzQmFyU2VudGltZW50cylbbnVtYmVyXVxuICB2YWx1ZT86IG51bWJlclxuICBzaG93UHJvZ3Jlc3M/OiBib29sZWFuXG4gIGxhYmVsPzogc3RyaW5nXG4gIGxhYmVsRGVzY3JpcHRpb24/OiBSZWFjdE5vZGVcbiAgZGlyZWN0aW9uPzogJ2NvbHVtbicgfCAncm93J1xuICAvKiogUHV0IFByb2dyZXNzQmFyIGluIGEgbG9hZGluZyBzdGF0ZSAqL1xuICBwcm9ncmVzcz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgJ2FyaWEtbGFiZWxsZWRieSc/OiBzdHJpbmdcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG59XG5cbi8qKlxuICogUHJvZ3Jlc3MgYmFyIGNvbXBvbmVudCB0byBkaXNwbGF5IHByb2dyZXNzIG9mIGEgdGFzay4gQ2FuIGJlIHVzZWQgdG8gZGlzcGxheSBwcm9ncmVzcyBvZiBhIGZvcm0gb3IgYSBsb2FkaW5nIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3QgUHJvZ3Jlc3NCYXIgPSAoe1xuICBwcm9ncmVzcyA9IGZhbHNlLFxuICB2YWx1ZSA9IDAsXG4gIHNlbnRpbWVudCA9ICdwcmltYXJ5JyxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBzaG93UHJvZ3Jlc3MgPSBmYWxzZSxcbiAgbGFiZWwsXG4gIGxhYmVsRGVzY3JpcHRpb24sXG4gIGRpcmVjdGlvbiA9ICdjb2x1bW4nLFxuICAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogUHJvZ3Jlc3NCYXJQcm9wcykgPT4gKFxuICA8U3RhY2tcbiAgICBnYXA9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAxIDogMn1cbiAgICBkaXJlY3Rpb249e2RpcmVjdGlvbn1cbiAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgPlxuICAgIHtkaXJlY3Rpb24gPT09ICdjb2x1bW4nICYmIChsYWJlbCB8fCBzaG93UHJvZ3Jlc3MpID8gKFxuICAgICAgPFN0YWNrXG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PXshbGFiZWwgJiYgc2hvd1Byb2dyZXNzID8gJ3JpZ2h0JyA6ICdzcGFjZS1iZXR3ZWVuJ31cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGdhcD17MX0gZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsU3Ryb25nXCIgc2VudGltZW50PVwibmV1dHJhbFwiPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge3R5cGVvZiBsYWJlbERlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9uICYmIHR5cGVvZiBsYWJlbERlc2NyaXB0aW9uICE9PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBsYWJlbERlc2NyaXB0aW9uXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG93UHJvZ3Jlc3MgPyAoXG4gICAgICAgICAgPFRleHRcbiAgICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YCR7TWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCB2YWx1ZSkpfSVgfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1N0YWNrPlxuICAgICkgOiBudWxsfVxuICAgIHtsYWJlbCAmJiBkaXJlY3Rpb24gPT09ICdyb3cnICYmIGxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgZ2FwPXsxfT5cbiAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIHt0eXBlb2YgbGFiZWxEZXNjcmlwdGlvbiA9PT0gJ3N0cmluZycgPyAoXG4gICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uXG4gICAgICAgICl9XG4gICAgICA8L1N0YWNrPlxuICAgICkgOiBudWxsfVxuICAgIHtsYWJlbCAmJiBkaXJlY3Rpb24gPT09ICdyb3cnICYmICFsYWJlbERlc2NyaXB0aW9uID8gKFxuICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvVGV4dD5cbiAgICApIDogbnVsbH1cbiAgICA8U3R5bGVkUHJvZ3Jlc3NDb250YWluZXJcbiAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICBhcmlhLXZhbHVlbm93PXt2YWx1ZX1cbiAgICAgIGFyaWEtdmFsdWVtaW49ezB9XG4gICAgICBhcmlhLXZhbHVlbWF4PXsxMDB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PXthcmlhTGFiZWxsZWRCeX1cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICA+XG4gICAgICB7cHJvZ3Jlc3MgPyAoXG4gICAgICAgIDxTdHlsZWRQcm9ncmVzcyAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZEZpbGxlZCBzZW50aW1lbnQ9e3NlbnRpbWVudH0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZFByb2dyZXNzQ29udGFpbmVyPlxuICAgIHtzaG93UHJvZ3Jlc3MgJiYgZGlyZWN0aW9uID09PSAncm93JyA/IChcbiAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgc2VudGltZW50PVwibmV1dHJhbFwiPlxuICAgICAgICB7YCR7TWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCB2YWx1ZSkpfSVgfVxuICAgICAgPC9UZXh0PlxuICAgICkgOiBudWxsfVxuICA8L1N0YWNrPlxuKVxuIl19 */"));
29
31
  const StyledProgress = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
30
32
  target: "e1b95x8r1"
31
33
  } : {
32
34
  target: "e1b95x8r1",
33
35
  label: "StyledProgress"
34
- })("position:absolute;top:0;left:0;bottom:0;width:25%;opacity:0.8;background:linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 0.3),\n rgba(255, 255, 255, 0.4),\n rgba(255, 255, 255, 0.3),\n rgba(255, 255, 255, 0)\n );animation:", shineAnimation, " 1s linear infinite;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ2lDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJy4uLy4uL3RoZW1lJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBzaGluZUFuaW1hdGlvbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuXG4gIHRvIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0JhclNlbnRpbWVudHMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdpbmZvJyxcbiAgJ2RhbmdlcicsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDI1JTtcbiAgb3BhY2l0eTogMC44O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApXG4gICk7XG4gIGFuaW1hdGlvbjogJHtzaGluZUFuaW1hdGlvbn0gMXMgbGluZWFyIGluZmluaXRlO1xuYFxuXG5jb25zdCBTdHlsZWRGaWxsZWQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnc2VudGltZW50JywgJ3ZhbHVlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IHNlbnRpbWVudDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH0+YFxuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lLCBzZW50aW1lbnQgfSkgPT5cbiAgICB0aGVtZS5jb2xvcnNbc2VudGltZW50IGFzIENvbG9yXS5iYWNrZ3JvdW5kU3Ryb25nID8/ICdpbmhlcml0J307XG4gIHRyYW5zaXRpb246IDAuM3Mgd2lkdGg7XG4gIHdpZHRoOiAkeyh7IHZhbHVlIH0pID0+IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgdmFsdWUpKX0lO1xuYFxuXG50eXBlIFByb2dyZXNzQmFyUHJvcHMgPSB7XG4gIHNlbnRpbWVudD86ICh0eXBlb2YgcHJvZ3Jlc3NCYXJTZW50aW1lbnRzKVtudW1iZXJdXG4gIHZhbHVlPzogbnVtYmVyXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW5cbiAgbGFiZWw/OiBzdHJpbmdcbiAgbGFiZWxEZXNjcmlwdGlvbj86IFJlYWN0Tm9kZVxuICBkaXJlY3Rpb24/OiAnY29sdW1uJyB8ICdyb3cnXG4gIC8qKiBQdXQgUHJvZ3Jlc3NCYXIgaW4gYSBsb2FkaW5nIHN0YXRlICovXG4gIHByb2dyZXNzPzogYm9vbGVhblxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICAnYXJpYS1sYWJlbGxlZGJ5Jz86IHN0cmluZ1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQcm9ncmVzcyBiYXIgY29tcG9uZW50IHRvIGRpc3BsYXkgcHJvZ3Jlc3Mgb2YgYSB0YXNrLiBDYW4gYmUgdXNlZCB0byBkaXNwbGF5IHByb2dyZXNzIG9mIGEgZm9ybSBvciBhIGxvYWRpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBQcm9ncmVzc0JhciA9ICh7XG4gIHByb2dyZXNzID0gZmFsc2UsXG4gIHZhbHVlID0gMCxcbiAgc2VudGltZW50ID0gJ3ByaW1hcnknLFxuICBjbGFzc05hbWUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHNob3dQcm9ncmVzcyA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxEZXNjcmlwdGlvbixcbiAgZGlyZWN0aW9uID0gJ2NvbHVtbicsXG4gICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSxcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBQcm9ncmVzc0JhclByb3BzKSA9PiAoXG4gIDxTdGFja1xuICAgIGdhcD17ZGlyZWN0aW9uID09PSAnY29sdW1uJyA/IDEgOiAyfVxuICAgIGRpcmVjdGlvbj17ZGlyZWN0aW9ufVxuICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICA+XG4gICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgKGxhYmVsIHx8IHNob3dQcm9ncmVzcykgPyAoXG4gICAgICA8U3RhY2tcbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9eyFsYWJlbCAmJiBzaG93UHJvZ3Jlc3MgPyAncmlnaHQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAge2xhYmVsID8gKFxuICAgICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7dHlwZW9mIGxhYmVsRGVzY3JpcHRpb24gPT09ICdzdHJpbmcnID8gKFxuICAgICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgICAge2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2xhYmVsRGVzY3JpcHRpb24gJiYgdHlwZW9mIGxhYmVsRGVzY3JpcHRpb24gIT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IGxhYmVsRGVzY3JpcHRpb25cbiAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge3Nob3dQcm9ncmVzcyA/IChcbiAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgYXM9XCJsYWJlbFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtgJHtNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JWB9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgKSA6IG51bGx9XG4gICAge2xhYmVsICYmIGRpcmVjdGlvbiA9PT0gJ3JvdycgJiYgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBnYXA9ezF9PlxuICAgICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiIHNlbnRpbWVudD1cIm5ldXRyYWxcIj5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAge3R5cGVvZiBsYWJlbERlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApIDogKFxuICAgICAgICAgIGxhYmVsRGVzY3JpcHRpb25cbiAgICAgICAgKX1cbiAgICAgIDwvU3RhY2s+XG4gICAgKSA6IG51bGx9XG4gICAge2xhYmVsICYmIGRpcmVjdGlvbiA9PT0gJ3JvdycgJiYgIWxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiIHNlbnRpbWVudD1cIm5ldXRyYWxcIj5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9UZXh0PlxuICAgICkgOiBudWxsfVxuICAgIDxTdHlsZWRQcm9ncmVzc0NvbnRhaW5lclxuICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgIGFyaWEtdmFsdWVub3c9e3ZhbHVlfVxuICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgIGFyaWEtdmFsdWVtYXg9ezEwMH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2FyaWFMYWJlbGxlZEJ5fVxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgID5cbiAgICAgIHtwcm9ncmVzcyA/IChcbiAgICAgICAgPFN0eWxlZFByb2dyZXNzIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkRmlsbGVkIHNlbnRpbWVudD17c2VudGltZW50fSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkUHJvZ3Jlc3NDb250YWluZXI+XG4gICAge3Nob3dQcm9ncmVzcyAmJiBkaXJlY3Rpb24gPT09ICdyb3cnID8gKFxuICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgIHtgJHtNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JWB9XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IG51bGx9XG4gIDwvU3RhY2s+XG4pXG4iXX0= */"));
36
+ })("position:absolute;top:0;left:0;bottom:0;width:25%;opacity:0.8;background:linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 0.3),\n rgba(255, 255, 255, 0.4),\n rgba(255, 255, 255, 0.3),\n rgba(255, 255, 255, 0)\n );animation:", shineAnimation, " 1s linear infinite;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ2lDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJy4uLy4uL3RoZW1lJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBzaGluZUFuaW1hdGlvbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuXG4gIHRvIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0JhclNlbnRpbWVudHMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdpbmZvJyxcbiAgJ2RhbmdlcicsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWycwNTAnXX07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ307XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTdHlsZWRQcm9ncmVzcyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyNSU7XG4gIG9wYWNpdHk6IDAuODtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDkwZGVnLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKVxuICApO1xuICBhbmltYXRpb246ICR7c2hpbmVBbmltYXRpb259IDFzIGxpbmVhciBpbmZpbml0ZTtcbmBcblxuY29uc3QgU3R5bGVkRmlsbGVkID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3NlbnRpbWVudCcsICd2YWx1ZSddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBzZW50aW1lbnQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSwgc2VudGltZW50IH0pID0+XG4gICAgdGhlbWUuY29sb3JzW3NlbnRpbWVudCBhcyBDb2xvcl0uYmFja2dyb3VuZFN0cm9uZyA/PyAnaW5oZXJpdCd9O1xuICB0cmFuc2l0aW9uOiAwLjNzIHdpZHRoO1xuICB3aWR0aDogJHsoeyB2YWx1ZSB9KSA9PiBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JTtcbmBcblxudHlwZSBQcm9ncmVzc0JhclByb3BzID0ge1xuICBzZW50aW1lbnQ/OiAodHlwZW9mIHByb2dyZXNzQmFyU2VudGltZW50cylbbnVtYmVyXVxuICB2YWx1ZT86IG51bWJlclxuICBzaG93UHJvZ3Jlc3M/OiBib29sZWFuXG4gIGxhYmVsPzogc3RyaW5nXG4gIGxhYmVsRGVzY3JpcHRpb24/OiBSZWFjdE5vZGVcbiAgZGlyZWN0aW9uPzogJ2NvbHVtbicgfCAncm93J1xuICAvKiogUHV0IFByb2dyZXNzQmFyIGluIGEgbG9hZGluZyBzdGF0ZSAqL1xuICBwcm9ncmVzcz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgJ2FyaWEtbGFiZWxsZWRieSc/OiBzdHJpbmdcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG59XG5cbi8qKlxuICogUHJvZ3Jlc3MgYmFyIGNvbXBvbmVudCB0byBkaXNwbGF5IHByb2dyZXNzIG9mIGEgdGFzay4gQ2FuIGJlIHVzZWQgdG8gZGlzcGxheSBwcm9ncmVzcyBvZiBhIGZvcm0gb3IgYSBsb2FkaW5nIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3QgUHJvZ3Jlc3NCYXIgPSAoe1xuICBwcm9ncmVzcyA9IGZhbHNlLFxuICB2YWx1ZSA9IDAsXG4gIHNlbnRpbWVudCA9ICdwcmltYXJ5JyxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBzaG93UHJvZ3Jlc3MgPSBmYWxzZSxcbiAgbGFiZWwsXG4gIGxhYmVsRGVzY3JpcHRpb24sXG4gIGRpcmVjdGlvbiA9ICdjb2x1bW4nLFxuICAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogUHJvZ3Jlc3NCYXJQcm9wcykgPT4gKFxuICA8U3RhY2tcbiAgICBnYXA9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAxIDogMn1cbiAgICBkaXJlY3Rpb249e2RpcmVjdGlvbn1cbiAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgPlxuICAgIHtkaXJlY3Rpb24gPT09ICdjb2x1bW4nICYmIChsYWJlbCB8fCBzaG93UHJvZ3Jlc3MpID8gKFxuICAgICAgPFN0YWNrXG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PXshbGFiZWwgJiYgc2hvd1Byb2dyZXNzID8gJ3JpZ2h0JyA6ICdzcGFjZS1iZXR3ZWVuJ31cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGdhcD17MX0gZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsU3Ryb25nXCIgc2VudGltZW50PVwibmV1dHJhbFwiPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge3R5cGVvZiBsYWJlbERlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9uICYmIHR5cGVvZiBsYWJlbERlc2NyaXB0aW9uICE9PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBsYWJlbERlc2NyaXB0aW9uXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG93UHJvZ3Jlc3MgPyAoXG4gICAgICAgICAgPFRleHRcbiAgICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YCR7TWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCB2YWx1ZSkpfSVgfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1N0YWNrPlxuICAgICkgOiBudWxsfVxuICAgIHtsYWJlbCAmJiBkaXJlY3Rpb24gPT09ICdyb3cnICYmIGxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgZ2FwPXsxfT5cbiAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIHt0eXBlb2YgbGFiZWxEZXNjcmlwdGlvbiA9PT0gJ3N0cmluZycgPyAoXG4gICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uXG4gICAgICAgICl9XG4gICAgICA8L1N0YWNrPlxuICAgICkgOiBudWxsfVxuICAgIHtsYWJlbCAmJiBkaXJlY3Rpb24gPT09ICdyb3cnICYmICFsYWJlbERlc2NyaXB0aW9uID8gKFxuICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvVGV4dD5cbiAgICApIDogbnVsbH1cbiAgICA8U3R5bGVkUHJvZ3Jlc3NDb250YWluZXJcbiAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICBhcmlhLXZhbHVlbm93PXt2YWx1ZX1cbiAgICAgIGFyaWEtdmFsdWVtaW49ezB9XG4gICAgICBhcmlhLXZhbHVlbWF4PXsxMDB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PXthcmlhTGFiZWxsZWRCeX1cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICA+XG4gICAgICB7cHJvZ3Jlc3MgPyAoXG4gICAgICAgIDxTdHlsZWRQcm9ncmVzcyAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZEZpbGxlZCBzZW50aW1lbnQ9e3NlbnRpbWVudH0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZFByb2dyZXNzQ29udGFpbmVyPlxuICAgIHtzaG93UHJvZ3Jlc3MgJiYgZGlyZWN0aW9uID09PSAncm93JyA/IChcbiAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgc2VudGltZW50PVwibmV1dHJhbFwiPlxuICAgICAgICB7YCR7TWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCB2YWx1ZSkpfSVgfVxuICAgICAgPC9UZXh0PlxuICAgICkgOiBudWxsfVxuICA8L1N0YWNrPlxuKVxuIl19 */"));
35
37
  const StyledFilled = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
36
38
  shouldForwardProp: (prop) => !["sentiment", "value"].includes(prop),
37
39
  target: "e1b95x8r0"
@@ -46,7 +48,7 @@ const StyledFilled = /* @__PURE__ */ _styled__default.default("div", process.env
46
48
  sentiment
47
49
  }) => theme.colors[sentiment].backgroundStrong ?? "inherit", ";transition:0.3s width;width:", ({
48
50
  value
49
- }) => Math.max(0, Math.min(100, value)), "%;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3RHdDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJy4uLy4uL3RoZW1lJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBzaGluZUFuaW1hdGlvbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuXG4gIHRvIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0JhclNlbnRpbWVudHMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdpbmZvJyxcbiAgJ2RhbmdlcicsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDI1JTtcbiAgb3BhY2l0eTogMC44O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApXG4gICk7XG4gIGFuaW1hdGlvbjogJHtzaGluZUFuaW1hdGlvbn0gMXMgbGluZWFyIGluZmluaXRlO1xuYFxuXG5jb25zdCBTdHlsZWRGaWxsZWQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnc2VudGltZW50JywgJ3ZhbHVlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IHNlbnRpbWVudDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH0+YFxuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lLCBzZW50aW1lbnQgfSkgPT5cbiAgICB0aGVtZS5jb2xvcnNbc2VudGltZW50IGFzIENvbG9yXS5iYWNrZ3JvdW5kU3Ryb25nID8/ICdpbmhlcml0J307XG4gIHRyYW5zaXRpb246IDAuM3Mgd2lkdGg7XG4gIHdpZHRoOiAkeyh7IHZhbHVlIH0pID0+IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgdmFsdWUpKX0lO1xuYFxuXG50eXBlIFByb2dyZXNzQmFyUHJvcHMgPSB7XG4gIHNlbnRpbWVudD86ICh0eXBlb2YgcHJvZ3Jlc3NCYXJTZW50aW1lbnRzKVtudW1iZXJdXG4gIHZhbHVlPzogbnVtYmVyXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW5cbiAgbGFiZWw/OiBzdHJpbmdcbiAgbGFiZWxEZXNjcmlwdGlvbj86IFJlYWN0Tm9kZVxuICBkaXJlY3Rpb24/OiAnY29sdW1uJyB8ICdyb3cnXG4gIC8qKiBQdXQgUHJvZ3Jlc3NCYXIgaW4gYSBsb2FkaW5nIHN0YXRlICovXG4gIHByb2dyZXNzPzogYm9vbGVhblxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICAnYXJpYS1sYWJlbGxlZGJ5Jz86IHN0cmluZ1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQcm9ncmVzcyBiYXIgY29tcG9uZW50IHRvIGRpc3BsYXkgcHJvZ3Jlc3Mgb2YgYSB0YXNrLiBDYW4gYmUgdXNlZCB0byBkaXNwbGF5IHByb2dyZXNzIG9mIGEgZm9ybSBvciBhIGxvYWRpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBQcm9ncmVzc0JhciA9ICh7XG4gIHByb2dyZXNzID0gZmFsc2UsXG4gIHZhbHVlID0gMCxcbiAgc2VudGltZW50ID0gJ3ByaW1hcnknLFxuICBjbGFzc05hbWUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gIHNob3dQcm9ncmVzcyA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxEZXNjcmlwdGlvbixcbiAgZGlyZWN0aW9uID0gJ2NvbHVtbicsXG4gICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSxcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG59OiBQcm9ncmVzc0JhclByb3BzKSA9PiAoXG4gIDxTdGFja1xuICAgIGdhcD17ZGlyZWN0aW9uID09PSAnY29sdW1uJyA/IDEgOiAyfVxuICAgIGRpcmVjdGlvbj17ZGlyZWN0aW9ufVxuICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICA+XG4gICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgKGxhYmVsIHx8IHNob3dQcm9ncmVzcykgPyAoXG4gICAgICA8U3RhY2tcbiAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9eyFsYWJlbCAmJiBzaG93UHJvZ3Jlc3MgPyAncmlnaHQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgPlxuICAgICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAge2xhYmVsID8gKFxuICAgICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7dHlwZW9mIGxhYmVsRGVzY3JpcHRpb24gPT09ICdzdHJpbmcnID8gKFxuICAgICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgICAge2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2xhYmVsRGVzY3JpcHRpb24gJiYgdHlwZW9mIGxhYmVsRGVzY3JpcHRpb24gIT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IGxhYmVsRGVzY3JpcHRpb25cbiAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge3Nob3dQcm9ncmVzcyA/IChcbiAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgYXM9XCJsYWJlbFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtgJHtNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JWB9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgKSA6IG51bGx9XG4gICAge2xhYmVsICYmIGRpcmVjdGlvbiA9PT0gJ3JvdycgJiYgbGFiZWxEZXNjcmlwdGlvbiA/IChcbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBnYXA9ezF9PlxuICAgICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiIHNlbnRpbWVudD1cIm5ldXRyYWxcIj5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAge3R5cGVvZiBsYWJlbERlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApIDogKFxuICAgICAgICAgIGxhYmVsRGVzY3JpcHRpb25cbiAgICAgICAgKX1cbiAgICAgIDwvU3RhY2s+XG4gICAgKSA6IG51bGx9XG4gICAge2xhYmVsICYmIGRpcmVjdGlvbiA9PT0gJ3JvdycgJiYgIWxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICA8VGV4dCBhcz1cImxhYmVsXCIgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiIHNlbnRpbWVudD1cIm5ldXRyYWxcIj5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9UZXh0PlxuICAgICkgOiBudWxsfVxuICAgIDxTdHlsZWRQcm9ncmVzc0NvbnRhaW5lclxuICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgIGFyaWEtdmFsdWVub3c9e3ZhbHVlfVxuICAgICAgYXJpYS12YWx1ZW1pbj17MH1cbiAgICAgIGFyaWEtdmFsdWVtYXg9ezEwMH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2FyaWFMYWJlbGxlZEJ5fVxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgID5cbiAgICAgIHtwcm9ncmVzcyA/IChcbiAgICAgICAgPFN0eWxlZFByb2dyZXNzIC8+XG4gICAgICApIDogKFxuICAgICAgICA8U3R5bGVkRmlsbGVkIHNlbnRpbWVudD17c2VudGltZW50fSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkUHJvZ3Jlc3NDb250YWluZXI+XG4gICAge3Nob3dQcm9ncmVzcyAmJiBkaXJlY3Rpb24gPT09ICdyb3cnID8gKFxuICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgIHtgJHtNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JWB9XG4gICAgICA8L1RleHQ+XG4gICAgKSA6IG51bGx9XG4gIDwvU3RhY2s+XG4pXG4iXX0= */"));
51
+ }) => Math.max(0, Math.min(100, value)), "%;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3RHdDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1Byb2dyZXNzQmFyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJy4uLy4uL3RoZW1lJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBzaGluZUFuaW1hdGlvbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuXG4gIHRvIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc0JhclNlbnRpbWVudHMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdpbmZvJyxcbiAgJ2RhbmdlcicsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nWycwNTAnXX07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ307XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTdHlsZWRQcm9ncmVzcyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyNSU7XG4gIG9wYWNpdHk6IDAuODtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDkwZGVnLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKVxuICApO1xuICBhbmltYXRpb246ICR7c2hpbmVBbmltYXRpb259IDFzIGxpbmVhciBpbmZpbml0ZTtcbmBcblxuY29uc3QgU3R5bGVkRmlsbGVkID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3NlbnRpbWVudCcsICd2YWx1ZSddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBzZW50aW1lbnQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSwgc2VudGltZW50IH0pID0+XG4gICAgdGhlbWUuY29sb3JzW3NlbnRpbWVudCBhcyBDb2xvcl0uYmFja2dyb3VuZFN0cm9uZyA/PyAnaW5oZXJpdCd9O1xuICB0cmFuc2l0aW9uOiAwLjNzIHdpZHRoO1xuICB3aWR0aDogJHsoeyB2YWx1ZSB9KSA9PiBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHZhbHVlKSl9JTtcbmBcblxudHlwZSBQcm9ncmVzc0JhclByb3BzID0ge1xuICBzZW50aW1lbnQ/OiAodHlwZW9mIHByb2dyZXNzQmFyU2VudGltZW50cylbbnVtYmVyXVxuICB2YWx1ZT86IG51bWJlclxuICBzaG93UHJvZ3Jlc3M/OiBib29sZWFuXG4gIGxhYmVsPzogc3RyaW5nXG4gIGxhYmVsRGVzY3JpcHRpb24/OiBSZWFjdE5vZGVcbiAgZGlyZWN0aW9uPzogJ2NvbHVtbicgfCAncm93J1xuICAvKiogUHV0IFByb2dyZXNzQmFyIGluIGEgbG9hZGluZyBzdGF0ZSAqL1xuICBwcm9ncmVzcz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgJ2FyaWEtbGFiZWxsZWRieSc/OiBzdHJpbmdcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG59XG5cbi8qKlxuICogUHJvZ3Jlc3MgYmFyIGNvbXBvbmVudCB0byBkaXNwbGF5IHByb2dyZXNzIG9mIGEgdGFzay4gQ2FuIGJlIHVzZWQgdG8gZGlzcGxheSBwcm9ncmVzcyBvZiBhIGZvcm0gb3IgYSBsb2FkaW5nIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3QgUHJvZ3Jlc3NCYXIgPSAoe1xuICBwcm9ncmVzcyA9IGZhbHNlLFxuICB2YWx1ZSA9IDAsXG4gIHNlbnRpbWVudCA9ICdwcmltYXJ5JyxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICBzaG93UHJvZ3Jlc3MgPSBmYWxzZSxcbiAgbGFiZWwsXG4gIGxhYmVsRGVzY3JpcHRpb24sXG4gIGRpcmVjdGlvbiA9ICdjb2x1bW4nLFxuICAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksXG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxufTogUHJvZ3Jlc3NCYXJQcm9wcykgPT4gKFxuICA8U3RhY2tcbiAgICBnYXA9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAxIDogMn1cbiAgICBkaXJlY3Rpb249e2RpcmVjdGlvbn1cbiAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgPlxuICAgIHtkaXJlY3Rpb24gPT09ICdjb2x1bW4nICYmIChsYWJlbCB8fCBzaG93UHJvZ3Jlc3MpID8gKFxuICAgICAgPFN0YWNrXG4gICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PXshbGFiZWwgJiYgc2hvd1Byb2dyZXNzID8gJ3JpZ2h0JyA6ICdzcGFjZS1iZXR3ZWVuJ31cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgID5cbiAgICAgICAgPFN0YWNrIGdhcD17MX0gZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsU3Ryb25nXCIgc2VudGltZW50PVwibmV1dHJhbFwiPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge3R5cGVvZiBsYWJlbERlc2NyaXB0aW9uID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9uICYmIHR5cGVvZiBsYWJlbERlc2NyaXB0aW9uICE9PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBsYWJlbERlc2NyaXB0aW9uXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG93UHJvZ3Jlc3MgPyAoXG4gICAgICAgICAgPFRleHRcbiAgICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YCR7TWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCB2YWx1ZSkpfSVgfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1N0YWNrPlxuICAgICkgOiBudWxsfVxuICAgIHtsYWJlbCAmJiBkaXJlY3Rpb24gPT09ICdyb3cnICYmIGxhYmVsRGVzY3JpcHRpb24gPyAoXG4gICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCIgZ2FwPXsxfT5cbiAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIHt0eXBlb2YgbGFiZWxEZXNjcmlwdGlvbiA9PT0gJ3N0cmluZycgPyAoXG4gICAgICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIj5cbiAgICAgICAgICAgIHtsYWJlbERlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBsYWJlbERlc2NyaXB0aW9uXG4gICAgICAgICl9XG4gICAgICA8L1N0YWNrPlxuICAgICkgOiBudWxsfVxuICAgIHtsYWJlbCAmJiBkaXJlY3Rpb24gPT09ICdyb3cnICYmICFsYWJlbERlc2NyaXB0aW9uID8gKFxuICAgICAgPFRleHQgYXM9XCJsYWJlbFwiIHZhcmlhbnQ9XCJib2R5U21hbGxTdHJvbmdcIiBzZW50aW1lbnQ9XCJuZXV0cmFsXCI+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvVGV4dD5cbiAgICApIDogbnVsbH1cbiAgICA8U3R5bGVkUHJvZ3Jlc3NDb250YWluZXJcbiAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICBhcmlhLXZhbHVlbm93PXt2YWx1ZX1cbiAgICAgIGFyaWEtdmFsdWVtaW49ezB9XG4gICAgICBhcmlhLXZhbHVlbWF4PXsxMDB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PXthcmlhTGFiZWxsZWRCeX1cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICA+XG4gICAgICB7cHJvZ3Jlc3MgPyAoXG4gICAgICAgIDxTdHlsZWRQcm9ncmVzcyAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZEZpbGxlZCBzZW50aW1lbnQ9e3NlbnRpbWVudH0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZFByb2dyZXNzQ29udGFpbmVyPlxuICAgIHtzaG93UHJvZ3Jlc3MgJiYgZGlyZWN0aW9uID09PSAncm93JyA/IChcbiAgICAgIDxUZXh0IGFzPVwibGFiZWxcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgc2VudGltZW50PVwibmV1dHJhbFwiPlxuICAgICAgICB7YCR7TWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCB2YWx1ZSkpfSVgfVxuICAgICAgPC9UZXh0PlxuICAgICkgOiBudWxsfVxuICA8L1N0YWNrPlxuKVxuIl19 */"));
50
52
  const ProgressBar = ({
51
53
  progress = false,
52
54
  value = 0,