@pranaysahith/decap-cms-core 3.9.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 (299) hide show
  1. package/README.md +9 -0
  2. package/dist/@pranaysahith/decap-cms-core.js +52 -0
  3. package/dist/@pranaysahith/decap-cms-core.js.LICENSE.txt +141 -0
  4. package/dist/@pranaysahith/decap-cms-core.js.map +1 -0
  5. package/dist/decap-cms-core.js +47 -0
  6. package/dist/decap-cms-core.js.LICENSE.txt +116 -0
  7. package/dist/decap-cms-core.js.map +1 -0
  8. package/dist/esm/actions/auth.js +97 -0
  9. package/dist/esm/actions/collections.js +15 -0
  10. package/dist/esm/actions/config.js +493 -0
  11. package/dist/esm/actions/deploys.js +79 -0
  12. package/dist/esm/actions/editorialWorkflow.js +480 -0
  13. package/dist/esm/actions/entries.js +865 -0
  14. package/dist/esm/actions/media.js +147 -0
  15. package/dist/esm/actions/mediaLibrary.js +552 -0
  16. package/dist/esm/actions/notifications.js +21 -0
  17. package/dist/esm/actions/search.js +149 -0
  18. package/dist/esm/actions/status.js +74 -0
  19. package/dist/esm/actions/waitUntil.js +32 -0
  20. package/dist/esm/backend.js +1082 -0
  21. package/dist/esm/bootstrap.js +101 -0
  22. package/dist/esm/components/App/App.js +289 -0
  23. package/dist/esm/components/App/Header.js +172 -0
  24. package/dist/esm/components/App/NotFoundPage.js +19 -0
  25. package/dist/esm/components/Collection/Collection.js +198 -0
  26. package/dist/esm/components/Collection/CollectionControls.js +46 -0
  27. package/dist/esm/components/Collection/CollectionSearch.js +222 -0
  28. package/dist/esm/components/Collection/CollectionTop.js +68 -0
  29. package/dist/esm/components/Collection/ControlButton.js +17 -0
  30. package/dist/esm/components/Collection/Entries/Entries.js +73 -0
  31. package/dist/esm/components/Collection/Entries/EntriesCollection.js +241 -0
  32. package/dist/esm/components/Collection/Entries/EntriesSearch.js +113 -0
  33. package/dist/esm/components/Collection/Entries/EntryCard.js +177 -0
  34. package/dist/esm/components/Collection/Entries/EntryListing.js +143 -0
  35. package/dist/esm/components/Collection/FilterControl.js +33 -0
  36. package/dist/esm/components/Collection/FolderRenameControl.js +403 -0
  37. package/dist/esm/components/Collection/GroupControl.js +33 -0
  38. package/dist/esm/components/Collection/NestedCollection.js +308 -0
  39. package/dist/esm/components/Collection/Sidebar.js +91 -0
  40. package/dist/esm/components/Collection/SortControl.js +59 -0
  41. package/dist/esm/components/Collection/ViewStyleControl.js +38 -0
  42. package/dist/esm/components/Editor/Editor.js +466 -0
  43. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +395 -0
  44. package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +254 -0
  45. package/dist/esm/components/Editor/EditorControlPane/Widget.js +374 -0
  46. package/dist/esm/components/Editor/EditorInterface.js +386 -0
  47. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +47 -0
  48. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +66 -0
  49. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +288 -0
  50. package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +27 -0
  51. package/dist/esm/components/Editor/EditorToolbar.js +536 -0
  52. package/dist/esm/components/Editor/EntryPathEditor.js +272 -0
  53. package/dist/esm/components/Editor/withWorkflow.js +56 -0
  54. package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +18 -0
  55. package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +20 -0
  56. package/dist/esm/components/EditorWidgets/index.js +4 -0
  57. package/dist/esm/components/MediaLibrary/EmptyMessage.js +22 -0
  58. package/dist/esm/components/MediaLibrary/MediaLibrary.js +446 -0
  59. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +93 -0
  60. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +99 -0
  61. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +198 -0
  62. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +32 -0
  63. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +156 -0
  64. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +51 -0
  65. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +123 -0
  66. package/dist/esm/components/UI/DragDrop.js +67 -0
  67. package/dist/esm/components/UI/ErrorBoundary.js +173 -0
  68. package/dist/esm/components/UI/FileUploadButton.js +27 -0
  69. package/dist/esm/components/UI/Modal.js +104 -0
  70. package/dist/esm/components/UI/Notifications.js +62 -0
  71. package/dist/esm/components/UI/SettingsDropdown.js +107 -0
  72. package/dist/esm/components/UI/index.js +6 -0
  73. package/dist/esm/components/Workflow/Workflow.js +133 -0
  74. package/dist/esm/components/Workflow/WorkflowCard.js +128 -0
  75. package/dist/esm/components/Workflow/WorkflowList.js +204 -0
  76. package/dist/esm/constants/collectionTypes.js +2 -0
  77. package/dist/esm/constants/collectionViews.js +2 -0
  78. package/dist/esm/constants/commitProps.js +2 -0
  79. package/dist/esm/constants/configSchema.js +644 -0
  80. package/dist/esm/constants/fieldInference.js +57 -0
  81. package/dist/esm/constants/publishModes.js +18 -0
  82. package/dist/esm/constants/validationErrorTypes.js +6 -0
  83. package/dist/esm/formats/formats.js +83 -0
  84. package/dist/esm/formats/frontmatter.js +146 -0
  85. package/dist/esm/formats/helpers.js +12 -0
  86. package/dist/esm/formats/json.js +8 -0
  87. package/dist/esm/formats/toml.js +32 -0
  88. package/dist/esm/formats/yaml.js +51 -0
  89. package/dist/esm/index.js +7 -0
  90. package/dist/esm/integrations/index.js +28 -0
  91. package/dist/esm/integrations/providers/algolia/implementation.js +174 -0
  92. package/dist/esm/integrations/providers/assetStore/implementation.js +165 -0
  93. package/dist/esm/lib/consoleError.js +3 -0
  94. package/dist/esm/lib/formatters.js +191 -0
  95. package/dist/esm/lib/i18n.js +367 -0
  96. package/dist/esm/lib/phrases.js +6 -0
  97. package/dist/esm/lib/polyfill.js +8 -0
  98. package/dist/esm/lib/registry.js +329 -0
  99. package/dist/esm/lib/serializeEntryValues.js +67 -0
  100. package/dist/esm/lib/stega.js +142 -0
  101. package/dist/esm/lib/textHelper.js +9 -0
  102. package/dist/esm/lib/urlHelper.js +111 -0
  103. package/dist/esm/mediaLibrary.js +37 -0
  104. package/dist/esm/reducers/auth.js +27 -0
  105. package/dist/esm/reducers/collections.js +428 -0
  106. package/dist/esm/reducers/combinedReducer.js +8 -0
  107. package/dist/esm/reducers/config.js +29 -0
  108. package/dist/esm/reducers/cursors.js +31 -0
  109. package/dist/esm/reducers/deploys.js +45 -0
  110. package/dist/esm/reducers/editorialWorkflow.js +83 -0
  111. package/dist/esm/reducers/entries.js +568 -0
  112. package/dist/esm/reducers/entryDraft.js +212 -0
  113. package/dist/esm/reducers/globalUI.js +25 -0
  114. package/dist/esm/reducers/index.js +66 -0
  115. package/dist/esm/reducers/integrations.js +53 -0
  116. package/dist/esm/reducers/mediaLibrary.js +252 -0
  117. package/dist/esm/reducers/medias.js +68 -0
  118. package/dist/esm/reducers/notifications.js +23 -0
  119. package/dist/esm/reducers/search.js +92 -0
  120. package/dist/esm/reducers/status.js +30 -0
  121. package/dist/esm/redux/index.js +7 -0
  122. package/dist/esm/redux/middleware/waitUntilAction.js +48 -0
  123. package/dist/esm/routing/history.js +12 -0
  124. package/dist/esm/types/diacritics.d.js +0 -0
  125. package/dist/esm/types/global.d.js +1 -0
  126. package/dist/esm/types/immutable.js +7 -0
  127. package/dist/esm/types/redux.js +14 -0
  128. package/dist/esm/types/tomlify-j0.4.d.js +0 -0
  129. package/dist/esm/valueObjects/AssetProxy.js +44 -0
  130. package/dist/esm/valueObjects/EditorComponent.js +34 -0
  131. package/dist/esm/valueObjects/Entry.js +20 -0
  132. package/index.d.ts +618 -0
  133. package/package.json +106 -0
  134. package/src/__tests__/backend.spec.js +1161 -0
  135. package/src/actions/__tests__/config.spec.js +1009 -0
  136. package/src/actions/__tests__/editorialWorkflow.spec.js +216 -0
  137. package/src/actions/__tests__/entries.spec.js +596 -0
  138. package/src/actions/__tests__/media.spec.ts +171 -0
  139. package/src/actions/__tests__/mediaLibrary.spec.js +327 -0
  140. package/src/actions/__tests__/search.spec.js +209 -0
  141. package/src/actions/auth.ts +127 -0
  142. package/src/actions/collections.ts +18 -0
  143. package/src/actions/config.ts +565 -0
  144. package/src/actions/deploys.ts +104 -0
  145. package/src/actions/editorialWorkflow.ts +567 -0
  146. package/src/actions/entries.ts +1055 -0
  147. package/src/actions/media.ts +139 -0
  148. package/src/actions/mediaLibrary.ts +574 -0
  149. package/src/actions/notifications.ts +36 -0
  150. package/src/actions/search.ts +221 -0
  151. package/src/actions/status.ts +99 -0
  152. package/src/actions/waitUntil.ts +49 -0
  153. package/src/backend.ts +1400 -0
  154. package/src/bootstrap.js +104 -0
  155. package/src/components/App/App.js +286 -0
  156. package/src/components/App/Header.js +266 -0
  157. package/src/components/App/NotFoundPage.js +23 -0
  158. package/src/components/Collection/Collection.js +210 -0
  159. package/src/components/Collection/CollectionControls.js +58 -0
  160. package/src/components/Collection/CollectionSearch.js +243 -0
  161. package/src/components/Collection/CollectionTop.js +81 -0
  162. package/src/components/Collection/ControlButton.js +27 -0
  163. package/src/components/Collection/Entries/Entries.js +82 -0
  164. package/src/components/Collection/Entries/EntriesCollection.js +277 -0
  165. package/src/components/Collection/Entries/EntriesSearch.js +102 -0
  166. package/src/components/Collection/Entries/EntryCard.js +246 -0
  167. package/src/components/Collection/Entries/EntryListing.js +151 -0
  168. package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +163 -0
  169. package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +46 -0
  170. package/src/components/Collection/FilterControl.js +39 -0
  171. package/src/components/Collection/GroupControl.js +39 -0
  172. package/src/components/Collection/NestedCollection.js +330 -0
  173. package/src/components/Collection/Sidebar.js +136 -0
  174. package/src/components/Collection/SortControl.js +68 -0
  175. package/src/components/Collection/ViewStyleControl.js +50 -0
  176. package/src/components/Collection/__tests__/Collection.spec.js +75 -0
  177. package/src/components/Collection/__tests__/NestedCollection.spec.js +445 -0
  178. package/src/components/Collection/__tests__/Sidebar.spec.js +87 -0
  179. package/src/components/Collection/__tests__/__snapshots__/Collection.spec.js.snap +144 -0
  180. package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +550 -0
  181. package/src/components/Collection/__tests__/__snapshots__/Sidebar.spec.js.snap +312 -0
  182. package/src/components/Editor/Editor.js +497 -0
  183. package/src/components/Editor/EditorControlPane/EditorControl.js +452 -0
  184. package/src/components/Editor/EditorControlPane/EditorControlPane.js +269 -0
  185. package/src/components/Editor/EditorControlPane/Widget.js +384 -0
  186. package/src/components/Editor/EditorInterface.js +444 -0
  187. package/src/components/Editor/EditorPreviewPane/EditorPreview.js +40 -0
  188. package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +74 -0
  189. package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +333 -0
  190. package/src/components/Editor/EditorPreviewPane/PreviewHOC.js +33 -0
  191. package/src/components/Editor/EditorToolbar.js +691 -0
  192. package/src/components/Editor/__tests__/Editor.spec.js +221 -0
  193. package/src/components/Editor/__tests__/EditorToolbar.spec.js +120 -0
  194. package/src/components/Editor/__tests__/__snapshots__/Editor.spec.js.snap +45 -0
  195. package/src/components/Editor/__tests__/__snapshots__/EditorToolbar.spec.js.snap +4233 -0
  196. package/src/components/Editor/withWorkflow.js +61 -0
  197. package/src/components/EditorWidgets/Unknown/UnknownControl.js +17 -0
  198. package/src/components/EditorWidgets/Unknown/UnknownPreview.js +19 -0
  199. package/src/components/EditorWidgets/index.js +5 -0
  200. package/src/components/MediaLibrary/EmptyMessage.js +28 -0
  201. package/src/components/MediaLibrary/MediaLibrary.js +411 -0
  202. package/src/components/MediaLibrary/MediaLibraryButtons.js +136 -0
  203. package/src/components/MediaLibrary/MediaLibraryCard.js +128 -0
  204. package/src/components/MediaLibrary/MediaLibraryCardGrid.js +199 -0
  205. package/src/components/MediaLibrary/MediaLibraryHeader.js +48 -0
  206. package/src/components/MediaLibrary/MediaLibraryModal.js +200 -0
  207. package/src/components/MediaLibrary/MediaLibrarySearch.js +61 -0
  208. package/src/components/MediaLibrary/MediaLibraryTop.js +143 -0
  209. package/src/components/MediaLibrary/__tests__/MediaLibraryButtons.spec.js +45 -0
  210. package/src/components/MediaLibrary/__tests__/MediaLibraryCard.spec.js +49 -0
  211. package/src/components/MediaLibrary/__tests__/__snapshots__/MediaLibraryCard.spec.js.snap +264 -0
  212. package/src/components/UI/DragDrop.js +66 -0
  213. package/src/components/UI/ErrorBoundary.js +214 -0
  214. package/src/components/UI/FileUploadButton.js +24 -0
  215. package/src/components/UI/Modal.js +112 -0
  216. package/src/components/UI/Notifications.tsx +83 -0
  217. package/src/components/UI/SettingsDropdown.js +103 -0
  218. package/src/components/UI/__tests__/ErrorBoundary.spec.js +57 -0
  219. package/src/components/UI/index.js +6 -0
  220. package/src/components/Workflow/Workflow.js +169 -0
  221. package/src/components/Workflow/WorkflowCard.js +177 -0
  222. package/src/components/Workflow/WorkflowList.js +272 -0
  223. package/src/constants/__tests__/configSchema.spec.js +611 -0
  224. package/src/constants/collectionTypes.ts +2 -0
  225. package/src/constants/collectionViews.js +2 -0
  226. package/src/constants/commitProps.ts +2 -0
  227. package/src/constants/configSchema.js +441 -0
  228. package/src/constants/fieldInference.tsx +78 -0
  229. package/src/constants/publishModes.ts +22 -0
  230. package/src/constants/validationErrorTypes.js +6 -0
  231. package/src/formats/__tests__/formats.spec.js +87 -0
  232. package/src/formats/__tests__/frontmatter.spec.js +429 -0
  233. package/src/formats/__tests__/toml.spec.js +9 -0
  234. package/src/formats/__tests__/yaml.spec.js +162 -0
  235. package/src/formats/formats.ts +97 -0
  236. package/src/formats/frontmatter.ts +150 -0
  237. package/src/formats/helpers.ts +14 -0
  238. package/src/formats/json.ts +9 -0
  239. package/src/formats/toml.ts +33 -0
  240. package/src/formats/yaml.ts +58 -0
  241. package/src/index.js +8 -0
  242. package/src/integrations/index.js +35 -0
  243. package/src/integrations/providers/algolia/implementation.js +176 -0
  244. package/src/integrations/providers/assetStore/implementation.js +148 -0
  245. package/src/lib/__tests__/formatters.spec.js +751 -0
  246. package/src/lib/__tests__/i18n.spec.js +792 -0
  247. package/src/lib/__tests__/phrases.spec.js +119 -0
  248. package/src/lib/__tests__/registry.spec.js +261 -0
  249. package/src/lib/__tests__/serializeEntryValues.spec.js +22 -0
  250. package/src/lib/__tests__/urlHelper.spec.js +138 -0
  251. package/src/lib/consoleError.js +7 -0
  252. package/src/lib/formatters.ts +286 -0
  253. package/src/lib/i18n.ts +454 -0
  254. package/src/lib/phrases.js +8 -0
  255. package/src/lib/polyfill.js +9 -0
  256. package/src/lib/registry.js +312 -0
  257. package/src/lib/serializeEntryValues.js +75 -0
  258. package/src/lib/stega.ts +145 -0
  259. package/src/lib/textHelper.js +11 -0
  260. package/src/lib/urlHelper.ts +128 -0
  261. package/src/mediaLibrary.ts +51 -0
  262. package/src/reducers/__tests__/auth.spec.ts +38 -0
  263. package/src/reducers/__tests__/collections.spec.js +610 -0
  264. package/src/reducers/__tests__/config.spec.js +38 -0
  265. package/src/reducers/__tests__/entries.spec.js +694 -0
  266. package/src/reducers/__tests__/entryDraft.spec.js +297 -0
  267. package/src/reducers/__tests__/globalUI.js +43 -0
  268. package/src/reducers/__tests__/integrations.spec.ts +76 -0
  269. package/src/reducers/__tests__/mediaLibrary.spec.js +154 -0
  270. package/src/reducers/__tests__/medias.spec.ts +49 -0
  271. package/src/reducers/auth.ts +46 -0
  272. package/src/reducers/collections.ts +535 -0
  273. package/src/reducers/combinedReducer.ts +11 -0
  274. package/src/reducers/config.ts +38 -0
  275. package/src/reducers/cursors.js +36 -0
  276. package/src/reducers/deploys.ts +52 -0
  277. package/src/reducers/editorialWorkflow.ts +163 -0
  278. package/src/reducers/entries.ts +819 -0
  279. package/src/reducers/entryDraft.js +260 -0
  280. package/src/reducers/globalUI.ts +45 -0
  281. package/src/reducers/index.ts +82 -0
  282. package/src/reducers/integrations.ts +59 -0
  283. package/src/reducers/mediaLibrary.ts +296 -0
  284. package/src/reducers/medias.ts +66 -0
  285. package/src/reducers/notifications.ts +52 -0
  286. package/src/reducers/search.ts +111 -0
  287. package/src/reducers/status.ts +40 -0
  288. package/src/redux/index.ts +18 -0
  289. package/src/redux/middleware/waitUntilAction.ts +64 -0
  290. package/src/routing/__tests__/history.spec.ts +49 -0
  291. package/src/routing/history.ts +17 -0
  292. package/src/types/diacritics.d.ts +1 -0
  293. package/src/types/global.d.ts +8 -0
  294. package/src/types/immutable.ts +49 -0
  295. package/src/types/redux.ts +827 -0
  296. package/src/types/tomlify-j0.4.d.ts +13 -0
  297. package/src/valueObjects/AssetProxy.ts +48 -0
  298. package/src/valueObjects/EditorComponent.js +38 -0
  299. package/src/valueObjects/Entry.ts +63 -0
@@ -0,0 +1,403 @@
1
+ import _styled from "@emotion/styled/base";
2
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import ImmutablePropTypes from 'react-immutable-proptypes';
6
+ import { css } from '@emotion/react';
7
+ import debounce from 'lodash/debounce';
8
+ import { colors, lengths, borders, text } from 'decap-cms-ui-default';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ const RenameContainer = /*#__PURE__*/_styled("div", {
11
+ target: "e2tkm4416",
12
+ label: "RenameContainer"
13
+ })(process.env.NODE_ENV === "production" ? {
14
+ name: "7n7p8i",
15
+ styles: "position:relative;display:inline-flex;align-items:center;margin-left:8px"
16
+ } : {
17
+ name: "7n7p8i",
18
+ styles: "position:relative;display:inline-flex;align-items:center;margin-left:8px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRa0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9Gb2xkZXJSZW5hbWVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQgeyBjb2xvcnMsIGxlbmd0aHMsIGJvcmRlcnMsIHRleHQgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmNvbnN0IFJlbmFtZUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG5gO1xuXG5jb25zdCBSZW5hbWVCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgUmVuYW1lTW9kYWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5mb3JlZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWluLXdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgei1pbmRleDogMTAwMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXkgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5jb25zdCBNb2RhbEhlYWRlciA9IHN0eWxlZC5oM2BcbiAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbmA7XG5cbmNvbnN0IFdhcm5pbmdCYW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLndhcm5CYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7Y29sb3JzLndhcm5UZXh0fTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBXYXJuaW5nSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG5jb25zdCBMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgJHt0ZXh0LmZpZWxkTGFiZWx9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxuY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXRgXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAke2xlbmd0aHMuaW5wdXRQYWRkaW5nfTtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAke3Byb3BzID0+XG4gICAgcHJvcHMuaGFzRXJyb3IgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gICAgYH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmFjdGl2ZX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgRXJyb3JNZXNzYWdlID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGZvbnQtc2l6ZTogMTNweDtcbmA7XG5cbmNvbnN0IEhlbHBUZXh0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBCdXR0b25Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuYDtcblxuY29uc3QgQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7Y29sb3JzLmFjdGl2ZX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5gO1xuXG5jb25zdCBDYW5jZWxCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5ib3JkZXJ9O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZUJhY2tncm91bmR9O1xuICB9XG5gO1xuXG5jb25zdCBDb25maXJtQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVIb3ZlciB8fCBjb2xvcnMuYWN0aXZlfTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cbmA7XG5cbmNvbnN0IFByb2dyZXNzSW5kaWNhdG9yID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgU3Bpbm5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7Y29sb3JzLmJvcmRlcn07XG4gIGJvcmRlci10b3AtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDAuNnMgbGluZWFyIGluZmluaXRlO1xuXG4gIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbmA7XG5cbmNsYXNzIEZvbGRlclJlbmFtZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBmb2xkZXJQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGFmZmVjdGVkRW50cnlDb3VudDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvblJlbmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblZhbGlkYXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBvblZhbGlkYXRlOiBudWxsLFxuICAgIGFmZmVjdGVkRW50cnlDb3VudDogMCxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3TmFtZTogcHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gRGVib3VuY2UgdmFsaWRhdGlvbiB0byBhdm9pZCBleGNlc3NpdmUgY2FsbHNcbiAgICB0aGlzLmRlYm91bmNlZFZhbGlkYXRlID0gZGVib3VuY2UodGhpcy52YWxpZGF0ZUZvbGRlck5hbWUsIDUwMCk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBTdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgdG8gcmVzdG9yZSBmb2N1cyB3aGVuIG1vZGFsIGNsb3Nlc1xuICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIC8vIFdoZW4gbW9kYWwgb3BlbnMsIHN0b3JlIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudFxuICAgIGlmICh0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiAhcHJldlN0YXRlLmlzRWRpdGluZykge1xuICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIH1cbiAgICAvLyBXaGVuIG1vZGFsIGNsb3NlcywgcmVzdG9yZSBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAoIXRoaXMuc3RhdGUuaXNFZGl0aW5nICYmIHByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCAmJiB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC5mb2N1cykge1xuICAgICAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIC8vIENhbmNlbCBhbnkgcGVuZGluZyB2YWxpZGF0aW9uXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfVxuXG4gIGhhbmRsZVJlbmFtZUNsaWNrID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0VkaXRpbmc6IHRydWUsIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDYW5jZWwgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3TmFtZTogdGhpcy5wcm9wcy5mb2xkZXJOYW1lLFxuICAgICAgdmFsaWRhdGlvbkVycm9yOiBudWxsLFxuICAgICAgaXNWYWxpZGF0aW5nOiBmYWxzZSxcbiAgICB9KTtcbiAgICB0aGlzLmRlYm91bmNlZFZhbGlkYXRlLmNhbmNlbCgpO1xuICB9O1xuXG4gIGhhbmRsZUlucHV0Q2hhbmdlID0gZSA9PiB7XG4gICAgY29uc3QgbmV3TmFtZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBuZXdOYW1lLCBpc1ZhbGlkYXRpbmc6IHRydWUgfSwgKCkgPT4ge1xuICAgICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSgpO1xuICAgIH0pO1xuICB9O1xuXG4gIGhhbmRsZUtleURvd24gPSBlID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIXRoaXMuc3RhdGUudmFsaWRhdGlvbkVycm9yICYmICF0aGlzLnN0YXRlLmlzVmFsaWRhdGluZykge1xuICAgICAgdGhpcy5oYW5kbGVDb25maXJtKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIC8vIFNpbXBsZSBmb2N1cyB0cmFwOiBrZWVwIGZvY3VzIHdpdGhpbiB0aGUgbW9kYWxcbiAgICAgIHRoaXMuaGFuZGxlVGFiS2V5KGUpO1xuICAgIH1cbiAgfTtcblxuICBoYW5kbGVUYWJLZXkgPSBlID0+IHtcbiAgICBpZiAoIXRoaXMubW9kYWxSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gdGhpcy5tb2RhbFJlZi5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICApO1xuICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzWzBdO1xuICAgIGNvbnN0IGxhc3RFbGVtZW50ID0gZm9jdXNhYmxlRWxlbWVudHNbZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgLy8gU2hpZnQgKyBUYWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgbGFzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUYWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0RWxlbWVudCkge1xuICAgICAgICBmaXJzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzZXRNb2RhbFJlZiA9IHJlZiA9PiB7XG4gICAgdGhpcy5tb2RhbFJlZiA9IHJlZjtcbiAgfTtcblxuICB2YWxpZGF0ZUZvbGRlck5hbWUgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBuZXdOYW1lIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgZm9sZGVyTmFtZSwgb25WYWxpZGF0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHZhbGlkYXRlIGlmIG5hbWUgaGFzbid0IGNoYW5nZWRcbiAgICBpZiAobmV3TmFtZSA9PT0gZm9sZGVyTmFtZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbGlkYXRpb25FcnJvcjogbnVsbCwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBCYXNpYyBjbGllbnQtc2lkZSB2YWxpZGF0aW9uXG4gICAgbGV0IGVycm9yID0gbnVsbDtcblxuICAgIC8vIENoZWNrIGlmIGZvbGRlciBuYW1lIGlzIGVtcHR5XG4gICAgaWYgKCFuZXdOYW1lIHx8IG5ld05hbWUudHJpbSgpID09PSAnJykge1xuICAgICAgZXJyb3IgPSB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMubmFtZVJlcXVpcmVkJywge1xuICAgICAgICBkZWZhdWx0VmFsdWU6ICdGb2xkZXIgbmFtZSBpcyByZXF1aXJlZCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIGludmFsaWQgY2hhcmFjdGVyc1xuICAgIGVsc2UgaWYgKC9bPD46XCJ8PyovXFxcXF0vLnRlc3QobmV3TmFtZSkpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLmludmFsaWRDaGFyYWN0ZXJzJywge1xuICAgICAgICBkZWZhdWx0VmFsdWU6ICdGb2xkZXIgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnM6IDwgPiA6IFwiIHwgPyAqIC8gXFxcXCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIHBhdGggdHJhdmVyc2FsIGF0dGVtcHRzXG4gICAgZWxzZSBpZiAobmV3TmFtZS5pbmNsdWRlcygnLi4nKSkge1xuICAgICAgZXJyb3IgPSB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucGF0aFRyYXZlcnNhbCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY2Fubm90IGNvbnRhaW4gXCIuLlwiJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIHRoZXJlJ3MgYSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHByb3ZpZGVkLCBjYWxsIGl0XG4gICAgaWYgKCFlcnJvciAmJiBvblZhbGlkYXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgb25WYWxpZGF0ZShuZXdOYW1lKTtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQgJiYgdmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICAgIGVycm9yID0gdmFsaWRhdGlvblJlc3VsdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGVycm9yID1cbiAgICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICAgIHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy52YWxpZGF0aW9uRmFpbGVkJywge1xuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGlvbiBmYWlsZWQnLFxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IGVycm9yLCBpc1ZhbGlkYXRpbmc6IGZhbHNlIH0pO1xuICB9O1xuXG4gIGhhbmRsZUNvbmZpcm0gPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBuZXdOYW1lLCB2YWxpZGF0aW9uRXJyb3IsIGlzVmFsaWRhdGluZyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlclBhdGgsIGZvbGRlck5hbWUsIG9uUmVuYW1lLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiB0aGVyZSBhcmUgdmFsaWRhdGlvbiBlcnJvcnMgb3IgdmFsaWRhdGlvbiBpcyBpbiBwcm9ncmVzc1xuICAgIGlmICh2YWxpZGF0aW9uRXJyb3IgfHwgaXNWYWxpZGF0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzUmVuYW1pbmc6IHRydWUgfSk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gQ29uc3RydWN0IHRoZSBuZXcgcGF0aFxuICAgICAgY29uc3QgcGF0aFBhcnRzID0gZm9sZGVyUGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aFBhcnRzW3BhdGhQYXJ0cy5sZW5ndGggLSAxXSA9IG5ld05hbWU7XG4gICAgICBjb25zdCBuZXdQYXRoID0gcGF0aFBhcnRzLmpvaW4oJy8nKTtcblxuICAgICAgYXdhaXQgb25SZW5hbWUoZm9sZGVyUGF0aCwgbmV3UGF0aCk7XG5cbiAgICAgIC8vIFN1Y2Nlc3MgLSBjbG9zZSB0aGUgbW9kYWxcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICAgICAgbmV3TmFtZTogZm9sZGVyTmFtZSxcbiAgICAgICAgdmFsaWRhdGlvbkVycm9yOiBudWxsLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVyci5tZXNzYWdlIHx8XG4gICAgICAgIHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5yZW5hbWVGYWlsZWQnLCB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiAnRmFpbGVkIHRvIHJlbmFtZSBmb2xkZXInLFxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogZXJyb3JNZXNzYWdlLFxuICAgICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCwgYWZmZWN0ZWRFbnRyeUNvdW50LCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaXNFZGl0aW5nLCBuZXdOYW1lLCB2YWxpZGF0aW9uRXJyb3IsIGlzVmFsaWRhdGluZywgaXNSZW5hbWluZyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IGhhc0Vycm9yID0gISF2YWxpZGF0aW9uRXJyb3I7XG4gICAgY29uc3QgY2FuQ29uZmlybSA9ICFoYXNFcnJvciAmJiAhaXNWYWxpZGF0aW5nICYmICFpc1JlbmFtaW5nICYmIG5ld05hbWUudHJpbSgpICE9PSAnJztcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8UmVuYW1lQ29udGFpbmVyPlxuICAgICAgICAgIDxSZW5hbWVCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVuYW1lQ2xpY2t9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWVCdXR0b24nLCB7XG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1JlbmFtZSBmb2xkZXInLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICB0aXRsZT17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIOKcj++4j1xuICAgICAgICAgIDwvUmVuYW1lQnV0dG9uPlxuICAgICAgICA8L1JlbmFtZUNvbnRhaW5lcj5cblxuICAgICAgICB7aXNFZGl0aW5nICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE92ZXJsYXkgb25DbGljaz17dGhpcy5oYW5kbGVDYW5jZWx9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICA8UmVuYW1lTW9kYWxcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNldE1vZGFsUmVmfVxuICAgICAgICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJyZW5hbWUtbW9kYWwtdGl0bGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TW9kYWxIZWFkZXIgaWQ9XCJyZW5hbWUtbW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudGl0bGUnLCB7IGRlZmF1bHRWYWx1ZTogJ1JlbmFtZSBGb2xkZXInIH0pfVxuICAgICAgICAgICAgICA8L01vZGFsSGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxXYXJuaW5nQmFubmVyPlxuICAgICAgICAgICAgICAgIDxXYXJuaW5nSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIj7imqA8L1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudXJsV2FybmluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOlxuICAgICAgICAgICAgICAgICAgICAgICdSZW5hbWluZyB0aGlzIGZvbGRlciB3aWxsIGNoYW5nZSB0aGUgVVJMcyBmb3IgYWxsIGVudHJpZXMgd2l0aGluIGl0LiBUaGlzIG1heSByZXN1bHQgaW4gYnJva2VuIGxpbmtzIGFuZCA0MDQgZXJyb3JzIGlmIHRoZSBvbGQgVVJMcyBhcmUgcmVmZXJlbmNlZCBlbHNld2hlcmUuJyxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAge2FmZmVjdGVkRW50cnlDb3VudCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmFmZmVjdGVkRW50cmllcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogYFRoaXMgd2lsbCBhZmZlY3QgJHthZmZlY3RlZEVudHJ5Q291bnR9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmVjdGVkRW50cnlDb3VudCA9PT0gMSA/ICdlbnRyeScgOiAnZW50cmllcydcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50OiBhZmZlY3RlZEVudHJ5Q291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9XYXJuaW5nQmFubmVyPlxuXG4gICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwiZm9sZGVyLXJlbmFtZS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5uZXdOYW1lJywgeyBkZWZhdWx0VmFsdWU6ICdOZXcgRm9sZGVyIE5hbWUnIH0pfVxuICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImZvbGRlci1yZW5hbWUtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17bmV3TmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVJbnB1dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNSZW5hbWluZ31cbiAgICAgICAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtoYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yID8gJ2ZvbGRlci1yZW5hbWUtZXJyb3InIDogaXNWYWxpZGF0aW5nID8gJ2ZvbGRlci1yZW5hbWUtdmFsaWRhdGluZycgOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvck1lc3NhZ2UgaWQ9XCJmb2xkZXItcmVuYW1lLWVycm9yXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgICB7dmFsaWRhdGlvbkVycm9yfVxuICAgICAgICAgICAgICAgIDwvRXJyb3JNZXNzYWdlPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1ZhbGlkYXRpbmcgJiYgIWhhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8SGVscFRleHQgaWQ9XCJmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS52YWxpZGF0aW5nJywge1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdWYWxpZGF0aW5nLi4uJyxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvSGVscFRleHQ+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAge2lzUmVuYW1pbmcgJiYgKFxuICAgICAgICAgICAgICAgIDxQcm9ncmVzc0luZGljYXRvcj5cbiAgICAgICAgICAgICAgICAgIDxTcGlubmVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtaW5nJywge1xuICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1JlbmFtaW5nIGZvbGRlci4uLicsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvUHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwPlxuICAgICAgICAgICAgICAgIDxDYW5jZWxCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDYW5jZWx9IGRpc2FibGVkPXtpc1JlbmFtaW5nfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jYW5jZWwnLCB7IGRlZmF1bHRWYWx1ZTogJ0NhbmNlbCcgfSl9XG4gICAgICAgICAgICAgICAgPC9DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICAgICAgPENvbmZpcm1CdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDb25maXJtfSBkaXNhYmxlZD17IWNhbkNvbmZpcm19PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmNvbmZpcm0nLCB7IGRlZmF1bHRWYWx1ZTogJ1JlbmFtZScgfSl9XG4gICAgICAgICAgICAgICAgPC9Db25maXJtQnV0dG9uPlxuICAgICAgICAgICAgICA8L0J1dHRvbkdyb3VwPlxuICAgICAgICAgICAgPC9SZW5hbWVNb2RhbD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRm9sZGVyUmVuYW1lQ29udHJvbDtcbiJdfQ== */",
19
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
+ });
21
+ const RenameButton = /*#__PURE__*/_styled("button", {
22
+ target: "e2tkm4415",
23
+ label: "RenameButton"
24
+ })("background:none;border:none;padding:4px;cursor:pointer;color:", colors.text, ";font-size:16px;border-radius:", lengths.borderRadius, ";transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;&:hover{background-color:", colors.activeBackground, ";color:", colors.active, ";}&:focus{outline:2px solid ", colors.active, ";outline-offset:2px;}&:disabled{opacity:0.5;cursor:not-allowed;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFla0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9Gb2xkZXJSZW5hbWVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQgeyBjb2xvcnMsIGxlbmd0aHMsIGJvcmRlcnMsIHRleHQgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmNvbnN0IFJlbmFtZUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG5gO1xuXG5jb25zdCBSZW5hbWVCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgUmVuYW1lTW9kYWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5mb3JlZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWluLXdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgei1pbmRleDogMTAwMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXkgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5jb25zdCBNb2RhbEhlYWRlciA9IHN0eWxlZC5oM2BcbiAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbmA7XG5cbmNvbnN0IFdhcm5pbmdCYW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLndhcm5CYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7Y29sb3JzLndhcm5UZXh0fTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBXYXJuaW5nSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG5jb25zdCBMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgJHt0ZXh0LmZpZWxkTGFiZWx9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxuY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXRgXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAke2xlbmd0aHMuaW5wdXRQYWRkaW5nfTtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAke3Byb3BzID0+XG4gICAgcHJvcHMuaGFzRXJyb3IgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gICAgYH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmFjdGl2ZX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgRXJyb3JNZXNzYWdlID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGZvbnQtc2l6ZTogMTNweDtcbmA7XG5cbmNvbnN0IEhlbHBUZXh0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBCdXR0b25Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuYDtcblxuY29uc3QgQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7Y29sb3JzLmFjdGl2ZX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5gO1xuXG5jb25zdCBDYW5jZWxCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5ib3JkZXJ9O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZUJhY2tncm91bmR9O1xuICB9XG5gO1xuXG5jb25zdCBDb25maXJtQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVIb3ZlciB8fCBjb2xvcnMuYWN0aXZlfTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cbmA7XG5cbmNvbnN0IFByb2dyZXNzSW5kaWNhdG9yID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgU3Bpbm5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7Y29sb3JzLmJvcmRlcn07XG4gIGJvcmRlci10b3AtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDAuNnMgbGluZWFyIGluZmluaXRlO1xuXG4gIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbmA7XG5cbmNsYXNzIEZvbGRlclJlbmFtZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBmb2xkZXJQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGFmZmVjdGVkRW50cnlDb3VudDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvblJlbmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblZhbGlkYXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBvblZhbGlkYXRlOiBudWxsLFxuICAgIGFmZmVjdGVkRW50cnlDb3VudDogMCxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3TmFtZTogcHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gRGVib3VuY2UgdmFsaWRhdGlvbiB0byBhdm9pZCBleGNlc3NpdmUgY2FsbHNcbiAgICB0aGlzLmRlYm91bmNlZFZhbGlkYXRlID0gZGVib3VuY2UodGhpcy52YWxpZGF0ZUZvbGRlck5hbWUsIDUwMCk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBTdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgdG8gcmVzdG9yZSBmb2N1cyB3aGVuIG1vZGFsIGNsb3Nlc1xuICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIC8vIFdoZW4gbW9kYWwgb3BlbnMsIHN0b3JlIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudFxuICAgIGlmICh0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiAhcHJldlN0YXRlLmlzRWRpdGluZykge1xuICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIH1cbiAgICAvLyBXaGVuIG1vZGFsIGNsb3NlcywgcmVzdG9yZSBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAoIXRoaXMuc3RhdGUuaXNFZGl0aW5nICYmIHByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCAmJiB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC5mb2N1cykge1xuICAgICAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIC8vIENhbmNlbCBhbnkgcGVuZGluZyB2YWxpZGF0aW9uXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfVxuXG4gIGhhbmRsZVJlbmFtZUNsaWNrID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0VkaXRpbmc6IHRydWUsIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDYW5jZWwgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3TmFtZTogdGhpcy5wcm9wcy5mb2xkZXJOYW1lLFxuICAgICAgdmFsaWRhdGlvbkVycm9yOiBudWxsLFxuICAgICAgaXNWYWxpZGF0aW5nOiBmYWxzZSxcbiAgICB9KTtcbiAgICB0aGlzLmRlYm91bmNlZFZhbGlkYXRlLmNhbmNlbCgpO1xuICB9O1xuXG4gIGhhbmRsZUlucHV0Q2hhbmdlID0gZSA9PiB7XG4gICAgY29uc3QgbmV3TmFtZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBuZXdOYW1lLCBpc1ZhbGlkYXRpbmc6IHRydWUgfSwgKCkgPT4ge1xuICAgICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSgpO1xuICAgIH0pO1xuICB9O1xuXG4gIGhhbmRsZUtleURvd24gPSBlID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIXRoaXMuc3RhdGUudmFsaWRhdGlvbkVycm9yICYmICF0aGlzLnN0YXRlLmlzVmFsaWRhdGluZykge1xuICAgICAgdGhpcy5oYW5kbGVDb25maXJtKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIC8vIFNpbXBsZSBmb2N1cyB0cmFwOiBrZWVwIGZvY3VzIHdpdGhpbiB0aGUgbW9kYWxcbiAgICAgIHRoaXMuaGFuZGxlVGFiS2V5KGUpO1xuICAgIH1cbiAgfTtcblxuICBoYW5kbGVUYWJLZXkgPSBlID0+IHtcbiAgICBpZiAoIXRoaXMubW9kYWxSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gdGhpcy5tb2RhbFJlZi5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICApO1xuICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzWzBdO1xuICAgIGNvbnN0IGxhc3RFbGVtZW50ID0gZm9jdXNhYmxlRWxlbWVudHNbZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgLy8gU2hpZnQgKyBUYWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgbGFzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUYWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0RWxlbWVudCkge1xuICAgICAgICBmaXJzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzZXRNb2RhbFJlZiA9IHJlZiA9PiB7XG4gICAgdGhpcy5tb2RhbFJlZiA9IHJlZjtcbiAgfTtcblxuICB2YWxpZGF0ZUZvbGRlck5hbWUgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBuZXdOYW1lIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgZm9sZGVyTmFtZSwgb25WYWxpZGF0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHZhbGlkYXRlIGlmIG5hbWUgaGFzbid0IGNoYW5nZWRcbiAgICBpZiAobmV3TmFtZSA9PT0gZm9sZGVyTmFtZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbGlkYXRpb25FcnJvcjogbnVsbCwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBCYXNpYyBjbGllbnQtc2lkZSB2YWxpZGF0aW9uXG4gICAgbGV0IGVycm9yID0gbnVsbDtcblxuICAgIC8vIENoZWNrIGlmIGZvbGRlciBuYW1lIGlzIGVtcHR5XG4gICAgaWYgKCFuZXdOYW1lIHx8IG5ld05hbWUudHJpbSgpID09PSAnJykge1xuICAgICAgZXJyb3IgPSB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMubmFtZVJlcXVpcmVkJywge1xuICAgICAgICBkZWZhdWx0VmFsdWU6ICdGb2xkZXIgbmFtZSBpcyByZXF1aXJlZCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIGludmFsaWQgY2hhcmFjdGVyc1xuICAgIGVsc2UgaWYgKC9bPD46XCJ8PyovXFxcXF0vLnRlc3QobmV3TmFtZSkpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLmludmFsaWRDaGFyYWN0ZXJzJywge1xuICAgICAgICBkZWZhdWx0VmFsdWU6ICdGb2xkZXIgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnM6IDwgPiA6IFwiIHwgPyAqIC8gXFxcXCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIHBhdGggdHJhdmVyc2FsIGF0dGVtcHRzXG4gICAgZWxzZSBpZiAobmV3TmFtZS5pbmNsdWRlcygnLi4nKSkge1xuICAgICAgZXJyb3IgPSB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucGF0aFRyYXZlcnNhbCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY2Fubm90IGNvbnRhaW4gXCIuLlwiJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIHRoZXJlJ3MgYSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHByb3ZpZGVkLCBjYWxsIGl0XG4gICAgaWYgKCFlcnJvciAmJiBvblZhbGlkYXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgb25WYWxpZGF0ZShuZXdOYW1lKTtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQgJiYgdmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICAgIGVycm9yID0gdmFsaWRhdGlvblJlc3VsdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGVycm9yID1cbiAgICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICAgIHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy52YWxpZGF0aW9uRmFpbGVkJywge1xuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGlvbiBmYWlsZWQnLFxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IGVycm9yLCBpc1ZhbGlkYXRpbmc6IGZhbHNlIH0pO1xuICB9O1xuXG4gIGhhbmRsZUNvbmZpcm0gPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBuZXdOYW1lLCB2YWxpZGF0aW9uRXJyb3IsIGlzVmFsaWRhdGluZyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlclBhdGgsIGZvbGRlck5hbWUsIG9uUmVuYW1lLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiB0aGVyZSBhcmUgdmFsaWRhdGlvbiBlcnJvcnMgb3IgdmFsaWRhdGlvbiBpcyBpbiBwcm9ncmVzc1xuICAgIGlmICh2YWxpZGF0aW9uRXJyb3IgfHwgaXNWYWxpZGF0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzUmVuYW1pbmc6IHRydWUgfSk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gQ29uc3RydWN0IHRoZSBuZXcgcGF0aFxuICAgICAgY29uc3QgcGF0aFBhcnRzID0gZm9sZGVyUGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aFBhcnRzW3BhdGhQYXJ0cy5sZW5ndGggLSAxXSA9IG5ld05hbWU7XG4gICAgICBjb25zdCBuZXdQYXRoID0gcGF0aFBhcnRzLmpvaW4oJy8nKTtcblxuICAgICAgYXdhaXQgb25SZW5hbWUoZm9sZGVyUGF0aCwgbmV3UGF0aCk7XG5cbiAgICAgIC8vIFN1Y2Nlc3MgLSBjbG9zZSB0aGUgbW9kYWxcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICAgICAgbmV3TmFtZTogZm9sZGVyTmFtZSxcbiAgICAgICAgdmFsaWRhdGlvbkVycm9yOiBudWxsLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVyci5tZXNzYWdlIHx8XG4gICAgICAgIHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5yZW5hbWVGYWlsZWQnLCB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiAnRmFpbGVkIHRvIHJlbmFtZSBmb2xkZXInLFxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogZXJyb3JNZXNzYWdlLFxuICAgICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCwgYWZmZWN0ZWRFbnRyeUNvdW50LCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaXNFZGl0aW5nLCBuZXdOYW1lLCB2YWxpZGF0aW9uRXJyb3IsIGlzVmFsaWRhdGluZywgaXNSZW5hbWluZyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IGhhc0Vycm9yID0gISF2YWxpZGF0aW9uRXJyb3I7XG4gICAgY29uc3QgY2FuQ29uZmlybSA9ICFoYXNFcnJvciAmJiAhaXNWYWxpZGF0aW5nICYmICFpc1JlbmFtaW5nICYmIG5ld05hbWUudHJpbSgpICE9PSAnJztcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8UmVuYW1lQ29udGFpbmVyPlxuICAgICAgICAgIDxSZW5hbWVCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVuYW1lQ2xpY2t9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWVCdXR0b24nLCB7XG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1JlbmFtZSBmb2xkZXInLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICB0aXRsZT17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIOKcj++4j1xuICAgICAgICAgIDwvUmVuYW1lQnV0dG9uPlxuICAgICAgICA8L1JlbmFtZUNvbnRhaW5lcj5cblxuICAgICAgICB7aXNFZGl0aW5nICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE92ZXJsYXkgb25DbGljaz17dGhpcy5oYW5kbGVDYW5jZWx9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICA8UmVuYW1lTW9kYWxcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNldE1vZGFsUmVmfVxuICAgICAgICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJyZW5hbWUtbW9kYWwtdGl0bGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TW9kYWxIZWFkZXIgaWQ9XCJyZW5hbWUtbW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudGl0bGUnLCB7IGRlZmF1bHRWYWx1ZTogJ1JlbmFtZSBGb2xkZXInIH0pfVxuICAgICAgICAgICAgICA8L01vZGFsSGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxXYXJuaW5nQmFubmVyPlxuICAgICAgICAgICAgICAgIDxXYXJuaW5nSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIj7imqA8L1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudXJsV2FybmluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOlxuICAgICAgICAgICAgICAgICAgICAgICdSZW5hbWluZyB0aGlzIGZvbGRlciB3aWxsIGNoYW5nZSB0aGUgVVJMcyBmb3IgYWxsIGVudHJpZXMgd2l0aGluIGl0LiBUaGlzIG1heSByZXN1bHQgaW4gYnJva2VuIGxpbmtzIGFuZCA0MDQgZXJyb3JzIGlmIHRoZSBvbGQgVVJMcyBhcmUgcmVmZXJlbmNlZCBlbHNld2hlcmUuJyxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAge2FmZmVjdGVkRW50cnlDb3VudCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmFmZmVjdGVkRW50cmllcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogYFRoaXMgd2lsbCBhZmZlY3QgJHthZmZlY3RlZEVudHJ5Q291bnR9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmVjdGVkRW50cnlDb3VudCA9PT0gMSA/ICdlbnRyeScgOiAnZW50cmllcydcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50OiBhZmZlY3RlZEVudHJ5Q291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9XYXJuaW5nQmFubmVyPlxuXG4gICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwiZm9sZGVyLXJlbmFtZS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5uZXdOYW1lJywgeyBkZWZhdWx0VmFsdWU6ICdOZXcgRm9sZGVyIE5hbWUnIH0pfVxuICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImZvbGRlci1yZW5hbWUtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17bmV3TmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVJbnB1dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNSZW5hbWluZ31cbiAgICAgICAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtoYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yID8gJ2ZvbGRlci1yZW5hbWUtZXJyb3InIDogaXNWYWxpZGF0aW5nID8gJ2ZvbGRlci1yZW5hbWUtdmFsaWRhdGluZycgOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvck1lc3NhZ2UgaWQ9XCJmb2xkZXItcmVuYW1lLWVycm9yXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgICB7dmFsaWRhdGlvbkVycm9yfVxuICAgICAgICAgICAgICAgIDwvRXJyb3JNZXNzYWdlPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1ZhbGlkYXRpbmcgJiYgIWhhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8SGVscFRleHQgaWQ9XCJmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS52YWxpZGF0aW5nJywge1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdWYWxpZGF0aW5nLi4uJyxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvSGVscFRleHQ+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAge2lzUmVuYW1pbmcgJiYgKFxuICAgICAgICAgICAgICAgIDxQcm9ncmVzc0luZGljYXRvcj5cbiAgICAgICAgICAgICAgICAgIDxTcGlubmVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtaW5nJywge1xuICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1JlbmFtaW5nIGZvbGRlci4uLicsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvUHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwPlxuICAgICAgICAgICAgICAgIDxDYW5jZWxCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDYW5jZWx9IGRpc2FibGVkPXtpc1JlbmFtaW5nfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jYW5jZWwnLCB7IGRlZmF1bHRWYWx1ZTogJ0NhbmNlbCcgfSl9XG4gICAgICAgICAgICAgICAgPC9DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICAgICAgPENvbmZpcm1CdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDb25maXJtfSBkaXNhYmxlZD17IWNhbkNvbmZpcm19PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmNvbmZpcm0nLCB7IGRlZmF1bHRWYWx1ZTogJ1JlbmFtZScgfSl9XG4gICAgICAgICAgICAgICAgPC9Db25maXJtQnV0dG9uPlxuICAgICAgICAgICAgICA8L0J1dHRvbkdyb3VwPlxuICAgICAgICAgICAgPC9SZW5hbWVNb2RhbD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRm9sZGVyUmVuYW1lQ29udHJvbDtcbiJdfQ== */"));
25
+ const RenameModal = /*#__PURE__*/_styled("div", {
26
+ target: "e2tkm4414",
27
+ label: "RenameModal"
28
+ })("position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background-color:", colors.foreground, ";border-radius:", lengths.borderRadius, ";box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);padding:24px;min-width:400px;max-width:600px;z-index:1000;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QzhCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
29
+ const Overlay = /*#__PURE__*/_styled("div", {
30
+ target: "e2tkm4413",
31
+ label: "Overlay"
32
+ })(process.env.NODE_ENV === "production" ? {
33
+ name: "3snoz6",
34
+ styles: "position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);z-index:999"
35
+ } : {
36
+ name: "3snoz6",
37
+ styles: "position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);z-index:999/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RDBCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */",
38
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
39
+ });
40
+ const ModalHeader = /*#__PURE__*/_styled("h3", {
41
+ target: "e2tkm4412",
42
+ label: "ModalHeader"
43
+ })("margin:0 0 16px 0;font-size:18px;font-weight:600;color:", colors.text, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRTZCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
44
+ const WarningBanner = /*#__PURE__*/_styled("div", {
45
+ target: "e2tkm4411",
46
+ label: "WarningBanner"
47
+ })("padding:12px 16px;margin-bottom:16px;background-color:", colors.warnBackground, ";color:", colors.warnText, ";border-radius:", lengths.borderRadius, ";font-size:14px;line-height:1.5;display:flex;align-items:flex-start;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RWdDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
48
+ const WarningIcon = /*#__PURE__*/_styled("span", {
49
+ target: "e2tkm4410",
50
+ label: "WarningIcon"
51
+ })(process.env.NODE_ENV === "production" ? {
52
+ name: "21mjvf",
53
+ styles: "margin-right:8px;font-weight:bold;font-size:16px;flex-shrink:0"
54
+ } : {
55
+ name: "21mjvf",
56
+ styles: "margin-right:8px;font-weight:bold;font-size:16px;flex-shrink:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RitCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */",
57
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
58
+ });
59
+ const Label = /*#__PURE__*/_styled("label", {
60
+ target: "e2tkm449",
61
+ label: "Label"
62
+ })(text.fieldLabel, ";display:block;margin-bottom:8px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRzBCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
63
+ const Input = /*#__PURE__*/_styled("input", {
64
+ target: "e2tkm448",
65
+ label: "Input"
66
+ })("width:100%;padding:", lengths.inputPadding, ";border:", borders.textField, ";border-radius:", lengths.borderRadius, ";font-size:15px;font-family:inherit;background-color:", colors.inputBackground, ";margin-bottom:8px;", props => props.hasError && /*#__PURE__*/css("border-color:", colors.errorText, ";;label:Input;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrSE8iLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9Gb2xkZXJSZW5hbWVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQgeyBjb2xvcnMsIGxlbmd0aHMsIGJvcmRlcnMsIHRleHQgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5cbmNvbnN0IFJlbmFtZUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG5gO1xuXG5jb25zdCBSZW5hbWVCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgUmVuYW1lTW9kYWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5mb3JlZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWluLXdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgei1pbmRleDogMTAwMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXkgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5jb25zdCBNb2RhbEhlYWRlciA9IHN0eWxlZC5oM2BcbiAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbmA7XG5cbmNvbnN0IFdhcm5pbmdCYW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLndhcm5CYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7Y29sb3JzLndhcm5UZXh0fTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBXYXJuaW5nSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG5jb25zdCBMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgJHt0ZXh0LmZpZWxkTGFiZWx9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxuY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXRgXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAke2xlbmd0aHMuaW5wdXRQYWRkaW5nfTtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAke3Byb3BzID0+XG4gICAgcHJvcHMuaGFzRXJyb3IgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gICAgYH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5pbmFjdGl2ZX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgRXJyb3JNZXNzYWdlID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGZvbnQtc2l6ZTogMTNweDtcbmA7XG5cbmNvbnN0IEhlbHBUZXh0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBCdXR0b25Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuYDtcblxuY29uc3QgQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7Y29sb3JzLmFjdGl2ZX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5gO1xuXG5jb25zdCBDYW5jZWxCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5ib3JkZXJ9O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZUJhY2tncm91bmR9O1xuICB9XG5gO1xuXG5jb25zdCBDb25maXJtQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVIb3ZlciB8fCBjb2xvcnMuYWN0aXZlfTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cbmA7XG5cbmNvbnN0IFByb2dyZXNzSW5kaWNhdG9yID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgU3Bpbm5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7Y29sb3JzLmJvcmRlcn07XG4gIGJvcmRlci10b3AtY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDAuNnMgbGluZWFyIGluZmluaXRlO1xuXG4gIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbmA7XG5cbmNsYXNzIEZvbGRlclJlbmFtZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBmb2xkZXJQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGFmZmVjdGVkRW50cnlDb3VudDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvblJlbmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblZhbGlkYXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBvblZhbGlkYXRlOiBudWxsLFxuICAgIGFmZmVjdGVkRW50cnlDb3VudDogMCxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3TmFtZTogcHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gRGVib3VuY2UgdmFsaWRhdGlvbiB0byBhdm9pZCBleGNlc3NpdmUgY2FsbHNcbiAgICB0aGlzLmRlYm91bmNlZFZhbGlkYXRlID0gZGVib3VuY2UodGhpcy52YWxpZGF0ZUZvbGRlck5hbWUsIDUwMCk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBTdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgdG8gcmVzdG9yZSBmb2N1cyB3aGVuIG1vZGFsIGNsb3Nlc1xuICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIC8vIFdoZW4gbW9kYWwgb3BlbnMsIHN0b3JlIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudFxuICAgIGlmICh0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiAhcHJldlN0YXRlLmlzRWRpdGluZykge1xuICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIH1cbiAgICAvLyBXaGVuIG1vZGFsIGNsb3NlcywgcmVzdG9yZSBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAoIXRoaXMuc3RhdGUuaXNFZGl0aW5nICYmIHByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCAmJiB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC5mb2N1cykge1xuICAgICAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIC8vIENhbmNlbCBhbnkgcGVuZGluZyB2YWxpZGF0aW9uXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfVxuXG4gIGhhbmRsZVJlbmFtZUNsaWNrID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0VkaXRpbmc6IHRydWUsIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDYW5jZWwgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3TmFtZTogdGhpcy5wcm9wcy5mb2xkZXJOYW1lLFxuICAgICAgdmFsaWRhdGlvbkVycm9yOiBudWxsLFxuICAgICAgaXNWYWxpZGF0aW5nOiBmYWxzZSxcbiAgICB9KTtcbiAgICB0aGlzLmRlYm91bmNlZFZhbGlkYXRlLmNhbmNlbCgpO1xuICB9O1xuXG4gIGhhbmRsZUlucHV0Q2hhbmdlID0gZSA9PiB7XG4gICAgY29uc3QgbmV3TmFtZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBuZXdOYW1lLCBpc1ZhbGlkYXRpbmc6IHRydWUgfSwgKCkgPT4ge1xuICAgICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSgpO1xuICAgIH0pO1xuICB9O1xuXG4gIGhhbmRsZUtleURvd24gPSBlID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIXRoaXMuc3RhdGUudmFsaWRhdGlvbkVycm9yICYmICF0aGlzLnN0YXRlLmlzVmFsaWRhdGluZykge1xuICAgICAgdGhpcy5oYW5kbGVDb25maXJtKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIC8vIFNpbXBsZSBmb2N1cyB0cmFwOiBrZWVwIGZvY3VzIHdpdGhpbiB0aGUgbW9kYWxcbiAgICAgIHRoaXMuaGFuZGxlVGFiS2V5KGUpO1xuICAgIH1cbiAgfTtcblxuICBoYW5kbGVUYWJLZXkgPSBlID0+IHtcbiAgICBpZiAoIXRoaXMubW9kYWxSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gdGhpcy5tb2RhbFJlZi5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICApO1xuICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzWzBdO1xuICAgIGNvbnN0IGxhc3RFbGVtZW50ID0gZm9jdXNhYmxlRWxlbWVudHNbZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgLy8gU2hpZnQgKyBUYWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgbGFzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUYWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0RWxlbWVudCkge1xuICAgICAgICBmaXJzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzZXRNb2RhbFJlZiA9IHJlZiA9PiB7XG4gICAgdGhpcy5tb2RhbFJlZiA9IHJlZjtcbiAgfTtcblxuICB2YWxpZGF0ZUZvbGRlck5hbWUgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBuZXdOYW1lIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgZm9sZGVyTmFtZSwgb25WYWxpZGF0ZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHZhbGlkYXRlIGlmIG5hbWUgaGFzbid0IGNoYW5nZWRcbiAgICBpZiAobmV3TmFtZSA9PT0gZm9sZGVyTmFtZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbGlkYXRpb25FcnJvcjogbnVsbCwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBCYXNpYyBjbGllbnQtc2lkZSB2YWxpZGF0aW9uXG4gICAgbGV0IGVycm9yID0gbnVsbDtcblxuICAgIC8vIENoZWNrIGlmIGZvbGRlciBuYW1lIGlzIGVtcHR5XG4gICAgaWYgKCFuZXdOYW1lIHx8IG5ld05hbWUudHJpbSgpID09PSAnJykge1xuICAgICAgZXJyb3IgPSB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMubmFtZVJlcXVpcmVkJywge1xuICAgICAgICBkZWZhdWx0VmFsdWU6ICdGb2xkZXIgbmFtZSBpcyByZXF1aXJlZCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIGludmFsaWQgY2hhcmFjdGVyc1xuICAgIGVsc2UgaWYgKC9bPD46XCJ8PyovXFxcXF0vLnRlc3QobmV3TmFtZSkpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLmludmFsaWRDaGFyYWN0ZXJzJywge1xuICAgICAgICBkZWZhdWx0VmFsdWU6ICdGb2xkZXIgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnM6IDwgPiA6IFwiIHwgPyAqIC8gXFxcXCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIHBhdGggdHJhdmVyc2FsIGF0dGVtcHRzXG4gICAgZWxzZSBpZiAobmV3TmFtZS5pbmNsdWRlcygnLi4nKSkge1xuICAgICAgZXJyb3IgPSB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucGF0aFRyYXZlcnNhbCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY2Fubm90IGNvbnRhaW4gXCIuLlwiJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIHRoZXJlJ3MgYSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHByb3ZpZGVkLCBjYWxsIGl0XG4gICAgaWYgKCFlcnJvciAmJiBvblZhbGlkYXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgb25WYWxpZGF0ZShuZXdOYW1lKTtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQgJiYgdmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICAgIGVycm9yID0gdmFsaWRhdGlvblJlc3VsdC5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGVycm9yID1cbiAgICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICAgIHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy52YWxpZGF0aW9uRmFpbGVkJywge1xuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGlvbiBmYWlsZWQnLFxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IGVycm9yLCBpc1ZhbGlkYXRpbmc6IGZhbHNlIH0pO1xuICB9O1xuXG4gIGhhbmRsZUNvbmZpcm0gPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBuZXdOYW1lLCB2YWxpZGF0aW9uRXJyb3IsIGlzVmFsaWRhdGluZyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlclBhdGgsIGZvbGRlck5hbWUsIG9uUmVuYW1lLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiB0aGVyZSBhcmUgdmFsaWRhdGlvbiBlcnJvcnMgb3IgdmFsaWRhdGlvbiBpcyBpbiBwcm9ncmVzc1xuICAgIGlmICh2YWxpZGF0aW9uRXJyb3IgfHwgaXNWYWxpZGF0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgcHJvY2VlZCBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzUmVuYW1pbmc6IHRydWUgfSk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gQ29uc3RydWN0IHRoZSBuZXcgcGF0aFxuICAgICAgY29uc3QgcGF0aFBhcnRzID0gZm9sZGVyUGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aFBhcnRzW3BhdGhQYXJ0cy5sZW5ndGggLSAxXSA9IG5ld05hbWU7XG4gICAgICBjb25zdCBuZXdQYXRoID0gcGF0aFBhcnRzLmpvaW4oJy8nKTtcblxuICAgICAgYXdhaXQgb25SZW5hbWUoZm9sZGVyUGF0aCwgbmV3UGF0aCk7XG5cbiAgICAgIC8vIFN1Y2Nlc3MgLSBjbG9zZSB0aGUgbW9kYWxcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICAgICAgbmV3TmFtZTogZm9sZGVyTmFtZSxcbiAgICAgICAgdmFsaWRhdGlvbkVycm9yOiBudWxsLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVyci5tZXNzYWdlIHx8XG4gICAgICAgIHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5yZW5hbWVGYWlsZWQnLCB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiAnRmFpbGVkIHRvIHJlbmFtZSBmb2xkZXInLFxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogZXJyb3JNZXNzYWdlLFxuICAgICAgICBpc1JlbmFtaW5nOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZCwgYWZmZWN0ZWRFbnRyeUNvdW50LCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaXNFZGl0aW5nLCBuZXdOYW1lLCB2YWxpZGF0aW9uRXJyb3IsIGlzVmFsaWRhdGluZywgaXNSZW5hbWluZyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IGhhc0Vycm9yID0gISF2YWxpZGF0aW9uRXJyb3I7XG4gICAgY29uc3QgY2FuQ29uZmlybSA9ICFoYXNFcnJvciAmJiAhaXNWYWxpZGF0aW5nICYmICFpc1JlbmFtaW5nICYmIG5ld05hbWUudHJpbSgpICE9PSAnJztcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8UmVuYW1lQ29udGFpbmVyPlxuICAgICAgICAgIDxSZW5hbWVCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVuYW1lQ2xpY2t9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWVCdXR0b24nLCB7XG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1JlbmFtZSBmb2xkZXInLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICB0aXRsZT17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIOKcj++4j1xuICAgICAgICAgIDwvUmVuYW1lQnV0dG9uPlxuICAgICAgICA8L1JlbmFtZUNvbnRhaW5lcj5cblxuICAgICAgICB7aXNFZGl0aW5nICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE92ZXJsYXkgb25DbGljaz17dGhpcy5oYW5kbGVDYW5jZWx9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICA8UmVuYW1lTW9kYWxcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNldE1vZGFsUmVmfVxuICAgICAgICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJyZW5hbWUtbW9kYWwtdGl0bGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TW9kYWxIZWFkZXIgaWQ9XCJyZW5hbWUtbW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudGl0bGUnLCB7IGRlZmF1bHRWYWx1ZTogJ1JlbmFtZSBGb2xkZXInIH0pfVxuICAgICAgICAgICAgICA8L01vZGFsSGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxXYXJuaW5nQmFubmVyPlxuICAgICAgICAgICAgICAgIDxXYXJuaW5nSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIj7imqA8L1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudXJsV2FybmluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOlxuICAgICAgICAgICAgICAgICAgICAgICdSZW5hbWluZyB0aGlzIGZvbGRlciB3aWxsIGNoYW5nZSB0aGUgVVJMcyBmb3IgYWxsIGVudHJpZXMgd2l0aGluIGl0LiBUaGlzIG1heSByZXN1bHQgaW4gYnJva2VuIGxpbmtzIGFuZCA0MDQgZXJyb3JzIGlmIHRoZSBvbGQgVVJMcyBhcmUgcmVmZXJlbmNlZCBlbHNld2hlcmUuJyxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAge2FmZmVjdGVkRW50cnlDb3VudCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmFmZmVjdGVkRW50cmllcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogYFRoaXMgd2lsbCBhZmZlY3QgJHthZmZlY3RlZEVudHJ5Q291bnR9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmVjdGVkRW50cnlDb3VudCA9PT0gMSA/ICdlbnRyeScgOiAnZW50cmllcydcbiAgICAgICAgICAgICAgICAgICAgICAgIH0uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50OiBhZmZlY3RlZEVudHJ5Q291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9XYXJuaW5nQmFubmVyPlxuXG4gICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwiZm9sZGVyLXJlbmFtZS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5uZXdOYW1lJywgeyBkZWZhdWx0VmFsdWU6ICdOZXcgRm9sZGVyIE5hbWUnIH0pfVxuICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImZvbGRlci1yZW5hbWUtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17bmV3TmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVJbnB1dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNSZW5hbWluZ31cbiAgICAgICAgICAgICAgICBoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtoYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yID8gJ2ZvbGRlci1yZW5hbWUtZXJyb3InIDogaXNWYWxpZGF0aW5nID8gJ2ZvbGRlci1yZW5hbWUtdmFsaWRhdGluZycgOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICB7aGFzRXJyb3IgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvck1lc3NhZ2UgaWQ9XCJmb2xkZXItcmVuYW1lLWVycm9yXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgICB7dmFsaWRhdGlvbkVycm9yfVxuICAgICAgICAgICAgICAgIDwvRXJyb3JNZXNzYWdlPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1ZhbGlkYXRpbmcgJiYgIWhhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8SGVscFRleHQgaWQ9XCJmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmdcIj5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS52YWxpZGF0aW5nJywge1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdWYWxpZGF0aW5nLi4uJyxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvSGVscFRleHQ+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAge2lzUmVuYW1pbmcgJiYgKFxuICAgICAgICAgICAgICAgIDxQcm9ncmVzc0luZGljYXRvcj5cbiAgICAgICAgICAgICAgICAgIDxTcGlubmVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtaW5nJywge1xuICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1JlbmFtaW5nIGZvbGRlci4uLicsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvUHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwPlxuICAgICAgICAgICAgICAgIDxDYW5jZWxCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDYW5jZWx9IGRpc2FibGVkPXtpc1JlbmFtaW5nfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jYW5jZWwnLCB7IGRlZmF1bHRWYWx1ZTogJ0NhbmNlbCcgfSl9XG4gICAgICAgICAgICAgICAgPC9DYW5jZWxCdXR0b24+XG4gICAgICAgICAgICAgICAgPENvbmZpcm1CdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDb25maXJtfSBkaXNhYmxlZD17IWNhbkNvbmZpcm19PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmNvbmZpcm0nLCB7IGRlZmF1bHRWYWx1ZTogJ1JlbmFtZScgfSl9XG4gICAgICAgICAgICAgICAgPC9Db25maXJtQnV0dG9uPlxuICAgICAgICAgICAgICA8L0J1dHRvbkdyb3VwPlxuICAgICAgICAgICAgPC9SZW5hbWVNb2RhbD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRm9sZGVyUmVuYW1lQ29udHJvbDtcbiJdfQ== */")), " &:focus{outline:none;border-color:", colors.active, ";}&:disabled{background-color:", colors.background, ";color:", colors.inactive, ";cursor:not-allowed;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRzBCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
67
+ const ErrorMessage = /*#__PURE__*/_styled("div", {
68
+ target: "e2tkm447",
69
+ label: "ErrorMessage"
70
+ })("margin-bottom:16px;color:", colors.errorText, ";font-size:13px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrSStCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
71
+ const HelpText = /*#__PURE__*/_styled("div", {
72
+ target: "e2tkm446",
73
+ label: "HelpText"
74
+ })("margin-bottom:16px;color:", colors.text, ";font-size:13px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3STJCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
75
+ const ButtonGroup = /*#__PURE__*/_styled("div", {
76
+ target: "e2tkm445",
77
+ label: "ButtonGroup"
78
+ })(process.env.NODE_ENV === "production" ? {
79
+ name: "1ekp3cb",
80
+ styles: "display:flex;justify-content:flex-end;gap:8px;margin-top:24px"
81
+ } : {
82
+ name: "1ekp3cb",
83
+ styles: "display:flex;justify-content:flex-end;gap:8px;margin-top:24px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4SThCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */",
84
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
85
+ });
86
+ const Button = /*#__PURE__*/_styled("button", {
87
+ target: "e2tkm444",
88
+ label: "Button"
89
+ })("padding:8px 16px;border-radius:", lengths.borderRadius, ";font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;&:focus{outline:2px solid ", colors.active, ";outline-offset:2px;}&:disabled{opacity:0.5;cursor:not-allowed;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxSjRCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
90
+ const CancelButton = /*#__PURE__*/_styled(Button, {
91
+ target: "e2tkm443",
92
+ label: "CancelButton"
93
+ })("background-color:", colors.background, ";color:", colors.text, ";border-color:", colors.border, ";&:hover:not(:disabled){background-color:", colors.activeBackground, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5S21DIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
94
+ const ConfirmButton = /*#__PURE__*/_styled(Button, {
95
+ target: "e2tkm442",
96
+ label: "ConfirmButton"
97
+ })("background-color:", colors.active, ";color:white;&:hover:not(:disabled){background-color:", colors.activeHover || colors.active, ";opacity:0.9;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTG9DIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
98
+ const ProgressIndicator = /*#__PURE__*/_styled("div", {
99
+ target: "e2tkm441",
100
+ label: "ProgressIndicator"
101
+ })("display:flex;align-items:center;gap:8px;color:", colors.text, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2TG9DIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
102
+ const Spinner = /*#__PURE__*/_styled("div", {
103
+ target: "e2tkm440",
104
+ label: "Spinner"
105
+ })("width:16px;height:16px;border:2px solid ", colors.border, ";border-top-color:", colors.active, ";border-radius:50%;animation:spin 0.6s linear infinite;@keyframes spin{to{transform:rotate(360deg);}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxTTBCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vRm9sZGVyUmVuYW1lQ29udHJvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHsgY29sb3JzLCBsZW5ndGhzLCBib3JkZXJzLCB0ZXh0IH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBSZW5hbWVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgUmVuYW1lQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHR9O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlQmFja2dyb3VuZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtjb2xvcnMuYWN0aXZlfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJlbmFtZU1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuZm9yZWdyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwMDA7XG5gO1xuXG5jb25zdCBPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuY29uc3QgTW9kYWxIZWFkZXIgPSBzdHlsZWQuaDNgXG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG5gO1xuXG5jb25zdCBXYXJuaW5nQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy53YXJuQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke2NvbG9ycy53YXJuVGV4dH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gICR7dGV4dC5maWVsZExhYmVsfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHtsZW5ndGhzLmlucHV0UGFkZGluZ307XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5pbnB1dEJhY2tncm91bmR9O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc0Vycm9yICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICAgIGB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmFjdGl2ZX07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5hY3RpdmV9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICBmb250LXNpemU6IDEzcHg7XG5gO1xuXG5jb25zdCBIZWxwVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0fTtcbiAgZm9udC1zaXplOiAxM3B4O1xuYDtcblxuY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5hY3RpdmV9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYDtcblxuY29uc3QgQ2FuY2VsQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYm9yZGVyfTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmVCYWNrZ3JvdW5kfTtcbiAgfVxuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYWN0aXZlSG92ZXIgfHwgY29sb3JzLmFjdGl2ZX07XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5gO1xuXG5jb25zdCBQcm9ncmVzc0luZGljYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmNvbnN0IFNwaW5uZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2NvbG9ycy5hY3RpdmV9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5gO1xuXG5jbGFzcyBGb2xkZXJSZW5hbWVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgZm9sZGVyUGF0aDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGZvbGRlck5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25SZW5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25WYWxpZGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25WYWxpZGF0ZTogbnVsbCxcbiAgICBhZmZlY3RlZEVudHJ5Q291bnQ6IDAsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHByb3BzLmZvbGRlck5hbWUsXG4gICAgICB2YWxpZGF0aW9uRXJyb3I6IG51bGwsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIERlYm91bmNlIHZhbGlkYXRpb24gdG8gYXZvaWQgZXhjZXNzaXZlIGNhbGxzXG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZSA9IGRlYm91bmNlKHRoaXMudmFsaWRhdGVGb2xkZXJOYW1lLCA1MDApO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IHRvIHJlc3RvcmUgZm9jdXMgd2hlbiBtb2RhbCBjbG9zZXNcbiAgICB0aGlzLnByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAvLyBXaGVuIG1vZGFsIG9wZW5zLCBzdG9yZSB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VkaXRpbmcgJiYgIXByZXZTdGF0ZS5pc0VkaXRpbmcpIHtcbiAgICAgIHRoaXMucHJldmlvdXNseUZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgLy8gV2hlbiBtb2RhbCBjbG9zZXMsIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzRWRpdGluZyAmJiBwcmV2U3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgJiYgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdmFsaWRhdGlvblxuICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUuY2FuY2VsKCk7XG4gIH1cblxuICBoYW5kbGVSZW5hbWVDbGljayA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNFZGl0aW5nOiB0cnVlLCBuZXdOYW1lOiB0aGlzLnByb3BzLmZvbGRlck5hbWUgfSk7XG4gIH07XG5cbiAgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgIG5ld05hbWU6IHRoaXMucHJvcHMuZm9sZGVyTmFtZSxcbiAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5kZWJvdW5jZWRWYWxpZGF0ZS5jYW5jZWwoKTtcbiAgfTtcblxuICBoYW5kbGVJbnB1dENoYW5nZSA9IGUgPT4ge1xuICAgIGNvbnN0IG5ld05hbWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3TmFtZSwgaXNWYWxpZGF0aW5nOiB0cnVlIH0sICgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VkVmFsaWRhdGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gZSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICF0aGlzLnN0YXRlLnZhbGlkYXRpb25FcnJvciAmJiAhdGhpcy5zdGF0ZS5pc1ZhbGlkYXRpbmcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29uZmlybSgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAvLyBTaW1wbGUgZm9jdXMgdHJhcDoga2VlcCBmb2N1cyB3aXRoaW4gdGhlIG1vZGFsXG4gICAgICB0aGlzLmhhbmRsZVRhYktleShlKTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlVGFiS2V5ID0gZSA9PiB7XG4gICAgaWYgKCF0aGlzLm1vZGFsUmVmKSByZXR1cm47XG5cbiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMubW9kYWxSZWYucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScsXG4gICAgKTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnQgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcbiAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcbiAgICAgIC8vIFNoaWZ0ICsgVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RFbGVtZW50KSB7XG4gICAgICAgIGxhc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGFiXG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gbGFzdEVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0TW9kYWxSZWYgPSByZWYgPT4ge1xuICAgIHRoaXMubW9kYWxSZWYgPSByZWY7XG4gIH07XG5cbiAgdmFsaWRhdGVGb2xkZXJOYW1lID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGZvbGRlck5hbWUsIG9uVmFsaWRhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBEb24ndCB2YWxpZGF0ZSBpZiBuYW1lIGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKG5ld05hbWUgPT09IGZvbGRlck5hbWUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWxpZGF0aW9uRXJyb3I6IG51bGwsIGlzVmFsaWRhdGluZzogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgY2xpZW50LXNpZGUgdmFsaWRhdGlvblxuICAgIGxldCBlcnJvciA9IG51bGw7XG5cbiAgICAvLyBDaGVjayBpZiBmb2xkZXIgbmFtZSBpcyBlbXB0eVxuICAgIGlmICghbmV3TmFtZSB8fCBuZXdOYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLm5hbWVSZXF1aXJlZCcsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICBlbHNlIGlmICgvWzw+OlwifD8qL1xcXFxdLy50ZXN0KG5ld05hbWUpKSB7XG4gICAgICBlcnJvciA9IHQoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLmVycm9ycy5pbnZhbGlkQ2hhcmFjdGVycycsIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnRm9sZGVyIG5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzOiA8ID4gOiBcIiB8ID8gKiAvIFxcXFwnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrIGZvciBwYXRoIHRyYXZlcnNhbCBhdHRlbXB0c1xuICAgIGVsc2UgaWYgKG5ld05hbWUuaW5jbHVkZXMoJy4uJykpIHtcbiAgICAgIGVycm9yID0gdCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuZXJyb3JzLnBhdGhUcmF2ZXJzYWwnLCB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZvbGRlciBuYW1lIGNhbm5vdCBjb250YWluIFwiLi5cIicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGEgdmFsaWRhdGlvbiBmdW5jdGlvbiBwcm92aWRlZCwgY2FsbCBpdFxuICAgIGlmICghZXJyb3IgJiYgb25WYWxpZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IG9uVmFsaWRhdGUobmV3TmFtZSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0ICYmIHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IHZhbGlkYXRpb25SZXN1bHQuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvciA9XG4gICAgICAgICAgZXJyLm1lc3NhZ2UgfHxcbiAgICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMudmFsaWRhdGlvbkZhaWxlZCcsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsaWRhdGlvbkVycm9yOiBlcnJvciwgaXNWYWxpZGF0aW5nOiBmYWxzZSB9KTtcbiAgfTtcblxuICBoYW5kbGVDb25maXJtID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBmb2xkZXJQYXRoLCBmb2xkZXJOYW1lLCBvblJlbmFtZSwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgdGhlcmUgYXJlIHZhbGlkYXRpb24gZXJyb3JzIG9yIHZhbGlkYXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yIHx8IGlzVmFsaWRhdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERvbid0IHByb2NlZWQgaWYgbmFtZSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChuZXdOYW1lID09PSBmb2xkZXJOYW1lKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlbmFtaW5nOiB0cnVlIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCB0aGUgbmV3IHBhdGhcbiAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGZvbGRlclBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV0gPSBuZXdOYW1lO1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHBhdGhQYXJ0cy5qb2luKCcvJyk7XG5cbiAgICAgIGF3YWl0IG9uUmVuYW1lKGZvbGRlclBhdGgsIG5ld1BhdGgpO1xuXG4gICAgICAvLyBTdWNjZXNzIC0gY2xvc2UgdGhlIG1vZGFsXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICAgIG5ld05hbWU6IGZvbGRlck5hbWUsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcjogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgICBlcnIubWVzc2FnZSB8fFxuICAgICAgICB0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5lcnJvcnMucmVuYW1lRmFpbGVkJywge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ0ZhaWxlZCB0byByZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWxpZGF0aW9uRXJyb3I6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgaXNSZW5hbWluZzogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGFmZmVjdGVkRW50cnlDb3VudCwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzRWRpdGluZywgbmV3TmFtZSwgdmFsaWRhdGlvbkVycm9yLCBpc1ZhbGlkYXRpbmcsIGlzUmVuYW1pbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBoYXNFcnJvciA9ICEhdmFsaWRhdGlvbkVycm9yO1xuICAgIGNvbnN0IGNhbkNvbmZpcm0gPSAhaGFzRXJyb3IgJiYgIWlzVmFsaWRhdGluZyAmJiAhaXNSZW5hbWluZyAmJiBuZXdOYW1lLnRyaW0oKSAhPT0gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFJlbmFtZUNvbnRhaW5lcj5cbiAgICAgICAgICA8UmVuYW1lQnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbmFtZUNsaWNrfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUucmVuYW1lQnV0dG9uJywge1xuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgZm9sZGVyJyxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgdGl0bGU9e3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnJlbmFtZUJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnUmVuYW1lIGZvbGRlcicsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICDinI/vuI9cbiAgICAgICAgICA8L1JlbmFtZUJ1dHRvbj5cbiAgICAgICAgPC9SZW5hbWVDb250YWluZXI+XG5cbiAgICAgICAge2lzRWRpdGluZyAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPdmVybGF5IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPFJlbmFtZU1vZGFsXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZXRNb2RhbFJlZn1cbiAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwicmVuYW1lLW1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1vZGFsSGVhZGVyIGlkPVwicmVuYW1lLW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnRpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUgRm9sZGVyJyB9KX1cbiAgICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cblxuICAgICAgICAgICAgICA8V2FybmluZ0Jhbm5lcj5cbiAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCI+4pqgPC9XYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAge3QoJ2NvbGxlY3Rpb24uZm9sZGVyUmVuYW1lLnVybFdhcm5pbmcnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgICAnUmVuYW1pbmcgdGhpcyBmb2xkZXIgd2lsbCBjaGFuZ2UgdGhlIFVSTHMgZm9yIGFsbCBlbnRyaWVzIHdpdGhpbiBpdC4gVGhpcyBtYXkgcmVzdWx0IGluIGJyb2tlbiBsaW5rcyBhbmQgNDA0IGVycm9ycyBpZiB0aGUgb2xkIFVSTHMgYXJlIHJlZmVyZW5jZWQgZWxzZXdoZXJlLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHthZmZlY3RlZEVudHJ5Q291bnQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5hZmZlY3RlZEVudHJpZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBUaGlzIHdpbGwgYWZmZWN0ICR7YWZmZWN0ZWRFbnRyeUNvdW50fSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZlY3RlZEVudHJ5Q291bnQgPT09IDEgPyAnZW50cnknIDogJ2VudHJpZXMnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogYWZmZWN0ZWRFbnRyeUNvdW50LFxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvV2FybmluZ0Jhbm5lcj5cblxuICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImZvbGRlci1yZW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUubmV3TmFtZScsIHsgZGVmYXVsdFZhbHVlOiAnTmV3IEZvbGRlciBOYW1lJyB9KX1cbiAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJmb2xkZXItcmVuYW1lLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e25ld05hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVuYW1pbmd9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17aGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgICAgICAgICBoYXNFcnJvciA/ICdmb2xkZXItcmVuYW1lLWVycm9yJyA6IGlzVmFsaWRhdGluZyA/ICdmb2xkZXItcmVuYW1lLXZhbGlkYXRpbmcnIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIGlkPVwiZm9sZGVyLXJlbmFtZS1lcnJvclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAge3ZhbGlkYXRpb25FcnJvcn1cbiAgICAgICAgICAgICAgICA8L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7aXNWYWxpZGF0aW5nICYmICFoYXNFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEhlbHBUZXh0IGlkPVwiZm9sZGVyLXJlbmFtZS12YWxpZGF0aW5nXCI+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUudmFsaWRhdGluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnVmFsaWRhdGluZy4uLicsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0hlbHBUZXh0PlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHtpc1JlbmFtaW5nICYmIChcbiAgICAgICAgICAgICAgICA8UHJvZ3Jlc3NJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8U3Bpbm5lciBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5yZW5hbWluZycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdSZW5hbWluZyBmb2xkZXIuLi4nLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Byb2dyZXNzSW5kaWNhdG9yPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2FuY2VsfSBkaXNhYmxlZD17aXNSZW5hbWluZ30+XG4gICAgICAgICAgICAgICAgICB7dCgnY29sbGVjdGlvbi5mb2xkZXJSZW5hbWUuY2FuY2VsJywgeyBkZWZhdWx0VmFsdWU6ICdDYW5jZWwnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ2FuY2VsQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ29uZmlybX0gZGlzYWJsZWQ9eyFjYW5Db25maXJtfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdjb2xsZWN0aW9uLmZvbGRlclJlbmFtZS5jb25maXJtJywgeyBkZWZhdWx0VmFsdWU6ICdSZW5hbWUnIH0pfVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgIDwvUmVuYW1lTW9kYWw+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZvbGRlclJlbmFtZUNvbnRyb2w7XG4iXX0= */"));
106
+ class FolderRenameControl extends React.Component {
107
+ static propTypes = {
108
+ collection: ImmutablePropTypes.map.isRequired,
109
+ folderPath: PropTypes.string.isRequired,
110
+ folderName: PropTypes.string.isRequired,
111
+ affectedEntryCount: PropTypes.number,
112
+ onRename: PropTypes.func.isRequired,
113
+ onValidate: PropTypes.func,
114
+ disabled: PropTypes.bool,
115
+ t: PropTypes.func.isRequired
116
+ };
117
+ static defaultProps = {
118
+ disabled: false,
119
+ onValidate: null,
120
+ affectedEntryCount: 0
121
+ };
122
+ constructor(props) {
123
+ super(props);
124
+ this.state = {
125
+ isEditing: false,
126
+ newName: props.folderName,
127
+ validationError: null,
128
+ isValidating: false,
129
+ isRenaming: false
130
+ };
131
+
132
+ // Debounce validation to avoid excessive calls
133
+ this.debouncedValidate = debounce(this.validateFolderName, 500);
134
+ }
135
+ componentDidMount() {
136
+ // Store the previously focused element to restore focus when modal closes
137
+ this.previouslyFocusedElement = null;
138
+ }
139
+ componentDidUpdate(prevProps, prevState) {
140
+ // When modal opens, store the previously focused element
141
+ if (this.state.isEditing && !prevState.isEditing) {
142
+ this.previouslyFocusedElement = document.activeElement;
143
+ }
144
+ // When modal closes, restore focus to the previously focused element
145
+ if (!this.state.isEditing && prevState.isEditing) {
146
+ if (this.previouslyFocusedElement && this.previouslyFocusedElement.focus) {
147
+ this.previouslyFocusedElement.focus();
148
+ }
149
+ }
150
+ }
151
+ componentWillUnmount() {
152
+ // Cancel any pending validation
153
+ this.debouncedValidate.cancel();
154
+ }
155
+ handleRenameClick = () => {
156
+ this.setState({
157
+ isEditing: true,
158
+ newName: this.props.folderName
159
+ });
160
+ };
161
+ handleCancel = () => {
162
+ this.setState({
163
+ isEditing: false,
164
+ newName: this.props.folderName,
165
+ validationError: null,
166
+ isValidating: false
167
+ });
168
+ this.debouncedValidate.cancel();
169
+ };
170
+ handleInputChange = e => {
171
+ const newName = e.target.value;
172
+ this.setState({
173
+ newName,
174
+ isValidating: true
175
+ }, () => {
176
+ this.debouncedValidate();
177
+ });
178
+ };
179
+ handleKeyDown = e => {
180
+ if (e.key === 'Enter' && !this.state.validationError && !this.state.isValidating) {
181
+ this.handleConfirm();
182
+ } else if (e.key === 'Escape') {
183
+ this.handleCancel();
184
+ } else if (e.key === 'Tab') {
185
+ // Simple focus trap: keep focus within the modal
186
+ this.handleTabKey(e);
187
+ }
188
+ };
189
+ handleTabKey = e => {
190
+ if (!this.modalRef) return;
191
+ const focusableElements = this.modalRef.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
192
+ const firstElement = focusableElements[0];
193
+ const lastElement = focusableElements[focusableElements.length - 1];
194
+ if (e.shiftKey) {
195
+ // Shift + Tab
196
+ if (document.activeElement === firstElement) {
197
+ lastElement.focus();
198
+ e.preventDefault();
199
+ }
200
+ } else {
201
+ // Tab
202
+ if (document.activeElement === lastElement) {
203
+ firstElement.focus();
204
+ e.preventDefault();
205
+ }
206
+ }
207
+ };
208
+ setModalRef = ref => {
209
+ this.modalRef = ref;
210
+ };
211
+ validateFolderName = async () => {
212
+ const {
213
+ newName
214
+ } = this.state;
215
+ const {
216
+ folderName,
217
+ onValidate,
218
+ t
219
+ } = this.props;
220
+
221
+ // Don't validate if name hasn't changed
222
+ if (newName === folderName) {
223
+ this.setState({
224
+ validationError: null,
225
+ isValidating: false
226
+ });
227
+ return;
228
+ }
229
+
230
+ // Basic client-side validation
231
+ let error = null;
232
+
233
+ // Check if folder name is empty
234
+ if (!newName || newName.trim() === '') {
235
+ error = t('collection.folderRename.errors.nameRequired', {
236
+ defaultValue: 'Folder name is required'
237
+ });
238
+ }
239
+ // Check for invalid characters
240
+ else if (/[<>:"|?*/\\]/.test(newName)) {
241
+ error = t('collection.folderRename.errors.invalidCharacters', {
242
+ defaultValue: 'Folder name contains invalid characters: < > : " | ? * / \\'
243
+ });
244
+ }
245
+ // Check for path traversal attempts
246
+ else if (newName.includes('..')) {
247
+ error = t('collection.folderRename.errors.pathTraversal', {
248
+ defaultValue: 'Folder name cannot contain ".."'
249
+ });
250
+ }
251
+
252
+ // If there's a validation function provided, call it
253
+ if (!error && onValidate) {
254
+ try {
255
+ const validationResult = await onValidate(newName);
256
+ if (validationResult && validationResult.error) {
257
+ error = validationResult.error;
258
+ }
259
+ } catch (err) {
260
+ error = err.message || t('collection.folderRename.errors.validationFailed', {
261
+ defaultValue: 'Validation failed'
262
+ });
263
+ }
264
+ }
265
+ this.setState({
266
+ validationError: error,
267
+ isValidating: false
268
+ });
269
+ };
270
+ handleConfirm = async () => {
271
+ const {
272
+ newName,
273
+ validationError,
274
+ isValidating
275
+ } = this.state;
276
+ const {
277
+ folderPath,
278
+ folderName,
279
+ onRename,
280
+ t
281
+ } = this.props;
282
+
283
+ // Don't proceed if there are validation errors or validation is in progress
284
+ if (validationError || isValidating) {
285
+ return;
286
+ }
287
+
288
+ // Don't proceed if name hasn't changed
289
+ if (newName === folderName) {
290
+ this.handleCancel();
291
+ return;
292
+ }
293
+ this.setState({
294
+ isRenaming: true
295
+ });
296
+ try {
297
+ // Construct the new path
298
+ const pathParts = folderPath.split('/');
299
+ pathParts[pathParts.length - 1] = newName;
300
+ const newPath = pathParts.join('/');
301
+ await onRename(folderPath, newPath);
302
+
303
+ // Success - close the modal
304
+ this.setState({
305
+ isEditing: false,
306
+ isRenaming: false,
307
+ newName: folderName,
308
+ validationError: null
309
+ });
310
+ } catch (err) {
311
+ // Handle error
312
+ const errorMessage = err.message || t('collection.folderRename.errors.renameFailed', {
313
+ defaultValue: 'Failed to rename folder'
314
+ });
315
+ this.setState({
316
+ validationError: errorMessage,
317
+ isRenaming: false
318
+ });
319
+ }
320
+ };
321
+ render() {
322
+ const {
323
+ disabled,
324
+ affectedEntryCount,
325
+ t
326
+ } = this.props;
327
+ const {
328
+ isEditing,
329
+ newName,
330
+ validationError,
331
+ isValidating,
332
+ isRenaming
333
+ } = this.state;
334
+ const hasError = !!validationError;
335
+ const canConfirm = !hasError && !isValidating && !isRenaming && newName.trim() !== '';
336
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(RenameContainer, null, ___EmotionJSX(RenameButton, {
337
+ onClick: this.handleRenameClick,
338
+ disabled: disabled,
339
+ "aria-label": t('collection.folderRename.renameButton', {
340
+ defaultValue: 'Rename folder'
341
+ }),
342
+ title: t('collection.folderRename.renameButton', {
343
+ defaultValue: 'Rename folder'
344
+ })
345
+ }, "\u270F\uFE0F")), isEditing && ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Overlay, {
346
+ onClick: this.handleCancel,
347
+ "aria-hidden": "true"
348
+ }), ___EmotionJSX(RenameModal, {
349
+ ref: this.setModalRef,
350
+ role: "dialog",
351
+ "aria-modal": "true",
352
+ "aria-labelledby": "rename-modal-title"
353
+ }, ___EmotionJSX(ModalHeader, {
354
+ id: "rename-modal-title"
355
+ }, t('collection.folderRename.title', {
356
+ defaultValue: 'Rename Folder'
357
+ })), ___EmotionJSX(WarningBanner, null, ___EmotionJSX(WarningIcon, {
358
+ "aria-hidden": "true"
359
+ }, "\u26A0"), ___EmotionJSX("div", null, t('collection.folderRename.urlWarning', {
360
+ defaultValue: 'Renaming this folder will change the URLs for all entries within it. This may result in broken links and 404 errors if the old URLs are referenced elsewhere.'
361
+ }), affectedEntryCount > 0 && ___EmotionJSX(React.Fragment, null, ' ', t('collection.folderRename.affectedEntries', {
362
+ defaultValue: `This will affect ${affectedEntryCount} ${affectedEntryCount === 1 ? 'entry' : 'entries'}.`,
363
+ count: affectedEntryCount
364
+ })))), ___EmotionJSX(Label, {
365
+ htmlFor: "folder-rename-input"
366
+ }, t('collection.folderRename.newName', {
367
+ defaultValue: 'New Folder Name'
368
+ })), ___EmotionJSX(Input, {
369
+ id: "folder-rename-input",
370
+ type: "text",
371
+ value: newName,
372
+ onChange: this.handleInputChange,
373
+ onKeyDown: this.handleKeyDown,
374
+ disabled: isRenaming,
375
+ hasError: hasError,
376
+ autoFocus: true,
377
+ "aria-invalid": hasError,
378
+ "aria-describedby": hasError ? 'folder-rename-error' : isValidating ? 'folder-rename-validating' : ''
379
+ }), hasError && ___EmotionJSX(ErrorMessage, {
380
+ id: "folder-rename-error",
381
+ role: "alert"
382
+ }, validationError), isValidating && !hasError && ___EmotionJSX(HelpText, {
383
+ id: "folder-rename-validating"
384
+ }, t('collection.folderRename.validating', {
385
+ defaultValue: 'Validating...'
386
+ })), isRenaming && ___EmotionJSX(ProgressIndicator, null, ___EmotionJSX(Spinner, {
387
+ "aria-hidden": "true"
388
+ }), ___EmotionJSX("span", null, t('collection.folderRename.renaming', {
389
+ defaultValue: 'Renaming folder...'
390
+ }))), ___EmotionJSX(ButtonGroup, null, ___EmotionJSX(CancelButton, {
391
+ onClick: this.handleCancel,
392
+ disabled: isRenaming
393
+ }, t('collection.folderRename.cancel', {
394
+ defaultValue: 'Cancel'
395
+ })), ___EmotionJSX(ConfirmButton, {
396
+ onClick: this.handleConfirm,
397
+ disabled: !canConfirm
398
+ }, t('collection.folderRename.confirm', {
399
+ defaultValue: 'Rename'
400
+ }))))));
401
+ }
402
+ }
403
+ export default FolderRenameControl;