@projectcor/people-microfront 1.0.8 → 1.0.9-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/Filters/FilterChip/FilterChip.js +53 -15
- package/lib/components/Filters/SearchComponent/SearchComponent.js +7 -3
- package/lib/components/Filters/SearchComponent/SearchComponent.styles.js +9 -3
- package/lib/components/HeaderTeams/HeaderTeams.js +14 -6
- package/lib/components/Loading/LoadingComponent.js +16 -3
- package/lib/components/Loading/LoadingComponent.style.js +11 -2
- package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.js +73 -22
- package/lib/components/ModalOptionsWithSearch/SearchInput.js +6 -3
- package/lib/components/Search/Search.js +7 -4
- package/lib/container/Body/BodyContainerViewTeams.js +15 -12
- package/lib/container/Filters/FiltersContainer.js +295 -31
- package/lib/container/Filters/FiltersTeamsContainer.js +133 -127
- package/lib/container/MainView/MainTeamsView.js +37 -9
- package/lib/container/RouterComponent/RouterComponent.js +2 -5
- package/lib/context/UsersContext.js +29 -21
- package/lib/hooks/useAssignedWorkspacesFromHost.js +118 -0
- package/lib/hooks/useGetTeams.js +16 -6
- package/lib/lang/translation/br.json +3 -0
- package/lib/lang/translation/en.json +3 -0
- package/lib/lang/translation/es.json +3 -0
- package/lib/lang/translation/fr.json +3 -0
- package/lib/query/getWorkspaces.js +5 -0
- package/lib/utils/isCorWorkspacesFeatureEnabled.js +15 -0
- package/lib/utils/peopleFiltersStorage.js +120 -0
- package/lib/utils/peopleFiltersUrl.js +147 -0
- package/lib/utils/tabUrl.js +3 -7
- package/package.json +1 -1
- package/lib/container/Filters/FiltersTeamsContainer.styles.js +0 -6
- package/lib/hooks/useFiltersTeams.js +0 -36
|
@@ -13,17 +13,20 @@ var dispatchSearchEvent = function dispatchSearchEvent(value) {
|
|
|
13
13
|
}
|
|
14
14
|
}));
|
|
15
15
|
};
|
|
16
|
-
export var Search = /*#__PURE__*/memo(function Search() {
|
|
16
|
+
export var Search = /*#__PURE__*/memo(function Search(_ref) {
|
|
17
|
+
var _ref$initialSearch = _ref.initialSearch,
|
|
18
|
+
initialSearch = _ref$initialSearch === void 0 ? '' : _ref$initialSearch;
|
|
17
19
|
var _useTranslation = useTranslation('people'),
|
|
18
20
|
t = _useTranslation.t;
|
|
19
|
-
var _useState = useState(
|
|
21
|
+
var _useState = useState(initialSearch),
|
|
20
22
|
_useState2 = _slicedToArray(_useState, 2),
|
|
21
23
|
inputValue = _useState2[0],
|
|
22
24
|
setInputValue = _useState2[1];
|
|
23
25
|
var debouncedDispatch = useDebouncedCallback(dispatchSearchEvent, 700);
|
|
24
26
|
useEffect(function () {
|
|
27
|
+
if (initialSearch) return;
|
|
25
28
|
dispatchSearchEvent('');
|
|
26
|
-
}, []);
|
|
29
|
+
}, [initialSearch]);
|
|
27
30
|
var handleChangeInput = function handleChangeInput(e) {
|
|
28
31
|
setInputValue(e.target.value);
|
|
29
32
|
debouncedDispatch(e.target.value);
|
|
@@ -34,4 +37,4 @@ export var Search = /*#__PURE__*/memo(function Search() {
|
|
|
34
37
|
placeholder: t('search.placeholder')
|
|
35
38
|
});
|
|
36
39
|
});
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIm1lbW8iLCJ1c2VUcmFuc2xhdGlvbiIsIklucHV0U2VhcmNoIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJTRUFSQ0hfRVZFTlQiLCJqc3giLCJfanN4IiwiZGlzcGF0Y2hTZWFyY2hFdmVudCIsInZhbHVlIiwid2luZG93IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwic2VhcmNoVGVybSIsInR5cGUiLCJTZWFyY2giLCJfcmVmIiwiX3JlZiRpbml0aWFsU2VhcmNoIiwiaW5pdGlhbFNlYXJjaCIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnB1dFZhbHVlIiwic2V0SW5wdXRWYWx1ZSIsImRlYm91bmNlZERpc3BhdGNoIiwiaGFuZGxlQ2hhbmdlSW5wdXQiLCJlIiwidGFyZ2V0IiwicGxhY2Vob2xkZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZWFyY2gvU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VFdmVudCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgbWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgSW5wdXRTZWFyY2ggfSBmcm9tICcuL0lucHV0U2VhcmNoJ1xuaW1wb3J0IHsgdXNlRGVib3VuY2VkQ2FsbGJhY2sgfSBmcm9tICcuLi8uLi9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjaydcbmltcG9ydCB7IFNFQVJDSF9FVkVOVCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNlYXJjaEV2ZW50J1xuXG5jb25zdCBkaXNwYXRjaFNlYXJjaEV2ZW50ID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgbmV3IEN1c3RvbUV2ZW50KFNFQVJDSF9FVkVOVCwge1xuICAgICAgZGV0YWlsOiB7IHNlYXJjaFRlcm06IHZhbHVlLCB0eXBlOiAnZmlsdGVyMScgfSxcbiAgICB9KVxuICApXG59XG5cbmV4cG9ydCBjb25zdCBTZWFyY2ggPSBtZW1vKGZ1bmN0aW9uIFNlYXJjaCh7IGluaXRpYWxTZWFyY2ggPSAnJyB9OiB7IGluaXRpYWxTZWFyY2g/OiBzdHJpbmcgfSkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdwZW9wbGUnKVxuICBjb25zdCBbaW5wdXRWYWx1ZSwgc2V0SW5wdXRWYWx1ZV0gPSB1c2VTdGF0ZShpbml0aWFsU2VhcmNoKVxuICBjb25zdCBkZWJvdW5jZWREaXNwYXRjaCA9IHVzZURlYm91bmNlZENhbGxiYWNrKGRpc3BhdGNoU2VhcmNoRXZlbnQsIDcwMClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbml0aWFsU2VhcmNoKSByZXR1cm5cbiAgICBkaXNwYXRjaFNlYXJjaEV2ZW50KCcnKVxuICB9LCBbaW5pdGlhbFNlYXJjaF0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlSW5wdXQgPSAoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRJbnB1dFZhbHVlKGUudGFyZ2V0LnZhbHVlKVxuICAgIGRlYm91bmNlZERpc3BhdGNoKGUudGFyZ2V0LnZhbHVlKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SW5wdXRTZWFyY2ggaW5wdXRWYWx1ZT17aW5wdXRWYWx1ZX0gaGFuZGxlQ2hhbmdlSW5wdXQ9e2hhbmRsZUNoYW5nZUlucHV0fSBwbGFjZWhvbGRlcj17dCgnc2VhcmNoLnBsYWNlaG9sZGVyJyl9IC8+XG4gIClcbn0pXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFzQkEsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLElBQUksUUFBUSxPQUFPO0FBQzlELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFdBQVcsUUFBUSxlQUFlO0FBQzNDLFNBQVNDLG9CQUFvQixRQUFRLGtDQUFrQztBQUN2RSxTQUFTQyxZQUFZLFFBQVEsNEJBQTRCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBRXpELElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLEtBQWEsRUFBSztFQUM3Q0MsTUFBTSxDQUFDQyxhQUFhLENBQ2xCLElBQUlDLFdBQVcsQ0FBQ1AsWUFBWSxFQUFFO0lBQzVCUSxNQUFNLEVBQUU7TUFBRUMsVUFBVSxFQUFFTCxLQUFLO01BQUVNLElBQUksRUFBRTtJQUFVO0VBQy9DLENBQUMsQ0FDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE9BQU8sSUFBTUMsTUFBTSxnQkFBR2YsSUFBSSxDQUFDLFNBQVNlLE1BQU1BLENBQUFDLElBQUEsRUFBcUQ7RUFBQSxJQUFBQyxrQkFBQSxHQUFBRCxJQUFBLENBQWxERSxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsa0JBQUEsY0FBRyxFQUFFLEdBQUFBLGtCQUFBO0VBQzdELElBQUFFLGVBQUEsR0FBY2xCLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFBOUJtQixDQUFDLEdBQUFELGVBQUEsQ0FBREMsQ0FBQztFQUNULElBQUFDLFNBQUEsR0FBb0N0QixRQUFRLENBQUNtQixhQUFhLENBQUM7SUFBQUksVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBcERHLFVBQVUsR0FBQUYsVUFBQTtJQUFFRyxhQUFhLEdBQUFILFVBQUE7RUFDaEMsSUFBTUksaUJBQWlCLEdBQUd2QixvQkFBb0IsQ0FBQ0ksbUJBQW1CLEVBQUUsR0FBRyxDQUFDO0VBRXhFVCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUlvQixhQUFhLEVBQUU7SUFDbkJYLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztFQUN6QixDQUFDLEVBQUUsQ0FBQ1csYUFBYSxDQUFDLENBQUM7RUFFbkIsSUFBTVMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsQ0FBZ0MsRUFBSztJQUM5REgsYUFBYSxDQUFDRyxDQUFDLENBQUNDLE1BQU0sQ0FBQ3JCLEtBQUssQ0FBQztJQUM3QmtCLGlCQUFpQixDQUFDRSxDQUFDLENBQUNDLE1BQU0sQ0FBQ3JCLEtBQUssQ0FBQztFQUNuQyxDQUFDO0VBRUQsb0JBQ0VGLElBQUEsQ0FBQ0osV0FBVztJQUFDc0IsVUFBVSxFQUFFQSxVQUFXO0lBQUNHLGlCQUFpQixFQUFFQSxpQkFBa0I7SUFBQ0csV0FBVyxFQUFFVixDQUFDLENBQUMsb0JBQW9CO0VBQUUsQ0FBRSxDQUFDO0FBRXZILENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import { useState, useEffect, useCallback, lazy, Suspense } from 'react';
|
|
3
|
+
import { useAssignedWorkspacesFromHost } from '../../hooks/useAssignedWorkspacesFromHost';
|
|
3
4
|
import { TeamRow } from '../../components/Table/TeamRow/TeamRow';
|
|
4
5
|
import { useTeams } from '../../context/TeamsContext';
|
|
5
6
|
import { LoaderComponent } from '../../components/Loading/LoadingComponent';
|
|
@@ -8,6 +9,7 @@ import { useUpdateTeam } from '../../hooks/useUpdateTeam';
|
|
|
8
9
|
import { useAssignUserToTeam } from '../../hooks/useAssignUserToTeam';
|
|
9
10
|
import { useUnassignUserFromTeam } from '../../hooks/useUnassignUserFromTeam';
|
|
10
11
|
import { useDeleteTeam } from '../../hooks/useDeleteTeam';
|
|
12
|
+
import { isCorWorkspacesFeatureEnabled } from '../../utils/isCorWorkspacesFeatureEnabled';
|
|
11
13
|
import { EmptyStateTeams } from '../../components/EmptyStateTeams';
|
|
12
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
15
|
var LazyTeamDetailsModal = /*#__PURE__*/lazy(function () {
|
|
@@ -24,16 +26,6 @@ var LazyDeleteTeamModal = /*#__PURE__*/lazy(function () {
|
|
|
24
26
|
};
|
|
25
27
|
});
|
|
26
28
|
});
|
|
27
|
-
var mockWorkspacesList = [{
|
|
28
|
-
id: 1,
|
|
29
|
-
name: 'Workspace 1'
|
|
30
|
-
}, {
|
|
31
|
-
id: 2,
|
|
32
|
-
name: 'Workspace 2'
|
|
33
|
-
}, {
|
|
34
|
-
id: 3,
|
|
35
|
-
name: 'Workspace 3'
|
|
36
|
-
}];
|
|
37
29
|
var mockMembersList = [{
|
|
38
30
|
id: 1,
|
|
39
31
|
firstName: 'User 1',
|
|
@@ -80,6 +72,17 @@ export var BodyContainerViewTeams = function BodyContainerViewTeams() {
|
|
|
80
72
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
81
73
|
isDeleteModalOpen = _useState0[0],
|
|
82
74
|
setIsDeleteModalOpen = _useState0[1];
|
|
75
|
+
var workspacesFeatureEnabled = isCorWorkspacesFeatureEnabled();
|
|
76
|
+
var _useAssignedWorkspace = useAssignedWorkspacesFromHost(workspacesFeatureEnabled),
|
|
77
|
+
workspacesList = _useAssignedWorkspace.workspacesList,
|
|
78
|
+
handleGetWorkspaces = _useAssignedWorkspace.handleGetWorkspaces;
|
|
79
|
+
useEffect(function () {
|
|
80
|
+
if (isModalOpen && workspacesFeatureEnabled) {
|
|
81
|
+
handleGetWorkspaces({
|
|
82
|
+
page: 1
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}, [isModalOpen, workspacesFeatureEnabled, handleGetWorkspaces]);
|
|
83
86
|
var handleShowTeamDetails = function handleShowTeamDetails(teamId) {
|
|
84
87
|
var team = teams.find(function (t) {
|
|
85
88
|
return t.id === teamId;
|
|
@@ -196,7 +199,7 @@ export var BodyContainerViewTeams = function BodyContainerViewTeams() {
|
|
|
196
199
|
onEdit: handleEditTeam,
|
|
197
200
|
onCreate: handleCreateTeamSubmit,
|
|
198
201
|
mode: modalMode,
|
|
199
|
-
workspacesList:
|
|
202
|
+
workspacesList: workspacesList,
|
|
200
203
|
membersList: mockMembersList
|
|
201
204
|
})
|
|
202
205
|
}), isDeleteModalOpen && /*#__PURE__*/_jsx(Suspense, {
|
|
@@ -210,4 +213,4 @@ export var BodyContainerViewTeams = function BodyContainerViewTeams() {
|
|
|
210
213
|
})]
|
|
211
214
|
});
|
|
212
215
|
};
|
|
213
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwibGF6eSIsIlN1c3BlbnNlIiwiVGVhbVJvdyIsInVzZVRlYW1zIiwiTG9hZGVyQ29tcG9uZW50IiwidXNlQ3JlYXRlVGVhbSIsInVzZVVwZGF0ZVRlYW0iLCJ1c2VBc3NpZ25Vc2VyVG9UZWFtIiwidXNlVW5hc3NpZ25Vc2VyRnJvbVRlYW0iLCJ1c2VEZWxldGVUZWFtIiwiRW1wdHlTdGF0ZVRlYW1zIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiTGF6eVRlYW1EZXRhaWxzTW9kYWwiLCJ0aGVuIiwibW9kdWxlIiwiVGVhbURldGFpbHNNb2RhbCIsIkxhenlEZWxldGVUZWFtTW9kYWwiLCJEZWxldGVUZWFtTW9kYWwiLCJtb2NrV29ya3NwYWNlc0xpc3QiLCJpZCIsIm5hbWUiLCJtb2NrTWVtYmVyc0xpc3QiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsIkJvZHlDb250YWluZXJWaWV3VGVhbXMiLCJfdXNlVGVhbXMiLCJ0ZWFtcyIsIl91c2VDcmVhdGVUZWFtIiwiZmV0Y2hDcmVhdGVUZWFtIiwiX3VzZVVwZGF0ZVRlYW0iLCJ1cGRhdGVUZWFtIiwiX3VzZUFzc2lnblVzZXJUb1RlYW0iLCJhc3NpZ25Vc2VyVG9UZWFtIiwiX3VzZVVuYXNzaWduVXNlckZyb21UIiwidW5hc3NpZ25Vc2VyRnJvbVRlYW0iLCJfdXNlRGVsZXRlVGVhbSIsImRlbGV0ZVRlYW0iLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZFRlYW0iLCJzZXRTZWxlY3RlZFRlYW0iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzTW9kYWxPcGVuIiwic2V0SXNNb2RhbE9wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm1vZGFsTW9kZSIsInNldE1vZGFsTW9kZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwidGVhbVRvRGVsZXRlIiwic2V0VGVhbVRvRGVsZXRlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJpc0RlbGV0ZU1vZGFsT3BlbiIsInNldElzRGVsZXRlTW9kYWxPcGVuIiwiaGFuZGxlU2hvd1RlYW1EZXRhaWxzIiwidGVhbUlkIiwidGVhbSIsImZpbmQiLCJ0IiwiaGFuZGxlQ3JlYXRlVGVhbSIsImhhbmRsZUNyZWF0ZVRlYW1FdmVudCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2xvc2VNb2RhbCIsImhhbmRsZUVkaXRUZWFtIiwiZm9ybURhdGEiLCJmaWVsZHMiLCJkZXNjcmlwdGlvbiIsImhhc1dvcmtzcGFjZXNGZWF0dXJlIiwid29ya3NwYWNlIiwid29ya3NwYWNlSWQiLCJoYW5kbGVDcmVhdGVUZWFtU3VibWl0IiwiaGFuZGxlRWRpdFRlYW1Gcm9tTWVudSIsImhhbmRsZURlbGV0ZVRlYW0iLCJoYW5kbGVDbG9zZURlbGV0ZU1vZGFsIiwiaGFuZGxlQ29uZmlybURlbGV0ZSIsImRlbGV0ZUZyb21Qcm9qZWN0cyIsImhhbmRsZUFkZFVzZXIiLCJ1c2VySWQiLCJnaXZlQWNjZXNzVG9BbGxQcm9qZWN0cyIsInNldFVzZXJUZWFtUHJvamVjdCIsImhhbmRsZVJlbW92ZVVzZXIiLCJjaGlsZHJlbiIsImxlbmd0aCIsImNsaWNrQ3JlYXRlVGVhbSIsImZhbGxiYWNrIiwiaXNPcGVuIiwib25DbG9zZSIsIm9uRWRpdCIsIm9uQ3JlYXRlIiwibW9kZSIsIndvcmtzcGFjZXNMaXN0IiwibWVtYmVyc0xpc3QiLCJvbkNvbmZpcm0iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGFpbmVyL0JvZHkvQm9keUNvbnRhaW5lclZpZXdUZWFtcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIGxhenksIFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZWFtUm93IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9UYWJsZS9UZWFtUm93L1RlYW1Sb3cnXG5pbXBvcnQgdHlwZSB7IFRlYW0sIEZvcm1EYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9UZWFtRGV0YWlsc01vZGFsJ1xuaW1wb3J0IHsgdXNlVGVhbXMgfSBmcm9tICcuLi8uLi9jb250ZXh0L1RlYW1zQ29udGV4dCdcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvTG9hZGluZy9Mb2FkaW5nQ29tcG9uZW50J1xuaW1wb3J0IHsgdXNlQ3JlYXRlVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNyZWF0ZVRlYW1zJ1xuaW1wb3J0IHsgdXNlVXBkYXRlVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVVwZGF0ZVRlYW0nXG5pbXBvcnQgeyB1c2VBc3NpZ25Vc2VyVG9UZWFtIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlQXNzaWduVXNlclRvVGVhbSdcbmltcG9ydCB7IHVzZVVuYXNzaWduVXNlckZyb21UZWFtIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlVW5hc3NpZ25Vc2VyRnJvbVRlYW0nXG5pbXBvcnQgeyB1c2VEZWxldGVUZWFtIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRGVsZXRlVGVhbSdcbmltcG9ydCB7IEVtcHR5U3RhdGVUZWFtcyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRW1wdHlTdGF0ZVRlYW1zJ1xuXG5jb25zdCBMYXp5VGVhbURldGFpbHNNb2RhbCA9IGxhenkoKCkgPT5cbiAgaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL1RlYW1EZXRhaWxzTW9kYWwnKS50aGVuKG1vZHVsZSA9PiAoeyBkZWZhdWx0OiBtb2R1bGUuVGVhbURldGFpbHNNb2RhbCB9KSlcbilcblxuY29uc3QgTGF6eURlbGV0ZVRlYW1Nb2RhbCA9IGxhenkoKCkgPT5cbiAgaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL0RlbGV0ZVRlYW1Nb2RhbCcpLnRoZW4obW9kdWxlID0+ICh7IGRlZmF1bHQ6IG1vZHVsZS5EZWxldGVUZWFtTW9kYWwgfSkpXG4pXG5cbmNvbnN0IG1vY2tXb3Jrc3BhY2VzTGlzdCA9IFtcbiAgeyBpZDogMSwgbmFtZTogJ1dvcmtzcGFjZSAxJyB9LFxuICB7IGlkOiAyLCBuYW1lOiAnV29ya3NwYWNlIDInIH0sXG4gIHsgaWQ6IDMsIG5hbWU6ICdXb3Jrc3BhY2UgMycgfSxcbl1cblxuY29uc3QgbW9ja01lbWJlcnNMaXN0ID0gW1xuICB7IGlkOiAxLCBmaXJzdE5hbWU6ICdVc2VyIDEnLCBsYXN0TmFtZTogJ0FwZWxsaWRvIDEnIH0sXG4gIHsgaWQ6IDIsIGZpcnN0TmFtZTogJ1VzZXIgMicsIGxhc3ROYW1lOiAnQXBlbGxpZG8gMicgfSxcbiAgeyBpZDogMywgZmlyc3ROYW1lOiAnVXNlciAzJywgbGFzdE5hbWU6ICdBcGVsbGlkbyAzJyB9LFxuXVxuXG5leHBvcnQgY29uc3QgQm9keUNvbnRhaW5lclZpZXdUZWFtcyA9ICgpID0+IHtcbiAgY29uc3QgeyB0ZWFtcyB9ID0gdXNlVGVhbXMoKVxuICBjb25zdCB7IGZldGNoQ3JlYXRlVGVhbSB9ID0gdXNlQ3JlYXRlVGVhbSgpXG4gIGNvbnN0IHsgdXBkYXRlVGVhbSB9ID0gdXNlVXBkYXRlVGVhbSgpXG4gIGNvbnN0IHsgYXNzaWduVXNlclRvVGVhbSB9ID0gdXNlQXNzaWduVXNlclRvVGVhbSgpXG4gIGNvbnN0IHsgdW5hc3NpZ25Vc2VyRnJvbVRlYW0gfSA9IHVzZVVuYXNzaWduVXNlckZyb21UZWFtKClcbiAgY29uc3QgeyBkZWxldGVUZWFtIH0gPSB1c2VEZWxldGVUZWFtKClcbiAgY29uc3QgW3NlbGVjdGVkVGVhbSwgc2V0U2VsZWN0ZWRUZWFtXSA9IHVzZVN0YXRlPFRlYW0gfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNNb2RhbE9wZW4sIHNldElzTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbW9kYWxNb2RlLCBzZXRNb2RhbE1vZGVdID0gdXNlU3RhdGU8J3ZpZXcnIHwgJ2VkaXQnIHwgJ2NyZWF0ZSc+KCd2aWV3JylcbiAgY29uc3QgW3RlYW1Ub0RlbGV0ZSwgc2V0VGVhbVRvRGVsZXRlXSA9IHVzZVN0YXRlPFRlYW0gfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNEZWxldGVNb2RhbE9wZW4sIHNldElzRGVsZXRlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGhhbmRsZVNob3dUZWFtRGV0YWlscyA9ICh0ZWFtSWQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHRlYW0gPSB0ZWFtcy5maW5kKHQgPT4gdC5pZCA9PT0gdGVhbUlkKVxuICAgIGlmICh0ZWFtKSB7XG4gICAgICBzZXRTZWxlY3RlZFRlYW0odGVhbSlcbiAgICAgIHNldE1vZGFsTW9kZSgndmlldycpXG4gICAgICBzZXRJc01vZGFsT3Blbih0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNyZWF0ZVRlYW0gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRUZWFtKG51bGwpXG4gICAgc2V0TW9kYWxNb2RlKCdjcmVhdGUnKVxuICAgIHNldElzTW9kYWxPcGVuKHRydWUpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ3JlYXRlVGVhbUV2ZW50ID0gKCkgPT4ge1xuICAgICAgaGFuZGxlQ3JlYXRlVGVhbSgpXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NyZWF0ZVRlYW0nLCBoYW5kbGVDcmVhdGVUZWFtRXZlbnQpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NyZWF0ZVRlYW0nLCBoYW5kbGVDcmVhdGVUZWFtRXZlbnQpXG4gICAgfVxuICB9LCBbaGFuZGxlQ3JlYXRlVGVhbV0pXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICBzZXRJc01vZGFsT3BlbihmYWxzZSlcbiAgICBzZXRTZWxlY3RlZFRlYW0obnVsbClcbiAgICBzZXRNb2RhbE1vZGUoJ3ZpZXcnKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdFRlYW0gPSAoZm9ybURhdGE6IEZvcm1EYXRhKSA9PiB7XG4gICAgaWYgKCFzZWxlY3RlZFRlYW0pIHJldHVyblxuXG4gICAgY29uc3QgZmllbGRzOiB7XG4gICAgICBpZDogbnVtYmVyXG4gICAgICBuYW1lOiBzdHJpbmdcbiAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgICAgIHdvcmtzcGFjZUlkPzogbnVtYmVyXG4gICAgfSA9IHtcbiAgICAgIGlkOiArc2VsZWN0ZWRUZWFtLmlkLFxuICAgICAgbmFtZTogZm9ybURhdGEubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBmb3JtRGF0YS5kZXNjcmlwdGlvbixcbiAgICB9XG5cbiAgICBpZiAod2luZG93Lmhhc1dvcmtzcGFjZXNGZWF0dXJlICYmIGZvcm1EYXRhLndvcmtzcGFjZSkge1xuICAgICAgZmllbGRzLndvcmtzcGFjZUlkID0gZm9ybURhdGEud29ya3NwYWNlLmlkXG4gICAgfVxuXG4gICAgdXBkYXRlVGVhbShmaWVsZHMpXG4gICAgaGFuZGxlQ2xvc2VNb2RhbCgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVUZWFtU3VibWl0ID0gKGZvcm1EYXRhOiBGb3JtRGF0YSkgPT4ge1xuICAgIGNvbnN0IGZpZWxkczoge1xuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gICAgICB3b3Jrc3BhY2VJZD86IG51bWJlclxuICAgIH0gPSB7XG4gICAgICBuYW1lOiBmb3JtRGF0YS5uYW1lLFxuICAgICAgLy8gdXNlcnM6IGZvcm1EYXRhLm1lbWJlcnMubWFwKG1lbWJlciA9PiBtZW1iZXIuaWQpLCBUT0RPOiBWYSBlbiBsYSBzZWd1bmRhIHZlcnNpb25cbiAgICAgIGRlc2NyaXB0aW9uOiBmb3JtRGF0YS5kZXNjcmlwdGlvbixcbiAgICB9XG5cbiAgICBpZiAod2luZG93Lmhhc1dvcmtzcGFjZXNGZWF0dXJlICYmIGZvcm1EYXRhLndvcmtzcGFjZSkge1xuICAgICAgZmllbGRzLndvcmtzcGFjZUlkID0gZm9ybURhdGEud29ya3NwYWNlLmlkXG4gICAgfVxuICAgIGZldGNoQ3JlYXRlVGVhbShmaWVsZHMpXG4gICAgaGFuZGxlQ2xvc2VNb2RhbCgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVFZGl0VGVhbUZyb21NZW51ID0gKHRlYW1JZDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgdGVhbSA9IHRlYW1zLmZpbmQodCA9PiB0LmlkID09PSB0ZWFtSWQpXG4gICAgaWYgKHRlYW0pIHtcbiAgICAgIHNldFNlbGVjdGVkVGVhbSh0ZWFtKVxuICAgICAgc2V0TW9kYWxNb2RlKCdlZGl0JylcbiAgICAgIHNldElzTW9kYWxPcGVuKHRydWUpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlVGVhbSA9ICh0ZWFtSWQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHRlYW0gPSB0ZWFtcy5maW5kKHQgPT4gdC5pZCA9PT0gdGVhbUlkKVxuICAgIGlmICh0ZWFtKSB7XG4gICAgICBzZXRUZWFtVG9EZWxldGUodGVhbSlcbiAgICAgIHNldElzRGVsZXRlTW9kYWxPcGVuKHRydWUpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VEZWxldGVNb2RhbCA9ICgpID0+IHtcbiAgICBzZXRJc0RlbGV0ZU1vZGFsT3BlbihmYWxzZSlcbiAgICBzZXRUZWFtVG9EZWxldGUobnVsbClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1EZWxldGUgPSAoZGVsZXRlRnJvbVByb2plY3RzOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKHRlYW1Ub0RlbGV0ZSkge1xuICAgICAgZGVsZXRlVGVhbSh0ZWFtVG9EZWxldGUuaWQsIGRlbGV0ZUZyb21Qcm9qZWN0cylcbiAgICB9XG4gICAgaGFuZGxlQ2xvc2VEZWxldGVNb2RhbCgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVBZGRVc2VyID0gKHRlYW1JZDogbnVtYmVyLCB1c2VySWQ6IG51bWJlciwgZ2l2ZUFjY2Vzc1RvQWxsUHJvamVjdHM6IGJvb2xlYW4pID0+IHtcbiAgICBhc3NpZ25Vc2VyVG9UZWFtKHtcbiAgICAgIHNldFVzZXJUZWFtUHJvamVjdDogZ2l2ZUFjY2Vzc1RvQWxsUHJvamVjdHMsXG4gICAgICB1c2VySWQsXG4gICAgICB0ZWFtSWQsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlbW92ZVVzZXIgPSAodGVhbUlkOiBudW1iZXIsIHVzZXJJZDogbnVtYmVyLCBkZWxldGVGcm9tUHJvamVjdHM6IGJvb2xlYW4pID0+IHtcbiAgICB1bmFzc2lnblVzZXJGcm9tVGVhbSh7XG4gICAgICBkZWxldGVGcm9tUHJvamVjdHMsXG4gICAgICB1c2VySWQsXG4gICAgICB0ZWFtSWQsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHt0ZWFtcy5sZW5ndGggPiAwID8gKFxuICAgICAgICA8VGVhbVJvd1xuICAgICAgICAgIHRlYW1zPXt0ZWFtc31cbiAgICAgICAgICBoYW5kbGVTaG93VGVhbURldGFpbHM9e2hhbmRsZVNob3dUZWFtRGV0YWlsc31cbiAgICAgICAgICBoYW5kbGVEZWxldGVUZWFtPXtoYW5kbGVEZWxldGVUZWFtfVxuICAgICAgICAgIGhhbmRsZUVkaXRUZWFtPXtoYW5kbGVFZGl0VGVhbUZyb21NZW51fVxuICAgICAgICAgIGhhbmRsZVJlbW92ZVVzZXI9e2hhbmRsZVJlbW92ZVVzZXJ9XG4gICAgICAgICAgaGFuZGxlQWRkVXNlcj17aGFuZGxlQWRkVXNlcn1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxFbXB0eVN0YXRlVGVhbXMgY2xpY2tDcmVhdGVUZWFtPXtoYW5kbGVDcmVhdGVUZWFtfSAvPlxuICAgICAgKX1cbiAgICAgIHtpc01vZGFsT3BlbiAmJiAoXG4gICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PExvYWRlckNvbXBvbmVudCAvPn0+XG4gICAgICAgICAgPExhenlUZWFtRGV0YWlsc01vZGFsXG4gICAgICAgICAgICB0ZWFtPXtzZWxlY3RlZFRlYW19XG4gICAgICAgICAgICBpc09wZW49e2lzTW9kYWxPcGVufVxuICAgICAgICAgICAgb25DbG9zZT17aGFuZGxlQ2xvc2VNb2RhbH1cbiAgICAgICAgICAgIG9uRWRpdD17aGFuZGxlRWRpdFRlYW19XG4gICAgICAgICAgICBvbkNyZWF0ZT17aGFuZGxlQ3JlYXRlVGVhbVN1Ym1pdH1cbiAgICAgICAgICAgIG1vZGU9e21vZGFsTW9kZX1cbiAgICAgICAgICAgIHdvcmtzcGFjZXNMaXN0PXttb2NrV29ya3NwYWNlc0xpc3R9XG4gICAgICAgICAgICBtZW1iZXJzTGlzdD17bW9ja01lbWJlcnNMaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICApfVxuICAgICAge2lzRGVsZXRlTW9kYWxPcGVuICYmIChcbiAgICAgICAgPFN1c3BlbnNlIGZhbGxiYWNrPXs8TG9hZGVyQ29tcG9uZW50IC8+fT5cbiAgICAgICAgICA8TGF6eURlbGV0ZVRlYW1Nb2RhbFxuICAgICAgICAgICAgdGVhbT17dGVhbVRvRGVsZXRlfVxuICAgICAgICAgICAgaXNPcGVuPXtpc0RlbGV0ZU1vZGFsT3Blbn1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlRGVsZXRlTW9kYWx9XG4gICAgICAgICAgICBvbkNvbmZpcm09e2hhbmRsZUNvbmZpcm1EZWxldGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdXNwZW5zZT5cbiAgICAgICl9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLElBQUksRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEUsU0FBU0MsT0FBTyxRQUFRLHdDQUF3QztBQUVoRSxTQUFTQyxRQUFRLFFBQVEsNEJBQTRCO0FBQ3JELFNBQVNDLGVBQWUsUUFB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
|
|
216
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwibGF6eSIsIlN1c3BlbnNlIiwidXNlQXNzaWduZWRXb3Jrc3BhY2VzRnJvbUhvc3QiLCJUZWFtUm93IiwidXNlVGVhbXMiLCJMb2FkZXJDb21wb25lbnQiLCJ1c2VDcmVhdGVUZWFtIiwidXNlVXBkYXRlVGVhbSIsInVzZUFzc2lnblVzZXJUb1RlYW0iLCJ1c2VVbmFzc2lnblVzZXJGcm9tVGVhbSIsInVzZURlbGV0ZVRlYW0iLCJpc0NvcldvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCIsIkVtcHR5U3RhdGVUZWFtcyIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsIkxhenlUZWFtRGV0YWlsc01vZGFsIiwidGhlbiIsIm1vZHVsZSIsIlRlYW1EZXRhaWxzTW9kYWwiLCJMYXp5RGVsZXRlVGVhbU1vZGFsIiwiRGVsZXRlVGVhbU1vZGFsIiwibW9ja01lbWJlcnNMaXN0IiwiaWQiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsIkJvZHlDb250YWluZXJWaWV3VGVhbXMiLCJfdXNlVGVhbXMiLCJ0ZWFtcyIsIl91c2VDcmVhdGVUZWFtIiwiZmV0Y2hDcmVhdGVUZWFtIiwiX3VzZVVwZGF0ZVRlYW0iLCJ1cGRhdGVUZWFtIiwiX3VzZUFzc2lnblVzZXJUb1RlYW0iLCJhc3NpZ25Vc2VyVG9UZWFtIiwiX3VzZVVuYXNzaWduVXNlckZyb21UIiwidW5hc3NpZ25Vc2VyRnJvbVRlYW0iLCJfdXNlRGVsZXRlVGVhbSIsImRlbGV0ZVRlYW0iLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZFRlYW0iLCJzZXRTZWxlY3RlZFRlYW0iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzTW9kYWxPcGVuIiwic2V0SXNNb2RhbE9wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm1vZGFsTW9kZSIsInNldE1vZGFsTW9kZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwidGVhbVRvRGVsZXRlIiwic2V0VGVhbVRvRGVsZXRlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJpc0RlbGV0ZU1vZGFsT3BlbiIsInNldElzRGVsZXRlTW9kYWxPcGVuIiwid29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkIiwiX3VzZUFzc2lnbmVkV29ya3NwYWNlIiwid29ya3NwYWNlc0xpc3QiLCJoYW5kbGVHZXRXb3Jrc3BhY2VzIiwicGFnZSIsImhhbmRsZVNob3dUZWFtRGV0YWlscyIsInRlYW1JZCIsInRlYW0iLCJmaW5kIiwidCIsImhhbmRsZUNyZWF0ZVRlYW0iLCJoYW5kbGVDcmVhdGVUZWFtRXZlbnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNsb3NlTW9kYWwiLCJoYW5kbGVFZGl0VGVhbSIsImZvcm1EYXRhIiwiZmllbGRzIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiaGFzV29ya3NwYWNlc0ZlYXR1cmUiLCJ3b3Jrc3BhY2UiLCJ3b3Jrc3BhY2VJZCIsImhhbmRsZUNyZWF0ZVRlYW1TdWJtaXQiLCJoYW5kbGVFZGl0VGVhbUZyb21NZW51IiwiaGFuZGxlRGVsZXRlVGVhbSIsImhhbmRsZUNsb3NlRGVsZXRlTW9kYWwiLCJoYW5kbGVDb25maXJtRGVsZXRlIiwiZGVsZXRlRnJvbVByb2plY3RzIiwiaGFuZGxlQWRkVXNlciIsInVzZXJJZCIsImdpdmVBY2Nlc3NUb0FsbFByb2plY3RzIiwic2V0VXNlclRlYW1Qcm9qZWN0IiwiaGFuZGxlUmVtb3ZlVXNlciIsImNoaWxkcmVuIiwibGVuZ3RoIiwiY2xpY2tDcmVhdGVUZWFtIiwiZmFsbGJhY2siLCJpc09wZW4iLCJvbkNsb3NlIiwib25FZGl0Iiwib25DcmVhdGUiLCJtb2RlIiwibWVtYmVyc0xpc3QiLCJvbkNvbmZpcm0iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGFpbmVyL0JvZHkvQm9keUNvbnRhaW5lclZpZXdUZWFtcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIGxhenksIFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VBc3NpZ25lZFdvcmtzcGFjZXNGcm9tSG9zdCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUFzc2lnbmVkV29ya3NwYWNlc0Zyb21Ib3N0J1xuaW1wb3J0IHsgVGVhbVJvdyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVGFibGUvVGVhbVJvdy9UZWFtUm93J1xuaW1wb3J0IHR5cGUgeyBUZWFtLCBGb3JtRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVGVhbURldGFpbHNNb2RhbCdcbmltcG9ydCB7IHVzZVRlYW1zIH0gZnJvbSAnLi4vLi4vY29udGV4dC9UZWFtc0NvbnRleHQnXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0xvYWRpbmcvTG9hZGluZ0NvbXBvbmVudCdcbmltcG9ydCB7IHVzZUNyZWF0ZVRlYW0gfSBmcm9tICcuLi8uLi9ob29rcy91c2VDcmVhdGVUZWFtcydcbmltcG9ydCB7IHVzZVVwZGF0ZVRlYW0gfSBmcm9tICcuLi8uLi9ob29rcy91c2VVcGRhdGVUZWFtJ1xuaW1wb3J0IHsgdXNlQXNzaWduVXNlclRvVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUFzc2lnblVzZXJUb1RlYW0nXG5pbXBvcnQgeyB1c2VVbmFzc2lnblVzZXJGcm9tVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVVuYXNzaWduVXNlckZyb21UZWFtJ1xuaW1wb3J0IHsgdXNlRGVsZXRlVGVhbSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZURlbGV0ZVRlYW0nXG5pbXBvcnQgeyBpc0NvcldvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCB9IGZyb20gJy4uLy4uL3V0aWxzL2lzQ29yV29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkJ1xuaW1wb3J0IHsgRW1wdHlTdGF0ZVRlYW1zIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9FbXB0eVN0YXRlVGVhbXMnXG5cbmNvbnN0IExhenlUZWFtRGV0YWlsc01vZGFsID0gbGF6eSgoKSA9PlxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvVGVhbURldGFpbHNNb2RhbCcpLnRoZW4obW9kdWxlID0+ICh7IGRlZmF1bHQ6IG1vZHVsZS5UZWFtRGV0YWlsc01vZGFsIH0pKVxuKVxuXG5jb25zdCBMYXp5RGVsZXRlVGVhbU1vZGFsID0gbGF6eSgoKSA9PlxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvRGVsZXRlVGVhbU1vZGFsJykudGhlbihtb2R1bGUgPT4gKHsgZGVmYXVsdDogbW9kdWxlLkRlbGV0ZVRlYW1Nb2RhbCB9KSlcbilcblxuY29uc3QgbW9ja01lbWJlcnNMaXN0ID0gW1xuICB7IGlkOiAxLCBmaXJzdE5hbWU6ICdVc2VyIDEnLCBsYXN0TmFtZTogJ0FwZWxsaWRvIDEnIH0sXG4gIHsgaWQ6IDIsIGZpcnN0TmFtZTogJ1VzZXIgMicsIGxhc3ROYW1lOiAnQXBlbGxpZG8gMicgfSxcbiAgeyBpZDogMywgZmlyc3ROYW1lOiAnVXNlciAzJywgbGFzdE5hbWU6ICdBcGVsbGlkbyAzJyB9LFxuXVxuXG5leHBvcnQgY29uc3QgQm9keUNvbnRhaW5lclZpZXdUZWFtcyA9ICgpID0+IHtcbiAgY29uc3QgeyB0ZWFtcyB9ID0gdXNlVGVhbXMoKVxuICBjb25zdCB7IGZldGNoQ3JlYXRlVGVhbSB9ID0gdXNlQ3JlYXRlVGVhbSgpXG4gIGNvbnN0IHsgdXBkYXRlVGVhbSB9ID0gdXNlVXBkYXRlVGVhbSgpXG4gIGNvbnN0IHsgYXNzaWduVXNlclRvVGVhbSB9ID0gdXNlQXNzaWduVXNlclRvVGVhbSgpXG4gIGNvbnN0IHsgdW5hc3NpZ25Vc2VyRnJvbVRlYW0gfSA9IHVzZVVuYXNzaWduVXNlckZyb21UZWFtKClcbiAgY29uc3QgeyBkZWxldGVUZWFtIH0gPSB1c2VEZWxldGVUZWFtKClcbiAgY29uc3QgW3NlbGVjdGVkVGVhbSwgc2V0U2VsZWN0ZWRUZWFtXSA9IHVzZVN0YXRlPFRlYW0gfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNNb2RhbE9wZW4sIHNldElzTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbW9kYWxNb2RlLCBzZXRNb2RhbE1vZGVdID0gdXNlU3RhdGU8J3ZpZXcnIHwgJ2VkaXQnIHwgJ2NyZWF0ZSc+KCd2aWV3JylcbiAgY29uc3QgW3RlYW1Ub0RlbGV0ZSwgc2V0VGVhbVRvRGVsZXRlXSA9IHVzZVN0YXRlPFRlYW0gfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNEZWxldGVNb2RhbE9wZW4sIHNldElzRGVsZXRlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHdvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCA9IGlzQ29yV29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkKClcbiAgY29uc3QgeyB3b3Jrc3BhY2VzTGlzdCwgaGFuZGxlR2V0V29ya3NwYWNlcyB9ID0gdXNlQXNzaWduZWRXb3Jrc3BhY2VzRnJvbUhvc3Qod29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzTW9kYWxPcGVuICYmIHdvcmtzcGFjZXNGZWF0dXJlRW5hYmxlZCkge1xuICAgICAgaGFuZGxlR2V0V29ya3NwYWNlcyh7IHBhZ2U6IDEgfSlcbiAgICB9XG4gIH0sIFtpc01vZGFsT3Blbiwgd29ya3NwYWNlc0ZlYXR1cmVFbmFibGVkLCBoYW5kbGVHZXRXb3Jrc3BhY2VzXSlcblxuICBjb25zdCBoYW5kbGVTaG93VGVhbURldGFpbHMgPSAodGVhbUlkOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZWFtID0gdGVhbXMuZmluZCh0ID0+IHQuaWQgPT09IHRlYW1JZClcbiAgICBpZiAodGVhbSkge1xuICAgICAgc2V0U2VsZWN0ZWRUZWFtKHRlYW0pXG4gICAgICBzZXRNb2RhbE1vZGUoJ3ZpZXcnKVxuICAgICAgc2V0SXNNb2RhbE9wZW4odHJ1ZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVUZWFtID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNlbGVjdGVkVGVhbShudWxsKVxuICAgIHNldE1vZGFsTW9kZSgnY3JlYXRlJylcbiAgICBzZXRJc01vZGFsT3Blbih0cnVlKVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNyZWF0ZVRlYW1FdmVudCA9ICgpID0+IHtcbiAgICAgIGhhbmRsZUNyZWF0ZVRlYW0oKVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjcmVhdGVUZWFtJywgaGFuZGxlQ3JlYXRlVGVhbUV2ZW50KVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjcmVhdGVUZWFtJywgaGFuZGxlQ3JlYXRlVGVhbUV2ZW50KVxuICAgIH1cbiAgfSwgW2hhbmRsZUNyZWF0ZVRlYW1dKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0SXNNb2RhbE9wZW4oZmFsc2UpXG4gICAgc2V0U2VsZWN0ZWRUZWFtKG51bGwpXG4gICAgc2V0TW9kYWxNb2RlKCd2aWV3JylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUVkaXRUZWFtID0gKGZvcm1EYXRhOiBGb3JtRGF0YSkgPT4ge1xuICAgIGlmICghc2VsZWN0ZWRUZWFtKSByZXR1cm5cblxuICAgIGNvbnN0IGZpZWxkczoge1xuICAgICAgaWQ6IG51bWJlclxuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gICAgICB3b3Jrc3BhY2VJZD86IG51bWJlclxuICAgIH0gPSB7XG4gICAgICBpZDogK3NlbGVjdGVkVGVhbS5pZCxcbiAgICAgIG5hbWU6IGZvcm1EYXRhLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogZm9ybURhdGEuZGVzY3JpcHRpb24sXG4gICAgfVxuXG4gICAgaWYgKHdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiBmb3JtRGF0YS53b3Jrc3BhY2UpIHtcbiAgICAgIGZpZWxkcy53b3Jrc3BhY2VJZCA9IGZvcm1EYXRhLndvcmtzcGFjZS5pZFxuICAgIH1cblxuICAgIHVwZGF0ZVRlYW0oZmllbGRzKVxuICAgIGhhbmRsZUNsb3NlTW9kYWwoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ3JlYXRlVGVhbVN1Ym1pdCA9IChmb3JtRGF0YTogRm9ybURhdGEpID0+IHtcbiAgICBjb25zdCBmaWVsZHM6IHtcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAgICAgd29ya3NwYWNlSWQ/OiBudW1iZXJcbiAgICB9ID0ge1xuICAgICAgbmFtZTogZm9ybURhdGEubmFtZSxcbiAgICAgIC8vIHVzZXJzOiBmb3JtRGF0YS5tZW1iZXJzLm1hcChtZW1iZXIgPT4gbWVtYmVyLmlkKSwgVE9ETzogVmEgZW4gbGEgc2VndW5kYSB2ZXJzaW9uXG4gICAgICBkZXNjcmlwdGlvbjogZm9ybURhdGEuZGVzY3JpcHRpb24sXG4gICAgfVxuXG4gICAgaWYgKHdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiBmb3JtRGF0YS53b3Jrc3BhY2UpIHtcbiAgICAgIGZpZWxkcy53b3Jrc3BhY2VJZCA9IGZvcm1EYXRhLndvcmtzcGFjZS5pZFxuICAgIH1cbiAgICBmZXRjaENyZWF0ZVRlYW0oZmllbGRzKVxuICAgIGhhbmRsZUNsb3NlTW9kYWwoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdFRlYW1Gcm9tTWVudSA9ICh0ZWFtSWQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHRlYW0gPSB0ZWFtcy5maW5kKHQgPT4gdC5pZCA9PT0gdGVhbUlkKVxuICAgIGlmICh0ZWFtKSB7XG4gICAgICBzZXRTZWxlY3RlZFRlYW0odGVhbSlcbiAgICAgIHNldE1vZGFsTW9kZSgnZWRpdCcpXG4gICAgICBzZXRJc01vZGFsT3Blbih0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZVRlYW0gPSAodGVhbUlkOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZWFtID0gdGVhbXMuZmluZCh0ID0+IHQuaWQgPT09IHRlYW1JZClcbiAgICBpZiAodGVhbSkge1xuICAgICAgc2V0VGVhbVRvRGVsZXRlKHRlYW0pXG4gICAgICBzZXRJc0RlbGV0ZU1vZGFsT3Blbih0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlRGVsZXRlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0SXNEZWxldGVNb2RhbE9wZW4oZmFsc2UpXG4gICAgc2V0VGVhbVRvRGVsZXRlKG51bGwpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDb25maXJtRGVsZXRlID0gKGRlbGV0ZUZyb21Qcm9qZWN0czogYm9vbGVhbikgPT4ge1xuICAgIGlmICh0ZWFtVG9EZWxldGUpIHtcbiAgICAgIGRlbGV0ZVRlYW0odGVhbVRvRGVsZXRlLmlkLCBkZWxldGVGcm9tUHJvamVjdHMpXG4gICAgfVxuICAgIGhhbmRsZUNsb3NlRGVsZXRlTW9kYWwoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQWRkVXNlciA9ICh0ZWFtSWQ6IG51bWJlciwgdXNlcklkOiBudW1iZXIsIGdpdmVBY2Nlc3NUb0FsbFByb2plY3RzOiBib29sZWFuKSA9PiB7XG4gICAgYXNzaWduVXNlclRvVGVhbSh7XG4gICAgICBzZXRVc2VyVGVhbVByb2plY3Q6IGdpdmVBY2Nlc3NUb0FsbFByb2plY3RzLFxuICAgICAgdXNlcklkLFxuICAgICAgdGVhbUlkLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVSZW1vdmVVc2VyID0gKHRlYW1JZDogbnVtYmVyLCB1c2VySWQ6IG51bWJlciwgZGVsZXRlRnJvbVByb2plY3RzOiBib29sZWFuKSA9PiB7XG4gICAgdW5hc3NpZ25Vc2VyRnJvbVRlYW0oe1xuICAgICAgZGVsZXRlRnJvbVByb2plY3RzLFxuICAgICAgdXNlcklkLFxuICAgICAgdGVhbUlkLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7dGVhbXMubGVuZ3RoID4gMCA/IChcbiAgICAgICAgPFRlYW1Sb3dcbiAgICAgICAgICB0ZWFtcz17dGVhbXN9XG4gICAgICAgICAgaGFuZGxlU2hvd1RlYW1EZXRhaWxzPXtoYW5kbGVTaG93VGVhbURldGFpbHN9XG4gICAgICAgICAgaGFuZGxlRGVsZXRlVGVhbT17aGFuZGxlRGVsZXRlVGVhbX1cbiAgICAgICAgICBoYW5kbGVFZGl0VGVhbT17aGFuZGxlRWRpdFRlYW1Gcm9tTWVudX1cbiAgICAgICAgICBoYW5kbGVSZW1vdmVVc2VyPXtoYW5kbGVSZW1vdmVVc2VyfVxuICAgICAgICAgIGhhbmRsZUFkZFVzZXI9e2hhbmRsZUFkZFVzZXJ9XG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8RW1wdHlTdGF0ZVRlYW1zIGNsaWNrQ3JlYXRlVGVhbT17aGFuZGxlQ3JlYXRlVGVhbX0gLz5cbiAgICAgICl9XG4gICAgICB7aXNNb2RhbE9wZW4gJiYgKFxuICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxMb2FkZXJDb21wb25lbnQgLz59PlxuICAgICAgICAgIDxMYXp5VGVhbURldGFpbHNNb2RhbFxuICAgICAgICAgICAgdGVhbT17c2VsZWN0ZWRUZWFtfVxuICAgICAgICAgICAgaXNPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICBvbkVkaXQ9e2hhbmRsZUVkaXRUZWFtfVxuICAgICAgICAgICAgb25DcmVhdGU9e2hhbmRsZUNyZWF0ZVRlYW1TdWJtaXR9XG4gICAgICAgICAgICBtb2RlPXttb2RhbE1vZGV9XG4gICAgICAgICAgICB3b3Jrc3BhY2VzTGlzdD17d29ya3NwYWNlc0xpc3R9XG4gICAgICAgICAgICBtZW1iZXJzTGlzdD17bW9ja01lbWJlcnNMaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICApfVxuICAgICAge2lzRGVsZXRlTW9kYWxPcGVuICYmIChcbiAgICAgICAgPFN1c3BlbnNlIGZhbGxiYWNrPXs8TG9hZGVyQ29tcG9uZW50IC8+fT5cbiAgICAgICAgICA8TGF6eURlbGV0ZVRlYW1Nb2RhbFxuICAgICAgICAgICAgdGVhbT17dGVhbVRvRGVsZXRlfVxuICAgICAgICAgICAgaXNPcGVuPXtpc0RlbGV0ZU1vZGFsT3Blbn1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlRGVsZXRlTW9kYWx9XG4gICAgICAgICAgICBvbkNvbmZpcm09e2hhbmRsZUNvbmZpcm1EZWxldGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdXNwZW5zZT5cbiAgICAgICl9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLElBQUksRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEUsU0FBU0MsNkJBQTZCLFFBQVEsMkNBQTJDO0FBQ3pGLFNBQVNDLE9BQU8sUUFBUSx3Q0FBd0M7QUFFaEUsU0FBU0MsUUFBUSxRQUFRLDRCQUE0QjtBQUNyRCxTQUFTQyxlQUFlLFFBQVEsMkNBQTJDO0FBQzNFLFNBQVNDLGFBQWEsUUFBUSw0QkFBNEI7QUFDMUQsU0FBU0MsYUFBYSxRQUFRLDJCQUEyQjtBQUN6RCxTQUFTQyxtQkFBbUIsUUFBUSxpQ0FBaUM7QUFDckUsU0FBU0MsdUJBQXVCLFFBQVEscUNBQXFDO0FBQzdFLFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsNkJBQTZCLFFBQVEsMkNBQTJDO0FBQ3pGLFNBQVNDLGVBQWUsUUFBUSxrQ0FBa0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUVsRSxJQUFNQyxvQkFBb0IsZ0JBQUduQixJQUFJLENBQUM7RUFBQSxPQUNoQyxNQUFN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
|