@projectcor/people-microfront 1.0.2-9 → 1.0.2

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 (111) hide show
  1. package/lib/App.js +8 -3
  2. package/lib/App.stories.js +22 -2
  3. package/lib/components/DeleteTeamModal/DeleteTeamModal.js +8 -5
  4. package/lib/components/DeleteTeamModal/DeleteTeamModal.styles.js +11 -10
  5. package/lib/components/DeletedUserIcon/DeletedUserIcon.js +5 -3
  6. package/lib/components/DeletedUserIcon/DeletedUserIcon.styles.js +2 -2
  7. package/lib/components/DisabledUserIcon/DisabledUserIcon.js +3 -2
  8. package/lib/components/DisabledUserIcon/DisabledUserIcon.styles.js +2 -2
  9. package/lib/components/EmptyStateTeams/EmptyStateTeams.js +4 -3
  10. package/lib/components/EmptyStateTeams/EmptyStateTeams.styles.js +3 -2
  11. package/lib/components/EmptyUser/EmptyUser.js +9 -48
  12. package/lib/components/EmptyUser/EmptyUser.styles.js +18 -0
  13. package/lib/components/ErrorComponent/ErrorComponent.spec.js +3 -2
  14. package/lib/components/ErrorComponent/ErrorComponent.styles.js +5 -5
  15. package/lib/components/ErrorTeams/ErrorTeams.styles.js +3 -2
  16. package/lib/components/Filters/FilterChip/FilterChip.js +52 -32
  17. package/lib/components/Filters/FilterChip/FilterChip.styles.js +6 -0
  18. package/lib/components/Filters/LabelFilter/LabelFilter.js +22 -20
  19. package/lib/components/Filters/LabelFilter/LabelFilter.styles.js +4 -4
  20. package/lib/components/Filters/SearchComponent/SearchComponent.js +3 -5
  21. package/lib/components/HeaderTeams/HeaderTeams.js +4 -3
  22. package/lib/components/HeaderTeams/HeaderTeams.style.js +3 -2
  23. package/lib/components/Icons/UserIconLock.js +3 -2
  24. package/lib/components/Icons/UserIconWithCross.js +3 -2
  25. package/lib/components/Illustration/EmptyFilter.js +67 -0
  26. package/lib/components/Layout/Layout.js +23 -2
  27. package/lib/components/Layout/Layout.styles.js +19 -3
  28. package/lib/components/Layout/index.js +2 -3
  29. package/lib/components/MenuOptions/MenuOptions.js +127 -40
  30. package/lib/components/MenuOptions/MenuOptions.styles.js +8 -4
  31. package/lib/components/Modal/ModalLayout.js +4 -4
  32. package/lib/components/Modal/ModalLayout.style.js +9 -9
  33. package/lib/components/ModalBlockedUser/ModalBlockedUser.js +47 -0
  34. package/lib/components/ModalBlockedUser/ModalBlockedUser.styles.js +14 -0
  35. package/lib/components/ModalBlockedUser/index.js +2 -0
  36. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.js +3 -6
  37. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.styles.js +7 -6
  38. package/lib/components/ModalEditUserPosition/UserEditPositionRow.js +55 -168
  39. package/lib/components/ModalEditUserPosition/UserEditPositionRow.styles.js +56 -1
  40. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.js +109 -25
  41. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.styles.js +9 -4
  42. package/lib/components/ModalOptionsWithSearch/SearchInput.js +5 -2
  43. package/lib/components/Pagination/Pagination.styles.js +5 -1
  44. package/lib/components/Pagination/PaginationView.js +16 -65
  45. package/lib/components/Search/InputSearch.js +3 -2
  46. package/lib/components/Search/Search.js +18 -15
  47. package/lib/components/Table/Header/HeaderTable.js +29 -41
  48. package/lib/components/Table/Header/HeaderTable.styles.js +15 -0
  49. package/lib/components/Table/Row/Row.js +59 -27
  50. package/lib/components/Table/Row/Row.styles.js +40 -18
  51. package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.js +8 -5
  52. package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.styles.js +7 -6
  53. package/lib/components/Table/TeamRow/AddUsers/AddUsers.js +92 -61
  54. package/lib/components/Table/TeamRow/AddUsers/AddUsers.styles.js +8 -3
  55. package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.js +8 -5
  56. package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.styles.js +7 -6
  57. package/lib/components/Table/TeamRow/TeamRow.js +9 -9
  58. package/lib/components/Table/TeamRow/TeamRow.styles.js +7 -0
  59. package/lib/components/Table/TeamRow/UsersRow/UsersRow.js +10 -6
  60. package/lib/components/Table/TeamRow/UsersRow/UsersRow.styles.js +5 -4
  61. package/lib/components/TeamDetailsModal/MembersSelect.js +38 -35
  62. package/lib/components/TeamDetailsModal/TeamDetailsModal.js +21 -17
  63. package/lib/components/TeamDetailsModal/TeamDetailsModal.styles.js +30 -21
  64. package/lib/components/UserRow/UserRow.js +17 -70
  65. package/lib/components/UserRow/UserRow.styles.js +33 -4
  66. package/lib/container/Body/BodyContainer.js +52 -33
  67. package/lib/container/Body/BodyContainerViewTeams.js +37 -18
  68. package/lib/container/Filters/FiltersContainer.js +99 -34
  69. package/lib/container/Filters/FiltersTeamsContainer.js +1 -5
  70. package/lib/container/MainView/MainTeamsView.js +22 -13
  71. package/lib/container/MainView/MainUsersView.js +46 -83
  72. package/lib/container/MainView/MainUsersView.styles.js +32 -0
  73. package/lib/container/MainView/MainView.js +2 -4
  74. package/lib/container/RouterComponent/RouterComponent.js +24 -45
  75. package/lib/container/RouterComponent/RouterComponent.stories.js +1 -3
  76. package/lib/container/RouterComponent/RouterComponent.styles.js +26 -0
  77. package/lib/container/TableContainer/TableContainer.js +33 -12
  78. package/lib/context/TeamsContext.js +8 -2
  79. package/lib/context/UsersContext.js +45 -22
  80. package/lib/hooks/useAbortController.js +15 -11
  81. package/lib/hooks/useCreateTeams.js +6 -2
  82. package/lib/hooks/useDebouncedCallback.js +27 -0
  83. package/lib/hooks/useDeleteTeam.js +5 -1
  84. package/lib/hooks/useGetTeams.js +45 -19
  85. package/lib/hooks/useGetUserPositionFilter.js +5 -2
  86. package/lib/hooks/useGetUsers.js +38 -17
  87. package/lib/hooks/useGetUsersForFilter.js +1 -2
  88. package/lib/hooks/useGraphAdapter.js +19 -8
  89. package/lib/hooks/useLoadMoreGuard.js +16 -0
  90. package/lib/hooks/useResize.js +9 -4
  91. package/lib/lang/i18nextForWeb.js +2 -2
  92. package/lib/lang/translation/br.json +54 -12
  93. package/lib/lang/translation/en.json +57 -14
  94. package/lib/lang/translation/es.json +55 -12
  95. package/lib/lang/translation/fr.json +57 -14
  96. package/lib/query/getTeams.js +2 -2
  97. package/lib/query/getUsers.js +2 -2
  98. package/lib/types/global.d.js +1 -1
  99. package/lib/types/userType.d.js +1 -1
  100. package/lib/utils/formatNumber.js +55 -0
  101. package/lib/utils/tabUrl.js +20 -0
  102. package/package.json +2 -2
  103. package/readme.md +223 -52
  104. package/lib/components/ModalBloquedUser/ModalBloquedUser.js +0 -70
  105. package/lib/components/ModalBloquedUser/index.js +0 -2
  106. package/lib/components/Pagination/Pagination.js +0 -78
  107. package/lib/components/ShowMore/ShowMore.js +0 -12
  108. package/lib/components/ShowMore/ShowMore.style.js +0 -10
  109. package/lib/components/ShowMore/index.js +0 -2
  110. package/lib/components/Table/Content/ContentTable.js +0 -7
  111. package/lib/components/Table/Content/index.js +0 -2
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -7,16 +8,17 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
8
  /* eslint-disable @typescript-eslint/no-empty-function */
8
9
  /* eslint-disable react/require-default-props */
9
10
  /* eslint-disable no-undef */
10
- import { memo, useEffect, useState, useRef } from 'react';
11
+ import { memo, useEffect, useState, useRef, useCallback } from 'react';
11
12
  import { useTranslation } from 'react-i18next';
12
13
  import { useUsersQuery } from '../../context/UsersContext';
13
14
  import { FilterChip } from '../../components/Filters/FilterChip';
14
15
  import { useGetTeams } from '../../hooks/useGetTeams';
16
+ import { useLoadMoreGuard } from '../../hooks/useLoadMoreGuard';
15
17
  import { SEARCH_EVENT } from '../../hooks/useSearchEvent';
16
18
  import { Search } from '../../components/Search/Search';
19
+ import { LayoutSearchUser } from '../../components/Layout/Layout';
17
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
- export var FiltersContainer = /*#__PURE__*/memo(function (_ref) {
19
- var handleGetUserPositionFilterProp = _ref.handleGetUserPositionFilter;
21
+ export var FiltersContainer = /*#__PURE__*/memo(function () {
20
22
  var _useTranslation = useTranslation('people'),
21
23
  t = _useTranslation.t;
22
24
  var _useUsersQuery = useUsersQuery(),
@@ -26,8 +28,9 @@ export var FiltersContainer = /*#__PURE__*/memo(function (_ref) {
26
28
  handleGetTeams = _useGetTeams.handleGetTeams,
27
29
  loading = _useGetTeams.loading,
28
30
  error = _useGetTeams.error,
29
- data = _useGetTeams.data;
30
- var handleGetUserPositionFilter = handleGetUserPositionFilterProp !== null && handleGetUserPositionFilterProp !== void 0 ? handleGetUserPositionFilterProp : function () {};
31
+ data = _useGetTeams.data,
32
+ currentPage = _useGetTeams.currentPage,
33
+ lastPage = _useGetTeams.lastPage;
31
34
  var _useState = useState(''),
32
35
  _useState2 = _slicedToArray(_useState, 2),
33
36
  searchTermValue = _useState2[0],
@@ -49,20 +52,31 @@ export var FiltersContainer = /*#__PURE__*/memo(function (_ref) {
49
52
  _useState0 = _slicedToArray(_useState9, 2),
50
53
  selectedPositions = _useState0[0],
51
54
  setSelectedPositions = _useState0[1];
55
+ var _useState1 = useState(''),
56
+ _useState10 = _slicedToArray(_useState1, 2),
57
+ teamSearchTerm = _useState10[0],
58
+ setTeamSearchTerm = _useState10[1];
59
+ var _useState11 = useState(''),
60
+ _useState12 = _slicedToArray(_useState11, 2),
61
+ positionSearchTerm = _useState12[0],
62
+ setPositionSearchTerm = _useState12[1];
63
+ var canLoadMoreTeams = currentPage < lastPage;
64
+ var _useLoadMoreGuard = useLoadMoreGuard(loading, canLoadMoreTeams),
65
+ requestTeamsLoadMore = _useLoadMoreGuard.requestLoadMore;
52
66
  var buildAndSendUserRequest = function buildAndSendUserRequest() {
53
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
54
- searchInputOverride = _ref2.searchInputOverride,
55
- teamsOverride = _ref2.teamsOverride,
56
- positionsOverride = _ref2.positionsOverride;
67
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
68
+ searchInputOverride = _ref.searchInputOverride,
69
+ teamsOverride = _ref.teamsOverride,
70
+ positionsOverride = _ref.positionsOverride;
57
71
  var positionsFilter = positionsOverride !== undefined ? positionsOverride.length ? {
58
72
  positions: positionsOverride
59
73
  } : {} : selectedPositions.length ? {
60
74
  positions: selectedPositions
61
75
  } : {};
62
76
  var teamsFilter = teamsOverride !== undefined ? teamsOverride.length ? {
63
- teams: teamsOverride
77
+ team: teamsOverride
64
78
  } : {} : selectedTeams.length ? {
65
- teams: selectedTeams
79
+ team: selectedTeams
66
80
  } : {};
67
81
  var valuesToFilter = _objectSpread(_objectSpread({}, positionsFilter), teamsFilter);
68
82
  handleGetUsers({
@@ -102,7 +116,14 @@ export var FiltersContainer = /*#__PURE__*/memo(function (_ref) {
102
116
  });
103
117
  }
104
118
  } else {
105
- handleGetTeams(1, searchTerm);
119
+ setTeamSearchTerm(searchTerm !== null && searchTerm !== void 0 ? searchTerm : '');
120
+ handleGetTeams(_objectSpread({
121
+ page: 1
122
+ }, searchTerm ? {
123
+ filter: {
124
+ name: searchTerm
125
+ }
126
+ } : {}));
106
127
  }
107
128
  }
108
129
  if (type === 'positionFilter') {
@@ -122,8 +143,8 @@ export var FiltersContainer = /*#__PURE__*/memo(function (_ref) {
122
143
  positionsOverride: valuesToFilter
123
144
  });
124
145
  }
125
- } else if (searchTerm) {
126
- handleGetUserPositionFilter(searchTerm);
146
+ } else {
147
+ setPositionSearchTerm(searchTerm !== null && searchTerm !== void 0 ? searchTerm : '');
127
148
  }
128
149
  }
129
150
  };
@@ -131,38 +152,82 @@ export var FiltersContainer = /*#__PURE__*/memo(function (_ref) {
131
152
  return function () {
132
153
  window.removeEventListener(SEARCH_EVENT, handleSearch);
133
154
  };
134
- }, [handleGetTeams, handleGetUserPositionFilter, handleGetUsers, searchTermValue]);
155
+ }, [handleGetUsers, searchTermValue, selectedTeams, selectedPositions]);
135
156
  useEffect(function () {
136
- if (data !== null && data !== void 0 && data.teams && !loading && !error) {
137
- setTeamOptions(data.teams.data.map(function (team) {
138
- return {
139
- id: team.id,
140
- label: team.name
141
- };
142
- }));
157
+ if (!(data !== null && data !== void 0 && data.teamsUsers) || error) return;
158
+ var mapped = data.teamsUsers.data.map(function (team) {
159
+ return {
160
+ id: team.id,
161
+ label: team.name
162
+ };
163
+ });
164
+ if (data.teamsUsers.page === 1) {
165
+ setTeamOptions(mapped);
166
+ } else {
167
+ setTeamOptions(function (prev) {
168
+ var existingIds = new Set(prev.map(function (o) {
169
+ return o.id;
170
+ }));
171
+ var newOnes = mapped.filter(function (o) {
172
+ return !existingIds.has(o.id);
173
+ });
174
+ return newOnes.length ? [].concat(_toConsumableArray(prev), _toConsumableArray(newOnes)) : prev;
175
+ });
143
176
  }
144
- }, [data, loading, error]);
177
+ }, [data, error]);
145
178
  useEffect(function () {
146
- if (positions !== null && positions !== void 0 && positions.length) {
179
+ if (positions) {
147
180
  setPositionOptions(positions);
148
- defaultPositionsRef.current = positions;
181
+ if (positions.length) {
182
+ defaultPositionsRef.current = positions;
183
+ }
149
184
  }
150
185
  }, [positions]);
151
- return /*#__PURE__*/_jsxs("div", {
152
- style: {
153
- display: 'flex',
154
- gap: '10px',
155
- alignItems: 'center'
156
- },
186
+ var handleTeamsLoadMore = useCallback(function () {
187
+ requestTeamsLoadMore(function () {
188
+ return handleGetTeams(_objectSpread({
189
+ page: currentPage + 1
190
+ }, teamSearchTerm !== null && teamSearchTerm !== void 0 && teamSearchTerm.trim() ? {
191
+ filter: {
192
+ name: teamSearchTerm.trim()
193
+ }
194
+ } : {}));
195
+ });
196
+ }, [requestTeamsLoadMore, currentPage, teamSearchTerm, handleGetTeams]);
197
+ var positionOptionsToShow = !positionSearchTerm.trim() ? positionOptions : function () {
198
+ var term = positionSearchTerm.trim().toLowerCase();
199
+ var posWithCategory = positionOptions;
200
+ var selectedOpts = posWithCategory.filter(function (p) {
201
+ return selectedPositions.includes(p.id);
202
+ });
203
+ var filteredOpts = posWithCategory.filter(function (p) {
204
+ return p.label.toLowerCase().includes(term) || p.categoryName && p.categoryName.toLowerCase().includes(term);
205
+ });
206
+ var filteredIds = new Set(filteredOpts.map(function (o) {
207
+ return o.id;
208
+ }));
209
+ var selectedNotInFiltered = selectedOpts.filter(function (o) {
210
+ return !filteredIds.has(o.id);
211
+ });
212
+ return [].concat(_toConsumableArray(selectedNotInFiltered), _toConsumableArray(filteredOpts));
213
+ }();
214
+ return /*#__PURE__*/_jsxs(LayoutSearchUser, {
157
215
  children: [/*#__PURE__*/_jsx(Search, {}), /*#__PURE__*/_jsx(FilterChip, {
158
216
  id: "teamFilter",
159
217
  label: t('filters.team'),
160
- options: teamOptions
218
+ options: teamOptions,
219
+ emptyMessage: t('users.emptyFilterMessage'),
220
+ onLoadMore: handleTeamsLoadMore,
221
+ hasMorePages: canLoadMoreTeams,
222
+ loadMoreLoading: loading,
223
+ dispatchSearchOnClose: false
161
224
  }), /*#__PURE__*/_jsx(FilterChip, {
162
225
  id: "positionFilter",
163
226
  label: t('filters.position'),
164
- options: positionOptions
227
+ options: positionOptionsToShow,
228
+ emptyMessage: t('users.emptyFilterMessage'),
229
+ dispatchSearchOnClose: true
165
230
  })]
166
231
  });
167
232
  });
168
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VSZWYiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZVVzZXJzUXVlcnkiLCJGaWx0ZXJDaGlwIiwidXNlR2V0VGVhbXMiLCJTRUFSQ0hfRVZFTlQiLCJTZWFyY2giLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRmlsdGVyc0NvbnRhaW5lciIsIl9yZWYiLCJoYW5kbGVHZXRVc2VyUG9zaXRpb25GaWx0ZXJQcm9wIiwiaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VVc2Vyc1F1ZXJ5IiwiaGFuZGxlR2V0VXNlcnMiLCJwb3NpdGlvbnMiLCJfdXNlR2V0VGVhbXMiLCJoYW5kbGVHZXRUZWFtcyIsImxvYWRpbmciLCJlcnJvciIsImRhdGEiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWFyY2hUZXJtVmFsdWUiLCJzZXRTZWFyY2hUZXJtVmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInRlYW1PcHRpb25zIiwic2V0VGVhbU9wdGlvbnMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBvc2l0aW9uT3B0aW9ucyIsInNldFBvc2l0aW9uT3B0aW9ucyIsImRlZmF1bHRQb3NpdGlvbnNSZWYiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkVGVhbXMiLCJzZXRTZWxlY3RlZFRlYW1zIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZWxlY3RlZFBvc2l0aW9ucyIsInNldFNlbGVjdGVkUG9zaXRpb25zIiwiYnVpbGRBbmRTZW5kVXNlclJlcXVlc3QiLCJfcmVmMiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNlYXJjaElucHV0T3ZlcnJpZGUiLCJ0ZWFtc092ZXJyaWRlIiwicG9zaXRpb25zT3ZlcnJpZGUiLCJwb3NpdGlvbnNGaWx0ZXIiLCJ0ZWFtc0ZpbHRlciIsInRlYW1zIiwidmFsdWVzVG9GaWx0ZXIiLCJfb2JqZWN0U3ByZWFkIiwic2VhcmNoSW5wdXQiLCJwYWdlIiwiaGFuZGxlU2VhcmNoIiwiZXZlbnQiLCJfZXZlbnQkZGV0YWlsIiwiZGV0YWlsIiwic2VhcmNoVGVybSIsInR5cGUiLCJBcnJheSIsImlzQXJyYXkiLCJhcmVUZWFtc0VxdWFsIiwiZXZlcnkiLCJ2YWx1ZSIsImluZGV4IiwiYXJlUG9zaXRpb25zRXF1YWwiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm1hcCIsInRlYW0iLCJpZCIsImxhYmVsIiwibmFtZSIsImN1cnJlbnQiLCJzdHlsZSIsImRpc3BsYXkiLCJnYXAiLCJhbGlnbkl0ZW1zIiwiY2hpbGRyZW4iLCJvcHRpb25zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRhaW5lci9GaWx0ZXJzL0ZpbHRlcnNDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cbmltcG9ydCB7IG1lbW8sIHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlVXNlcnNRdWVyeSB9IGZyb20gJy4uLy4uL2NvbnRleHQvVXNlcnNDb250ZXh0J1xuaW1wb3J0IHsgRmlsdGVyQ2hpcCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRmlsdGVycy9GaWx0ZXJDaGlwJ1xuaW1wb3J0IHsgdXNlR2V0VGVhbXMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VHZXRUZWFtcydcbmltcG9ydCB7IFNFQVJDSF9FVkVOVCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNlYXJjaEV2ZW50J1xuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoJ1xuXG50eXBlIEZpbHRlcnNDb250YWluZXJQcm9wcyA9IHtcbiAgaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyPzogKG5hbWU6IHN0cmluZywgcGFnZT86IG51bWJlcikgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgRmlsdGVyc0NvbnRhaW5lciA9IG1lbW8oXG4gICh7IGhhbmRsZUdldFVzZXJQb3NpdGlvbkZpbHRlcjogaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyUHJvcCB9OiBGaWx0ZXJzQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdwZW9wbGUnKVxuICAgIGNvbnN0IHsgaGFuZGxlR2V0VXNlcnMsIHBvc2l0aW9ucyB9ID0gdXNlVXNlcnNRdWVyeSgpXG4gICAgY29uc3QgeyBoYW5kbGVHZXRUZWFtcywgbG9hZGluZywgZXJyb3IsIGRhdGEgfSA9IHVzZUdldFRlYW1zKClcbiAgICBjb25zdCBoYW5kbGVHZXRVc2VyUG9zaXRpb25GaWx0ZXIgPSBoYW5kbGVHZXRVc2VyUG9zaXRpb25GaWx0ZXJQcm9wID8/ICgoKSA9PiB7fSlcblxuICAgIGNvbnN0IFtzZWFyY2hUZXJtVmFsdWUsIHNldFNlYXJjaFRlcm1WYWx1ZV0gPSB1c2VTdGF0ZSgnJylcbiAgICBjb25zdCBbdGVhbU9wdGlvbnMsIHNldFRlYW1PcHRpb25zXSA9IHVzZVN0YXRlPHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZyB9W10+KFtdKVxuICAgIGNvbnN0IFtwb3NpdGlvbk9wdGlvbnMsIHNldFBvc2l0aW9uT3B0aW9uc10gPSB1c2VTdGF0ZTx7IGlkOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfVtdPihwb3NpdGlvbnMgfHwgW10pXG4gICAgY29uc3QgZGVmYXVsdFBvc2l0aW9uc1JlZiA9IHVzZVJlZjx7IGlkOiBudW1iZXI7IGxhYmVsOiBzdHJpbmc7IGNhdGVnb3J5TmFtZT86IHN0cmluZyB9W10+KHBvc2l0aW9ucyB8fCBbXSlcblxuICAgIGNvbnN0IFtzZWxlY3RlZFRlYW1zLCBzZXRTZWxlY3RlZFRlYW1zXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSlcbiAgICBjb25zdCBbc2VsZWN0ZWRQb3NpdGlvbnMsIHNldFNlbGVjdGVkUG9zaXRpb25zXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSlcblxuICAgIGNvbnN0IGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0ID0gKHtcbiAgICAgIHNlYXJjaElucHV0T3ZlcnJpZGUsXG4gICAgICB0ZWFtc092ZXJyaWRlLFxuICAgICAgcG9zaXRpb25zT3ZlcnJpZGUsXG4gICAgfToge1xuICAgICAgc2VhcmNoSW5wdXRPdmVycmlkZT86IHN0cmluZ1xuICAgICAgdGVhbXNPdmVycmlkZT86IG51bWJlcltdXG4gICAgICBwb3NpdGlvbnNPdmVycmlkZT86IG51bWJlcltdXG4gICAgfSA9IHt9KSA9PiB7XG4gICAgICBjb25zdCBwb3NpdGlvbnNGaWx0ZXIgPVxuICAgICAgICBwb3NpdGlvbnNPdmVycmlkZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBwb3NpdGlvbnNPdmVycmlkZS5sZW5ndGhcbiAgICAgICAgICAgID8geyBwb3NpdGlvbnM6IHBvc2l0aW9uc092ZXJyaWRlIH1cbiAgICAgICAgICAgIDoge31cbiAgICAgICAgICA6IHNlbGVjdGVkUG9zaXRpb25zLmxlbmd0aFxuICAgICAgICAgID8geyBwb3NpdGlvbnM6IHNlbGVjdGVkUG9zaXRpb25zIH1cbiAgICAgICAgICA6IHt9XG4gICAgICBjb25zdCB0ZWFtc0ZpbHRlciA9XG4gICAgICAgIHRlYW1zT3ZlcnJpZGUgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdGVhbXNPdmVycmlkZS5sZW5ndGhcbiAgICAgICAgICAgID8geyB0ZWFtczogdGVhbXNPdmVycmlkZSB9XG4gICAgICAgICAgICA6IHt9XG4gICAgICAgICAgOiBzZWxlY3RlZFRlYW1zLmxlbmd0aFxuICAgICAgICAgID8geyB0ZWFtczogc2VsZWN0ZWRUZWFtcyB9XG4gICAgICAgICAgOiB7fVxuICAgICAgY29uc3QgdmFsdWVzVG9GaWx0ZXIgPSB7IC4uLnBvc2l0aW9uc0ZpbHRlciwgLi4udGVhbXNGaWx0ZXIgfVxuXG4gICAgICBoYW5kbGVHZXRVc2Vycyh7XG4gICAgICAgIHNlYXJjaElucHV0OiBzZWFyY2hJbnB1dE92ZXJyaWRlICE9PSB1bmRlZmluZWQgPyBzZWFyY2hJbnB1dE92ZXJyaWRlIDogc2VhcmNoVGVybVZhbHVlLFxuICAgICAgICBwYWdlOiAxLFxuICAgICAgICB2YWx1ZXNUb0ZpbHRlcjogdmFsdWVzVG9GaWx0ZXIgYXMgYW55LFxuICAgICAgfSlcbiAgICB9XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlU2VhcmNoID0gKGV2ZW50OiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlYXJjaFRlcm0sIHR5cGUsIHZhbHVlc1RvRmlsdGVyIH0gPSBldmVudC5kZXRhaWxcbiAgICAgICAgaWYgKHR5cGUgPT09ICdmaWx0ZXIxJykge1xuICAgICAgICAgIHNldFNlYXJjaFRlcm1WYWx1ZShzZWFyY2hUZXJtKVxuICAgICAgICAgIGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0KHsgc2VhcmNoSW5wdXRPdmVycmlkZTogc2VhcmNoVGVybSB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGUgPT09ICd0ZWFtRmlsdGVyJykge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlc1RvRmlsdGVyKSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlc1RvRmlsdGVyLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBhcmVUZWFtc0VxdWFsID0gdmFsdWVzVG9GaWx0ZXIuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09IHNlbGVjdGVkVGVhbXNbaW5kZXhdKVxuICAgICAgICAgICAgICBpZiAoYXJlVGVhbXNFcXVhbCkgcmV0dXJuXG4gICAgICAgICAgICAgIHNldFNlbGVjdGVkVGVhbXModmFsdWVzVG9GaWx0ZXIpXG4gICAgICAgICAgICAgIGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICB0ZWFtc092ZXJyaWRlOiB2YWx1ZXNUb0ZpbHRlcixcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldFNlbGVjdGVkVGVhbXMoW10pXG4gICAgICAgICAgICAgIGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0KHsgdGVhbXNPdmVycmlkZTogW10gfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGFuZGxlR2V0VGVhbXMoMSwgc2VhcmNoVGVybSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZSA9PT0gJ3Bvc2l0aW9uRmlsdGVyJykge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlc1RvRmlsdGVyKSkge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZXNUb0ZpbHRlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRQb3NpdGlvbnMoW10pXG4gICAgICAgICAgICAgIGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0KHsgcG9zaXRpb25zT3ZlcnJpZGU6IFtdIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBhcmVQb3NpdGlvbnNFcXVhbCA9IHZhbHVlc1RvRmlsdGVyLmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlID09PSBzZWxlY3RlZFBvc2l0aW9uc1tpbmRleF0pXG4gICAgICAgICAgICAgIGlmIChhcmVQb3NpdGlvbnNFcXVhbCkgcmV0dXJuXG4gICAgICAgICAgICAgIHNldFNlbGVjdGVkUG9zaXRpb25zKHZhbHVlc1RvRmlsdGVyKVxuICAgICAgICAgICAgICBidWlsZEFuZFNlbmRVc2VyUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zT3ZlcnJpZGU6IHZhbHVlc1RvRmlsdGVyLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoc2VhcmNoVGVybSkge1xuICAgICAgICAgICAgaGFuZGxlR2V0VXNlclBvc2l0aW9uRmlsdGVyKHNlYXJjaFRlcm0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFNFQVJDSF9FVkVOVCwgaGFuZGxlU2VhcmNoIGFzIHVua25vd24gYXMgRXZlbnRMaXN0ZW5lcilcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFNFQVJDSF9FVkVOVCwgaGFuZGxlU2VhcmNoIGFzIHVua25vd24gYXMgRXZlbnRMaXN0ZW5lcilcbiAgICAgIH1cbiAgICB9LCBbaGFuZGxlR2V0VGVhbXMsIGhhbmRsZUdldFVzZXJQb3NpdGlvbkZpbHRlciwgaGFuZGxlR2V0VXNlcnMsIHNlYXJjaFRlcm1WYWx1ZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGRhdGE/LnRlYW1zICYmICFsb2FkaW5nICYmICFlcnJvcikge1xuICAgICAgICBzZXRUZWFtT3B0aW9ucyhkYXRhLnRlYW1zLmRhdGEubWFwKHRlYW0gPT4gKHsgaWQ6IHRlYW0uaWQsIGxhYmVsOiB0ZWFtLm5hbWUgfSkpKVxuICAgICAgfVxuICAgIH0sIFtkYXRhLCBsb2FkaW5nLCBlcnJvcl0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBvc2l0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIHNldFBvc2l0aW9uT3B0aW9ucyhwb3NpdGlvbnMpXG4gICAgICAgIGRlZmF1bHRQb3NpdGlvbnNSZWYuY3VycmVudCA9IHBvc2l0aW9uc1xuICAgICAgfVxuICAgIH0sIFtwb3NpdGlvbnNdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZ2FwOiAnMTBweCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTZWFyY2ggLz5cbiAgICAgICAgPEZpbHRlckNoaXAgaWQ9XCJ0ZWFtRmlsdGVyXCIgbGFiZWw9e3QoJ2ZpbHRlcnMudGVhbScpfSBvcHRpb25zPXt0ZWFtT3B0aW9uc30gLz5cbiAgICAgICAgPEZpbHRlckNoaXAgaWQ9XCJwb3NpdGlvbkZpbHRlclwiIGxhYmVsPXt0KCdmaWx0ZXJzLnBvc2l0aW9uJyl9IG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuKVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLElBQUksRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3pELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGFBQWEsUUFBUSw0QkFBNEI7QUFDMUQsU0FBU0MsVUFBVSxRQUFRLHFDQUFxQztBQUNoRSxTQUFTQyxXQUFXLFFBQVEseUJBQXlCO0FBQ3JELFNBQVNDLFlBQVksUUFBUSw0QkFBNEI7QUFDekQsU0FBU0MsTUFBTSxRQUFRLGdDQUFnQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFNdkQsT0FBTyxJQUFNQyxnQkFBZ0IsZ0JBQUdkLElBQUksQ0FDbEMsVUFB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
233
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VSZWYiLCJ1c2VDYWxsYmFjayIsInVzZVRyYW5zbGF0aW9uIiwidXNlVXNlcnNRdWVyeSIsIkZpbHRlckNoaXAiLCJ1c2VHZXRUZWFtcyIsInVzZUxvYWRNb3JlR3VhcmQiLCJTRUFSQ0hfRVZFTlQiLCJTZWFyY2giLCJMYXlvdXRTZWFyY2hVc2VyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZpbHRlcnNDb250YWluZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVVzZXJzUXVlcnkiLCJoYW5kbGVHZXRVc2VycyIsInBvc2l0aW9ucyIsIl91c2VHZXRUZWFtcyIsImhhbmRsZUdldFRlYW1zIiwibG9hZGluZyIsImVycm9yIiwiZGF0YSIsImN1cnJlbnRQYWdlIiwibGFzdFBhZ2UiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWFyY2hUZXJtVmFsdWUiLCJzZXRTZWFyY2hUZXJtVmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInRlYW1PcHRpb25zIiwic2V0VGVhbU9wdGlvbnMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBvc2l0aW9uT3B0aW9ucyIsInNldFBvc2l0aW9uT3B0aW9ucyIsImRlZmF1bHRQb3NpdGlvbnNSZWYiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkVGVhbXMiLCJzZXRTZWxlY3RlZFRlYW1zIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZWxlY3RlZFBvc2l0aW9ucyIsInNldFNlbGVjdGVkUG9zaXRpb25zIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwidGVhbVNlYXJjaFRlcm0iLCJzZXRUZWFtU2VhcmNoVGVybSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJwb3NpdGlvblNlYXJjaFRlcm0iLCJzZXRQb3NpdGlvblNlYXJjaFRlcm0iLCJjYW5Mb2FkTW9yZVRlYW1zIiwiX3VzZUxvYWRNb3JlR3VhcmQiLCJyZXF1ZXN0VGVhbXNMb2FkTW9yZSIsInJlcXVlc3RMb2FkTW9yZSIsImJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0IiwiX3JlZiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNlYXJjaElucHV0T3ZlcnJpZGUiLCJ0ZWFtc092ZXJyaWRlIiwicG9zaXRpb25zT3ZlcnJpZGUiLCJwb3NpdGlvbnNGaWx0ZXIiLCJ0ZWFtc0ZpbHRlciIsInRlYW0iLCJ2YWx1ZXNUb0ZpbHRlciIsIl9vYmplY3RTcHJlYWQiLCJzZWFyY2hJbnB1dCIsInBhZ2UiLCJoYW5kbGVTZWFyY2giLCJldmVudCIsIl9ldmVudCRkZXRhaWwiLCJkZXRhaWwiLCJzZWFyY2hUZXJtIiwidHlwZSIsIkFycmF5IiwiaXNBcnJheSIsImFyZVRlYW1zRXF1YWwiLCJldmVyeSIsInZhbHVlIiwiaW5kZXgiLCJmaWx0ZXIiLCJuYW1lIiwiYXJlUG9zaXRpb25zRXF1YWwiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInRlYW1zVXNlcnMiLCJtYXBwZWQiLCJtYXAiLCJpZCIsImxhYmVsIiwicHJldiIsImV4aXN0aW5nSWRzIiwiU2V0IiwibyIsIm5ld09uZXMiLCJoYXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJjdXJyZW50IiwiaGFuZGxlVGVhbXNMb2FkTW9yZSIsInRyaW0iLCJwb3NpdGlvbk9wdGlvbnNUb1Nob3ciLCJ0ZXJtIiwidG9Mb3dlckNhc2UiLCJwb3NXaXRoQ2F0ZWdvcnkiLCJzZWxlY3RlZE9wdHMiLCJwIiwiaW5jbHVkZXMiLCJmaWx0ZXJlZE9wdHMiLCJjYXRlZ29yeU5hbWUiLCJmaWx0ZXJlZElkcyIsInNlbGVjdGVkTm90SW5GaWx0ZXJlZCIsImNoaWxkcmVuIiwib3B0aW9ucyIsImVtcHR5TWVzc2FnZSIsIm9uTG9hZE1vcmUiLCJoYXNNb3JlUGFnZXMiLCJsb2FkTW9yZUxvYWRpbmciLCJkaXNwYXRjaFNlYXJjaE9uQ2xvc2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGFpbmVyL0ZpbHRlcnMvRmlsdGVyc0NvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlVXNlcnNRdWVyeSB9IGZyb20gJy4uLy4uL2NvbnRleHQvVXNlcnNDb250ZXh0J1xuaW1wb3J0IHsgRmlsdGVyQ2hpcCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRmlsdGVycy9GaWx0ZXJDaGlwJ1xuaW1wb3J0IHsgdXNlR2V0VGVhbXMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VHZXRUZWFtcydcbmltcG9ydCB7IHVzZUxvYWRNb3JlR3VhcmQgfSBmcm9tICcuLi8uLi9ob29rcy91c2VMb2FkTW9yZUd1YXJkJ1xuaW1wb3J0IHsgU0VBUkNIX0VWRU5UIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2VhcmNoRXZlbnQnXG5pbXBvcnQgeyBTZWFyY2ggfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1NlYXJjaC9TZWFyY2gnXG5pbXBvcnQgeyBMYXlvdXRTZWFyY2hVc2VyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9MYXlvdXQvTGF5b3V0J1xuXG5leHBvcnQgY29uc3QgRmlsdGVyc0NvbnRhaW5lciA9IG1lbW8oKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdwZW9wbGUnKVxuICBjb25zdCB7IGhhbmRsZUdldFVzZXJzLCBwb3NpdGlvbnMgfSA9IHVzZVVzZXJzUXVlcnkoKVxuICBjb25zdCB7IGhhbmRsZUdldFRlYW1zLCBsb2FkaW5nLCBlcnJvciwgZGF0YSwgY3VycmVudFBhZ2UsIGxhc3RQYWdlIH0gPSB1c2VHZXRUZWFtcygpXG5cbiAgY29uc3QgW3NlYXJjaFRlcm1WYWx1ZSwgc2V0U2VhcmNoVGVybVZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbdGVhbU9wdGlvbnMsIHNldFRlYW1PcHRpb25zXSA9IHVzZVN0YXRlPHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZyB9W10+KFtdKVxuICBjb25zdCBbcG9zaXRpb25PcHRpb25zLCBzZXRQb3NpdGlvbk9wdGlvbnNdID0gdXNlU3RhdGU8eyBpZDogbnVtYmVyOyBsYWJlbDogc3RyaW5nIH1bXT4ocG9zaXRpb25zIHx8IFtdKVxuICBjb25zdCBkZWZhdWx0UG9zaXRpb25zUmVmID0gdXNlUmVmPHsgaWQ6IG51bWJlcjsgbGFiZWw6IHN0cmluZzsgY2F0ZWdvcnlOYW1lPzogc3RyaW5nIH1bXT4ocG9zaXRpb25zIHx8IFtdKVxuXG4gIGNvbnN0IFtzZWxlY3RlZFRlYW1zLCBzZXRTZWxlY3RlZFRlYW1zXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSlcbiAgY29uc3QgW3NlbGVjdGVkUG9zaXRpb25zLCBzZXRTZWxlY3RlZFBvc2l0aW9uc10gPSB1c2VTdGF0ZTxudW1iZXJbXT4oW10pXG4gIGNvbnN0IFt0ZWFtU2VhcmNoVGVybSwgc2V0VGVhbVNlYXJjaFRlcm1dID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtwb3NpdGlvblNlYXJjaFRlcm0sIHNldFBvc2l0aW9uU2VhcmNoVGVybV0gPSB1c2VTdGF0ZSgnJylcblxuICBjb25zdCBjYW5Mb2FkTW9yZVRlYW1zID0gY3VycmVudFBhZ2UgPCBsYXN0UGFnZVxuICBjb25zdCB7IHJlcXVlc3RMb2FkTW9yZTogcmVxdWVzdFRlYW1zTG9hZE1vcmUgfSA9IHVzZUxvYWRNb3JlR3VhcmQobG9hZGluZywgY2FuTG9hZE1vcmVUZWFtcylcblxuICBjb25zdCBidWlsZEFuZFNlbmRVc2VyUmVxdWVzdCA9ICh7XG4gICAgc2VhcmNoSW5wdXRPdmVycmlkZSxcbiAgICB0ZWFtc092ZXJyaWRlLFxuICAgIHBvc2l0aW9uc092ZXJyaWRlLFxuICB9OiB7XG4gICAgc2VhcmNoSW5wdXRPdmVycmlkZT86IHN0cmluZ1xuICAgIHRlYW1zT3ZlcnJpZGU/OiBudW1iZXJbXVxuICAgIHBvc2l0aW9uc092ZXJyaWRlPzogbnVtYmVyW11cbiAgfSA9IHt9KSA9PiB7XG4gICAgY29uc3QgcG9zaXRpb25zRmlsdGVyID1cbiAgICAgIHBvc2l0aW9uc092ZXJyaWRlICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBwb3NpdGlvbnNPdmVycmlkZS5sZW5ndGhcbiAgICAgICAgICA/IHsgcG9zaXRpb25zOiBwb3NpdGlvbnNPdmVycmlkZSB9XG4gICAgICAgICAgOiB7fVxuICAgICAgICA6IHNlbGVjdGVkUG9zaXRpb25zLmxlbmd0aFxuICAgICAgICA/IHsgcG9zaXRpb25zOiBzZWxlY3RlZFBvc2l0aW9ucyB9XG4gICAgICAgIDoge31cbiAgICBjb25zdCB0ZWFtc0ZpbHRlciA9XG4gICAgICB0ZWFtc092ZXJyaWRlICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB0ZWFtc092ZXJyaWRlLmxlbmd0aFxuICAgICAgICAgID8geyB0ZWFtOiB0ZWFtc092ZXJyaWRlIH1cbiAgICAgICAgICA6IHt9XG4gICAgICAgIDogc2VsZWN0ZWRUZWFtcy5sZW5ndGhcbiAgICAgICAgPyB7IHRlYW06IHNlbGVjdGVkVGVhbXMgfVxuICAgICAgICA6IHt9XG4gICAgY29uc3QgdmFsdWVzVG9GaWx0ZXIgPSB7IC4uLnBvc2l0aW9uc0ZpbHRlciwgLi4udGVhbXNGaWx0ZXIgfVxuXG4gICAgaGFuZGxlR2V0VXNlcnMoe1xuICAgICAgc2VhcmNoSW5wdXQ6IHNlYXJjaElucHV0T3ZlcnJpZGUgIT09IHVuZGVmaW5lZCA/IHNlYXJjaElucHV0T3ZlcnJpZGUgOiBzZWFyY2hUZXJtVmFsdWUsXG4gICAgICBwYWdlOiAxLFxuICAgICAgdmFsdWVzVG9GaWx0ZXI6IHZhbHVlc1RvRmlsdGVyIGFzIGFueSxcbiAgICB9KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2ggPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IHNlYXJjaFRlcm0sIHR5cGUsIHZhbHVlc1RvRmlsdGVyIH0gPSBldmVudC5kZXRhaWxcbiAgICAgIGlmICh0eXBlID09PSAnZmlsdGVyMScpIHtcbiAgICAgICAgc2V0U2VhcmNoVGVybVZhbHVlKHNlYXJjaFRlcm0pXG4gICAgICAgIGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0KHsgc2VhcmNoSW5wdXRPdmVycmlkZTogc2VhcmNoVGVybSB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGUgPT09ICd0ZWFtRmlsdGVyJykge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXNUb0ZpbHRlcikpIHtcbiAgICAgICAgICBpZiAodmFsdWVzVG9GaWx0ZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBhcmVUZWFtc0VxdWFsID0gdmFsdWVzVG9GaWx0ZXIuZXZlcnkoKHZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB2YWx1ZSA9PT0gc2VsZWN0ZWRUZWFtc1tpbmRleF0pXG4gICAgICAgICAgICBpZiAoYXJlVGVhbXNFcXVhbCkgcmV0dXJuXG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRlYW1zKHZhbHVlc1RvRmlsdGVyKVxuICAgICAgICAgICAgYnVpbGRBbmRTZW5kVXNlclJlcXVlc3QoeyB0ZWFtc092ZXJyaWRlOiB2YWx1ZXNUb0ZpbHRlciB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRlYW1zKFtdKVxuICAgICAgICAgICAgYnVpbGRBbmRTZW5kVXNlclJlcXVlc3QoeyB0ZWFtc092ZXJyaWRlOiBbXSB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRUZWFtU2VhcmNoVGVybShzZWFyY2hUZXJtID8/ICcnKVxuICAgICAgICAgIGhhbmRsZUdldFRlYW1zKHsgcGFnZTogMSwgLi4uKHNlYXJjaFRlcm0gPyB7IGZpbHRlcjogeyBuYW1lOiBzZWFyY2hUZXJtIH0gfSA6IHt9KSB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAncG9zaXRpb25GaWx0ZXInKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlc1RvRmlsdGVyKSkge1xuICAgICAgICAgIGlmICghdmFsdWVzVG9GaWx0ZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFBvc2l0aW9ucyhbXSlcbiAgICAgICAgICAgIGJ1aWxkQW5kU2VuZFVzZXJSZXF1ZXN0KHsgcG9zaXRpb25zT3ZlcnJpZGU6IFtdIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGFyZVBvc2l0aW9uc0VxdWFsID0gdmFsdWVzVG9GaWx0ZXIuZXZlcnkoKHZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB2YWx1ZSA9PT0gc2VsZWN0ZWRQb3NpdGlvbnNbaW5kZXhdKVxuICAgICAgICAgICAgaWYgKGFyZVBvc2l0aW9uc0VxdWFsKSByZXR1cm5cbiAgICAgICAgICAgIHNldFNlbGVjdGVkUG9zaXRpb25zKHZhbHVlc1RvRmlsdGVyKVxuICAgICAgICAgICAgYnVpbGRBbmRTZW5kVXNlclJlcXVlc3Qoe1xuICAgICAgICAgICAgICBwb3NpdGlvbnNPdmVycmlkZTogdmFsdWVzVG9GaWx0ZXIsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRQb3NpdGlvblNlYXJjaFRlcm0oc2VhcmNoVGVybSA/PyAnJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFNFQVJDSF9FVkVOVCwgaGFuZGxlU2VhcmNoIGFzIHVua25vd24gYXMgRXZlbnRMaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoU0VBUkNIX0VWRU5ULCBoYW5kbGVTZWFyY2ggYXMgdW5rbm93biBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW2hhbmRsZUdldFVzZXJzLCBzZWFyY2hUZXJtVmFsdWUsIHNlbGVjdGVkVGVhbXMsIHNlbGVjdGVkUG9zaXRpb25zXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGF0YT8udGVhbXNVc2VycyB8fCBlcnJvcikgcmV0dXJuXG4gICAgY29uc3QgbWFwcGVkID0gZGF0YS50ZWFtc1VzZXJzLmRhdGEubWFwKCh0ZWFtOiB7IGlkOiBudW1iZXI7IG5hbWU6IHN0cmluZyB9KSA9PiAoe1xuICAgICAgaWQ6IHRlYW0uaWQsXG4gICAgICBsYWJlbDogdGVhbS5uYW1lLFxuICAgIH0pKVxuICAgIGlmIChkYXRhLnRlYW1zVXNlcnMucGFnZSA9PT0gMSkge1xuICAgICAgc2V0VGVhbU9wdGlvbnMobWFwcGVkKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUZWFtT3B0aW9ucyhwcmV2ID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdJZHMgPSBuZXcgU2V0KHByZXYubWFwKG8gPT4gby5pZCkpXG4gICAgICAgIGNvbnN0IG5ld09uZXMgPSBtYXBwZWQuZmlsdGVyKChvOiB7IGlkOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfSkgPT4gIWV4aXN0aW5nSWRzLmhhcyhvLmlkKSlcbiAgICAgICAgcmV0dXJuIG5ld09uZXMubGVuZ3RoID8gWy4uLnByZXYsIC4uLm5ld09uZXNdIDogcHJldlxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtkYXRhLCBlcnJvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocG9zaXRpb25zKSB7XG4gICAgICBzZXRQb3NpdGlvbk9wdGlvbnMocG9zaXRpb25zKVxuICAgICAgaWYgKHBvc2l0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZGVmYXVsdFBvc2l0aW9uc1JlZi5jdXJyZW50ID0gcG9zaXRpb25zXG4gICAgICB9XG4gICAgfVxuICB9LCBbcG9zaXRpb25zXSlcblxuICBjb25zdCBoYW5kbGVUZWFtc0xvYWRNb3JlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RUZWFtc0xvYWRNb3JlKCgpID0+XG4gICAgICBoYW5kbGVHZXRUZWFtcyh7XG4gICAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlICsgMSxcbiAgICAgICAgLi4uKHRlYW1TZWFyY2hUZXJtPy50cmltKCkgPyB7IGZpbHRlcjogeyBuYW1lOiB0ZWFtU2VhcmNoVGVybS50cmltKCkgfSB9IDoge30pLFxuICAgICAgfSlcbiAgICApXG4gIH0sIFtyZXF1ZXN0VGVhbXNMb2FkTW9yZSwgY3VycmVudFBhZ2UsIHRlYW1TZWFyY2hUZXJtLCBoYW5kbGVHZXRUZWFtc10pXG5cbiAgY29uc3QgcG9zaXRpb25PcHRpb25zVG9TaG93ID0gIXBvc2l0aW9uU2VhcmNoVGVybS50cmltKClcbiAgICA/IHBvc2l0aW9uT3B0aW9uc1xuICAgIDogKCgpID0+IHtcbiAgICAgICAgY29uc3QgdGVybSA9IHBvc2l0aW9uU2VhcmNoVGVybS50cmltKCkudG9Mb3dlckNhc2UoKVxuICAgICAgICBjb25zdCBwb3NXaXRoQ2F0ZWdvcnkgPSBwb3NpdGlvbk9wdGlvbnMgYXMgeyBpZDogbnVtYmVyOyBsYWJlbDogc3RyaW5nOyBjYXRlZ29yeU5hbWU/OiBzdHJpbmcgfVtdXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0cyA9IHBvc1dpdGhDYXRlZ29yeS5maWx0ZXIocCA9PiBzZWxlY3RlZFBvc2l0aW9ucy5pbmNsdWRlcyhwLmlkKSlcbiAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRzID0gcG9zV2l0aENhdGVnb3J5LmZpbHRlcihcbiAgICAgICAgICBwID0+IHAubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSB8fCAocC5jYXRlZ29yeU5hbWUgJiYgcC5jYXRlZ29yeU5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSlcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBmaWx0ZXJlZElkcyA9IG5ldyBTZXQoZmlsdGVyZWRPcHRzLm1hcChvID0+IG8uaWQpKVxuICAgICAgICBjb25zdCBzZWxlY3RlZE5vdEluRmlsdGVyZWQgPSBzZWxlY3RlZE9wdHMuZmlsdGVyKG8gPT4gIWZpbHRlcmVkSWRzLmhhcyhvLmlkKSlcbiAgICAgICAgcmV0dXJuIFsuLi5zZWxlY3RlZE5vdEluRmlsdGVyZWQsIC4uLmZpbHRlcmVkT3B0c11cbiAgICAgIH0pKClcblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXRTZWFyY2hVc2VyPlxuICAgICAgPFNlYXJjaCAvPlxuICAgICAgPEZpbHRlckNoaXBcbiAgICAgICAgaWQ9XCJ0ZWFtRmlsdGVyXCJcbiAgICAgICAgbGFiZWw9e3QoJ2ZpbHRlcnMudGVhbScpfVxuICAgICAgICBvcHRpb25zPXt0ZWFtT3B0aW9uc31cbiAgICAgICAgZW1wdHlNZXNzYWdlPXt0KCd1c2Vycy5lbXB0eUZpbHRlck1lc3NhZ2UnKX1cbiAgICAgICAgb25Mb2FkTW9yZT17aGFuZGxlVGVhbXNMb2FkTW9yZX1cbiAgICAgICAgaGFzTW9yZVBhZ2VzPXtjYW5Mb2FkTW9yZVRlYW1zfVxuICAgICAgICBsb2FkTW9yZUxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgIGRpc3BhdGNoU2VhcmNoT25DbG9zZT17ZmFsc2V9XG4gICAgICAvPlxuICAgICAgPEZpbHRlckNoaXBcbiAgICAgICAgaWQ9XCJwb3NpdGlvbkZpbHRlclwiXG4gICAgICAgIGxhYmVsPXt0KCdmaWx0ZXJzLnBvc2l0aW9uJyl9XG4gICAgICAgIG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc1RvU2hvd31cbiAgICAgICAgZW1wdHlNZXNzYWdlPXt0KCd1c2Vycy5lbXB0eUZpbHRlck1lc3NhZ2UnKX1cbiAgICAgICAgZGlzcGF0Y2hTZWFyY2hPbkNsb3NlXG4gICAgICAvPlxuICAgIDwvTGF5b3V0U2VhcmNoVXNlcj5cbiAgKVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsTUFBTSxFQUFFQyxXQUFXLFFBQVEsT0FBTztBQUN0RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxhQUFhLFFBQVEsNEJBQTRCO0FBQzFELFNBQVNDLFVBQVUsUUFBUSxxQ0FBcUM7QUFDaEUsU0FBU0MsV0FBVyxRQUFRLHlCQUF5QjtBQUNyRCxTQUFTQyxnQkFBZ0IsUUFBUSw4QkFBOEI7QUFDL0QsU0FBU0MsWUFBWSxRQUFRLDRCQUE0QjtBQUN6RCxTQUFTQyxNQUFNLFFBQVEsZ0NBQWdDO0FBQ3ZELFNBQVNDLGdCQUFnQixRQUFRLGdDQUFnQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFakUsT0FBTyxJQUFNQyxnQkFBZ0IsZ0JBQUdqQixJQUFJLENBQUMsWUFBTTtFQUN6QyxJQUFBa0IsZUFBQSxHQUFjYixjQUFjLENBQUMsUUFBUSxDQUFDO0lBQTlCYyxDQUFDLEdBQUFELGVBQUEsQ0FBREMsQ0FBQztFQUNULElBQUFDLGNBQUEsR0FBc0NkLGFBQWEsQ0FBQyxDQUFDO0lBQTdDZSxjQUFjLEdBQUFELGNBQUEsQ0FBZEMsY0FBYztJQUFFQyxTQUFTLEdBQUFGLGNBQUEsQ0FBVEUsU0FBUztFQUNqQyxJQUFBQyxZQUFBLEdBQXdFZixXQUFXLENBQUMsQ0FBQztJQUE3RWdCLGNBQWMsR0FBQUQsWUFBQSxDQUFkQyxjQUFjO0lBQUVDLE9BQU8sR0FB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
@@ -48,8 +48,6 @@ var getMappedFilters = function getMappedFilters(workspaceOptions, t) {
48
48
  }
49
49
  };
50
50
  };
51
-
52
- // Función para formatear los chips aplicados
53
51
  var formatChips = function formatChips(appliedFilters, filters) {
54
52
  var chips = [];
55
53
  Object.keys(appliedFilters).forEach(function (key) {
@@ -117,7 +115,6 @@ export var FiltersTeamsContainer = /*#__PURE__*/memo(function (_ref) {
117
115
  }
118
116
  return newFilters;
119
117
  });
120
- // Actualizar la búsqueda cuando se elimina un filtro
121
118
  handleGetTeams(1);
122
119
  };
123
120
  useEffect(function () {
@@ -134,7 +131,6 @@ export var FiltersTeamsContainer = /*#__PURE__*/memo(function (_ref) {
134
131
  setAppliedFilters(function (prev) {
135
132
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, filterId, values));
136
133
  });
137
- // Aquí puedes agregar lógica adicional para filtrar por workspace cuando esté disponible en la API
138
134
  handleGetTeams(1);
139
135
  };
140
136
  return /*#__PURE__*/_jsx(SCWrapper, {
@@ -153,4 +149,4 @@ export var FiltersTeamsContainer = /*#__PURE__*/memo(function (_ref) {
153
149
  })
154
150
  });
155
151
  });
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VDb250ZXh0IiwidXNlVHJhbnNsYXRpb24iLCJGaWx0ZXJzIiwiVXNlckNvbnRleHQiLCJ1c2VGaWx0ZXJzVGVhbXMiLCJTQ1dyYXBwZXIiLCJqc3giLCJfanN4IiwiRVZFTlRfVE9fRElTUEFUQ0giLCJGSUxURVJTX0NPTkZJRyIsIndvcmtzcGFjZSIsImljb24iLCJ0eXBlIiwiaXNNdWx0aXBsZSIsImhhc1NlYXJjaCIsInVzZXJzIiwidGVhbSIsImdldE1hcHBlZEZpbHRlcnMiLCJ3b3Jrc3BhY2VPcHRpb25zIiwidCIsImlkIiwibGFiZWwiLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwiZm9ybWF0Q2hpcHMiLCJhcHBsaWVkRmlsdGVycyIsImZpbHRlcnMiLCJjaGlwcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiX2FwcGxpZWRGaWx0ZXJzJGtleSIsImxlbmd0aCIsImZpbHRlciIsInZhbHVlSWQiLCJfZmlsdGVyJG9wdGlvbnMiLCJmaW5kIiwib3B0IiwicHVzaCIsImNvbmNhdCIsImZpbHRlcklkIiwidmFsdWUiLCJGaWx0ZXJzVGVhbXNDb250YWluZXIiLCJfcmVmIiwiaGFuZGxlR2V0VGVhbXMiLCJfdXNlVHJhbnNsYXRpb24iLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRGaWx0ZXJzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZXRBcHBsaWVkRmlsdGVycyIsInVzZXJDb250ZXh0IiwibGFuZyIsIl91c2VGaWx0ZXJzVGVhbXMiLCJmaWx0ZXJzTG9hZGluZyIsImxvYWRpbmciLCJtYXBwZWRGaWx0ZXJzIiwidHJhY2tFdmVudCIsImRlbGV0ZUZpbHRlciIsInByZXYiLCJuZXdGaWx0ZXJzIiwiX29iamVjdFNwcmVhZCIsImhhbmRsZUxvY2F0aW9uQ2hhbmdlIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVGaWx0ZXJDaGFuZ2UiLCJ2YWx1ZXMiLCJfZGVmaW5lUHJvcGVydHkiLCJjaGlsZHJlbiIsImNvbmZpZyIsImV2ZW50VG9EaXNwYXRjaCIsImFkZEJ1dHRvbklkIiwibm90VHlwZWFibGUiLCJvbkZpbHRlckNoYW5nZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250YWluZXIvRmlsdGVycy9GaWx0ZXJzVGVhbXNDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9GaWx0ZXJzJ1xuaW1wb3J0IHsgVXNlckNvbnRleHQgfSBmcm9tICdAcHJvamVjdGNvci9jb3ItY29tbW9ucy9saWIvcHJvdmlkZXJzL1VzZXJQcm92aWRlcidcbmltcG9ydCB7IHVzZUZpbHRlcnNUZWFtcyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUZpbHRlcnNUZWFtcydcbmltcG9ydCB7IFNDV3JhcHBlciB9IGZyb20gJy4vRmlsdGVyc1RlYW1zQ29udGFpbmVyLnN0eWxlcydcblxuaW50ZXJmYWNlIEZpbHRlcnNUZWFtc0NvbnRhaW5lclByb3BzIHtcbiAgaGFuZGxlR2V0VGVhbXM6IChwYWdlOiBudW1iZXIsIGZpbHRlcj86IHsgbmFtZTogc3RyaW5nIH0pID0+IHZvaWRcbn1cblxuY29uc3QgRVZFTlRfVE9fRElTUEFUQ0ggPSAnbG9jYXRpb25DaGFuZ2VUZWFtcydcblxuY29uc3QgRklMVEVSU19DT05GSUcgPSB7XG4gIHdvcmtzcGFjZToge1xuICAgIGljb246ICd0YXNrcycsXG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGlzTXVsdGlwbGU6IGZhbHNlLFxuICAgIGhhc1NlYXJjaDogZmFsc2UsXG4gIH0sXG4gIHVzZXJzOiB7XG4gICAgaWNvbjogJ3VzZXInLFxuICAgIHR5cGU6ICdhdmF0YXJzJyxcbiAgICBpc011bHRpcGxlOiB0cnVlLFxuICAgIGhhc1NlYXJjaDogdHJ1ZSxcbiAgfSxcbiAgdGVhbToge1xuICAgIGljb246ICd0ZWFtJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgaXNNdWx0aXBsZTogZmFsc2UsXG4gICAgaGFzU2VhcmNoOiBmYWxzZSxcbiAgfSxcbn1cblxuaW50ZXJmYWNlIEZpbHRlck9wdGlvbiB7XG4gIGlkOiBudW1iZXJcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgRmlsdGVyQ29uZmlnIHtcbiAgaWQ6IHN0cmluZ1xuICBsYWJlbDogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBvcHRpb25zOiBGaWx0ZXJPcHRpb25bXVxufVxuXG5pbnRlcmZhY2UgQXBwbGllZENoaXAge1xuICBpZDogc3RyaW5nXG4gIGZpbHRlcklkOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICB2YWx1ZTogbnVtYmVyXG59XG5cbi8vIEZ1bmNpw7NuIHBhcmEgbWFwZWFyIGxvcyBmaWx0cm9zIGFsIGZvcm1hdG8gcXVlIGVzcGVyYSBlbCBjb21wb25lbnRlIEZpbHRlcnNcbmNvbnN0IGdldE1hcHBlZEZpbHRlcnMgPSAoXG4gIHdvcmtzcGFjZU9wdGlvbnM6IEZpbHRlck9wdGlvbltdLFxuICB0OiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogeyBba2V5OiBzdHJpbmddOiBGaWx0ZXJDb25maWcgfSA9PiB7XG4gIHJldHVybiB7XG4gICAgd29ya3NwYWNlOiB7XG4gICAgICBpZDogJ3dvcmtzcGFjZScsXG4gICAgICBsYWJlbDogdCgndGVhbXMuZmlsdGVycy53b3Jrc3BhY2UnKSxcbiAgICAgIHR5cGU6ICdtdWx0aVNlbGVjdCcsXG4gICAgICBvcHRpb25zOiB3b3Jrc3BhY2VPcHRpb25zLm1hcChvcHRpb24gPT4gKHtcbiAgICAgICAgaWQ6IG9wdGlvbi5pZCxcbiAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIH0pKSxcbiAgICB9LFxuICB9XG59XG5cbi8vIEZ1bmNpw7NuIHBhcmEgZm9ybWF0ZWFyIGxvcyBjaGlwcyBhcGxpY2Fkb3NcbmNvbnN0IGZvcm1hdENoaXBzID0gKFxuICBhcHBsaWVkRmlsdGVyczogeyBba2V5OiBzdHJpbmddOiBudW1iZXJbXSB9LFxuICBmaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IEZpbHRlckNvbmZpZyB9XG4pOiBBcHBsaWVkQ2hpcFtdID0+IHtcbiAgY29uc3QgY2hpcHM6IEFwcGxpZWRDaGlwW10gPSBbXVxuICBPYmplY3Qua2V5cyhhcHBsaWVkRmlsdGVycykuZm9yRWFjaChrZXkgPT4ge1xuICAgIGlmIChhcHBsaWVkRmlsdGVyc1trZXldPy5sZW5ndGggJiYgZmlsdGVyc1trZXldKSB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJzW2tleV1cbiAgICAgIGFwcGxpZWRGaWx0ZXJzW2tleV0uZm9yRWFjaCgodmFsdWVJZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IGZpbHRlci5vcHRpb25zPy5maW5kKChvcHQ6IEZpbHRlck9wdGlvbikgPT4gb3B0LmlkID09PSB2YWx1ZUlkKVxuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgY2hpcHMucHVzaCh7XG4gICAgICAgICAgICBpZDogYCR7a2V5fS0ke3ZhbHVlSWR9YCxcbiAgICAgICAgICAgIGZpbHRlcklkOiBrZXksXG4gICAgICAgICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlSWQsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG4gIHJldHVybiBjaGlwc1xufVxuXG5leHBvcnQgY29uc3QgRmlsdGVyc1RlYW1zQ29udGFpbmVyID0gbWVtbygoeyBoYW5kbGVHZXRUZWFtcyB9OiBGaWx0ZXJzVGVhbXNDb250YWluZXJQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCd0ZWFtcycpXG4gIGNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlPHsgW2tleTogc3RyaW5nXTogRmlsdGVyQ29uZmlnIH0+KHt9KVxuICBjb25zdCBbYXBwbGllZEZpbHRlcnMsIHNldEFwcGxpZWRGaWx0ZXJzXSA9IHVzZVN0YXRlPHsgW2tleTogc3RyaW5nXTogbnVtYmVyW10gfT4oe30pXG4gIGNvbnN0IHVzZXJDb250ZXh0ID0gdXNlQ29udGV4dChVc2VyQ29udGV4dCkgYXMgeyBsYW5nPzogc3RyaW5nOyBjb21wYW55X2lkPzogbnVtYmVyIH0gfCB1bmRlZmluZWRcbiAgY29uc3QgbGFuZyA9IHVzZXJDb250ZXh0Py5sYW5nIHx8ICdlcydcbiAgY29uc3QgeyB3b3Jrc3BhY2VPcHRpb25zLCBsb2FkaW5nOiBmaWx0ZXJzTG9hZGluZyB9ID0gdXNlRmlsdGVyc1RlYW1zKClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh3b3Jrc3BhY2VPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG1hcHBlZEZpbHRlcnMgPSBnZXRNYXBwZWRGaWx0ZXJzKHdvcmtzcGFjZU9wdGlvbnMsIHQpXG4gICAgICBzZXRGaWx0ZXJzKG1hcHBlZEZpbHRlcnMpXG4gICAgfVxuICB9LCBbd29ya3NwYWNlT3B0aW9ucywgdF0pXG5cbiAgY29uc3QgdHJhY2tFdmVudCA9ICgpID0+IHtcbiAgICAvLyBUT0RPOiBJbXBsZW1lbnRhciB0cmFja2luZyBkZSBBbXBsaXR1ZGUgc2kgZXMgbmVjZXNhcmlvXG4gIH1cblxuICBjb25zdCBkZWxldGVGaWx0ZXIgPSAoZmlsdGVySWQ6IHN0cmluZywgdmFsdWVJZD86IG51bWJlcikgPT4ge1xuICAgIHNldEFwcGxpZWRGaWx0ZXJzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV3RmlsdGVycyA9IHsgLi4ucHJldiB9XG4gICAgICBpZiAodmFsdWVJZCkge1xuICAgICAgICBpZiAobmV3RmlsdGVyc1tmaWx0ZXJJZF0pIHtcbiAgICAgICAgICBuZXdGaWx0ZXJzW2ZpbHRlcklkXSA9IG5ld0ZpbHRlcnNbZmlsdGVySWRdLmZpbHRlcigoaWQ6IG51bWJlcikgPT4gaWQgIT09IHZhbHVlSWQpXG4gICAgICAgICAgaWYgKG5ld0ZpbHRlcnNbZmlsdGVySWRdLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgZGVsZXRlIG5ld0ZpbHRlcnNbZmlsdGVySWRdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgbmV3RmlsdGVyc1tmaWx0ZXJJZF1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdGaWx0ZXJzXG4gICAgfSlcbiAgICAvLyBBY3R1YWxpemFyIGxhIGLDunNxdWVkYSBjdWFuZG8gc2UgZWxpbWluYSB1biBmaWx0cm9cbiAgICBoYW5kbGVHZXRUZWFtcygxKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2NhdGlvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIC8vIFJlY2FyZ2FyIGZpbHRyb3MgY3VhbmRvIGNhbWJpZSBsYSB1YmljYWNpw7NuXG4gICAgICAvLyBTaW1pbGFyIGFsIGVqZW1wbG8gcXVlIHVzYSBnZXRDaGlwcygpXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoRVZFTlRfVE9fRElTUEFUQ0gsIGhhbmRsZUxvY2F0aW9uQ2hhbmdlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihFVkVOVF9UT19ESVNQQVRDSCwgaGFuZGxlTG9jYXRpb25DaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVGaWx0ZXJDaGFuZ2UgPSAoZmlsdGVySWQ6IHN0cmluZywgdmFsdWVzOiBudW1iZXJbXSkgPT4ge1xuICAgIHNldEFwcGxpZWRGaWx0ZXJzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBbZmlsdGVySWRdOiB2YWx1ZXMsXG4gICAgfSkpXG4gICAgLy8gQXF1w60gcHVlZGVzIGFncmVnYXIgbMOzZ2ljYSBhZGljaW9uYWwgcGFyYSBmaWx0cmFyIHBvciB3b3Jrc3BhY2UgY3VhbmRvIGVzdMOpIGRpc3BvbmlibGUgZW4gbGEgQVBJXG4gICAgaGFuZGxlR2V0VGVhbXMoMSlcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDV3JhcHBlcj5cbiAgICAgIDxGaWx0ZXJzXG4gICAgICAgIGFwcGxpZWRGaWx0ZXJzPXtmb3JtYXRDaGlwcyhhcHBsaWVkRmlsdGVycywgZmlsdGVycyl9XG4gICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgIHRyYWNrRXZlbnQ9e3RyYWNrRXZlbnR9XG4gICAgICAgIGRlbGV0ZUZpbHRlcj17ZGVsZXRlRmlsdGVyfVxuICAgICAgICBsb2FkaW5nPXtmaWx0ZXJzTG9hZGluZ31cbiAgICAgICAgbGFuZz17bGFuZ31cbiAgICAgICAgY29uZmlnPXtGSUxURVJTX0NPTkZJR31cbiAgICAgICAgZXZlbnRUb0Rpc3BhdGNoPXtFVkVOVF9UT19ESVNQQVRDSH1cbiAgICAgICAgYWRkQnV0dG9uSWQ9XCJmaWx0ZXJzLWFkZC1idXR0b24tdGVhbXNcIlxuICAgICAgICBub3RUeXBlYWJsZT17ZmFsc2V9XG4gICAgICAgIG9uRmlsdGVyQ2hhbmdlPXtoYW5kbGVGaWx0ZXJDaGFuZ2V9XG4gICAgICAvPlxuICAgIDwvU0NXcmFwcGVyPlxuICApXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLElBQUksRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsUUFBUSxPQUFPO0FBQzdELFNBQVND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
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VDb250ZXh0IiwidXNlVHJhbnNsYXRpb24iLCJGaWx0ZXJzIiwiVXNlckNvbnRleHQiLCJ1c2VGaWx0ZXJzVGVhbXMiLCJTQ1dyYXBwZXIiLCJqc3giLCJfanN4IiwiRVZFTlRfVE9fRElTUEFUQ0giLCJGSUxURVJTX0NPTkZJRyIsIndvcmtzcGFjZSIsImljb24iLCJ0eXBlIiwiaXNNdWx0aXBsZSIsImhhc1NlYXJjaCIsInVzZXJzIiwidGVhbSIsImdldE1hcHBlZEZpbHRlcnMiLCJ3b3Jrc3BhY2VPcHRpb25zIiwidCIsImlkIiwibGFiZWwiLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwiZm9ybWF0Q2hpcHMiLCJhcHBsaWVkRmlsdGVycyIsImZpbHRlcnMiLCJjaGlwcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiX2FwcGxpZWRGaWx0ZXJzJGtleSIsImxlbmd0aCIsImZpbHRlciIsInZhbHVlSWQiLCJfZmlsdGVyJG9wdGlvbnMiLCJmaW5kIiwib3B0IiwicHVzaCIsImNvbmNhdCIsImZpbHRlcklkIiwidmFsdWUiLCJGaWx0ZXJzVGVhbXNDb250YWluZXIiLCJfcmVmIiwiaGFuZGxlR2V0VGVhbXMiLCJfdXNlVHJhbnNsYXRpb24iLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRGaWx0ZXJzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZXRBcHBsaWVkRmlsdGVycyIsInVzZXJDb250ZXh0IiwibGFuZyIsIl91c2VGaWx0ZXJzVGVhbXMiLCJmaWx0ZXJzTG9hZGluZyIsImxvYWRpbmciLCJtYXBwZWRGaWx0ZXJzIiwidHJhY2tFdmVudCIsImRlbGV0ZUZpbHRlciIsInByZXYiLCJuZXdGaWx0ZXJzIiwiX29iamVjdFNwcmVhZCIsImhhbmRsZUxvY2F0aW9uQ2hhbmdlIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVGaWx0ZXJDaGFuZ2UiLCJ2YWx1ZXMiLCJfZGVmaW5lUHJvcGVydHkiLCJjaGlsZHJlbiIsImNvbmZpZyIsImV2ZW50VG9EaXNwYXRjaCIsImFkZEJ1dHRvbklkIiwibm90VHlwZWFibGUiLCJvbkZpbHRlckNoYW5nZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250YWluZXIvRmlsdGVycy9GaWx0ZXJzVGVhbXNDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9GaWx0ZXJzJ1xuaW1wb3J0IHsgVXNlckNvbnRleHQgfSBmcm9tICdAcHJvamVjdGNvci9jb3ItY29tbW9ucy9saWIvcHJvdmlkZXJzL1VzZXJQcm92aWRlcidcbmltcG9ydCB7IHVzZUZpbHRlcnNUZWFtcyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUZpbHRlcnNUZWFtcydcbmltcG9ydCB7IFNDV3JhcHBlciB9IGZyb20gJy4vRmlsdGVyc1RlYW1zQ29udGFpbmVyLnN0eWxlcydcblxuaW50ZXJmYWNlIEZpbHRlcnNUZWFtc0NvbnRhaW5lclByb3BzIHtcbiAgaGFuZGxlR2V0VGVhbXM6IChwYWdlOiBudW1iZXIsIGZpbHRlcj86IHsgbmFtZTogc3RyaW5nIH0pID0+IHZvaWRcbn1cblxuY29uc3QgRVZFTlRfVE9fRElTUEFUQ0ggPSAnbG9jYXRpb25DaGFuZ2VUZWFtcydcblxuY29uc3QgRklMVEVSU19DT05GSUcgPSB7XG4gIHdvcmtzcGFjZToge1xuICAgIGljb246ICd0YXNrcycsXG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGlzTXVsdGlwbGU6IGZhbHNlLFxuICAgIGhhc1NlYXJjaDogZmFsc2UsXG4gIH0sXG4gIHVzZXJzOiB7XG4gICAgaWNvbjogJ3VzZXInLFxuICAgIHR5cGU6ICdhdmF0YXJzJyxcbiAgICBpc011bHRpcGxlOiB0cnVlLFxuICAgIGhhc1NlYXJjaDogdHJ1ZSxcbiAgfSxcbiAgdGVhbToge1xuICAgIGljb246ICd0ZWFtJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgaXNNdWx0aXBsZTogZmFsc2UsXG4gICAgaGFzU2VhcmNoOiBmYWxzZSxcbiAgfSxcbn1cblxuaW50ZXJmYWNlIEZpbHRlck9wdGlvbiB7XG4gIGlkOiBudW1iZXJcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgRmlsdGVyQ29uZmlnIHtcbiAgaWQ6IHN0cmluZ1xuICBsYWJlbDogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBvcHRpb25zOiBGaWx0ZXJPcHRpb25bXVxufVxuXG5pbnRlcmZhY2UgQXBwbGllZENoaXAge1xuICBpZDogc3RyaW5nXG4gIGZpbHRlcklkOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICB2YWx1ZTogbnVtYmVyXG59XG5cbi8vIEZ1bmNpw7NuIHBhcmEgbWFwZWFyIGxvcyBmaWx0cm9zIGFsIGZvcm1hdG8gcXVlIGVzcGVyYSBlbCBjb21wb25lbnRlIEZpbHRlcnNcbmNvbnN0IGdldE1hcHBlZEZpbHRlcnMgPSAoXG4gIHdvcmtzcGFjZU9wdGlvbnM6IEZpbHRlck9wdGlvbltdLFxuICB0OiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogeyBba2V5OiBzdHJpbmddOiBGaWx0ZXJDb25maWcgfSA9PiB7XG4gIHJldHVybiB7XG4gICAgd29ya3NwYWNlOiB7XG4gICAgICBpZDogJ3dvcmtzcGFjZScsXG4gICAgICBsYWJlbDogdCgndGVhbXMuZmlsdGVycy53b3Jrc3BhY2UnKSxcbiAgICAgIHR5cGU6ICdtdWx0aVNlbGVjdCcsXG4gICAgICBvcHRpb25zOiB3b3Jrc3BhY2VPcHRpb25zLm1hcChvcHRpb24gPT4gKHtcbiAgICAgICAgaWQ6IG9wdGlvbi5pZCxcbiAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIH0pKSxcbiAgICB9LFxuICB9XG59XG5cbmNvbnN0IGZvcm1hdENoaXBzID0gKFxuICBhcHBsaWVkRmlsdGVyczogeyBba2V5OiBzdHJpbmddOiBudW1iZXJbXSB9LFxuICBmaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IEZpbHRlckNvbmZpZyB9XG4pOiBBcHBsaWVkQ2hpcFtdID0+IHtcbiAgY29uc3QgY2hpcHM6IEFwcGxpZWRDaGlwW10gPSBbXVxuICBPYmplY3Qua2V5cyhhcHBsaWVkRmlsdGVycykuZm9yRWFjaChrZXkgPT4ge1xuICAgIGlmIChhcHBsaWVkRmlsdGVyc1trZXldPy5sZW5ndGggJiYgZmlsdGVyc1trZXldKSB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJzW2tleV1cbiAgICAgIGFwcGxpZWRGaWx0ZXJzW2tleV0uZm9yRWFjaCgodmFsdWVJZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IGZpbHRlci5vcHRpb25zPy5maW5kKChvcHQ6IEZpbHRlck9wdGlvbikgPT4gb3B0LmlkID09PSB2YWx1ZUlkKVxuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgY2hpcHMucHVzaCh7XG4gICAgICAgICAgICBpZDogYCR7a2V5fS0ke3ZhbHVlSWR9YCxcbiAgICAgICAgICAgIGZpbHRlcklkOiBrZXksXG4gICAgICAgICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlSWQsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0pXG4gIHJldHVybiBjaGlwc1xufVxuXG5leHBvcnQgY29uc3QgRmlsdGVyc1RlYW1zQ29udGFpbmVyID0gbWVtbygoeyBoYW5kbGVHZXRUZWFtcyB9OiBGaWx0ZXJzVGVhbXNDb250YWluZXJQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCd0ZWFtcycpXG4gIGNvbnN0IFtmaWx0ZXJzLCBzZXRGaWx0ZXJzXSA9IHVzZVN0YXRlPHsgW2tleTogc3RyaW5nXTogRmlsdGVyQ29uZmlnIH0+KHt9KVxuICBjb25zdCBbYXBwbGllZEZpbHRlcnMsIHNldEFwcGxpZWRGaWx0ZXJzXSA9IHVzZVN0YXRlPHsgW2tleTogc3RyaW5nXTogbnVtYmVyW10gfT4oe30pXG4gIGNvbnN0IHVzZXJDb250ZXh0ID0gdXNlQ29udGV4dChVc2VyQ29udGV4dCkgYXMgeyBsYW5nPzogc3RyaW5nOyBjb21wYW55X2lkPzogbnVtYmVyIH0gfCB1bmRlZmluZWRcbiAgY29uc3QgbGFuZyA9IHVzZXJDb250ZXh0Py5sYW5nIHx8ICdlcydcbiAgY29uc3QgeyB3b3Jrc3BhY2VPcHRpb25zLCBsb2FkaW5nOiBmaWx0ZXJzTG9hZGluZyB9ID0gdXNlRmlsdGVyc1RlYW1zKClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh3b3Jrc3BhY2VPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG1hcHBlZEZpbHRlcnMgPSBnZXRNYXBwZWRGaWx0ZXJzKHdvcmtzcGFjZU9wdGlvbnMsIHQpXG4gICAgICBzZXRGaWx0ZXJzKG1hcHBlZEZpbHRlcnMpXG4gICAgfVxuICB9LCBbd29ya3NwYWNlT3B0aW9ucywgdF0pXG5cbiAgY29uc3QgdHJhY2tFdmVudCA9ICgpID0+IHtcbiAgICAvLyBUT0RPOiBJbXBsZW1lbnRhciB0cmFja2luZyBkZSBBbXBsaXR1ZGUgc2kgZXMgbmVjZXNhcmlvXG4gIH1cblxuICBjb25zdCBkZWxldGVGaWx0ZXIgPSAoZmlsdGVySWQ6IHN0cmluZywgdmFsdWVJZD86IG51bWJlcikgPT4ge1xuICAgIHNldEFwcGxpZWRGaWx0ZXJzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV3RmlsdGVycyA9IHsgLi4ucHJldiB9XG4gICAgICBpZiAodmFsdWVJZCkge1xuICAgICAgICBpZiAobmV3RmlsdGVyc1tmaWx0ZXJJZF0pIHtcbiAgICAgICAgICBuZXdGaWx0ZXJzW2ZpbHRlcklkXSA9IG5ld0ZpbHRlcnNbZmlsdGVySWRdLmZpbHRlcigoaWQ6IG51bWJlcikgPT4gaWQgIT09IHZhbHVlSWQpXG4gICAgICAgICAgaWYgKG5ld0ZpbHRlcnNbZmlsdGVySWRdLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgZGVsZXRlIG5ld0ZpbHRlcnNbZmlsdGVySWRdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgbmV3RmlsdGVyc1tmaWx0ZXJJZF1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdGaWx0ZXJzXG4gICAgfSlcbiAgICBoYW5kbGVHZXRUZWFtcygxKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2NhdGlvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIC8vIFJlY2FyZ2FyIGZpbHRyb3MgY3VhbmRvIGNhbWJpZSBsYSB1YmljYWNpw7NuXG4gICAgICAvLyBTaW1pbGFyIGFsIGVqZW1wbG8gcXVlIHVzYSBnZXRDaGlwcygpXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoRVZFTlRfVE9fRElTUEFUQ0gsIGhhbmRsZUxvY2F0aW9uQ2hhbmdlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihFVkVOVF9UT19ESVNQQVRDSCwgaGFuZGxlTG9jYXRpb25DaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVGaWx0ZXJDaGFuZ2UgPSAoZmlsdGVySWQ6IHN0cmluZywgdmFsdWVzOiBudW1iZXJbXSkgPT4ge1xuICAgIHNldEFwcGxpZWRGaWx0ZXJzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBbZmlsdGVySWRdOiB2YWx1ZXMsXG4gICAgfSkpXG4gICAgaGFuZGxlR2V0VGVhbXMoMSlcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDV3JhcHBlcj5cbiAgICAgIDxGaWx0ZXJzXG4gICAgICAgIGFwcGxpZWRGaWx0ZXJzPXtmb3JtYXRDaGlwcyhhcHBsaWVkRmlsdGVycywgZmlsdGVycyl9XG4gICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgIHRyYWNrRXZlbnQ9e3RyYWNrRXZlbnR9XG4gICAgICAgIGRlbGV0ZUZpbHRlcj17ZGVsZXRlRmlsdGVyfVxuICAgICAgICBsb2FkaW5nPXtmaWx0ZXJzTG9hZGluZ31cbiAgICAgICAgbGFuZz17bGFuZ31cbiAgICAgICAgY29uZmlnPXtGSUxURVJTX0NPTkZJR31cbiAgICAgICAgZXZlbnRUb0Rpc3BhdGNoPXtFVkVOVF9UT19ESVNQQVRDSH1cbiAgICAgICAgYWRkQnV0dG9uSWQ9XCJmaWx0ZXJzLWFkZC1idXR0b24tdGVhbXNcIlxuICAgICAgICBub3RUeXBlYWJsZT17ZmFsc2V9XG4gICAgICAgIG9uRmlsdGVyQ2hhbmdlPXtoYW5kbGVGaWx0ZXJDaGFuZ2V9XG4gICAgICAvPlxuICAgIDwvU0NXcmFwcGVyPlxuICApXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLElBQUksRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsUUFBUSxPQUFPO0FBQzdELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSx3REFBd0Q7QUFDaEYsU0FBU0MsV0FBVyxRQUFRLG9EQUFvRDtBQUNoRixTQUFTQyxlQUFlLFFBQVEsNkJBQTZCO0FBQzdELFNBQVNDLFNBQVMsUUFBUSxnQ0FBZ0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFNMUQsSUFBTUMsaUJBQWlCLEdBQUcscUJBQXFCO0FBRS9DLElBQU1DLGNBQWMsR0FBRztFQUNyQkMsU0FBUyxFQUFFO0lBQ1RDLElBQUksRUFBRSxPQUFPO0lBQ2JDLElBQUksRUFBRSxNQUFNO0lBQ1pDLFVBQVUsRUFBRSxLQUFLO0lBQ2pCQyxTQUFTLEVBQUU7RUFDYixDQUFDO0VBQ0RDLEtBQUssRUFBRTtJQUNMSixJQUFJLEVBQUUsTUFBTTtJQUNaQyxJQUFJLEVBQUUsU0FBUztJQUNmQyxVQUFVLEVBQUUsSUFBSTtJQUNoQkMsU0FBUyxFQUFFO0VBQ2IsQ0FBQztFQUNERSxJQUFJLEVBQUU7SUFDSkwsSUFBSSxFQUFFLE1BQU07SUFDWkMsSUFBSSxFQUFFLE1BQU07SUFDWkMsVUFBVSxFQUFFLEtBQUs7SUFDakJDLFNBQVMsRUFBRTtFQUNiO0FBQ0YsQ0FBQztBQXFCRDtBQUNBLElBQU1HLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQ3BCQyxnQkFBZ0MsRUFDaENDLENBQTBCLEVBQ1U7RUFDcEMsT0FBTztJQUNMVCxTQUFTLEVBQUU7TUFDVFUsRUFBRSxFQUFFLFdBQVc7TUFDZkMsS0FBSyxFQUFFRixDQUFDLENBQUMseUJBQXlCLENBQUM7TUFDbkNQLElBQUksRUFBRSxhQUFhO01BQ25CVSxPQUFPLEVBQUVKLGdCQUFnQixDQUFDSyxHQUFHLENBQUMsVUFBQUMsTUFBTTtRQUFBLE9BQUs7VUFDdkNKLEVBQUUsRUFBRUksTUFBTSxDQUFDSixFQUFFO1VBQ2JDLEtBQUssRUFBRUcsTUFBTSxDQUFDSDtRQUNoQixDQUFDO01BQUEsQ0FBQztJQUNKO0VBQ0YsQ0FBQztBQUNILENBQUM7QUFFRCxJQUFNSSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FDZkMsY0FBMkMsRUFDM0NDLE9BQXdDLEVBQ3RCO0VBQ2xCLElBQU1DLEtBQW9CLEdBQUcsRUFBRTtFQUMvQkMsTUFBTSxDQUFDQyxJQUFJLENBQUNKLGNBQWMsQ0FBQyxDQUFDSyxPQUFPLENBQUMsVUFBQUMsR0FBRyxFQUFJO0lBQUEsSUFBQUMsbUJBQUE7SUFDekMsSUFBSSxDQUFBQSxtQkFBQSxHQUFBUCxjQUFjLENBQUNNLEdBQUcsQ0FBQyxjQUFBQyxtQkFBQSxlQUFuQkEsbUJBQUEsQ0FBcUJDLE1BQU0sSUFBSVAsT0FBTyxDQUFDSyxHQUFHLENBQUMsRUFBRTtNQUMvQyxJQUFNRyxNQUFNLEdBQUdSLE9BQU8sQ0FBQ0ssR0FBRyxDQUFDO01BQzNCTixjQUFjLENBQUNNLEdBQUcsQ0FBQyxDQUFDRCxPQUFPLENBQUMsVUFBQ0ssT0FBZSxFQUFLO1FBQUEsSUFBQUMsZUFBQTtRQUMvQyxJQUFNYixNQUFNLElBQUFhLGVBQUEsR0FBR0YsTUFBTSxDQUFDYixPQUFPLGNBQUFlLGVBQUEsdUJBQWRBLGVBQUEsQ0FBZ0JDLElBQUksQ0FBQyxVQUFDQyxHQUFpQjtVQUFBLE9BQUtBLEdBQUcsQ0FBQ25CLEVBQUUsS0FBS2dCLE9BQU87UUFBQSxFQUFDO1FBQzlFLElBQUlaLE1BQU0sRUFBRTtVQUNWSSxLQUFLLENBQUNZLElBQUksQ0FBQztZQUNUcEIsRUFBRSxLQUFBcUIsTUFBQSxDQUFLVCxHQUFHLE9BQUFTLE1BQUEsQ0FBSUwsT0FBTyxDQUFFO1lBQ3ZCTSxRQUFRLEVBQUVWLEdBQUc7WUFDYlgsS0FBSyxFQUFFRyxNQUFNLENBQUNILEtBQUs7WUFDbkJzQixLQUFLLEVBQUVQO1VBQ1QsQ0FBQyxDQUFDO1FBQ0o7TUFDRixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsQ0FBQztFQUNGLE9BQU9SLEtBQUs7QUFDZCxDQUFDO0FBRUQsT0FBTyxJQUFNZ0IscUJBQXFCLGdCQUFHL0MsSUFBSSxDQUFDLFVBQUFnRCxJQUFBLEVBQW9EO0VBQUEsSUFBakRDLGNBQWMsR0FBQUQsSUFBQSxDQUFkQyxjQUFjO0VBQ3pELElBQUFDLGVBQUEsR0FBYzlDLGNBQWMsQ0FBQyxPQUFPLENBQUM7SUFBN0JrQixDQUFDLEdBQUE0QixlQUFBLENBQUQ1QixDQUFDO0VBQ1QsSUFBQTZCLFNBQUEsR0FBOEJqRCxRQUFRLENBQWtDLENBQUMsQ0FBQyxDQUFDO0lBQUFrRCxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUFwRXJCLE9BQU8sR0FBQXNCLFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzFCLElBQUFHLFVBQUEsR0FBNENyRCxRQUFRLENBQThCLENBQUMsQ0FBQyxDQUFDO0lBQUFzRCxVQUFBLEdBQUFILGNBQUEsQ0FBQUUsVUFBQTtJQUE5RTFCLGNBQWMsR0FBQTJCLFVBQUE7SUFBRUMsaUJBQWlCLEdBQUFELFVBQUE7RUFDeEMsSUFBTUUsV0FBVyxHQUFHdkQsVUFBVSxDQUFDRyxXQUFXLENBQXVEO0VBQ2pHLElBQU1xRCxJQUFJLEdBQUcsQ0FBQUQsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVDLElBQUksS0FBSSxJQUFJO0VBQ3RDLElBQUFDLGdCQUFBLEdBQXNEckQsZUFBZSxDQUFDLENBQUM7SUFBL0RjLGdCQUFnQixHQUFBdUMsZ0JBQUEsQ0FBaEJ2QyxnQkFBZ0I7SUFBV3dDLGNBQWMsR0FBQUQsZ0JBQUEsQ0FBdkJFLE9BQU87RUFFakM3RCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUlvQixnQkFBZ0IsQ0FBQ2dCLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDL0IsSUFBTTBCLGFBQWEsR0FBRzNDLGdCQUFnQixDQUFDQyxnQkFBZ0IsRUFBRUMsQ0FBQyxDQUFDO01BQzNEZ0MsVUFBVSxDQUFDUyxhQUFhLENBQUM7SUFDM0I7RUFDRixDQUFDLEVBQUUsQ0FBQzFDLGdCQUFnQixFQUFFQyxDQUFDLENBQUMsQ0FBQztFQUV6QixJQUFNMEMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUEsRUFBUztJQUN2QjtFQUFBLENBQ0Q7RUFFRCxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSXBCLFFBQWdCLEVBQUVOLE9BQWdCLEVBQUs7SUFDM0RrQixpQkFBaUIsQ0FBQyxVQUFBUyxJQUFJLEVBQUk7TUFDeEIsSUFBTUMsVUFBVSxHQUFBQyxhQUFBLEtBQVFGLElBQUksQ0FBRTtNQUM5QixJQUFJM0IsT0FBTyxFQUFFO1FBQ1gsSUFBSTRCLFVBQVUsQ0FBQ3RCLFFBQVEsQ0FBQyxFQUFFO1VBQ3hCc0IsVUFBVSxDQUFDdEIsUUFBUSxDQUFDLEdBQUdzQixVQUFVLENBQUN0QixRQUFRLENBQUMsQ0FBQ1AsTUFBTSxDQUFDLFVBQUNmLEVBQVU7WUFBQSxPQUFLQSxFQUFFLEtBQUtnQixPQUFPO1VBQUEsRUFBQztVQUNsRixJQUFJNEIsVUFBVSxDQUFDdEIsUUFBUSxDQUFDLENBQUNSLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckMsT0FBTzhCLFVBQVUsQ0FBQ3RCLFFBQVEsQ0FBQztVQUM3QjtRQUNGO01BQ0YsQ0FBQyxNQUFNO1FBQ0wsT0FBT3NCLFVBQVUsQ0FBQ3RCLFFBQVEsQ0FBQztNQUM3QjtNQUNBLE9BQU9zQixVQUFVO0lBQ25CLENBQUMsQ0FBQztJQUNGbEIsY0FBYyxDQUFDLENBQUMsQ0FBQztFQUNuQixDQUFDO0VBRURoRCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQU1vRSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7TUFDakM7TUFDQTtJQUFBLENBQ0Q7SUFFREMsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQzVELGlCQUFpQixFQUFFMEQsb0JBQW9CLENBQUM7SUFDaEUsT0FBTyxZQUFNO01BQ1hDLE1BQU0sQ0FBQ0UsbUJBQW1CLENBQUM3RCxpQkFBaUIsRUFBRTBELG9CQUFvQixDQUFDO0lBQ3JFLENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTUksa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSTVCLFFBQWdCLEVBQUU2QixNQUFnQixFQUFLO0lBQ2pFakIsaUJBQWlCLENBQUMsVUFBQVMsSUFBSTtNQUFBLE9BQUFFLGFBQUEsQ0FBQUEsYUFBQSxLQUNqQkYsSUFBSSxPQUFBUyxlQUFBLEtBQ045QixRQUFRLEVBQUc2QixNQUFNO0lBQUEsQ0FDbEIsQ0FBQztJQUNIekIsY0FBYyxDQUFDLENBQUMsQ0FBQztFQUNuQixDQUFDO0VBRUQsb0JBQ0V2QyxJQUFBLENBQUNGLFNBQVM7SUFBQW9FLFFBQUEsZUFDUmxFLElBQUEsQ0FBQ0wsT0FBTztNQUNOd0IsY0FBYyxFQUFFRCxXQUFXLENBQUNDLGNBQWMsRUFBRUMsT0FBTyxDQUFFO01BQ3JEQSxPQUFPLEVBQUVBLE9BQVE7TUFDakJrQyxVQUFVLEVBQUVBLFVBQVc7TUFDdkJDLFlBQVksRUFBRUEsWUFBYTtNQUMzQkgsT0FBTyxFQUFFRCxjQUFlO01BQ3hCRixJQUFJLEVBQUVBLElBQUs7TUFDWGtCLE1BQU0sRUFBRWpFLGNBQWU7TUFDdkJrRSxlQUFlLEVBQUVuRSxpQkFBa0I7TUFDbkNvRSxXQUFXLEVBQUMsMEJBQTBCO01BQ3RDQyxXQUFXLEVBQUUsS0FBTTtNQUNuQkMsY0FBYyxFQUFFUjtJQUFtQixDQUNwQztFQUFDLENBQ08sQ0FBQztBQUVoQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,33 +1,42 @@
1
- import { memo } from 'react';
2
- import { useTeams } from '../../context/TeamsContext';
1
+ import { memo, useMemo, useEffect } from 'react';
3
2
  import { LayoutSection } from '../../components/Layout';
4
3
  import { HeaderTeams } from '../../components/HeaderTeams';
5
- import { EmptyStateTeams } from '../../components/EmptyStateTeams';
6
4
  import { useGetTeams } from '../../hooks/useGetTeams';
7
- import { ErrorTeams } from '../../components/ErrorTeams';
8
5
  import { TableContainer } from '../TableContainer/TableContainer';
9
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
7
  export var MainTeamsView = /*#__PURE__*/memo(function () {
11
- var _useTeams = useTeams(),
12
- teams = _useTeams.teams;
13
8
  var _useGetTeams = useGetTeams(),
9
+ handleGetTeams = _useGetTeams.handleGetTeams,
14
10
  loading = _useGetTeams.loading,
15
- error = _useGetTeams.error;
11
+ error = _useGetTeams.error,
12
+ teams = _useGetTeams.data;
13
+ useEffect(function () {
14
+ handleGetTeams({
15
+ page: 1
16
+ });
17
+ }, []);
16
18
  var handleCreateTeam = function handleCreateTeam() {
17
19
  var event = new CustomEvent('createTeam');
18
20
  window.dispatchEvent(event);
19
21
  };
22
+ var hasTeams = useMemo(function () {
23
+ var _teams$teamsUsers, _teams$teamsUsers2;
24
+ return (teams === null || teams === void 0 || (_teams$teamsUsers = teams.teamsUsers) === null || _teams$teamsUsers === void 0 || (_teams$teamsUsers = _teams$teamsUsers.data) === null || _teams$teamsUsers === void 0 ? void 0 : _teams$teamsUsers.length) && (teams === null || teams === void 0 || (_teams$teamsUsers2 = teams.teamsUsers) === null || _teams$teamsUsers2 === void 0 || (_teams$teamsUsers2 = _teams$teamsUsers2.data) === null || _teams$teamsUsers2 === void 0 ? void 0 : _teams$teamsUsers2.length) > 0;
25
+ }, [teams]);
20
26
  return /*#__PURE__*/_jsxs(LayoutSection, {
21
27
  children: [/*#__PURE__*/_jsx(HeaderTeams, {
22
- showCreateButton: teams.length > 0,
28
+ showCreateButton: !!hasTeams,
23
29
  clickCreateTeam: handleCreateTeam
24
- }), error && /*#__PURE__*/_jsx(ErrorTeams, {}), teams.length > 0 ? /*#__PURE__*/_jsx(TableContainer, {
30
+ }), /*#__PURE__*/_jsx(TableContainer, {
31
+ handleChangePage: function handleChangePage(page) {
32
+ return handleGetTeams({
33
+ page: page
34
+ });
35
+ },
25
36
  loading: loading,
26
37
  error: !!error,
27
- hasTeams: teams.length > 0
28
- }) : !error && !loading && /*#__PURE__*/_jsx(EmptyStateTeams, {
29
- clickCreateTeam: handleCreateTeam
38
+ hasTeams: !!hasTeams
30
39
  })]
31
40
  });
32
41
  });
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlVGVhbXMiLCJMYXlvdXRTZWN0aW9uIiwiSGVhZGVyVGVhbXMiLCJFbXB0eVN0YXRlVGVhbXMiLCJ1c2VHZXRUZWFtcyIsIkVycm9yVGVhbXMiLCJUYWJsZUNvbnRhaW5lciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNYWluVGVhbXNWaWV3IiwiX3VzZVRlYW1zIiwidGVhbXMiLCJfdXNlR2V0VGVhbXMiLCJsb2FkaW5nIiwiZXJyb3IiLCJoYW5kbGVDcmVhdGVUZWFtIiwiZXZlbnQiLCJDdXN0b21FdmVudCIsIndpbmRvdyIsImRpc3BhdGNoRXZlbnQiLCJjaGlsZHJlbiIsInNob3dDcmVhdGVCdXR0b24iLCJsZW5ndGgiLCJjbGlja0NyZWF0ZVRlYW0iLCJoYXNUZWFtcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250YWluZXIvTWFpblZpZXcvTWFpblRlYW1zVmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVGVhbXMgfSBmcm9tICcuLi8uLi9jb250ZXh0L1RlYW1zQ29udGV4dCdcbmltcG9ydCB7IExheW91dFNlY3Rpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0xheW91dCdcbmltcG9ydCB7IEhlYWRlclRlYW1zIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9IZWFkZXJUZWFtcydcbmltcG9ydCB7IEVtcHR5U3RhdGVUZWFtcyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRW1wdHlTdGF0ZVRlYW1zJ1xuaW1wb3J0IHsgdXNlR2V0VGVhbXMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VHZXRUZWFtcydcbmltcG9ydCB7IEVycm9yVGVhbXMgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0Vycm9yVGVhbXMnXG5pbXBvcnQgeyBUYWJsZUNvbnRhaW5lciB9IGZyb20gJy4uL1RhYmxlQ29udGFpbmVyL1RhYmxlQ29udGFpbmVyJ1xuXG5leHBvcnQgY29uc3QgTWFpblRlYW1zVmlldyA9IG1lbW8oKCkgPT4ge1xuICBjb25zdCB7IHRlYW1zIH0gPSB1c2VUZWFtcygpXG4gIGNvbnN0IHsgbG9hZGluZywgZXJyb3IgfSA9IHVzZUdldFRlYW1zKClcblxuICBjb25zdCBoYW5kbGVDcmVhdGVUZWFtID0gKCkgPT4ge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjcmVhdGVUZWFtJylcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPExheW91dFNlY3Rpb24+XG4gICAgICA8SGVhZGVyVGVhbXMgc2hvd0NyZWF0ZUJ1dHRvbj17dGVhbXMubGVuZ3RoID4gMH0gY2xpY2tDcmVhdGVUZWFtPXtoYW5kbGVDcmVhdGVUZWFtfSAvPlxuICAgICAge2Vycm9yICYmIDxFcnJvclRlYW1zIC8+fVxuICAgICAge3RlYW1zLmxlbmd0aCA+IDAgPyAoXG4gICAgICAgIDxUYWJsZUNvbnRhaW5lciBsb2FkaW5nPXtsb2FkaW5nfSBlcnJvcj17ISFlcnJvcn0gaGFzVGVhbXM9e3RlYW1zLmxlbmd0aCA+IDB9IC8+XG4gICAgICApIDogKFxuICAgICAgICAhZXJyb3IgJiYgIWxvYWRpbmcgJiYgPEVtcHR5U3RhdGVUZWFtcyBjbGlja0NyZWF0ZVRlYW09e2hhbmRsZUNyZWF0ZVRlYW19IC8+XG4gICAgICApfVxuICAgICAgey8qIHtjdXJyZW50UGFnZSA8IHRvdGFsVGVhbXMgJiYgPFNob3dNb3JlIGNsaWNrU2hvd01vcmU9e2hhbmRsZUNsaWNrU2hvd01vcmV9IC8+fSAqL31cbiAgICA8L0xheW91dFNlY3Rpb24+XG4gIClcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLElBQUksUUFBUSxPQUFPO0FBQzVCLFNBQVNDLFFBQVEsUUFBUSw0QkFBNEI7QUFDckQsU0FBU0MsYUFBYSxRQUFRLHlCQUF5QjtBQUN2RCxTQUFTQyxXQUFXLFFBQVEsOEJBQThCO0FBQzFELFNBQVNDLGVBQWUsUUFBUSxrQ0FBa0M7QUFDbEUsU0FBU0MsV0FBVyxRQUFRLHlCQUF5QjtBQUNyRCxTQUFTQyxVQUFVLFFBQVEsNkJBQTZCO0FBQ3hELFNBQVNDLGNBQWMsUUFBUSxrQ0FBa0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRWpFLE9BQU8sSUFBTUMsYUFBYSxnQkFBR1osSUFBSSxDQUFDLFlBQU07RUFDdEMsSUFBQWEsU0FBQSxHQUFrQlosUUFBUSxDQUFDLENBQUM7SUFBcEJhLEtBQUssR0FBQUQsU0FBQSxDQUFMQyxLQUFLO0VBQ2IsSUFBQUMsWUFBQSxHQUEyQlYsV0FBVyxDQUFDLENBQUM7SUFBaENXLE9BQU8sR0FBQUQsWUFBQSxDQUFQQyxPQUFPO0lBQUVDLEtBQUssR0FBQUYsWUFBQSxDQUFMRSxLQUFLO0VBRXRCLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUEsRUFBUztJQUM3QixJQUFNQyxLQUFLLEdBQUcsSUFBSUMsV0FBVyxDQUFDLFlBQVksQ0FBQztJQUMzQ0MsTUFBTSxDQUFDQyxhQUFhLENBQUNILEtBQUssQ0FBQztFQUM3QixDQUFDO0VBRUQsb0JBQ0VSLEtBQUEsQ0FBQ1QsYUFBYTtJQUFBcUIsUUFBQSxnQkFDWmQsSUFBQSxDQUFDTixXQUFXO01BQUNxQixnQkFBZ0IsRUFBRVYsS0FBSyxDQUFDVyxNQUFNLEdBQUcsQ0FBRTtNQUFDQyxlQUFlLEVBQUVSO0lBQWlCLENBQUUsQ0FBQyxFQUNyRkQsS0FBSyxpQkFBSVIsSUFBQSxDQUFDSCxVQUFVLElBQUUsQ0FBQyxFQUN2QlEsS0FBSyxDQUFDVyxNQUFNLEdBQUcsQ0FBQyxnQkFDZmhCLElBQUEsQ0FBQ0YsY0FBYztNQUFDUyxPQUFPLEVBQUVBLE9BQVE7TUFBQ0MsS0FBSyxFQUFFLENBQUMsQ0FBQ0EsS0FBTTtNQUFDVSxRQUFRLEVBQUViLEtBQUssQ0FBQ1csTUFBTSxHQUFHO0lBQUUsQ0FBRSxDQUFDLEdBRWhGLENBQUNSLEtBQUssSUFBSSxDQUFDRCxPQUFPLGlCQUFJUCxJQUFBLENBQUNMLGVBQWU7TUFBQ3NCLGVBQWUsRUFBRVI7SUFBaUIsQ0FBRSxDQUM1RTtFQUFBLENBRVksQ0FBQztBQUVwQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlTWVtbyIsInVzZUVmZmVjdCIsIkxheW91dFNlY3Rpb24iLCJIZWFkZXJUZWFtcyIsInVzZUdldFRlYW1zIiwiVGFibGVDb250YWluZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiTWFpblRlYW1zVmlldyIsIl91c2VHZXRUZWFtcyIsImhhbmRsZUdldFRlYW1zIiwibG9hZGluZyIsImVycm9yIiwidGVhbXMiLCJkYXRhIiwicGFnZSIsImhhbmRsZUNyZWF0ZVRlYW0iLCJldmVudCIsIkN1c3RvbUV2ZW50Iiwid2luZG93IiwiZGlzcGF0Y2hFdmVudCIsImhhc1RlYW1zIiwiX3RlYW1zJHRlYW1zVXNlcnMiLCJfdGVhbXMkdGVhbXNVc2VyczIiLCJ0ZWFtc1VzZXJzIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJzaG93Q3JlYXRlQnV0dG9uIiwiY2xpY2tDcmVhdGVUZWFtIiwiaGFuZGxlQ2hhbmdlUGFnZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250YWluZXIvTWFpblZpZXcvTWFpblRlYW1zVmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBMYXlvdXRTZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9MYXlvdXQnXG5pbXBvcnQgeyBIZWFkZXJUZWFtcyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvSGVhZGVyVGVhbXMnXG5pbXBvcnQgeyB1c2VHZXRUZWFtcyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUdldFRlYW1zJ1xuaW1wb3J0IHsgVGFibGVDb250YWluZXIgfSBmcm9tICcuLi9UYWJsZUNvbnRhaW5lci9UYWJsZUNvbnRhaW5lcidcblxuZXhwb3J0IGNvbnN0IE1haW5UZWFtc1ZpZXcgPSBtZW1vKCgpID0+IHtcbiAgY29uc3QgeyBoYW5kbGVHZXRUZWFtcywgbG9hZGluZywgZXJyb3IsIGRhdGE6IHRlYW1zIH0gPSB1c2VHZXRUZWFtcygpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBoYW5kbGVHZXRUZWFtcyh7IHBhZ2U6IDEgfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRlVGVhbSA9ICgpID0+IHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY3JlYXRlVGVhbScpXG4gICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gIH1cblxuICBjb25zdCBoYXNUZWFtcyA9IHVzZU1lbW8oKCkgPT4gdGVhbXM/LnRlYW1zVXNlcnM/LmRhdGE/Lmxlbmd0aCAmJiB0ZWFtcz8udGVhbXNVc2Vycz8uZGF0YT8ubGVuZ3RoID4gMCwgW3RlYW1zXSlcblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXRTZWN0aW9uPlxuICAgICAgPEhlYWRlclRlYW1zIHNob3dDcmVhdGVCdXR0b249eyEhaGFzVGVhbXN9IGNsaWNrQ3JlYXRlVGVhbT17aGFuZGxlQ3JlYXRlVGVhbX0gLz5cbiAgICAgIDxUYWJsZUNvbnRhaW5lclxuICAgICAgICBoYW5kbGVDaGFuZ2VQYWdlPXtwYWdlID0+IGhhbmRsZUdldFRlYW1zKHsgcGFnZSB9KX1cbiAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgIGhhc1RlYW1zPXshIWhhc1RlYW1zfVxuICAgICAgLz5cbiAgICA8L0xheW91dFNlY3Rpb24+XG4gIClcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLElBQUksRUFBRUMsT0FBTyxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUNoRCxTQUFTQyxhQUFhLFFBQVEseUJBQXlCO0FBQ3ZELFNBQVNDLFdBQVcsUUFBUSw4QkFBOEI7QUFDMUQsU0FBU0MsV0FBVyxRQUFRLHlCQUF5QjtBQUNyRCxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUVqRSxPQUFPLElBQU1DLGFBQWEsZ0JBQUdYLElBQUksQ0FBQyxZQUFNO0VBQ3RDLElBQUFZLFlBQUEsR0FBd0RQLFdBQVcsQ0FBQyxDQUFDO0lBQTdEUSxjQUFjLEdBQUFELFlBQUEsQ0FBZEMsY0FBYztJQUFFQyxPQUFPLEdBQUFGLFlBQUEsQ0FBUEUsT0FBTztJQUFFQyxLQUFLLEdBQUFILFlBQUEsQ0FBTEcsS0FBSztJQUFRQyxLQUFLLEdBQUFKLFlBQUEsQ0FBWEssSUFBSTtFQUU1Q2YsU0FBUyxDQUFDLFlBQU07SUFDZFcsY0FBYyxDQUFDO01BQUVLLElBQUksRUFBRTtJQUFFLENBQUMsQ0FBQztFQUM3QixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBQSxFQUFTO0lBQzdCLElBQU1DLEtBQUssR0FBRyxJQUFJQyxXQUFXLENBQUMsWUFBWSxDQUFDO0lBQzNDQyxNQUFNLENBQUNDLGFBQWEsQ0FBQ0gsS0FBSyxDQUFDO0VBQzdCLENBQUM7RUFFRCxJQUFNSSxRQUFRLEdBQUd2QixPQUFPLENBQUM7SUFBQSxJQUFBd0IsaUJBQUEsRUFBQUMsa0JBQUE7SUFBQSxPQUFNLENBQUFWLEtBQUssYUFBTEEsS0FBSyxnQkFBQVMsaUJBQUEsR0FBTFQsS0FBSyxDQUFFVyxVQUFVLGNBQUFGLGlCQUFBLGdCQUFBQSxpQkFBQSxHQUFqQkEsaUJBQUEsQ0FBbUJSLElBQUksY0FBQVEsaUJBQUEsdUJBQXZCQSxpQkFBQSxDQUF5QkcsTUFBTSxLQUFJLENBQUFaLEtBQUssYUFBTEEsS0FBSyxnQkFBQVUsa0JBQUEsR0FBTFYsS0FBSyxDQUFFVyxVQUFVLGNBQUFELGtCQUFBLGdCQUFBQSxrQkFBQSxHQUFqQkEsa0JBQUEsQ0FBbUJULElBQUksY0FBQVMsa0JBQUEsdUJBQXZCQSxrQkFBQSxDQUF5QkUsTUFBTSxJQUFHLENBQUM7RUFBQSxHQUFFLENBQUNaLEtBQUssQ0FBQyxDQUFDO0VBRS9HLG9CQUNFTixLQUFBLENBQUNQLGFBQWE7SUFBQTBCLFFBQUEsZ0JBQ1pyQixJQUFBLENBQUNKLFdBQVc7TUFBQzBCLGdCQUFnQixFQUFFLENBQUMsQ0FBQ04sUUFBUztNQUFDTyxlQUFlLEVBQUVaO0lBQWlCLENBQUUsQ0FBQyxlQUNoRlgsSUFBQSxDQUFDRixjQUFjO01BQ2IwQixnQkFBZ0IsRUFBRSxTQUFsQkEsZ0JBQWdCQSxDQUFFZCxJQUFJO1FBQUEsT0FBSUwsY0FBYyxDQUFDO1VBQUVLLElBQUksRUFBSkE7UUFBSyxDQUFDLENBQUM7TUFBQSxDQUFDO01BQ25ESixPQUFPLEVBQUVBLE9BQVE7TUFDakJDLEtBQUssRUFBRSxDQUFDLENBQUNBLEtBQU07TUFDZlMsUUFBUSxFQUFFLENBQUMsQ0FBQ0E7SUFBUyxDQUN0QixDQUFDO0VBQUEsQ0FDVyxDQUFDO0FBRXBCLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==