@amboss/design-system 3.46.3 → 4.0.0-next.1

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 (138) hide show
  1. package/build/cjs/components/AvatarGroup/AvatarGroup.d.ts +2 -1
  2. package/build/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
  3. package/build/cjs/components/BinaryFeedback/-types.d.ts +2 -1
  4. package/build/cjs/components/Box/Box.d.ts +2 -2
  5. package/build/cjs/components/Box/Box.js +1 -1
  6. package/build/cjs/components/BulkActionsToolbar/BulkActionsToolbar.d.ts +2 -1
  7. package/build/cjs/components/BulkActionsToolbar/BulkActionsToolbar.js +1 -1
  8. package/build/cjs/components/BulkActionsToolbar/useBulkActionsToolbar.js +1 -1
  9. package/build/cjs/components/Callout/Callout.js +1 -1
  10. package/build/cjs/components/Card/{CardBox.js → CardBox/CardBox.js} +1 -1
  11. package/build/cjs/components/CatalogCard/CatalogCard.d.ts +9 -1
  12. package/build/cjs/components/CatalogCard/CatalogCard.js +1 -1
  13. package/build/cjs/components/Collapsible/Collapsible.js +1 -1
  14. package/build/cjs/components/ColorPicker/ColorPicker.d.ts +2 -1
  15. package/build/cjs/components/ColorPicker/ColorPickerDropdown.d.ts +9 -2
  16. package/build/cjs/components/ColorPicker/ColorPickerDropdown.js +1 -1
  17. package/build/cjs/components/ColorPicker/ColorPickerOption.js +1 -1
  18. package/build/cjs/components/Content/ContentPictogramButton/ContentPictogramButton.d.ts +1 -3
  19. package/build/cjs/components/Content/ContentPictogramButton/ContentPictogramButton.js +1 -1
  20. package/build/cjs/components/DataTable/DataTable.d.ts +42 -16
  21. package/build/cjs/components/DataTable/DataTable.js +1 -1
  22. package/build/cjs/components/DataTable/TableBody.d.ts +8 -2
  23. package/build/cjs/components/DataTable/TableBody.js +1 -1
  24. package/build/cjs/components/DataTable/header/DataTableHeaderToggletip.d.ts +3 -1
  25. package/build/cjs/components/DataTable/header/DataTableHeaderToggletip.js +1 -1
  26. package/build/cjs/components/DataTable/header/SortableCellContent.d.ts +1 -1
  27. package/build/cjs/components/DataTable/header/SortableCellContent.js +1 -1
  28. package/build/cjs/components/DataTable/header/TableHeader.js +1 -1
  29. package/build/cjs/components/DataTable/index.d.ts +1 -1
  30. package/build/cjs/components/DataTable/types.d.ts +19 -2
  31. package/build/cjs/components/DataTable/useDataTableScrollContainer.d.ts +3 -0
  32. package/build/cjs/components/DataTable/useDataTableScrollContainer.js +1 -0
  33. package/build/cjs/components/DataTable/useDataTableSelectRows.d.ts +1 -1
  34. package/build/cjs/components/Divider/Divider.js +1 -1
  35. package/build/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -2
  36. package/build/cjs/components/DropdownMenu/Menu.js +1 -1
  37. package/build/cjs/components/Form/Combobox/MultiSelect.js +1 -1
  38. package/build/cjs/components/Form/Combobox/SingleSelect.js +1 -1
  39. package/build/cjs/components/Form/FormErrorMessages/FormErrorMessages.js +1 -1
  40. package/build/cjs/components/Form/FormField/FormField.js +1 -1
  41. package/build/cjs/components/Form/Input/Input.d.ts +10 -4
  42. package/build/cjs/components/Form/Input/Input.js +1 -1
  43. package/build/cjs/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  44. package/build/cjs/components/Icon/Icon.d.ts +4 -3
  45. package/build/cjs/components/Icon/Icon.js +1 -1
  46. package/build/cjs/components/IconTile/IconTile.d.ts +3 -2
  47. package/build/cjs/components/IconTile/IconTile.js +1 -1
  48. package/build/cjs/components/Image/Image.d.ts +18 -14
  49. package/build/cjs/components/Image/Image.js +1 -1
  50. package/build/cjs/components/Inline/Inline.js +1 -1
  51. package/build/cjs/components/NavBar/NavBarSearchInput.d.ts +4 -0
  52. package/build/cjs/components/NavBar/NavBarSearchInput.js +1 -1
  53. package/build/cjs/components/Notification/Notification.js +1 -1
  54. package/build/cjs/components/Pagination/-types.d.ts +2 -1
  55. package/build/cjs/components/Patterns/Modal/Modal.d.ts +25 -9
  56. package/build/cjs/components/Patterns/Modal/Modal.js +2 -2
  57. package/build/cjs/components/PictogramButton/PictogramButton.d.ts +9 -2
  58. package/build/cjs/components/PictogramButton/PictogramButton.js +1 -1
  59. package/build/cjs/components/ProgressBar/ProgressBar.d.ts +2 -1
  60. package/build/cjs/components/PromptInput/CategoryList.js +1 -1
  61. package/build/cjs/components/PromptInput/PromptInput.js +1 -1
  62. package/build/cjs/components/Stack/Stack.d.ts +2 -1
  63. package/build/cjs/components/Stack/Stack.js +1 -1
  64. package/build/cjs/index.d.ts +1 -1
  65. package/build/cjs/index.js +1 -1
  66. package/build/cjs/types/a11y.d.ts +26 -0
  67. package/build/cjs/types/a11y.js +1 -0
  68. package/build/esm/components/AvatarGroup/AvatarGroup.d.ts +2 -1
  69. package/build/esm/components/AvatarGroup/AvatarGroup.js +1 -1
  70. package/build/esm/components/BinaryFeedback/-types.d.ts +2 -1
  71. package/build/esm/components/Box/Box.d.ts +2 -2
  72. package/build/esm/components/Box/Box.js +1 -1
  73. package/build/esm/components/BulkActionsToolbar/BulkActionsToolbar.d.ts +2 -1
  74. package/build/esm/components/BulkActionsToolbar/BulkActionsToolbar.js +1 -1
  75. package/build/esm/components/BulkActionsToolbar/useBulkActionsToolbar.js +1 -1
  76. package/build/esm/components/Callout/Callout.js +1 -1
  77. package/build/esm/components/Card/CardBox/CardBox.js +1 -0
  78. package/build/esm/components/CatalogCard/CatalogCard.d.ts +9 -1
  79. package/build/esm/components/CatalogCard/CatalogCard.js +1 -1
  80. package/build/esm/components/Collapsible/Collapsible.js +1 -1
  81. package/build/esm/components/ColorPicker/ColorPicker.d.ts +2 -1
  82. package/build/esm/components/ColorPicker/ColorPickerDropdown.d.ts +9 -2
  83. package/build/esm/components/ColorPicker/ColorPickerDropdown.js +1 -1
  84. package/build/esm/components/ColorPicker/ColorPickerOption.js +1 -1
  85. package/build/esm/components/Content/ContentPictogramButton/ContentPictogramButton.d.ts +1 -3
  86. package/build/esm/components/Content/ContentPictogramButton/ContentPictogramButton.js +1 -1
  87. package/build/esm/components/DataTable/DataTable.d.ts +42 -16
  88. package/build/esm/components/DataTable/DataTable.js +1 -1
  89. package/build/esm/components/DataTable/TableBody.d.ts +8 -2
  90. package/build/esm/components/DataTable/TableBody.js +1 -1
  91. package/build/esm/components/DataTable/header/DataTableHeaderToggletip.d.ts +3 -1
  92. package/build/esm/components/DataTable/header/DataTableHeaderToggletip.js +1 -1
  93. package/build/esm/components/DataTable/header/SortableCellContent.d.ts +1 -1
  94. package/build/esm/components/DataTable/header/SortableCellContent.js +1 -1
  95. package/build/esm/components/DataTable/header/TableHeader.js +1 -1
  96. package/build/esm/components/DataTable/index.d.ts +1 -1
  97. package/build/esm/components/DataTable/types.d.ts +19 -2
  98. package/build/esm/components/DataTable/useDataTableScrollContainer.d.ts +3 -0
  99. package/build/esm/components/DataTable/useDataTableScrollContainer.js +1 -0
  100. package/build/esm/components/DataTable/useDataTableSelectRows.d.ts +1 -1
  101. package/build/esm/components/Divider/Divider.js +1 -1
  102. package/build/esm/components/DropdownMenu/DropdownMenu.d.ts +1 -2
  103. package/build/esm/components/DropdownMenu/Menu.js +1 -1
  104. package/build/esm/components/Form/Combobox/MultiSelect.js +1 -1
  105. package/build/esm/components/Form/Combobox/SingleSelect.js +1 -1
  106. package/build/esm/components/Form/FormErrorMessages/FormErrorMessages.js +1 -1
  107. package/build/esm/components/Form/FormField/FormField.js +1 -1
  108. package/build/esm/components/Form/Input/Input.d.ts +10 -4
  109. package/build/esm/components/Form/Input/Input.js +1 -1
  110. package/build/esm/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  111. package/build/esm/components/Icon/Icon.d.ts +4 -3
  112. package/build/esm/components/Icon/Icon.js +1 -1
  113. package/build/esm/components/IconTile/IconTile.d.ts +3 -2
  114. package/build/esm/components/IconTile/IconTile.js +1 -1
  115. package/build/esm/components/Image/Image.d.ts +18 -14
  116. package/build/esm/components/Image/Image.js +1 -1
  117. package/build/esm/components/Inline/Inline.js +1 -1
  118. package/build/esm/components/NavBar/NavBarSearchInput.d.ts +4 -0
  119. package/build/esm/components/NavBar/NavBarSearchInput.js +1 -1
  120. package/build/esm/components/Notification/Notification.js +1 -1
  121. package/build/esm/components/Pagination/-types.d.ts +2 -1
  122. package/build/esm/components/Patterns/Modal/Modal.d.ts +25 -9
  123. package/build/esm/components/Patterns/Modal/Modal.js +2 -2
  124. package/build/esm/components/PictogramButton/PictogramButton.d.ts +9 -2
  125. package/build/esm/components/PictogramButton/PictogramButton.js +1 -1
  126. package/build/esm/components/ProgressBar/ProgressBar.d.ts +2 -1
  127. package/build/esm/components/PromptInput/CategoryList.js +1 -1
  128. package/build/esm/components/PromptInput/PromptInput.js +1 -1
  129. package/build/esm/components/Stack/Stack.d.ts +2 -1
  130. package/build/esm/components/Stack/Stack.js +1 -1
  131. package/build/esm/index.d.ts +1 -1
  132. package/build/esm/index.js +1 -1
  133. package/build/esm/types/a11y.d.ts +26 -0
  134. package/build/esm/types/a11y.js +1 -0
  135. package/package.json +1 -1
  136. package/build/esm/components/Card/CardBox.js +0 -1
  137. /package/build/cjs/components/Card/{CardBox.d.ts → CardBox/CardBox.d.ts} +0 -0
  138. /package/build/esm/components/Card/{CardBox.d.ts → CardBox/CardBox.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Modal",{enumerable:!0,get:function(){return Modal}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_Header=require("../../Typography/Header/Header"),_Stack=require("../../Stack/Stack"),_Container=require("../../Container/Container"),_Box=require("../../Box/Box"),_ButtonGroup=require("../ButtonGroup/ButtonGroup"),_PictogramButton=require("../../PictogramButton/PictogramButton"),_Text=require("../../Typography/Text/Text"),_mediaQueries=require("../../../shared/mediaQueries"),_useScrollDetection=require("../../../shared/useScrollDetection"),_appendId=require("../../../shared/appendId"),_useWindow=require("../../../shared/useWindow"),_Lightbox=require("../../Lightbox/Lightbox"),getDesktopSpace=theme=>theme.variables.size.spacing.l,getDesktopInnerSpace=theme=>theme.variables.size.spacing.xl,getMobileSpace=theme=>theme.variables.size.spacing.m,getMobileInnerSpace=theme=>theme.variables.size.spacing.m,StyledModalWrapper=(0,_styled.default)("div",{target:"e79ziwn0",label:"StyledModalWrapper"})(({theme,isFullScreen,size})=>{let fadeInModal=(0,_react.useMemo)(()=>(0,_react1.keyframes)`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Modal",{enumerable:!0,get:function(){return Modal}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_Header=require("../../Typography/Header/Header"),_Stack=require("../../Stack/Stack"),_Container=require("../../Container/Container"),_Box=require("../../Box/Box"),_ButtonGroup=require("../ButtonGroup/ButtonGroup"),_PictogramButton=require("../../PictogramButton/PictogramButton"),_Text=require("../../Typography/Text/Text"),_mediaQueries=require("../../../shared/mediaQueries"),_useScrollDetection=require("../../../shared/useScrollDetection"),_appendId=require("../../../shared/appendId"),_useWindow=require("../../../shared/useWindow"),_Lightbox=require("../../Lightbox/Lightbox"),getDesktopSpace=theme=>theme.variables.size.spacing.l,getDesktopInnerSpace=theme=>theme.variables.size.spacing.xl,getMobileSpace=theme=>theme.variables.size.spacing.m,getMobileInnerSpace=theme=>theme.variables.size.spacing.m,StyledModalWrapper=(0,_styled.default)("div",{target:"ezci64j0",label:"StyledModalWrapper"})(({theme,isFullScreen,size})=>{let fadeInModal=(0,_react.useMemo)(()=>(0,_react1.keyframes)`
2
2
  from {
3
3
  opacity: ${theme.variables.opacity.hidden};
4
4
  transform: translateY(20px);
@@ -7,4 +7,4 @@
7
7
  opacity: ${theme.variables.opacity.visible};
8
8
  transform: translateY(0);
9
9
  }
10
- `,[theme.variables.opacity.hidden,theme.variables.opacity.visible]);return{animation:`${fadeInModal} ${theme.variables.animation.modal.open.duration} ${theme.variables.animation.modal.open.delay} ${theme.variables.animation.modal.open.timingFunction} both`,"&:focus":{outline:"none"},...(0,_mediaQueries.useResponsiveValue)({width:[`calc(100% - ${getMobileSpace(theme)} * 2)`,isFullScreen?`calc(100% - ${getDesktopSpace(theme)} * 2)`:theme.variables.size.dimension.modal.width[size]]})}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBvbkFjdGlvbj86IChhY3Rpb246IFwiY2FuY2VsXCIgfCBcImFjdGlvblwiKSA9PiB2b2lkO1xuICByb2xlPzogXCJkaWFsb2dcIiB8IFwiYWxlcnRkaWFsb2dcIjtcbiAgbGFiZWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgYmxhY2sgY29sb3IgaXMgZ29pbmcgdG8gYmUgcmVwbGFjZWQgd2l0aCBncmF5IG9uZSAqL1xuICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBhY3Rpb25CdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgc2Vjb25kYXJ5QnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBzZWNvbmRhcnlCdXR0b24gdG8gcGFzcyBpbiB0ZXh0IGFuZCBvdGhlciBwcm9wcyBmb3Igc2Vjb25kYXJ5IGJ1dHRvbiAqL1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgLyoqIEFpbSB0byB1c2UgPE1vZGFsLlRleHQ+IGFuZCA8TW9kYWwuU3RhY2s+ICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgcHJpdmF0ZVByb3BzPzoge1xuICAgIHNraXBQb3J0YWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIENvbnN0cmFpbnMgTW9kYWwgYm9keSB0byBhdmFpbGFibGUgaGVpZ2h0IChhcHBsaWVzIGZsZXg6IDEpIGV2ZW4gd2l0aCBzaXplPVwibVwiLlxuICAgICAqIFByZXZlbnRzIE1vZGFsIGl0c2VsZiBmcm9tIHNjcm9sbGluZyAtIGluc3RlYWQgaW50ZXJuYWwgY29udGVudCBwYW5lbHMgc2Nyb2xsLlxuICAgICAqIE5vcm1hbGx5IG9ubHkgc2l6ZT1cImxcIiBnZXRzIHRoaXMgbGF5b3V0IGJlaGF2aW9yLlxuICAgICAqL1xuICAgIGhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBSZW1vdmVzIGFsbCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gbW9kYWwgY29udGVudCBhcmVhLlxuICAgICAqIFVzZSBmb3IgZWRnZS10by1lZGdlIGNvbnRlbnQgd2l0aCBjdXN0b20gaW50ZXJuYWwgc3BhY2luZy5cbiAgICAgKi9cbiAgICB6ZXJvUGFkZGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogT3B0aW9ucyBwYXNzZWQgdG8gZm9jdXMtdHJhcCdzIHRhYmJhYmxlIGRldGVjdGlvbi5cbiAgICAgKiBVc2UgYHsgZGlzcGxheUNoZWNrOiBcIm5vbmVcIiB9YCBmb3IgdGVzdGluZyB0byBhdm9pZCBKU0RPTSB2aXNpYmlsaXR5IGlzc3Vlcy5cbiAgICAgKi9cbiAgICB0YWJiYWJsZU9wdGlvbnM/OiB7XG4gICAgICBkaXNwbGF5Q2hlY2s/OiBcImZ1bGxcIiB8IFwibGVnYWN5LWZ1bGxcIiB8IFwibm9uLXplcm8tYXJlYVwiIHwgXCJub25lXCI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIEl0J3MgYSBiYWQgcGF0dGVybiB0byB1c2Ugbm9uLWRpc21pc3NpYmxlIE1vZGFsICovXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBpc01heFdpZHRoTGltaXQ/OiBib29sZWFuO1xuICBzaXplPzogXCJtXCIgfCBcImxcIjtcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgbW9kYWwgb3BlbnMuXG4gICAqIC0gUGFzcyBhICoqUmVmT2JqZWN0KiogdG8gZm9jdXMgYSBzcGVjaWZpYyBjdXN0b20gZWxlbWVudC5cbiAgICogLSBQYXNzIGEgc3RyaW5nIHRoYXQgd2lsbCBhY3QgYXMgY3NzIHNlbGVjdG9yIHRvIGZvY3VzIHRoYXQgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBGb3IgYW5kIGFjdGlvbkJ1dHRvbiwgc2Vjb25kYXJ5QnV0dG9uLCBwYXNzIGEgcmVmIHRvIHRob3NlIGVsZW1lbnRzIGFuZCB0byB0aGlzIHByb3BcbiAgICogRm9yIGNsb3NlQnV0dG9uIGZvY3VzLCBwYXNzIFwiW2RhdGEtbW9kYWwtY2xvc2UtYnRuXVwiXG4gICAqIC0gSWYgKip1bmRlZmluZWQqKiwgZm9jdXMgZmFsbHMgYmFjayB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgaW5pdGlhbEZvY3VzPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4gfCBzdHJpbmc7XG59ICYgT21pdDxBcmlhQXR0cmlidXRlcywgXCJhcmlhLWxhYmVsXCIgfCBcImFyaWEtbGFiZWxsZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsPzogc3RyaW5nO1xuICAgICAgaW1hZ2VBbHQ/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBCYXNlUHJvcHMgJlxuICBMYWJlbFByb3BzICZcbiAgQ29uZGl0aW9uYWxQcm9wcyAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgXCImOmZvY3VzXCI6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIHdpZHRoOiBbXG4gICAgICAgICAgYGNhbGMoMTAwJSAtICR7Z2V0TW9iaWxlU3BhY2UodGhlbWUpfSAqIDIpYCxcbiAgICAgICAgICBpc0Z1bGxTY3JlZW5cbiAgICAgICAgICAgID8gYGNhbGMoMTAwJSAtICR7Z2V0RGVza3RvcFNwYWNlKHRoZW1lKX0gKiAyKWBcbiAgICAgICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLndpZHRoW3NpemVdLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgU3R5bGVkSW5uZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBtb2JpbGVWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IG1vYmlsZUlubmVyVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZUlubmVyU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcFNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcElubmVyU3BhY2UodGhlbWUpO1xuXG4gICAgLy8gZnVsbHNjcmVlbiBhbmQgTCBzaXplIGRvbid0IGRlcGVuZCBvbiBjb250ZW50IHNpemVcbiAgICAvLyBMIHNpemUgaGVpZ2h0IGhhcyBtYXhIaWVnaHQgcmVzaXplIHVudGlsIDgwMHB4XG4gICAgLy8gZnVsbHNjcmVlbiBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcbiAgICAvLyBNIHNpemUgaGVpZ2h0IGhhcyBjb250ZW50IHNpemUgYW5kIGNlbnRlcmVkIGF0IHRvcCBhbmQgbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG5cbiAgICBjb25zdCBnZXREZXNrdG9wSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXJnaW4ubH0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJhdXRvXCI7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldERlc2t0b3BNYXhIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgYXV0b2A7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1heEhlaWdodC5sfSAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICB9O1xuXG4gICAgY29uc3QgZnVsbFNjcmVlbk1vYmlsZSA9IGBjYWxjKDEwMGR2aCAtICR7bW9iaWxlVmVydGljYWxTcGFjZX0gKiAyIC0gJHttb2JpbGVJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgaGVpZ2h0OiBbXG4gICAgICAgICAgc2l6ZSA9PT0gXCJsXCIgfHwgaXNGdWxsU2NyZWVuID8gZnVsbFNjcmVlbk1vYmlsZSA6IFwiYXV0b1wiLFxuICAgICAgICAgIGdldERlc2t0b3BIZWlnaHQoKSxcbiAgICAgICAgXSxcbiAgICAgICAgbWF4SGVpZ2h0OiBbZnVsbFNjcmVlbk1vYmlsZSwgZ2V0RGVza3RvcE1heEhlaWdodCgpXSxcbiAgICAgIH0pLFxuXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRCb2R5UHJvcHMgPSB7XG4gIGJvcmRlckJvdHRvbTogYm9vbGVhbjtcbiAgYm9yZGVyVG9wOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQm9keSA9IHN0eWxlZC5kaXY8U3R5bGVkQm9keVByb3BzICYgUGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBib3JkZXJCb3R0b20sIGJvcmRlclRvcCwgc2l6ZSwgaXNGdWxsU2NyZWVuLCBwcml2YXRlUHJvcHMgfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihwcml2YXRlUHJvcHM/LmhlaWdodCAmJiB7XG4gICAgICBoZWlnaHQ6IHByaXZhdGVQcm9wcz8uaGVpZ2h0LFxuICAgIH0pLFxuXG4gICAgLi4uKGJvcmRlckJvdHRvbSAmJiB7XG4gICAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gICAgLi4uKGJvcmRlclRvcCAmJiB7XG4gICAgICBib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRJbWcgPSBzdHlsZWQuaW1nKCgpID0+ICh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgYXNwZWN0UmF0aW86IFwiMTYvOVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRNYXhXaWR0aCA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWF4V2lkdGg6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5mdWxsU2NyZWVuQ29udGVudFdpZHRoLFxuICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG59KSk7XG5cbmNvbnN0IFN0eWxlZFhDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgdG9wOiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICAgIHJpZ2h0OiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICB9KSxcbn0pKTtcblxuY29uc3QgTW9kYWxTdGFjayA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IE9taXQ8U3RhY2tQcm9wcywgXCJzcGFjZVwiPikgPT4gKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICA8U3RhY2sgey4uLnJlc3R9IHNwYWNlPVwibVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdGFjaz5cbik7XG5cbmNvbnN0IE1vZGFsVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBPbWl0PFRleHRQcm9wcywgXCJzaXplXCIgfCBcInZhcmlhbnRcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFRleHQgey4uLnJlc3R9IHNpemU9XCJtXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9UZXh0PlxuKTtcblxuY29uc3QgRm9vdGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFsaWduSXRlbXMgPSBbXCJzdHJldGNoXCIsIFwicmlnaHRcIl0sXG4gIGlzU2hvcnRWaWV3cG9ydCxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVtdIHwgUmVhY3QuUmVhY3RFbGVtZW50O1xuICBhbGlnbkl0ZW1zPzogU3RhY2tQcm9wc1tcImFsaWduSXRlbXNcIl07XG4gIGlzU2hvcnRWaWV3cG9ydD86IGJvb2xlYW47XG59KSA9PiAoXG4gIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtpc1Nob3J0Vmlld3BvcnQgPyBcIm1cIiA6IFwibFwifT5cbiAgICA8U3RhY2sgYWxpZ25JdGVtcz17YWxpZ25JdGVtc30+e2NoaWxkcmVufTwvU3RhY2s+XG4gIDwvQm94PlxuKTtcblxuY29uc3QgSG9yaXpvbnRhbE9mZnNldCA9ICh7XG4gIGNoaWxkcmVuLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCxcbiAgaGVpZ2h0LFxufTogUGFydGlhbDxNb2RhbFByb3BzPiAmIHsgaGVpZ2h0Pzogc3RyaW5nIH0pID0+IChcbiAgPEJveCBzcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0gdlNwYWNlPVwiemVyb1wiIGhlaWdodD17aGVpZ2h0fT5cbiAgICB7aXNGdWxsU2NyZWVuICYmIGlzTWF4V2lkdGhMaW1pdCA/IChcbiAgICAgIDxTdHlsZWRNYXhXaWR0aD57Y2hpbGRyZW59PC9TdHlsZWRNYXhXaWR0aD5cbiAgICApIDogKFxuICAgICAgY2hpbGRyZW5cbiAgICApfVxuICA8L0JveD5cbik7XG5cbmZ1bmN0aW9uIGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmlubmVySGVpZ2h0IDwgTUlOX1ZJRVdQT1JUX0hFSUdIVFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWwoe1xuICBoZWFkZXIsXG4gIHN1YkhlYWRlcixcbiAgbGFiZWxIZWFkZXIsXG4gIGNoaWxkcmVuLFxuICBpbWFnZVVybCxcbiAgSW1hZ2VDb21wb25lbnQsXG4gIHNlY29uZGFyeUJ1dHRvbixcbiAgY2FuY2VsQnV0dG9uTGFiZWwsXG4gIGlzRGlzbWlzc2libGUgPSB0cnVlLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgcm9sZSA9IFwiZGlhbG9nXCIsXG4gIG9uQWN0aW9uLFxuICBzaXplID0gXCJtXCIsXG4gIHByaXZhdGVQcm9wczogeyBza2lwUG9ydGFsLCBoZWlnaHQsIHplcm9QYWRkaW5nLCB0YWJiYWJsZU9wdGlvbnMgfSA9IHtcbiAgICBza2lwUG9ydGFsOiBmYWxzZSxcbiAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICB6ZXJvUGFkZGluZzogZmFsc2UsXG4gIH0sXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWwgPSBcIkRpc21pc3MgRGlhbG9nXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBpbWFnZUFsdCxcbiAgaW5pdGlhbEZvY3VzLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogTW9kYWxQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHtcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksXG4gICAgLi4ucmVzdEFyaWFBdHRyaWJ1dGVzXG4gIH0gPSBhcmlhQXR0cmlidXRlcztcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3dpbmRvd10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIG9uQWN0aW9uKFwiY2FuY2VsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhc0ltYWdlID0gaW1hZ2VVcmwgfHwgSW1hZ2VDb21wb25lbnQ7XG4gIGNvbnN0IEhlYWRpbmdDb21wb25lbnQgPSBpc1Nob3J0Vmlld3BvcnQgPyBIMyA6IEgyO1xuICBjb25zdCBpc0ltYWdlVmlzaWJsZSA9ICFpc1Nob3J0Vmlld3BvcnQgJiYgISFoYXNJbWFnZTtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldFByb3BzID0geyBpc0Z1bGxTY3JlZW4sIGlzTWF4V2lkdGhMaW1pdCB9O1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaXNEaXNtaXNzaWJsZSAmJiAoXG4gICAgPFN0eWxlZFhDb250YWluZXI+XG4gICAgICA8UGljdG9ncmFtQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYXJpYS1sYWJlbD17Y2xvc2VCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGRhdGEtbW9kYWwtY2xvc2UtYnRuXG4gICAgICAvPlxuICAgIDwvU3R5bGVkWENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaWdodGJveFxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgcHJpdmF0ZVByb3BzPXt7IHNraXBQb3J0YWwsIHRhYmJhYmxlT3B0aW9ucyB9fVxuICAgICAgaW5pdGlhbEZvY3VzPXtpbml0aWFsRm9jdXN9XG4gICAgPlxuICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdEFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgID5cbiAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPXtbbW9iaWxlU2l6ZSwgZGVza3RvcFNpemVdfT5cbiAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgYlNwYWNlPVwic1wiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17W1wieGxcIiwgXCJsXCJdfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInplcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj57aGVhZGVyfTwvSGVhZGluZ0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0gyQiJ9 */"),StyledInner=(0,_styled.default)("div",{target:"e79ziwn1",label:"StyledInner"})(({theme,isFullScreen,size})=>{let mobileVerticalSpace=getMobileSpace(theme),mobileInnerVerticalSpace=getMobileInnerSpace(theme),desktopVerticalSpace=getDesktopSpace(theme),desktopInnerVerticalSpace=getDesktopInnerSpace(theme),fullScreenMobile=`calc(100dvh - ${mobileVerticalSpace} * 2 - ${mobileInnerVerticalSpace} * 2)`;return{display:"flex",...(0,_mediaQueries.useResponsiveValue)({height:["l"===size||isFullScreen?fullScreenMobile:"auto",isFullScreen?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`:"l"===size?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2 - ${theme.variables.size.dimension.modal.margin.l} * 2)`:"auto"],maxHeight:[fullScreenMobile,isFullScreen?"auto":"l"===size?`calc(${theme.variables.size.dimension.modal.maxHeight.l} - ${desktopInnerVerticalSpace} * 2)`:`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`]}),flexDirection:"column",overflow:"hidden"}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBvbkFjdGlvbj86IChhY3Rpb246IFwiY2FuY2VsXCIgfCBcImFjdGlvblwiKSA9PiB2b2lkO1xuICByb2xlPzogXCJkaWFsb2dcIiB8IFwiYWxlcnRkaWFsb2dcIjtcbiAgbGFiZWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgYmxhY2sgY29sb3IgaXMgZ29pbmcgdG8gYmUgcmVwbGFjZWQgd2l0aCBncmF5IG9uZSAqL1xuICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBhY3Rpb25CdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgc2Vjb25kYXJ5QnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBzZWNvbmRhcnlCdXR0b24gdG8gcGFzcyBpbiB0ZXh0IGFuZCBvdGhlciBwcm9wcyBmb3Igc2Vjb25kYXJ5IGJ1dHRvbiAqL1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgLyoqIEFpbSB0byB1c2UgPE1vZGFsLlRleHQ+IGFuZCA8TW9kYWwuU3RhY2s+ICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgcHJpdmF0ZVByb3BzPzoge1xuICAgIHNraXBQb3J0YWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIENvbnN0cmFpbnMgTW9kYWwgYm9keSB0byBhdmFpbGFibGUgaGVpZ2h0IChhcHBsaWVzIGZsZXg6IDEpIGV2ZW4gd2l0aCBzaXplPVwibVwiLlxuICAgICAqIFByZXZlbnRzIE1vZGFsIGl0c2VsZiBmcm9tIHNjcm9sbGluZyAtIGluc3RlYWQgaW50ZXJuYWwgY29udGVudCBwYW5lbHMgc2Nyb2xsLlxuICAgICAqIE5vcm1hbGx5IG9ubHkgc2l6ZT1cImxcIiBnZXRzIHRoaXMgbGF5b3V0IGJlaGF2aW9yLlxuICAgICAqL1xuICAgIGhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBSZW1vdmVzIGFsbCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gbW9kYWwgY29udGVudCBhcmVhLlxuICAgICAqIFVzZSBmb3IgZWRnZS10by1lZGdlIGNvbnRlbnQgd2l0aCBjdXN0b20gaW50ZXJuYWwgc3BhY2luZy5cbiAgICAgKi9cbiAgICB6ZXJvUGFkZGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogT3B0aW9ucyBwYXNzZWQgdG8gZm9jdXMtdHJhcCdzIHRhYmJhYmxlIGRldGVjdGlvbi5cbiAgICAgKiBVc2UgYHsgZGlzcGxheUNoZWNrOiBcIm5vbmVcIiB9YCBmb3IgdGVzdGluZyB0byBhdm9pZCBKU0RPTSB2aXNpYmlsaXR5IGlzc3Vlcy5cbiAgICAgKi9cbiAgICB0YWJiYWJsZU9wdGlvbnM/OiB7XG4gICAgICBkaXNwbGF5Q2hlY2s/OiBcImZ1bGxcIiB8IFwibGVnYWN5LWZ1bGxcIiB8IFwibm9uLXplcm8tYXJlYVwiIHwgXCJub25lXCI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIEl0J3MgYSBiYWQgcGF0dGVybiB0byB1c2Ugbm9uLWRpc21pc3NpYmxlIE1vZGFsICovXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBpc01heFdpZHRoTGltaXQ/OiBib29sZWFuO1xuICBzaXplPzogXCJtXCIgfCBcImxcIjtcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgbW9kYWwgb3BlbnMuXG4gICAqIC0gUGFzcyBhICoqUmVmT2JqZWN0KiogdG8gZm9jdXMgYSBzcGVjaWZpYyBjdXN0b20gZWxlbWVudC5cbiAgICogLSBQYXNzIGEgc3RyaW5nIHRoYXQgd2lsbCBhY3QgYXMgY3NzIHNlbGVjdG9yIHRvIGZvY3VzIHRoYXQgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBGb3IgYW5kIGFjdGlvbkJ1dHRvbiwgc2Vjb25kYXJ5QnV0dG9uLCBwYXNzIGEgcmVmIHRvIHRob3NlIGVsZW1lbnRzIGFuZCB0byB0aGlzIHByb3BcbiAgICogRm9yIGNsb3NlQnV0dG9uIGZvY3VzLCBwYXNzIFwiW2RhdGEtbW9kYWwtY2xvc2UtYnRuXVwiXG4gICAqIC0gSWYgKip1bmRlZmluZWQqKiwgZm9jdXMgZmFsbHMgYmFjayB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgaW5pdGlhbEZvY3VzPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4gfCBzdHJpbmc7XG59ICYgT21pdDxBcmlhQXR0cmlidXRlcywgXCJhcmlhLWxhYmVsXCIgfCBcImFyaWEtbGFiZWxsZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsPzogc3RyaW5nO1xuICAgICAgaW1hZ2VBbHQ/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBCYXNlUHJvcHMgJlxuICBMYWJlbFByb3BzICZcbiAgQ29uZGl0aW9uYWxQcm9wcyAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgXCImOmZvY3VzXCI6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIHdpZHRoOiBbXG4gICAgICAgICAgYGNhbGMoMTAwJSAtICR7Z2V0TW9iaWxlU3BhY2UodGhlbWUpfSAqIDIpYCxcbiAgICAgICAgICBpc0Z1bGxTY3JlZW5cbiAgICAgICAgICAgID8gYGNhbGMoMTAwJSAtICR7Z2V0RGVza3RvcFNwYWNlKHRoZW1lKX0gKiAyKWBcbiAgICAgICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLndpZHRoW3NpemVdLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgU3R5bGVkSW5uZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBtb2JpbGVWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IG1vYmlsZUlubmVyVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZUlubmVyU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcFNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcElubmVyU3BhY2UodGhlbWUpO1xuXG4gICAgLy8gZnVsbHNjcmVlbiBhbmQgTCBzaXplIGRvbid0IGRlcGVuZCBvbiBjb250ZW50IHNpemVcbiAgICAvLyBMIHNpemUgaGVpZ2h0IGhhcyBtYXhIaWVnaHQgcmVzaXplIHVudGlsIDgwMHB4XG4gICAgLy8gZnVsbHNjcmVlbiBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcbiAgICAvLyBNIHNpemUgaGVpZ2h0IGhhcyBjb250ZW50IHNpemUgYW5kIGNlbnRlcmVkIGF0IHRvcCBhbmQgbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG5cbiAgICBjb25zdCBnZXREZXNrdG9wSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXJnaW4ubH0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJhdXRvXCI7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldERlc2t0b3BNYXhIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgYXV0b2A7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1heEhlaWdodC5sfSAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICB9O1xuXG4gICAgY29uc3QgZnVsbFNjcmVlbk1vYmlsZSA9IGBjYWxjKDEwMGR2aCAtICR7bW9iaWxlVmVydGljYWxTcGFjZX0gKiAyIC0gJHttb2JpbGVJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgaGVpZ2h0OiBbXG4gICAgICAgICAgc2l6ZSA9PT0gXCJsXCIgfHwgaXNGdWxsU2NyZWVuID8gZnVsbFNjcmVlbk1vYmlsZSA6IFwiYXV0b1wiLFxuICAgICAgICAgIGdldERlc2t0b3BIZWlnaHQoKSxcbiAgICAgICAgXSxcbiAgICAgICAgbWF4SGVpZ2h0OiBbZnVsbFNjcmVlbk1vYmlsZSwgZ2V0RGVza3RvcE1heEhlaWdodCgpXSxcbiAgICAgIH0pLFxuXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRCb2R5UHJvcHMgPSB7XG4gIGJvcmRlckJvdHRvbTogYm9vbGVhbjtcbiAgYm9yZGVyVG9wOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQm9keSA9IHN0eWxlZC5kaXY8U3R5bGVkQm9keVByb3BzICYgUGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBib3JkZXJCb3R0b20sIGJvcmRlclRvcCwgc2l6ZSwgaXNGdWxsU2NyZWVuLCBwcml2YXRlUHJvcHMgfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihwcml2YXRlUHJvcHM/LmhlaWdodCAmJiB7XG4gICAgICBoZWlnaHQ6IHByaXZhdGVQcm9wcz8uaGVpZ2h0LFxuICAgIH0pLFxuXG4gICAgLi4uKGJvcmRlckJvdHRvbSAmJiB7XG4gICAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gICAgLi4uKGJvcmRlclRvcCAmJiB7XG4gICAgICBib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRJbWcgPSBzdHlsZWQuaW1nKCgpID0+ICh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgYXNwZWN0UmF0aW86IFwiMTYvOVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRNYXhXaWR0aCA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWF4V2lkdGg6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5mdWxsU2NyZWVuQ29udGVudFdpZHRoLFxuICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG59KSk7XG5cbmNvbnN0IFN0eWxlZFhDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgdG9wOiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICAgIHJpZ2h0OiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICB9KSxcbn0pKTtcblxuY29uc3QgTW9kYWxTdGFjayA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IE9taXQ8U3RhY2tQcm9wcywgXCJzcGFjZVwiPikgPT4gKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICA8U3RhY2sgey4uLnJlc3R9IHNwYWNlPVwibVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdGFjaz5cbik7XG5cbmNvbnN0IE1vZGFsVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBPbWl0PFRleHRQcm9wcywgXCJzaXplXCIgfCBcInZhcmlhbnRcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFRleHQgey4uLnJlc3R9IHNpemU9XCJtXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9UZXh0PlxuKTtcblxuY29uc3QgRm9vdGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFsaWduSXRlbXMgPSBbXCJzdHJldGNoXCIsIFwicmlnaHRcIl0sXG4gIGlzU2hvcnRWaWV3cG9ydCxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVtdIHwgUmVhY3QuUmVhY3RFbGVtZW50O1xuICBhbGlnbkl0ZW1zPzogU3RhY2tQcm9wc1tcImFsaWduSXRlbXNcIl07XG4gIGlzU2hvcnRWaWV3cG9ydD86IGJvb2xlYW47XG59KSA9PiAoXG4gIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtpc1Nob3J0Vmlld3BvcnQgPyBcIm1cIiA6IFwibFwifT5cbiAgICA8U3RhY2sgYWxpZ25JdGVtcz17YWxpZ25JdGVtc30+e2NoaWxkcmVufTwvU3RhY2s+XG4gIDwvQm94PlxuKTtcblxuY29uc3QgSG9yaXpvbnRhbE9mZnNldCA9ICh7XG4gIGNoaWxkcmVuLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCxcbiAgaGVpZ2h0LFxufTogUGFydGlhbDxNb2RhbFByb3BzPiAmIHsgaGVpZ2h0Pzogc3RyaW5nIH0pID0+IChcbiAgPEJveCBzcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0gdlNwYWNlPVwiemVyb1wiIGhlaWdodD17aGVpZ2h0fT5cbiAgICB7aXNGdWxsU2NyZWVuICYmIGlzTWF4V2lkdGhMaW1pdCA/IChcbiAgICAgIDxTdHlsZWRNYXhXaWR0aD57Y2hpbGRyZW59PC9TdHlsZWRNYXhXaWR0aD5cbiAgICApIDogKFxuICAgICAgY2hpbGRyZW5cbiAgICApfVxuICA8L0JveD5cbik7XG5cbmZ1bmN0aW9uIGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmlubmVySGVpZ2h0IDwgTUlOX1ZJRVdQT1JUX0hFSUdIVFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWwoe1xuICBoZWFkZXIsXG4gIHN1YkhlYWRlcixcbiAgbGFiZWxIZWFkZXIsXG4gIGNoaWxkcmVuLFxuICBpbWFnZVVybCxcbiAgSW1hZ2VDb21wb25lbnQsXG4gIHNlY29uZGFyeUJ1dHRvbixcbiAgY2FuY2VsQnV0dG9uTGFiZWwsXG4gIGlzRGlzbWlzc2libGUgPSB0cnVlLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgcm9sZSA9IFwiZGlhbG9nXCIsXG4gIG9uQWN0aW9uLFxuICBzaXplID0gXCJtXCIsXG4gIHByaXZhdGVQcm9wczogeyBza2lwUG9ydGFsLCBoZWlnaHQsIHplcm9QYWRkaW5nLCB0YWJiYWJsZU9wdGlvbnMgfSA9IHtcbiAgICBza2lwUG9ydGFsOiBmYWxzZSxcbiAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICB6ZXJvUGFkZGluZzogZmFsc2UsXG4gIH0sXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWwgPSBcIkRpc21pc3MgRGlhbG9nXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBpbWFnZUFsdCxcbiAgaW5pdGlhbEZvY3VzLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogTW9kYWxQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHtcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksXG4gICAgLi4ucmVzdEFyaWFBdHRyaWJ1dGVzXG4gIH0gPSBhcmlhQXR0cmlidXRlcztcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3dpbmRvd10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIG9uQWN0aW9uKFwiY2FuY2VsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhc0ltYWdlID0gaW1hZ2VVcmwgfHwgSW1hZ2VDb21wb25lbnQ7XG4gIGNvbnN0IEhlYWRpbmdDb21wb25lbnQgPSBpc1Nob3J0Vmlld3BvcnQgPyBIMyA6IEgyO1xuICBjb25zdCBpc0ltYWdlVmlzaWJsZSA9ICFpc1Nob3J0Vmlld3BvcnQgJiYgISFoYXNJbWFnZTtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldFByb3BzID0geyBpc0Z1bGxTY3JlZW4sIGlzTWF4V2lkdGhMaW1pdCB9O1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaXNEaXNtaXNzaWJsZSAmJiAoXG4gICAgPFN0eWxlZFhDb250YWluZXI+XG4gICAgICA8UGljdG9ncmFtQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYXJpYS1sYWJlbD17Y2xvc2VCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGRhdGEtbW9kYWwtY2xvc2UtYnRuXG4gICAgICAvPlxuICAgIDwvU3R5bGVkWENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaWdodGJveFxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgcHJpdmF0ZVByb3BzPXt7IHNraXBQb3J0YWwsIHRhYmJhYmxlT3B0aW9ucyB9fVxuICAgICAgaW5pdGlhbEZvY3VzPXtpbml0aWFsRm9jdXN9XG4gICAgPlxuICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdEFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgID5cbiAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPXtbbW9iaWxlU2l6ZSwgZGVza3RvcFNpemVdfT5cbiAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgYlNwYWNlPVwic1wiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17W1wieGxcIiwgXCJsXCJdfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInplcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj57aGVhZGVyfTwvSGVhZGluZ0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUpvQiJ9 */"),StyledBody=(0,_styled.default)("div",{target:"e79ziwn2",label:"StyledBody"})(({theme,borderBottom,borderTop,size,isFullScreen,privateProps})=>({overflowY:"auto",maxHeight:"100%",...(isFullScreen||"l"===size)&&{flex:1},...privateProps?.height&&{height:privateProps?.height},...borderBottom&&{borderBottom:`1px solid ${theme.values.color.divider.primary}`},...borderTop&&{borderTop:`1px solid ${theme.values.color.divider.primary}`}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBvbkFjdGlvbj86IChhY3Rpb246IFwiY2FuY2VsXCIgfCBcImFjdGlvblwiKSA9PiB2b2lkO1xuICByb2xlPzogXCJkaWFsb2dcIiB8IFwiYWxlcnRkaWFsb2dcIjtcbiAgbGFiZWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgYmxhY2sgY29sb3IgaXMgZ29pbmcgdG8gYmUgcmVwbGFjZWQgd2l0aCBncmF5IG9uZSAqL1xuICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBhY3Rpb25CdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgc2Vjb25kYXJ5QnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBzZWNvbmRhcnlCdXR0b24gdG8gcGFzcyBpbiB0ZXh0IGFuZCBvdGhlciBwcm9wcyBmb3Igc2Vjb25kYXJ5IGJ1dHRvbiAqL1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgLyoqIEFpbSB0byB1c2UgPE1vZGFsLlRleHQ+IGFuZCA8TW9kYWwuU3RhY2s+ICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgcHJpdmF0ZVByb3BzPzoge1xuICAgIHNraXBQb3J0YWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIENvbnN0cmFpbnMgTW9kYWwgYm9keSB0byBhdmFpbGFibGUgaGVpZ2h0IChhcHBsaWVzIGZsZXg6IDEpIGV2ZW4gd2l0aCBzaXplPVwibVwiLlxuICAgICAqIFByZXZlbnRzIE1vZGFsIGl0c2VsZiBmcm9tIHNjcm9sbGluZyAtIGluc3RlYWQgaW50ZXJuYWwgY29udGVudCBwYW5lbHMgc2Nyb2xsLlxuICAgICAqIE5vcm1hbGx5IG9ubHkgc2l6ZT1cImxcIiBnZXRzIHRoaXMgbGF5b3V0IGJlaGF2aW9yLlxuICAgICAqL1xuICAgIGhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBSZW1vdmVzIGFsbCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gbW9kYWwgY29udGVudCBhcmVhLlxuICAgICAqIFVzZSBmb3IgZWRnZS10by1lZGdlIGNvbnRlbnQgd2l0aCBjdXN0b20gaW50ZXJuYWwgc3BhY2luZy5cbiAgICAgKi9cbiAgICB6ZXJvUGFkZGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogT3B0aW9ucyBwYXNzZWQgdG8gZm9jdXMtdHJhcCdzIHRhYmJhYmxlIGRldGVjdGlvbi5cbiAgICAgKiBVc2UgYHsgZGlzcGxheUNoZWNrOiBcIm5vbmVcIiB9YCBmb3IgdGVzdGluZyB0byBhdm9pZCBKU0RPTSB2aXNpYmlsaXR5IGlzc3Vlcy5cbiAgICAgKi9cbiAgICB0YWJiYWJsZU9wdGlvbnM/OiB7XG4gICAgICBkaXNwbGF5Q2hlY2s/OiBcImZ1bGxcIiB8IFwibGVnYWN5LWZ1bGxcIiB8IFwibm9uLXplcm8tYXJlYVwiIHwgXCJub25lXCI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIEl0J3MgYSBiYWQgcGF0dGVybiB0byB1c2Ugbm9uLWRpc21pc3NpYmxlIE1vZGFsICovXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBpc01heFdpZHRoTGltaXQ/OiBib29sZWFuO1xuICBzaXplPzogXCJtXCIgfCBcImxcIjtcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgbW9kYWwgb3BlbnMuXG4gICAqIC0gUGFzcyBhICoqUmVmT2JqZWN0KiogdG8gZm9jdXMgYSBzcGVjaWZpYyBjdXN0b20gZWxlbWVudC5cbiAgICogLSBQYXNzIGEgc3RyaW5nIHRoYXQgd2lsbCBhY3QgYXMgY3NzIHNlbGVjdG9yIHRvIGZvY3VzIHRoYXQgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBGb3IgYW5kIGFjdGlvbkJ1dHRvbiwgc2Vjb25kYXJ5QnV0dG9uLCBwYXNzIGEgcmVmIHRvIHRob3NlIGVsZW1lbnRzIGFuZCB0byB0aGlzIHByb3BcbiAgICogRm9yIGNsb3NlQnV0dG9uIGZvY3VzLCBwYXNzIFwiW2RhdGEtbW9kYWwtY2xvc2UtYnRuXVwiXG4gICAqIC0gSWYgKip1bmRlZmluZWQqKiwgZm9jdXMgZmFsbHMgYmFjayB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgaW5pdGlhbEZvY3VzPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4gfCBzdHJpbmc7XG59ICYgT21pdDxBcmlhQXR0cmlidXRlcywgXCJhcmlhLWxhYmVsXCIgfCBcImFyaWEtbGFiZWxsZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsPzogc3RyaW5nO1xuICAgICAgaW1hZ2VBbHQ/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBCYXNlUHJvcHMgJlxuICBMYWJlbFByb3BzICZcbiAgQ29uZGl0aW9uYWxQcm9wcyAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgXCImOmZvY3VzXCI6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIHdpZHRoOiBbXG4gICAgICAgICAgYGNhbGMoMTAwJSAtICR7Z2V0TW9iaWxlU3BhY2UodGhlbWUpfSAqIDIpYCxcbiAgICAgICAgICBpc0Z1bGxTY3JlZW5cbiAgICAgICAgICAgID8gYGNhbGMoMTAwJSAtICR7Z2V0RGVza3RvcFNwYWNlKHRoZW1lKX0gKiAyKWBcbiAgICAgICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLndpZHRoW3NpemVdLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgU3R5bGVkSW5uZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBtb2JpbGVWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IG1vYmlsZUlubmVyVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZUlubmVyU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcFNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcElubmVyU3BhY2UodGhlbWUpO1xuXG4gICAgLy8gZnVsbHNjcmVlbiBhbmQgTCBzaXplIGRvbid0IGRlcGVuZCBvbiBjb250ZW50IHNpemVcbiAgICAvLyBMIHNpemUgaGVpZ2h0IGhhcyBtYXhIaWVnaHQgcmVzaXplIHVudGlsIDgwMHB4XG4gICAgLy8gZnVsbHNjcmVlbiBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcbiAgICAvLyBNIHNpemUgaGVpZ2h0IGhhcyBjb250ZW50IHNpemUgYW5kIGNlbnRlcmVkIGF0IHRvcCBhbmQgbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG5cbiAgICBjb25zdCBnZXREZXNrdG9wSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXJnaW4ubH0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJhdXRvXCI7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldERlc2t0b3BNYXhIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgYXV0b2A7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1heEhlaWdodC5sfSAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICB9O1xuXG4gICAgY29uc3QgZnVsbFNjcmVlbk1vYmlsZSA9IGBjYWxjKDEwMGR2aCAtICR7bW9iaWxlVmVydGljYWxTcGFjZX0gKiAyIC0gJHttb2JpbGVJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgaGVpZ2h0OiBbXG4gICAgICAgICAgc2l6ZSA9PT0gXCJsXCIgfHwgaXNGdWxsU2NyZWVuID8gZnVsbFNjcmVlbk1vYmlsZSA6IFwiYXV0b1wiLFxuICAgICAgICAgIGdldERlc2t0b3BIZWlnaHQoKSxcbiAgICAgICAgXSxcbiAgICAgICAgbWF4SGVpZ2h0OiBbZnVsbFNjcmVlbk1vYmlsZSwgZ2V0RGVza3RvcE1heEhlaWdodCgpXSxcbiAgICAgIH0pLFxuXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRCb2R5UHJvcHMgPSB7XG4gIGJvcmRlckJvdHRvbTogYm9vbGVhbjtcbiAgYm9yZGVyVG9wOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQm9keSA9IHN0eWxlZC5kaXY8U3R5bGVkQm9keVByb3BzICYgUGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBib3JkZXJCb3R0b20sIGJvcmRlclRvcCwgc2l6ZSwgaXNGdWxsU2NyZWVuLCBwcml2YXRlUHJvcHMgfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihwcml2YXRlUHJvcHM/LmhlaWdodCAmJiB7XG4gICAgICBoZWlnaHQ6IHByaXZhdGVQcm9wcz8uaGVpZ2h0LFxuICAgIH0pLFxuXG4gICAgLi4uKGJvcmRlckJvdHRvbSAmJiB7XG4gICAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gICAgLi4uKGJvcmRlclRvcCAmJiB7XG4gICAgICBib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRJbWcgPSBzdHlsZWQuaW1nKCgpID0+ICh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgYXNwZWN0UmF0aW86IFwiMTYvOVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRNYXhXaWR0aCA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWF4V2lkdGg6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5mdWxsU2NyZWVuQ29udGVudFdpZHRoLFxuICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG59KSk7XG5cbmNvbnN0IFN0eWxlZFhDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgdG9wOiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICAgIHJpZ2h0OiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICB9KSxcbn0pKTtcblxuY29uc3QgTW9kYWxTdGFjayA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IE9taXQ8U3RhY2tQcm9wcywgXCJzcGFjZVwiPikgPT4gKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICA8U3RhY2sgey4uLnJlc3R9IHNwYWNlPVwibVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdGFjaz5cbik7XG5cbmNvbnN0IE1vZGFsVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBPbWl0PFRleHRQcm9wcywgXCJzaXplXCIgfCBcInZhcmlhbnRcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFRleHQgey4uLnJlc3R9IHNpemU9XCJtXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9UZXh0PlxuKTtcblxuY29uc3QgRm9vdGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFsaWduSXRlbXMgPSBbXCJzdHJldGNoXCIsIFwicmlnaHRcIl0sXG4gIGlzU2hvcnRWaWV3cG9ydCxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVtdIHwgUmVhY3QuUmVhY3RFbGVtZW50O1xuICBhbGlnbkl0ZW1zPzogU3RhY2tQcm9wc1tcImFsaWduSXRlbXNcIl07XG4gIGlzU2hvcnRWaWV3cG9ydD86IGJvb2xlYW47XG59KSA9PiAoXG4gIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtpc1Nob3J0Vmlld3BvcnQgPyBcIm1cIiA6IFwibFwifT5cbiAgICA8U3RhY2sgYWxpZ25JdGVtcz17YWxpZ25JdGVtc30+e2NoaWxkcmVufTwvU3RhY2s+XG4gIDwvQm94PlxuKTtcblxuY29uc3QgSG9yaXpvbnRhbE9mZnNldCA9ICh7XG4gIGNoaWxkcmVuLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCxcbiAgaGVpZ2h0LFxufTogUGFydGlhbDxNb2RhbFByb3BzPiAmIHsgaGVpZ2h0Pzogc3RyaW5nIH0pID0+IChcbiAgPEJveCBzcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0gdlNwYWNlPVwiemVyb1wiIGhlaWdodD17aGVpZ2h0fT5cbiAgICB7aXNGdWxsU2NyZWVuICYmIGlzTWF4V2lkdGhMaW1pdCA/IChcbiAgICAgIDxTdHlsZWRNYXhXaWR0aD57Y2hpbGRyZW59PC9TdHlsZWRNYXhXaWR0aD5cbiAgICApIDogKFxuICAgICAgY2hpbGRyZW5cbiAgICApfVxuICA8L0JveD5cbik7XG5cbmZ1bmN0aW9uIGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmlubmVySGVpZ2h0IDwgTUlOX1ZJRVdQT1JUX0hFSUdIVFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWwoe1xuICBoZWFkZXIsXG4gIHN1YkhlYWRlcixcbiAgbGFiZWxIZWFkZXIsXG4gIGNoaWxkcmVuLFxuICBpbWFnZVVybCxcbiAgSW1hZ2VDb21wb25lbnQsXG4gIHNlY29uZGFyeUJ1dHRvbixcbiAgY2FuY2VsQnV0dG9uTGFiZWwsXG4gIGlzRGlzbWlzc2libGUgPSB0cnVlLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgcm9sZSA9IFwiZGlhbG9nXCIsXG4gIG9uQWN0aW9uLFxuICBzaXplID0gXCJtXCIsXG4gIHByaXZhdGVQcm9wczogeyBza2lwUG9ydGFsLCBoZWlnaHQsIHplcm9QYWRkaW5nLCB0YWJiYWJsZU9wdGlvbnMgfSA9IHtcbiAgICBza2lwUG9ydGFsOiBmYWxzZSxcbiAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICB6ZXJvUGFkZGluZzogZmFsc2UsXG4gIH0sXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWwgPSBcIkRpc21pc3MgRGlhbG9nXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBpbWFnZUFsdCxcbiAgaW5pdGlhbEZvY3VzLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogTW9kYWxQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHtcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksXG4gICAgLi4ucmVzdEFyaWFBdHRyaWJ1dGVzXG4gIH0gPSBhcmlhQXR0cmlidXRlcztcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3dpbmRvd10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIG9uQWN0aW9uKFwiY2FuY2VsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhc0ltYWdlID0gaW1hZ2VVcmwgfHwgSW1hZ2VDb21wb25lbnQ7XG4gIGNvbnN0IEhlYWRpbmdDb21wb25lbnQgPSBpc1Nob3J0Vmlld3BvcnQgPyBIMyA6IEgyO1xuICBjb25zdCBpc0ltYWdlVmlzaWJsZSA9ICFpc1Nob3J0Vmlld3BvcnQgJiYgISFoYXNJbWFnZTtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldFByb3BzID0geyBpc0Z1bGxTY3JlZW4sIGlzTWF4V2lkdGhMaW1pdCB9O1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaXNEaXNtaXNzaWJsZSAmJiAoXG4gICAgPFN0eWxlZFhDb250YWluZXI+XG4gICAgICA8UGljdG9ncmFtQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYXJpYS1sYWJlbD17Y2xvc2VCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGRhdGEtbW9kYWwtY2xvc2UtYnRuXG4gICAgICAvPlxuICAgIDwvU3R5bGVkWENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaWdodGJveFxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgcHJpdmF0ZVByb3BzPXt7IHNraXBQb3J0YWwsIHRhYmJhYmxlT3B0aW9ucyB9fVxuICAgICAgaW5pdGlhbEZvY3VzPXtpbml0aWFsRm9jdXN9XG4gICAgPlxuICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdEFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgID5cbiAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPXtbbW9iaWxlU2l6ZSwgZGVza3RvcFNpemVdfT5cbiAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgYlNwYWNlPVwic1wiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17W1wieGxcIiwgXCJsXCJdfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInplcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj57aGVhZGVyfTwvSGVhZGluZ0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNE1tQiJ9 */"),StyledImg=(0,_styled.default)("img",{target:"e79ziwn3",label:"StyledImg"})(()=>({width:"100%",aspectRatio:"16/9"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBvbkFjdGlvbj86IChhY3Rpb246IFwiY2FuY2VsXCIgfCBcImFjdGlvblwiKSA9PiB2b2lkO1xuICByb2xlPzogXCJkaWFsb2dcIiB8IFwiYWxlcnRkaWFsb2dcIjtcbiAgbGFiZWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgYmxhY2sgY29sb3IgaXMgZ29pbmcgdG8gYmUgcmVwbGFjZWQgd2l0aCBncmF5IG9uZSAqL1xuICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBhY3Rpb25CdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgc2Vjb25kYXJ5QnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBzZWNvbmRhcnlCdXR0b24gdG8gcGFzcyBpbiB0ZXh0IGFuZCBvdGhlciBwcm9wcyBmb3Igc2Vjb25kYXJ5IGJ1dHRvbiAqL1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgLyoqIEFpbSB0byB1c2UgPE1vZGFsLlRleHQ+IGFuZCA8TW9kYWwuU3RhY2s+ICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgcHJpdmF0ZVByb3BzPzoge1xuICAgIHNraXBQb3J0YWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIENvbnN0cmFpbnMgTW9kYWwgYm9keSB0byBhdmFpbGFibGUgaGVpZ2h0IChhcHBsaWVzIGZsZXg6IDEpIGV2ZW4gd2l0aCBzaXplPVwibVwiLlxuICAgICAqIFByZXZlbnRzIE1vZGFsIGl0c2VsZiBmcm9tIHNjcm9sbGluZyAtIGluc3RlYWQgaW50ZXJuYWwgY29udGVudCBwYW5lbHMgc2Nyb2xsLlxuICAgICAqIE5vcm1hbGx5IG9ubHkgc2l6ZT1cImxcIiBnZXRzIHRoaXMgbGF5b3V0IGJlaGF2aW9yLlxuICAgICAqL1xuICAgIGhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBSZW1vdmVzIGFsbCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gbW9kYWwgY29udGVudCBhcmVhLlxuICAgICAqIFVzZSBmb3IgZWRnZS10by1lZGdlIGNvbnRlbnQgd2l0aCBjdXN0b20gaW50ZXJuYWwgc3BhY2luZy5cbiAgICAgKi9cbiAgICB6ZXJvUGFkZGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogT3B0aW9ucyBwYXNzZWQgdG8gZm9jdXMtdHJhcCdzIHRhYmJhYmxlIGRldGVjdGlvbi5cbiAgICAgKiBVc2UgYHsgZGlzcGxheUNoZWNrOiBcIm5vbmVcIiB9YCBmb3IgdGVzdGluZyB0byBhdm9pZCBKU0RPTSB2aXNpYmlsaXR5IGlzc3Vlcy5cbiAgICAgKi9cbiAgICB0YWJiYWJsZU9wdGlvbnM/OiB7XG4gICAgICBkaXNwbGF5Q2hlY2s/OiBcImZ1bGxcIiB8IFwibGVnYWN5LWZ1bGxcIiB8IFwibm9uLXplcm8tYXJlYVwiIHwgXCJub25lXCI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIEl0J3MgYSBiYWQgcGF0dGVybiB0byB1c2Ugbm9uLWRpc21pc3NpYmxlIE1vZGFsICovXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBpc01heFdpZHRoTGltaXQ/OiBib29sZWFuO1xuICBzaXplPzogXCJtXCIgfCBcImxcIjtcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgbW9kYWwgb3BlbnMuXG4gICAqIC0gUGFzcyBhICoqUmVmT2JqZWN0KiogdG8gZm9jdXMgYSBzcGVjaWZpYyBjdXN0b20gZWxlbWVudC5cbiAgICogLSBQYXNzIGEgc3RyaW5nIHRoYXQgd2lsbCBhY3QgYXMgY3NzIHNlbGVjdG9yIHRvIGZvY3VzIHRoYXQgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBGb3IgYW5kIGFjdGlvbkJ1dHRvbiwgc2Vjb25kYXJ5QnV0dG9uLCBwYXNzIGEgcmVmIHRvIHRob3NlIGVsZW1lbnRzIGFuZCB0byB0aGlzIHByb3BcbiAgICogRm9yIGNsb3NlQnV0dG9uIGZvY3VzLCBwYXNzIFwiW2RhdGEtbW9kYWwtY2xvc2UtYnRuXVwiXG4gICAqIC0gSWYgKip1bmRlZmluZWQqKiwgZm9jdXMgZmFsbHMgYmFjayB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgaW5pdGlhbEZvY3VzPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4gfCBzdHJpbmc7XG59ICYgT21pdDxBcmlhQXR0cmlidXRlcywgXCJhcmlhLWxhYmVsXCIgfCBcImFyaWEtbGFiZWxsZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsPzogc3RyaW5nO1xuICAgICAgaW1hZ2VBbHQ/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBCYXNlUHJvcHMgJlxuICBMYWJlbFByb3BzICZcbiAgQ29uZGl0aW9uYWxQcm9wcyAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgXCImOmZvY3VzXCI6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIHdpZHRoOiBbXG4gICAgICAgICAgYGNhbGMoMTAwJSAtICR7Z2V0TW9iaWxlU3BhY2UodGhlbWUpfSAqIDIpYCxcbiAgICAgICAgICBpc0Z1bGxTY3JlZW5cbiAgICAgICAgICAgID8gYGNhbGMoMTAwJSAtICR7Z2V0RGVza3RvcFNwYWNlKHRoZW1lKX0gKiAyKWBcbiAgICAgICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLndpZHRoW3NpemVdLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgU3R5bGVkSW5uZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBtb2JpbGVWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IG1vYmlsZUlubmVyVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZUlubmVyU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcFNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcElubmVyU3BhY2UodGhlbWUpO1xuXG4gICAgLy8gZnVsbHNjcmVlbiBhbmQgTCBzaXplIGRvbid0IGRlcGVuZCBvbiBjb250ZW50IHNpemVcbiAgICAvLyBMIHNpemUgaGVpZ2h0IGhhcyBtYXhIaWVnaHQgcmVzaXplIHVudGlsIDgwMHB4XG4gICAgLy8gZnVsbHNjcmVlbiBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcbiAgICAvLyBNIHNpemUgaGVpZ2h0IGhhcyBjb250ZW50IHNpemUgYW5kIGNlbnRlcmVkIGF0IHRvcCBhbmQgbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG5cbiAgICBjb25zdCBnZXREZXNrdG9wSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXJnaW4ubH0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJhdXRvXCI7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldERlc2t0b3BNYXhIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgYXV0b2A7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1heEhlaWdodC5sfSAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICB9O1xuXG4gICAgY29uc3QgZnVsbFNjcmVlbk1vYmlsZSA9IGBjYWxjKDEwMGR2aCAtICR7bW9iaWxlVmVydGljYWxTcGFjZX0gKiAyIC0gJHttb2JpbGVJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgaGVpZ2h0OiBbXG4gICAgICAgICAgc2l6ZSA9PT0gXCJsXCIgfHwgaXNGdWxsU2NyZWVuID8gZnVsbFNjcmVlbk1vYmlsZSA6IFwiYXV0b1wiLFxuICAgICAgICAgIGdldERlc2t0b3BIZWlnaHQoKSxcbiAgICAgICAgXSxcbiAgICAgICAgbWF4SGVpZ2h0OiBbZnVsbFNjcmVlbk1vYmlsZSwgZ2V0RGVza3RvcE1heEhlaWdodCgpXSxcbiAgICAgIH0pLFxuXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRCb2R5UHJvcHMgPSB7XG4gIGJvcmRlckJvdHRvbTogYm9vbGVhbjtcbiAgYm9yZGVyVG9wOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQm9keSA9IHN0eWxlZC5kaXY8U3R5bGVkQm9keVByb3BzICYgUGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBib3JkZXJCb3R0b20sIGJvcmRlclRvcCwgc2l6ZSwgaXNGdWxsU2NyZWVuLCBwcml2YXRlUHJvcHMgfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihwcml2YXRlUHJvcHM/LmhlaWdodCAmJiB7XG4gICAgICBoZWlnaHQ6IHByaXZhdGVQcm9wcz8uaGVpZ2h0LFxuICAgIH0pLFxuXG4gICAgLi4uKGJvcmRlckJvdHRvbSAmJiB7XG4gICAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gICAgLi4uKGJvcmRlclRvcCAmJiB7XG4gICAgICBib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRJbWcgPSBzdHlsZWQuaW1nKCgpID0+ICh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgYXNwZWN0UmF0aW86IFwiMTYvOVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRNYXhXaWR0aCA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWF4V2lkdGg6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5mdWxsU2NyZWVuQ29udGVudFdpZHRoLFxuICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG59KSk7XG5cbmNvbnN0IFN0eWxlZFhDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgdG9wOiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICAgIHJpZ2h0OiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICB9KSxcbn0pKTtcblxuY29uc3QgTW9kYWxTdGFjayA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IE9taXQ8U3RhY2tQcm9wcywgXCJzcGFjZVwiPikgPT4gKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICA8U3RhY2sgey4uLnJlc3R9IHNwYWNlPVwibVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdGFjaz5cbik7XG5cbmNvbnN0IE1vZGFsVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBPbWl0PFRleHRQcm9wcywgXCJzaXplXCIgfCBcInZhcmlhbnRcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFRleHQgey4uLnJlc3R9IHNpemU9XCJtXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9UZXh0PlxuKTtcblxuY29uc3QgRm9vdGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFsaWduSXRlbXMgPSBbXCJzdHJldGNoXCIsIFwicmlnaHRcIl0sXG4gIGlzU2hvcnRWaWV3cG9ydCxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVtdIHwgUmVhY3QuUmVhY3RFbGVtZW50O1xuICBhbGlnbkl0ZW1zPzogU3RhY2tQcm9wc1tcImFsaWduSXRlbXNcIl07XG4gIGlzU2hvcnRWaWV3cG9ydD86IGJvb2xlYW47XG59KSA9PiAoXG4gIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtpc1Nob3J0Vmlld3BvcnQgPyBcIm1cIiA6IFwibFwifT5cbiAgICA8U3RhY2sgYWxpZ25JdGVtcz17YWxpZ25JdGVtc30+e2NoaWxkcmVufTwvU3RhY2s+XG4gIDwvQm94PlxuKTtcblxuY29uc3QgSG9yaXpvbnRhbE9mZnNldCA9ICh7XG4gIGNoaWxkcmVuLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCxcbiAgaGVpZ2h0LFxufTogUGFydGlhbDxNb2RhbFByb3BzPiAmIHsgaGVpZ2h0Pzogc3RyaW5nIH0pID0+IChcbiAgPEJveCBzcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0gdlNwYWNlPVwiemVyb1wiIGhlaWdodD17aGVpZ2h0fT5cbiAgICB7aXNGdWxsU2NyZWVuICYmIGlzTWF4V2lkdGhMaW1pdCA/IChcbiAgICAgIDxTdHlsZWRNYXhXaWR0aD57Y2hpbGRyZW59PC9TdHlsZWRNYXhXaWR0aD5cbiAgICApIDogKFxuICAgICAgY2hpbGRyZW5cbiAgICApfVxuICA8L0JveD5cbik7XG5cbmZ1bmN0aW9uIGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmlubmVySGVpZ2h0IDwgTUlOX1ZJRVdQT1JUX0hFSUdIVFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWwoe1xuICBoZWFkZXIsXG4gIHN1YkhlYWRlcixcbiAgbGFiZWxIZWFkZXIsXG4gIGNoaWxkcmVuLFxuICBpbWFnZVVybCxcbiAgSW1hZ2VDb21wb25lbnQsXG4gIHNlY29uZGFyeUJ1dHRvbixcbiAgY2FuY2VsQnV0dG9uTGFiZWwsXG4gIGlzRGlzbWlzc2libGUgPSB0cnVlLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgcm9sZSA9IFwiZGlhbG9nXCIsXG4gIG9uQWN0aW9uLFxuICBzaXplID0gXCJtXCIsXG4gIHByaXZhdGVQcm9wczogeyBza2lwUG9ydGFsLCBoZWlnaHQsIHplcm9QYWRkaW5nLCB0YWJiYWJsZU9wdGlvbnMgfSA9IHtcbiAgICBza2lwUG9ydGFsOiBmYWxzZSxcbiAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICB6ZXJvUGFkZGluZzogZmFsc2UsXG4gIH0sXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWwgPSBcIkRpc21pc3MgRGlhbG9nXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBpbWFnZUFsdCxcbiAgaW5pdGlhbEZvY3VzLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogTW9kYWxQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHtcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksXG4gICAgLi4ucmVzdEFyaWFBdHRyaWJ1dGVzXG4gIH0gPSBhcmlhQXR0cmlidXRlcztcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3dpbmRvd10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIG9uQWN0aW9uKFwiY2FuY2VsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhc0ltYWdlID0gaW1hZ2VVcmwgfHwgSW1hZ2VDb21wb25lbnQ7XG4gIGNvbnN0IEhlYWRpbmdDb21wb25lbnQgPSBpc1Nob3J0Vmlld3BvcnQgPyBIMyA6IEgyO1xuICBjb25zdCBpc0ltYWdlVmlzaWJsZSA9ICFpc1Nob3J0Vmlld3BvcnQgJiYgISFoYXNJbWFnZTtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldFByb3BzID0geyBpc0Z1bGxTY3JlZW4sIGlzTWF4V2lkdGhMaW1pdCB9O1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaXNEaXNtaXNzaWJsZSAmJiAoXG4gICAgPFN0eWxlZFhDb250YWluZXI+XG4gICAgICA8UGljdG9ncmFtQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYXJpYS1sYWJlbD17Y2xvc2VCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGRhdGEtbW9kYWwtY2xvc2UtYnRuXG4gICAgICAvPlxuICAgIDwvU3R5bGVkWENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaWdodGJveFxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgcHJpdmF0ZVByb3BzPXt7IHNraXBQb3J0YWwsIHRhYmJhYmxlT3B0aW9ucyB9fVxuICAgICAgaW5pdGlhbEZvY3VzPXtpbml0aWFsRm9jdXN9XG4gICAgPlxuICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdEFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgID5cbiAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPXtbbW9iaWxlU2l6ZSwgZGVza3RvcFNpemVdfT5cbiAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgYlNwYWNlPVwic1wiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17W1wieGxcIiwgXCJsXCJdfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInplcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj57aGVhZGVyfTwvSGVhZGluZ0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa09rQiJ9 */"),StyledMaxWidth=(0,_styled.default)("div",{target:"e79ziwn4",label:"StyledMaxWidth"})(({theme})=>({maxWidth:theme.variables.size.dimension.modal.fullScreenContentWidth,margin:"0 auto",height:"100%"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBvbkFjdGlvbj86IChhY3Rpb246IFwiY2FuY2VsXCIgfCBcImFjdGlvblwiKSA9PiB2b2lkO1xuICByb2xlPzogXCJkaWFsb2dcIiB8IFwiYWxlcnRkaWFsb2dcIjtcbiAgbGFiZWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgYmxhY2sgY29sb3IgaXMgZ29pbmcgdG8gYmUgcmVwbGFjZWQgd2l0aCBncmF5IG9uZSAqL1xuICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBhY3Rpb25CdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgc2Vjb25kYXJ5QnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBzZWNvbmRhcnlCdXR0b24gdG8gcGFzcyBpbiB0ZXh0IGFuZCBvdGhlciBwcm9wcyBmb3Igc2Vjb25kYXJ5IGJ1dHRvbiAqL1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgLyoqIEFpbSB0byB1c2UgPE1vZGFsLlRleHQ+IGFuZCA8TW9kYWwuU3RhY2s+ICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgcHJpdmF0ZVByb3BzPzoge1xuICAgIHNraXBQb3J0YWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIENvbnN0cmFpbnMgTW9kYWwgYm9keSB0byBhdmFpbGFibGUgaGVpZ2h0IChhcHBsaWVzIGZsZXg6IDEpIGV2ZW4gd2l0aCBzaXplPVwibVwiLlxuICAgICAqIFByZXZlbnRzIE1vZGFsIGl0c2VsZiBmcm9tIHNjcm9sbGluZyAtIGluc3RlYWQgaW50ZXJuYWwgY29udGVudCBwYW5lbHMgc2Nyb2xsLlxuICAgICAqIE5vcm1hbGx5IG9ubHkgc2l6ZT1cImxcIiBnZXRzIHRoaXMgbGF5b3V0IGJlaGF2aW9yLlxuICAgICAqL1xuICAgIGhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBSZW1vdmVzIGFsbCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gbW9kYWwgY29udGVudCBhcmVhLlxuICAgICAqIFVzZSBmb3IgZWRnZS10by1lZGdlIGNvbnRlbnQgd2l0aCBjdXN0b20gaW50ZXJuYWwgc3BhY2luZy5cbiAgICAgKi9cbiAgICB6ZXJvUGFkZGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogT3B0aW9ucyBwYXNzZWQgdG8gZm9jdXMtdHJhcCdzIHRhYmJhYmxlIGRldGVjdGlvbi5cbiAgICAgKiBVc2UgYHsgZGlzcGxheUNoZWNrOiBcIm5vbmVcIiB9YCBmb3IgdGVzdGluZyB0byBhdm9pZCBKU0RPTSB2aXNpYmlsaXR5IGlzc3Vlcy5cbiAgICAgKi9cbiAgICB0YWJiYWJsZU9wdGlvbnM/OiB7XG4gICAgICBkaXNwbGF5Q2hlY2s/OiBcImZ1bGxcIiB8IFwibGVnYWN5LWZ1bGxcIiB8IFwibm9uLXplcm8tYXJlYVwiIHwgXCJub25lXCI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIEl0J3MgYSBiYWQgcGF0dGVybiB0byB1c2Ugbm9uLWRpc21pc3NpYmxlIE1vZGFsICovXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBpc01heFdpZHRoTGltaXQ/OiBib29sZWFuO1xuICBzaXplPzogXCJtXCIgfCBcImxcIjtcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgbW9kYWwgb3BlbnMuXG4gICAqIC0gUGFzcyBhICoqUmVmT2JqZWN0KiogdG8gZm9jdXMgYSBzcGVjaWZpYyBjdXN0b20gZWxlbWVudC5cbiAgICogLSBQYXNzIGEgc3RyaW5nIHRoYXQgd2lsbCBhY3QgYXMgY3NzIHNlbGVjdG9yIHRvIGZvY3VzIHRoYXQgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBGb3IgYW5kIGFjdGlvbkJ1dHRvbiwgc2Vjb25kYXJ5QnV0dG9uLCBwYXNzIGEgcmVmIHRvIHRob3NlIGVsZW1lbnRzIGFuZCB0byB0aGlzIHByb3BcbiAgICogRm9yIGNsb3NlQnV0dG9uIGZvY3VzLCBwYXNzIFwiW2RhdGEtbW9kYWwtY2xvc2UtYnRuXVwiXG4gICAqIC0gSWYgKip1bmRlZmluZWQqKiwgZm9jdXMgZmFsbHMgYmFjayB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgaW5pdGlhbEZvY3VzPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4gfCBzdHJpbmc7XG59ICYgT21pdDxBcmlhQXR0cmlidXRlcywgXCJhcmlhLWxhYmVsXCIgfCBcImFyaWEtbGFiZWxsZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsPzogc3RyaW5nO1xuICAgICAgaW1hZ2VBbHQ/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBCYXNlUHJvcHMgJlxuICBMYWJlbFByb3BzICZcbiAgQ29uZGl0aW9uYWxQcm9wcyAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgXCImOmZvY3VzXCI6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIHdpZHRoOiBbXG4gICAgICAgICAgYGNhbGMoMTAwJSAtICR7Z2V0TW9iaWxlU3BhY2UodGhlbWUpfSAqIDIpYCxcbiAgICAgICAgICBpc0Z1bGxTY3JlZW5cbiAgICAgICAgICAgID8gYGNhbGMoMTAwJSAtICR7Z2V0RGVza3RvcFNwYWNlKHRoZW1lKX0gKiAyKWBcbiAgICAgICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLndpZHRoW3NpemVdLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgU3R5bGVkSW5uZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBtb2JpbGVWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IG1vYmlsZUlubmVyVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZUlubmVyU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcFNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcElubmVyU3BhY2UodGhlbWUpO1xuXG4gICAgLy8gZnVsbHNjcmVlbiBhbmQgTCBzaXplIGRvbid0IGRlcGVuZCBvbiBjb250ZW50IHNpemVcbiAgICAvLyBMIHNpemUgaGVpZ2h0IGhhcyBtYXhIaWVnaHQgcmVzaXplIHVudGlsIDgwMHB4XG4gICAgLy8gZnVsbHNjcmVlbiBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcbiAgICAvLyBNIHNpemUgaGVpZ2h0IGhhcyBjb250ZW50IHNpemUgYW5kIGNlbnRlcmVkIGF0IHRvcCBhbmQgbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG5cbiAgICBjb25zdCBnZXREZXNrdG9wSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXJnaW4ubH0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJhdXRvXCI7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldERlc2t0b3BNYXhIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgYXV0b2A7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1heEhlaWdodC5sfSAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICB9O1xuXG4gICAgY29uc3QgZnVsbFNjcmVlbk1vYmlsZSA9IGBjYWxjKDEwMGR2aCAtICR7bW9iaWxlVmVydGljYWxTcGFjZX0gKiAyIC0gJHttb2JpbGVJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgaGVpZ2h0OiBbXG4gICAgICAgICAgc2l6ZSA9PT0gXCJsXCIgfHwgaXNGdWxsU2NyZWVuID8gZnVsbFNjcmVlbk1vYmlsZSA6IFwiYXV0b1wiLFxuICAgICAgICAgIGdldERlc2t0b3BIZWlnaHQoKSxcbiAgICAgICAgXSxcbiAgICAgICAgbWF4SGVpZ2h0OiBbZnVsbFNjcmVlbk1vYmlsZSwgZ2V0RGVza3RvcE1heEhlaWdodCgpXSxcbiAgICAgIH0pLFxuXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRCb2R5UHJvcHMgPSB7XG4gIGJvcmRlckJvdHRvbTogYm9vbGVhbjtcbiAgYm9yZGVyVG9wOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQm9keSA9IHN0eWxlZC5kaXY8U3R5bGVkQm9keVByb3BzICYgUGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBib3JkZXJCb3R0b20sIGJvcmRlclRvcCwgc2l6ZSwgaXNGdWxsU2NyZWVuLCBwcml2YXRlUHJvcHMgfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihwcml2YXRlUHJvcHM/LmhlaWdodCAmJiB7XG4gICAgICBoZWlnaHQ6IHByaXZhdGVQcm9wcz8uaGVpZ2h0LFxuICAgIH0pLFxuXG4gICAgLi4uKGJvcmRlckJvdHRvbSAmJiB7XG4gICAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gICAgLi4uKGJvcmRlclRvcCAmJiB7XG4gICAgICBib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRJbWcgPSBzdHlsZWQuaW1nKCgpID0+ICh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgYXNwZWN0UmF0aW86IFwiMTYvOVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRNYXhXaWR0aCA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWF4V2lkdGg6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5mdWxsU2NyZWVuQ29udGVudFdpZHRoLFxuICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG59KSk7XG5cbmNvbnN0IFN0eWxlZFhDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgdG9wOiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICAgIHJpZ2h0OiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICB9KSxcbn0pKTtcblxuY29uc3QgTW9kYWxTdGFjayA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IE9taXQ8U3RhY2tQcm9wcywgXCJzcGFjZVwiPikgPT4gKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICA8U3RhY2sgey4uLnJlc3R9IHNwYWNlPVwibVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdGFjaz5cbik7XG5cbmNvbnN0IE1vZGFsVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBPbWl0PFRleHRQcm9wcywgXCJzaXplXCIgfCBcInZhcmlhbnRcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFRleHQgey4uLnJlc3R9IHNpemU9XCJtXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9UZXh0PlxuKTtcblxuY29uc3QgRm9vdGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFsaWduSXRlbXMgPSBbXCJzdHJldGNoXCIsIFwicmlnaHRcIl0sXG4gIGlzU2hvcnRWaWV3cG9ydCxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVtdIHwgUmVhY3QuUmVhY3RFbGVtZW50O1xuICBhbGlnbkl0ZW1zPzogU3RhY2tQcm9wc1tcImFsaWduSXRlbXNcIl07XG4gIGlzU2hvcnRWaWV3cG9ydD86IGJvb2xlYW47XG59KSA9PiAoXG4gIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtpc1Nob3J0Vmlld3BvcnQgPyBcIm1cIiA6IFwibFwifT5cbiAgICA8U3RhY2sgYWxpZ25JdGVtcz17YWxpZ25JdGVtc30+e2NoaWxkcmVufTwvU3RhY2s+XG4gIDwvQm94PlxuKTtcblxuY29uc3QgSG9yaXpvbnRhbE9mZnNldCA9ICh7XG4gIGNoaWxkcmVuLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCxcbiAgaGVpZ2h0LFxufTogUGFydGlhbDxNb2RhbFByb3BzPiAmIHsgaGVpZ2h0Pzogc3RyaW5nIH0pID0+IChcbiAgPEJveCBzcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0gdlNwYWNlPVwiemVyb1wiIGhlaWdodD17aGVpZ2h0fT5cbiAgICB7aXNGdWxsU2NyZWVuICYmIGlzTWF4V2lkdGhMaW1pdCA/IChcbiAgICAgIDxTdHlsZWRNYXhXaWR0aD57Y2hpbGRyZW59PC9TdHlsZWRNYXhXaWR0aD5cbiAgICApIDogKFxuICAgICAgY2hpbGRyZW5cbiAgICApfVxuICA8L0JveD5cbik7XG5cbmZ1bmN0aW9uIGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmlubmVySGVpZ2h0IDwgTUlOX1ZJRVdQT1JUX0hFSUdIVFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWwoe1xuICBoZWFkZXIsXG4gIHN1YkhlYWRlcixcbiAgbGFiZWxIZWFkZXIsXG4gIGNoaWxkcmVuLFxuICBpbWFnZVVybCxcbiAgSW1hZ2VDb21wb25lbnQsXG4gIHNlY29uZGFyeUJ1dHRvbixcbiAgY2FuY2VsQnV0dG9uTGFiZWwsXG4gIGlzRGlzbWlzc2libGUgPSB0cnVlLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgcm9sZSA9IFwiZGlhbG9nXCIsXG4gIG9uQWN0aW9uLFxuICBzaXplID0gXCJtXCIsXG4gIHByaXZhdGVQcm9wczogeyBza2lwUG9ydGFsLCBoZWlnaHQsIHplcm9QYWRkaW5nLCB0YWJiYWJsZU9wdGlvbnMgfSA9IHtcbiAgICBza2lwUG9ydGFsOiBmYWxzZSxcbiAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICB6ZXJvUGFkZGluZzogZmFsc2UsXG4gIH0sXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWwgPSBcIkRpc21pc3MgRGlhbG9nXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBpbWFnZUFsdCxcbiAgaW5pdGlhbEZvY3VzLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogTW9kYWxQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHtcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksXG4gICAgLi4ucmVzdEFyaWFBdHRyaWJ1dGVzXG4gIH0gPSBhcmlhQXR0cmlidXRlcztcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3dpbmRvd10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIG9uQWN0aW9uKFwiY2FuY2VsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhc0ltYWdlID0gaW1hZ2VVcmwgfHwgSW1hZ2VDb21wb25lbnQ7XG4gIGNvbnN0IEhlYWRpbmdDb21wb25lbnQgPSBpc1Nob3J0Vmlld3BvcnQgPyBIMyA6IEgyO1xuICBjb25zdCBpc0ltYWdlVmlzaWJsZSA9ICFpc1Nob3J0Vmlld3BvcnQgJiYgISFoYXNJbWFnZTtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldFByb3BzID0geyBpc0Z1bGxTY3JlZW4sIGlzTWF4V2lkdGhMaW1pdCB9O1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaXNEaXNtaXNzaWJsZSAmJiAoXG4gICAgPFN0eWxlZFhDb250YWluZXI+XG4gICAgICA8UGljdG9ncmFtQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYXJpYS1sYWJlbD17Y2xvc2VCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGRhdGEtbW9kYWwtY2xvc2UtYnRuXG4gICAgICAvPlxuICAgIDwvU3R5bGVkWENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaWdodGJveFxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgcHJpdmF0ZVByb3BzPXt7IHNraXBQb3J0YWwsIHRhYmJhYmxlT3B0aW9ucyB9fVxuICAgICAgaW5pdGlhbEZvY3VzPXtpbml0aWFsRm9jdXN9XG4gICAgPlxuICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdEFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgID5cbiAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPXtbbW9iaWxlU2l6ZSwgZGVza3RvcFNpemVdfT5cbiAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgYlNwYWNlPVwic1wiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17W1wieGxcIiwgXCJsXCJdfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInplcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj57aGVhZGVyfTwvSGVhZGluZ0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdU91QiJ9 */"),StyledXContainer=(0,_styled.default)("div",{target:"e79ziwn5",label:"StyledXContainer"})(({theme})=>({position:"absolute",...(0,_mediaQueries.useResponsiveValue)({top:[theme.variables.size.spacing.s,theme.variables.size.spacing.l],right:[theme.variables.size.spacing.s,theme.variables.size.spacing.l]})}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBvbkFjdGlvbj86IChhY3Rpb246IFwiY2FuY2VsXCIgfCBcImFjdGlvblwiKSA9PiB2b2lkO1xuICByb2xlPzogXCJkaWFsb2dcIiB8IFwiYWxlcnRkaWFsb2dcIjtcbiAgbGFiZWxIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaGUgYmxhY2sgY29sb3IgaXMgZ29pbmcgdG8gYmUgcmVwbGFjZWQgd2l0aCBncmF5IG9uZSAqL1xuICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBhY3Rpb25CdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgc2Vjb25kYXJ5QnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBzZWNvbmRhcnlCdXR0b24gdG8gcGFzcyBpbiB0ZXh0IGFuZCBvdGhlciBwcm9wcyBmb3Igc2Vjb25kYXJ5IGJ1dHRvbiAqL1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgLyoqIEFpbSB0byB1c2UgPE1vZGFsLlRleHQ+IGFuZCA8TW9kYWwuU3RhY2s+ICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgcHJpdmF0ZVByb3BzPzoge1xuICAgIHNraXBQb3J0YWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIENvbnN0cmFpbnMgTW9kYWwgYm9keSB0byBhdmFpbGFibGUgaGVpZ2h0IChhcHBsaWVzIGZsZXg6IDEpIGV2ZW4gd2l0aCBzaXplPVwibVwiLlxuICAgICAqIFByZXZlbnRzIE1vZGFsIGl0c2VsZiBmcm9tIHNjcm9sbGluZyAtIGluc3RlYWQgaW50ZXJuYWwgY29udGVudCBwYW5lbHMgc2Nyb2xsLlxuICAgICAqIE5vcm1hbGx5IG9ubHkgc2l6ZT1cImxcIiBnZXRzIHRoaXMgbGF5b3V0IGJlaGF2aW9yLlxuICAgICAqL1xuICAgIGhlaWdodD86IFByb3BlcnR5LkhlaWdodDtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBSZW1vdmVzIGFsbCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gbW9kYWwgY29udGVudCBhcmVhLlxuICAgICAqIFVzZSBmb3IgZWRnZS10by1lZGdlIGNvbnRlbnQgd2l0aCBjdXN0b20gaW50ZXJuYWwgc3BhY2luZy5cbiAgICAgKi9cbiAgICB6ZXJvUGFkZGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogT3B0aW9ucyBwYXNzZWQgdG8gZm9jdXMtdHJhcCdzIHRhYmJhYmxlIGRldGVjdGlvbi5cbiAgICAgKiBVc2UgYHsgZGlzcGxheUNoZWNrOiBcIm5vbmVcIiB9YCBmb3IgdGVzdGluZyB0byBhdm9pZCBKU0RPTSB2aXNpYmlsaXR5IGlzc3Vlcy5cbiAgICAgKi9cbiAgICB0YWJiYWJsZU9wdGlvbnM/OiB7XG4gICAgICBkaXNwbGF5Q2hlY2s/OiBcImZ1bGxcIiB8IFwibGVnYWN5LWZ1bGxcIiB8IFwibm9uLXplcm8tYXJlYVwiIHwgXCJub25lXCI7XG4gICAgfTtcbiAgfTtcbiAgLyoqIEl0J3MgYSBiYWQgcGF0dGVybiB0byB1c2Ugbm9uLWRpc21pc3NpYmxlIE1vZGFsICovXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpc0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBpc01heFdpZHRoTGltaXQ/OiBib29sZWFuO1xuICBzaXplPzogXCJtXCIgfCBcImxcIjtcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgbW9kYWwgb3BlbnMuXG4gICAqIC0gUGFzcyBhICoqUmVmT2JqZWN0KiogdG8gZm9jdXMgYSBzcGVjaWZpYyBjdXN0b20gZWxlbWVudC5cbiAgICogLSBQYXNzIGEgc3RyaW5nIHRoYXQgd2lsbCBhY3QgYXMgY3NzIHNlbGVjdG9yIHRvIGZvY3VzIHRoYXQgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBGb3IgYW5kIGFjdGlvbkJ1dHRvbiwgc2Vjb25kYXJ5QnV0dG9uLCBwYXNzIGEgcmVmIHRvIHRob3NlIGVsZW1lbnRzIGFuZCB0byB0aGlzIHByb3BcbiAgICogRm9yIGNsb3NlQnV0dG9uIGZvY3VzLCBwYXNzIFwiW2RhdGEtbW9kYWwtY2xvc2UtYnRuXVwiXG4gICAqIC0gSWYgKip1bmRlZmluZWQqKiwgZm9jdXMgZmFsbHMgYmFjayB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgaW5pdGlhbEZvY3VzPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4gfCBzdHJpbmc7XG59ICYgT21pdDxBcmlhQXR0cmlidXRlcywgXCJhcmlhLWxhYmVsXCIgfCBcImFyaWEtbGFiZWxsZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBDb25kaXRpb25hbFByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsPzogc3RyaW5nO1xuICAgICAgaW1hZ2VBbHQ/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBCYXNlUHJvcHMgJlxuICBMYWJlbFByb3BzICZcbiAgQ29uZGl0aW9uYWxQcm9wcyAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgXCImOmZvY3VzXCI6IHsgb3V0bGluZTogXCJub25lXCIgfSxcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIHdpZHRoOiBbXG4gICAgICAgICAgYGNhbGMoMTAwJSAtICR7Z2V0TW9iaWxlU3BhY2UodGhlbWUpfSAqIDIpYCxcbiAgICAgICAgICBpc0Z1bGxTY3JlZW5cbiAgICAgICAgICAgID8gYGNhbGMoMTAwJSAtICR7Z2V0RGVza3RvcFNwYWNlKHRoZW1lKX0gKiAyKWBcbiAgICAgICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLndpZHRoW3NpemVdLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgU3R5bGVkSW5uZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBtb2JpbGVWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IG1vYmlsZUlubmVyVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZUlubmVyU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcFNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0RGVza3RvcElubmVyU3BhY2UodGhlbWUpO1xuXG4gICAgLy8gZnVsbHNjcmVlbiBhbmQgTCBzaXplIGRvbid0IGRlcGVuZCBvbiBjb250ZW50IHNpemVcbiAgICAvLyBMIHNpemUgaGVpZ2h0IGhhcyBtYXhIaWVnaHQgcmVzaXplIHVudGlsIDgwMHB4XG4gICAgLy8gZnVsbHNjcmVlbiBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcbiAgICAvLyBNIHNpemUgaGVpZ2h0IGhhcyBjb250ZW50IHNpemUgYW5kIGNlbnRlcmVkIGF0IHRvcCBhbmQgbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG5cbiAgICBjb25zdCBnZXREZXNrdG9wSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXJnaW4ubH0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJhdXRvXCI7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldERlc2t0b3BNYXhIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgYXV0b2A7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1heEhlaWdodC5sfSAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGNhbGMoMTAwZHZoIC0gJHtkZXNrdG9wVmVydGljYWxTcGFjZX0gKiAyIC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICB9O1xuXG4gICAgY29uc3QgZnVsbFNjcmVlbk1vYmlsZSA9IGBjYWxjKDEwMGR2aCAtICR7bW9iaWxlVmVydGljYWxTcGFjZX0gKiAyIC0gJHttb2JpbGVJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgaGVpZ2h0OiBbXG4gICAgICAgICAgc2l6ZSA9PT0gXCJsXCIgfHwgaXNGdWxsU2NyZWVuID8gZnVsbFNjcmVlbk1vYmlsZSA6IFwiYXV0b1wiLFxuICAgICAgICAgIGdldERlc2t0b3BIZWlnaHQoKSxcbiAgICAgICAgXSxcbiAgICAgICAgbWF4SGVpZ2h0OiBbZnVsbFNjcmVlbk1vYmlsZSwgZ2V0RGVza3RvcE1heEhlaWdodCgpXSxcbiAgICAgIH0pLFxuXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRCb2R5UHJvcHMgPSB7XG4gIGJvcmRlckJvdHRvbTogYm9vbGVhbjtcbiAgYm9yZGVyVG9wOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQm9keSA9IHN0eWxlZC5kaXY8U3R5bGVkQm9keVByb3BzICYgUGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBib3JkZXJCb3R0b20sIGJvcmRlclRvcCwgc2l6ZSwgaXNGdWxsU2NyZWVuLCBwcml2YXRlUHJvcHMgfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihwcml2YXRlUHJvcHM/LmhlaWdodCAmJiB7XG4gICAgICBoZWlnaHQ6IHByaXZhdGVQcm9wcz8uaGVpZ2h0LFxuICAgIH0pLFxuXG4gICAgLi4uKGJvcmRlckJvdHRvbSAmJiB7XG4gICAgICBib3JkZXJCb3R0b206IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gICAgLi4uKGJvcmRlclRvcCAmJiB7XG4gICAgICBib3JkZXJUb3A6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuZGl2aWRlci5wcmltYXJ5fWAsXG4gICAgfSksXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRJbWcgPSBzdHlsZWQuaW1nKCgpID0+ICh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgYXNwZWN0UmF0aW86IFwiMTYvOVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRNYXhXaWR0aCA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWF4V2lkdGg6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5mdWxsU2NyZWVuQ29udGVudFdpZHRoLFxuICBtYXJnaW46IFwiMCBhdXRvXCIsXG4gIGhlaWdodDogXCIxMDAlXCIsXG59KSk7XG5cbmNvbnN0IFN0eWxlZFhDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgdG9wOiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICAgIHJpZ2h0OiBbdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zLCB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmxdLFxuICB9KSxcbn0pKTtcblxuY29uc3QgTW9kYWxTdGFjayA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IE9taXQ8U3RhY2tQcm9wcywgXCJzcGFjZVwiPikgPT4gKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICA8U3RhY2sgey4uLnJlc3R9IHNwYWNlPVwibVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdGFjaz5cbik7XG5cbmNvbnN0IE1vZGFsVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBPbWl0PFRleHRQcm9wcywgXCJzaXplXCIgfCBcInZhcmlhbnRcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFRleHQgey4uLnJlc3R9IHNpemU9XCJtXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9UZXh0PlxuKTtcblxuY29uc3QgRm9vdGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFsaWduSXRlbXMgPSBbXCJzdHJldGNoXCIsIFwicmlnaHRcIl0sXG4gIGlzU2hvcnRWaWV3cG9ydCxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVtdIHwgUmVhY3QuUmVhY3RFbGVtZW50O1xuICBhbGlnbkl0ZW1zPzogU3RhY2tQcm9wc1tcImFsaWduSXRlbXNcIl07XG4gIGlzU2hvcnRWaWV3cG9ydD86IGJvb2xlYW47XG59KSA9PiAoXG4gIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtpc1Nob3J0Vmlld3BvcnQgPyBcIm1cIiA6IFwibFwifT5cbiAgICA8U3RhY2sgYWxpZ25JdGVtcz17YWxpZ25JdGVtc30+e2NoaWxkcmVufTwvU3RhY2s+XG4gIDwvQm94PlxuKTtcblxuY29uc3QgSG9yaXpvbnRhbE9mZnNldCA9ICh7XG4gIGNoaWxkcmVuLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCxcbiAgaGVpZ2h0LFxufTogUGFydGlhbDxNb2RhbFByb3BzPiAmIHsgaGVpZ2h0Pzogc3RyaW5nIH0pID0+IChcbiAgPEJveCBzcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0gdlNwYWNlPVwiemVyb1wiIGhlaWdodD17aGVpZ2h0fT5cbiAgICB7aXNGdWxsU2NyZWVuICYmIGlzTWF4V2lkdGhMaW1pdCA/IChcbiAgICAgIDxTdHlsZWRNYXhXaWR0aD57Y2hpbGRyZW59PC9TdHlsZWRNYXhXaWR0aD5cbiAgICApIDogKFxuICAgICAgY2hpbGRyZW5cbiAgICApfVxuICA8L0JveD5cbik7XG5cbmZ1bmN0aW9uIGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3c6IFdpbmRvdyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmlubmVySGVpZ2h0IDwgTUlOX1ZJRVdQT1JUX0hFSUdIVFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kYWwoe1xuICBoZWFkZXIsXG4gIHN1YkhlYWRlcixcbiAgbGFiZWxIZWFkZXIsXG4gIGNoaWxkcmVuLFxuICBpbWFnZVVybCxcbiAgSW1hZ2VDb21wb25lbnQsXG4gIHNlY29uZGFyeUJ1dHRvbixcbiAgY2FuY2VsQnV0dG9uTGFiZWwsXG4gIGlzRGlzbWlzc2libGUgPSB0cnVlLFxuICBpc0Z1bGxTY3JlZW4sXG4gIGlzTWF4V2lkdGhMaW1pdCA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgcm9sZSA9IFwiZGlhbG9nXCIsXG4gIG9uQWN0aW9uLFxuICBzaXplID0gXCJtXCIsXG4gIHByaXZhdGVQcm9wczogeyBza2lwUG9ydGFsLCBoZWlnaHQsIHplcm9QYWRkaW5nLCB0YWJiYWJsZU9wdGlvbnMgfSA9IHtcbiAgICBza2lwUG9ydGFsOiBmYWxzZSxcbiAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICB6ZXJvUGFkZGluZzogZmFsc2UsXG4gIH0sXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2xvc2VCdXR0b25BcmlhTGFiZWwgPSBcIkRpc21pc3MgRGlhbG9nXCIsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBpbWFnZUFsdCxcbiAgaW5pdGlhbEZvY3VzLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogTW9kYWxQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHtcbiAgICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksXG4gICAgLi4ucmVzdEFyaWFBdHRyaWJ1dGVzXG4gIH0gPSBhcmlhQXR0cmlidXRlcztcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3dpbmRvd10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIG9uQWN0aW9uKFwiY2FuY2VsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhc0ltYWdlID0gaW1hZ2VVcmwgfHwgSW1hZ2VDb21wb25lbnQ7XG4gIGNvbnN0IEhlYWRpbmdDb21wb25lbnQgPSBpc1Nob3J0Vmlld3BvcnQgPyBIMyA6IEgyO1xuICBjb25zdCBpc0ltYWdlVmlzaWJsZSA9ICFpc1Nob3J0Vmlld3BvcnQgJiYgISFoYXNJbWFnZTtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldFByb3BzID0geyBpc0Z1bGxTY3JlZW4sIGlzTWF4V2lkdGhMaW1pdCB9O1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gaXNEaXNtaXNzaWJsZSAmJiAoXG4gICAgPFN0eWxlZFhDb250YWluZXI+XG4gICAgICA8UGljdG9ncmFtQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYXJpYS1sYWJlbD17Y2xvc2VCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGRhdGEtbW9kYWwtY2xvc2UtYnRuXG4gICAgICAvPlxuICAgIDwvU3R5bGVkWENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaWdodGJveFxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgcHJpdmF0ZVByb3BzPXt7IHNraXBQb3J0YWwsIHRhYmJhYmxlT3B0aW9ucyB9fVxuICAgICAgaW5pdGlhbEZvY3VzPXtpbml0aWFsRm9jdXN9XG4gICAgPlxuICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdEFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgID5cbiAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPXtbbW9iaWxlU2l6ZSwgZGVza3RvcFNpemVdfT5cbiAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgYlNwYWNlPVwic1wiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17W1wieGxcIiwgXCJsXCJdfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInplcm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj57aGVhZGVyfTwvSGVhZGluZ0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNk95QiJ9 */"),Footer=({children,alignItems=["stretch","right"],isShortViewport})=>_react.default.createElement(_Box.Box,{space:"zero",tSpace:isShortViewport?"m":"l"},_react.default.createElement(_Stack.Stack,{alignItems:alignItems},children)),HorizontalOffset=({children,isFullScreen,isMaxWidthLimit,height})=>_react.default.createElement(_Box.Box,{space:["m","xl"],vSpace:"zero",height:height},isFullScreen&&isMaxWidthLimit?_react.default.createElement(StyledMaxWidth,null,children):children);function getIsShortViewport(window){return void 0!==window&&window.innerHeight<420}function Modal({header,subHeader,labelHeader,children,imageUrl,ImageComponent,secondaryButton,cancelButtonLabel,isDismissible=!0,isFullScreen,isMaxWidthLimit=!0,actionButton,role="dialog",onAction,size="m",privateProps:{skipPortal,height,zeroPadding,tabbableOptions}={skipPortal:!1,height:void 0,zeroPadding:!1},portalContainer,closeButtonAriaLabel="Dismiss Dialog","data-e2e-test-id":dataE2eTestId,imageAlt,initialFocus,...ariaAttributes}){let{"aria-label":ariaLabel,"aria-describedby":ariaDescribedBy,...restAriaAttributes}=ariaAttributes,backdropRef=(0,_react.useRef)(null),subHeaderId=(0,_react.useId)(),window=(0,_useWindow.useWindow)(),{scrollableRef,isScrollBottom,isScrollTop,hasScroll}=(0,_useScrollDetection.useScrollDetection)(),[isShortViewport,setIsShortViewport]=(0,_react.useState)(getIsShortViewport(window));(0,_react.useEffect)(()=>{let resizeObserver;return"undefined"!=typeof ResizeObserver&&backdropRef.current&&(resizeObserver=new ResizeObserver(()=>{setIsShortViewport(getIsShortViewport(window))})).observe(backdropRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[window]);let handleClose=()=>{onAction("cancel")},hasImage=imageUrl||ImageComponent,HeadingComponent=isShortViewport?_Header.H3:_Header.H2,isImageVisible=!isShortViewport&&!!hasImage,horizontalOffsetProps={isFullScreen,isMaxWidthLimit},closeButton=isDismissible&&_react.default.createElement(StyledXContainer,null,_react.default.createElement(_PictogramButton.PictogramButton,{variant:"tertiary",icon:"x",size:"s",onClick:handleClose,"aria-label":closeButtonAriaLabel,"data-modal-close-btn":!0}));return _react.default.createElement(_Lightbox.Lightbox,{backdropRef:backdropRef,portalContainer:portalContainer,handleClose:handleClose,isDismissible:isDismissible,privateProps:{skipPortal,tabbableOptions},initialFocus:initialFocus},_react.default.createElement(StyledModalWrapper,{role:role,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Modal",isFullScreen:isFullScreen,size:size,"aria-label":ariaLabel||header,"aria-describedby":subHeader?(0,_appendId.appendId)(ariaDescribedBy,subHeaderId):ariaDescribedBy,...restAriaAttributes,"aria-modal":"true",tabIndex:-1},_react.default.createElement(_Container.Container,{elevation:4},_react.default.createElement(_Box.Box,{space:"zero",vSpace:["m","xl"]},_react.default.createElement(StyledInner,{isFullScreen:isFullScreen,size:size},_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(_Box.Box,{space:"zero",bSpace:"s"},_react.default.createElement(_Stack.Stack,{space:isImageVisible?["s","l"]:"zero"},isImageVisible&&(imageUrl?_react.default.createElement(_Box.Box,{space:"zero",tSpace:["xl","l"]},_react.default.createElement(StyledImg,{src:imageUrl,alt:imageAlt})):_react.default.createElement(ImageComponent,null)),_react.default.createElement(_Stack.Stack,{space:"xxs"},labelHeader&&_react.default.createElement(_Header.H6,{as:"div"},labelHeader),_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(HeadingComponent,{as:"h1"},header),subHeader&&_react.default.createElement(_Header.H4,{as:"h2",color:"tertiary",id:subHeaderId},subHeader)))))),_react.default.createElement(StyledBody,{ref:scrollableRef,size:size,isFullScreen:isFullScreen,borderBottom:hasScroll&&!isScrollBottom,borderTop:hasScroll&&!isScrollTop,privateProps:{height}},zeroPadding?children:_react.default.createElement(_Box.Box,{space:"zero",vSpace:"xxxs",height:"100%"},_react.default.createElement(HorizontalOffset,{...horizontalOffsetProps,height:"100%"},children))),(actionButton||cancelButtonLabel||secondaryButton)&&_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(Footer,{isShortViewport:isShortViewport},_react.default.createElement(_ButtonGroup.ButtonGroup,{actionButton:actionButton,secondaryButton:secondaryButton,cancelButtonText:cancelButtonLabel,onButtonClick:onAction}))),closeButton)))))}Modal.Stack=({children,...rest})=>_react.default.createElement(_Stack.Stack,{...rest,space:"m"},children),Modal.Text=({children,...rest})=>_react.default.createElement(_Text.Text,{...rest,size:"m",color:"tertiary"},children);
10
+ `,[theme.variables.opacity.hidden,theme.variables.opacity.visible]);return{animation:`${fadeInModal} ${theme.variables.animation.modal.open.duration} ${theme.variables.animation.modal.open.delay} ${theme.variables.animation.modal.open.timingFunction} both`,"&:focus":{outline:"none"},...(0,_mediaQueries.useResponsiveValue)({width:[`calc(100% - ${getMobileSpace(theme)} * 2)`,isFullScreen?`calc(100% - ${getDesktopSpace(theme)} * 2)`:theme.variables.size.dimension.modal.width[size]]})}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQ29uZGl0aW9uYWxSb2xlUHJvcHMgPVxuICB8IHtcbiAgICAgIHJvbGU/OiBcImRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgcm9sZTogXCJhbGVydGRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI6IHN0cmluZztcbiAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7IHJvbGU6IFwiYWxlcnRkaWFsb2dcIjsgc3ViSGVhZGVyPzogbmV2ZXI7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBCYXNlUHJvcHMgPSB7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIGxhYmVsSGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgYWN0aW9uQnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIHNlY29uZGFyeUJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2Vjb25kYXJ5QnV0dG9uIHRvIHBhc3MgaW4gdGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIHNlY29uZGFyeSBidXR0b24gKi9cbiAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBBaW0gdG8gdXNlIDxNb2RhbC5UZXh0PiBhbmQgPE1vZGFsLlN0YWNrPiAqL1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIHByaXZhdGVQcm9wcz86IHtcbiAgICBza2lwUG9ydGFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBDb25zdHJhaW5zIE1vZGFsIGJvZHkgdG8gYXZhaWxhYmxlIGhlaWdodCAoYXBwbGllcyBmbGV4OiAxKSBldmVuIHdpdGggc2l6ZT1cIm1cIi5cbiAgICAgKiBQcmV2ZW50cyBNb2RhbCBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgLSBpbnN0ZWFkIGludGVybmFsIGNvbnRlbnQgcGFuZWxzIHNjcm9sbC5cbiAgICAgKiBOb3JtYWxseSBvbmx5IHNpemU9XCJsXCIgZ2V0cyB0aGlzIGxheW91dCBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBoZWlnaHQ/OiBQcm9wZXJ0eS5IZWlnaHQ7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogUmVtb3ZlcyBhbGwgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcGFkZGluZyBmcm9tIG1vZGFsIGNvbnRlbnQgYXJlYS5cbiAgICAgKiBVc2UgZm9yIGVkZ2UtdG8tZWRnZSBjb250ZW50IHdpdGggY3VzdG9tIGludGVybmFsIHNwYWNpbmcuXG4gICAgICovXG4gICAgemVyb1BhZGRpbmc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIE9wdGlvbnMgcGFzc2VkIHRvIGZvY3VzLXRyYXAncyB0YWJiYWJsZSBkZXRlY3Rpb24uXG4gICAgICogVXNlIGB7IGRpc3BsYXlDaGVjazogXCJub25lXCIgfWAgZm9yIHRlc3RpbmcgdG8gYXZvaWQgSlNET00gdmlzaWJpbGl0eSBpc3N1ZXMuXG4gICAgICovXG4gICAgdGFiYmFibGVPcHRpb25zPzoge1xuICAgICAgZGlzcGxheUNoZWNrPzogXCJmdWxsXCIgfCBcImxlZ2FjeS1mdWxsXCIgfCBcIm5vbi16ZXJvLWFyZWFcIiB8IFwibm9uZVwiO1xuICAgIH07XG4gIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIG1vZGFsIG9wZW5zLlxuICAgKiAtIFBhc3MgYSAqKlJlZk9iamVjdCoqIHRvIGZvY3VzIGEgc3BlY2lmaWMgY3VzdG9tIGVsZW1lbnQuXG4gICAqIC0gUGFzcyBhIHN0cmluZyB0aGF0IHdpbGwgYWN0IGFzIGNzcyBzZWxlY3RvciB0byBmb2N1cyB0aGF0IHNwZWNpZmljIGVsZW1lbnRcbiAgICogRm9yIGFuZCBhY3Rpb25CdXR0b24sIHNlY29uZGFyeUJ1dHRvbiwgcGFzcyBhIHJlZiB0byB0aG9zZSBlbGVtZW50cyBhbmQgdG8gdGhpcyBwcm9wXG4gICAqIEZvciBjbG9zZUJ1dHRvbiBmb2N1cywgcGFzcyBcIltkYXRhLW1vZGFsLWNsb3NlLWJ0bl1cIlxuICAgKiAtIElmICoqdW5kZWZpbmVkKiosIGZvY3VzIGZhbGxzIGJhY2sgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIGluaXRpYWxGb2N1cz86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ+IHwgc3RyaW5nO1xufSAmIE9taXQ8QXJpYUF0dHJpYnV0ZXMsIFwiYXJpYS1sYWJlbFwiIHwgXCJhcmlhLWxhYmVsbGVkYnlcIiB8IFwiYXJpYS1kZXNjcmliZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBJbWFnZVByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdDogc3RyaW5nO1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgaW1hZ2VVcmw/OiBuZXZlcjtcbiAgICAgIGltYWdlQWx0PzogbmV2ZXI7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ6IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUm9sZVByb3BzICZcbiAgTGFiZWxQcm9wcyAmXG4gIEltYWdlUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuY29uc3QgbW9iaWxlU2l6ZSA9IFwibVwiO1xuY29uc3QgZGVza3RvcFNpemUgPSBcInhsXCI7XG5jb25zdCBnZXREZXNrdG9wU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmw7XG5jb25zdCBnZXREZXNrdG9wSW5uZXJTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmdbZGVza3RvcFNpemVdO1xuY29uc3QgZ2V0TW9iaWxlU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm07XG5jb25zdCBnZXRNb2JpbGVJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1ttb2JpbGVTaXplXTtcbi8vIE1pbmltdW0gdmlld3BvcnQgaGVpZ2h0IG9uIHdoaWNoIGltYWdlIGlzIHNob3duLlxuY29uc3QgTUlOX1ZJRVdQT1JUX0hFSUdIVCA9IDQyMDtcblxuY29uc3QgU3R5bGVkTW9kYWxXcmFwcGVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgZmFkZUluTW9kYWwgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAga2V5ZnJhbWVzYFxuICAgICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVufTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZX07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICBgLFxuICAgICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBhbmltYXRpb246IGAke2ZhZGVJbk1vZGFsfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kdXJhdGlvbn0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4uZGVsYXl9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgICAgIFwiJjpmb2N1c1wiOiB7IG91dGxpbmU6IFwibm9uZVwiIH0sXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICB3aWR0aDogW1xuICAgICAgICAgIGBjYWxjKDEwMCUgLSAke2dldE1vYmlsZVNwYWNlKHRoZW1lKX0gKiAyKWAsXG4gICAgICAgICAgaXNGdWxsU2NyZWVuXG4gICAgICAgICAgICA/IGBjYWxjKDEwMCUgLSAke2dldERlc2t0b3BTcGFjZSh0aGVtZSl9ICogMilgXG4gICAgICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC53aWR0aFtzaXplXSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZElubmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgbW9iaWxlVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZVNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBtb2JpbGVJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVJbm5lclNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcElubmVyVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BJbm5lclNwYWNlKHRoZW1lKTtcblxuICAgIC8vIGZ1bGxzY3JlZW4gYW5kIEwgc2l6ZSBkb24ndCBkZXBlbmQgb24gY29udGVudCBzaXplXG4gICAgLy8gTCBzaXplIGhlaWdodCBoYXMgbWF4SGllZ2h0IHJlc2l6ZSB1bnRpbCA4MDBweFxuICAgIC8vIGZ1bGxzY3JlZW4gbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG4gICAgLy8gTSBzaXplIGhlaWdodCBoYXMgY29udGVudCBzaXplIGFuZCBjZW50ZXJlZCBhdCB0b3AgYW5kIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuXG4gICAgY29uc3QgZ2V0RGVza3RvcEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyIC0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWFyZ2luLmx9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiYXV0b1wiO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXREZXNrdG9wTWF4SGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGF1dG9gO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXhIZWlnaHQubH0gLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZ1bGxTY3JlZW5Nb2JpbGUgPSBgY2FsYygxMDBkdmggLSAke21vYmlsZVZlcnRpY2FsU3BhY2V9ICogMiAtICR7bW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIGhlaWdodDogW1xuICAgICAgICAgIHNpemUgPT09IFwibFwiIHx8IGlzRnVsbFNjcmVlbiA/IGZ1bGxTY3JlZW5Nb2JpbGUgOiBcImF1dG9cIixcbiAgICAgICAgICBnZXREZXNrdG9wSGVpZ2h0KCksXG4gICAgICAgIF0sXG4gICAgICAgIG1heEhlaWdodDogW2Z1bGxTY3JlZW5Nb2JpbGUsIGdldERlc2t0b3BNYXhIZWlnaHQoKV0sXG4gICAgICB9KSxcblxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQm9keVByb3BzID0ge1xuICBib3JkZXJCb3R0b206IGJvb2xlYW47XG4gIGJvcmRlclRvcDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2PFN0eWxlZEJvZHlQcm9wcyAmIFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgYm9yZGVyQm90dG9tLCBib3JkZXJUb3AsIHNpemUsIGlzRnVsbFNjcmVlbiwgcHJpdmF0ZVByb3BzIH0pID0+ICh7XG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuXG4gICAgLi4uKChpc0Z1bGxTY3JlZW4gfHwgc2l6ZSA9PT0gXCJsXCIpICYmIHtcbiAgICAgIGZsZXg6IDEsXG4gICAgfSksXG5cbiAgICAuLi4ocHJpdmF0ZVByb3BzPy5oZWlnaHQgJiYge1xuICAgICAgaGVpZ2h0OiBwcml2YXRlUHJvcHM/LmhlaWdodCxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCwgaGVpZ2h0LCB6ZXJvUGFkZGluZywgdGFiYmFibGVPcHRpb25zIH0gPSB7XG4gICAgc2tpcFBvcnRhbDogZmFsc2UsXG4gICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgemVyb1BhZGRpbmc6IGZhbHNlLFxuICB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG4gIGluaXRpYWxGb2N1cyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7XG4gICAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICAgIC4uLnJlc3RBcmlhQXR0cmlidXRlc1xuICB9ID0gYXJpYUF0dHJpYnV0ZXM7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgICBkYXRhLW1vZGFsLWNsb3NlLWJ0blxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGlnaHRib3hcbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgaXNEaXNtaXNzaWJsZT17aXNEaXNtaXNzaWJsZX1cbiAgICAgIHByaXZhdGVQcm9wcz17eyBza2lwUG9ydGFsLCB0YWJiYWJsZU9wdGlvbnMgfX1cbiAgICAgIGluaXRpYWxGb2N1cz17aW5pdGlhbEZvY3VzfVxuICAgID5cbiAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIk1vZGFsXCJcbiAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbCB8fCBoZWFkZXJ9XG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgIH1cbiAgICAgICAgey4uLnJlc3RBcmlhQXR0cmlidXRlc31cbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICA+XG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAge2lzSW1hZ2VWaXNpYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbWcgc3JjPXtpbWFnZVVybH0gYWx0PXtpbWFnZUFsdH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VDb21wb25lbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPntoZWFkZXJ9PC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0kyQiJ9 */"),StyledInner=(0,_styled.default)("div",{target:"ezci64j1",label:"StyledInner"})(({theme,isFullScreen,size})=>{let mobileVerticalSpace=getMobileSpace(theme),mobileInnerVerticalSpace=getMobileInnerSpace(theme),desktopVerticalSpace=getDesktopSpace(theme),desktopInnerVerticalSpace=getDesktopInnerSpace(theme),fullScreenMobile=`calc(100dvh - ${mobileVerticalSpace} * 2 - ${mobileInnerVerticalSpace} * 2)`;return{display:"flex",...(0,_mediaQueries.useResponsiveValue)({height:["l"===size||isFullScreen?fullScreenMobile:"auto",isFullScreen?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`:"l"===size?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2 - ${theme.variables.size.dimension.modal.margin.l} * 2)`:"auto"],maxHeight:[fullScreenMobile,isFullScreen?"auto":"l"===size?`calc(${theme.variables.size.dimension.modal.maxHeight.l} - ${desktopInnerVerticalSpace} * 2)`:`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`]}),flexDirection:"column",overflow:"hidden"}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQ29uZGl0aW9uYWxSb2xlUHJvcHMgPVxuICB8IHtcbiAgICAgIHJvbGU/OiBcImRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgcm9sZTogXCJhbGVydGRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI6IHN0cmluZztcbiAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7IHJvbGU6IFwiYWxlcnRkaWFsb2dcIjsgc3ViSGVhZGVyPzogbmV2ZXI7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBCYXNlUHJvcHMgPSB7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIGxhYmVsSGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgYWN0aW9uQnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIHNlY29uZGFyeUJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2Vjb25kYXJ5QnV0dG9uIHRvIHBhc3MgaW4gdGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIHNlY29uZGFyeSBidXR0b24gKi9cbiAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBBaW0gdG8gdXNlIDxNb2RhbC5UZXh0PiBhbmQgPE1vZGFsLlN0YWNrPiAqL1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIHByaXZhdGVQcm9wcz86IHtcbiAgICBza2lwUG9ydGFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBDb25zdHJhaW5zIE1vZGFsIGJvZHkgdG8gYXZhaWxhYmxlIGhlaWdodCAoYXBwbGllcyBmbGV4OiAxKSBldmVuIHdpdGggc2l6ZT1cIm1cIi5cbiAgICAgKiBQcmV2ZW50cyBNb2RhbCBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgLSBpbnN0ZWFkIGludGVybmFsIGNvbnRlbnQgcGFuZWxzIHNjcm9sbC5cbiAgICAgKiBOb3JtYWxseSBvbmx5IHNpemU9XCJsXCIgZ2V0cyB0aGlzIGxheW91dCBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBoZWlnaHQ/OiBQcm9wZXJ0eS5IZWlnaHQ7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogUmVtb3ZlcyBhbGwgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcGFkZGluZyBmcm9tIG1vZGFsIGNvbnRlbnQgYXJlYS5cbiAgICAgKiBVc2UgZm9yIGVkZ2UtdG8tZWRnZSBjb250ZW50IHdpdGggY3VzdG9tIGludGVybmFsIHNwYWNpbmcuXG4gICAgICovXG4gICAgemVyb1BhZGRpbmc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIE9wdGlvbnMgcGFzc2VkIHRvIGZvY3VzLXRyYXAncyB0YWJiYWJsZSBkZXRlY3Rpb24uXG4gICAgICogVXNlIGB7IGRpc3BsYXlDaGVjazogXCJub25lXCIgfWAgZm9yIHRlc3RpbmcgdG8gYXZvaWQgSlNET00gdmlzaWJpbGl0eSBpc3N1ZXMuXG4gICAgICovXG4gICAgdGFiYmFibGVPcHRpb25zPzoge1xuICAgICAgZGlzcGxheUNoZWNrPzogXCJmdWxsXCIgfCBcImxlZ2FjeS1mdWxsXCIgfCBcIm5vbi16ZXJvLWFyZWFcIiB8IFwibm9uZVwiO1xuICAgIH07XG4gIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIG1vZGFsIG9wZW5zLlxuICAgKiAtIFBhc3MgYSAqKlJlZk9iamVjdCoqIHRvIGZvY3VzIGEgc3BlY2lmaWMgY3VzdG9tIGVsZW1lbnQuXG4gICAqIC0gUGFzcyBhIHN0cmluZyB0aGF0IHdpbGwgYWN0IGFzIGNzcyBzZWxlY3RvciB0byBmb2N1cyB0aGF0IHNwZWNpZmljIGVsZW1lbnRcbiAgICogRm9yIGFuZCBhY3Rpb25CdXR0b24sIHNlY29uZGFyeUJ1dHRvbiwgcGFzcyBhIHJlZiB0byB0aG9zZSBlbGVtZW50cyBhbmQgdG8gdGhpcyBwcm9wXG4gICAqIEZvciBjbG9zZUJ1dHRvbiBmb2N1cywgcGFzcyBcIltkYXRhLW1vZGFsLWNsb3NlLWJ0bl1cIlxuICAgKiAtIElmICoqdW5kZWZpbmVkKiosIGZvY3VzIGZhbGxzIGJhY2sgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIGluaXRpYWxGb2N1cz86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ+IHwgc3RyaW5nO1xufSAmIE9taXQ8QXJpYUF0dHJpYnV0ZXMsIFwiYXJpYS1sYWJlbFwiIHwgXCJhcmlhLWxhYmVsbGVkYnlcIiB8IFwiYXJpYS1kZXNjcmliZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBJbWFnZVByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdDogc3RyaW5nO1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgaW1hZ2VVcmw/OiBuZXZlcjtcbiAgICAgIGltYWdlQWx0PzogbmV2ZXI7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ6IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUm9sZVByb3BzICZcbiAgTGFiZWxQcm9wcyAmXG4gIEltYWdlUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuY29uc3QgbW9iaWxlU2l6ZSA9IFwibVwiO1xuY29uc3QgZGVza3RvcFNpemUgPSBcInhsXCI7XG5jb25zdCBnZXREZXNrdG9wU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmw7XG5jb25zdCBnZXREZXNrdG9wSW5uZXJTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmdbZGVza3RvcFNpemVdO1xuY29uc3QgZ2V0TW9iaWxlU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm07XG5jb25zdCBnZXRNb2JpbGVJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1ttb2JpbGVTaXplXTtcbi8vIE1pbmltdW0gdmlld3BvcnQgaGVpZ2h0IG9uIHdoaWNoIGltYWdlIGlzIHNob3duLlxuY29uc3QgTUlOX1ZJRVdQT1JUX0hFSUdIVCA9IDQyMDtcblxuY29uc3QgU3R5bGVkTW9kYWxXcmFwcGVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgZmFkZUluTW9kYWwgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAga2V5ZnJhbWVzYFxuICAgICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVufTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZX07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICBgLFxuICAgICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBhbmltYXRpb246IGAke2ZhZGVJbk1vZGFsfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kdXJhdGlvbn0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4uZGVsYXl9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgICAgIFwiJjpmb2N1c1wiOiB7IG91dGxpbmU6IFwibm9uZVwiIH0sXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICB3aWR0aDogW1xuICAgICAgICAgIGBjYWxjKDEwMCUgLSAke2dldE1vYmlsZVNwYWNlKHRoZW1lKX0gKiAyKWAsXG4gICAgICAgICAgaXNGdWxsU2NyZWVuXG4gICAgICAgICAgICA/IGBjYWxjKDEwMCUgLSAke2dldERlc2t0b3BTcGFjZSh0aGVtZSl9ICogMilgXG4gICAgICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC53aWR0aFtzaXplXSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZElubmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgbW9iaWxlVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZVNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBtb2JpbGVJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVJbm5lclNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcElubmVyVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BJbm5lclNwYWNlKHRoZW1lKTtcblxuICAgIC8vIGZ1bGxzY3JlZW4gYW5kIEwgc2l6ZSBkb24ndCBkZXBlbmQgb24gY29udGVudCBzaXplXG4gICAgLy8gTCBzaXplIGhlaWdodCBoYXMgbWF4SGllZ2h0IHJlc2l6ZSB1bnRpbCA4MDBweFxuICAgIC8vIGZ1bGxzY3JlZW4gbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG4gICAgLy8gTSBzaXplIGhlaWdodCBoYXMgY29udGVudCBzaXplIGFuZCBjZW50ZXJlZCBhdCB0b3AgYW5kIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuXG4gICAgY29uc3QgZ2V0RGVza3RvcEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyIC0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWFyZ2luLmx9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiYXV0b1wiO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXREZXNrdG9wTWF4SGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGF1dG9gO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXhIZWlnaHQubH0gLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZ1bGxTY3JlZW5Nb2JpbGUgPSBgY2FsYygxMDBkdmggLSAke21vYmlsZVZlcnRpY2FsU3BhY2V9ICogMiAtICR7bW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIGhlaWdodDogW1xuICAgICAgICAgIHNpemUgPT09IFwibFwiIHx8IGlzRnVsbFNjcmVlbiA/IGZ1bGxTY3JlZW5Nb2JpbGUgOiBcImF1dG9cIixcbiAgICAgICAgICBnZXREZXNrdG9wSGVpZ2h0KCksXG4gICAgICAgIF0sXG4gICAgICAgIG1heEhlaWdodDogW2Z1bGxTY3JlZW5Nb2JpbGUsIGdldERlc2t0b3BNYXhIZWlnaHQoKV0sXG4gICAgICB9KSxcblxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQm9keVByb3BzID0ge1xuICBib3JkZXJCb3R0b206IGJvb2xlYW47XG4gIGJvcmRlclRvcDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2PFN0eWxlZEJvZHlQcm9wcyAmIFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgYm9yZGVyQm90dG9tLCBib3JkZXJUb3AsIHNpemUsIGlzRnVsbFNjcmVlbiwgcHJpdmF0ZVByb3BzIH0pID0+ICh7XG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuXG4gICAgLi4uKChpc0Z1bGxTY3JlZW4gfHwgc2l6ZSA9PT0gXCJsXCIpICYmIHtcbiAgICAgIGZsZXg6IDEsXG4gICAgfSksXG5cbiAgICAuLi4ocHJpdmF0ZVByb3BzPy5oZWlnaHQgJiYge1xuICAgICAgaGVpZ2h0OiBwcml2YXRlUHJvcHM/LmhlaWdodCxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCwgaGVpZ2h0LCB6ZXJvUGFkZGluZywgdGFiYmFibGVPcHRpb25zIH0gPSB7XG4gICAgc2tpcFBvcnRhbDogZmFsc2UsXG4gICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgemVyb1BhZGRpbmc6IGZhbHNlLFxuICB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG4gIGluaXRpYWxGb2N1cyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7XG4gICAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICAgIC4uLnJlc3RBcmlhQXR0cmlidXRlc1xuICB9ID0gYXJpYUF0dHJpYnV0ZXM7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgICBkYXRhLW1vZGFsLWNsb3NlLWJ0blxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGlnaHRib3hcbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgaXNEaXNtaXNzaWJsZT17aXNEaXNtaXNzaWJsZX1cbiAgICAgIHByaXZhdGVQcm9wcz17eyBza2lwUG9ydGFsLCB0YWJiYWJsZU9wdGlvbnMgfX1cbiAgICAgIGluaXRpYWxGb2N1cz17aW5pdGlhbEZvY3VzfVxuICAgID5cbiAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIk1vZGFsXCJcbiAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbCB8fCBoZWFkZXJ9XG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgIH1cbiAgICAgICAgey4uLnJlc3RBcmlhQXR0cmlidXRlc31cbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICA+XG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAge2lzSW1hZ2VWaXNpYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbWcgc3JjPXtpbWFnZVVybH0gYWx0PXtpbWFnZUFsdH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VDb21wb25lbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPntoZWFkZXJ9PC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUtvQiJ9 */"),StyledBody=(0,_styled.default)("div",{target:"ezci64j2",label:"StyledBody"})(({theme,borderBottom,borderTop,size,isFullScreen,privateProps})=>({overflowY:"auto",maxHeight:"100%",...(isFullScreen||"l"===size)&&{flex:1},...privateProps?.height&&{height:privateProps?.height},...borderBottom&&{borderBottom:`1px solid ${theme.values.color.divider.primary}`},...borderTop&&{borderTop:`1px solid ${theme.values.color.divider.primary}`}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQ29uZGl0aW9uYWxSb2xlUHJvcHMgPVxuICB8IHtcbiAgICAgIHJvbGU/OiBcImRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgcm9sZTogXCJhbGVydGRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI6IHN0cmluZztcbiAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7IHJvbGU6IFwiYWxlcnRkaWFsb2dcIjsgc3ViSGVhZGVyPzogbmV2ZXI7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBCYXNlUHJvcHMgPSB7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIGxhYmVsSGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgYWN0aW9uQnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIHNlY29uZGFyeUJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2Vjb25kYXJ5QnV0dG9uIHRvIHBhc3MgaW4gdGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIHNlY29uZGFyeSBidXR0b24gKi9cbiAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBBaW0gdG8gdXNlIDxNb2RhbC5UZXh0PiBhbmQgPE1vZGFsLlN0YWNrPiAqL1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIHByaXZhdGVQcm9wcz86IHtcbiAgICBza2lwUG9ydGFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBDb25zdHJhaW5zIE1vZGFsIGJvZHkgdG8gYXZhaWxhYmxlIGhlaWdodCAoYXBwbGllcyBmbGV4OiAxKSBldmVuIHdpdGggc2l6ZT1cIm1cIi5cbiAgICAgKiBQcmV2ZW50cyBNb2RhbCBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgLSBpbnN0ZWFkIGludGVybmFsIGNvbnRlbnQgcGFuZWxzIHNjcm9sbC5cbiAgICAgKiBOb3JtYWxseSBvbmx5IHNpemU9XCJsXCIgZ2V0cyB0aGlzIGxheW91dCBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBoZWlnaHQ/OiBQcm9wZXJ0eS5IZWlnaHQ7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogUmVtb3ZlcyBhbGwgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcGFkZGluZyBmcm9tIG1vZGFsIGNvbnRlbnQgYXJlYS5cbiAgICAgKiBVc2UgZm9yIGVkZ2UtdG8tZWRnZSBjb250ZW50IHdpdGggY3VzdG9tIGludGVybmFsIHNwYWNpbmcuXG4gICAgICovXG4gICAgemVyb1BhZGRpbmc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIE9wdGlvbnMgcGFzc2VkIHRvIGZvY3VzLXRyYXAncyB0YWJiYWJsZSBkZXRlY3Rpb24uXG4gICAgICogVXNlIGB7IGRpc3BsYXlDaGVjazogXCJub25lXCIgfWAgZm9yIHRlc3RpbmcgdG8gYXZvaWQgSlNET00gdmlzaWJpbGl0eSBpc3N1ZXMuXG4gICAgICovXG4gICAgdGFiYmFibGVPcHRpb25zPzoge1xuICAgICAgZGlzcGxheUNoZWNrPzogXCJmdWxsXCIgfCBcImxlZ2FjeS1mdWxsXCIgfCBcIm5vbi16ZXJvLWFyZWFcIiB8IFwibm9uZVwiO1xuICAgIH07XG4gIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIG1vZGFsIG9wZW5zLlxuICAgKiAtIFBhc3MgYSAqKlJlZk9iamVjdCoqIHRvIGZvY3VzIGEgc3BlY2lmaWMgY3VzdG9tIGVsZW1lbnQuXG4gICAqIC0gUGFzcyBhIHN0cmluZyB0aGF0IHdpbGwgYWN0IGFzIGNzcyBzZWxlY3RvciB0byBmb2N1cyB0aGF0IHNwZWNpZmljIGVsZW1lbnRcbiAgICogRm9yIGFuZCBhY3Rpb25CdXR0b24sIHNlY29uZGFyeUJ1dHRvbiwgcGFzcyBhIHJlZiB0byB0aG9zZSBlbGVtZW50cyBhbmQgdG8gdGhpcyBwcm9wXG4gICAqIEZvciBjbG9zZUJ1dHRvbiBmb2N1cywgcGFzcyBcIltkYXRhLW1vZGFsLWNsb3NlLWJ0bl1cIlxuICAgKiAtIElmICoqdW5kZWZpbmVkKiosIGZvY3VzIGZhbGxzIGJhY2sgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIGluaXRpYWxGb2N1cz86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ+IHwgc3RyaW5nO1xufSAmIE9taXQ8QXJpYUF0dHJpYnV0ZXMsIFwiYXJpYS1sYWJlbFwiIHwgXCJhcmlhLWxhYmVsbGVkYnlcIiB8IFwiYXJpYS1kZXNjcmliZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBJbWFnZVByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdDogc3RyaW5nO1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgaW1hZ2VVcmw/OiBuZXZlcjtcbiAgICAgIGltYWdlQWx0PzogbmV2ZXI7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ6IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUm9sZVByb3BzICZcbiAgTGFiZWxQcm9wcyAmXG4gIEltYWdlUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuY29uc3QgbW9iaWxlU2l6ZSA9IFwibVwiO1xuY29uc3QgZGVza3RvcFNpemUgPSBcInhsXCI7XG5jb25zdCBnZXREZXNrdG9wU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmw7XG5jb25zdCBnZXREZXNrdG9wSW5uZXJTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmdbZGVza3RvcFNpemVdO1xuY29uc3QgZ2V0TW9iaWxlU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm07XG5jb25zdCBnZXRNb2JpbGVJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1ttb2JpbGVTaXplXTtcbi8vIE1pbmltdW0gdmlld3BvcnQgaGVpZ2h0IG9uIHdoaWNoIGltYWdlIGlzIHNob3duLlxuY29uc3QgTUlOX1ZJRVdQT1JUX0hFSUdIVCA9IDQyMDtcblxuY29uc3QgU3R5bGVkTW9kYWxXcmFwcGVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgZmFkZUluTW9kYWwgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAga2V5ZnJhbWVzYFxuICAgICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVufTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZX07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICBgLFxuICAgICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBhbmltYXRpb246IGAke2ZhZGVJbk1vZGFsfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kdXJhdGlvbn0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4uZGVsYXl9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgICAgIFwiJjpmb2N1c1wiOiB7IG91dGxpbmU6IFwibm9uZVwiIH0sXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICB3aWR0aDogW1xuICAgICAgICAgIGBjYWxjKDEwMCUgLSAke2dldE1vYmlsZVNwYWNlKHRoZW1lKX0gKiAyKWAsXG4gICAgICAgICAgaXNGdWxsU2NyZWVuXG4gICAgICAgICAgICA/IGBjYWxjKDEwMCUgLSAke2dldERlc2t0b3BTcGFjZSh0aGVtZSl9ICogMilgXG4gICAgICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC53aWR0aFtzaXplXSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZElubmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgbW9iaWxlVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZVNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBtb2JpbGVJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVJbm5lclNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcElubmVyVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BJbm5lclNwYWNlKHRoZW1lKTtcblxuICAgIC8vIGZ1bGxzY3JlZW4gYW5kIEwgc2l6ZSBkb24ndCBkZXBlbmQgb24gY29udGVudCBzaXplXG4gICAgLy8gTCBzaXplIGhlaWdodCBoYXMgbWF4SGllZ2h0IHJlc2l6ZSB1bnRpbCA4MDBweFxuICAgIC8vIGZ1bGxzY3JlZW4gbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG4gICAgLy8gTSBzaXplIGhlaWdodCBoYXMgY29udGVudCBzaXplIGFuZCBjZW50ZXJlZCBhdCB0b3AgYW5kIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuXG4gICAgY29uc3QgZ2V0RGVza3RvcEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyIC0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWFyZ2luLmx9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiYXV0b1wiO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXREZXNrdG9wTWF4SGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGF1dG9gO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXhIZWlnaHQubH0gLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZ1bGxTY3JlZW5Nb2JpbGUgPSBgY2FsYygxMDBkdmggLSAke21vYmlsZVZlcnRpY2FsU3BhY2V9ICogMiAtICR7bW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIGhlaWdodDogW1xuICAgICAgICAgIHNpemUgPT09IFwibFwiIHx8IGlzRnVsbFNjcmVlbiA/IGZ1bGxTY3JlZW5Nb2JpbGUgOiBcImF1dG9cIixcbiAgICAgICAgICBnZXREZXNrdG9wSGVpZ2h0KCksXG4gICAgICAgIF0sXG4gICAgICAgIG1heEhlaWdodDogW2Z1bGxTY3JlZW5Nb2JpbGUsIGdldERlc2t0b3BNYXhIZWlnaHQoKV0sXG4gICAgICB9KSxcblxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQm9keVByb3BzID0ge1xuICBib3JkZXJCb3R0b206IGJvb2xlYW47XG4gIGJvcmRlclRvcDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2PFN0eWxlZEJvZHlQcm9wcyAmIFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgYm9yZGVyQm90dG9tLCBib3JkZXJUb3AsIHNpemUsIGlzRnVsbFNjcmVlbiwgcHJpdmF0ZVByb3BzIH0pID0+ICh7XG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuXG4gICAgLi4uKChpc0Z1bGxTY3JlZW4gfHwgc2l6ZSA9PT0gXCJsXCIpICYmIHtcbiAgICAgIGZsZXg6IDEsXG4gICAgfSksXG5cbiAgICAuLi4ocHJpdmF0ZVByb3BzPy5oZWlnaHQgJiYge1xuICAgICAgaGVpZ2h0OiBwcml2YXRlUHJvcHM/LmhlaWdodCxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCwgaGVpZ2h0LCB6ZXJvUGFkZGluZywgdGFiYmFibGVPcHRpb25zIH0gPSB7XG4gICAgc2tpcFBvcnRhbDogZmFsc2UsXG4gICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgemVyb1BhZGRpbmc6IGZhbHNlLFxuICB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG4gIGluaXRpYWxGb2N1cyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7XG4gICAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICAgIC4uLnJlc3RBcmlhQXR0cmlidXRlc1xuICB9ID0gYXJpYUF0dHJpYnV0ZXM7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgICBkYXRhLW1vZGFsLWNsb3NlLWJ0blxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGlnaHRib3hcbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgaXNEaXNtaXNzaWJsZT17aXNEaXNtaXNzaWJsZX1cbiAgICAgIHByaXZhdGVQcm9wcz17eyBza2lwUG9ydGFsLCB0YWJiYWJsZU9wdGlvbnMgfX1cbiAgICAgIGluaXRpYWxGb2N1cz17aW5pdGlhbEZvY3VzfVxuICAgID5cbiAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIk1vZGFsXCJcbiAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbCB8fCBoZWFkZXJ9XG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgIH1cbiAgICAgICAgey4uLnJlc3RBcmlhQXR0cmlidXRlc31cbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICA+XG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAge2lzSW1hZ2VWaXNpYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbWcgc3JjPXtpbWFnZVVybH0gYWx0PXtpbWFnZUFsdH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VDb21wb25lbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPntoZWFkZXJ9PC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOE5tQiJ9 */"),StyledImg=(0,_styled.default)("img",{target:"ezci64j3",label:"StyledImg"})(()=>({width:"100%",aspectRatio:"16/9"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQ29uZGl0aW9uYWxSb2xlUHJvcHMgPVxuICB8IHtcbiAgICAgIHJvbGU/OiBcImRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgcm9sZTogXCJhbGVydGRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI6IHN0cmluZztcbiAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7IHJvbGU6IFwiYWxlcnRkaWFsb2dcIjsgc3ViSGVhZGVyPzogbmV2ZXI7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBCYXNlUHJvcHMgPSB7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIGxhYmVsSGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgYWN0aW9uQnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIHNlY29uZGFyeUJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2Vjb25kYXJ5QnV0dG9uIHRvIHBhc3MgaW4gdGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIHNlY29uZGFyeSBidXR0b24gKi9cbiAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBBaW0gdG8gdXNlIDxNb2RhbC5UZXh0PiBhbmQgPE1vZGFsLlN0YWNrPiAqL1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIHByaXZhdGVQcm9wcz86IHtcbiAgICBza2lwUG9ydGFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBDb25zdHJhaW5zIE1vZGFsIGJvZHkgdG8gYXZhaWxhYmxlIGhlaWdodCAoYXBwbGllcyBmbGV4OiAxKSBldmVuIHdpdGggc2l6ZT1cIm1cIi5cbiAgICAgKiBQcmV2ZW50cyBNb2RhbCBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgLSBpbnN0ZWFkIGludGVybmFsIGNvbnRlbnQgcGFuZWxzIHNjcm9sbC5cbiAgICAgKiBOb3JtYWxseSBvbmx5IHNpemU9XCJsXCIgZ2V0cyB0aGlzIGxheW91dCBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBoZWlnaHQ/OiBQcm9wZXJ0eS5IZWlnaHQ7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogUmVtb3ZlcyBhbGwgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcGFkZGluZyBmcm9tIG1vZGFsIGNvbnRlbnQgYXJlYS5cbiAgICAgKiBVc2UgZm9yIGVkZ2UtdG8tZWRnZSBjb250ZW50IHdpdGggY3VzdG9tIGludGVybmFsIHNwYWNpbmcuXG4gICAgICovXG4gICAgemVyb1BhZGRpbmc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIE9wdGlvbnMgcGFzc2VkIHRvIGZvY3VzLXRyYXAncyB0YWJiYWJsZSBkZXRlY3Rpb24uXG4gICAgICogVXNlIGB7IGRpc3BsYXlDaGVjazogXCJub25lXCIgfWAgZm9yIHRlc3RpbmcgdG8gYXZvaWQgSlNET00gdmlzaWJpbGl0eSBpc3N1ZXMuXG4gICAgICovXG4gICAgdGFiYmFibGVPcHRpb25zPzoge1xuICAgICAgZGlzcGxheUNoZWNrPzogXCJmdWxsXCIgfCBcImxlZ2FjeS1mdWxsXCIgfCBcIm5vbi16ZXJvLWFyZWFcIiB8IFwibm9uZVwiO1xuICAgIH07XG4gIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIG1vZGFsIG9wZW5zLlxuICAgKiAtIFBhc3MgYSAqKlJlZk9iamVjdCoqIHRvIGZvY3VzIGEgc3BlY2lmaWMgY3VzdG9tIGVsZW1lbnQuXG4gICAqIC0gUGFzcyBhIHN0cmluZyB0aGF0IHdpbGwgYWN0IGFzIGNzcyBzZWxlY3RvciB0byBmb2N1cyB0aGF0IHNwZWNpZmljIGVsZW1lbnRcbiAgICogRm9yIGFuZCBhY3Rpb25CdXR0b24sIHNlY29uZGFyeUJ1dHRvbiwgcGFzcyBhIHJlZiB0byB0aG9zZSBlbGVtZW50cyBhbmQgdG8gdGhpcyBwcm9wXG4gICAqIEZvciBjbG9zZUJ1dHRvbiBmb2N1cywgcGFzcyBcIltkYXRhLW1vZGFsLWNsb3NlLWJ0bl1cIlxuICAgKiAtIElmICoqdW5kZWZpbmVkKiosIGZvY3VzIGZhbGxzIGJhY2sgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIGluaXRpYWxGb2N1cz86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ+IHwgc3RyaW5nO1xufSAmIE9taXQ8QXJpYUF0dHJpYnV0ZXMsIFwiYXJpYS1sYWJlbFwiIHwgXCJhcmlhLWxhYmVsbGVkYnlcIiB8IFwiYXJpYS1kZXNjcmliZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBJbWFnZVByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdDogc3RyaW5nO1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgaW1hZ2VVcmw/OiBuZXZlcjtcbiAgICAgIGltYWdlQWx0PzogbmV2ZXI7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ6IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUm9sZVByb3BzICZcbiAgTGFiZWxQcm9wcyAmXG4gIEltYWdlUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuY29uc3QgbW9iaWxlU2l6ZSA9IFwibVwiO1xuY29uc3QgZGVza3RvcFNpemUgPSBcInhsXCI7XG5jb25zdCBnZXREZXNrdG9wU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmw7XG5jb25zdCBnZXREZXNrdG9wSW5uZXJTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmdbZGVza3RvcFNpemVdO1xuY29uc3QgZ2V0TW9iaWxlU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm07XG5jb25zdCBnZXRNb2JpbGVJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1ttb2JpbGVTaXplXTtcbi8vIE1pbmltdW0gdmlld3BvcnQgaGVpZ2h0IG9uIHdoaWNoIGltYWdlIGlzIHNob3duLlxuY29uc3QgTUlOX1ZJRVdQT1JUX0hFSUdIVCA9IDQyMDtcblxuY29uc3QgU3R5bGVkTW9kYWxXcmFwcGVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgZmFkZUluTW9kYWwgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAga2V5ZnJhbWVzYFxuICAgICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVufTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZX07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICBgLFxuICAgICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBhbmltYXRpb246IGAke2ZhZGVJbk1vZGFsfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kdXJhdGlvbn0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4uZGVsYXl9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgICAgIFwiJjpmb2N1c1wiOiB7IG91dGxpbmU6IFwibm9uZVwiIH0sXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICB3aWR0aDogW1xuICAgICAgICAgIGBjYWxjKDEwMCUgLSAke2dldE1vYmlsZVNwYWNlKHRoZW1lKX0gKiAyKWAsXG4gICAgICAgICAgaXNGdWxsU2NyZWVuXG4gICAgICAgICAgICA/IGBjYWxjKDEwMCUgLSAke2dldERlc2t0b3BTcGFjZSh0aGVtZSl9ICogMilgXG4gICAgICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC53aWR0aFtzaXplXSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZElubmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgbW9iaWxlVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZVNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBtb2JpbGVJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVJbm5lclNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcElubmVyVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BJbm5lclNwYWNlKHRoZW1lKTtcblxuICAgIC8vIGZ1bGxzY3JlZW4gYW5kIEwgc2l6ZSBkb24ndCBkZXBlbmQgb24gY29udGVudCBzaXplXG4gICAgLy8gTCBzaXplIGhlaWdodCBoYXMgbWF4SGllZ2h0IHJlc2l6ZSB1bnRpbCA4MDBweFxuICAgIC8vIGZ1bGxzY3JlZW4gbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG4gICAgLy8gTSBzaXplIGhlaWdodCBoYXMgY29udGVudCBzaXplIGFuZCBjZW50ZXJlZCBhdCB0b3AgYW5kIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuXG4gICAgY29uc3QgZ2V0RGVza3RvcEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyIC0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWFyZ2luLmx9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiYXV0b1wiO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXREZXNrdG9wTWF4SGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGF1dG9gO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXhIZWlnaHQubH0gLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZ1bGxTY3JlZW5Nb2JpbGUgPSBgY2FsYygxMDBkdmggLSAke21vYmlsZVZlcnRpY2FsU3BhY2V9ICogMiAtICR7bW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIGhlaWdodDogW1xuICAgICAgICAgIHNpemUgPT09IFwibFwiIHx8IGlzRnVsbFNjcmVlbiA/IGZ1bGxTY3JlZW5Nb2JpbGUgOiBcImF1dG9cIixcbiAgICAgICAgICBnZXREZXNrdG9wSGVpZ2h0KCksXG4gICAgICAgIF0sXG4gICAgICAgIG1heEhlaWdodDogW2Z1bGxTY3JlZW5Nb2JpbGUsIGdldERlc2t0b3BNYXhIZWlnaHQoKV0sXG4gICAgICB9KSxcblxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQm9keVByb3BzID0ge1xuICBib3JkZXJCb3R0b206IGJvb2xlYW47XG4gIGJvcmRlclRvcDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2PFN0eWxlZEJvZHlQcm9wcyAmIFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgYm9yZGVyQm90dG9tLCBib3JkZXJUb3AsIHNpemUsIGlzRnVsbFNjcmVlbiwgcHJpdmF0ZVByb3BzIH0pID0+ICh7XG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuXG4gICAgLi4uKChpc0Z1bGxTY3JlZW4gfHwgc2l6ZSA9PT0gXCJsXCIpICYmIHtcbiAgICAgIGZsZXg6IDEsXG4gICAgfSksXG5cbiAgICAuLi4ocHJpdmF0ZVByb3BzPy5oZWlnaHQgJiYge1xuICAgICAgaGVpZ2h0OiBwcml2YXRlUHJvcHM/LmhlaWdodCxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCwgaGVpZ2h0LCB6ZXJvUGFkZGluZywgdGFiYmFibGVPcHRpb25zIH0gPSB7XG4gICAgc2tpcFBvcnRhbDogZmFsc2UsXG4gICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgemVyb1BhZGRpbmc6IGZhbHNlLFxuICB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG4gIGluaXRpYWxGb2N1cyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7XG4gICAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICAgIC4uLnJlc3RBcmlhQXR0cmlidXRlc1xuICB9ID0gYXJpYUF0dHJpYnV0ZXM7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgICBkYXRhLW1vZGFsLWNsb3NlLWJ0blxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGlnaHRib3hcbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgaXNEaXNtaXNzaWJsZT17aXNEaXNtaXNzaWJsZX1cbiAgICAgIHByaXZhdGVQcm9wcz17eyBza2lwUG9ydGFsLCB0YWJiYWJsZU9wdGlvbnMgfX1cbiAgICAgIGluaXRpYWxGb2N1cz17aW5pdGlhbEZvY3VzfVxuICAgID5cbiAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIk1vZGFsXCJcbiAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbCB8fCBoZWFkZXJ9XG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgIH1cbiAgICAgICAgey4uLnJlc3RBcmlhQXR0cmlidXRlc31cbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICA+XG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAge2lzSW1hZ2VWaXNpYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbWcgc3JjPXtpbWFnZVVybH0gYWx0PXtpbWFnZUFsdH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VDb21wb25lbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPntoZWFkZXJ9PC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb1BrQiJ9 */"),StyledMaxWidth=(0,_styled.default)("div",{target:"ezci64j4",label:"StyledMaxWidth"})(({theme})=>({maxWidth:theme.variables.size.dimension.modal.fullScreenContentWidth,margin:"0 auto",height:"100%"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQ29uZGl0aW9uYWxSb2xlUHJvcHMgPVxuICB8IHtcbiAgICAgIHJvbGU/OiBcImRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgcm9sZTogXCJhbGVydGRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI6IHN0cmluZztcbiAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7IHJvbGU6IFwiYWxlcnRkaWFsb2dcIjsgc3ViSGVhZGVyPzogbmV2ZXI7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBCYXNlUHJvcHMgPSB7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIGxhYmVsSGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgYWN0aW9uQnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIHNlY29uZGFyeUJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2Vjb25kYXJ5QnV0dG9uIHRvIHBhc3MgaW4gdGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIHNlY29uZGFyeSBidXR0b24gKi9cbiAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBBaW0gdG8gdXNlIDxNb2RhbC5UZXh0PiBhbmQgPE1vZGFsLlN0YWNrPiAqL1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIHByaXZhdGVQcm9wcz86IHtcbiAgICBza2lwUG9ydGFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBDb25zdHJhaW5zIE1vZGFsIGJvZHkgdG8gYXZhaWxhYmxlIGhlaWdodCAoYXBwbGllcyBmbGV4OiAxKSBldmVuIHdpdGggc2l6ZT1cIm1cIi5cbiAgICAgKiBQcmV2ZW50cyBNb2RhbCBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgLSBpbnN0ZWFkIGludGVybmFsIGNvbnRlbnQgcGFuZWxzIHNjcm9sbC5cbiAgICAgKiBOb3JtYWxseSBvbmx5IHNpemU9XCJsXCIgZ2V0cyB0aGlzIGxheW91dCBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBoZWlnaHQ/OiBQcm9wZXJ0eS5IZWlnaHQ7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogUmVtb3ZlcyBhbGwgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcGFkZGluZyBmcm9tIG1vZGFsIGNvbnRlbnQgYXJlYS5cbiAgICAgKiBVc2UgZm9yIGVkZ2UtdG8tZWRnZSBjb250ZW50IHdpdGggY3VzdG9tIGludGVybmFsIHNwYWNpbmcuXG4gICAgICovXG4gICAgemVyb1BhZGRpbmc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIE9wdGlvbnMgcGFzc2VkIHRvIGZvY3VzLXRyYXAncyB0YWJiYWJsZSBkZXRlY3Rpb24uXG4gICAgICogVXNlIGB7IGRpc3BsYXlDaGVjazogXCJub25lXCIgfWAgZm9yIHRlc3RpbmcgdG8gYXZvaWQgSlNET00gdmlzaWJpbGl0eSBpc3N1ZXMuXG4gICAgICovXG4gICAgdGFiYmFibGVPcHRpb25zPzoge1xuICAgICAgZGlzcGxheUNoZWNrPzogXCJmdWxsXCIgfCBcImxlZ2FjeS1mdWxsXCIgfCBcIm5vbi16ZXJvLWFyZWFcIiB8IFwibm9uZVwiO1xuICAgIH07XG4gIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIG1vZGFsIG9wZW5zLlxuICAgKiAtIFBhc3MgYSAqKlJlZk9iamVjdCoqIHRvIGZvY3VzIGEgc3BlY2lmaWMgY3VzdG9tIGVsZW1lbnQuXG4gICAqIC0gUGFzcyBhIHN0cmluZyB0aGF0IHdpbGwgYWN0IGFzIGNzcyBzZWxlY3RvciB0byBmb2N1cyB0aGF0IHNwZWNpZmljIGVsZW1lbnRcbiAgICogRm9yIGFuZCBhY3Rpb25CdXR0b24sIHNlY29uZGFyeUJ1dHRvbiwgcGFzcyBhIHJlZiB0byB0aG9zZSBlbGVtZW50cyBhbmQgdG8gdGhpcyBwcm9wXG4gICAqIEZvciBjbG9zZUJ1dHRvbiBmb2N1cywgcGFzcyBcIltkYXRhLW1vZGFsLWNsb3NlLWJ0bl1cIlxuICAgKiAtIElmICoqdW5kZWZpbmVkKiosIGZvY3VzIGZhbGxzIGJhY2sgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIGluaXRpYWxGb2N1cz86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ+IHwgc3RyaW5nO1xufSAmIE9taXQ8QXJpYUF0dHJpYnV0ZXMsIFwiYXJpYS1sYWJlbFwiIHwgXCJhcmlhLWxhYmVsbGVkYnlcIiB8IFwiYXJpYS1kZXNjcmliZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBJbWFnZVByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdDogc3RyaW5nO1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgaW1hZ2VVcmw/OiBuZXZlcjtcbiAgICAgIGltYWdlQWx0PzogbmV2ZXI7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ6IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUm9sZVByb3BzICZcbiAgTGFiZWxQcm9wcyAmXG4gIEltYWdlUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuY29uc3QgbW9iaWxlU2l6ZSA9IFwibVwiO1xuY29uc3QgZGVza3RvcFNpemUgPSBcInhsXCI7XG5jb25zdCBnZXREZXNrdG9wU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmw7XG5jb25zdCBnZXREZXNrdG9wSW5uZXJTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmdbZGVza3RvcFNpemVdO1xuY29uc3QgZ2V0TW9iaWxlU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm07XG5jb25zdCBnZXRNb2JpbGVJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1ttb2JpbGVTaXplXTtcbi8vIE1pbmltdW0gdmlld3BvcnQgaGVpZ2h0IG9uIHdoaWNoIGltYWdlIGlzIHNob3duLlxuY29uc3QgTUlOX1ZJRVdQT1JUX0hFSUdIVCA9IDQyMDtcblxuY29uc3QgU3R5bGVkTW9kYWxXcmFwcGVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgZmFkZUluTW9kYWwgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAga2V5ZnJhbWVzYFxuICAgICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVufTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZX07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICBgLFxuICAgICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBhbmltYXRpb246IGAke2ZhZGVJbk1vZGFsfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kdXJhdGlvbn0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4uZGVsYXl9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgICAgIFwiJjpmb2N1c1wiOiB7IG91dGxpbmU6IFwibm9uZVwiIH0sXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICB3aWR0aDogW1xuICAgICAgICAgIGBjYWxjKDEwMCUgLSAke2dldE1vYmlsZVNwYWNlKHRoZW1lKX0gKiAyKWAsXG4gICAgICAgICAgaXNGdWxsU2NyZWVuXG4gICAgICAgICAgICA/IGBjYWxjKDEwMCUgLSAke2dldERlc2t0b3BTcGFjZSh0aGVtZSl9ICogMilgXG4gICAgICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC53aWR0aFtzaXplXSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZElubmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgbW9iaWxlVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZVNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBtb2JpbGVJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVJbm5lclNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcElubmVyVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BJbm5lclNwYWNlKHRoZW1lKTtcblxuICAgIC8vIGZ1bGxzY3JlZW4gYW5kIEwgc2l6ZSBkb24ndCBkZXBlbmQgb24gY29udGVudCBzaXplXG4gICAgLy8gTCBzaXplIGhlaWdodCBoYXMgbWF4SGllZ2h0IHJlc2l6ZSB1bnRpbCA4MDBweFxuICAgIC8vIGZ1bGxzY3JlZW4gbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG4gICAgLy8gTSBzaXplIGhlaWdodCBoYXMgY29udGVudCBzaXplIGFuZCBjZW50ZXJlZCBhdCB0b3AgYW5kIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuXG4gICAgY29uc3QgZ2V0RGVza3RvcEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyIC0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWFyZ2luLmx9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiYXV0b1wiO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXREZXNrdG9wTWF4SGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGF1dG9gO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXhIZWlnaHQubH0gLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZ1bGxTY3JlZW5Nb2JpbGUgPSBgY2FsYygxMDBkdmggLSAke21vYmlsZVZlcnRpY2FsU3BhY2V9ICogMiAtICR7bW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIGhlaWdodDogW1xuICAgICAgICAgIHNpemUgPT09IFwibFwiIHx8IGlzRnVsbFNjcmVlbiA/IGZ1bGxTY3JlZW5Nb2JpbGUgOiBcImF1dG9cIixcbiAgICAgICAgICBnZXREZXNrdG9wSGVpZ2h0KCksXG4gICAgICAgIF0sXG4gICAgICAgIG1heEhlaWdodDogW2Z1bGxTY3JlZW5Nb2JpbGUsIGdldERlc2t0b3BNYXhIZWlnaHQoKV0sXG4gICAgICB9KSxcblxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQm9keVByb3BzID0ge1xuICBib3JkZXJCb3R0b206IGJvb2xlYW47XG4gIGJvcmRlclRvcDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2PFN0eWxlZEJvZHlQcm9wcyAmIFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgYm9yZGVyQm90dG9tLCBib3JkZXJUb3AsIHNpemUsIGlzRnVsbFNjcmVlbiwgcHJpdmF0ZVByb3BzIH0pID0+ICh7XG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuXG4gICAgLi4uKChpc0Z1bGxTY3JlZW4gfHwgc2l6ZSA9PT0gXCJsXCIpICYmIHtcbiAgICAgIGZsZXg6IDEsXG4gICAgfSksXG5cbiAgICAuLi4ocHJpdmF0ZVByb3BzPy5oZWlnaHQgJiYge1xuICAgICAgaGVpZ2h0OiBwcml2YXRlUHJvcHM/LmhlaWdodCxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCwgaGVpZ2h0LCB6ZXJvUGFkZGluZywgdGFiYmFibGVPcHRpb25zIH0gPSB7XG4gICAgc2tpcFBvcnRhbDogZmFsc2UsXG4gICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgemVyb1BhZGRpbmc6IGZhbHNlLFxuICB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG4gIGluaXRpYWxGb2N1cyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7XG4gICAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICAgIC4uLnJlc3RBcmlhQXR0cmlidXRlc1xuICB9ID0gYXJpYUF0dHJpYnV0ZXM7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgICBkYXRhLW1vZGFsLWNsb3NlLWJ0blxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGlnaHRib3hcbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgaXNEaXNtaXNzaWJsZT17aXNEaXNtaXNzaWJsZX1cbiAgICAgIHByaXZhdGVQcm9wcz17eyBza2lwUG9ydGFsLCB0YWJiYWJsZU9wdGlvbnMgfX1cbiAgICAgIGluaXRpYWxGb2N1cz17aW5pdGlhbEZvY3VzfVxuICAgID5cbiAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIk1vZGFsXCJcbiAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbCB8fCBoZWFkZXJ9XG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgIH1cbiAgICAgICAgey4uLnJlc3RBcmlhQXR0cmlidXRlc31cbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICA+XG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAge2lzSW1hZ2VWaXNpYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbWcgc3JjPXtpbWFnZVVybH0gYWx0PXtpbWFnZUFsdH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VDb21wb25lbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPntoZWFkZXJ9PC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeVB1QiJ9 */"),StyledXContainer=(0,_styled.default)("div",{target:"ezci64j5",label:"StyledXContainer"})(({theme})=>({position:"absolute",...(0,_mediaQueries.useResponsiveValue)({top:[theme.variables.size.spacing.s,theme.variables.size.spacing.l],right:[theme.variables.size.spacing.s,theme.variables.size.spacing.l]})}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbmltcG9ydCB0eXBlIHsgQXJpYUF0dHJpYnV0ZXMsIFJlZk9iamVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVJlZiwgdXNlSWQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiY3NzdHlwZVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgSDIsIEg0LCBINiwgSDMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9IZWFkZXIvSGVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN0YWNrUHJvcHMgfSBmcm9tIFwiLi4vLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uLy4uL0JveC9Cb3hcIjtcblxuaW1wb3J0IHR5cGUgeyBCdXR0b25Hcm91cEJ1dHRvblByb3BzIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cCB9IGZyb20gXCIuLi9CdXR0b25Hcm91cC9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uLy4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgVGV4dFByb3BzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvVGV4dC9UZXh0XCI7XG5pbXBvcnQgeyB1c2VSZXNwb25zaXZlVmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRGV0ZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VTY3JvbGxEZXRlY3Rpb25cIjtcbmltcG9ydCB7IGFwcGVuZElkIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9hcHBlbmRJZFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IExpZ2h0Ym94IH0gZnJvbSBcIi4uLy4uL0xpZ2h0Ym94L0xpZ2h0Ym94XCI7XG5cbnR5cGUgQ29uZGl0aW9uYWxSb2xlUHJvcHMgPVxuICB8IHtcbiAgICAgIHJvbGU/OiBcImRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI/OiBzdHJpbmc7XG4gICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIj86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgcm9sZTogXCJhbGVydGRpYWxvZ1wiO1xuICAgICAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gICAgICBzdWJIZWFkZXI6IHN0cmluZztcbiAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7IHJvbGU6IFwiYWxlcnRkaWFsb2dcIjsgc3ViSGVhZGVyPzogbmV2ZXI7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBCYXNlUHJvcHMgPSB7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIGxhYmVsSGVhZGVyPzogc3RyaW5nO1xuICAvKiogVGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIGFjdGlvbiBCdXR0b24gKi9cbiAgYWN0aW9uQnV0dG9uPzogQnV0dG9uR3JvdXBCdXR0b25Qcm9wcztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIHNlY29uZGFyeUJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2Vjb25kYXJ5QnV0dG9uIHRvIHBhc3MgaW4gdGV4dCBhbmQgb3RoZXIgcHJvcHMgZm9yIHNlY29uZGFyeSBidXR0b24gKi9cbiAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBBaW0gdG8gdXNlIDxNb2RhbC5UZXh0PiBhbmQgPE1vZGFsLlN0YWNrPiAqL1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIHByaXZhdGVQcm9wcz86IHtcbiAgICBza2lwUG9ydGFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBDb25zdHJhaW5zIE1vZGFsIGJvZHkgdG8gYXZhaWxhYmxlIGhlaWdodCAoYXBwbGllcyBmbGV4OiAxKSBldmVuIHdpdGggc2l6ZT1cIm1cIi5cbiAgICAgKiBQcmV2ZW50cyBNb2RhbCBpdHNlbGYgZnJvbSBzY3JvbGxpbmcgLSBpbnN0ZWFkIGludGVybmFsIGNvbnRlbnQgcGFuZWxzIHNjcm9sbC5cbiAgICAgKiBOb3JtYWxseSBvbmx5IHNpemU9XCJsXCIgZ2V0cyB0aGlzIGxheW91dCBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBoZWlnaHQ/OiBQcm9wZXJ0eS5IZWlnaHQ7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogUmVtb3ZlcyBhbGwgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcGFkZGluZyBmcm9tIG1vZGFsIGNvbnRlbnQgYXJlYS5cbiAgICAgKiBVc2UgZm9yIGVkZ2UtdG8tZWRnZSBjb250ZW50IHdpdGggY3VzdG9tIGludGVybmFsIHNwYWNpbmcuXG4gICAgICovXG4gICAgemVyb1BhZGRpbmc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIE9wdGlvbnMgcGFzc2VkIHRvIGZvY3VzLXRyYXAncyB0YWJiYWJsZSBkZXRlY3Rpb24uXG4gICAgICogVXNlIGB7IGRpc3BsYXlDaGVjazogXCJub25lXCIgfWAgZm9yIHRlc3RpbmcgdG8gYXZvaWQgSlNET00gdmlzaWJpbGl0eSBpc3N1ZXMuXG4gICAgICovXG4gICAgdGFiYmFibGVPcHRpb25zPzoge1xuICAgICAgZGlzcGxheUNoZWNrPzogXCJmdWxsXCIgfCBcImxlZ2FjeS1mdWxsXCIgfCBcIm5vbi16ZXJvLWFyZWFcIiB8IFwibm9uZVwiO1xuICAgIH07XG4gIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIG1vZGFsIG9wZW5zLlxuICAgKiAtIFBhc3MgYSAqKlJlZk9iamVjdCoqIHRvIGZvY3VzIGEgc3BlY2lmaWMgY3VzdG9tIGVsZW1lbnQuXG4gICAqIC0gUGFzcyBhIHN0cmluZyB0aGF0IHdpbGwgYWN0IGFzIGNzcyBzZWxlY3RvciB0byBmb2N1cyB0aGF0IHNwZWNpZmljIGVsZW1lbnRcbiAgICogRm9yIGFuZCBhY3Rpb25CdXR0b24sIHNlY29uZGFyeUJ1dHRvbiwgcGFzcyBhIHJlZiB0byB0aG9zZSBlbGVtZW50cyBhbmQgdG8gdGhpcyBwcm9wXG4gICAqIEZvciBjbG9zZUJ1dHRvbiBmb2N1cywgcGFzcyBcIltkYXRhLW1vZGFsLWNsb3NlLWJ0bl1cIlxuICAgKiAtIElmICoqdW5kZWZpbmVkKiosIGZvY3VzIGZhbGxzIGJhY2sgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIGluaXRpYWxGb2N1cz86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ+IHwgc3RyaW5nO1xufSAmIE9taXQ8QXJpYUF0dHJpYnV0ZXMsIFwiYXJpYS1sYWJlbFwiIHwgXCJhcmlhLWxhYmVsbGVkYnlcIiB8IFwiYXJpYS1kZXNjcmliZWRieVwiPjtcblxuLyoqIEF0IGxlYXN0IG9uZSBvZiBoZWFkZXIsIGFyaWEtbGFiZWwsIG9yIGFyaWEtbGFiZWxsZWRieSBtdXN0IGJlIHByb3ZpZGVkIGZvciBhY2Nlc3NpYmlsaXR5ICovXG50eXBlIExhYmVsUHJvcHMgPVxuICB8IHsgaGVhZGVyOiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiPzogc3RyaW5nIH1cbiAgfCB7IGhlYWRlcj86IHN0cmluZzsgXCJhcmlhLWxhYmVsXCI6IHN0cmluZzsgXCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB9XG4gIHwgeyBoZWFkZXI/OiBzdHJpbmc7IFwiYXJpYS1sYWJlbFwiPzogc3RyaW5nOyBcImFyaWEtbGFiZWxsZWRieVwiOiBzdHJpbmcgfTtcblxudHlwZSBJbWFnZVByb3BzID1cbiAgfCB7XG4gICAgICAvKiogQXNwZWN0IHJhdGlvIDE2OjkgKi9cbiAgICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdDogc3RyaW5nO1xuICAgICAgSW1hZ2VDb21wb25lbnQ/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgaW1hZ2VVcmw/OiBuZXZlcjtcbiAgICAgIGltYWdlQWx0PzogbmV2ZXI7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgaW1hZ2VBbHQ/OiBuZXZlcjtcbiAgICAgIC8qKiBBY2NlcHQgcmF0aW8gMTY6OSAqL1xuICAgICAgSW1hZ2VDb21wb25lbnQ6IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUm9sZVByb3BzICZcbiAgTGFiZWxQcm9wcyAmXG4gIEltYWdlUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuY29uc3QgbW9iaWxlU2l6ZSA9IFwibVwiO1xuY29uc3QgZGVza3RvcFNpemUgPSBcInhsXCI7XG5jb25zdCBnZXREZXNrdG9wU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLmw7XG5jb25zdCBnZXREZXNrdG9wSW5uZXJTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmdbZGVza3RvcFNpemVdO1xuY29uc3QgZ2V0TW9iaWxlU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm07XG5jb25zdCBnZXRNb2JpbGVJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1ttb2JpbGVTaXplXTtcbi8vIE1pbmltdW0gdmlld3BvcnQgaGVpZ2h0IG9uIHdoaWNoIGltYWdlIGlzIHNob3duLlxuY29uc3QgTUlOX1ZJRVdQT1JUX0hFSUdIVCA9IDQyMDtcblxuY29uc3QgU3R5bGVkTW9kYWxXcmFwcGVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgZmFkZUluTW9kYWwgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAga2V5ZnJhbWVzYFxuICAgICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVufTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7dGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZX07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICBgLFxuICAgICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBhbmltYXRpb246IGAke2ZhZGVJbk1vZGFsfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kdXJhdGlvbn0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4uZGVsYXl9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgICAgIFwiJjpmb2N1c1wiOiB7IG91dGxpbmU6IFwibm9uZVwiIH0sXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICB3aWR0aDogW1xuICAgICAgICAgIGBjYWxjKDEwMCUgLSAke2dldE1vYmlsZVNwYWNlKHRoZW1lKX0gKiAyKWAsXG4gICAgICAgICAgaXNGdWxsU2NyZWVuXG4gICAgICAgICAgICA/IGBjYWxjKDEwMCUgLSAke2dldERlc2t0b3BTcGFjZSh0aGVtZSl9ICogMilgXG4gICAgICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC53aWR0aFtzaXplXSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IFN0eWxlZElubmVyID0gc3R5bGVkLmRpdjxQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGlzRnVsbFNjcmVlbiwgc2l6ZSB9KSA9PiB7XG4gICAgY29uc3QgbW9iaWxlVmVydGljYWxTcGFjZSA9IGdldE1vYmlsZVNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBtb2JpbGVJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVJbm5lclNwYWNlKHRoZW1lKTtcbiAgICBjb25zdCBkZXNrdG9wVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcElubmVyVmVydGljYWxTcGFjZSA9IGdldERlc2t0b3BJbm5lclNwYWNlKHRoZW1lKTtcblxuICAgIC8vIGZ1bGxzY3JlZW4gYW5kIEwgc2l6ZSBkb24ndCBkZXBlbmQgb24gY29udGVudCBzaXplXG4gICAgLy8gTCBzaXplIGhlaWdodCBoYXMgbWF4SGllZ2h0IHJlc2l6ZSB1bnRpbCA4MDBweFxuICAgIC8vIGZ1bGxzY3JlZW4gbWF4SGVpZ2h0IGlzIG5vdCBsaW1pdGVkXG4gICAgLy8gTSBzaXplIGhlaWdodCBoYXMgY29udGVudCBzaXplIGFuZCBjZW50ZXJlZCBhdCB0b3AgYW5kIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuXG4gICAgY29uc3QgZ2V0RGVza3RvcEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgICB9XG4gICAgICBpZiAoc2l6ZSA9PT0gXCJsXCIpIHtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyIC0gJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWFyZ2luLmx9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiYXV0b1wiO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXREZXNrdG9wTWF4SGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgaWYgKGlzRnVsbFNjcmVlbikge1xuICAgICAgICByZXR1cm4gYGF1dG9gO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLmRpbWVuc2lvbi5tb2RhbC5tYXhIZWlnaHQubH0gLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBjYWxjKDEwMGR2aCAtICR7ZGVza3RvcFZlcnRpY2FsU3BhY2V9ICogMiAtICR7ZGVza3RvcElubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZ1bGxTY3JlZW5Nb2JpbGUgPSBgY2FsYygxMDBkdmggLSAke21vYmlsZVZlcnRpY2FsU3BhY2V9ICogMiAtICR7bW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIC4uLnVzZVJlc3BvbnNpdmVWYWx1ZSh7XG4gICAgICAgIGhlaWdodDogW1xuICAgICAgICAgIHNpemUgPT09IFwibFwiIHx8IGlzRnVsbFNjcmVlbiA/IGZ1bGxTY3JlZW5Nb2JpbGUgOiBcImF1dG9cIixcbiAgICAgICAgICBnZXREZXNrdG9wSGVpZ2h0KCksXG4gICAgICAgIF0sXG4gICAgICAgIG1heEhlaWdodDogW2Z1bGxTY3JlZW5Nb2JpbGUsIGdldERlc2t0b3BNYXhIZWlnaHQoKV0sXG4gICAgICB9KSxcblxuICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQm9keVByb3BzID0ge1xuICBib3JkZXJCb3R0b206IGJvb2xlYW47XG4gIGJvcmRlclRvcDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2PFN0eWxlZEJvZHlQcm9wcyAmIFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgYm9yZGVyQm90dG9tLCBib3JkZXJUb3AsIHNpemUsIGlzRnVsbFNjcmVlbiwgcHJpdmF0ZVByb3BzIH0pID0+ICh7XG4gICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuXG4gICAgLi4uKChpc0Z1bGxTY3JlZW4gfHwgc2l6ZSA9PT0gXCJsXCIpICYmIHtcbiAgICAgIGZsZXg6IDEsXG4gICAgfSksXG5cbiAgICAuLi4ocHJpdmF0ZVByb3BzPy5oZWlnaHQgJiYge1xuICAgICAgaGVpZ2h0OiBwcml2YXRlUHJvcHM/LmhlaWdodCxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCwgaGVpZ2h0LCB6ZXJvUGFkZGluZywgdGFiYmFibGVPcHRpb25zIH0gPSB7XG4gICAgc2tpcFBvcnRhbDogZmFsc2UsXG4gICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgemVyb1BhZGRpbmc6IGZhbHNlLFxuICB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG4gIGluaXRpYWxGb2N1cyxcbiAgLi4uYXJpYUF0dHJpYnV0ZXNcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7XG4gICAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICAgIC4uLnJlc3RBcmlhQXR0cmlidXRlc1xuICB9ID0gYXJpYUF0dHJpYnV0ZXM7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgICBkYXRhLW1vZGFsLWNsb3NlLWJ0blxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGlnaHRib3hcbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgaXNEaXNtaXNzaWJsZT17aXNEaXNtaXNzaWJsZX1cbiAgICAgIHByaXZhdGVQcm9wcz17eyBza2lwUG9ydGFsLCB0YWJiYWJsZU9wdGlvbnMgfX1cbiAgICAgIGluaXRpYWxGb2N1cz17aW5pdGlhbEZvY3VzfVxuICAgID5cbiAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgZGF0YS1kcy1pZD1cIk1vZGFsXCJcbiAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbCB8fCBoZWFkZXJ9XG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgIH1cbiAgICAgICAgey4uLnJlc3RBcmlhQXR0cmlidXRlc31cbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICA+XG4gICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAge2lzSW1hZ2VWaXNpYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbWcgc3JjPXtpbWFnZVVybH0gYWx0PXtpbWFnZUFsdH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW1hZ2VDb21wb25lbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPntoZWFkZXJ9PC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn1cbiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgIHByaXZhdGVQcm9wcz17eyBoZWlnaHQgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt6ZXJvUGFkZGluZyA/IChcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgIHsoYWN0aW9uQnV0dG9uIHx8IGNhbmNlbEJ1dHRvbkxhYmVsIHx8IHNlY29uZGFyeUJ1dHRvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ9e2NhbmNlbEJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgIDwvTGlnaHRib3g+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK1B5QiJ9 */"),Footer=({children,alignItems=["stretch","right"],isShortViewport})=>_react.default.createElement(_Box.Box,{space:"zero",tSpace:isShortViewport?"m":"l"},_react.default.createElement(_Stack.Stack,{alignItems:alignItems},children)),HorizontalOffset=({children,isFullScreen,isMaxWidthLimit,height})=>_react.default.createElement(_Box.Box,{space:["m","xl"],vSpace:"zero",height:height},isFullScreen&&isMaxWidthLimit?_react.default.createElement(StyledMaxWidth,null,children):children);function getIsShortViewport(window){return void 0!==window&&window.innerHeight<420}function Modal({header,subHeader,labelHeader,children,imageUrl,ImageComponent,secondaryButton,cancelButtonLabel,isDismissible=!0,isFullScreen,isMaxWidthLimit=!0,actionButton,role="dialog",onAction,size="m",privateProps:{skipPortal,height,zeroPadding,tabbableOptions}={skipPortal:!1,height:void 0,zeroPadding:!1},portalContainer,closeButtonAriaLabel="Dismiss Dialog","data-e2e-test-id":dataE2eTestId,imageAlt,initialFocus,...ariaAttributes}){let{"aria-label":ariaLabel,"aria-describedby":ariaDescribedBy,...restAriaAttributes}=ariaAttributes,backdropRef=(0,_react.useRef)(null),subHeaderId=(0,_react.useId)(),window=(0,_useWindow.useWindow)(),{scrollableRef,isScrollBottom,isScrollTop,hasScroll}=(0,_useScrollDetection.useScrollDetection)(),[isShortViewport,setIsShortViewport]=(0,_react.useState)(getIsShortViewport(window));(0,_react.useEffect)(()=>{let resizeObserver;return"undefined"!=typeof ResizeObserver&&backdropRef.current&&(resizeObserver=new ResizeObserver(()=>{setIsShortViewport(getIsShortViewport(window))})).observe(backdropRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[window]);let handleClose=()=>{onAction("cancel")},hasImage=imageUrl||ImageComponent,HeadingComponent=isShortViewport?_Header.H3:_Header.H2,isImageVisible=!isShortViewport&&!!hasImage,horizontalOffsetProps={isFullScreen,isMaxWidthLimit},closeButton=isDismissible&&_react.default.createElement(StyledXContainer,null,_react.default.createElement(_PictogramButton.PictogramButton,{variant:"tertiary",icon:"x",size:"s",onClick:handleClose,"aria-label":closeButtonAriaLabel,"data-modal-close-btn":!0}));return _react.default.createElement(_Lightbox.Lightbox,{backdropRef:backdropRef,portalContainer:portalContainer,handleClose:handleClose,isDismissible:isDismissible,privateProps:{skipPortal,tabbableOptions},initialFocus:initialFocus},_react.default.createElement(StyledModalWrapper,{role:role,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Modal",isFullScreen:isFullScreen,size:size,"aria-label":ariaLabel||header,"aria-describedby":subHeader?(0,_appendId.appendId)(ariaDescribedBy,subHeaderId):ariaDescribedBy,...restAriaAttributes,"aria-modal":"true",tabIndex:-1},_react.default.createElement(_Container.Container,{elevation:4},_react.default.createElement(_Box.Box,{space:"zero",vSpace:["m","xl"]},_react.default.createElement(StyledInner,{isFullScreen:isFullScreen,size:size},_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(_Box.Box,{space:"zero",bSpace:"s"},_react.default.createElement(_Stack.Stack,{space:isImageVisible?["s","l"]:"zero"},isImageVisible&&(imageUrl?_react.default.createElement(_Box.Box,{space:"zero",tSpace:["xl","l"]},_react.default.createElement(StyledImg,{src:imageUrl,alt:imageAlt})):_react.default.createElement(ImageComponent,null)),_react.default.createElement(_Stack.Stack,{space:"xxs"},labelHeader&&_react.default.createElement(_Header.H6,{as:"div"},labelHeader),_react.default.createElement(_Stack.Stack,{space:"zero"},header&&_react.default.createElement(HeadingComponent,{as:"h1"},header),subHeader&&_react.default.createElement(_Header.H4,{as:"h2",color:"tertiary",id:subHeaderId},subHeader)))))),_react.default.createElement(StyledBody,{ref:scrollableRef,size:size,isFullScreen:isFullScreen,borderBottom:hasScroll&&!isScrollBottom,borderTop:hasScroll&&!isScrollTop,privateProps:{height}},zeroPadding?children:_react.default.createElement(_Box.Box,{space:"zero",vSpace:"xxxs",height:"100%"},_react.default.createElement(HorizontalOffset,{...horizontalOffsetProps,height:"100%"},children))),(actionButton||cancelButtonLabel||secondaryButton)&&_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(Footer,{isShortViewport:isShortViewport},_react.default.createElement(_ButtonGroup.ButtonGroup,{actionButton:actionButton,secondaryButton:secondaryButton,cancelButtonText:cancelButtonLabel,onButtonClick:onAction}))),closeButton)))))}Modal.Stack=({children,...rest})=>_react.default.createElement(_Stack.Stack,{...rest,space:"m"},children),Modal.Text=({children,...rest})=>_react.default.createElement(_Text.Text,{...rest,size:"m",color:"tertiary"},children);