@projectcor/maia-components 2.11.103-4 → 2.11.103-5

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 (72) hide show
  1. package/lib/App.js +44 -19
  2. package/lib/components/atoms/MAIAInput/MAIAInput.js +1 -6
  3. package/lib/components/atoms/icons/index.js +1 -2
  4. package/lib/components/index.js +2 -1
  5. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +91 -4
  6. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +7 -46
  7. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +69 -308
  8. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +18 -28
  9. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +2 -9
  10. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +61 -69
  11. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +1 -5
  12. package/lib/components/molecules/ChatFooter/ChatFooter.js +2 -4
  13. package/lib/components/molecules/Sidebar/Sidebar.js +61 -104
  14. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +1 -16
  15. package/lib/components/molecules/Sidebar/Sidebar.styles.js +29 -30
  16. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +35 -6
  17. package/lib/components/organisms/ChatAI/ChatAI.js +40 -131
  18. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +543 -0
  19. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  20. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  21. package/lib/context/global-context.js +1 -3
  22. package/lib/dev/DevMaiaPage.js +30 -0
  23. package/lib/hooks/useAgentModel/useCreateAgent.js +61 -14
  24. package/lib/hooks/useAgentModel/useUpdateAgent.js +58 -11
  25. package/lib/hooks/useChatManager/useChatManager.js +438 -530
  26. package/lib/hooks/useChatMessages/useChatMessages.js +236 -427
  27. package/lib/hooks/useChats/useChats.js +4 -21
  28. package/lib/hooks/useEvent.js +2 -1
  29. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  30. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +521 -139
  31. package/lib/hooks/useStreamingMessage/index.js +3 -2
  32. package/lib/hooks/useStreamingMessage/streamingStore.js +69 -0
  33. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +17 -13
  34. package/lib/index.js +5 -2
  35. package/lib/lang/br/index.js +9 -11
  36. package/lib/lang/en/index.js +9 -11
  37. package/lib/lang/es/index.js +9 -11
  38. package/lib/lang/fr/index.js +10 -13
  39. package/lib/services/maia/Agents/connectors.js +250 -0
  40. package/lib/services/maia/Chats/getChatsByUserId.js +4 -6
  41. package/lib/services/maia/Chats/index.js +1 -3
  42. package/lib/store/chatsStore.types.js +1 -1
  43. package/lib/store/useChatsStore.js +12 -149
  44. package/lib/types/Chat.js +1 -1
  45. package/lib/types/agentModal.js +1 -1
  46. package/lib/utils/normalizeAgentConnectors.js +28 -3
  47. package/package.json +3 -3
  48. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -20
  49. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -20
  50. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  51. package/lib/components/atoms/icons/MaiaSparkleIcon.js +0 -75
  52. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +0 -66
  53. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +0 -55
  54. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +0 -2
  55. package/lib/hooks/useMinimizedPillBottomOffset.js +0 -97
  56. package/lib/services/maia/Chats/markSessionAsRead.js +0 -32
  57. package/lib/store/chatsSidebarOptimistic.js +0 -92
  58. package/lib/store/maiaMinimizedPersistence.js +0 -49
  59. package/lib/store/sessions/activeView.js +0 -22
  60. package/lib/store/sessions/index.js +0 -9
  61. package/lib/store/sessions/sessionHitlContext.js +0 -15
  62. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  63. package/lib/store/sessions/sessionNotifications.js +0 -110
  64. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  65. package/lib/store/sessions/sessionStreamManager.js +0 -576
  66. package/lib/store/sessions/sessionStreamingText.js +0 -80
  67. package/lib/store/sessions/sessions.types.js +0 -35
  68. package/lib/store/sessions/useSessionMeta.js +0 -39
  69. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  70. package/lib/store/sessions/useSessionsStore.js +0 -197
  71. package/lib/utils/formatUnreadCount.js +0 -6
  72. package/lib/utils/maiaHostOpen.js +0 -54
@@ -7,7 +7,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { useEffect, useRef, useState, useCallback, useMemo } from 'react';
8
8
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
9
9
  import { Cross } from '@projectcor/icons/lib/components/Cross';
10
- import { Status } from '@projectcor/icons/lib/components/Status';
11
10
  import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
12
11
  import { ChevronLeft } from '@projectcor/icons/lib/components/ChevronLeft';
13
12
  import { Plus } from '@projectcor/icons/lib/components/Plus';
@@ -21,7 +20,7 @@ import { MaiaChatLayoutSidebarIcon } from '../../../../atoms/icons/MaiaChatLayou
21
20
  import { MaiaChatLayoutFullscreenIcon } from '../../../../atoms/icons/MaiaChatLayoutFullscreenIcon';
22
21
  import { MaiaChatLayoutFloatingIcon } from '../../../../atoms/icons/MaiaChatLayoutFloatingIcon';
23
22
  import { ChatAIAgentOption } from '../ChatAiAgentOptions/ChatAiAgentOptions';
24
- import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHAddAgent, SCCAIMHCreateAgentButton, SCCAIMHCreateAgentButtonText, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow, SCCAIMHLayoutMenuRowIcon, SCCAIMHBackButton, SCCAIMHMinimizeIcon } from './ChatAiModalHeader.styles';
23
+ import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHAddAgent, SCCAIMHCreateAgentButton, SCCAIMHCreateAgentButtonText, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow, SCCAIMHLayoutMenuRowIcon, SCCAIMHBackButton } from './ChatAiModalHeader.styles';
25
24
  import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
26
25
  import { useUser } from '../../../../../context/cor-user';
27
26
  import { isMaiaCloneAgentsRoleBlocked } from '../../../../../constants/maiaTaskPanelAccess';
@@ -41,7 +40,6 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
41
40
  handleClose = _ref$handleClose === void 0 ? function () {
42
41
  return null;
43
42
  } : _ref$handleClose,
44
- handleMinimize = _ref.handleMinimize,
45
43
  _ref$agents = _ref.agents,
46
44
  agents = _ref$agents === void 0 ? [] : _ref$agents,
47
45
  _ref$hasError = _ref.hasError,
@@ -62,6 +60,8 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
62
60
  isMaiakerSection = _ref$isMaiakerSection === void 0 ? false : _ref$isMaiakerSection,
63
61
  _ref$hideAgentSelecto = _ref.hideAgentSelector,
64
62
  hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto,
63
+ _ref$hideControls = _ref.hideControls,
64
+ hideControls = _ref$hideControls === void 0 ? false : _ref$hideControls,
65
65
  onAgentSelected = _ref.onAgentSelected,
66
66
  _ref$showBackButton = _ref.showBackButton,
67
67
  showBackButton = _ref$showBackButton === void 0 ? false : _ref$showBackButton,
@@ -385,74 +385,66 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
385
385
  children: /*#__PURE__*/_jsx(SCCAIMHCreateAgentButtonText, {
386
386
  children: t('openAgentCreator')
387
387
  })
388
- }), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
389
- ref: layoutMenuRef,
390
- "data-no-drag": "true",
391
- children: [/*#__PURE__*/_jsx(IconButton, {
392
- buttonId: "btn-maia-layout-menu",
393
- handleClick: function handleClick() {
394
- if (!layoutMenuOpen) {
395
- amplitudEvent(EVENTS.aiChatOpenViewOptions);
396
- }
397
- setLayoutMenuOpen(function (prev) {
398
- return !prev;
399
- });
400
- },
401
- tooltip: t('layoutMenuTooltip'),
402
- disableTooltip: layoutMenuOpen,
403
- tooltipZIndex: tooltipZIndex,
404
- children: /*#__PURE__*/_jsx(MaiaChatLayoutMenuIcon, {})
405
- }), layoutMenuOpen ? /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuPanel, {
406
- role: "menu",
407
- children: [/*#__PURE__*/_jsxs(SCCAIMHLayoutMenuRow, {
408
- type: "button",
409
- $active: layoutMode === 'sidebar',
410
- onClick: function onClick() {
411
- return handlePickLayout('sidebar');
412
- },
413
- children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRowIcon, {
414
- "aria-hidden": true,
415
- children: /*#__PURE__*/_jsx(MaiaChatLayoutSidebarIcon, {})
416
- }), t('layoutSidebar')]
417
- }), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuRow, {
418
- type: "button",
419
- $active: layoutMode === 'fullscreen',
420
- onClick: function onClick() {
421
- return handlePickLayout('fullscreen');
422
- },
423
- children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRowIcon, {
424
- "aria-hidden": true,
425
- children: /*#__PURE__*/_jsx(MaiaChatLayoutFullscreenIcon, {})
426
- }), t('layoutFullscreen')]
427
- }), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuRow, {
428
- type: "button",
429
- $active: layoutMode === 'floating',
430
- onClick: function onClick() {
431
- return handlePickLayout('floating');
388
+ }), !hideControls && /*#__PURE__*/_jsxs(_Fragment, {
389
+ children: [/*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
390
+ ref: layoutMenuRef,
391
+ "data-no-drag": "true",
392
+ children: [/*#__PURE__*/_jsx(IconButton, {
393
+ buttonId: "btn-maia-layout-menu",
394
+ handleClick: function handleClick() {
395
+ if (!layoutMenuOpen) {
396
+ amplitudEvent(EVENTS.aiChatOpenViewOptions);
397
+ }
398
+ setLayoutMenuOpen(function (prev) {
399
+ return !prev;
400
+ });
432
401
  },
433
- children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRowIcon, {
434
- "aria-hidden": true,
435
- children: /*#__PURE__*/_jsx(MaiaChatLayoutFloatingIcon, {})
436
- }), t('layoutFloating')]
437
- })]
438
- }) : null]
439
- }), handleMinimize ? /*#__PURE__*/_jsx(IconButton, {
440
- handleClick: handleMinimize,
441
- tooltip: t('globals.minimize'),
442
- tooltipZIndex: tooltipZIndex,
443
- children: /*#__PURE__*/_jsx(SCCAIMHMinimizeIcon, {
444
- children: /*#__PURE__*/_jsx(Status, {
445
- width: 24,
446
- height: 24
447
- })
448
- })
449
- }) : null, /*#__PURE__*/_jsx(IconButton, {
450
- handleClick: handleClose,
451
- tooltip: t('globals.close'),
452
- tooltipZIndex: tooltipZIndex,
453
- children: /*#__PURE__*/_jsx(Cross, {})
402
+ tooltip: t('layoutMenuTooltip'),
403
+ disableTooltip: layoutMenuOpen,
404
+ tooltipZIndex: tooltipZIndex,
405
+ children: /*#__PURE__*/_jsx(MaiaChatLayoutMenuIcon, {})
406
+ }), layoutMenuOpen ? /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuPanel, {
407
+ role: "menu",
408
+ children: [/*#__PURE__*/_jsxs(SCCAIMHLayoutMenuRow, {
409
+ type: "button",
410
+ $active: layoutMode === 'sidebar',
411
+ onClick: function onClick() {
412
+ return handlePickLayout('sidebar');
413
+ },
414
+ children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRowIcon, {
415
+ "aria-hidden": true,
416
+ children: /*#__PURE__*/_jsx(MaiaChatLayoutSidebarIcon, {})
417
+ }), t('layoutSidebar')]
418
+ }), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuRow, {
419
+ type: "button",
420
+ $active: layoutMode === 'fullscreen',
421
+ onClick: function onClick() {
422
+ return handlePickLayout('fullscreen');
423
+ },
424
+ children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRowIcon, {
425
+ "aria-hidden": true,
426
+ children: /*#__PURE__*/_jsx(MaiaChatLayoutFullscreenIcon, {})
427
+ }), t('layoutFullscreen')]
428
+ }), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuRow, {
429
+ type: "button",
430
+ $active: layoutMode === 'floating',
431
+ onClick: function onClick() {
432
+ return handlePickLayout('floating');
433
+ },
434
+ children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRowIcon, {
435
+ "aria-hidden": true,
436
+ children: /*#__PURE__*/_jsx(MaiaChatLayoutFloatingIcon, {})
437
+ }), t('layoutFloating')]
438
+ })]
439
+ }) : null]
440
+ }), /*#__PURE__*/_jsx(IconButton, {
441
+ handleClick: handleClose,
442
+ tooltip: t('globals.close'),
443
+ tooltipZIndex: tooltipZIndex,
444
+ children: /*#__PURE__*/_jsx(Cross, {})
445
+ })]
454
446
  })]
455
447
  })]
456
448
  });
457
449
  };
458
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIlN0YXR1cyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIiwiTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiIsIk1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJTQ0NBSU1ITW9kYWwiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsIlNDQ0FJTUhXcmFwcGVyIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiU0NDQUlNSEFkZEFnZW50IiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIlNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiIsIlNDQ0FJTUhCYWNrQnV0dG9uIiwiU0NDQUlNSE1pbmltaXplSWNvbiIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlVXNlciIsImlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQiLCJMb2FkZXIiLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQ2hhdEFJTW9kYWxIZWFkZXIiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfbG9jYWxBZ2VudHMkbmFtZSIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJfcmVmJGRyYWdnYWJsZSIsImRyYWdnYWJsZSIsIm9uRHJhZ1N0YXJ0Iiwib25EcmFnTW92ZSIsIm9uRHJhZ0VuZCIsIl9yZWYkaGFuZGxlQ2xvc2UiLCJoYW5kbGVDbG9zZSIsImhhbmRsZU1pbmltaXplIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRpc015QWdlbnRzU2VjdGlvIiwiaXNNeUFnZW50c1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfcmVmJHNob3dCYWNrQnV0dG9uIiwic2hvd0JhY2tCdXR0b24iLCJfcmVmJG9uQmFjayIsIm9uQmFjayIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwiY2hhdEFJIiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwic2VjdGlvbiIsInRvb2x0aXBaSW5kZXgiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwibGF5b3V0TWVudVJlZiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibGF5b3V0TWVudU9wZW4iLCJzZXRMYXlvdXRNZW51T3BlbiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcEFnZW50Iiwic2hvd1Rvb2x0aXAiLCJhZ2VudHNSZWYiLCJpc01haWFBZ2VudCIsImFnZW50SXRlbSIsInR5cGUiLCJhZ2VudHNGb3JTZWxlY3RvciIsImZpbHRlciIsImVudGl0eSIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlQWdlbnQiLCJjcmVhdGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwic2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uIiwiaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiaXNPcGVuIiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiaXNfbGVnYWN5X2NvbnRleHQiLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsInNlbGVjdG9ySWNvbiIsImVtb2ppIiwic2VsZWN0b3JMYWJlbCIsIm5zIiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJhaUNoYXRBZ2VudFNlbGVjdCIsImFnZW50X3R5cGUiLCJuZWVkc0VudGl0eSIsImhhbmRsZUV4cGFuZE1vZGFsIiwiYWlDaGF0T3BlbkFnZW50U2VsZWN0IiwicHJldiIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwidGFyZ2V0IiwiY29udGFpbnMiLCJoYW5kbGVQaWNrTGF5b3V0IiwibW9kZSIsInByb2plY3RSZXN1bWVFeHBhbmQiLCJleHBhbmRlZCIsImFpQ2hhdFNlbGVjdFZpZXdPcHRpb25zIiwiY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsInJlbmRlck1vZGFsIiwicmVmIiwib25DbGljayIsImxlbmd0aCIsImNoaWxkcmVuIiwiX29iamVjdFNwcmVhZCIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsInBsYWNlbWVudCIsInpJbmRleCIsImlzQWdlbnREZWxldGVkIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIm1haWFBZ2VudHMiLCJtYXAiLCJtYWlhQWdlbnQiLCJpbmRleCIsImlzU2VsZWN0ZWQiLCJpc01haWEiLCJvbkZhdm9yaXRlVG9nZ2xlIiwiY29uY2F0Iiwic29tZSIsImNvbXBhbnkiLCJhZ2VudHNDb3VudCIsInNpemUiLCJzaG91bGRSZW5kZXJTZWxlY3RvciIsIiRoYXNFcnJvciIsIiRsb2FkaW5nIiwiJGhhc0FnZW50cyIsIm9uUG9pbnRlckRvd24iLCJvblBvaW50ZXJNb3ZlIiwib25Qb2ludGVyVXAiLCJvblBvaW50ZXJDYW5jZWwiLCJvbkxvc3RQb2ludGVyQ2FwdHVyZSIsImN1cnNvciIsInRvdWNoQWN0aW9uIiwiYnV0dG9uSWQiLCJoYW5kbGVDbGljayIsImFpQ2hhdE9wZW5WaWV3T3B0aW9ucyIsInRvb2x0aXAiLCJkaXNhYmxlVG9vbHRpcCIsInJvbGUiLCIkYWN0aXZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCBQb2ludGVyRXZlbnQgYXMgUmVhY3RQb2ludGVyRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9TdGF0dXMnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ2hldnJvbkxlZnQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uTGVmdCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24sIE1haWFDaGF0TGF5b3V0TWVudUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0U2lkZWJhckljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dFNpZGViYXJJY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zL01haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24nXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zL01haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uJ1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuLi9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUlNSE1vZGFsLFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1IV3JhcHBlcixcbiAgU0NDQUlNSFdyYXBwZXJCdXR0b24sXG4gIFNDQ0FJTUhXcmFwcGVySWNvbixcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUsXG4gIFNDQ0FJTUhBZGRBZ2VudCxcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uLFxuICBTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0LFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhMb2FkZXJXcmFwcGVyLFxuICBTQ0NBSU1IUGx1c0ljb25XcmFwcGVyLFxuICBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvcixcbiAgU0NDQUlNSExheW91dE1lbnVQYW5lbCxcbiAgU0NDQUlNSExheW91dE1lbnVSb3csXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbixcbiAgU0NDQUlNSEJhY2tCdXR0b24sXG4gIFNDQ0FJTUhNaW5pbWl6ZUljb24sXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHR5cGUgeyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB9IGZyb20gJy4uLy4uL2xheW91dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhVGFza1BhbmVsQWNjZXNzJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGRyYWdnYWJsZSA9IGZhbHNlLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnTW92ZSxcbiAgb25EcmFnRW5kLFxuICBoYW5kbGVDbG9zZSA9ICgpID0+IG51bGwsXG4gIGhhbmRsZU1pbmltaXplLFxuICBhZ2VudHMgPSBbXSxcbiAgaGFzRXJyb3IgPSBmYWxzZSxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZSA9IGZhbHNlLFxuICBoYXNNb3JlID0gZmFsc2UsXG4gIGhhbmRsZVJlc2V0Q2hhdCxcbiAgb25BZ2VudFVwZGF0ZSxcbiAgbG9hZE1vcmVBZ2VudHMsXG4gIHNvcnRBZ2VudHNMaXN0LFxuICBpc015QWdlbnRzU2VjdGlvbiA9IGZhbHNlLFxuICBpc01haWFrZXJTZWN0aW9uID0gZmFsc2UsXG4gIGhpZGVBZ2VudFNlbGVjdG9yID0gZmFsc2UsXG4gIG9uQWdlbnRTZWxlY3RlZCxcbiAgc2hvd0JhY2tCdXR0b24gPSBmYWxzZSxcbiAgb25CYWNrID0gKCkgPT4gbnVsbCxcbn06IHtcbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgb25MYXlvdXRNb2RlQ2hhbmdlOiAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHZvaWRcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZHJhZ2dhYmxlPzogYm9vbGVhblxuICBvbkRyYWdTdGFydD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ01vdmU/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdFbmQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgaGFuZGxlTWluaW1pemU/OiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBoYXNFcnJvcjogYm9vbGVhblxuICBsb2FkaW5nOiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBoYW5kbGVSZXNldENoYXQ6ICgpID0+IHZvaWRcbiAgb25BZ2VudFVwZGF0ZT86ICh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBzb3J0QWdlbnRzTGlzdD86ICgpID0+IHZvaWRcbiAgLyoqIFNlY2Npw7NuIFwiTWlzIGFnZW50ZXNcIjogc2kgbm8gaGF5IGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs24gKi9cbiAgaXNNeUFnZW50c1NlY3Rpb24/OiBib29sZWFuXG4gIC8qKiBPY3VsdGEgZWwgY2hpcCBkZSBtb2RlbG8gTExNIChwLiBlai4gZW4gTWlzIGFnZW50ZXMgLyBNaXMgc2tpbGxzKSAqL1xuICBoaWRlQWdlbnRTZWxlY3Rvcj86IGJvb2xlYW5cbiAgLyoqIFNlY2Npw7NuIFwiQ3JlYWRvciBkZSBhZ2VudGVzXCIgKE1haWFrZXIpOiBoYWJpbGl0YSBlbCBib3TDs24gXCJDcmVhciBhZ2VudGVcIiBkZWwgaGVhZGVyICovXG4gIGlzTWFpYWtlclNlY3Rpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZSBpbnZvY2EgZGVzcHXDqXMgZGVsIHJlc2V0IGN1YW5kbyBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIE5PIHJlcXVpZXJlIHNlbGVjY2nDs25cbiAgICogZGUgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpLiBQZXJtaXRlIHJlc29sdmVyIGBHRVQgL3YyL3Nlc3Npb25zL2FnZW50L3tpZH1gXG4gICAqIHkgbmF2ZWdhciBhIHVuYSBjb252ZXJzYWNpw7NuIGV4aXN0ZW50ZSBzaSBsYSBoYXkuXG4gICAqL1xuICBvbkFnZW50U2VsZWN0ZWQ/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx1bmtub3duPlxuICBzaG93QmFja0J1dHRvbj86IGJvb2xlYW5cbiAgb25CYWNrPzogKCkgPT4gdm9pZFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudCwgU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgLy8gRW4gc2VjdGlvbiAndGFzaycgZWwgbW9kYWwgZGUgTWFpYSBzZSBlbGV2YSBwb3IgZW5jaW1hIGRlbCB0YXNrIHBhbmVsICh6LWluZGV4IDk4MDAwMDEpLlxuICAvLyBMb3MgdG9vbHRpcHMgc2UgbW9udGFuIGVuIHBvcnRhbCBjb24gei1pbmRleCAxNTAwIHBvciBkZWZlY3RvLCBhc8OtIHF1ZSBxdWVkYXLDrWFuIGRldHLDoXMuXG4gIC8vIFN1Ymltb3Mgc3Ugei1pbmRleCBzw7NsbyBlbiBlc3RlIGNhc28gcGFyYSBxdWUgc2UgdmVhbiBwb3IgZW5jaW1hIGRlbCBtb2RhbC5cbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaXNNYWlhQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJdGVtOiBBZ2VudCkgPT4gYWdlbnRJdGVtLnR5cGUgPT09ICdvcmNoZXN0cmF0b3InLCBbXSlcbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKFxuICAgICgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGlzTWFpYUFnZW50KGFnZW50SXRlbSkgfHwgYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLFxuICAgIFthZ2VudHMsIGlzTWFpYUFnZW50XVxuICApXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gPSBjYW5DcmVhdGVBZ2VudCAmJiAoaXNNeUFnZW50c1NlY3Rpb24gfHwgaXNNYWlha2VyU2VjdGlvbilcblxuICBjb25zdCBoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfSwgW2FtcGxpdHVkRXZlbnRdKVxuXG4gIC8vIE1hbmVqYXIgc2Nyb2xsIGluZmluaXRvIHBhcmEgY2FyZ2FyIG3DoXMgYWdlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU29sbyBjdWFuZG8gZWwgZHJvcGRvd24gZXN0w6kgYWJpZXJ0b1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghYWdlbnRzUmVmLmN1cnJlbnQgfHwgIWxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlIHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBjbGllbnRIZWlnaHRcblxuICAgICAgLy8gQ2FyZ2FyIG3DoXMgKDUwcHggYW50ZXMpXG4gICAgICBpZiAoZGlzdGFuY2VGcm9tQm90dG9tIDwgNTApIHtcbiAgICAgICAgbG9hZE1vcmVBZ2VudHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGF5IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSByZW5kZXJpemFkb1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9LCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbG9hZE1vcmVBZ2VudHMsIGhhc01vcmUsIGxvYWRpbmdNb3JlXSlcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvbiB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIC8vIEVuICdNaXMgYWdlbnRlcycgc2luIGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs25cbiAgLy8gZW4gbHVnYXIgZGVsIGFnZW50ZSwgcGFyYSBxdWUgZWwgdXN1YXJpbyBwdWVkYSBhYnJpciBlbCBkcm9wZG93biB5IGVsZWdpciB1bm8uXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VsZWN0b3JMYWJlbCA9XG4gICAgbG9jYWxBZ2VudHM/Lm5hbWUgPz8gKGlzTXlBZ2VudHNTZWN0aW9uID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KSA6ICcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyAoXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsQWdlbnRzPy5lbW9qaVxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICApfXsnICd9XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19sZWdhY3lfY29udGV4dFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge3NlbGVjdG9ySWNvbn0ge3NlbGVjdG9yTGFiZWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWlhQWdlbnRzID0gYWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKGlzTWFpYUFnZW50KVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW1haWFBZ2VudHMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bWFpYUFnZW50cy5tYXAoKG1haWFBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHttYWlhQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17bWFpYUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IG1haWFBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgaXNNYWlhQWdlbnQoYWdlbnQpIHx8XG4gICAgICAgICAgICAgICAgICAgIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHthZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXthZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBhZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAge2xvYWRpbmdNb3JlICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgICB7dXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJlxuICAgICAgICAgICAgICAgICFpc015QWdlbnRzU2VjdGlvbiAmJlxuICAgICAgICAgICAgICAgICFpc01haWFrZXJTZWN0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IQWRkQWdlbnRcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwid2hpdGVcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NyZWF0ZUFnZW50Jyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZGRBZ2VudD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNob3VsZFJlbmRlclNlbGVjdG9yID1cbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgICFoaWRlQWdlbnRTZWxlY3RvciAmJlxuICAgICghIXNlbGVjdGVkQWdlbnQgfHwgaXNNeUFnZW50c1NlY3Rpb24pICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbFxuICAgICAgJGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICRsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofVxuICAgICAgb25Qb2ludGVyRG93bj17ZHJhZ2dhYmxlID8gb25EcmFnU3RhcnQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJNb3ZlPXtkcmFnZ2FibGUgPyBvbkRyYWdNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyVXA9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlckNhbmNlbD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Mb3N0UG9pbnRlckNhcHR1cmU9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIHN0eWxlPXt7IGN1cnNvcjogZHJhZ2dhYmxlID8gJ2dyYWInIDogdW5kZWZpbmVkLCB0b3VjaEFjdGlvbjogZHJhZ2dhYmxlID8gJ21hbmlwdWxhdGlvbicgOiB1bmRlZmluZWQgfX1cbiAgICA+XG4gICAgICB7c2hvdWxkUmVuZGVyU2VsZWN0b3IgPyByZW5kZXJNb2RhbCgpIDogPGRpdiAvPn1cbiAgICAgIDxTQ0NBSU1IV3JhcHBlckJ1dHRvbiBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgIHtzaG93QmFja0J1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhCYWNrQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgb25CYWNrKClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENoZXZyb25MZWZ0IHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMzQzNDMzXCIgLz5cbiAgICAgICAgICAgIHt0KCdiYWNrJyl9XG4gICAgICAgICAgPC9TQ0NBSU1IQmFja0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAge3Nob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWx9PlxuICAgICAgICAgICAgPFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQ+e3QoJ29wZW5BZ2VudENyZWF0b3InKX08L1NDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQ+XG4gICAgICAgICAgPC9TQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciByZWY9e2xheW91dE1lbnVSZWZ9IGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uSWQ9XCJidG4tbWFpYS1sYXlvdXQtbWVudVwiXG4gICAgICAgICAgICBoYW5kbGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlblZpZXdPcHRpb25zKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNldExheW91dE1lbnVPcGVuKHByZXYgPT4gIXByZXYpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbGF5b3V0TWVudVRvb2x0aXAnKX1cbiAgICAgICAgICAgIGRpc2FibGVUb29sdGlwPXtsYXlvdXRNZW51T3Blbn1cbiAgICAgICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0TWVudUljb24gLz5cbiAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAge2xheW91dE1lbnVPcGVuID8gKFxuICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ3NpZGViYXInfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ3NpZGViYXInKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRTaWRlYmFyJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmdWxsc2NyZWVuJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Zsb2F0aW5nJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZsb2F0aW5nJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51UGFuZWw+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVBbmNob3I+XG4gICAgICAgIHtoYW5kbGVNaW5pbWl6ZSA/IChcbiAgICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlTWluaW1pemV9IHRvb2x0aXA9e3QoJ2dsb2JhbHMubWluaW1pemUnKX0gdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICA8U0NDQUlNSE1pbmltaXplSWNvbj5cbiAgICAgICAgICAgICAgPFN0YXR1cyB3aWR0aD17MjR9IGhlaWdodD17MjR9IC8+XG4gICAgICAgICAgICA8L1NDQ0FJTUhNaW5pbWl6ZUljb24+XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZUNsb3NlfSB0b29sdGlwPXt0KCdnbG9iYWxzLmNsb3NlJyl9IHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgIDxDcm9zcyAvPlxuICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgIDwvU0NDQUlNSE1vZGFsPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQTJDLE9BQU87QUFDNUcsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLE1BQU0sUUFBUSx5Q0FBeUM7QUFDaEUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsUUFBUSxRQUFRLGlDQUFpQztBQUMxRCxTQUFTQyxnQkFBZ0IsUUFBUSx1Q0FBdUM7QUFDeEUsU0FBU0MsaUJBQWlCLFFBQVEsZ0NBQWdDO0FBQ2xFLFNBQVNDLFVBQVUsUUFBUSw4QkFBOEI7QUFDekQsU0FBU0MsUUFBUSxFQUFFQyxzQkFBc0IsUUFBUSx5QkFBeUI7QUFDMUUsU0FBU0MseUJBQXlCLFFBQVEsbURBQW1EO0FBQzdGLFNBQVNDLDRCQUE0QixRQUFRLHNEQUFzRDtBQUNuRyxTQUFTQywwQkFBMEIsUUFBUSxvREFBb0Q7QUFDL0YsU0FBU0MsaUJBQWlCLFFBQVEsMENB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
450
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIiwiTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiIsIk1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJTQ0NBSU1ITW9kYWwiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsIlNDQ0FJTUhXcmFwcGVyIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiU0NDQUlNSEFkZEFnZW50IiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIlNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiIsIlNDQ0FJTUhCYWNrQnV0dG9uIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VVc2VyIiwiaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsIkxvYWRlciIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl9sb2NhbEFnZW50cyRuYW1lIiwibGF5b3V0TW9kZSIsIm9uTGF5b3V0TW9kZUNoYW5nZSIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRpc015QWdlbnRzU2VjdGlvIiwiaXNNeUFnZW50c1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJfcmVmJGhpZGVDb250cm9scyIsImhpZGVDb250cm9scyIsIm9uQWdlbnRTZWxlY3RlZCIsIl9yZWYkc2hvd0JhY2tCdXR0b24iLCJzaG93QmFja0J1dHRvbiIsIl9yZWYkb25CYWNrIiwib25CYWNrIiwiX3VzZVRyYW5zbGF0aW9uIiwiYWJtQWdlbnQiLCJjaGF0QUkiLCJ0IiwidXNlciIsImFtcGxpdHVkRXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdGVkQWdlbnQiLCJhZ2VudCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsInNldFRhc2siLCJzZWN0aW9uIiwidG9vbHRpcFpJbmRleCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzRXhwYW5kZWQiLCJzZXRJc0V4cGFuZGVkIiwidGV4dFJlZkFnZW50IiwiZHJvcGRvd25SZWYiLCJsYXlvdXRNZW51UmVmIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsYXlvdXRNZW51T3BlbiIsInNldExheW91dE1lbnVPcGVuIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwibmFtZSIsInNob3dUb29sdGlwQWdlbnQiLCJzaG93VG9vbHRpcCIsImFnZW50c1JlZiIsImlzTWFpYUFnZW50IiwiYWdlbnRJdGVtIiwidHlwZSIsImFnZW50c0ZvclNlbGVjdG9yIiwiZmlsdGVyIiwiZW50aXR5IiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudCIsImNyZWF0ZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24iLCJoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbCIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJpc09wZW4iLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJpc19sZWdhY3lfY29udGV4dCIsImZyb21MaXN0IiwiZmluZCIsImlkIiwic2VsZWN0b3JJY29uIiwiZW1vamkiLCJzZWxlY3RvckxhYmVsIiwibnMiLCJoYW5kbGVTZWxlY3RBZ2VudCIsImFpQ2hhdEFnZW50U2VsZWN0IiwiYWdlbnRfdHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImhhbmRsZVBpY2tMYXlvdXQiLCJtb2RlIiwicHJvamVjdFJlc3VtZUV4cGFuZCIsImV4cGFuZGVkIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGxhY2VtZW50IiwiekluZGV4IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwibWFpYUFnZW50cyIsIm1hcCIsIm1haWFBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJidXR0b25JZCIsImhhbmRsZUNsaWNrIiwiYWlDaGF0T3BlblZpZXdPcHRpb25zIiwidG9vbHRpcCIsImRpc2FibGVUb29sdGlwIiwicm9sZSIsIiRhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIFBvaW50ZXJFdmVudCBhcyBSZWFjdFBvaW50ZXJFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IENoZXZyb25Eb3duIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkRvd24nXG5pbXBvcnQgeyBDaGV2cm9uTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25MZWZ0J1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BsdXMnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0ljb25CdXR0b24nXG5pbXBvcnQgeyBNQUlBSWNvbiwgTWFpYUNoYXRMYXlvdXRNZW51SWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zL01haWFDaGF0TGF5b3V0U2lkZWJhckljb24nXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbidcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24nXG5pbXBvcnQgeyBDaGF0QUlBZ2VudE9wdGlvbiB9IGZyb20gJy4uL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMnXG5pbXBvcnQge1xuICBTQ0NBSU1ITW9kYWwsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50LFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUhXcmFwcGVyLFxuICBTQ0NBSU1IV3JhcHBlckJ1dHRvbixcbiAgU0NDQUlNSFdyYXBwZXJJY29uLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSxcbiAgU0NDQUlNSEFkZEFnZW50LFxuICBTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24sXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQsXG4gIFNDQ0FJTUhEaXZpZGVyLFxuICBTQ0NBSU1IQWdlbnRzTGlzdCxcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJTUhQbHVzSWNvbldyYXBwZXIsXG4gIFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yLFxuICBTQ0NBSU1ITGF5b3V0TWVudVBhbmVsLFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvdyxcbiAgU0NDQUlNSExheW91dE1lbnVSb3dJY29uLFxuICBTQ0NBSU1IQmFja0J1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlNb2RhbEhlYWRlciA9ICh7XG4gIGxheW91dE1vZGUsXG4gIG9uTGF5b3V0TW9kZUNoYW5nZSxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaXNNeUFnZW50c1NlY3Rpb24gPSBmYWxzZSxcbiAgaXNNYWlha2VyU2VjdGlvbiA9IGZhbHNlLFxuICBoaWRlQWdlbnRTZWxlY3RvciA9IGZhbHNlLFxuICBoaWRlQ29udHJvbHMgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxuICBzaG93QmFja0J1dHRvbiA9IGZhbHNlLFxuICBvbkJhY2sgPSAoKSA9PiBudWxsLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIC8qKiBTZWNjacOzbiBcIk1pcyBhZ2VudGVzXCI6IHNpIG5vIGhheSBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuICovXG4gIGlzTXlBZ2VudHNTZWN0aW9uPzogYm9vbGVhblxuICAvKiogT2N1bHRhIGVsIGNoaXAgZGUgbW9kZWxvIExMTSAocC4gZWouIGVuIE1pcyBhZ2VudGVzIC8gTWlzIHNraWxscykgKi9cbiAgaGlkZUFnZW50U2VsZWN0b3I/OiBib29sZWFuXG4gIC8qKiBPY3VsdGEgbG9zIGJvdG9uZXMgZGUgbGF5b3V0IHkgY2llcnJlIChtb2RvIHDDoWdpbmEgY29tcGxldGEpICovXG4gIGhpZGVDb250cm9scz86IGJvb2xlYW5cbiAgLyoqIFNlY2Npw7NuIFwiQ3JlYWRvciBkZSBhZ2VudGVzXCIgKE1haWFrZXIpOiBoYWJpbGl0YSBlbCBib3TDs24gXCJDcmVhciBhZ2VudGVcIiBkZWwgaGVhZGVyICovXG4gIGlzTWFpYWtlclNlY3Rpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZSBpbnZvY2EgZGVzcHXDqXMgZGVsIHJlc2V0IGN1YW5kbyBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIE5PIHJlcXVpZXJlIHNlbGVjY2nDs25cbiAgICogZGUgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpLiBQZXJtaXRlIHJlc29sdmVyIGBHRVQgL3YyL3Nlc3Npb25zL2FnZW50L3tpZH1gXG4gICAqIHkgbmF2ZWdhciBhIHVuYSBjb252ZXJzYWNpw7NuIGV4aXN0ZW50ZSBzaSBsYSBoYXkuXG4gICAqL1xuICBvbkFnZW50U2VsZWN0ZWQ/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx1bmtub3duPlxuICBzaG93QmFja0J1dHRvbj86IGJvb2xlYW5cbiAgb25CYWNrPzogKCkgPT4gdm9pZFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudCwgU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgLy8gRW4gc2VjdGlvbiAndGFzaycgZWwgbW9kYWwgZGUgTWFpYSBzZSBlbGV2YSBwb3IgZW5jaW1hIGRlbCB0YXNrIHBhbmVsICh6LWluZGV4IDk4MDAwMDEpLlxuICAvLyBMb3MgdG9vbHRpcHMgc2UgbW9udGFuIGVuIHBvcnRhbCBjb24gei1pbmRleCAxNTAwIHBvciBkZWZlY3RvLCBhc8OtIHF1ZSBxdWVkYXLDrWFuIGRldHLDoXMuXG4gIC8vIFN1Ymltb3Mgc3Ugei1pbmRleCBzw7NsbyBlbiBlc3RlIGNhc28gcGFyYSBxdWUgc2UgdmVhbiBwb3IgZW5jaW1hIGRlbCBtb2RhbC5cbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaXNNYWlhQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJdGVtOiBBZ2VudCkgPT4gYWdlbnRJdGVtLnR5cGUgPT09ICdvcmNoZXN0cmF0b3InLCBbXSlcbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKFxuICAgICgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGlzTWFpYUFnZW50KGFnZW50SXRlbSkgfHwgYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLFxuICAgIFthZ2VudHMsIGlzTWFpYUFnZW50XVxuICApXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gPSBjYW5DcmVhdGVBZ2VudCAmJiAoaXNNeUFnZW50c1NlY3Rpb24gfHwgaXNNYWlha2VyU2VjdGlvbilcblxuICBjb25zdCBoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfSwgW2FtcGxpdHVkRXZlbnRdKVxuXG4gIC8vIE1hbmVqYXIgc2Nyb2xsIGluZmluaXRvIHBhcmEgY2FyZ2FyIG3DoXMgYWdlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU29sbyBjdWFuZG8gZWwgZHJvcGRvd24gZXN0w6kgYWJpZXJ0b1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghYWdlbnRzUmVmLmN1cnJlbnQgfHwgIWxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlIHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBjbGllbnRIZWlnaHRcblxuICAgICAgLy8gQ2FyZ2FyIG3DoXMgKDUwcHggYW50ZXMpXG4gICAgICBpZiAoZGlzdGFuY2VGcm9tQm90dG9tIDwgNTApIHtcbiAgICAgICAgbG9hZE1vcmVBZ2VudHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGF5IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSByZW5kZXJpemFkb1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9LCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbG9hZE1vcmVBZ2VudHMsIGhhc01vcmUsIGxvYWRpbmdNb3JlXSlcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvbiB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIC8vIEVuICdNaXMgYWdlbnRlcycgc2luIGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs25cbiAgLy8gZW4gbHVnYXIgZGVsIGFnZW50ZSwgcGFyYSBxdWUgZWwgdXN1YXJpbyBwdWVkYSBhYnJpciBlbCBkcm9wZG93biB5IGVsZWdpciB1bm8uXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VsZWN0b3JMYWJlbCA9XG4gICAgbG9jYWxBZ2VudHM/Lm5hbWUgPz8gKGlzTXlBZ2VudHNTZWN0aW9uID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KSA6ICcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyAoXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsQWdlbnRzPy5lbW9qaVxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICApfXsnICd9XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19sZWdhY3lfY29udGV4dFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge3NlbGVjdG9ySWNvbn0ge3NlbGVjdG9yTGFiZWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWlhQWdlbnRzID0gYWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKGlzTWFpYUFnZW50KVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW1haWFBZ2VudHMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bWFpYUFnZW50cy5tYXAoKG1haWFBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHttYWlhQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17bWFpYUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IG1haWFBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgaXNNYWlhQWdlbnQoYWdlbnQpIHx8XG4gICAgICAgICAgICAgICAgICAgIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHthZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXthZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBhZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAge2xvYWRpbmdNb3JlICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgICB7dXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJlxuICAgICAgICAgICAgICAgICFpc015QWdlbnRzU2VjdGlvbiAmJlxuICAgICAgICAgICAgICAgICFpc01haWFrZXJTZWN0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IQWRkQWdlbnRcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwid2hpdGVcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NyZWF0ZUFnZW50Jyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZGRBZ2VudD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNob3VsZFJlbmRlclNlbGVjdG9yID1cbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgICFoaWRlQWdlbnRTZWxlY3RvciAmJlxuICAgICghIXNlbGVjdGVkQWdlbnQgfHwgaXNNeUFnZW50c1NlY3Rpb24pICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbFxuICAgICAgJGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICRsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofVxuICAgICAgb25Qb2ludGVyRG93bj17ZHJhZ2dhYmxlID8gb25EcmFnU3RhcnQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJNb3ZlPXtkcmFnZ2FibGUgPyBvbkRyYWdNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyVXA9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlckNhbmNlbD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Mb3N0UG9pbnRlckNhcHR1cmU9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIHN0eWxlPXt7IGN1cnNvcjogZHJhZ2dhYmxlID8gJ2dyYWInIDogdW5kZWZpbmVkLCB0b3VjaEFjdGlvbjogZHJhZ2dhYmxlID8gJ21hbmlwdWxhdGlvbicgOiB1bmRlZmluZWQgfX1cbiAgICA+XG4gICAgICB7c2hvdWxkUmVuZGVyU2VsZWN0b3IgPyByZW5kZXJNb2RhbCgpIDogPGRpdiAvPn1cbiAgICAgIDxTQ0NBSU1IV3JhcHBlckJ1dHRvbiBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgIHtzaG93QmFja0J1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhCYWNrQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgb25CYWNrKClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENoZXZyb25MZWZ0IHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMzQzNDMzXCIgLz5cbiAgICAgICAgICAgIHt0KCdiYWNrJyl9XG4gICAgICAgICAgPC9TQ0NBSU1IQmFja0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAge3Nob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWx9PlxuICAgICAgICAgICAgPFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQ+e3QoJ29wZW5BZ2VudENyZWF0b3InKX08L1NDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQ+XG4gICAgICAgICAgPC9TQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIHshaGlkZUNvbnRyb2xzICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5WaWV3T3B0aW9ucylcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHNldExheW91dE1lbnVPcGVuKHByZXYgPT4gIXByZXYpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgICAgIGRpc2FibGVUb29sdGlwPXtsYXlvdXRNZW51T3Blbn1cbiAgICAgICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0TWVudUljb24gLz5cbiAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ3NpZGViYXInfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdzaWRlYmFyJyl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0U2lkZWJhckljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRTaWRlYmFyJyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZnVsbHNjcmVlbid9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2xheW91dEZ1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Zsb2F0aW5nJyl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVBbmNob3I+XG4gICAgICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0gdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgIDxDcm9zcyAvPlxuICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlckJ1dHRvbj5cbiAgICA8L1NDQ0FJTUhNb2RhbD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUEyQyxPQUFPO0FBQzVHLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsSUFBSSxRQUFRLHVDQUF1QztBQUM1RCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBZ0M7QUFDbEUsU0FBU0MsVUFBVSxRQUFRLDhCQUE4QjtBQUN6RCxTQUFTQyxRQUFRLEVBQUVDLHNCQUFzQixRQUFRLHlCQUF5QjtBQUMxRSxTQUFTQyx5QkFBeUIsUUFBUSxtREFBbUQ7QUFDN0YsU0FBU0MsNEJBQTRCLFFBQVEsc0RBQXNEO0FBQ25HLFNBQVNDLDBCQUEwQixRQUFRLG9EQUFvRDtBQUMvRixTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFr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
@@ -101,8 +101,4 @@ export var SCCAIMHPlusIconWrapper = styled.div.withConfig({
101
101
  displayName: "ChatAiModalHeaderstyles__SCCAIMHPlusIconWrapper",
102
102
  componentId: "sc-r6xbtc-22"
103
103
  })(["display:flex;align-items:center;justify-content:center;"]);
104
- export var SCCAIMHMinimizeIcon = styled.span.withConfig({
105
- displayName: "ChatAiModalHeaderstyles__SCCAIMHMinimizeIcon",
106
- componentId: "sc-r6xbtc-23"
107
- })(["display:flex;align-items:center;justify-content:center;transform:rotate(-90deg);"]);
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJkcm9wZG93bkluIiwiU0NDQUlNSFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSEJhY2tCdXR0b24iLCJidXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Iiwic3BhbiIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiX3JlZiIsImlzQWdlbnREZWxldGVkIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIl9yZWYyIiwiaXNDbG9uZSIsIlNDQ0FJTU1BSUFUZXh0IiwiaDMiLCJTQ0NBSU1IQWRkQWdlbnQiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24iLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIl9yZWYzIiwiJGFjdGl2ZSIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITWluaW1pemVJY29uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgZHJvcGRvd25JbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0eWxlcy90cmFuc2l0aW9ucydcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZ2FwOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDkwcHg7XG4gIG1heC13aWR0aDogMjUycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITW9kYWwgPSBzdHlsZWQuZGl2PHsgJGhhc0Vycm9yPzogYm9vbGVhbjsgJGxvYWRpbmc/OiBib29sZWFuOyAkaGFzQWdlbnRzPzogYm9vbGVhbiB9PmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhCYWNrQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBwYWRkaW5nOiB2YXIoLS1jb3Itc3BhY2Utc3BhY2Utc20sIDhweCkgdmFyKC0tY29yLXNwYWNlLXNwYWNlLW1kLCAxMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNvci1yYWRpdXMtcmFkaXVzLW1kLCA4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiwgI2ZmZikgcGFkZGluZy1ib3gsXG4gICAgdmFyKC0tR3JhZGllbnRlLTEsIGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpKSBib3JkZXItYm94O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LFxuICAgIGJveC1zaGFkb3cgMC4zcyBlYXNlLFxuICAgIG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0ycHggM3B4IDE2cHggMCByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xNSk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXhzLCAxMnB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMTQsIDE0cHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLUdyYWRpZW50ZS0xLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKSk7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCA9IHN0eWxlZC5zcGFuPHsgaXNBZ2VudERlbGV0ZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzM0MzQzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgJHsoeyBpc0FnZW50RGVsZXRlZCB9KSA9PlxuICAgIGlzQWdlbnREZWxldGVkICYmXG4gICAgY3NzYFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVySWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDMzNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE2cHggMHB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gICR7ZHJvcGRvd25Jbn1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUgPSBzdHlsZWQuc3Bhbjx7IGlzQ2xvbmU/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzJiMmIyYjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHsoeyBpc0Nsb25lIH0pID0+IChpc0Nsb25lID8gJzBweCcgOiAnMHB4IDEycHgnKX07XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTU1BSUFUZXh0ID0gc3R5bGVkLmgzYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYmE0M2ZmIDAlLCAjZmY0M2NhIDUwJSwgI2JhNDNmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIGF1dG87XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb246XG4gICAgc2hpbmUgM3MgbGluZWFyIGluZmluaXRlLFxuICAgIGZhZGVJblNjYWxlIDAuOHMgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXG4gIEBrZXlmcmFtZXMgc2hpbmUge1xuICAgIHRvIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgZmFkZUluU2NhbGUge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWRkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2OTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDAuNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA0cHggMHB4IDJweCAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNyk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhBZ2VudHNMaXN0ID0gc3R5bGVkLmRpdjx7IGhhc01vcmU/OiBib29sZWFuOyBhZ2VudHNDb3VudD86IG51bWJlciB9PmBcbiAgbWF4LWhlaWdodDogMjc1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITG9hZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgOHB4KTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDExMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNvci1yYWRpdXMtcmFkaXVzLW1kLCA4cHgpO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLUNvbG9yLUxpZ2h0LUdyYXksICNlMGUwZTApO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OlxuICAgIHZhcigtLXNkcy1zaXplLWRlcHRoLTApIHZhcigtLXNkcy1zaXplLWRlcHRoLTAyNSkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMTAwKSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0wKVxuICAgICAgdmFyKC0tc2RzLWNvbG9yLWJsYWNrLTIwMCwgcmdiYSgwLCAwLCAwLCAwLjA4KSksXG4gICAgdmFyKC0tc2RzLXNpemUtZGVwdGgtMCkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMDI1KSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0xMDApIHZhcigtLXNkcy1zaXplLWRlcHRoLTApXG4gICAgICB2YXIoLS1zZHMtY29sb3ItYmxhY2stMTAwLCByZ2JhKDAsIDAsIDAsIDAuMDQpKTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgJHtkcm9wZG93bklufVxuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExheW91dE1lbnVSb3cgPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jb3Itc3BhY2Utc3BhY2Utc20sIDhweCk7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY29yLXJhZGl1cy1yYWRpdXMtc20sIDRweCk7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmMmYyZjIpJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC1wcmltYXJ5LCAjMjAyMDIwKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmMmYyZjIpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IUGx1c0ljb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITWluaW1pemVJY29uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFDL0MsU0FBU0MsVUFBVSxRQUFRLG1DQUFtQztBQUU5RCxPQUFPLElBQU1DLGNBQWMsR0FBR0gsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0tBV3ZDO0FBRUQsT0FBTyxJQUFNQyxZQUFZLEdBQUdSLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFHQU1yQztBQUVELE9BQU8sSUFBTUUsb0JBQW9CLEdBQUdULE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlEQUk3QztBQUVELE9BQU8sSUFBTUcs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
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJkcm9wZG93bkluIiwiU0NDQUlNSFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSEJhY2tCdXR0b24iLCJidXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Iiwic3BhbiIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiX3JlZiIsImlzQWdlbnREZWxldGVkIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIl9yZWYyIiwiaXNDbG9uZSIsIlNDQ0FJTU1BSUFUZXh0IiwiaDMiLCJTQ0NBSU1IQWRkQWdlbnQiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24iLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIl9yZWYzIiwiJGFjdGl2ZSIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBkcm9wZG93bkluIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3R5bGVzL3RyYW5zaXRpb25zJ1xuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBnYXA6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogOTBweDtcbiAgbWF4LXdpZHRoOiAyNTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhNb2RhbCA9IHN0eWxlZC5kaXY8eyAkaGFzRXJyb3I/OiBib29sZWFuOyAkbG9hZGluZz86IGJvb2xlYW47ICRoYXNBZ2VudHM/OiBib29sZWFuIH0+YFxuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyQnV0dG9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAyNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSEJhY2tCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMzNDM0MzM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4td2lkdGg6IDY0cHg7XG4gIHBhZGRpbmc6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KSB2YXIoLS1jb3Itc3BhY2Utc3BhY2UtbWQsIDEycHgpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY29yLXJhZGl1cy1yYWRpdXMtbWQsIDhweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudCgjZmZmLCAjZmZmKSBwYWRkaW5nLWJveCxcbiAgICB2YXIoLS1HcmFkaWVudGUtMSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICM0ZDM1NjkgMCUsICMyZDc3YmQgMTAwJSkpIGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsXG4gICAgYm94LXNoYWRvdyAwLjNzIGVhc2UsXG4gICAgb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogLTJweCAzcHggMTZweCAwIHJnYmEoNDUsIDExOSwgMTg5LCAwLjE1KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmbGV4OiAxIDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHMsIDEycHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0xNCwgMTRweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tR3JhZGllbnRlLTEsIGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0ID0gc3R5bGVkLnNwYW48eyBpc0FnZW50RGVsZXRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICAkeyh7IGlzQWdlbnREZWxldGVkIH0pID0+XG4gICAgaXNBZ2VudERlbGV0ZWQgJiZcbiAgICBjc3NgXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJJY29uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM4cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMzM0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTZweCAwcHggcmdiYSgxOCwgMTgsIDE4LCAwLjI0KTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgJHtkcm9wZG93bklufVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSA9IHN0eWxlZC5zcGFuPHsgaXNDbG9uZT86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMmIyYjJiO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkeyh7IGlzQ2xvbmUgfSkgPT4gKGlzQ2xvbmUgPyAnMHB4JyA6ICcwcHggMTJweCcpfTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNTUFJQVRleHQgPSBzdHlsZWQuaDNgXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNiYTQzZmYgMCUsICNmZjQzY2EgNTAlLCAjYmE0M2ZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbjpcbiAgICBzaGluZSAzcyBsaW5lYXIgaW5maW5pdGUsXG4gICAgZmFkZUluU2NhbGUgMC44cyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG5cbiAgQGtleWZyYW1lcyBzaGluZSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhBZGRBZ2VudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4YztcbiAgY29sb3I6IHdoaXRlO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY5O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMC41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDRweCAwcHggMnB4IDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBzdmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS43KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSEFnZW50c0xpc3QgPSBzdHlsZWQuZGl2PHsgaGFzTW9yZT86IGJvb2xlYW47IGFnZW50c0NvdW50PzogbnVtYmVyIH0+YFxuICBtYXgtaGVpZ2h0OiAyNzVweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMb2FkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExheW91dE1lbnVQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyA4cHgpO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogdmFyKC0tY29yLXNwYWNlLXNwYWNlLXNtLCA4cHgpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY29yLXJhZGl1cy1yYWRpdXMtbWQsIDhweCk7XG4gIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tQ29sb3ItTGlnaHQtR3JheSwgI2UwZTBlMCk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6XG4gICAgdmFyKC0tc2RzLXNpemUtZGVwdGgtMCkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMDI1KSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0xMDApIHZhcigtLXNkcy1zaXplLWRlcHRoLTApXG4gICAgICB2YXIoLS1zZHMtY29sb3ItYmxhY2stMjAwLCByZ2JhKDAsIDAsIDAsIDAuMDgpKSxcbiAgICB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0wKSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0wMjUpIHZhcigtLXNkcy1zaXplLWRlcHRoLTEwMCkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMClcbiAgICAgIHZhcigtLXNkcy1jb2xvci1ibGFjay0xMDAsIHJnYmEoMCwgMCwgMCwgMC4wNCkpO1xuICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAke2Ryb3Bkb3duSW59XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDIwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVJvdyA9IHN0eWxlZC5idXR0b248eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogdmFyKC0tY29yLXNwYWNlLXNwYWNlLXNtLCA4cHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jb3ItcmFkaXVzLXJhZGl1cy1zbSwgNHB4KTtcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2YyZjJmMiknIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1zbSwgMTRweCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yMCwgMjBweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbiAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXByaW1hcnksICMyMDIwMjApO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2YyZjJmMik7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhQbHVzSWNvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBQy9DLFNBQVNDLFVBQVUsUUFBUSxtQ0FBbUM7QUFFOUQsT0FBTyxJQUFNQyxjQUFjLEdBQUdILE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtLQVd2QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHUixNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxR0FNckM7QUFFRCxPQUFPLElBQU1FLG9CQUFvQixHQUFHVCxNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpREFJN0M7QUFFRCxPQUFPLElBQU1HLGlCQUFpQixHQUFHVixNQUFNLENBQUNXLE1BQU0sQ0FBQU4sVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzU0FtQjdDO0FBRUQsT0FBTyxJQUFNSyx3QkFBd0IsR0FBR1osTUFBTSxDQUFDVyxNQUFNLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEseWZBb0JwRDtBQUVELE9BQU8sSUFBTU0sNEJBQTRCLEdBQUdiLE1BQU0sQ0FBQ2MsSUFBSSxDQUFBVCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1jQWF0RDtBQUVELE9BQU8sSUFBTVEsb0JBQW9CLEdBQUdmLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJHQU83QztBQUVELE9BQU8sSUFBTVMsd0JBQXdCLEdBQUdoQixNQUFNLENBQUNjLElBQUksQ0FBQVQsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3S0FXL0MsVUFBQVUsSUFBQTtFQUFBLElBQUdDLGNBQWMsR0FBQUQsSUFBQSxDQUFkQyxjQUFjO0VBQUEsT0FDakJBLGNBQWMsSUFDZGpCLEdBQUcsbUNBRUY7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNa0Isa0JBQWtCLEdBQUduQixNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFJM0M7QUFFRCxPQUFPLElBQU1hLG1CQUFtQixHQUFHcEIsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa0VBTTVDO0FBRUQsT0FBTyxJQUFNYywwQkFBMEIsR0FBR3JCLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlLQVNoREwsVUFBVSxDQUNiO0FBRUQsT0FBTyxJQUFNb0IsK0JBQStCLEdBQUd0QixNQUFNLENBQUNjLElBQUksQ0FBQVQsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtSkFRN0MsVUFBQWdCLEtBQUE7RUFBQSxJQUFHQyxPQUFPLEdBQUFELEtBQUEsQ0FBUEMsT0FBTztFQUFBLE9BQVFBLE9BQU8sR0FBRyxLQUFLLEdBQUcsVUFBVTtBQUFBLENBQUMsQ0FFM0Q7QUFFRCxPQUFPLElBQU1DLGNBQWMsR0FBR3pCLE1BQU0sQ0FBQzBCLEVBQUUsQ0FBQXJCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa2ZBK0J0QztBQUVELE9BQU8sSUFBTW9CLGVBQWUsR0FBRzNCLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFPQWdCeEM7QUFFRCxPQUFPLElBQU1xQixjQUFjLEdBQUc1QixNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnRkFLdkM7QUFFRCxPQUFPLElBQU1zQixZQUFZLEdBQUc3QixNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtSEFTckM7QUFFRCxPQUFPLElBQU11QixpQkFBaUIsR0FBRzlCLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtIQU8xQztBQUVELE9BQU8sSUFBTXdCLG9CQUFvQixHQUFHL0IsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkVBSzdDO0FBRUQsT0FBTyxJQUFNeUIsdUJBQXVCLEdBQUdoQyxNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwQkFFaEQ7QUFFRCxPQUFPLElBQU0wQixzQkFBc0IsR0FBR2pDLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVuQkFrQjVDTCxVQUFVLENBRWI7QUFFRCxPQUFPLElBQU1nQyx3QkFBd0IsR0FBR2xDLE1BQU0sQ0FBQ2MsSUFBSSxDQUFBVCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9HQU9sRDtBQUVELE9BQU8sSUFBTTRCLG9CQUFvQixHQUFHbkMsTUFBTSxDQUFDVyxNQUFNLENBQUFOLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb2tCQVFqQyxVQUFBNkIsS0FBQTtFQUFBLElBQUdDLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO0VBQUEsT0FBUUEsT0FBTyxHQUFHLG9DQUFvQyxHQUFHLGFBQWE7QUFBQSxDQUFDLENBYWhHO0FBRUQsT0FBTyxJQUFNQyxzQkFBc0IsR0FBR3RDLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtEQUkvQyIsImlnbm9yZUxpc3QiOltdfQ==