@onepercentio/one-ui 0.21.3 → 0.21.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 (172) hide show
  1. package/ai/components/UncontrolledTransition/UncontrolledTransition.ai.d.ts +15 -0
  2. package/ai/components/UncontrolledTransition/UncontrolledTransition.ai.js +37 -0
  3. package/ai/components/UncontrolledTransition/UncontrolledTransition.ai.js.map +1 -0
  4. package/ai/hooks/ui/useAlternating.ai.d.ts +9 -0
  5. package/ai/hooks/ui/useAlternating.ai.js +17 -0
  6. package/ai/hooks/ui/useAlternating.ai.js.map +1 -0
  7. package/ai/hooks/useHero.ai.d.ts +9 -0
  8. package/ai/hooks/useHero.ai.js +21 -0
  9. package/ai/hooks/useHero.ai.js.map +1 -0
  10. package/ai/types.d.ts +9 -0
  11. package/ai/types.js +3 -0
  12. package/ai/types.js.map +1 -0
  13. package/dist/assets/styles/variables.scss +0 -5
  14. package/dist/components/AdaptiveButton/AdaptiveButton.d.ts +2 -2
  15. package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +2 -2
  16. package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +4 -3
  17. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +6 -3
  18. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +3 -0
  19. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +7 -6
  20. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.d.ts +2 -0
  21. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +13 -0
  22. package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +3 -0
  23. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +5 -5
  24. package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +3 -3
  25. package/dist/components/AsyncWrapper/AsyncWrapper.d.ts +2 -2
  26. package/dist/components/Avatar/Avatar.d.ts +2 -1
  27. package/dist/components/BucketFill/BucketFill.d.ts +3 -3
  28. package/dist/components/Button/Button.d.ts +2 -2
  29. package/dist/components/Button/Button.js +5 -4
  30. package/dist/components/Button/Button.module.scss +5 -2
  31. package/dist/components/Card/Card.d.ts +2 -2
  32. package/dist/components/Chart/Chart.logic.d.ts +3 -1
  33. package/dist/components/Chart/Chart.logic.js +2 -1
  34. package/dist/components/Chart/Chart.view.d.ts +2 -1
  35. package/dist/components/CheckBox/CheckBox.d.ts +1 -1
  36. package/dist/components/CodeInput/CodeInput.d.ts +9 -0
  37. package/dist/components/CodeInput/CodeInput.js +85 -0
  38. package/dist/components/CodeInput/CodeInput.module.scss +5 -0
  39. package/dist/components/CodeInput/index.d.ts +1 -0
  40. package/dist/components/CodeInput/index.js +14 -0
  41. package/dist/components/Collapsable/Collapsable.d.ts +5 -2
  42. package/dist/components/Collapsable/Collapsable.js +22 -7
  43. package/dist/components/Countdown/Countdown.d.ts +2 -1
  44. package/dist/components/Divider/Divider.d.ts +2 -1
  45. package/dist/components/EmailInput/EmailInput.d.ts +3 -0
  46. package/dist/components/EmailInput/EmailInput.js +5 -5
  47. package/dist/components/FadeIn/FadeIn.d.ts +3 -0
  48. package/dist/components/FadeIn/FadeIn.js +5 -4
  49. package/dist/components/FileInput/FileInput.d.ts +1 -1
  50. package/dist/components/FileInput/View/BigFactory/BigFactory.d.ts +2 -2
  51. package/dist/components/FileInput/View/Compact/Compact.d.ts +2 -1
  52. package/dist/components/FlowController/FlowController.d.ts +2 -2
  53. package/dist/components/Form/v2/Form.d.ts +18 -0
  54. package/dist/components/Form/v2/Form.hook.d.ts +21 -0
  55. package/dist/components/Form/v2/Form.hook.js +214 -0
  56. package/dist/components/Form/v2/Form.js +69 -0
  57. package/dist/components/Form/v2/Form.module.scss +0 -0
  58. package/dist/components/Form/v2/Form.types.d.ts +97 -0
  59. package/dist/components/Form/v2/Form.types.js +45 -0
  60. package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.d.ts +12 -0
  61. package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.js +74 -0
  62. package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.module.scss +0 -0
  63. package/dist/components/Form/v2/FormField/Extensions/DateField/index.d.ts +1 -0
  64. package/dist/components/Form/v2/FormField/Extensions/DateField/index.js +14 -0
  65. package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.d.ts +10 -0
  66. package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js +92 -0
  67. package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.module.scss +0 -0
  68. package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.d.ts +1 -0
  69. package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.js +14 -0
  70. package/dist/components/Form/v2/FormField/FormField.d.ts +6 -0
  71. package/dist/components/Form/v2/FormField/FormField.js +309 -0
  72. package/dist/components/Form/v2/FormField/FormField.module.scss +0 -0
  73. package/dist/components/Form/v2/FormField/FormField.types.d.ts +83 -0
  74. package/dist/components/Form/v2/FormField/FormField.types.js +13 -0
  75. package/dist/components/Form/v2/FormField/index.d.ts +1 -0
  76. package/dist/components/Form/v2/FormField/index.js +14 -0
  77. package/dist/components/Form/v2/index.d.ts +1 -0
  78. package/dist/components/Form/v2/index.js +14 -0
  79. package/dist/components/HSForms/HSForms.d.ts +2 -1
  80. package/dist/components/Header/Header.d.ts +2 -2
  81. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +2 -1
  82. package/dist/components/InfinityScroll/InfinityScroll.d.ts +3 -0
  83. package/dist/components/InfinityScroll/InfinityScroll.js +5 -5
  84. package/dist/components/Input/Input.d.ts +3 -0
  85. package/dist/components/Input/Input.js +4 -4
  86. package/dist/components/InstantCounter/InstantCounter.d.ts +3 -0
  87. package/dist/components/InstantCounter/InstantCounter.js +5 -4
  88. package/dist/components/LavaLamp/LavaLamp.d.ts +2 -2
  89. package/dist/components/LavaLamp/LavaLamp.js +1 -1
  90. package/dist/components/LavaLamp/v2/LavaLamp.d.ts +2 -2
  91. package/dist/components/LinkToId/LinkToId.d.ts +2 -2
  92. package/dist/components/Loader/Loader.d.ts +1 -1
  93. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +5 -2
  94. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +9 -3
  95. package/dist/components/LoopableVideo/LoopableVideo.d.ts +2 -2
  96. package/dist/components/MainGrid/MainGrid.d.ts +3 -0
  97. package/dist/components/MainGrid/MainGrid.js +5 -4
  98. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.d.ts +1 -1
  99. package/dist/components/NodesNavigator/NodesNavigator.d.ts +17 -0
  100. package/dist/components/NodesNavigator/NodesNavigator.js +108 -0
  101. package/dist/components/NodesNavigator/NodesNavigator.module.scss +19 -0
  102. package/dist/components/NodesNavigator/index.d.ts +1 -0
  103. package/dist/components/NodesNavigator/index.js +14 -0
  104. package/dist/components/Notification/Notification.d.ts +2 -2
  105. package/dist/components/OrderableList/OrderableList.d.ts +1 -1
  106. package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +9 -6
  107. package/dist/components/PaginationIndicator/PaginationIndicator.js +49 -11
  108. package/dist/components/Parallax/Parallax.d.ts +3 -0
  109. package/dist/components/Parallax/Parallax.js +5 -4
  110. package/dist/components/PasswordInput/PasswordInput.d.ts +3 -0
  111. package/dist/components/PasswordInput/PasswordInput.js +5 -5
  112. package/dist/components/PingPongText/PingPongText.d.ts +2 -2
  113. package/dist/components/PixelatedScan/PixelatedScan.d.ts +2 -1
  114. package/dist/components/Portal/Portal.d.ts +1 -1
  115. package/dist/components/ProgressBar/ProgressBar.d.ts +3 -3
  116. package/dist/components/ProgressTexts/ProgressTexts.d.ts +1 -1
  117. package/dist/components/Radio/Radio.d.ts +1 -1
  118. package/dist/components/SectionContainer/SectionContainer.d.ts +3 -0
  119. package/dist/components/SectionContainer/SectionContainer.js +5 -4
  120. package/dist/components/Select/Select.d.ts +3 -3
  121. package/dist/components/Select/Select.js +1 -1
  122. package/dist/components/Skeleton/Skeleton.d.ts +2 -1
  123. package/dist/components/Spacing/Spacing.d.ts +2 -1
  124. package/dist/components/StaticScroller/StaticScroller.d.ts +3 -0
  125. package/dist/components/StaticScroller/StaticScroller.js +5 -4
  126. package/dist/components/Switch/Switch.d.ts +2 -2
  127. package/dist/components/Table/Table.d.ts +2 -1
  128. package/dist/components/Tabs/Tabs.d.ts +2 -2
  129. package/dist/components/Text/Text.d.ts +7 -5
  130. package/dist/components/Text/Text.js +5 -4
  131. package/dist/components/Text/Text.module.scss +4 -0
  132. package/dist/components/Transition/Transition.d.ts +8 -5
  133. package/dist/components/Transition/Transition.js +18 -16
  134. package/dist/components/Transition/Transition.module.scss +1 -1
  135. package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +3 -0
  136. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +25 -13
  137. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.d.ts +2 -0
  138. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +44 -0
  139. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.d.ts +6 -3
  140. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +14 -7
  141. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.d.ts +2 -2
  142. package/dist/context/AsyncProcess.d.ts +2 -1
  143. package/dist/context/ContextAsyncControl.d.ts +24 -0
  144. package/dist/context/ContextAsyncControl.js +101 -0
  145. package/dist/context/CustomBrowserRouter.d.ts +2 -2
  146. package/dist/context/OneUIProvider.d.ts +29 -1
  147. package/dist/context/OneUIProvider.js +1 -1
  148. package/dist/hooks/persistence/useLocalStorage.d.ts +1 -1
  149. package/dist/hooks/persistence/useLocalStorage.js +5 -1
  150. package/dist/hooks/ui/useAlternating.d.ts +4 -0
  151. package/dist/hooks/ui/useAlternating.js +34 -0
  152. package/dist/hooks/ui/usePaginationControls.d.ts +2 -2
  153. package/dist/hooks/useAsyncControl.d.ts +15 -3
  154. package/dist/hooks/useAsyncControl.js +24 -20
  155. package/dist/hooks/useHero.d.ts +4 -2
  156. package/dist/hooks/useHero.js +39 -15
  157. package/dist/hooks/useHero.module.scss +1 -1
  158. package/dist/hooks/useShortIntl.d.ts +1 -1
  159. package/dist/hooks/useShortIntl.js +1 -1
  160. package/dist/models/GenericContract.d.ts +3 -3
  161. package/dist/models/GenericContract.js +5 -3
  162. package/dist/storybookUtils/index.d.ts +2 -2
  163. package/dist/type-utils.d.ts +5 -0
  164. package/dist/type-utils.js +1 -1
  165. package/dist/utility.d.js +1 -1
  166. package/package.json +19 -4
  167. package/src_ai/components/UncontrolledTransition/UncontrolledTransition.ai.ts +35 -0
  168. package/src_ai/hooks/ui/useAlternating.ai.ts +15 -0
  169. package/src_ai/hooks/useHero.ai.ts +18 -0
  170. package/src_ai/types.ts +10 -0
  171. package/tsconfig-ai.json +9 -0
  172. package/tsconfig.vite.json +109 -0
@@ -1,4 +1,4 @@
1
- import { Key, ReactElement } from "react";
1
+ import React, { Key, ReactElement } from "react";
2
2
  export declare enum EntranceType {
3
3
  SLIDE_AND_EXPAND = 0,
4
4
  EXPAND = 1
@@ -8,11 +8,11 @@ export declare function AnimatedEntranceItem({ children, noEntranceAnimation, on
8
8
  noEntranceAnimation: boolean;
9
9
  onRemoveChildren: (key: Key) => void;
10
10
  entranceType: EntranceType;
11
- }): JSX.Element;
11
+ }): React.JSX.Element;
12
12
  /**
13
13
  * Animates the entrance and exit of a component
14
14
  **/
15
15
  export default function AnimatedEntrance({ children, entranceType, }: {
16
16
  children: ReactElement[];
17
17
  entranceType?: EntranceType;
18
- }): JSX.Element;
18
+ }): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from "react";
1
+ import React, { PropsWithChildren } from "react";
2
2
  /**
3
3
  * This is a generic implementation of the loading, and error handling
4
4
  **/
@@ -7,4 +7,4 @@ export default function AsyncWrapper({ loading, error, onClose, onRetry, childre
7
7
  error: boolean;
8
8
  onClose: () => void;
9
9
  onRetry: () => void;
10
- }>): JSX.Element;
10
+ }>): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  /**
2
3
  * A simple avatar that shows the image of the user or it's initials as fallback
3
4
  **/
@@ -5,4 +6,4 @@ export default function Avatar({ name, imgSrc, size, }: {
5
6
  imgSrc?: string;
6
7
  name: string;
7
8
  size?: number;
8
- }): JSX.Element;
9
+ }): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren, ReactNode } from "react";
1
+ import React, { PropsWithChildren, ReactNode } from "react";
2
2
  /**
3
3
  * A weird name for a component, but it's objective is to change element colors as the user progresses through a series of steps
4
4
  *
@@ -8,5 +8,5 @@ export default function BucketFill({ children, background, fillTo, }: {
8
8
  children: ReactNode[];
9
9
  fillTo: number;
10
10
  background: string;
11
- }): JSX.Element;
12
- export declare function IgnoreFill({ children }: PropsWithChildren<{}>): JSX.Element;
11
+ }): React.JSX.Element;
12
+ export declare function IgnoreFill({ children }: PropsWithChildren<{}>): React.JSX.Element;
@@ -2,10 +2,10 @@ import React, { ForwardedRef } from "react";
2
2
  declare type ButtonProps = React.PropsWithChildren<React.ButtonHTMLAttributes<HTMLButtonElement> & {
3
3
  variant?: OnepercentUtility.UIElements.ButtonVariants;
4
4
  }>;
5
+ export declare function _Button({ children, variant, className, ...otherProps }: ButtonProps, ref: ForwardedRef<HTMLButtonElement>): React.JSX.Element;
5
6
  /**
6
- * A simple button with the new design
7
+ * A simple button that can be customized via the provider
7
8
  **/
8
- export declare function _Button({ children, variant, className, ...otherProps }: ButtonProps, ref: ForwardedRef<HTMLButtonElement>): JSX.Element;
9
9
  declare const Button: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
10
10
  variant?: OnepercentUtility.UIElements.ButtonVariants | undefined;
11
11
  } & {
@@ -16,9 +16,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
16
16
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
17
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
18
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
- /**
20
- * A simple button with the new design
21
- **/
22
19
  function _Button(_ref, ref) {
23
20
  let children = _ref.children,
24
21
  _ref$variant = _ref.variant,
@@ -34,7 +31,11 @@ function _Button(_ref, ref) {
34
31
  variant: variant
35
32
  }, otherProps), children);
36
33
  }
34
+
35
+ /**
36
+ * A simple button that can be customized via the provider
37
+ **/
37
38
  const Button = /*#__PURE__*/(0, _react.forwardRef)(_Button);
38
39
  var _default = Button;
39
40
  exports.default = _default;
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9CdXR0b25Nb2R1bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2V4Y2x1ZGVkIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiYXBwbHkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJleGNsdWRlZCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic291cmNlU3ltYm9sS2V5cyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInNvdXJjZUtleXMiLCJrZXlzIiwiX0J1dHRvbiIsIl9yZWYiLCJyZWYiLCJjaGlsZHJlbiIsIl9yZWYkdmFyaWFudCIsInZhcmlhbnQiLCJfcmVmJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJjbGFzc05hbWVUeXBlIiwidXNlT25lVUlDb25maWciLCJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwiY29uY2F0IiwiU3R5bGVzIiwiYnV0dG9uIiwiQnV0dG9uIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBFbGVtZW50UmVmLCBGb3J3YXJkZWRSZWYsIGZvcndhcmRSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9CdXR0b24ubW9kdWxlLnNjc3NcIjtcblxudHlwZSBCdXR0b25Qcm9wcyA9IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFxuICBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4gJiB7XG4gICAgdmFyaWFudD86IE9uZXBlcmNlbnRVdGlsaXR5LlVJRWxlbWVudHMuQnV0dG9uVmFyaWFudHM7XG4gIH1cbj47XG5cbi8qKlxuICogQSBzaW1wbGUgYnV0dG9uIHdpdGggdGhlIG5ldyBkZXNpZ25cbiAqKi9cbmV4cG9ydCBmdW5jdGlvbiBfQnV0dG9uKFxuICB7XG4gICAgY2hpbGRyZW4sXG4gICAgdmFyaWFudCA9IFwidHJhbnNwYXJlbnRcIixcbiAgICBjbGFzc05hbWUgPSBcIlwiLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfTogQnV0dG9uUHJvcHMsXG4gIHJlZjogRm9yd2FyZGVkUmVmPEhUTUxCdXR0b25FbGVtZW50PlxuKSB7XG4gIGNvbnN0IGNsYXNzTmFtZVR5cGUgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5idXR0b24uY2xhc3NOYW1lXCIsIHt9KTtcbiAgY29uc3QgQ29tcG9uZW50ID0gdXNlT25lVUlDb25maWcoXG4gICAgXCJjb21wb25lbnQuYnV0dG9uLkNvbXBvbmVudFwiLFxuICAgIFwiYnV0dG9uXCIgYXMgYW55XG4gICk7XG4gIHJldHVybiAoXG4gICAgPENvbXBvbmVudFxuICAgICAgcmVmPXtyZWZ9XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5idXR0b259ICR7U3R5bGVzW3ZhcmlhbnRdfSAke2NsYXNzTmFtZX0gJHtcbiAgICAgICAgY2xhc3NOYW1lVHlwZVt2YXJpYW50XSB8fCBcIlwiXG4gICAgICB9YH1cbiAgICAgIHZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cbmNvbnN0IEJ1dHRvbiA9IGZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihfQnV0dG9uKTtcbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBMEMsTUFBQUksU0FBQTtBQUFBLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBTSxHQUFBLEVBQUFJLFdBQUEsU0FBQUEsV0FBQSxJQUFBSixHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQVEsT0FBQSxDQUFBUixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQVMsS0FBQSxHQUFBTix3QkFBQSxDQUFBQyxXQUFBLE9BQUFLLEtB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
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9CdXR0b25Nb2R1bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2V4Y2x1ZGVkIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiYXBwbHkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJleGNsdWRlZCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic291cmNlU3ltYm9sS2V5cyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInNvdXJjZUtleXMiLCJrZXlzIiwiX0J1dHRvbiIsIl9yZWYiLCJyZWYiLCJjaGlsZHJlbiIsIl9yZWYkdmFyaWFudCIsInZhcmlhbnQiLCJfcmVmJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJjbGFzc05hbWVUeXBlIiwidXNlT25lVUlDb25maWciLCJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwiY29uY2F0IiwiU3R5bGVzIiwiYnV0dG9uIiwiQnV0dG9uIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBFbGVtZW50UmVmLCBGb3J3YXJkZWRSZWYsIGZvcndhcmRSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9CdXR0b24ubW9kdWxlLnNjc3NcIjtcblxudHlwZSBCdXR0b25Qcm9wcyA9IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFxuICBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4gJiB7XG4gICAgdmFyaWFudD86IE9uZXBlcmNlbnRVdGlsaXR5LlVJRWxlbWVudHMuQnV0dG9uVmFyaWFudHM7XG4gIH1cbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBfQnV0dG9uKFxuICB7XG4gICAgY2hpbGRyZW4sXG4gICAgdmFyaWFudCA9IFwidHJhbnNwYXJlbnRcIixcbiAgICBjbGFzc05hbWUgPSBcIlwiLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfTogQnV0dG9uUHJvcHMsXG4gIHJlZjogRm9yd2FyZGVkUmVmPEhUTUxCdXR0b25FbGVtZW50PlxuKSB7XG4gIGNvbnN0IGNsYXNzTmFtZVR5cGUgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5idXR0b24uY2xhc3NOYW1lXCIsIHt9KTtcbiAgY29uc3QgQ29tcG9uZW50ID0gdXNlT25lVUlDb25maWcoXG4gICAgXCJjb21wb25lbnQuYnV0dG9uLkNvbXBvbmVudFwiLFxuICAgIFwiYnV0dG9uXCIgYXMgYW55XG4gICk7XG4gIHJldHVybiAoXG4gICAgPENvbXBvbmVudFxuICAgICAgcmVmPXtyZWZ9XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5idXR0b259ICR7U3R5bGVzW3ZhcmlhbnRdfSAke2NsYXNzTmFtZX0gJHtcbiAgICAgICAgY2xhc3NOYW1lVHlwZVt2YXJpYW50XSB8fCBcIlwiXG4gICAgICB9YH1cbiAgICAgIHZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db21wb25lbnQ+XG4gICk7XG59XG5cblxuLyoqXG4gKiBBIHNpbXBsZSBidXR0b24gdGhhdCBjYW4gYmUgY3VzdG9taXplZCB2aWEgdGhlIHByb3ZpZGVyXG4gKiovXG5jb25zdCBCdXR0b24gPSBmb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBCdXR0b25Qcm9wcz4oX0J1dHRvbik7XG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTBDLE1BQUFJLFNBQUE7QUFBQSxTQUFBRCx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVix3QkFBQU0sR0FBQSxFQUFBSSxXQUFBLFNBQUFBLFdBQUEsSUFBQUosR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFRLE9BQUEsQ0FBQVIsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFTLEtBQUEsR0FBQU4sd0JB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
@@ -3,8 +3,6 @@
3
3
  .button {
4
4
  cursor: pointer;
5
5
  display: block;
6
- min-width: $buttonMinWidth;
7
- min-height: $buttonMinHeight;
8
6
  padding: 16px;
9
7
  border: none;
10
8
  transition: color $fast;
@@ -40,3 +38,8 @@
40
38
  color: $mediumGray;
41
39
  }
42
40
  }
41
+
42
+ .link {
43
+ padding: 0px;
44
+ @extend .transparent;
45
+ }
@@ -1,7 +1,7 @@
1
- import { PropsWithChildren } from "react";
1
+ import React, { PropsWithChildren } from "react";
2
2
  /**
3
3
  * A card layout that holds content
4
4
  **/
5
5
  export default function Card({ children, className }: PropsWithChildren<{
6
6
  className?: string;
7
- }>): JSX.Element;
7
+ }>): React.JSX.Element;
@@ -1,2 +1,4 @@
1
+ import React from 'react';
1
2
  import { ChartProps } from "./Chart.types";
2
- export default function ChartLogic(props: ChartProps): JSX.Element;
3
+ /** An proprietary implementation of some chart variations */
4
+ export default function ChartLogic(props: ChartProps): React.JSX.Element;
@@ -7,7 +7,8 @@ exports.default = ChartLogic;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _Chart = _interopRequireDefault(require("./Chart.view"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ /** An proprietary implementation of some chart variations */
10
11
  function ChartLogic(props) {
11
12
  return /*#__PURE__*/_react.default.createElement(_Chart.default, props);
12
13
  }
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DaGFydCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQ2hhcnRMb2dpYyIsInByb3BzIiwiY3JlYXRlRWxlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NoYXJ0L0NoYXJ0LmxvZ2ljLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFZpZXcgZnJvbSBcIi4vQ2hhcnQudmlld1wiO1xuaW1wb3J0IHsgQ2hhcnRQcm9wcyB9IGZyb20gXCIuL0NoYXJ0LnR5cGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoYXJ0TG9naWMocHJvcHM6IENoYXJ0UHJvcHMpIHtcbiAgICByZXR1cm4gPFZpZXcgey4uLnByb3BzfSAvPjtcbn0iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFnQyxTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUdqQixTQUFTRyxVQUFVQSxDQUFDQyxLQUFpQixFQUFFO0VBQ2xELG9CQUFPUixNQUFBLENBQUFNLE9BQUEsQ0FBQUcsYUFBQSxDQUFDTixNQUFBLENBQUFHLE9BQUksRUFBS0UsS0FBUSxDQUFDO0FBQzlCIn0=
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DaGFydCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQ2hhcnRMb2dpYyIsInByb3BzIiwiY3JlYXRlRWxlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NoYXJ0L0NoYXJ0LmxvZ2ljLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFZpZXcgZnJvbSBcIi4vQ2hhcnQudmlld1wiO1xuaW1wb3J0IHsgQ2hhcnRQcm9wcyB9IGZyb20gXCIuL0NoYXJ0LnR5cGVzXCI7XG5cbi8qKiBBbiBwcm9wcmlldGFyeSBpbXBsZW1lbnRhdGlvbiBvZiBzb21lIGNoYXJ0IHZhcmlhdGlvbnMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoYXJ0TG9naWMocHJvcHM6IENoYXJ0UHJvcHMpIHtcbiAgICByZXR1cm4gPFZpZXcgey4uLnByb3BzfSAvPjtcbn0iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFnQyxTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUdoQztBQUNlLFNBQVNHLFVBQVVBLENBQUNDLEtBQWlCLEVBQUU7RUFDbEQsb0JBQU9SLE1BQUEsQ0FBQU0sT0FBQSxDQUFBRyxhQUFBLENBQUNOLE1BQUEsQ0FBQUcsT0FBSSxFQUFLRSxLQUFRLENBQUM7QUFDOUIifQ==
@@ -1,5 +1,6 @@
1
+ import React from "react";
1
2
  import { ChartViewProps } from "./Chart.types";
2
3
  /**
3
4
  * Draws a simple line chart with some animation
4
5
  **/
5
- export default function ChartView({ bounds: [[startX, endX, stepsX], [startY, endY, stepsY]], data, points, label, style: groupStyle, }: ChartViewProps): JSX.Element;
6
+ export default function ChartView({ bounds: [[startX, endX, stepsX], [startY, endY, stepsY]], data, points, label, style: groupStyle, }: ChartViewProps): React.JSX.Element;
@@ -10,4 +10,4 @@ export default function CheckBox({ checked, onToggle, label, className, size, gr
10
10
  size?: number;
11
11
  groupId: string;
12
12
  value: string;
13
- }> & React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>): JSX.Element;
13
+ }> & React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>): React.JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ /**
3
+ * Allows the user to input code using monaco editor
4
+ **/
5
+ export default function CodeInput({ codeSample, onChange, mode, }: {
6
+ codeSample?: string;
7
+ onChange?: (code: string) => void;
8
+ mode?: "dark" | "light";
9
+ }): React.JSX.Element;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = CodeInput;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _CodeInputModule = _interopRequireDefault(require("./CodeInput.module.scss"));
10
+ var _monacoEditor = require("monaco-editor");
11
+ var _Loader = _interopRequireDefault(require("../Loader"));
12
+ var _useModule = _interopRequireDefault(require("../../hooks/utility/useModule"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ window.MonacoEnvironment = {
17
+ getWorkerUrl: function getWorkerUrl(moduleId, label) {
18
+ if (label === "typescript" || label === "javascript") return "./ts.worker.js";
19
+ return "./editor.worker.js";
20
+ }
21
+ };
22
+
23
+ /**
24
+ * Allows the user to input code using monaco editor
25
+ **/
26
+ function CodeInput(_ref) {
27
+ let codeSample = _ref.codeSample,
28
+ onChange = _ref.onChange,
29
+ mode = _ref.mode;
30
+ const divRef = (0, _react.useRef)(null);
31
+ const Monaco = (0, _useModule.default)(function () {
32
+ return import("monaco-editor");
33
+ });
34
+ const content = (0, _react.useMemo)(function () {
35
+ if (!Monaco) return /*#__PURE__*/_react.default.createElement(_Loader.default, null);else {
36
+ return null;
37
+ }
38
+ }, [Monaco]);
39
+ const editorRef = (0, _react.useRef)();
40
+ (0, _react.useEffect)(function () {
41
+ if (Monaco) {
42
+ Monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
43
+ noSemanticValidation: true
44
+ });
45
+ const editor = Monaco.editor.create(divRef.current, {
46
+ language: "typescript",
47
+ scrollBeyondLastLine: false,
48
+ minimap: {
49
+ enabled: false
50
+ },
51
+ folding: false,
52
+ readOnly: !onChange,
53
+ theme: mode === "dark" ? "vs-dark" : undefined,
54
+ automaticLayout: true
55
+ });
56
+ editor.onDidContentSizeChange(function () {
57
+ if (!editorRef.current) {
58
+ editorRef.current = editor;
59
+ }
60
+ });
61
+ editor.onDidChangeModelContent(function () {
62
+ if (onChange) onChange(editor.getModel().getValue());
63
+ });
64
+ const model = Monaco.editor.createModel(codeSample || "", "typescript", _monacoEditor.Uri.file("example.tsx"));
65
+ editor.setModel(model);
66
+ return function () {
67
+ model.dispose();
68
+ };
69
+ }
70
+ }, [Monaco]);
71
+ (0, _react.useEffect)(function () {
72
+ if (!codeSample) return;
73
+ const editor = editorRef.current;
74
+ if (!editor) return;
75
+ const model = editor.getModel();
76
+ if (!model) return;
77
+ const currentValue = model.getValue();
78
+ if (codeSample !== currentValue) model.setValue(codeSample);
79
+ }, [codeSample]);
80
+ return /*#__PURE__*/_react.default.createElement("div", {
81
+ ref: divRef,
82
+ className: _CodeInputModule.default.root
83
+ }, content);
84
+ }
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQ29kZUlucHV0TW9kdWxlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9tb25hY29FZGl0b3IiLCJfTG9hZGVyIiwiX3VzZU1vZHVsZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0Iiwid2luZG93IiwiTW9uYWNvRW52aXJvbm1lbnQiLCJnZXRXb3JrZXJVcmwiLCJtb2R1bGVJZCIsImxhYmVsIiwiQ29kZUlucHV0IiwiX3JlZiIsImNvZGVTYW1wbGUiLCJvbkNoYW5nZSIsIm1vZGUiLCJkaXZSZWYiLCJ1c2VSZWYiLCJNb25hY28iLCJ1c2VNb2R1bGUiLCJjb250ZW50IiwidXNlTWVtbyIsImNyZWF0ZUVsZW1lbnQiLCJlZGl0b3JSZWYiLCJ1c2VFZmZlY3QiLCJsYW5ndWFnZXMiLCJ0eXBlc2NyaXB0IiwidHlwZXNjcmlwdERlZmF1bHRzIiwic2V0RGlhZ25vc3RpY3NPcHRpb25zIiwibm9TZW1hbnRpY1ZhbGlkYXRpb24iLCJlZGl0b3IiLCJjcmVhdGUiLCJjdXJyZW50IiwibGFuZ3VhZ2UiLCJzY3JvbGxCZXlvbmRMYXN0TGluZSIsIm1pbmltYXAiLCJlbmFibGVkIiwiZm9sZGluZyIsInJlYWRPbmx5IiwidGhlbWUiLCJ1bmRlZmluZWQiLCJhdXRvbWF0aWNMYXlvdXQiLCJvbkRpZENvbnRlbnRTaXplQ2hhbmdlIiwib25EaWRDaGFuZ2VNb2RlbENvbnRlbnQiLCJnZXRNb2RlbCIsImdldFZhbHVlIiwibW9kZWwiLCJjcmVhdGVNb2RlbCIsIlVyaSIsImZpbGUiLCJzZXRNb2RlbCIsImRpc3Bvc2UiLCJjdXJyZW50VmFsdWUiLCJzZXRWYWx1ZSIsInJlZiIsImNsYXNzTmFtZSIsIlN0eWxlcyIsInJvb3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Db2RlSW5wdXQvQ29kZUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBTdHlsZXMgZnJvbSBcIi4vQ29kZUlucHV0Lm1vZHVsZS5zY3NzXCI7XG5pbXBvcnQgeyBVcmkgfSBmcm9tIFwibW9uYWNvLWVkaXRvclwiO1xuaW1wb3J0IExvYWRlciBmcm9tIFwiLi4vTG9hZGVyXCI7XG5pbXBvcnQgdXNlTW9kdWxlIGZyb20gXCIuLi8uLi9ob29rcy91dGlsaXR5L3VzZU1vZHVsZVwiO1xuXG53aW5kb3cuTW9uYWNvRW52aXJvbm1lbnQgPSB7XG4gIGdldFdvcmtlclVybDogZnVuY3Rpb24gKG1vZHVsZUlkLCBsYWJlbCkge1xuICAgIGlmIChsYWJlbCA9PT0gXCJ0eXBlc2NyaXB0XCIgfHwgbGFiZWwgPT09IFwiamF2YXNjcmlwdFwiKVxuICAgICAgcmV0dXJuIFwiLi90cy53b3JrZXIuanNcIjtcbiAgICByZXR1cm4gXCIuL2VkaXRvci53b3JrZXIuanNcIjtcbiAgfSxcbn07XG5cbi8qKlxuICogQWxsb3dzIHRoZSB1c2VyIHRvIGlucHV0IGNvZGUgdXNpbmcgbW9uYWNvIGVkaXRvclxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29kZUlucHV0KHtcbiAgY29kZVNhbXBsZSxcbiAgb25DaGFuZ2UsXG4gIG1vZGUsXG59OiB7XG4gIGNvZGVTYW1wbGU/OiBzdHJpbmc7XG4gIG9uQ2hhbmdlPzogKGNvZGU6IHN0cmluZykgPT4gdm9pZDtcbiAgbW9kZT86IFwiZGFya1wiIHwgXCJsaWdodFwiO1xufSkge1xuICBjb25zdCBkaXZSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBNb25hY28gPSB1c2VNb2R1bGUoKCkgPT4gaW1wb3J0KFwibW9uYWNvLWVkaXRvclwiKSk7XG4gIGNvbnN0IGNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIU1vbmFjbykgcmV0dXJuIDxMb2FkZXIgLz47XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0sIFtNb25hY29dKTtcbiAgY29uc3QgZWRpdG9yUmVmID1cbiAgICB1c2VSZWY8aW1wb3J0KFwibW9uYWNvLWVkaXRvclwiKS5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yPigpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChNb25hY28pIHtcbiAgICAgIE1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdC50eXBlc2NyaXB0RGVmYXVsdHMuc2V0RGlhZ25vc3RpY3NPcHRpb25zKHtcbiAgICAgICAgbm9TZW1hbnRpY1ZhbGlkYXRpb246IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVkaXRvciA9IE1vbmFjby5lZGl0b3IuY3JlYXRlKGRpdlJlZi5jdXJyZW50ISwge1xuICAgICAgICBsYW5ndWFnZTogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgIHNjcm9sbEJleW9uZExhc3RMaW5lOiBmYWxzZSxcbiAgICAgICAgbWluaW1hcDogeyBlbmFibGVkOiBmYWxzZSB9LFxuICAgICAgICBmb2xkaW5nOiBmYWxzZSxcbiAgICAgICAgcmVhZE9ubHk6ICFvbkNoYW5nZSxcbiAgICAgICAgdGhlbWU6IG1vZGUgPT09IFwiZGFya1wiID8gXCJ2cy1kYXJrXCIgOiB1bmRlZmluZWQsXG4gICAgICAgIGF1dG9tYXRpY0xheW91dDogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBlZGl0b3Iub25EaWRDb250ZW50U2l6ZUNoYW5nZSgoKSA9PiB7XG4gICAgICAgIGlmICghZWRpdG9yUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBlZGl0b3JSZWYuY3VycmVudCA9IGVkaXRvcjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBlZGl0b3Iub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoKCkgPT4ge1xuICAgICAgICBpZiAob25DaGFuZ2UpIG9uQ2hhbmdlKGVkaXRvci5nZXRNb2RlbCgpIS5nZXRWYWx1ZSgpKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbW9kZWwgPSBNb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKFxuICAgICAgICBjb2RlU2FtcGxlIHx8IFwiXCIsXG4gICAgICAgIFwidHlwZXNjcmlwdFwiLFxuICAgICAgICBVcmkuZmlsZShgZXhhbXBsZS50c3hgKVxuICAgICAgKTtcbiAgICAgIGVkaXRvci5zZXRNb2RlbChtb2RlbCk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBtb2RlbC5kaXNwb3NlKCk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW01vbmFjb10pO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghY29kZVNhbXBsZSkgcmV0dXJuO1xuICAgIGNvbnN0IGVkaXRvciA9IGVkaXRvclJlZi5jdXJyZW50O1xuICAgIGlmICghZWRpdG9yKSByZXR1cm47XG4gICAgY29uc3QgbW9kZWwgPSBlZGl0b3IuZ2V0TW9kZWwoKTtcbiAgICBpZiAoIW1vZGVsKSByZXR1cm47XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gbW9kZWwuZ2V0VmFsdWUoKTtcbiAgICBpZiAoY29kZVNhbXBsZSAhPT0gY3VycmVudFZhbHVlKSBtb2RlbC5zZXRWYWx1ZShjb2RlU2FtcGxlKTtcbiAgfSwgW2NvZGVTYW1wbGVdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17ZGl2UmVmfSBjbGFzc05hbWU9e1N0eWxlcy5yb290fT5cbiAgICAgIHtjb250ZW50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
@@ -0,0 +1,5 @@
1
+ .root {
2
+ min-height: 150px;
3
+ height: 100%;
4
+ flex: 1;
5
+ }
@@ -0,0 +1 @@
1
+ export { default } from './CodeInput';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _CodeInput.default;
10
+ }
11
+ });
12
+ var _CodeInput = _interopRequireDefault(require("./CodeInput"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29kZUlucHV0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvZGVJbnB1dC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gJy4vQ29kZUlucHV0JztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBc0MsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUEifQ==
@@ -14,12 +14,15 @@ declare class _CollapsableInterface {
14
14
  * A helper function for interacting with collapsables without a reference
15
15
  */
16
16
  export declare function CollapsableInterface(id: string): _CollapsableInterface;
17
+ /**
18
+ * Allows collapsing and expanding the wrapped content
19
+ **/
17
20
  declare const Collapsable: React.ForwardRefExoticComponent<(React.PropsWithChildren<{
18
21
  title: React.ReactNode;
19
22
  className?: string | undefined;
20
23
  contentClassName?: string | undefined;
21
- onToggleOpen: (isOpen: boolean) => void;
22
- open: boolean;
24
+ onToggleOpen?: ((isOpen: boolean) => void) | undefined;
25
+ open?: boolean | undefined;
23
26
  id?: string | undefined;
24
27
  "data-testid"?: string | undefined;
25
28
  onContentClick?: HTMLAttributes<HTMLInputElement>["onClick"];
@@ -10,6 +10,7 @@ var _FadeIn = _interopRequireDefault(require("../FadeIn"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _CollapsableModule = _interopRequireDefault(require("./Collapsable.module.scss"));
12
12
  var _AnchoredTooltip = require("../AnchoredTooltip/AnchoredTooltip");
13
+ var _OneUIProvider = require("../../context/OneUIProvider");
13
14
  const _excluded = ["children", "title", "className", "onToggleOpen", "open", "id", "mode", "contentClassName", "onContentClick", "keepUnderlayingElement", "onClickOut"];
14
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -23,17 +24,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
23
24
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
25
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
25
26
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
27
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
28
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
30
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
31
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
33
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
34
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
- /**
29
- * Wrapps some content on a collapsable header
30
- **/
31
35
  function _Collapsable(_ref, ref) {
32
36
  let children = _ref.children,
33
37
  title = _ref.title,
34
38
  className = _ref.className,
35
- onToggleOpen = _ref.onToggleOpen,
36
- open = _ref.open,
39
+ _onToggleOpen = _ref.onToggleOpen,
40
+ _open = _ref.open,
37
41
  id = _ref.id,
38
42
  _ref$mode = _ref.mode,
39
43
  mode = _ref$mode === void 0 ? "block" : _ref$mode,
@@ -42,6 +46,13 @@ function _Collapsable(_ref, ref) {
42
46
  keepUnderlayingElement = _ref.keepUnderlayingElement,
43
47
  onClickOut = _ref.onClickOut,
44
48
  props = _objectWithoutProperties(_ref, _excluded);
49
+ const globalClassName = (0, _OneUIProvider.useOneUIConfig)("component.collapsable.className", "");
50
+ const _useState = (0, _react.useState)(!!_open),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ localOpen = _useState2[0],
53
+ setLocalOpen = _useState2[1];
54
+ const open = _open === undefined ? localOpen : _open;
55
+ const onToggleOpen = _onToggleOpen === undefined ? setLocalOpen : _onToggleOpen;
45
56
  const contentRef = (0, _react.useRef)(null);
46
57
  const toggleRef = (0, _react.useRef)(null);
47
58
  (0, _react.useEffect)(function () {
@@ -122,7 +133,7 @@ function _Collapsable(_ref, ref) {
122
133
  const propsToSpread = _objectSpread({}, props);
123
134
  delete propsToSpread.alignTo;
124
135
  return /*#__PURE__*/_react.default.createElement("div", _extends({
125
- className: "".concat(_CollapsableModule.default.container, " ").concat(open ? _CollapsableModule.default.open : _CollapsableModule.default.closed, " ").concat(className)
136
+ className: "".concat(_CollapsableModule.default.container, " ").concat(open ? _CollapsableModule.default.open : _CollapsableModule.default.closed, " ").concat(className, " ").concat(globalClassName)
126
137
  }, propsToSpread), /*#__PURE__*/_react.default.createElement("div", {
127
138
  ref: toggleRef,
128
139
  onClick: function onClick(e) {
@@ -186,7 +197,11 @@ let _CollapsableInterface = /*#__PURE__*/function () {
186
197
  function CollapsableInterface(id) {
187
198
  return new _CollapsableInterface(id);
188
199
  }
200
+
201
+ /**
202
+ * Allows collapsing and expanding the wrapped content
203
+ **/
189
204
  const Collapsable = /*#__PURE__*/(0, _react.forwardRef)(_Collapsable);
190
205
  var _default = Collapsable;
191
206
  exports.default = _default;
192
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRmFkZUluIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9Db2xsYXBzYWJsZU1vZHVsZSIsIl9BbmNob3JlZFRvb2x0aXAiLCJfZXhjbHVkZWQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9jbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiQ29uc3RydWN0b3IiLCJUeXBlRXJyb3IiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiaSIsImxlbmd0aCIsImRlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9Qcm9wZXJ0eUtleSIsIl9jcmVhdGVDbGFzcyIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsImFyZ3VtZW50cyIsInNvdXJjZSIsImFwcGx5Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsInZhbHVlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiTnVtYmVyIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiZXhjbHVkZWQiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsInNvdXJjZVN5bWJvbEtleXMiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJzb3VyY2VLZXlzIiwiX0NvbGxhcHNhYmxlIiwiX3JlZiIsInJlZiIsImNoaWxkcmVuIiwidGl0bGUiLCJjbGFzc05hbWUiLCJvblRvZ2dsZU9wZW4iLCJvcGVuIiwiaWQiLCJfcmVmJG1vZGUiLCJtb2RlIiwiY29udGVudENsYXNzTmFtZSIsIm9uQ29udGVudENsaWNrIiwia2VlcFVuZGVybGF5aW5nRWxlbWVudCIsIm9uQ2xpY2tPdXQiLCJjb250ZW50UmVmIiwidXNlUmVmIiwidG9nZ2xlUmVmIiwidXNlRWZmZWN0Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZWRpbWVuc2lvbiIsImNhblNocmluayIsImVsIiwiY3VycmVudCIsImNvbnRlbnRFbCIsImZpcnN0RWxlbWVudENoaWxkIiwic3R5bGUiLCJtYXJnaW5Ub3AiLCJoZWlnaHQiLCJNYXRoIiwibWluIiwiY2xpZW50SGVpZ2h0IiwiUE9TSVRJVkVfSU5GSU5JVFkiLCJzY3JvbGxIZWlnaHQiLCJ2aXN1YWxWaWV3cG9ydCIsInBhcmVudEVsZW1lbnQiLCJwb3NpdGlvbiIsIm1pbkhlaWdodCIsIl91cGRhdGVUb29sdGlwUG9zaXRpbyIsInVwZGF0ZVRvb2x0aXBQb3NpdGlvbiIsImFsaWduVG8iLCJBbmNob3JlZFRvb2x0aXBBbGlnbm1lbnQiLCJDRU5URVIiLCJhbmNob3JUbyIsInNob3VsZEFuY2hvclRvQm90dG9tIiwidHJhbnNpdGlvblN0YXJ0IiwiX3JlZjIiLCJjdXJyZW50VGFyZ2V0IiwicHJvcGVydHlOYW1lIiwiY2xhc3NMaXN0IiwiYWRkIiwiU3R5bGVzIiwidHJhbnNpdGlvbk1hcmdpblRvcCIsIm9uVHJhbnNpdGlvbkVuZCIsInNldFRpbWVvdXQiLCJjb25jYXQiLCJyZW1vdmUiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlTGF5b3V0RWZmZWN0IiwicHJvcHNUb1NwcmVhZCIsImNyZWF0ZUVsZW1lbnQiLCJjb250YWluZXIiLCJjbG9zZWQiLCJvbkNsaWNrIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIl9jb2xsYXBzYWJsZUlkIiwiY29udGVudCIsInR5cGUiLCJfQ29sbGFwc2FibGVJbnRlcmZhY2UiLCJfaWQiLCJfZ2V0RWxlbWVudHMiLCJoZWFkZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwib25PcGVuZWQiLCJfdGhpcyRfZ2V0RWxlbWVudHMiLCJjbGljayIsIl9oYW5kbGVyIiwiZ2V0RWxlbWVudCIsIkNvbGxhcHNhYmxlSW50ZXJmYWNlIiwiQ29sbGFwc2FibGUiLCJmb3J3YXJkUmVmIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGFwc2FibGUvQ29sbGFwc2FibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGYWRlSW4gZnJvbSBcIi4uL0ZhZGVJblwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEZvcndhcmRlZFJlZixcbiAgSFRNTEF0dHJpYnV0ZXMsXG4gIEhUTUxQcm9wcyxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIGZvcndhcmRSZWYsXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBTdHlsZXMgZnJvbSBcIi4vQ29sbGFwc2FibGUubW9kdWxlLnNjc3NcIjtcbmltcG9ydCB7XG4gIEFuY2hvcmVkVG9vbHRpcEFsaWdubWVudCxcbiAgQW5jaG9yZWRUb29sdGlwQW5jaG9yLFxuICB1cGRhdGVUb29sdGlwUG9zaXRpb24sXG59IGZyb20gXCIuLi9BbmNob3JlZFRvb2x0aXAvQW5jaG9yZWRUb29sdGlwXCI7XG5cbi8qKlxuICogV3JhcHBzIHNvbWUgY29udGVudCBvbiBhIGNvbGxhcHNhYmxlIGhlYWRlclxuICoqL1xuZnVuY3Rpb24gX0NvbGxhcHNhYmxlKFxuICB7XG4gICAgY2hpbGRyZW4sXG4gICAgdGl0bGUsXG4gICAgY2xhc3NOYW1lLFxuICAgIG9uVG9nZ2xlT3BlbixcbiAgICBvcGVuLFxuICAgIGlkLFxuICAgIG1vZGUgPSBcImJsb2NrXCIsXG4gICAgY29udGVudENsYXNzTmFtZSxcbiAgICBvbkNvbnRlbnRDbGljayxcbiAgICBrZWVwVW5kZXJsYXlpbmdFbGVtZW50LFxuICAgIG9uQ2xpY2tPdXQsXG4gICAgLi4ucHJvcHNcbiAgfTogUHJvcHNXaXRoQ2hpbGRyZW48XG4gICAge1xuICAgICAgdGl0bGU6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgIGNvbnRlbnRDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgICBvblRvZ2dsZU9wZW46IChpc09wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgICBvcGVuOiBib29sZWFuO1xuICAgICAgaWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBcImRhdGEtdGVzdGlkXCI/OiBzdHJpbmc7XG4gICAgICBvbkNvbnRlbnRDbGljaz86IEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+W1wib25DbGlja1wiXTtcbiAgICAgIC8qKlxuICAgICAgICogVGhpcyBmbGFnIGluZGljYXRlcyBpZiB0aGUgY29sbGFwc2FibGUgY29udGVudCBzaG91bGQgYmUga2VwdCBpbiBIVE1MIHdoaWxlIGl0J3MgY29sbGFwc2VkXG4gICAgICAgKlxuICAgICAgICogVXNlZnVsbCBmb3IgcmVzcG9uc2l2ZSBsYXlvdXRzIHdoZXJlIHRoZSBjb2xsYXBzYWJsZSBzaG91bGQgbm90IFwiYmVoYXZlXCIgYXMgYSBjb2xsYXBzYWJsZSBjb250ZW50XG4gICAgICAgKi9cbiAgICAgIGtlZXBVbmRlcmxheWluZ0VsZW1lbnQ/OiBib29sZWFuO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRvIGRldGVjdCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvdXQgb2YgdGhlIGNvbnRhaW5lclxuICAgICAgICovXG4gICAgICBvbkNsaWNrT3V0PzogKCkgPT4gdm9pZDtcbiAgICB9ICYgKFxuICAgICAgfCB7XG4gICAgICAgICAgLyoqIFRoaXMgd2lsbCBkZWZpbmUgaWYgdGhlIGNvbnRlbnQgd2lsbCBiZSBmbG9hdGluZyB1bmRlciB0aGUgdGl0bGUgb3Igd2lsbCBleHBhbmQgYWxsIHRoZSBjb250YWluZXIgYXMgb25lICovXG4gICAgICAgICAgbW9kZT86IFwiYmxvY2tcIjtcbiAgICAgICAgfVxuICAgICAgfCB7XG4gICAgICAgICAgbW9kZTogXCJmbG9hdFwiO1xuICAgICAgICAgIGFsaWduVG86IEFuY2hvcmVkVG9vbHRpcEFsaWdubWVudDtcbiAgICAgICAgICBhbmNob3JUbz86IEFuY2hvcmVkVG9vbHRpcEFuY2hvcjtcbiAgICAgICAgfVxuICAgIClcbiAgPiAmXG4gICAgT21pdDxIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4sIFwidGl0bGVcIj4sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHsgcmVkaW1lbnNpb246ICgpID0+IHZvaWQgfT5cbikge1xuICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdG9nZ2xlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuICYmIG9uQ2xpY2tPdXQpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgb25DbGlja091dCk7XG4gICAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBvbkNsaWNrT3V0KTtcbiAgICB9XG4gIH0sIFshIW9uQ2xpY2tPdXQsIG9wZW5dKTtcblxuICBmdW5jdGlvbiByZWRpbWVuc2lvbihjYW5TaHJpbms6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGNvbnN0IGVsID0gY29udGVudFJlZi5jdXJyZW50ITtcbiAgICBjb25zdCBjb250ZW50RWwgPSBlbC5maXJzdEVsZW1lbnRDaGlsZCEgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIGVsLnN0eWxlLm1hcmdpblRvcCA9IGBgO1xuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID1cbiAgICAgICAgTWF0aC5taW4oXG4gICAgICAgICAgY2FuU2hyaW5rID8gY29udGVudEVsLmNsaWVudEhlaWdodCA6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxcbiAgICAgICAgICBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgdmlzdWFsVmlld3BvcnQhLmhlaWdodCAtIDE2XG4gICAgICAgICkgKyBcInB4XCI7XG4gICAgICBlbC5wYXJlbnRFbGVtZW50IS5zdHlsZS5wb3NpdGlvbiA9IFwicmVsYXRpdmVcIjtcbiAgICAgIGlmIChtb2RlID09PSBcImZsb2F0XCIpIHtcbiAgICAgICAgZWwuc3R5bGUubWluSGVpZ2h0ID0gZWwuc3R5bGUuaGVpZ2h0O1xuICAgICAgICBjb25zdCB7IHNob3VsZEFuY2hvclRvQm90dG9tIH0gPSB1cGRhdGVUb29sdGlwUG9zaXRpb24oXG4gICAgICAgICAgZWwsXG4gICAgICAgICAgdG9nZ2xlUmVmLmN1cnJlbnQhLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgXCJhbGlnblRvXCIgaW4gcHJvcHMgPyBwcm9wcy5hbGlnblRvIDogQW5jaG9yZWRUb29sdGlwQWxpZ25tZW50LkNFTlRFUixcbiAgICAgICAgICBcImFuY2hvclRvXCIgaW4gcHJvcHMgPyBwcm9wcy5hbmNob3JUbyA6IHVuZGVmaW5lZFxuICAgICAgICApO1xuICAgICAgICBlbC5zdHlsZS5taW5IZWlnaHQgPSBcIlwiO1xuICAgICAgICBpZiAoIXNob3VsZEFuY2hvclRvQm90dG9tKSB7XG4gICAgICAgICAgZWwuc3R5bGUubWFyZ2luVG9wID0gZWwuc3R5bGUuaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRyYW5zaXRpb25TdGFydCA9ICh7XG4gICAgICAgICAgY3VycmVudFRhcmdldCxcbiAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgcHJvcGVydHlOYW1lLFxuICAgICAgICB9OiBUcmFuc2l0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0ID09PSB0YXJnZXQgJiZcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZSA9PSBcImhlaWdodFwiICYmXG4gICAgICAgICAgICAhc2hvdWxkQW5jaG9yVG9Cb3R0b21cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoU3R5bGVzLnRyYW5zaXRpb25NYXJnaW5Ub3ApO1xuICAgICAgICAgICAgZWwuc3R5bGUubWFyZ2luVG9wID0gXCIwcHhcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uc3RhcnRcIiwgdHJhbnNpdGlvblN0YXJ0KTtcbiAgICAgICAgcmV0dXJuICgpID0+IGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uc3RhcnRcIiwgdHJhbnNpdGlvblN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uVHJhbnNpdGlvbkVuZCA9ICgpID0+IHtcbiAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gXCJhdXRvXCI7XG4gICAgICB9O1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsICgpID0+XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIG9uVHJhbnNpdGlvbkVuZClcbiAgICAgICk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0ICsgXCJweFwiO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChlbC5zdHlsZS5tYXJnaW5Ub3AgPT09IFwiMHB4XCIpXG4gICAgICAgICAgZWwuc3R5bGUubWFyZ2luVG9wID0gYCR7ZWwuY2xpZW50SGVpZ2h0fXB4YDtcbiAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gMCArIFwicHhcIjtcbiAgICAgIH0sIDEwMCk7XG4gICAgICBjb25zdCBvblRyYW5zaXRpb25FbmQgPSAoKSA9PiB7XG4gICAgICAgIGVsLnBhcmVudEVsZW1lbnQhLnN0eWxlLnBvc2l0aW9uID0gXCJpbml0aWFsXCI7XG4gICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoU3R5bGVzLnRyYW5zaXRpb25NYXJnaW5Ub3ApO1xuICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgfTtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIG9uVHJhbnNpdGlvbkVuZCk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICByZWRpbWVuc2lvbjogKCkgPT4gcmVkaW1lbnNpb24odHJ1ZSksXG4gIH0pKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIHJlZGltZW5zaW9uKCk7XG4gIH0sIFtvcGVuXSk7XG5cbiAgY29uc3QgcHJvcHNUb1NwcmVhZCA9IHsgLi4ucHJvcHMgfSBhcyBhbnk7XG4gIGRlbGV0ZSBwcm9wc1RvU3ByZWFkLmFsaWduVG87XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5jb250YWluZXJ9ICR7XG4gICAgICAgIG9wZW4gPyBTdHlsZXMub3BlbiA6IFN0eWxlcy5jbG9zZWRcbiAgICAgIH0gJHtjbGFzc05hbWV9YH1cbiAgICAgIHsuLi5wcm9wc1RvU3ByZWFkfVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXt0b2dnbGVSZWZ9XG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBvblRvZ2dsZU9wZW4oIW9wZW4pO1xuICAgICAgICB9fVxuICAgICAgICBpZD17X2NvbGxhcHNhYmxlSWQoXCJoZWFkZXJcIiwgaWQpfVxuICAgICAgPlxuICAgICAgICB7dGl0bGV9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGlmIChvbkNvbnRlbnRDbGljaykgb25Db250ZW50Q2xpY2soZSBhcyBhbnkpO1xuICAgICAgICB9fVxuICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLmNvbnRlbnR9ICR7XG4gICAgICAgICAgU3R5bGVzW21vZGVdIHx8IFwiXCJcbiAgICAgICAgfSAke2NvbnRlbnRDbGFzc05hbWV9YH1cbiAgICAgICAgaWQ9e19jb2xsYXBzYWJsZUlkKFwiY29udGVudFwiLCBpZCl9XG4gICAgICA+XG4gICAgICAgIDxGYWRlSW4+e29wZW4gfHwga2VlcFVuZGVybGF5aW5nRWxlbWVudCA/IGNoaWxkcmVuIDogbnVsbH08L0ZhZGVJbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBfY29sbGFwc2FibGVJZCh0eXBlOiBcImhlYWRlclwiIHwgXCJjb250ZW50XCIsIGlkPzogc3RyaW5nKSB7XG4gIHJldHVybiBpZCA/IGBjb2xsYXBzYWJsZV8ke3R5cGV9XyR7aWR9YCA6IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgX0NvbGxhcHNhYmxlSW50ZXJmYWNlIHtcbiAgX2lkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gaWQ7XG4gIH1cblxuICBfZ2V0RWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWRlcjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2NvbGxhcHNhYmxlSWQoXCJoZWFkZXJcIiwgdGhpcy5faWQpISksXG4gICAgICBjb250ZW50OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChfY29sbGFwc2FibGVJZChcImNvbnRlbnRcIiwgdGhpcy5faWQpISksXG4gICAgfTtcbiAgfVxuXG4gIG9wZW4ob25PcGVuZWQ6ICgpID0+IHZvaWQpIHtcbiAgICBjb25zdCB7IGhlYWRlciwgY29udGVudCB9ID0gdGhpcy5fZ2V0RWxlbWVudHMoKTtcbiAgICBpZiAoKGNvbnRlbnQ/LmNsaWVudEhlaWdodCB8fCAwKSA9PT0gMCkge1xuICAgICAgaGVhZGVyIS5jbGljaygpO1xuICAgICAgY29udGVudCEuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgZnVuY3Rpb24gX2hhbmRsZXIoKSB7XG4gICAgICAgIGNvbnRlbnQhLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIF9oYW5kbGVyKTtcbiAgICAgICAgb25PcGVuZWQoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbk9wZW5lZCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldEVsZW1lbnQodHlwZTogXCJoZWFkZXJcIiB8IFwiY29udGVudFwiKTogSFRNTERpdkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXG4gICAgICBfY29sbGFwc2FibGVJZCh0eXBlLCB0aGlzLl9pZCkhXG4gICAgKSBhcyBIVE1MRGl2RWxlbWVudCB8IG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBjb2xsYXBzYWJsZXMgd2l0aG91dCBhIHJlZmVyZW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gQ29sbGFwc2FibGVJbnRlcmZhY2UoaWQ6IHN0cmluZykge1xuICByZXR1cm4gbmV3IF9Db2xsYXBzYWJsZUludGVyZmFjZShpZCk7XG59XG5cbmNvbnN0IENvbGxhcHNhYmxlID0gZm9yd2FyZFJlZihfQ29sbGFwc2FibGUpO1xuZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2FibGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBWUEsSUFBQUcsa0JBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFJNEMsTUFBQUssU0FBQTtBQUFBLFNBQUFDLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQUFBLFNBQUFuQix1QkFBQVksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFHLE9BQUEsRUFBQUgsR0FBQTtBQUFBLFNBQUFrQixnQkFBQUMsUUFBQSxFQUFBQyxXQUFBLFVBQUFELFFBQUEsWUFBQUMsV0FBQSxlQUFBQyxTQUFBO0FBQUEsU0FBQUMsa0JBQUFDLE1BQUEsRUFBQUMsS0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQUQsS0FBQSxDQUFBRSxNQUFBLEVBQUFELENBQUEsVUFBQUUsVUFBQSxHQUFBSCxLQUFBLENBQUFDLENBQUEsR0FBQUUsVUFBQSxDQUFBQyxVQUFBLEdBQUFELFVBQUEsQ0FBQUMsVUFBQSxXQUFBRCxVQUFBLENBQUFFLFlBQUEsd0JBQUFGLFVBQUEsRUFBQUEsVUFBQSxDQUFBRyxRQUFBLFNBQUFyQixNQUFBLENBQUFDLGNBQUEsQ0FBQWEsTUFBQSxFQUFBUSxjQUFBLENBQUFKLFVBQUEsQ0FBQWYsR0FBQSxHQUFBZSxVQUFBO0FBQUEsU0FBQUssYUFBQVosV0FBQSxFQUFBYSxVQUFBLEVBQUFDLFdBQUEsUUFBQUQsVUFBQSxFQUFBWCxpQkFBQSxDQUFBRixXQUFBLENBQUFQLFNBQUEsRUFBQW9CLFVBQUEsT0FBQUMsV0FBQSxFQUFBWixpQkFBQSxDQUFBRixXQUFBLEVBQUFjLFdBQUEsR0FBQXpCLE1BQUEsQ0FBQUMsY0FBQSxDQUFBVSxXQUFBLGlCQUFBVSxRQUFBLG1CQUFBVixXQUFBO0FBQUEsU0FBQWUsU0FBQSxJQUFBQSxRQUFBLEdBQUExQixNQUFBLENBQUEyQixNQUFBLEdBQUEzQixNQUFBLENBQUEyQixNQUFBLENBQUFDLElBQUEsZUFBQWQsTUFBQSxhQUFBRSxDQUFBLE1BQUFBLENBQUEsR0FBQWEsU0FBQSxDQUFBWixNQUFBLEVBQUFELENBQUEsVUFBQWMsTUFBQSxHQUFBRCxTQUFBLENBQUFiLENBQUEsWUFBQWIsR0FBQSxJQUFBMkIsTUFBQSxRQUFBOUIsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBd0IsTUFBQSxFQUFBM0IsR0FBQSxLQUFBVyxNQUFBLENBQUFYLEdBQUEsSUFBQTJCLE1BQUEsQ0FBQTNCLEdBQUEsZ0JBQUFXLE1BQUEsWUFBQVksUUFBQSxDQUFBSyxLQUFBLE9BQUFGLFNBQUE7QUFBQSxTQUFBRyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBbkMsTUFBQSxDQUFBbUMsSUFBQSxDQUFBRixNQUFBLE9BQUFqQyxNQUFBLENBQUFvQyxxQkFBQSxRQUFBQyxPQUFBLEdBQUFyQyxNQUFBLENBQUFvQyxxQkFBQSxDQUFBSCxNQUFBLEdBQUFDLGNBQUEsS0FBQUcsT0FBQSxHQUFBQSxPQUFBLENBQUFDLE1BQUEsV0FBQUMsR0FBQSxXQUFBdkMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBK0IsTUFBQSxFQUFBTSxHQUFBLEVBQUFwQixVQUFBLE9BQUFnQixJQUFBLENBQUFLLElBQUEsQ0FBQVQsS0FBQSxDQUFBSSxJQUFBLEVBQUFFLE9BQUEsWUFBQUYsSUFBQTtBQUFBLFNBQUFNLGNBQUEzQixNQUFBLGFBQUFFLENBQUEsTUFBQUEsQ0FBQSxHQUFBYSxTQUFBLENBQUFaLE1BQUEsRUFBQUQsQ0FBQSxVQUFBYyxNQUFBLFdBQUFELFNBQUEsQ0FBQWIsQ0FBQSxJQUFBYSxTQUFBLENBQUFiLENBQUEsUUFBQUEsQ0FBQSxPQUFBZ0IsT0FBQSxDQUFBaEMsTUFBQSxDQUFBOEIsTUFBQSxPQUFBWSxPQUFBLFdBQUF2QyxHQUFBLElBQUF3QyxlQUFBLENBQUE3QixNQUFBLEVBQUFYLEdBQUEsRUFBQTJCLE1BQUEsQ0FBQTNCLEdBQUEsU0FBQUgsTUFBQSxDQUFBNEMseUJBQUEsR0FBQTVDLE1BQUEsQ0FBQTZDLGdCQUFBLENBQUEvQixNQUFBLEVBQUFkLE1BQUEsQ0FBQTRDLHlCQUFBLENBQUFkLE1BQUEsS0FBQUUsT0FBQSxDQUFBaEMsTUFBQSxDQUFBOEIsTUFBQSxHQUFBWSxPQUFBLFdBQUF2QyxHQUFBLElBQUFILE1BQUEsQ0FBQUMsY0FBQSxDQUFBYSxNQUFBLEVBQUFYLEdBQUEsRUFBQUgsTUFBQSxDQUFBRSx3QkFBQSxDQUFBNEIsTUFBQSxFQUFBM0IsR0FBQSxpQkFBQVcsTUFBQTtBQUFBLFNBQUE2QixnQkFBQXBELEdBQUEsRUFBQVksR0FBQSxFQUFBMkMsS0FBQSxJQUFBM0MsR0FBQSxHQUFBbUIsY0FBQSxDQUFBbkIsR0FBQSxPQUFBQSxHQUFBLElBQUFaLEdBQUEsSUFBQVMsTUFBQSxDQUFBQyxjQUFBLENBQUFWLEdBQUEsRUFBQVksR0FBQSxJQUFBMkMsS0FBQSxFQUFBQSxLQUFBLEVBQUEzQixVQUFBLFFBQUFDLFlBQUEsUUFBQUMsUUFBQSxvQkFBQTlCLEdBQUEsQ0FBQVksR0FBQSxJQUFBMkMsS0FBQSxXQUFBdkQsR0FBQTtBQUFBLFNBQUErQixlQUFBeUIsR0FBQSxRQUFBNUMsR0FBQSxHQUFBNkMsWUFBQSxDQUFBRCxHQUFBLG9CQUFBdEQsT0FBQSxDQUFBVSxHQUFBLGlCQUFBQSxHQUFBLEdBQUE4QyxNQUFBLENBQUE5QyxHQUFBO0FBQUEsU0FBQTZDLGFBQUFFLEtBQUEsRUFBQUMsSUFBQSxRQUFBMUQsT0FBQSxDQUFBeUQsS0FBQSxrQkFBQUEsS0FBQSxrQkFBQUEsS0FBQSxNQUFBRSxJQUFBLEdBQUFGLEtBQUEsQ0FBQUcsTUFBQSxDQUFBQyxXQUFBLE9BQUFGLElBQUEsS0FBQUcsU0FBQSxRQUFBQyxHQUFBLEdBQUFKLElBQUEsQ0FBQTlDLElBQUEsQ0FBQTRDLEtBQUEsRUFBQUMsSUFBQSxvQkFBQTFELE9BQUEsQ0FBQStELEdBQUEsdUJBQUFBLEdBQUEsWUFBQTVDLFNBQUEsNERBQUF1QyxJQUFBLGdCQUFBRixNQUFBLEdBQUFRLE1BQUEsRUFBQVAsS0FBQTtBQUFBLFNBQUFRLHlCQUFBNUIsTUFBQSxFQUFBNkIsUUFBQSxRQUFBN0IsTUFBQSx5QkFBQWhCLE1BQUEsR0FBQThDLDZCQUFBLENBQUE5QixNQUFBLEVBQUE2QixRQUFBLE9BQUF4RCxHQUFBLEVBQUFhLENBQUEsTUFBQWhCLE1BQUEsQ0FBQW9DLHFCQUFBLFFBQUF5QixnQkFBQSxHQUFBN0QsTUFBQSxDQUFBb0MscUJBQUEsQ0FBQU4sTUFBQSxRQUFBZCxDQUFBLE1BQUFBLENBQUEsR0FBQTZDLGdCQUFBLENBQUE1QyxNQUFBLEVBQUFELENBQUEsTUFBQWIsR0FBQSxHQUFBMEQsZ0JBQUEsQ0FBQTdDLENBQUEsT0FBQTJDLFFBQUEsQ0FBQUcsT0FBQSxDQUFBM0QsR0FBQSx1QkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUEyRCxvQkFBQSxDQUFBekQsSUFBQSxDQUFBd0IsTUFBQSxFQUFBM0IsR0FBQSxhQUFBVyxNQUFBLENBQUFYLEdBQUEsSUFBQTJCLE1BQUEsQ0FBQTNCLEdBQUEsY0FBQVcsTUFBQTtBQUFBLFNBQUE4Qyw4QkFBQTlCLE1BQUEsRUFBQTZCLFFBQUEsUUFBQTdCLE1BQUEseUJBQUFoQixNQUFBLFdBQUFrRCxVQUFBLEdBQUFoRSxNQUFBLENBQUFtQyxJQUFBLENBQUFMLE1BQUEsT0FBQTNCLEdBQUEsRUFBQWEsQ0FBQSxPQUFBQSxDQUFBLE1BQUFBLENBQUEsR0FBQWdELFVBQUEsQ0FBQS9DLE1BQUEsRUFBQUQsQ0FBQSxNQUFBYixHQUFBLEdBQUE2RCxVQUFBLENBQUFoRCxDQUFBLE9BQUEyQyxRQUFBLENBQUFHLE9BQUEsQ0FBQTNELEdBQUEsa0JBQUFXLE1BQUEsQ0FBQVgsR0FBQSxJQUFBMkIsTUFBQSxDQUFBM0IsR0FBQSxZQUFBVyxNQUFBO0FBRTVDO0FBQ0E7QUFDQTtBQUNBLFNBQVNtRCxZQUFZQSxDQUFBQyxJQUFBLEVBZ0RuQkMsR0FBOEMsRUFDOUM7RUFBQSxJQS9DRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFDUkMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7SUFDTEMsU0FBUyxHQUFBSixJQUFBLENBQVRJLFNBQVM7SUFDVEMsWUFBWSxHQUFBTCxJQUFBLENBQVpLLFlBQVk7SUFDWkMsSUFBSSxHQUFBTixJQUFBLENBQUpNLElBQUk7SUFDSkMsRUFBRSxHQUFBUCxJQUFBLENBQUZPLEVBQUU7SUFBQUMsU0FBQSxHQUFBUixJQUFBLENBQ0ZTLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxTQUFBLGNBQUcsT0FBTyxHQUFBQSxTQUFBO0lBQ2RFLGdCQUFnQixHQUFBVixJQUFBLENBQWhCVSxnQkFBZ0I7SUFDaEJDLGNBQWMsR0FBQVgsSUFBQSxDQUFkVyxjQUFjO0lBQ2RDLHNCQUFzQixHQUFBWixJQUFBLENBQXRCWSxzQkFBc0I7SUFDdEJDLFVBQVUsR0FBQWIsSUFBQSxDQUFWYSxVQUFVO0lBQ1BoRSxLQUFLLEdBQUEyQyx3QkFBQSxDQUFBUSxJQUFBLEVBQUFqRixTQUFBO0VBcUNWLE1BQU0rRixVQUFVLEdBQUcsSUFBQUMsYUFBTSxFQUFpQixJQUFJLENBQUM7RUFDL0MsTUFBTUMsU0FBUyxHQUFHLElBQUFELGFBQU0sRUFBaUIsSUFBSSxDQUFDO0VBRTlDLElBQUFFLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUlYLElBQUksSUFBSU8sVUFBVSxFQUFFO01BQ3RCSyxNQUFNLENBQUNDLGdCQUFnQixDQUFDLE9BQU8sRUFBRU4sVUFBVSxDQUFDO01BQzVDLE9BQU87UUFBQSxPQUFNSyxNQUFNLENBQUNFLG1CQUFtQixDQUFDLE9BQU8sRUFBRVAsVUFBVSxDQUFDO01BQUE7SUFDOUQ7RUFDRixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUNBLFVBQVUsRUFBRVAsSUFBSSxDQUFDLENBQUM7RUFFeEIsU0FBU2UsWUFBV0EsQ0FBQSxFQUE2QjtJQUFBLElBQTVCQyxTQUFrQixHQUFBM0QsU0FBQSxDQUFBWixNQUFBLFFBQUFZLFNBQUEsUUFBQTBCLFNBQUEsR0FBQTFCLFNBQUEsTUFBRyxLQUFLO0lBQzdDLE1BQU00RCxFQUFFLEdBQUdULFVBQVUsQ0FBQ1UsT0FBUTtJQUM5QixNQUFNQyxTQUFTLEdBQUdGLEVBQUUsQ0FBQ0csaUJBQW9DO0lBQ3pELElBQUlwQixJQUFJLEVBQUU7TUFDUmlCLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxTQUFTLEtBQUs7TUFDdkJMLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDRSxNQUFNLEdBQ2JDLElBQUksQ0FBQ0MsR0FBRyxDQUNOVCxTQUFTLEdBQUdHLFNBQVMsQ0FBQ08sWUFBWSxHQUFHekMsTUFBTSxDQUFDMEMsaUJBQWlCLEVBQzdEVixFQUFFLENBQUNXLFlBQVksRUFDZkMsY0FBYyxDQUFFTixNQUFNLEdBQUcsRUFDM0IsQ0FBQyxHQUFHLElBQUk7TUFDVk4sRUFBRSxDQUFDYSxhQUFhLENBQUVULEtBQUssQ0FBQ1UsUUFBUSxHQUFHLFVBQVU7TUFDN0MsSUFBSTVCLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDcEJjLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDVyxTQUFTLEdBQUdmLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDRSxNQUFNO1FBQ3BDLE1BQUFVLHFCQUFBLEdBQWlDLElBQUFDLHNDQUFxQixFQUNwRGpCLEVBQUUsRUFDRlAsU0FBUyxDQUFDUSxPQUFPLEVBQ2pCLElBQUksRUFDSixTQUFTLElBQUkzRSxLQUFLLEdBQUdBLEtBQUssQ0FBQzRGLE9BQU8sR0FBR0MseUNBQXdCLENBQUNDLE1BQU0sRUFDcEUsVUFBVSxJQUFJOUYsS0FBSyxHQUFHQSxLQUFLLENBQUMrRixRQUFRLEdBQUd2RCxTQUN6QyxDQUFDO1VBTk93RCxvQkFBb0IsR0FBQU4scUJBQUEsQ0FBcEJNLG9CQUFvQjtRQU81QnRCLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDVyxTQUFTLEdBQUcsRUFBRTtRQUN2QixJQUFJLENBQUNPLG9CQUFvQixFQUFFO1VBQ3pCdEIsRUFBRSxDQUFDSSxLQUFLLENBQUNDLFNBQVMsR0FBR0wsRUFBRSxDQUFDSSxLQUFLLENBQUNFLE1BQU07UUFDdEM7UUFDQSxNQUFNaUIsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBQyxLQUFBLEVBSUU7VUFBQSxJQUhyQkMsYUFBYSxHQUFBRCxLQUFBLENBQWJDLGFBQWE7WUFDYnBHLE1BQU0sR0FBQW1HLEtBQUEsQ0FBTm5HLE1BQU07WUFDTnFHLFlBQVksR0FBQUYsS0FBQSxDQUFaRSxZQUFZO1VBRVosSUFDRUQsYUFBYSxLQUFLcEcsTUFBTSxJQUN4QnFHLFlBQVksSUFBSSxRQUFRLElBQ3hCLENBQUNKLG9CQUFvQixFQUNyQjtZQUNBdEIsRUFBRSxDQUFDMkIsU0FBUyxDQUFDQyxHQUFHLENBQUNDLDBCQUFNLENBQUNDLG1CQUFtQixDQUFDO1lBQzVDOUIsRUFBRSxDQUFDSSxLQUFLLENBQUNDLFNBQVMsR0FBRyxLQUFLO1VBQzVCO1FBQ0YsQ0FBQztRQUNETCxFQUFFLENBQUNKLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFMkIsZUFBZSxDQUFDO1FBQ3ZELE9BQU87VUFBQSxPQUFNdkIsRUFBRSxDQUFDSCxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRTBCLGVBQWUsQ0FBQztRQUFBO01BQ3pFO01BQ0EsTUFBTVEsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBLEVBQVM7UUFDNUIvQixFQUFFLENBQUNJLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLE1BQU07TUFDMUIsQ0FBQztNQUNETixFQUFFLENBQUNKLGdCQUFnQixDQUFDLGVBQWUsRUFBRW1DLGVBQWUsQ0FBQztNQUNyRC9CLEVBQUUsQ0FBQ0osZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1FBQUEsT0FDbkNJLEVBQUUsQ0FBQ0gsbUJBQW1CLENBQUMsZUFBZSxFQUFFa0MsZUFBZSxDQUFDO01BQUEsQ0FDMUQsQ0FBQztNQUNELE9BQU8sWUFBTTtRQUNYL0IsRUFBRSxDQUFDSCxtQkFBbUIsQ0FBQyxlQUFlLEVBQUVrQyxlQUFlLENBQUM7TUFDMUQsQ0FBQztJQUNILENBQUMsTUFBTTtNQUNML0IsRUFBRSxDQUFDSSxLQUFLLENBQUNFLE1BQU0sR0FBR04sRUFBRSxDQUFDUyxZQUFZLEdBQUcsSUFBSTtNQUN4Q3VCLFVBQVUsQ0FBQyxZQUFNO1FBQ2YsSUFBSWhDLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxTQUFTLEtBQUssS0FBSyxFQUM5QkwsRUFBRSxDQUFDSSxLQUFLLENBQUNDLFNBQVMsTUFBQTRCLE1BQUEsQ0FBTWpDLEVBQUUsQ0FBQ1MsWUFBWSxPQUFJO1FBQzdDVCxFQUFFLENBQUNJLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJO01BQzVCLENBQUMsRUFBRSxHQUFHLENBQUM7TUFDUCxNQUFNeUIsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBLEVBQVM7UUFDNUIvQixFQUFFLENBQUNhLGFBQWEsQ0FBRVQsS0FBSyxDQUFDVSxRQUFRLEdBQUcsU0FBUztRQUM1Q2QsRUFBRSxDQUFDMkIsU0FBUyxDQUFDTyxNQUFNLENBQUNMLDBCQUFNLENBQUNDLG1CQUFtQixDQUFDO1FBQy9DOUIsRUFBRSxDQUFDSCxtQkFBbUIsQ0FBQyxlQUFlLEVBQUVrQyxlQUFlLENBQUM7TUFDMUQsQ0FBQztNQUNEL0IsRUFBRSxDQUFDSixnQkFBZ0IsQ0FBQyxlQUFlLEVBQUVtQyxlQUFlLENBQUM7TUFDckQsT0FBTyxZQUFNO1FBQ1gvQixFQUFFLENBQUNILG1CQUFtQixDQUFDLGVBQWUsRUFBRWtDLGVBQWUsQ0FBQztNQUMxRCxDQUFDO0lBQ0g7RUFDRjtFQUVBLElBQUFJLDBCQUFtQixFQUFDekQsR0FBRyxFQUFFO0lBQUEsT0FBTztNQUM5Qm9CLFdBQVcsRUFBRSxTQUFBQSxZQUFBO1FBQUEsT0FBTUEsWUFBVyxDQUFDLElBQUksQ0FBQztNQUFBO0lBQ3RDLENBQUM7RUFBQSxDQUFDLENBQUM7RUFFSCxJQUFBc0Msc0JBQWUsRUFBQyxZQUFNO0lBQ3BCdEMsWUFBVyxDQUFDLENBQUM7RUFDZixDQUFDLEVBQUUsQ0FBQ2YsSUFBSSxDQUFDLENBQUM7RUFFVixNQUFNc0QsYUFBYSxHQUFBckYsYUFBQSxLQUFRMUIsS0FBSyxDQUFTO0VBQ3pDLE9BQU8rRyxhQUFhLENBQUNuQixPQUFPO0VBRTVCLG9CQUNFOUgsTUFBQSxDQUFBYSxPQUFBLENBQUFxSSxhQUFBLFFBQUFyRyxRQUFBO0lBQ0U0QyxTQUFTLEtBQUFvRCxNQUFBLENBQUtKLDBCQUFNLENBQUNVLFNBQVMsT0FBQU4sTUFBQSxDQUM1QmxELElBQUksR0FBRzhDLDBCQUFNLENBQUM5QyxJQUFJLEdBQUc4QywwQkFBTSxDQUFDVyxNQUFNLE9BQUFQLE1BQUEsQ0FDaENwRCxTQUFTO0VBQUcsR0FDWndELGFBQWEsZ0JBRWpCakosTUFBQSxDQUFBYSxPQUFBLENBQUFxSSxhQUFBO0lBQ0U1RCxHQUFHLEVBQUVlLFNBQVU7SUFDZmdELE9BQU8sRUFBRSxTQUFBQSxRQUFDQyxDQUFDLEVBQUs7TUFDZEEsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQztNQUNuQjdELFlBQVksQ0FBQyxDQUFDQyxJQUFJLENBQUM7SUFDckIsQ0FBRTtJQUNGQyxFQUFFLEVBQUU0RCxjQUFjLENBQUMsUUFBUSxFQUFFNUQsRUFBRTtFQUFFLEdBRWhDSixLQUNFLENBQUMsZUFDTnhGLE1BQUEsQ0FBQWEsT0FBQSxDQUFBcUksYUFBQTtJQUNFRyxPQUFPLEVBQUUsU0FBQUEsUUFBQ0MsQ0FBQyxFQUFLO01BQ2RBLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUM7TUFDbkIsSUFBSXZELGNBQWMsRUFBRUEsY0FBYyxDQUFDc0QsQ0FBUSxDQUFDO0lBQzlDLENBQUU7SUFDRmhFLEdBQUcsRUFBRWEsVUFBVztJQUNoQlYsU0FBUyxLQUFBb0QsTUFBQSxDQUFLSiwwQkFBTSxDQUFDZ0IsT0FBTyxPQUFBWixNQUFBLENBQzFCSiwwQkFBTSxDQUFDM0MsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFBK0MsTUFBQSxDQUNoQjlDLGdCQUFnQixDQUFHO0lBQ3ZCSCxFQUFFLEVBQUU0RCxjQUFjLENBQUMsU0FBUyxFQUFFNUQsRUFBRTtFQUFFLGdCQUVsQzVGLE1BQUEsQ0FBQWEsT0FBQSxDQUFBcUksYUFBQSxDQUFDckosT0FBQSxDQUFBZ0IsT0FBTSxRQUFFOEUsSUFBSSxJQUFJTSxzQkFBc0IsR0FBR1YsUUFBUSxHQUFHLElBQWEsQ0FDL0QsQ0FDRixDQUFDO0FBRVY7QUFFQSxTQUFTaUUsY0FBY0EsQ0FBQ0UsSUFBMEIsRUFBRTlELEVBQVcsRUFBRTtFQUMvRCxPQUFPQSxFQUFFLGtCQUFBaUQsTUFBQSxDQUFrQmEsSUFBSSxPQUFBYixNQUFBLENBQUlqRCxFQUFFLElBQUtsQixTQUFTO0FBQ3JEO0FBQUMsSUFFS2lGLHFCQUFxQjtFQUd6QixTQUFBQSxzQkFBWS9ELEVBQVUsRUFBRTtJQUFBaEUsZUFBQSxPQUFBK0gscUJBQUE7SUFDdEIsSUFBSSxDQUFDQyxHQUFHLEdBQUdoRSxFQUFFO0VBQ2Y7RUFBQ2xELFlBQUEsQ0FBQWlILHFCQUFBO0lBQUFySSxHQUFBO0lBQUEyQyxLQUFBLEVBRUQsU0FBQTRGLGFBQUEsRUFBZTtNQUNiLE9BQU87UUFDTEMsTUFBTSxFQUFFQyxRQUFRLENBQUNDLGNBQWMsQ0FBQ1IsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUNJLEdBQUcsQ0FBRSxDQUFDO1FBQ3BFSCxPQUFPLEVBQUVNLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDUixjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQ0ksR0FBRyxDQUFFO01BQ3ZFLENBQUM7SUFDSDtFQUFDO0lBQUF0SSxHQUFBO0lBQUEyQyxLQUFBLEVBRUQsU0FBQTBCLEtBQUtzRSxRQUFvQixFQUFFO01BQ3pCLE1BQUFDLGtCQUFBLEdBQTRCLElBQUksQ0FBQ0wsWUFBWSxDQUFDLENBQUM7UUFBdkNDLE1BQU0sR0FBQUksa0JBQUEsQ0FBTkosTUFBTTtRQUFFTCxPQUFPLEdBQUFTLGtCQUFBLENBQVBULE9BQU87TUFDdkIsSUFBSSxDQUFDLENBQUFBLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFcEMsWUFBWSxLQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEN5QyxNQUFNLENBQUVLLEtBQUssQ0FBQyxDQUFDO1FBQ2ZWLE9BQU8sQ0FBRWpELGdCQUFnQixDQUFDLGVBQWUsRUFBRSxTQUFTNEQsUUFBUUEsQ0FBQSxFQUFHO1VBQzdEWCxPQUFPLENBQUVoRCxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUyRCxRQUFRLENBQUM7VUFDdkRILFFBQVEsQ0FBQyxDQUFDO1FBQ1osQ0FBQyxDQUFDO01BQ0osQ0FBQyxNQUFNO1FBQ0xBLFFBQVEsQ0FBQyxDQUFDO01BQ1o7SUFDRjtFQUFDO0lBQUEzSSxHQUFBO0lBQUEyQyxLQUFBLEVBRUQsU0FBQW9HLFdBQVdYLElBQTBCLEVBQXlCO01BQzVELE9BQU9LLFFBQVEsQ0FBQ0MsY0FBYyxDQUM1QlIsY0FBYyxDQUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDRSxHQUFHLENBQy9CLENBQUM7SUFDSDtFQUFDO0VBQUEsT0FBQUQscUJBQUE7QUFBQTtBQUdIO0FBQ0E7QUFDQTtBQUNPLFNBQVNXLG9CQUFvQkEsQ0FBQzFFLEVBQVUsRUFBRTtFQUMvQyxPQUFPLElBQUkrRCxxQkFBcUIsQ0FBQy9ELEVBQUUsQ0FBQztBQUN0QztBQUVBLE1BQU0yRSxXQUFXLGdCQUFHLElBQUFDLGlCQUFVLEVBQUNwRixZQUFZLENBQUM7QUFBQyxJQUFBcUYsUUFBQSxHQUM5QkYsV0FBVztBQUFBRyxPQUFBLENBQUE3SixPQUFBLEdBQUE0SixRQUFBIn0=
207
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRmFkZUluIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9Db2xsYXBzYWJsZU1vZHVsZSIsIl9BbmNob3JlZFRvb2x0aXAiLCJfT25lVUlQcm92aWRlciIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJDb25zdHJ1Y3RvciIsIlR5cGVFcnJvciIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwidGFyZ2V0IiwicHJvcHMiLCJpIiwibGVuZ3RoIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1Byb3BlcnR5S2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwic291cmNlIiwiYXBwbHkiLCJvd25LZXlzIiwib2JqZWN0IiwiZW51bWVyYWJsZU9ubHkiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic3ltYm9scyIsImZpbHRlciIsInN5bSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwidmFsdWUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiX2kiLCJpdGVyYXRvciIsIl9zIiwiX2UiLCJfeCIsIl9yIiwiX2FyciIsIl9uIiwiX2QiLCJuZXh0IiwiZG9uZSIsImVyciIsInJldHVybiIsImlzQXJyYXkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJleGNsdWRlZCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwic291cmNlU3ltYm9sS2V5cyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInNvdXJjZUtleXMiLCJfQ29sbGFwc2FibGUiLCJfcmVmIiwicmVmIiwiY2hpbGRyZW4iLCJ0aXRsZSIsImNsYXNzTmFtZSIsIl9vblRvZ2dsZU9wZW4iLCJvblRvZ2dsZU9wZW4iLCJfb3BlbiIsIm9wZW4iLCJpZCIsIl9yZWYkbW9kZSIsIm1vZGUiLCJjb250ZW50Q2xhc3NOYW1lIiwib25Db250ZW50Q2xpY2siLCJrZWVwVW5kZXJsYXlpbmdFbGVtZW50Iiwib25DbGlja091dCIsImdsb2JhbENsYXNzTmFtZSIsInVzZU9uZVVJQ29uZmlnIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwibG9jYWxPcGVuIiwic2V0TG9jYWxPcGVuIiwiY29udGVudFJlZiIsInVzZVJlZiIsInRvZ2dsZVJlZiIsInVzZUVmZmVjdCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVkaW1lbnNpb24iLCJjYW5TaHJpbmsiLCJlbCIsImN1cnJlbnQiLCJjb250ZW50RWwiLCJmaXJzdEVsZW1lbnRDaGlsZCIsInN0eWxlIiwibWFyZ2luVG9wIiwiaGVpZ2h0IiwiTWF0aCIsIm1pbiIsImNsaWVudEhlaWdodCIsIlBPU0lUSVZFX0lORklOSVRZIiwic2Nyb2xsSGVpZ2h0IiwidmlzdWFsVmlld3BvcnQiLCJwYXJlbnRFbGVtZW50IiwicG9zaXRpb24iLCJtaW5IZWlnaHQiLCJfdXBkYXRlVG9vbHRpcFBvc2l0aW8iLCJ1cGRhdGVUb29sdGlwUG9zaXRpb24iLCJhbGlnblRvIiwiQW5jaG9yZWRUb29sdGlwQWxpZ25tZW50IiwiQ0VOVEVSIiwiYW5jaG9yVG8iLCJzaG91bGRBbmNob3JUb0JvdHRvbSIsInRyYW5zaXRpb25TdGFydCIsIl9yZWYyIiwiY3VycmVudFRhcmdldCIsInByb3BlcnR5TmFtZSIsImNsYXNzTGlzdCIsImFkZCIsIlN0eWxlcyIsInRyYW5zaXRpb25NYXJnaW5Ub3AiLCJvblRyYW5zaXRpb25FbmQiLCJzZXRUaW1lb3V0IiwiY29uY2F0IiwicmVtb3ZlIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZUxheW91dEVmZmVjdCIsInByb3BzVG9TcHJlYWQiLCJjcmVhdGVFbGVtZW50IiwiY29udGFpbmVyIiwiY2xvc2VkIiwib25DbGljayIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJfY29sbGFwc2FibGVJZCIsImNvbnRlbnQiLCJ0eXBlIiwiX0NvbGxhcHNhYmxlSW50ZXJmYWNlIiwiX2lkIiwiX2dldEVsZW1lbnRzIiwiaGVhZGVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIm9uT3BlbmVkIiwiX3RoaXMkX2dldEVsZW1lbnRzIiwiY2xpY2siLCJfaGFuZGxlciIsImdldEVsZW1lbnQiLCJDb2xsYXBzYWJsZUludGVyZmFjZSIsIkNvbGxhcHNhYmxlIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxhcHNhYmxlL0NvbGxhcHNhYmxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRmFkZUluIGZyb20gXCIuLi9GYWRlSW5cIjtcbmltcG9ydCBSZWFjdCwge1xuICBGb3J3YXJkZWRSZWYsXG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBIVE1MUHJvcHMsXG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0NvbGxhcHNhYmxlLm1vZHVsZS5zY3NzXCI7XG5pbXBvcnQge1xuICBBbmNob3JlZFRvb2x0aXBBbGlnbm1lbnQsXG4gIEFuY2hvcmVkVG9vbHRpcEFuY2hvcixcbiAgdXBkYXRlVG9vbHRpcFBvc2l0aW9uLFxufSBmcm9tIFwiLi4vQW5jaG9yZWRUb29sdGlwL0FuY2hvcmVkVG9vbHRpcFwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcgfSBmcm9tIFwiLi4vLi4vY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5mdW5jdGlvbiBfQ29sbGFwc2FibGUoXG4gIHtcbiAgICBjaGlsZHJlbixcbiAgICB0aXRsZSxcbiAgICBjbGFzc05hbWUsXG4gICAgb25Ub2dnbGVPcGVuOiBfb25Ub2dnbGVPcGVuLFxuICAgIG9wZW46IF9vcGVuLFxuICAgIGlkLFxuICAgIG1vZGUgPSBcImJsb2NrXCIsXG4gICAgY29udGVudENsYXNzTmFtZSxcbiAgICBvbkNvbnRlbnRDbGljayxcbiAgICBrZWVwVW5kZXJsYXlpbmdFbGVtZW50LFxuICAgIG9uQ2xpY2tPdXQsXG4gICAgLi4ucHJvcHNcbiAgfTogUHJvcHNXaXRoQ2hpbGRyZW48XG4gICAge1xuICAgICAgdGl0bGU6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgIGNvbnRlbnRDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgICBvblRvZ2dsZU9wZW4/OiAoaXNPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICAgICAgb3Blbj86IGJvb2xlYW47XG4gICAgICBpZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIFwiZGF0YS10ZXN0aWRcIj86IHN0cmluZztcbiAgICAgIG9uQ29udGVudENsaWNrPzogSFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bXCJvbkNsaWNrXCJdO1xuICAgICAgLyoqXG4gICAgICAgKiBUaGlzIGZsYWcgaW5kaWNhdGVzIGlmIHRoZSBjb2xsYXBzYWJsZSBjb250ZW50IHNob3VsZCBiZSBrZXB0IGluIEhUTUwgd2hpbGUgaXQncyBjb2xsYXBzZWRcbiAgICAgICAqXG4gICAgICAgKiBVc2VmdWxsIGZvciByZXNwb25zaXZlIGxheW91dHMgd2hlcmUgdGhlIGNvbGxhcHNhYmxlIHNob3VsZCBub3QgXCJiZWhhdmVcIiBhcyBhIGNvbGxhcHNhYmxlIGNvbnRlbnRcbiAgICAgICAqL1xuICAgICAga2VlcFVuZGVybGF5aW5nRWxlbWVudD86IGJvb2xlYW47XG5cbiAgICAgIC8qKlxuICAgICAgICogVG8gZGV0ZWN0IHdoZW4gdGhlIHVzZXIgY2xpY2tzIG91dCBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgKi9cbiAgICAgIG9uQ2xpY2tPdXQ/OiAoKSA9PiB2b2lkO1xuICAgIH0gJiAoXG4gICAgICB8IHtcbiAgICAgICAgICAvKiogVGhpcyB3aWxsIGRlZmluZSBpZiB0aGUgY29udGVudCB3aWxsIGJlIGZsb2F0aW5nIHVuZGVyIHRoZSB0aXRsZSBvciB3aWxsIGV4cGFuZCBhbGwgdGhlIGNvbnRhaW5lciBhcyBvbmUgKi9cbiAgICAgICAgICBtb2RlPzogXCJibG9ja1wiO1xuICAgICAgICB9XG4gICAgICB8IHtcbiAgICAgICAgICBtb2RlOiBcImZsb2F0XCI7XG4gICAgICAgICAgYWxpZ25UbzogQW5jaG9yZWRUb29sdGlwQWxpZ25tZW50O1xuICAgICAgICAgIGFuY2hvclRvPzogQW5jaG9yZWRUb29sdGlwQW5jaG9yO1xuICAgICAgICB9XG4gICAgKVxuICA+ICZcbiAgICBPbWl0PEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgXCJ0aXRsZVwiPixcbiAgcmVmOiBGb3J3YXJkZWRSZWY8eyByZWRpbWVuc2lvbjogKCkgPT4gdm9pZCB9PlxuKSB7XG4gIGNvbnN0IGdsb2JhbENsYXNzTmFtZSA9IHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmNvbGxhcHNhYmxlLmNsYXNzTmFtZVwiLCBcIlwiKTtcbiAgY29uc3QgW2xvY2FsT3Blbiwgc2V0TG9jYWxPcGVuXSA9IHVzZVN0YXRlKCEhX29wZW4pO1xuICBjb25zdCBvcGVuID0gX29wZW4gPT09IHVuZGVmaW5lZCA/IGxvY2FsT3BlbiA6IF9vcGVuO1xuICBjb25zdCBvblRvZ2dsZU9wZW4gPVxuICAgIF9vblRvZ2dsZU9wZW4gPT09IHVuZGVmaW5lZCA/IHNldExvY2FsT3BlbiA6IF9vblRvZ2dsZU9wZW47XG5cbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvZ2dsZVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3BlbiAmJiBvbkNsaWNrT3V0KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIG9uQ2xpY2tPdXQpO1xuICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgb25DbGlja091dCk7XG4gICAgfVxuICB9LCBbISFvbkNsaWNrT3V0LCBvcGVuXSk7XG5cbiAgZnVuY3Rpb24gcmVkaW1lbnNpb24oY2FuU2hyaW5rOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBlbCA9IGNvbnRlbnRSZWYuY3VycmVudCE7XG4gICAgY29uc3QgY29udGVudEVsID0gZWwuZmlyc3RFbGVtZW50Q2hpbGQhIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBlbC5zdHlsZS5tYXJnaW5Ub3AgPSBgYDtcbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9XG4gICAgICAgIE1hdGgubWluKFxuICAgICAgICAgIGNhblNocmluayA/IGNvbnRlbnRFbC5jbGllbnRIZWlnaHQgOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksXG4gICAgICAgICAgZWwuc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgIHZpc3VhbFZpZXdwb3J0IS5oZWlnaHQgLSAxNlxuICAgICAgICApICsgXCJweFwiO1xuICAgICAgZWwucGFyZW50RWxlbWVudCEuc3R5bGUucG9zaXRpb24gPSBcInJlbGF0aXZlXCI7XG4gICAgICBpZiAobW9kZSA9PT0gXCJmbG9hdFwiKSB7XG4gICAgICAgIGVsLnN0eWxlLm1pbkhlaWdodCA9IGVsLnN0eWxlLmhlaWdodDtcbiAgICAgICAgY29uc3QgeyBzaG91bGRBbmNob3JUb0JvdHRvbSB9ID0gdXBkYXRlVG9vbHRpcFBvc2l0aW9uKFxuICAgICAgICAgIGVsLFxuICAgICAgICAgIHRvZ2dsZVJlZi5jdXJyZW50ISxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIFwiYWxpZ25Ub1wiIGluIHByb3BzID8gcHJvcHMuYWxpZ25UbyA6IEFuY2hvcmVkVG9vbHRpcEFsaWdubWVudC5DRU5URVIsXG4gICAgICAgICAgXCJhbmNob3JUb1wiIGluIHByb3BzID8gcHJvcHMuYW5jaG9yVG8gOiB1bmRlZmluZWRcbiAgICAgICAgKTtcbiAgICAgICAgZWwuc3R5bGUubWluSGVpZ2h0ID0gXCJcIjtcbiAgICAgICAgaWYgKCFzaG91bGRBbmNob3JUb0JvdHRvbSkge1xuICAgICAgICAgIGVsLnN0eWxlLm1hcmdpblRvcCA9IGVsLnN0eWxlLmhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0cmFuc2l0aW9uU3RhcnQgPSAoe1xuICAgICAgICAgIGN1cnJlbnRUYXJnZXQsXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgIHByb3BlcnR5TmFtZSxcbiAgICAgICAgfTogVHJhbnNpdGlvbkV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY3VycmVudFRhcmdldCA9PT0gdGFyZ2V0ICYmXG4gICAgICAgICAgICBwcm9wZXJ0eU5hbWUgPT0gXCJoZWlnaHRcIiAmJlxuICAgICAgICAgICAgIXNob3VsZEFuY2hvclRvQm90dG9tXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKFN0eWxlcy50cmFuc2l0aW9uTWFyZ2luVG9wKTtcbiAgICAgICAgICAgIGVsLnN0eWxlLm1hcmdpblRvcCA9IFwiMHB4XCI7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbnN0YXJ0XCIsIHRyYW5zaXRpb25TdGFydCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbnN0YXJ0XCIsIHRyYW5zaXRpb25TdGFydCk7XG4gICAgICB9XG4gICAgICBjb25zdCBvblRyYW5zaXRpb25FbmQgPSAoKSA9PiB7XG4gICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IFwiYXV0b1wiO1xuICAgICAgfTtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIG9uVHJhbnNpdGlvbkVuZCk7XG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCAoKSA9PlxuICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBvblRyYW5zaXRpb25FbmQpXG4gICAgICApO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9IGVsLmNsaWVudEhlaWdodCArIFwicHhcIjtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAoZWwuc3R5bGUubWFyZ2luVG9wID09PSBcIjBweFwiKVxuICAgICAgICAgIGVsLnN0eWxlLm1hcmdpblRvcCA9IGAke2VsLmNsaWVudEhlaWdodH1weGA7XG4gICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IDAgKyBcInB4XCI7XG4gICAgICB9LCAxMDApO1xuICAgICAgY29uc3Qgb25UcmFuc2l0aW9uRW5kID0gKCkgPT4ge1xuICAgICAgICBlbC5wYXJlbnRFbGVtZW50IS5zdHlsZS5wb3NpdGlvbiA9IFwiaW5pdGlhbFwiO1xuICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKFN0eWxlcy50cmFuc2l0aW9uTWFyZ2luVG9wKTtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgIH07XG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgcmVkaW1lbnNpb246ICgpID0+IHJlZGltZW5zaW9uKHRydWUpLFxuICB9KSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICByZWRpbWVuc2lvbigpO1xuICB9LCBbb3Blbl0pO1xuXG4gIGNvbnN0IHByb3BzVG9TcHJlYWQgPSB7IC4uLnByb3BzIH0gYXMgYW55O1xuICBkZWxldGUgcHJvcHNUb1NwcmVhZC5hbGlnblRvO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMuY29udGFpbmVyfSAke1xuICAgICAgICBvcGVuID8gU3R5bGVzLm9wZW4gOiBTdHlsZXMuY2xvc2VkXG4gICAgICB9ICR7Y2xhc3NOYW1lfSAke2dsb2JhbENsYXNzTmFtZX1gfVxuICAgICAgey4uLnByb3BzVG9TcHJlYWR9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3RvZ2dsZVJlZn1cbiAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIG9uVG9nZ2xlT3Blbighb3Blbik7XG4gICAgICAgIH19XG4gICAgICAgIGlkPXtfY29sbGFwc2FibGVJZChcImhlYWRlclwiLCBpZCl9XG4gICAgICA+XG4gICAgICAgIHt0aXRsZX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgaWYgKG9uQ29udGVudENsaWNrKSBvbkNvbnRlbnRDbGljayhlIGFzIGFueSk7XG4gICAgICAgIH19XG4gICAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMuY29udGVudH0gJHtcbiAgICAgICAgICBTdHlsZXNbbW9kZV0gfHwgXCJcIlxuICAgICAgICB9ICR7Y29udGVudENsYXNzTmFtZX1gfVxuICAgICAgICBpZD17X2NvbGxhcHNhYmxlSWQoXCJjb250ZW50XCIsIGlkKX1cbiAgICAgID5cbiAgICAgICAgPEZhZGVJbj57b3BlbiB8fCBrZWVwVW5kZXJsYXlpbmdFbGVtZW50ID8gY2hpbGRyZW4gOiBudWxsfTwvRmFkZUluPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIF9jb2xsYXBzYWJsZUlkKHR5cGU6IFwiaGVhZGVyXCIgfCBcImNvbnRlbnRcIiwgaWQ/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGlkID8gYGNvbGxhcHNhYmxlXyR7dHlwZX1fJHtpZH1gIDogdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBfQ29sbGFwc2FibGVJbnRlcmZhY2Uge1xuICBfaWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSBpZDtcbiAgfVxuXG4gIF9nZXRFbGVtZW50cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChfY29sbGFwc2FibGVJZChcImhlYWRlclwiLCB0aGlzLl9pZCkhKSxcbiAgICAgIGNvbnRlbnQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKF9jb2xsYXBzYWJsZUlkKFwiY29udGVudFwiLCB0aGlzLl9pZCkhKSxcbiAgICB9O1xuICB9XG5cbiAgb3Blbihvbk9wZW5lZDogKCkgPT4gdm9pZCkge1xuICAgIGNvbnN0IHsgaGVhZGVyLCBjb250ZW50IH0gPSB0aGlzLl9nZXRFbGVtZW50cygpO1xuICAgIGlmICgoY29udGVudD8uY2xpZW50SGVpZ2h0IHx8IDApID09PSAwKSB7XG4gICAgICBoZWFkZXIhLmNsaWNrKCk7XG4gICAgICBjb250ZW50IS5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCBmdW5jdGlvbiBfaGFuZGxlcigpIHtcbiAgICAgICAgY29udGVudCEucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgX2hhbmRsZXIpO1xuICAgICAgICBvbk9wZW5lZCgpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uT3BlbmVkKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RWxlbWVudCh0eXBlOiBcImhlYWRlclwiIHwgXCJjb250ZW50XCIpOiBIVE1MRGl2RWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgIF9jb2xsYXBzYWJsZUlkKHR5cGUsIHRoaXMuX2lkKSFcbiAgICApIGFzIEhUTUxEaXZFbGVtZW50IHwgbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIEEgaGVscGVyIGZ1bmN0aW9uIGZvciBpbnRlcmFjdGluZyB3aXRoIGNvbGxhcHNhYmxlcyB3aXRob3V0IGEgcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBDb2xsYXBzYWJsZUludGVyZmFjZShpZDogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgX0NvbGxhcHNhYmxlSW50ZXJmYWNlKGlkKTtcbn1cblxuLyoqXG4gKiBBbGxvd3MgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIHRoZSB3cmFwcGVkIGNvbnRlbnRcbiAqKi9cbmNvbnN0IENvbGxhcHNhYmxlID0gZm9yd2FyZFJlZihfQ29sbGFwc2FibGUpO1xuZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2FibGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBWUEsSUFBQUcsa0JBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFLQSxJQUFBSyxjQUFBLEdBQUFMLE9BQUE7QUFBNkQsTUFBQU0sU0FBQTtBQUFBLFNBQUFDLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTix3QkFBQVUsR0FB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
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  export declare type TimeObject = {
2
3
  hours: number;
3
4
  minutes: number;
@@ -21,4 +22,4 @@ export default function Countdown({ timeRemaining, onFinish, model, options, }:
21
22
  /** Controls if the hours fragment should be shown */
22
23
  hours: boolean;
23
24
  };
24
- }): JSX.Element;
25
+ }): React.JSX.Element;
@@ -1,6 +1,7 @@
1
+ import React from "react";
1
2
  /**
2
3
  * Guess what this does
3
4
  **/
4
5
  export default function Divider({ className }: {
5
6
  className?: string;
6
- }): JSX.Element;
7
+ }): React.JSX.Element;
@@ -1,5 +1,8 @@
1
1
  import React from "react";
2
2
  export declare function validateEmail(email: string): boolean;
3
+ /**
4
+ * A Input based wrapper to handle inputs of email
5
+ **/
3
6
  declare const EmailInput: React.ForwardRefExoticComponent<Omit<Omit<{
4
7
  decoration?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | null | undefined;
5
8
  error?: string | React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;