@commercetools-frontend/application-shell 27.10.0 → 27.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/{index-245e2980.cjs.prod.js → application-entry-point-516fd72c.cjs.prod.js} +70 -4
  2. package/dist/{index-86039df7.esm.js → application-entry-point-e20cafdb.esm.js} +81 -7
  3. package/dist/{index-614accc4.cjs.dev.js → application-entry-point-e5623556.cjs.dev.js} +80 -4
  4. package/dist/commercetools-frontend-application-shell.cjs.dev.js +15 -13
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +15 -13
  6. package/dist/commercetools-frontend-application-shell.esm.js +12 -11
  7. package/dist/{custom-view-dev-host-8925c254.esm.js → custom-view-dev-host-0c1284af.esm.js} +6 -5
  8. package/dist/{custom-view-dev-host-c5cae7af.cjs.prod.js → custom-view-dev-host-e7afc6ce.cjs.prod.js} +6 -5
  9. package/dist/{custom-view-dev-host-16c18b8b.cjs.dev.js → custom-view-dev-host-fd473995.cjs.dev.js} +6 -5
  10. package/dist/declarations/src/index.d.ts +1 -0
  11. package/dist/declarations/src/types/generated/mc.d.ts +121 -0
  12. package/dist/declarations/src/utils/select-project-key-in-context/index.d.ts +1 -0
  13. package/dist/declarations/src/utils/select-project-key-in-context/select-project-key-in-context.d.ts +6 -0
  14. package/dist/declarations-connectors/src/components/application-context/application-context.d.ts +4 -0
  15. package/dist/declarations-connectors/src/types/generated/mc.d.ts +121 -0
  16. package/dist/{index-ce507805.cjs.prod.js → index-2ead4c51.cjs.prod.js} +139 -77
  17. package/dist/index-33df00ac.esm.js +2075 -0
  18. package/dist/index-582e2c31.cjs.dev.js +2137 -0
  19. package/dist/{navbar-59504b51.cjs.dev.js → navbar-1c7bea3d.cjs.dev.js} +56 -10
  20. package/dist/{navbar-9eb6c972.esm.js → navbar-f1a15d6d.esm.js} +57 -11
  21. package/dist/{navbar-f4b2552d.cjs.prod.js → navbar-f6d839cd.cjs.prod.js} +53 -10
  22. package/dist/{oidc-callback-1836d6f9.esm.js → oidc-callback-293b318e.esm.js} +7 -6
  23. package/dist/{oidc-callback-5b213b4f.cjs.prod.js → oidc-callback-55b9cdae.cjs.prod.js} +7 -6
  24. package/dist/{oidc-callback-ec951044.cjs.dev.js → oidc-callback-d2bde9ed.cjs.dev.js} +7 -6
  25. package/dist/{project-container-7f13b722.esm.js → project-container-1a5109fc.esm.js} +12 -13
  26. package/dist/{project-container-bd7b1263.cjs.dev.js → project-container-cf9513f2.cjs.dev.js} +12 -13
  27. package/dist/{project-container-d44394a1.cjs.prod.js → project-container-d10fd8fc.cjs.prod.js} +12 -13
  28. package/dist/{project-expired-fbd3b921.cjs.prod.js → project-expired-04d50538.cjs.prod.js} +8 -7
  29. package/dist/{project-expired-b0f48929.esm.js → project-expired-08c6c246.esm.js} +8 -7
  30. package/dist/{project-expired-200d21fc.cjs.dev.js → project-expired-50bc2113.cjs.dev.js} +8 -7
  31. package/dist/{project-not-found-6a2f3959.cjs.dev.js → project-not-found-6153dba4.cjs.dev.js} +8 -7
  32. package/dist/{project-not-found-2c4da477.cjs.prod.js → project-not-found-78dfadaa.cjs.prod.js} +8 -7
  33. package/dist/{project-not-found-2b48a462.esm.js → project-not-found-ee111ef0.esm.js} +8 -7
  34. package/dist/{project-not-initialized-d1532d05.cjs.prod.js → project-not-initialized-0e64926e.cjs.prod.js} +8 -7
  35. package/dist/{project-not-initialized-8324ddc0.esm.js → project-not-initialized-3e57d2cd.esm.js} +8 -7
  36. package/dist/{project-not-initialized-a4cdccae.cjs.dev.js → project-not-initialized-9d9df6a9.cjs.dev.js} +8 -7
  37. package/dist/{project-suspended-42ac696c.cjs.dev.js → project-suspended-12605956.cjs.dev.js} +8 -7
  38. package/dist/{project-suspended-ab7faf16.esm.js → project-suspended-a9d0c371.esm.js} +8 -7
  39. package/dist/{project-suspended-0450891d.cjs.prod.js → project-suspended-ede2efc6.cjs.prod.js} +8 -7
  40. package/dist/{redirect-to-login-6675c038.cjs.prod.js → redirect-to-login-18f6e1b8.cjs.prod.js} +1 -1
  41. package/dist/{redirect-to-login-8a61864c.cjs.dev.js → redirect-to-login-4dbf1c4e.cjs.dev.js} +1 -1
  42. package/dist/{redirect-to-login-b79d0910.esm.js → redirect-to-login-79be7369.esm.js} +2 -2
  43. package/dist/{redirect-to-logout-4de14b5d.esm.js → redirect-to-logout-d1b8a6bc.esm.js} +9 -8
  44. package/dist/{redirect-to-logout-71e8db26.cjs.prod.js → redirect-to-logout-da9da19a.cjs.prod.js} +8 -7
  45. package/dist/{redirect-to-logout-37258f53.cjs.dev.js → redirect-to-logout-f6457890.cjs.dev.js} +8 -7
  46. package/dist/{redirect-to-project-create-9249e554.esm.js → redirect-to-project-create-3a88851c.esm.js} +2 -1
  47. package/dist/{redirect-to-project-create-e4ff7797.cjs.prod.js → redirect-to-project-create-603634dd.cjs.prod.js} +2 -1
  48. package/dist/{redirect-to-project-create-f4f01842.cjs.dev.js → redirect-to-project-create-611ee583.cjs.dev.js} +2 -1
  49. package/dist/{requests-in-flight-loader-b33d695b.cjs.prod.js → requests-in-flight-loader-16c2fd17.cjs.prod.js} +8 -7
  50. package/dist/{requests-in-flight-loader-dd13291f.esm.js → requests-in-flight-loader-e59c5d2d.esm.js} +8 -7
  51. package/dist/{requests-in-flight-loader-60a2553f.cjs.dev.js → requests-in-flight-loader-ecfc1ba5.cjs.dev.js} +8 -7
  52. package/dist/{service-page-project-switcher-db1d0801.esm.js → service-page-project-switcher-10bbd35c.esm.js} +1 -1
  53. package/dist/{service-page-project-switcher-974235d0.cjs.dev.js → service-page-project-switcher-1339a2a5.cjs.dev.js} +1 -1
  54. package/dist/{service-page-project-switcher-70a8155d.cjs.prod.js → service-page-project-switcher-8b3a8c3d.cjs.prod.js} +1 -1
  55. package/dist/{use-applications-menu-8984efa1.cjs.prod.js → use-applications-menu-81fff376.cjs.dev.js} +4 -1
  56. package/dist/{use-applications-menu-bc2b9a66.esm.js → use-applications-menu-85ab6542.esm.js} +4 -1
  57. package/dist/{use-applications-menu-bd718ac8.cjs.dev.js → use-applications-menu-dab068b3.cjs.prod.js} +4 -1
  58. package/dist/{user-settings-menu-2235add2.cjs.prod.js → user-settings-menu-361180d0.cjs.prod.js} +3 -3
  59. package/dist/user-settings-menu-498c4581.esm.js +320 -0
  60. package/dist/user-settings-menu-79f09480.cjs.dev.js +345 -0
  61. package/package.json +17 -17
  62. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +6 -6
  63. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +6 -6
  64. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +4 -4
  65. package/dist/application-entry-point-10a5e1a5.esm.js +0 -82
  66. package/dist/application-entry-point-8c4b8e53.cjs.prod.js +0 -86
  67. package/dist/application-entry-point-c87294b0.cjs.dev.js +0 -96
  68. package/dist/index-ac7ed4f7.esm.js +0 -2014
  69. package/dist/index-c7140b1c.cjs.dev.js +0 -2075
  70. package/dist/user-settings-menu-a1d0ba8e.esm.js +0 -320
  71. package/dist/user-settings-menu-b8359b8b.cjs.dev.js +0 -345
@@ -0,0 +1,320 @@
1
+ import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
2
+ import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
3
+ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
4
+ import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
5
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
6
+ import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
7
+ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
8
+ import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
9
+ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
11
+ import _styled from '@emotion/styled/base';
12
+ import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
13
+ import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
14
+ import _trimInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/trim';
15
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
16
+ import { useState, useCallback, useRef, useEffect } from 'react';
17
+ import { css } from '@emotion/react';
18
+ import { useFlagVariation } from '@flopflip/react-broadcast';
19
+ import Downshift from 'downshift';
20
+ import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
21
+ import { Link } from 'react-router-dom';
22
+ import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
23
+ import { STATIC_URL_PATHS, SUPPORT_PORTAL_URL, LOGOUT_REASONS, NO_VALUE_FALLBACK } from '@commercetools-frontend/constants';
24
+ import AccessibleHidden from '@commercetools-uikit/accessible-hidden';
25
+ import Avatar from '@commercetools-uikit/avatar';
26
+ import { designTokens } from '@commercetools-uikit/design-system';
27
+ import Spacings from '@commercetools-uikit/spacings';
28
+ import Text from '@commercetools-uikit/text';
29
+ import { D as DIMENSIONS } from './oidc-cb344fae.esm.js';
30
+ import { u as useApplicationsMenu } from './use-applications-menu-85ab6542.esm.js';
31
+ import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
32
+ import '@apollo/client';
33
+ import '@commercetools-frontend/l10n';
34
+
35
+ var messages = defineMessages({
36
+ support: {
37
+ id: 'UserSettingsMenu.support',
38
+ description: 'The label for Support',
39
+ defaultMessage: 'Support'
40
+ },
41
+ logout: {
42
+ id: 'UserSettingsMenu.logout',
43
+ description: 'The label for logout option',
44
+ defaultMessage: 'Logout'
45
+ },
46
+ privacyPolicy: {
47
+ id: 'UserSettingsMenu.privacyPolicy',
48
+ description: 'The label for privacy policy option',
49
+ defaultMessage: 'Privacy Policy'
50
+ },
51
+ menuLabel: {
52
+ id: 'UserSettingsMenu.menuLabel',
53
+ description: 'The label describing the menu',
54
+ defaultMessage: 'User settings menu'
55
+ },
56
+ openMenuLabel: {
57
+ id: 'UserSettingsMenu.openMenuLabel',
58
+ description: 'The label when menu is closed and would be opened by a click',
59
+ defaultMessage: 'Open user settings menu'
60
+ },
61
+ closeMenuLabel: {
62
+ id: 'UserSettingsMenu.closeMenuLabel',
63
+ description: 'The label when menu is open and would be closed by a click',
64
+ defaultMessage: 'Close user settings menu'
65
+ }
66
+ });
67
+
68
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
69
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
70
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
71
+ const MENU_LABEL_ID = 'user-menu-setting-menu-label';
72
+ const UserAvatar = props => {
73
+ const _useState = useState(false),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ isMouseOver = _useState2[0],
76
+ setIsMouseOver = _useState2[1];
77
+ const handleMouseOver = useCallback(() => {
78
+ setIsMouseOver(true);
79
+ }, []);
80
+ const handleMouseOut = useCallback(() => {
81
+ setIsMouseOver(false);
82
+ }, []);
83
+ return jsx("div", {
84
+ onMouseOver: handleMouseOver,
85
+ onMouseOut: handleMouseOut,
86
+ children: jsx(Spacings.Inline, {
87
+ alignItems: "center",
88
+ children: jsx(Avatar, {
89
+ size: "m",
90
+ gravatarHash: props.gravatarHash,
91
+ firstName: props.firstName,
92
+ lastName: props.lastName,
93
+ isHighlighted: isMouseOver,
94
+ color: "purple"
95
+ })
96
+ })
97
+ });
98
+ };
99
+ UserAvatar.displayName = 'UserAvatar';
100
+ function getIsFocusedElementInMenu() {
101
+ return Boolean(document.activeElement?.getAttribute('data-user-settings-menu'));
102
+ }
103
+ const stateReducer = (state, changes) => {
104
+ switch (changes.type) {
105
+ // So in case the user wants to navigate with the tab button
106
+ // we need to make sure that the menu does not close
107
+ case Downshift.stateChangeTypes.blurButton:
108
+ return _objectSpread(_objectSpread({}, changes), {}, {
109
+ isOpen: (state.isOpen && getIsFocusedElementInMenu()) ?? false
110
+ });
111
+ default:
112
+ return changes;
113
+ }
114
+ };
115
+ function isLongLivedFlag(flag) {
116
+ return typeof flag?.value === 'boolean';
117
+ }
118
+ const OptionalFeatureToggle = props => {
119
+ const flagVariation = useFlagVariation(props.featureToggle);
120
+ if (props.featureToggle) {
121
+ if (flagVariation === true) return jsx(Fragment, {
122
+ children: props.children
123
+ });
124
+ if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return jsx(Fragment, {
125
+ children: props.children
126
+ });
127
+ return null;
128
+ }
129
+ return jsx(Fragment, {
130
+ children: props.children
131
+ });
132
+ };
133
+ const renderLabel = (menu, applicationLanguage) => {
134
+ var _context;
135
+ const localizedLabel = _findInstanceProperty(_context = menu.labelAllLocales).call(_context, loc => _startsWithInstanceProperty(applicationLanguage).call(applicationLanguage, loc.locale));
136
+ if (localizedLabel) return localizedLabel.value;
137
+ return NO_VALUE_FALLBACK;
138
+ };
139
+ const MenuItem = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
140
+ target: "e1al5ftg0"
141
+ } : {
142
+ target: "e1al5ftg0",
143
+ label: "MenuItem"
144
+ })("width:100%;cursor:pointer;color:", designTokens.colorSolid, ";:hover{background-color:", designTokens.colorNeutral95, ";}", props => props.hasDivider === true ? /*#__PURE__*/css("border-bottom:1px solid ", designTokens.colorNeutral, ";margin:", designTokens.spacing10, " 0;" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuItem;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUpXIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBEb3duc2hpZnQsIHtcbiAgdHlwZSBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLFxuICB0eXBlIERvd25zaGlmdFByb3BzLFxufSBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBMT0dPVVRfUkVBU09OUyxcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNUQVRJQ19VUkxfUEFUSFMsXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCBBY2Nlc3NpYmxlSGlkZGVuIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2FjY2Vzc2libGUtaGlkZGVuJztcbmltcG9ydCBBdmF0YXIgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYXZhdGFyJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdXNlQXBwbGljYXRpb25zTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2UtYXBwbGljYXRpb25zLW1lbnUnO1xuaW1wb3J0IHR5cGUgeyBUVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPjtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUl0ZW1MYWJlbFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBNRU5VX0xBQkVMX0lEID0gJ3VzZXItbWVudS1zZXR0aW5nLW1lbnUtbGFiZWwnO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgIC8+XG4gICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyQXZhdGFyLmRpc3BsYXlOYW1lID0gJ1VzZXJBdmF0YXInO1xuXG5mdW5jdGlvbiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkge1xuICByZXR1cm4gQm9vbGVhbihcbiAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2RhdGEtdXNlci1zZXR0aW5ncy1tZW51JylcbiAgKTtcbn1cblxuY29uc3Qgc3RhdGVSZWR1Y2VyOiBEb3duc2hpZnRQcm9wczx7fT5bJ3N0YXRlUmVkdWNlciddID0gKHN0YXRlLCBjaGFuZ2VzKSA9PiB7XG4gIHN3aXRjaCAoY2hhbmdlcy50eXBlKSB7XG4gICAgLy8gU28gaW4gY2FzZSB0aGUgdXNlciB3YW50cyB0byBuYXZpZ2F0ZSB3aXRoIHRoZSB0YWIgYnV0dG9uXG4gICAgLy8gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWVudSBkb2VzIG5vdCBjbG9zZVxuICAgIGNhc2UgRG93bnNoaWZ0LnN0YXRlQ2hhbmdlVHlwZXMuYmx1ckJ1dHRvbjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNoYW5nZXMsXG4gICAgICAgIGlzT3BlbjogKHN0YXRlLmlzT3BlbiAmJiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpID8/IGZhbHNlLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cbn07XG5cbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclNvbGlkfTtcblxuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTV9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBtYXJnaW46ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtTGFiZWwgPSAocHJvcHM6IE1lbnVJdGVtTGFiZWxQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyID0gKFxuICBwcm9wczogVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHNcbikgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmczMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudVN0eWxlcyA9ICgpID0+IHtcbiAgcmV0dXJuIGNzc2BcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7dWlraXREZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzMn07XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgd2lkdGg6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29uc3RyYWludDl9O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIHRvcDogY2FsYygke0RJTUVOU0lPTlMuaGVhZGVyfSArICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzIwfSk7XG4gICAgcGFkZGluZzogMCAwICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIGA7XG59O1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIGVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgYWNjb3VudE1lbnVJdGVtcyA9IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPz8gW107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQua2V5ID09PSAnRXNjJyB8fFxuICAgICAgICAgIChldmVudC5rZXkgPT09ICdUYWInICYmICFnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpXG4gICAgICAgICkge1xuICAgICAgICAgIHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpO1xuICAgICAgICB9XG4gICAgICB9fVxuICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51U3R5bGVzKCl9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8VXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuU3ViaGVhZGxpbmUgYXM9XCJoNFwiPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LlN1YmhlYWRsaW5lPlxuICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdHJ1bmNhdGUgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgIHtwcm9wcy5lbWFpbH1cbiAgICAgICAgICAgICAgPC9UZXh0LkRldGFpbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8L1VzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAge2FjY291bnRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPiA6IG51bGx9XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5BQ0NPVU5UfS8ke21lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgICAgIHJlZj17bWVudUVsZW1lbnRSZWZ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxUZXh0LkJvZHk+e3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX08L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9PcHRpb25hbEZlYXR1cmVUb2dnbGU+XG4gICAgICAgICkpfVxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e2BodHRwczovL2NvbW1lcmNldG9vbHMuY29tL3ByaXZhY3kjc3VwcGxpZXJzYH1cbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgIHJlZj17IWFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPyBtZW51RWxlbWVudFJlZiA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLnN1cHBvcnR9IC8+XG4gICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvJHtTVEFUSUNfVVJMX1BBVEhTLkxPR09VVH0/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8QWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgICAgPHNwYW4gaWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5tZW51TGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxEb3duc2hpZnQgc3RhdGVSZWR1Y2VyPXtzdGF0ZVJlZHVjZXJ9IGxhYmVsSWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICB7KGRvd25zaGlmdFByb3BzKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */") : '', ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0kwQyIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgRG93bnNoaWZ0LCB7XG4gIHR5cGUgQ29udHJvbGxlclN0YXRlQW5kSGVscGVycyxcbiAgdHlwZSBEb3duc2hpZnRQcm9wcyxcbn0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB7IHVzZUludGwsIEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVEFUSUNfVVJMX1BBVEhTLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgQWNjZXNzaWJsZUhpZGRlbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hY2Nlc3NpYmxlLWhpZGRlbic7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgdWlraXREZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hBcHBsaWNhdGlvbnNNZW51UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuXG50eXBlIFByb3BzID0gUGljazxcbiAgVFVzZXIsXG4gICdsYW5ndWFnZScgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZScgfCAnZW1haWwnIHwgJ2dyYXZhdGFySGFzaCdcbj47XG50eXBlIE1lbnVCb2R5UHJvcHMgPSBQcm9wcyAmIHtcbiAgZG93bnNoaWZ0UHJvcHM6IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnM8e30+O1xufTtcbnR5cGUgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNEaXZpZGVyPzogYm9vbGVhbjtcbn07XG50eXBlIE1lbnVJdGVtTGFiZWxQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgTUVOVV9MQUJFTF9JRCA9ICd1c2VyLW1lbnUtc2V0dGluZy1tZW51LWxhYmVsJztcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgaXNIaWdobGlnaHRlZD17aXNNb3VzZU92ZXJ9XG4gICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5cbmNvbnN0IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZSA9IChwcm9wczogT3B0aW9uYWxGZWF0dXJlVG9nZ2xlUHJvcHMpID0+IHtcbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCByZW5kZXJMYWJlbCA9IChcbiAgbWVudTogTWVudUNvbmZpZyxcbiAgYXBwbGljYXRpb25MYW5ndWFnZTogUHJvcHNbJ2xhbmd1YWdlJ11cbikgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IG1lbnUubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBhcHBsaWNhdGlvbkxhbmd1YWdlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gbG9jYWxpemVkTGFiZWwudmFsdWU7XG4gIHJldHVybiBOT19WQUxVRV9GQUxMQkFDSztcbn07XG5cbmNvbnN0IE1lbnVJdGVtID0gc3R5bGVkLmRpdjxNZW51SXRlbVByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDk1fTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbH07XG4gICAgICAgICAgbWFyZ2luOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gMDtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBNZW51SXRlbUxhYmVsID0gKHByb3BzOiBNZW51SXRlbUxhYmVsUHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgcGFkZGluZzogJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nMjB9ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzUwfTtcbiAgICBgfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lciA9IChcbiAgcHJvcHM6IFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lclByb3BzXG4pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgcGFkZGluZzogJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nMzB9ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzUwfTtcbiAgICBgfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVTdHlsZXMgPSAoKSA9PiB7XG4gIHJldHVybiBjc3NgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICBib3JkZXItcmFkaXVzOiAke3Vpa2l0RGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czJ9O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHdpZHRoOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbnN0cmFpbnQ5fTtcbiAgICByaWdodDogNDBweDtcbiAgICB0b3A6IGNhbGMoJHtESU1FTlNJT05TLmhlYWRlcn0gKyAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0pO1xuICAgIHBhZGRpbmc6IDAgMCAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICBgO1xufTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzID0gKCkgPT4gY3NzYFxuICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnVCb2R5ID0gKHByb3BzOiBNZW51Qm9keVByb3BzKSA9PiB7XG4gIC8vIEZvY3VzIG9uIGEgbWVudSBpdGVtIHdoZW4gaXQncyBvcGVuZWQgdGhyb3VnaCBrZXlib2FyZFxuICBjb25zdCBtZW51RWxlbWVudFJlZiA9IHVzZVJlZjxIVE1MQW5jaG9yRWxlbWVudD4obnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbWVudUVsZW1lbnRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50KTtcblxuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBlbnZpcm9ubWVudCxcbiAgfSk7XG4gIGNvbnN0IGFjY291bnRNZW51SXRlbXMgPSBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8/IFtdO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudVN0eWxlcygpfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LlN1YmhlYWRsaW5lIGFzPVwiaDRcIj5cbiAgICAgICAgICAgICAgICB7W3Byb3BzLmZpcnN0TmFtZSwgcHJvcHMubGFzdE5hbWVdLmpvaW4oJyAnKS50cmltKCl9XG4gICAgICAgICAgICAgIDwvVGV4dC5TdWJoZWFkbGluZT5cbiAgICAgICAgICAgICAgPFRleHQuRGV0YWlsIHRydW5jYXRlIHRvbmU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICB7cHJvcHMuZW1haWx9XG4gICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9Vc2VyU2V0dGluZ3NBdmF0YXJDb250YWluZXI+XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLmxlbmd0aCA+IDAgPyA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz4gOiBudWxsfVxuICAgICAgICB7YWNjb3VudE1lbnVJdGVtcy5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgICAgICB0bz17YC8ke1NUQVRJQ19VUkxfUEFUSFMuQUNDT1VOVH0vJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8VGV4dC5Cb2R5PntyZW5kZXJMYWJlbChtZW51LCBwcm9wcy5sYW5ndWFnZSl9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMucHJpdmFjeVBvbGljeX0gLz5cbiAgICAgICAgICAgIDwvTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAvLyBOT1RFOiB3ZSB3YW50IHRvIHJlZGlyZWN0IHRvIGEgbmV3IHBhZ2Ugc28gdGhhdCB0aGVcbiAgICAgICAgICAvLyBzZXJ2ZXIgY2FuIHJlbW92ZSB0aGluZ3MgbGlrZSBjb29raWUgZm9yIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgICBocmVmPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5MT0dPVVR9P3JlYXNvbj0ke0xPR09VVF9SRUFTT05TLlVTRVJ9YH1cbiAgICAgICAgICBkYXRhLXRlc3Q9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLmxvZ291dH0gLz5cbiAgICAgICAgICAgIDwvTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxkaXYgdGFiSW5kZXg9ezB9IG9uRm9jdXM9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpfSAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51Qm9keS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51Qm9keSc7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnUgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInVzZXItc2V0dGluZ3MtbWVudVwiPlxuICAgICAgPEFjY2Vzc2libGVIaWRkZW4+XG4gICAgICAgIDxzcGFuIGlkPXtNRU5VX0xBQkVMX0lEfT5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMubWVudUxhYmVsfSAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L0FjY2Vzc2libGVIaWRkZW4+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfSBsYWJlbElkPXtNRU5VX0xBQkVMX0lEfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICB7Li4uZG93bnNoaWZ0UHJvcHMuZ2V0VG9nZ2xlQnV0dG9uUHJvcHMoe1xuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogaW50bC5mb3JtYXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHMuaXNPcGVuXG4gICAgICAgICAgICAgICAgICAgID8gbWVzc2FnZXMuY2xvc2VNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlcy5vcGVuTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxVc2VyQXZhdGFyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7ZG93bnNoaWZ0UHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVCb2R5XG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzPXtkb3duc2hpZnRQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Rvd25zaGlmdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnUnO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyU2V0dGluZ3NNZW51O1xuXG4vLyBGb3IgdGVzdGluZ1xuZXhwb3J0IHsgVXNlckF2YXRhciwgVXNlclNldHRpbmdzTWVudUJvZHkgfTtcbiJdfQ== */"));
145
+ const MenuItemLabel = props => jsx("div", {
146
+ css: /*#__PURE__*/css("padding:", designTokens.spacing20, " ", designTokens.spacing50, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuItemLabel;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEpZIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBEb3duc2hpZnQsIHtcbiAgdHlwZSBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLFxuICB0eXBlIERvd25zaGlmdFByb3BzLFxufSBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBMT0dPVVRfUkVBU09OUyxcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNUQVRJQ19VUkxfUEFUSFMsXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCBBY2Nlc3NpYmxlSGlkZGVuIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2FjY2Vzc2libGUtaGlkZGVuJztcbmltcG9ydCBBdmF0YXIgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYXZhdGFyJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdXNlQXBwbGljYXRpb25zTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2UtYXBwbGljYXRpb25zLW1lbnUnO1xuaW1wb3J0IHR5cGUgeyBUVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPjtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUl0ZW1MYWJlbFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBNRU5VX0xBQkVMX0lEID0gJ3VzZXItbWVudS1zZXR0aW5nLW1lbnUtbGFiZWwnO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgIC8+XG4gICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyQXZhdGFyLmRpc3BsYXlOYW1lID0gJ1VzZXJBdmF0YXInO1xuXG5mdW5jdGlvbiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkge1xuICByZXR1cm4gQm9vbGVhbihcbiAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2RhdGEtdXNlci1zZXR0aW5ncy1tZW51JylcbiAgKTtcbn1cblxuY29uc3Qgc3RhdGVSZWR1Y2VyOiBEb3duc2hpZnRQcm9wczx7fT5bJ3N0YXRlUmVkdWNlciddID0gKHN0YXRlLCBjaGFuZ2VzKSA9PiB7XG4gIHN3aXRjaCAoY2hhbmdlcy50eXBlKSB7XG4gICAgLy8gU28gaW4gY2FzZSB0aGUgdXNlciB3YW50cyB0byBuYXZpZ2F0ZSB3aXRoIHRoZSB0YWIgYnV0dG9uXG4gICAgLy8gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWVudSBkb2VzIG5vdCBjbG9zZVxuICAgIGNhc2UgRG93bnNoaWZ0LnN0YXRlQ2hhbmdlVHlwZXMuYmx1ckJ1dHRvbjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNoYW5nZXMsXG4gICAgICAgIGlzT3BlbjogKHN0YXRlLmlzT3BlbiAmJiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpID8/IGZhbHNlLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cbn07XG5cbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclNvbGlkfTtcblxuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTV9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBtYXJnaW46ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtTGFiZWwgPSAocHJvcHM6IE1lbnVJdGVtTGFiZWxQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyID0gKFxuICBwcm9wczogVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHNcbikgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmczMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudVN0eWxlcyA9ICgpID0+IHtcbiAgcmV0dXJuIGNzc2BcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7dWlraXREZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzMn07XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgd2lkdGg6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29uc3RyYWludDl9O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIHRvcDogY2FsYygke0RJTUVOU0lPTlMuaGVhZGVyfSArICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzIwfSk7XG4gICAgcGFkZGluZzogMCAwICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIGA7XG59O1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIGVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgYWNjb3VudE1lbnVJdGVtcyA9IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPz8gW107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQua2V5ID09PSAnRXNjJyB8fFxuICAgICAgICAgIChldmVudC5rZXkgPT09ICdUYWInICYmICFnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpXG4gICAgICAgICkge1xuICAgICAgICAgIHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpO1xuICAgICAgICB9XG4gICAgICB9fVxuICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51U3R5bGVzKCl9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8VXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuU3ViaGVhZGxpbmUgYXM9XCJoNFwiPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LlN1YmhlYWRsaW5lPlxuICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdHJ1bmNhdGUgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgIHtwcm9wcy5lbWFpbH1cbiAgICAgICAgICAgICAgPC9UZXh0LkRldGFpbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8L1VzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAge2FjY291bnRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPiA6IG51bGx9XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5BQ0NPVU5UfS8ke21lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgICAgIHJlZj17bWVudUVsZW1lbnRSZWZ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxUZXh0LkJvZHk+e3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX08L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9PcHRpb25hbEZlYXR1cmVUb2dnbGU+XG4gICAgICAgICkpfVxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e2BodHRwczovL2NvbW1lcmNldG9vbHMuY29tL3ByaXZhY3kjc3VwcGxpZXJzYH1cbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgIHJlZj17IWFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPyBtZW51RWxlbWVudFJlZiA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLnN1cHBvcnR9IC8+XG4gICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvJHtTVEFUSUNfVVJMX1BBVEhTLkxPR09VVH0/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8QWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgICAgPHNwYW4gaWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5tZW51TGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxEb3duc2hpZnQgc3RhdGVSZWR1Y2VyPXtzdGF0ZVJlZHVjZXJ9IGxhYmVsSWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICB7KGRvd25zaGlmdFByb3BzKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */"),
147
+ children: props.children
148
+ });
149
+ const UserSettingsAvatarContainer = props => jsx("div", {
150
+ css: /*#__PURE__*/css("padding:", designTokens.spacing30, " ", designTokens.spacing50, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:UserSettingsAvatarContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0tZIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBEb3duc2hpZnQsIHtcbiAgdHlwZSBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLFxuICB0eXBlIERvd25zaGlmdFByb3BzLFxufSBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBMT0dPVVRfUkVBU09OUyxcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNUQVRJQ19VUkxfUEFUSFMsXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCBBY2Nlc3NpYmxlSGlkZGVuIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2FjY2Vzc2libGUtaGlkZGVuJztcbmltcG9ydCBBdmF0YXIgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYXZhdGFyJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdXNlQXBwbGljYXRpb25zTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2UtYXBwbGljYXRpb25zLW1lbnUnO1xuaW1wb3J0IHR5cGUgeyBUVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPjtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUl0ZW1MYWJlbFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBNRU5VX0xBQkVMX0lEID0gJ3VzZXItbWVudS1zZXR0aW5nLW1lbnUtbGFiZWwnO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgIC8+XG4gICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyQXZhdGFyLmRpc3BsYXlOYW1lID0gJ1VzZXJBdmF0YXInO1xuXG5mdW5jdGlvbiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkge1xuICByZXR1cm4gQm9vbGVhbihcbiAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2RhdGEtdXNlci1zZXR0aW5ncy1tZW51JylcbiAgKTtcbn1cblxuY29uc3Qgc3RhdGVSZWR1Y2VyOiBEb3duc2hpZnRQcm9wczx7fT5bJ3N0YXRlUmVkdWNlciddID0gKHN0YXRlLCBjaGFuZ2VzKSA9PiB7XG4gIHN3aXRjaCAoY2hhbmdlcy50eXBlKSB7XG4gICAgLy8gU28gaW4gY2FzZSB0aGUgdXNlciB3YW50cyB0byBuYXZpZ2F0ZSB3aXRoIHRoZSB0YWIgYnV0dG9uXG4gICAgLy8gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWVudSBkb2VzIG5vdCBjbG9zZVxuICAgIGNhc2UgRG93bnNoaWZ0LnN0YXRlQ2hhbmdlVHlwZXMuYmx1ckJ1dHRvbjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNoYW5nZXMsXG4gICAgICAgIGlzT3BlbjogKHN0YXRlLmlzT3BlbiAmJiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpID8/IGZhbHNlLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cbn07XG5cbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclNvbGlkfTtcblxuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTV9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBtYXJnaW46ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtTGFiZWwgPSAocHJvcHM6IE1lbnVJdGVtTGFiZWxQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyID0gKFxuICBwcm9wczogVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHNcbikgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmczMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudVN0eWxlcyA9ICgpID0+IHtcbiAgcmV0dXJuIGNzc2BcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7dWlraXREZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzMn07XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgd2lkdGg6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29uc3RyYWludDl9O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIHRvcDogY2FsYygke0RJTUVOU0lPTlMuaGVhZGVyfSArICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzIwfSk7XG4gICAgcGFkZGluZzogMCAwICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIGA7XG59O1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIGVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgYWNjb3VudE1lbnVJdGVtcyA9IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPz8gW107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQua2V5ID09PSAnRXNjJyB8fFxuICAgICAgICAgIChldmVudC5rZXkgPT09ICdUYWInICYmICFnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpXG4gICAgICAgICkge1xuICAgICAgICAgIHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpO1xuICAgICAgICB9XG4gICAgICB9fVxuICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51U3R5bGVzKCl9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8VXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuU3ViaGVhZGxpbmUgYXM9XCJoNFwiPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LlN1YmhlYWRsaW5lPlxuICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdHJ1bmNhdGUgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgIHtwcm9wcy5lbWFpbH1cbiAgICAgICAgICAgICAgPC9UZXh0LkRldGFpbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8L1VzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAge2FjY291bnRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPiA6IG51bGx9XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5BQ0NPVU5UfS8ke21lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgICAgIHJlZj17bWVudUVsZW1lbnRSZWZ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxUZXh0LkJvZHk+e3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX08L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9PcHRpb25hbEZlYXR1cmVUb2dnbGU+XG4gICAgICAgICkpfVxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e2BodHRwczovL2NvbW1lcmNldG9vbHMuY29tL3ByaXZhY3kjc3VwcGxpZXJzYH1cbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgIHJlZj17IWFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPyBtZW51RWxlbWVudFJlZiA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLnN1cHBvcnR9IC8+XG4gICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvJHtTVEFUSUNfVVJMX1BBVEhTLkxPR09VVH0/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8QWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgICAgPHNwYW4gaWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5tZW51TGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxEb3duc2hpZnQgc3RhdGVSZWR1Y2VyPXtzdGF0ZVJlZHVjZXJ9IGxhYmVsSWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICB7KGRvd25zaGlmdFByb3BzKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */"),
151
+ children: props.children
152
+ });
153
+ const getUserSettingsMenuStyles = () => {
154
+ return /*#__PURE__*/css("position:absolute;background:", designTokens.colorSurface, ";border-radius:", designTokens.borderRadius2, ";box-shadow:0px 2px 5px 0px rgba(0, 0, 0, 0.15);width:", designTokens.constraint9, ";right:40px;top:calc(", DIMENSIONS.header, " + ", designTokens.spacing20, ");padding:0 0 ", designTokens.spacing10, " 0;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:getUserSettingsMenuStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0tZIiwiZmlsZSI6InVzZXItc2V0dGluZ3MtbWVudS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBEb3duc2hpZnQsIHtcbiAgdHlwZSBDb250cm9sbGVyU3RhdGVBbmRIZWxwZXJzLFxuICB0eXBlIERvd25zaGlmdFByb3BzLFxufSBmcm9tICdkb3duc2hpZnQnO1xuaW1wb3J0IHsgdXNlSW50bCwgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBMT0dPVVRfUkVBU09OUyxcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNUQVRJQ19VUkxfUEFUSFMsXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCBBY2Nlc3NpYmxlSGlkZGVuIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2FjY2Vzc2libGUtaGlkZGVuJztcbmltcG9ydCBBdmF0YXIgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvYXZhdGFyJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdXNlQXBwbGljYXRpb25zTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2UtYXBwbGljYXRpb25zLW1lbnUnO1xuaW1wb3J0IHR5cGUgeyBUVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9wcm94eSc7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5cbnR5cGUgUHJvcHMgPSBQaWNrPFxuICBUVXNlcixcbiAgJ2xhbmd1YWdlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbCcgfCAnZ3JhdmF0YXJIYXNoJ1xuPjtcbnR5cGUgTWVudUJvZHlQcm9wcyA9IFByb3BzICYge1xuICBkb3duc2hpZnRQcm9wczogQ29udHJvbGxlclN0YXRlQW5kSGVscGVyczx7fT47XG59O1xudHlwZSBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcyA9IHtcbiAgZmVhdHVyZVRvZ2dsZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc0RpdmlkZXI/OiBib29sZWFuO1xufTtcbnR5cGUgTWVudUl0ZW1MYWJlbFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51Q29uZmlnID0gVEZldGNoQXBwbGljYXRpb25zTWVudVF1ZXJ5WydhcHBsaWNhdGlvbnNNZW51J11bJ2FwcEJhciddWzBdO1xuXG5jb25zdCBNRU5VX0xBQkVMX0lEID0gJ3VzZXItbWVudS1zZXR0aW5nLW1lbnUtbGFiZWwnO1xuXG5jb25zdCBVc2VyQXZhdGFyID0gKFxuICBwcm9wczogUGljazxQcm9wcywgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2dyYXZhdGFySGFzaCc+XG4pID0+IHtcbiAgY29uc3QgW2lzTW91c2VPdmVyLCBzZXRJc01vdXNlT3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZU1vdXNlT3ZlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3Zlcih0cnVlKTtcbiAgfSwgW10pO1xuICBjb25zdCBoYW5kbGVNb3VzZU91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc01vdXNlT3ZlcihmYWxzZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IG9uTW91c2VPdmVyPXtoYW5kbGVNb3VzZU92ZXJ9IG9uTW91c2VPdXQ9e2hhbmRsZU1vdXNlT3V0fT5cbiAgICAgIDxTcGFjaW5ncy5JbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy5sYXN0TmFtZX1cbiAgICAgICAgICBpc0hpZ2hsaWdodGVkPXtpc01vdXNlT3Zlcn1cbiAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgIC8+XG4gICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyQXZhdGFyLmRpc3BsYXlOYW1lID0gJ1VzZXJBdmF0YXInO1xuXG5mdW5jdGlvbiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkge1xuICByZXR1cm4gQm9vbGVhbihcbiAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2RhdGEtdXNlci1zZXR0aW5ncy1tZW51JylcbiAgKTtcbn1cblxuY29uc3Qgc3RhdGVSZWR1Y2VyOiBEb3duc2hpZnRQcm9wczx7fT5bJ3N0YXRlUmVkdWNlciddID0gKHN0YXRlLCBjaGFuZ2VzKSA9PiB7XG4gIHN3aXRjaCAoY2hhbmdlcy50eXBlKSB7XG4gICAgLy8gU28gaW4gY2FzZSB0aGUgdXNlciB3YW50cyB0byBuYXZpZ2F0ZSB3aXRoIHRoZSB0YWIgYnV0dG9uXG4gICAgLy8gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbWVudSBkb2VzIG5vdCBjbG9zZVxuICAgIGNhc2UgRG93bnNoaWZ0LnN0YXRlQ2hhbmdlVHlwZXMuYmx1ckJ1dHRvbjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNoYW5nZXMsXG4gICAgICAgIGlzT3BlbjogKHN0YXRlLmlzT3BlbiAmJiBnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpID8/IGZhbHNlLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cbn07XG5cbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cblxuY29uc3QgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlID0gKHByb3BzOiBPcHRpb25hbEZlYXR1cmVUb2dnbGVQcm9wcykgPT4ge1xuICBjb25zdCBmbGFnVmFyaWF0aW9uID0gdXNlRmxhZ1ZhcmlhdGlvbihwcm9wcy5mZWF0dXJlVG9nZ2xlKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IHJlbmRlckxhYmVsID0gKFxuICBtZW51OiBNZW51Q29uZmlnLFxuICBhcHBsaWNhdGlvbkxhbmd1YWdlOiBQcm9wc1snbGFuZ3VhZ2UnXVxuKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gbWVudS5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIGFwcGxpY2F0aW9uTGFuZ3VhZ2Uuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiBsb2NhbGl6ZWRMYWJlbC52YWx1ZTtcbiAgcmV0dXJuIE5PX1ZBTFVFX0ZBTExCQUNLO1xufTtcblxuY29uc3QgTWVudUl0ZW0gPSBzdHlsZWQuZGl2PE1lbnVJdGVtUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclNvbGlkfTtcblxuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTV9O1xuICB9XG5cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzRGl2aWRlciA9PT0gdHJ1ZVxuICAgICAgPyBjc3NgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsfTtcbiAgICAgICAgICBtYXJnaW46ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgICAgICBgXG4gICAgICA6ICcnfTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtTGFiZWwgPSAocHJvcHM6IE1lbnVJdGVtTGFiZWxQcm9wcykgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyID0gKFxuICBwcm9wczogVXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyUHJvcHNcbikgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXtjc3NgXG4gICAgICBwYWRkaW5nOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmczMH0gJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nNTB9O1xuICAgIGB9XG4gID5cbiAgICB7cHJvcHMuY2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudVN0eWxlcyA9ICgpID0+IHtcbiAgcmV0dXJuIGNzc2BcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7dWlraXREZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzMn07XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgd2lkdGg6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29uc3RyYWludDl9O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIHRvcDogY2FsYygke0RJTUVOU0lPTlMuaGVhZGVyfSArICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzIwfSk7XG4gICAgcGFkZGluZzogMCAwICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzEwfSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIGA7XG59O1xuXG5jb25zdCBnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMgPSAoKSA9PiBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgVXNlclNldHRpbmdzTWVudUJvZHkgPSAocHJvcHM6IE1lbnVCb2R5UHJvcHMpID0+IHtcbiAgLy8gRm9jdXMgb24gYSBtZW51IGl0ZW0gd2hlbiBpdCdzIG9wZW5lZCB0aHJvdWdoIGtleWJvYXJkXG4gIGNvbnN0IG1lbnVFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxBbmNob3JFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtZW51RWxlbWVudFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+IGNvbnRleHQuZW52aXJvbm1lbnQpO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPSB1c2VBcHBsaWNhdGlvbnNNZW51PCdhcHBCYXInPignYXBwQmFyJywge1xuICAgIGVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgYWNjb3VudE1lbnVJdGVtcyA9IGFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPz8gW107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQua2V5ID09PSAnRXNjJyB8fFxuICAgICAgICAgIChldmVudC5rZXkgPT09ICdUYWInICYmICFnZXRJc0ZvY3VzZWRFbGVtZW50SW5NZW51KCkpXG4gICAgICAgICkge1xuICAgICAgICAgIHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpO1xuICAgICAgICB9XG4gICAgICB9fVxuICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51U3R5bGVzKCl9XG4gICAgPlxuICAgICAgPGRpdiB7Li4ucHJvcHMuZG93bnNoaWZ0UHJvcHMuZ2V0TWVudVByb3BzKCl9PlxuICAgICAgICA8VXNlclNldHRpbmdzQXZhdGFyQ29udGFpbmVyPlxuICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMuZmlyc3ROYW1lfVxuICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICBjb2xvcj1cInB1cnBsZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFRleHQuU3ViaGVhZGxpbmUgYXM9XCJoNFwiPlxuICAgICAgICAgICAgICAgIHtbcHJvcHMuZmlyc3ROYW1lLCBwcm9wcy5sYXN0TmFtZV0uam9pbignICcpLnRyaW0oKX1cbiAgICAgICAgICAgICAgPC9UZXh0LlN1YmhlYWRsaW5lPlxuICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdHJ1bmNhdGUgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgIHtwcm9wcy5lbWFpbH1cbiAgICAgICAgICAgICAgPC9UZXh0LkRldGFpbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8L1VzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAge2FjY291bnRNZW51SXRlbXMubGVuZ3RoID4gMCA/IDxNZW51SXRlbSBoYXNEaXZpZGVyPXt0cnVlfSAvPiA6IG51bGx9XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLm1hcCgobWVudSkgPT4gKFxuICAgICAgICAgIDxPcHRpb25hbEZlYXR1cmVUb2dnbGVcbiAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXttZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzKCl9XG4gICAgICAgICAgICAgIHRvPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5BQ0NPVU5UfS8ke21lbnUudXJpUGF0aH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgICAgICAgIHJlZj17bWVudUVsZW1lbnRSZWZ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxUZXh0LkJvZHk+e3JlbmRlckxhYmVsKG1lbnUsIHByb3BzLmxhbmd1YWdlKX08L1RleHQuQm9keT5cbiAgICAgICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9PcHRpb25hbEZlYXR1cmVUb2dnbGU+XG4gICAgICAgICkpfVxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e2BodHRwczovL2NvbW1lcmNldG9vbHMuY29tL3ByaXZhY3kjc3VwcGxpZXJzYH1cbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgIHJlZj17IWFwcGxpY2F0aW9uc0FwcEJhck1lbnUgPyBtZW51RWxlbWVudFJlZiA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5wcml2YWN5UG9saWN5fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLnRvZ2dsZU1lbnUoKX1cbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLnN1cHBvcnR9IC8+XG4gICAgICAgICAgICA8L01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgPC9hPlxuICAgICAgICA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz5cbiAgICAgICAgPGFcbiAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgIC8vIE5PVEU6IHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8gYSBuZXcgcGFnZSBzbyB0aGF0IHRoZVxuICAgICAgICAgIC8vIHNlcnZlciBjYW4gcmVtb3ZlIHRoaW5ncyBsaWtlIGNvb2tpZSBmb3IgYWNjZXNzIHRva2VuLlxuICAgICAgICAgIGhyZWY9e2AvJHtTVEFUSUNfVVJMX1BBVEhTLkxPR09VVH0/cmVhc29uPSR7TE9HT1VUX1JFQVNPTlMuVVNFUn1gfVxuICAgICAgICAgIGRhdGEtdGVzdD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICAgIGRhdGEtdXNlci1zZXR0aW5ncy1tZW51XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMubG9nb3V0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPGRpdiB0YWJJbmRleD17MH0gb25Gb2N1cz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMuY2xvc2VNZW51KCl9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnVCb2R5LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnVCb2R5JztcblxuY29uc3QgVXNlclNldHRpbmdzTWVudSA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS10ZXN0PVwidXNlci1zZXR0aW5ncy1tZW51XCI+XG4gICAgICA8QWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgICAgPHNwYW4gaWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5tZW51TGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxEb3duc2hpZnQgc3RhdGVSZWR1Y2VyPXtzdGF0ZVJlZHVjZXJ9IGxhYmVsSWQ9e01FTlVfTEFCRUxfSUR9PlxuICAgICAgICB7KGRvd25zaGlmdFByb3BzKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIHsuLi5kb3duc2hpZnRQcm9wcy5nZXRUb2dnbGVCdXR0b25Qcm9wcyh7XG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICBkb3duc2hpZnRQcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlcy5jbG9zZU1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICA6IG1lc3NhZ2VzLm9wZW5NZW51TGFiZWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFVzZXJBdmF0YXJcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIHtkb3duc2hpZnRQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICAgICAgICA8VXNlclNldHRpbmdzTWVudUJvZHlcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHM9e2Rvd25zaGlmdFByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRG93bnNoaWZ0PlxuICAgIDwvZGl2PlxuICApO1xufTtcblVzZXJTZXR0aW5nc01lbnUuZGlzcGxheU5hbWUgPSAnVXNlclNldHRpbmdzTWVudSc7XG5cbmV4cG9ydCBkZWZhdWx0IFVzZXJTZXR0aW5nc01lbnU7XG5cbi8vIEZvciB0ZXN0aW5nXG5leHBvcnQgeyBVc2VyQXZhdGFyLCBVc2VyU2V0dGluZ3NNZW51Qm9keSB9O1xuIl19 */");
155
+ };
156
+ var _ref2 = process.env.NODE_ENV === "production" ? {
157
+ name: "4zleql",
158
+ styles: "display:block"
159
+ } : {
160
+ name: "1h437nn-getUserSettingsMenuItemLinkStyles",
161
+ styles: "display:block;label:getUserSettingsMenuItemLinkStyles;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNExtRCIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgRG93bnNoaWZ0LCB7XG4gIHR5cGUgQ29udHJvbGxlclN0YXRlQW5kSGVscGVycyxcbiAgdHlwZSBEb3duc2hpZnRQcm9wcyxcbn0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB7IHVzZUludGwsIEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVEFUSUNfVVJMX1BBVEhTLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgQWNjZXNzaWJsZUhpZGRlbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hY2Nlc3NpYmxlLWhpZGRlbic7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgdWlraXREZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hBcHBsaWNhdGlvbnNNZW51UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuXG50eXBlIFByb3BzID0gUGljazxcbiAgVFVzZXIsXG4gICdsYW5ndWFnZScgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZScgfCAnZW1haWwnIHwgJ2dyYXZhdGFySGFzaCdcbj47XG50eXBlIE1lbnVCb2R5UHJvcHMgPSBQcm9wcyAmIHtcbiAgZG93bnNoaWZ0UHJvcHM6IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnM8e30+O1xufTtcbnR5cGUgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNEaXZpZGVyPzogYm9vbGVhbjtcbn07XG50eXBlIE1lbnVJdGVtTGFiZWxQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgTUVOVV9MQUJFTF9JRCA9ICd1c2VyLW1lbnUtc2V0dGluZy1tZW51LWxhYmVsJztcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgaXNIaWdobGlnaHRlZD17aXNNb3VzZU92ZXJ9XG4gICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5cbmNvbnN0IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZSA9IChwcm9wczogT3B0aW9uYWxGZWF0dXJlVG9nZ2xlUHJvcHMpID0+IHtcbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCByZW5kZXJMYWJlbCA9IChcbiAgbWVudTogTWVudUNvbmZpZyxcbiAgYXBwbGljYXRpb25MYW5ndWFnZTogUHJvcHNbJ2xhbmd1YWdlJ11cbikgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IG1lbnUubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBhcHBsaWNhdGlvbkxhbmd1YWdlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gbG9jYWxpemVkTGFiZWwudmFsdWU7XG4gIHJldHVybiBOT19WQUxVRV9GQUxMQkFDSztcbn07XG5cbmNvbnN0IE1lbnVJdGVtID0gc3R5bGVkLmRpdjxNZW51SXRlbVByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDk1fTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbH07XG4gICAgICAgICAgbWFyZ2luOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gMDtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBNZW51SXRlbUxhYmVsID0gKHByb3BzOiBNZW51SXRlbUxhYmVsUHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgcGFkZGluZzogJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nMjB9ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzUwfTtcbiAgICBgfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lciA9IChcbiAgcHJvcHM6IFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lclByb3BzXG4pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgcGFkZGluZzogJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nMzB9ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzUwfTtcbiAgICBgfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVTdHlsZXMgPSAoKSA9PiB7XG4gIHJldHVybiBjc3NgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICBib3JkZXItcmFkaXVzOiAke3Vpa2l0RGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czJ9O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHdpZHRoOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbnN0cmFpbnQ5fTtcbiAgICByaWdodDogNDBweDtcbiAgICB0b3A6IGNhbGMoJHtESU1FTlNJT05TLmhlYWRlcn0gKyAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0pO1xuICAgIHBhZGRpbmc6IDAgMCAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICBgO1xufTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzID0gKCkgPT4gY3NzYFxuICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnVCb2R5ID0gKHByb3BzOiBNZW51Qm9keVByb3BzKSA9PiB7XG4gIC8vIEZvY3VzIG9uIGEgbWVudSBpdGVtIHdoZW4gaXQncyBvcGVuZWQgdGhyb3VnaCBrZXlib2FyZFxuICBjb25zdCBtZW51RWxlbWVudFJlZiA9IHVzZVJlZjxIVE1MQW5jaG9yRWxlbWVudD4obnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbWVudUVsZW1lbnRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50KTtcblxuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBlbnZpcm9ubWVudCxcbiAgfSk7XG4gIGNvbnN0IGFjY291bnRNZW51SXRlbXMgPSBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8/IFtdO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudVN0eWxlcygpfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LlN1YmhlYWRsaW5lIGFzPVwiaDRcIj5cbiAgICAgICAgICAgICAgICB7W3Byb3BzLmZpcnN0TmFtZSwgcHJvcHMubGFzdE5hbWVdLmpvaW4oJyAnKS50cmltKCl9XG4gICAgICAgICAgICAgIDwvVGV4dC5TdWJoZWFkbGluZT5cbiAgICAgICAgICAgICAgPFRleHQuRGV0YWlsIHRydW5jYXRlIHRvbmU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICB7cHJvcHMuZW1haWx9XG4gICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9Vc2VyU2V0dGluZ3NBdmF0YXJDb250YWluZXI+XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLmxlbmd0aCA+IDAgPyA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz4gOiBudWxsfVxuICAgICAgICB7YWNjb3VudE1lbnVJdGVtcy5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgICAgICB0bz17YC8ke1NUQVRJQ19VUkxfUEFUSFMuQUNDT1VOVH0vJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8VGV4dC5Cb2R5PntyZW5kZXJMYWJlbChtZW51LCBwcm9wcy5sYW5ndWFnZSl9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMucHJpdmFjeVBvbGljeX0gLz5cbiAgICAgICAgICAgIDwvTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAvLyBOT1RFOiB3ZSB3YW50IHRvIHJlZGlyZWN0IHRvIGEgbmV3IHBhZ2Ugc28gdGhhdCB0aGVcbiAgICAgICAgICAvLyBzZXJ2ZXIgY2FuIHJlbW92ZSB0aGluZ3MgbGlrZSBjb29raWUgZm9yIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgICBocmVmPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5MT0dPVVR9P3JlYXNvbj0ke0xPR09VVF9SRUFTT05TLlVTRVJ9YH1cbiAgICAgICAgICBkYXRhLXRlc3Q9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLmxvZ291dH0gLz5cbiAgICAgICAgICAgIDwvTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxkaXYgdGFiSW5kZXg9ezB9IG9uRm9jdXM9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpfSAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51Qm9keS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51Qm9keSc7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnUgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInVzZXItc2V0dGluZ3MtbWVudVwiPlxuICAgICAgPEFjY2Vzc2libGVIaWRkZW4+XG4gICAgICAgIDxzcGFuIGlkPXtNRU5VX0xBQkVMX0lEfT5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMubWVudUxhYmVsfSAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L0FjY2Vzc2libGVIaWRkZW4+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfSBsYWJlbElkPXtNRU5VX0xBQkVMX0lEfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICB7Li4uZG93bnNoaWZ0UHJvcHMuZ2V0VG9nZ2xlQnV0dG9uUHJvcHMoe1xuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogaW50bC5mb3JtYXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHMuaXNPcGVuXG4gICAgICAgICAgICAgICAgICAgID8gbWVzc2FnZXMuY2xvc2VNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlcy5vcGVuTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxVc2VyQXZhdGFyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7ZG93bnNoaWZ0UHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVCb2R5XG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzPXtkb3duc2hpZnRQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Rvd25zaGlmdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnUnO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyU2V0dGluZ3NNZW51O1xuXG4vLyBGb3IgdGVzdGluZ1xuZXhwb3J0IHsgVXNlckF2YXRhciwgVXNlclNldHRpbmdzTWVudUJvZHkgfTtcbiJdfQ== */",
162
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
163
+ };
164
+ const getUserSettingsMenuItemLinkStyles = () => _ref2;
165
+ const UserSettingsMenuBody = props => {
166
+ var _context2;
167
+ // Focus on a menu item when it's opened through keyboard
168
+ const menuElementRef = useRef(null);
169
+ useEffect(() => {
170
+ menuElementRef.current?.focus();
171
+ }, []);
172
+ const environment = useApplicationContext(context => context.environment);
173
+ const applicationsAppBarMenu = useApplicationsMenu('appBar', {
174
+ environment
175
+ });
176
+ const accountMenuItems = applicationsAppBarMenu ?? [];
177
+ return jsx("div", {
178
+ onKeyDown: event => {
179
+ if (event.key === 'Esc' || event.key === 'Tab' && !getIsFocusedElementInMenu()) {
180
+ props.downshiftProps.closeMenu();
181
+ }
182
+ },
183
+ css: getUserSettingsMenuStyles(),
184
+ children: jsxs("div", _objectSpread(_objectSpread({}, props.downshiftProps.getMenuProps()), {}, {
185
+ children: [jsx(UserSettingsAvatarContainer, {
186
+ children: jsxs(Spacings.Inline, {
187
+ scale: "m",
188
+ alignItems: "center",
189
+ children: [jsx(Avatar, {
190
+ size: "m",
191
+ firstName: props.firstName,
192
+ lastName: props.lastName,
193
+ gravatarHash: props.gravatarHash,
194
+ color: "purple"
195
+ }), jsxs("div", {
196
+ children: [jsx(Text.Subheadline, {
197
+ as: "h4",
198
+ children: _trimInstanceProperty(_context2 = [props.firstName, props.lastName].join(' ')).call(_context2)
199
+ }), jsx(Text.Detail, {
200
+ truncate: true,
201
+ tone: "secondary",
202
+ children: props.email
203
+ })]
204
+ })]
205
+ })
206
+ }), accountMenuItems.length > 0 ? jsx(MenuItem, {
207
+ hasDivider: true
208
+ }) : null, _mapInstanceProperty(accountMenuItems).call(accountMenuItems, menu => jsx(OptionalFeatureToggle, {
209
+ featureToggle: menu.featureToggle ?? undefined,
210
+ children: jsx(Link, {
211
+ css: getUserSettingsMenuItemLinkStyles(),
212
+ to: `/${STATIC_URL_PATHS.ACCOUNT}/${menu.uriPath}`,
213
+ onClick: () => props.downshiftProps.toggleMenu(),
214
+ "data-user-settings-menu": true,
215
+ ref: menuElementRef,
216
+ children: jsx(MenuItem, {
217
+ children: jsx(MenuItemLabel, {
218
+ children: jsx(Text.Body, {
219
+ children: renderLabel(menu, props.language)
220
+ })
221
+ })
222
+ })
223
+ })
224
+ }, menu.key)), jsx(MenuItem, {
225
+ hasDivider: true
226
+ }), jsx("a", {
227
+ css: getUserSettingsMenuItemLinkStyles(),
228
+ href: `https://commercetools.com/privacy#suppliers`,
229
+ target: "_blank",
230
+ rel: "noopener noreferrer",
231
+ onClick: () => props.downshiftProps.toggleMenu(),
232
+ "data-user-settings-menu": true,
233
+ ref: !applicationsAppBarMenu ? menuElementRef : undefined,
234
+ children: jsx(MenuItem, {
235
+ children: jsx(MenuItemLabel, {
236
+ children: jsx(Text.Body, {
237
+ intlMessage: messages.privacyPolicy
238
+ })
239
+ })
240
+ })
241
+ }), jsx("a", {
242
+ css: getUserSettingsMenuItemLinkStyles(),
243
+ href: SUPPORT_PORTAL_URL,
244
+ rel: "noopener noreferrer",
245
+ target: "_blank",
246
+ onClick: () => props.downshiftProps.toggleMenu(),
247
+ "data-user-settings-menu": true,
248
+ children: jsx(MenuItem, {
249
+ children: jsx(MenuItemLabel, {
250
+ children: jsx(Text.Body, {
251
+ intlMessage: messages.support
252
+ })
253
+ })
254
+ })
255
+ }), jsx(MenuItem, {
256
+ hasDivider: true
257
+ }), jsxs("a", {
258
+ css: getUserSettingsMenuItemLinkStyles()
259
+ // NOTE: we want to redirect to a new page so that the
260
+ // server can remove things like cookie for access token.
261
+ ,
262
+ href: `/${STATIC_URL_PATHS.LOGOUT}?reason=${LOGOUT_REASONS.USER}`,
263
+ "data-test": "logout-button",
264
+ "data-user-settings-menu": true,
265
+ children: [jsx(MenuItem, {
266
+ children: jsx(MenuItemLabel, {
267
+ children: jsx(Text.Body, {
268
+ intlMessage: messages.logout
269
+ })
270
+ })
271
+ }), jsx("div", {
272
+ tabIndex: 0,
273
+ onFocus: () => props.downshiftProps.closeMenu()
274
+ })]
275
+ })]
276
+ }))
277
+ });
278
+ };
279
+ UserSettingsMenuBody.displayName = 'UserSettingsMenuBody';
280
+ var _ref = process.env.NODE_ENV === "production" ? {
281
+ name: "18rc9yp",
282
+ styles: "cursor:pointer;border:none;padding:0;display:flex;background:transparent"
283
+ } : {
284
+ name: "pod1xb-UserSettingsMenu",
285
+ styles: "cursor:pointer;border:none;padding:0;display:flex;background:transparent;label:UserSettingsMenu;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItc2V0dGluZ3MtbWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcVVzQiIsImZpbGUiOiJ1c2VyLXNldHRpbmdzLW1lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgRG93bnNoaWZ0LCB7XG4gIHR5cGUgQ29udHJvbGxlclN0YXRlQW5kSGVscGVycyxcbiAgdHlwZSBEb3duc2hpZnRQcm9wcyxcbn0gZnJvbSAnZG93bnNoaWZ0JztcbmltcG9ydCB7IHVzZUludGwsIEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtcbiAgTE9HT1VUX1JFQVNPTlMsXG4gIE5PX1ZBTFVFX0ZBTExCQUNLLFxuICBTVEFUSUNfVVJMX1BBVEhTLFxuICBTVVBQT1JUX1BPUlRBTF9VUkwsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgQWNjZXNzaWJsZUhpZGRlbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hY2Nlc3NpYmxlLWhpZGRlbic7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2F2YXRhcic7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgYXMgdWlraXREZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBTcGFjaW5ncyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHVzZUFwcGxpY2F0aW9uc01lbnUgZnJvbSAnLi4vLi4vaG9va3MvdXNlLWFwcGxpY2F0aW9ucy1tZW51JztcbmltcG9ydCB0eXBlIHsgVFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hBcHBsaWNhdGlvbnNNZW51UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuXG50eXBlIFByb3BzID0gUGljazxcbiAgVFVzZXIsXG4gICdsYW5ndWFnZScgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZScgfCAnZW1haWwnIHwgJ2dyYXZhdGFySGFzaCdcbj47XG50eXBlIE1lbnVCb2R5UHJvcHMgPSBQcm9wcyAmIHtcbiAgZG93bnNoaWZ0UHJvcHM6IENvbnRyb2xsZXJTdGF0ZUFuZEhlbHBlcnM8e30+O1xufTtcbnR5cGUgT3B0aW9uYWxGZWF0dXJlVG9nZ2xlUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNEaXZpZGVyPzogYm9vbGVhbjtcbn07XG50eXBlIE1lbnVJdGVtTGFiZWxQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgTWVudUNvbmZpZyA9IFRGZXRjaEFwcGxpY2F0aW9uc01lbnVRdWVyeVsnYXBwbGljYXRpb25zTWVudSddWydhcHBCYXInXVswXTtcblxuY29uc3QgTUVOVV9MQUJFTF9JRCA9ICd1c2VyLW1lbnUtc2V0dGluZy1tZW51LWxhYmVsJztcblxuY29uc3QgVXNlckF2YXRhciA9IChcbiAgcHJvcHM6IFBpY2s8UHJvcHMsICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdncmF2YXRhckhhc2gnPlxuKSA9PiB7XG4gIGNvbnN0IFtpc01vdXNlT3Zlciwgc2V0SXNNb3VzZU92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVNb3VzZU92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIodHJ1ZSk7XG4gIH0sIFtdKTtcbiAgY29uc3QgaGFuZGxlTW91c2VPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNNb3VzZU92ZXIoZmFsc2UpO1xuICB9LCBbXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBvbk1vdXNlT3Zlcj17aGFuZGxlTW91c2VPdmVyfSBvbk1vdXNlT3V0PXtoYW5kbGVNb3VzZU91dH0+XG4gICAgICA8U3BhY2luZ3MuSW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgPEF2YXRhclxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICBsYXN0TmFtZT17cHJvcHMubGFzdE5hbWV9XG4gICAgICAgICAgaXNIaWdobGlnaHRlZD17aXNNb3VzZU92ZXJ9XG4gICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAvPlxuICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuVXNlckF2YXRhci5kaXNwbGF5TmFtZSA9ICdVc2VyQXZhdGFyJztcblxuZnVuY3Rpb24gZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uZ2V0QXR0cmlidXRlKCdkYXRhLXVzZXItc2V0dGluZ3MtbWVudScpXG4gICk7XG59XG5cbmNvbnN0IHN0YXRlUmVkdWNlcjogRG93bnNoaWZ0UHJvcHM8e30+WydzdGF0ZVJlZHVjZXInXSA9IChzdGF0ZSwgY2hhbmdlcykgPT4ge1xuICBzd2l0Y2ggKGNoYW5nZXMudHlwZSkge1xuICAgIC8vIFNvIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbmF2aWdhdGUgd2l0aCB0aGUgdGFiIGJ1dHRvblxuICAgIC8vIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1lbnUgZG9lcyBub3QgY2xvc2VcbiAgICBjYXNlIERvd25zaGlmdC5zdGF0ZUNoYW5nZVR5cGVzLmJsdXJCdXR0b246XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jaGFuZ2VzLFxuICAgICAgICBpc09wZW46IChzdGF0ZS5pc09wZW4gJiYgZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG59O1xuXG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gaXNMb25nTGl2ZWRGbGFnKFxuICBmbGFnOiBURmxhZ1ZhcmlhdGlvbiB8IFRMb25nTGl2ZWRGbGFnXG4pOiBmbGFnIGlzIFRMb25nTGl2ZWRGbGFnIHtcbiAgcmV0dXJuIHR5cGVvZiAoZmxhZyBhcyBUTG9uZ0xpdmVkRmxhZyk/LnZhbHVlID09PSAnYm9vbGVhbic7XG59XG5cbmNvbnN0IE9wdGlvbmFsRmVhdHVyZVRvZ2dsZSA9IChwcm9wczogT3B0aW9uYWxGZWF0dXJlVG9nZ2xlUHJvcHMpID0+IHtcbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCByZW5kZXJMYWJlbCA9IChcbiAgbWVudTogTWVudUNvbmZpZyxcbiAgYXBwbGljYXRpb25MYW5ndWFnZTogUHJvcHNbJ2xhbmd1YWdlJ11cbikgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IG1lbnUubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBhcHBsaWNhdGlvbkxhbmd1YWdlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gbG9jYWxpemVkTGFiZWwudmFsdWU7XG4gIHJldHVybiBOT19WQUxVRV9GQUxMQkFDSztcbn07XG5cbmNvbnN0IE1lbnVJdGVtID0gc3R5bGVkLmRpdjxNZW51SXRlbVByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JTb2xpZH07XG5cbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDk1fTtcbiAgfVxuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0RpdmlkZXIgPT09IHRydWVcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbH07XG4gICAgICAgICAgbWFyZ2luOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gMDtcbiAgICAgICAgYFxuICAgICAgOiAnJ307XG5gO1xuXG5jb25zdCBNZW51SXRlbUxhYmVsID0gKHByb3BzOiBNZW51SXRlbUxhYmVsUHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgcGFkZGluZzogJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nMjB9ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzUwfTtcbiAgICBgfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lciA9IChcbiAgcHJvcHM6IFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lclByb3BzXG4pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgcGFkZGluZzogJHt1aWtpdERlc2lnblRva2Vucy5zcGFjaW5nMzB9ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzUwfTtcbiAgICBgfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmNvbnN0IGdldFVzZXJTZXR0aW5nc01lbnVTdHlsZXMgPSAoKSA9PiB7XG4gIHJldHVybiBjc3NgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR7dWlraXREZXNpZ25Ub2tlbnMuY29sb3JTdXJmYWNlfTtcbiAgICBib3JkZXItcmFkaXVzOiAke3Vpa2l0RGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czJ9O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHdpZHRoOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbnN0cmFpbnQ5fTtcbiAgICByaWdodDogNDBweDtcbiAgICB0b3A6IGNhbGMoJHtESU1FTlNJT05TLmhlYWRlcn0gKyAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH0pO1xuICAgIHBhZGRpbmc6IDAgMCAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICBgO1xufTtcblxuY29uc3QgZ2V0VXNlclNldHRpbmdzTWVudUl0ZW1MaW5rU3R5bGVzID0gKCkgPT4gY3NzYFxuICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnVCb2R5ID0gKHByb3BzOiBNZW51Qm9keVByb3BzKSA9PiB7XG4gIC8vIEZvY3VzIG9uIGEgbWVudSBpdGVtIHdoZW4gaXQncyBvcGVuZWQgdGhyb3VnaCBrZXlib2FyZFxuICBjb25zdCBtZW51RWxlbWVudFJlZiA9IHVzZVJlZjxIVE1MQW5jaG9yRWxlbWVudD4obnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbWVudUVsZW1lbnRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGVudmlyb25tZW50ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiBjb250ZXh0LmVudmlyb25tZW50KTtcblxuICBjb25zdCBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID0gdXNlQXBwbGljYXRpb25zTWVudTwnYXBwQmFyJz4oJ2FwcEJhcicsIHtcbiAgICBlbnZpcm9ubWVudCxcbiAgfSk7XG4gIGNvbnN0IGFjY291bnRNZW51SXRlbXMgPSBhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8/IFtdO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0VzYycgfHxcbiAgICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZ2V0SXNGb2N1c2VkRWxlbWVudEluTWVudSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICBwcm9wcy5kb3duc2hpZnRQcm9wcy5jbG9zZU1lbnUoKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIGNzcz17Z2V0VXNlclNldHRpbmdzTWVudVN0eWxlcygpfVxuICAgID5cbiAgICAgIDxkaXYgey4uLnByb3BzLmRvd25zaGlmdFByb3BzLmdldE1lbnVQcm9wcygpfT5cbiAgICAgICAgPFVzZXJTZXR0aW5nc0F2YXRhckNvbnRhaW5lcj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICBmaXJzdE5hbWU9e3Byb3BzLmZpcnN0TmFtZX1cbiAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICBncmF2YXRhckhhc2g9e3Byb3BzLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgICAgY29sb3I9XCJwdXJwbGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUZXh0LlN1YmhlYWRsaW5lIGFzPVwiaDRcIj5cbiAgICAgICAgICAgICAgICB7W3Byb3BzLmZpcnN0TmFtZSwgcHJvcHMubGFzdE5hbWVdLmpvaW4oJyAnKS50cmltKCl9XG4gICAgICAgICAgICAgIDwvVGV4dC5TdWJoZWFkbGluZT5cbiAgICAgICAgICAgICAgPFRleHQuRGV0YWlsIHRydW5jYXRlIHRvbmU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICB7cHJvcHMuZW1haWx9XG4gICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgPC9Vc2VyU2V0dGluZ3NBdmF0YXJDb250YWluZXI+XG4gICAgICAgIHthY2NvdW50TWVudUl0ZW1zLmxlbmd0aCA+IDAgPyA8TWVudUl0ZW0gaGFzRGl2aWRlcj17dHJ1ZX0gLz4gOiBudWxsfVxuICAgICAgICB7YWNjb3VudE1lbnVJdGVtcy5tYXAoKG1lbnUpID0+IChcbiAgICAgICAgICA8T3B0aW9uYWxGZWF0dXJlVG9nZ2xlXG4gICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17bWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBjc3M9e2dldFVzZXJTZXR0aW5nc01lbnVJdGVtTGlua1N0eWxlcygpfVxuICAgICAgICAgICAgICB0bz17YC8ke1NUQVRJQ19VUkxfUEFUSFMuQUNDT1VOVH0vJHttZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMuZG93bnNoaWZ0UHJvcHMudG9nZ2xlTWVudSgpfVxuICAgICAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICAgICAgICByZWY9e21lbnVFbGVtZW50UmVmfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8VGV4dC5Cb2R5PntyZW5kZXJMYWJlbChtZW51LCBwcm9wcy5sYW5ndWFnZSl9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvT3B0aW9uYWxGZWF0dXJlVG9nZ2xlPlxuICAgICAgICApKX1cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtgaHR0cHM6Ly9jb21tZXJjZXRvb2xzLmNvbS9wcml2YWN5I3N1cHBsaWVyc2B9XG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgICByZWY9eyFhcHBsaWNhdGlvbnNBcHBCYXJNZW51ID8gbWVudUVsZW1lbnRSZWYgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudUl0ZW0+XG4gICAgICAgICAgICA8TWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMucHJpdmFjeVBvbGljeX0gLz5cbiAgICAgICAgICAgIDwvTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5kb3duc2hpZnRQcm9wcy50b2dnbGVNZW51KCl9XG4gICAgICAgICAgZGF0YS11c2VyLXNldHRpbmdzLW1lbnVcbiAgICAgICAgPlxuICAgICAgICAgIDxNZW51SXRlbT5cbiAgICAgICAgICAgIDxNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5zdXBwb3J0fSAvPlxuICAgICAgICAgICAgPC9NZW51SXRlbUxhYmVsPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPE1lbnVJdGVtIGhhc0RpdmlkZXI9e3RydWV9IC8+XG4gICAgICAgIDxhXG4gICAgICAgICAgY3NzPXtnZXRVc2VyU2V0dGluZ3NNZW51SXRlbUxpbmtTdHlsZXMoKX1cbiAgICAgICAgICAvLyBOT1RFOiB3ZSB3YW50IHRvIHJlZGlyZWN0IHRvIGEgbmV3IHBhZ2Ugc28gdGhhdCB0aGVcbiAgICAgICAgICAvLyBzZXJ2ZXIgY2FuIHJlbW92ZSB0aGluZ3MgbGlrZSBjb29raWUgZm9yIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgICBocmVmPXtgLyR7U1RBVElDX1VSTF9QQVRIUy5MT0dPVVR9P3JlYXNvbj0ke0xPR09VVF9SRUFTT05TLlVTRVJ9YH1cbiAgICAgICAgICBkYXRhLXRlc3Q9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXVzZXItc2V0dGluZ3MtbWVudVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtPlxuICAgICAgICAgICAgPE1lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLmxvZ291dH0gLz5cbiAgICAgICAgICAgIDwvTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxkaXYgdGFiSW5kZXg9ezB9IG9uRm9jdXM9eygpID0+IHByb3BzLmRvd25zaGlmdFByb3BzLmNsb3NlTWVudSgpfSAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51Qm9keS5kaXNwbGF5TmFtZSA9ICdVc2VyU2V0dGluZ3NNZW51Qm9keSc7XG5cbmNvbnN0IFVzZXJTZXR0aW5nc01lbnUgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtdGVzdD1cInVzZXItc2V0dGluZ3MtbWVudVwiPlxuICAgICAgPEFjY2Vzc2libGVIaWRkZW4+XG4gICAgICAgIDxzcGFuIGlkPXtNRU5VX0xBQkVMX0lEfT5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMubWVudUxhYmVsfSAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L0FjY2Vzc2libGVIaWRkZW4+XG4gICAgICA8RG93bnNoaWZ0IHN0YXRlUmVkdWNlcj17c3RhdGVSZWR1Y2VyfSBsYWJlbElkPXtNRU5VX0xBQkVMX0lEfT5cbiAgICAgICAgeyhkb3duc2hpZnRQcm9wcykgPT4gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICB7Li4uZG93bnNoaWZ0UHJvcHMuZ2V0VG9nZ2xlQnV0dG9uUHJvcHMoe1xuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogaW50bC5mb3JtYXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgZG93bnNoaWZ0UHJvcHMuaXNPcGVuXG4gICAgICAgICAgICAgICAgICAgID8gbWVzc2FnZXMuY2xvc2VNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlcy5vcGVuTWVudUxhYmVsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxVc2VyQXZhdGFyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy5maXJzdE5hbWV9XG4gICAgICAgICAgICAgICAgbGFzdE5hbWU9e3Byb3BzLmxhc3ROYW1lfVxuICAgICAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMuZ3JhdmF0YXJIYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7ZG93bnNoaWZ0UHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVCb2R5XG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgICAgIGRvd25zaGlmdFByb3BzPXtkb3duc2hpZnRQcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Rvd25zaGlmdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Vc2VyU2V0dGluZ3NNZW51LmRpc3BsYXlOYW1lID0gJ1VzZXJTZXR0aW5nc01lbnUnO1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyU2V0dGluZ3NNZW51O1xuXG4vLyBGb3IgdGVzdGluZ1xuZXhwb3J0IHsgVXNlckF2YXRhciwgVXNlclNldHRpbmdzTWVudUJvZHkgfTtcbiJdfQ== */",
286
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
287
+ };
288
+ const UserSettingsMenu = props => {
289
+ const intl = useIntl();
290
+ return jsxs("div", {
291
+ "data-test": "user-settings-menu",
292
+ children: [jsx(AccessibleHidden, {
293
+ children: jsx("span", {
294
+ id: MENU_LABEL_ID,
295
+ children: jsx(FormattedMessage, _objectSpread({}, messages.menuLabel))
296
+ })
297
+ }), jsx(Downshift, {
298
+ stateReducer: stateReducer,
299
+ labelId: MENU_LABEL_ID,
300
+ children: downshiftProps => jsxs("div", {
301
+ children: [jsx("button", _objectSpread(_objectSpread({
302
+ css: _ref
303
+ }, downshiftProps.getToggleButtonProps({
304
+ 'aria-label': intl.formatMessage(downshiftProps.isOpen ? messages.closeMenuLabel : messages.openMenuLabel)
305
+ })), {}, {
306
+ children: jsx(UserAvatar, {
307
+ firstName: props.firstName,
308
+ lastName: props.lastName,
309
+ gravatarHash: props.gravatarHash
310
+ })
311
+ })), downshiftProps.isOpen && jsx(UserSettingsMenuBody, _objectSpread(_objectSpread({}, props), {}, {
312
+ downshiftProps: downshiftProps
313
+ }))]
314
+ })
315
+ })]
316
+ });
317
+ };
318
+ UserSettingsMenu.displayName = 'UserSettingsMenu';
319
+
320
+ export { UserAvatar, UserSettingsMenuBody, UserSettingsMenu as default };