@projectcor/maia-components 2.11.26-9 → 2.11.26
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/atoms/ApprovalBox/ApprovalBox.js +30 -72
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +47 -46
- package/lib/components/atoms/MAIAInput/MAIAInput.js +3 -9
- package/lib/components/atoms/MAIAInput/styles.js +23 -26
- package/lib/hooks/useChatManager/useChatManager.js +13 -2
- package/lib/lang/br/index.js +1 -2
- package/lib/lang/en/index.js +1 -2
- package/lib/lang/es/index.js +1 -2
- package/lib/lang/fr/index.js +1 -2
- package/lib/utils/hitlAnalytics.js +25 -0
- package/package.json +1 -1
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
4
3
|
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; }
|
|
5
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
5
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
|
-
import { useState, useEffect, useRef, useCallback } from 'react';
|
|
8
|
-
import { Alert } from '@projectcor/icons/lib/components/Alert';
|
|
6
|
+
import { useState, useEffect, useRef, useCallback, useMemo } from 'react';
|
|
9
7
|
import { CheckCircle } from '@projectcor/icons/lib/components/CheckCircle';
|
|
10
8
|
import { CrossCircle } from '@projectcor/icons/lib/components/CrossCircle';
|
|
11
|
-
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
12
9
|
import { useTranslation } from 'react-i18next';
|
|
13
|
-
import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABButtonsContainer, SCABButton, SCABStatusBadge
|
|
10
|
+
import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABButtonsContainer, SCABButton, SCABStatusBadge } from './ApprovalBox.styles';
|
|
14
11
|
import { SECTIONS } from '../../../constants/config';
|
|
15
12
|
import { useGlobalContext } from '../../../context/global-context';
|
|
16
13
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
14
|
+
import { buildHitlActionTypeList, getHitlAnalyticsAgentType, hitlBatchIncludesCreateAgent, normalizeHitlToolName } from '../../../utils/hitlAnalytics';
|
|
17
15
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
|
-
/** Alineado con TOOL_PERMISSION_MAP / TOOL_DISPLAY_NAMES en maia (snake_case). */
|
|
19
|
-
function normalizeHitlToolName(toolName) {
|
|
20
|
-
var n = (toolName || 'unknown').toLowerCase().trim();
|
|
21
|
-
if (n === 'assign') return 'task_assign';
|
|
22
|
-
return n;
|
|
23
|
-
}
|
|
24
16
|
function formatToolNameFallback(toolName) {
|
|
25
17
|
var normalized = normalizeHitlToolName(toolName || 'unknown');
|
|
26
18
|
var withSpaces = normalized.replace(/_/g, ' ').trim();
|
|
@@ -35,34 +27,10 @@ function getActionLabel(t, toolName, displayName) {
|
|
|
35
27
|
if (displayName !== null && displayName !== void 0 && displayName.trim()) return displayName;
|
|
36
28
|
return formatToolNameFallback(normalizedToolName);
|
|
37
29
|
}
|
|
38
|
-
function
|
|
39
|
-
if (!toolArgs || Array.isArray(toolArgs)) return '';
|
|
40
|
-
return String(toolArgs.deliverableType || toolArgs.deliverable_type || '').toLowerCase();
|
|
41
|
-
}
|
|
42
|
-
function getSpecialActionCopy(t, action) {
|
|
43
|
-
var normalizedToolName = normalizeHitlToolName(action.tool_name);
|
|
44
|
-
var deliverableMode = getDeliverableMode(action.tool_args);
|
|
45
|
-
if (normalizedToolName === 'create_rework') {
|
|
46
|
-
return {
|
|
47
|
-
title: t('approvalBox.special.createRework.title'),
|
|
48
|
-
description: t('approvalBox.special.createRework.description')
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
if (normalizedToolName === 'update_deliverable' && ['children', 'checkbox'].includes(deliverableMode)) {
|
|
52
|
-
return {
|
|
53
|
-
title: t('approvalBox.special.updateDeliverableChildren.title'),
|
|
54
|
-
description: t('approvalBox.special.updateDeliverableChildren.description')
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return {};
|
|
58
|
-
}
|
|
59
|
-
function buildHitlAnalyticsPayload(agentType, actions) {
|
|
60
|
-
var actionTypes = _toConsumableArray(new Set(actions.map(function (a) {
|
|
61
|
-
return normalizeHitlToolName(a.tool_name);
|
|
62
|
-
}))).sort();
|
|
30
|
+
function buildHitlAnalyticsPayload(agentTypeForEvent, actions) {
|
|
63
31
|
return {
|
|
64
|
-
agent_type:
|
|
65
|
-
action_type:
|
|
32
|
+
agent_type: agentTypeForEvent,
|
|
33
|
+
action_type: buildHitlActionTypeList(actions)
|
|
66
34
|
};
|
|
67
35
|
}
|
|
68
36
|
export var ApprovalBox = function ApprovalBox(_ref) {
|
|
@@ -77,10 +45,7 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
77
45
|
isProjectDeleted = _ref$isProjectDeleted === void 0 ? false : _ref$isProjectDeleted,
|
|
78
46
|
_ref$isExpanded = _ref.isExpanded,
|
|
79
47
|
isExpanded = _ref$isExpanded === void 0 ? false : _ref$isExpanded,
|
|
80
|
-
hitlInstanceId = _ref.hitlInstanceId
|
|
81
|
-
warningMessage = _ref.warningMessage,
|
|
82
|
-
_ref$manualApprovalDe = _ref.manualApprovalDetected,
|
|
83
|
-
manualApprovalDetected = _ref$manualApprovalDe === void 0 ? false : _ref$manualApprovalDe;
|
|
48
|
+
hitlInstanceId = _ref.hitlInstanceId;
|
|
84
49
|
var _useTranslation = useTranslation([SECTIONS.chatAI]),
|
|
85
50
|
t = _useTranslation.t;
|
|
86
51
|
var _useState = useState(status),
|
|
@@ -91,6 +56,11 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
91
56
|
agent = _useGlobalContext.agent;
|
|
92
57
|
var eventAmplitude = useEvent();
|
|
93
58
|
var lastHitlImpressionKeyRef = useRef(null);
|
|
59
|
+
var hitlBatchKey = useMemo(function () {
|
|
60
|
+
return hitlInstanceId !== null && hitlInstanceId !== void 0 ? hitlInstanceId : actions.map(function (a) {
|
|
61
|
+
return "".concat(a.thread_id, ":").concat(a.tool_call_id);
|
|
62
|
+
}).sort().join('|');
|
|
63
|
+
}, [hitlInstanceId, actions]);
|
|
94
64
|
|
|
95
65
|
// Sincronizar localStatus con el prop status cuando cambia desde el padre (solo por value, evita bucles)
|
|
96
66
|
useEffect(function () {
|
|
@@ -98,26 +68,26 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
98
68
|
return prev !== status ? status : prev;
|
|
99
69
|
});
|
|
100
70
|
}, [status]);
|
|
101
|
-
var
|
|
71
|
+
var hitlAnalyticsAgentType = getHitlAnalyticsAgentType(agent);
|
|
102
72
|
|
|
103
73
|
// CA1: card de confirmación HITL visible (solo pendiente, no histórico ya resuelto)
|
|
104
74
|
useEffect(function () {
|
|
105
75
|
if (localStatus !== 'pending' || !actions.length) return;
|
|
106
|
-
var impressionKey =
|
|
107
|
-
return "".concat(a.thread_id, ":").concat(a.tool_call_id);
|
|
108
|
-
}).sort().join('|');
|
|
76
|
+
var impressionKey = hitlBatchKey;
|
|
109
77
|
if (lastHitlImpressionKeyRef.current === impressionKey) return;
|
|
110
78
|
lastHitlImpressionKeyRef.current = impressionKey;
|
|
111
|
-
eventAmplitude(EVENTS.aiChatHitl, buildHitlAnalyticsPayload(
|
|
112
|
-
}, [
|
|
79
|
+
eventAmplitude(EVENTS.aiChatHitl, buildHitlAnalyticsPayload(hitlAnalyticsAgentType, actions));
|
|
80
|
+
}, [eventAmplitude, hitlAnalyticsAgentType, hitlBatchKey, localStatus, actions.length]);
|
|
113
81
|
var trackHitlDecision = useCallback(function (decision) {
|
|
114
|
-
eventAmplitude(EVENTS.aiChatHitlOption, _objectSpread(_objectSpread({}, buildHitlAnalyticsPayload(
|
|
82
|
+
eventAmplitude(EVENTS.aiChatHitlOption, _objectSpread(_objectSpread({}, buildHitlAnalyticsPayload(hitlAnalyticsAgentType, actions)), {}, {
|
|
115
83
|
decision: decision
|
|
116
84
|
}));
|
|
117
|
-
}, [actions,
|
|
85
|
+
}, [actions, hitlAnalyticsAgentType, eventAmplitude]);
|
|
118
86
|
var handleApprove = function handleApprove() {
|
|
119
87
|
if (isLoading || localStatus !== 'pending') return;
|
|
120
|
-
|
|
88
|
+
if (!hitlBatchIncludesCreateAgent(actions)) {
|
|
89
|
+
trackHitlDecision('accept');
|
|
90
|
+
}
|
|
121
91
|
setLocalStatus('approved');
|
|
122
92
|
onApprove(actions.map(function (a) {
|
|
123
93
|
return a.thread_id;
|
|
@@ -141,11 +111,9 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
141
111
|
}), /*#__PURE__*/_jsx(SCABActionsList, {
|
|
142
112
|
$expanded: isExpanded,
|
|
143
113
|
children: actions.map(function (action) {
|
|
144
|
-
var specialCopy = getSpecialActionCopy(t, action);
|
|
145
|
-
var label = specialCopy.title || getActionLabel(t, action.tool_name, action.display_name);
|
|
146
114
|
return /*#__PURE__*/_jsx(SCABActionItem, {
|
|
147
115
|
children: /*#__PURE__*/_jsx(SCABActionName, {
|
|
148
|
-
children:
|
|
116
|
+
children: getActionLabel(t, action.tool_name, action.display_name)
|
|
149
117
|
})
|
|
150
118
|
}, action.thread_id);
|
|
151
119
|
})
|
|
@@ -165,28 +133,18 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
165
133
|
$status: localStatus,
|
|
166
134
|
children: localStatus === 'approved' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
167
135
|
children: [/*#__PURE__*/_jsx(CheckCircle, {
|
|
168
|
-
width:
|
|
169
|
-
height:
|
|
170
|
-
color: "#
|
|
171
|
-
}), t('approvalBox.status.approved')
|
|
172
|
-
title: warningMessage || t('approvalBox.manualApprovalWarning'),
|
|
173
|
-
placement: "right",
|
|
174
|
-
children: /*#__PURE__*/_jsx(SCABStatusWarningIcon, {
|
|
175
|
-
children: /*#__PURE__*/_jsx(Alert, {
|
|
176
|
-
color: "#EAA11A",
|
|
177
|
-
width: "13px",
|
|
178
|
-
height: "13px"
|
|
179
|
-
})
|
|
180
|
-
})
|
|
181
|
-
})]
|
|
136
|
+
width: 22,
|
|
137
|
+
height: 22,
|
|
138
|
+
color: "#008400"
|
|
139
|
+
}), t('approvalBox.status.approved')]
|
|
182
140
|
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
183
141
|
children: [/*#__PURE__*/_jsx(CrossCircle, {
|
|
184
|
-
width:
|
|
185
|
-
height:
|
|
186
|
-
color: "#
|
|
142
|
+
width: 22,
|
|
143
|
+
height: 22,
|
|
144
|
+
color: "#C70505"
|
|
187
145
|
}), t('approvalBox.status.denied')]
|
|
188
146
|
})
|
|
189
147
|
})]
|
|
190
148
|
});
|
|
191
149
|
};
|
|
192
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwiQWxlcnQiLCJDaGVja0NpcmNsZSIsIkNyb3NzQ2lyY2xlIiwiVG9vbHRpcCIsInVzZVRyYW5zbGF0aW9uIiwiU0NBcHByb3ZhbEJveCIsIlNDQUJIZWFkZXIiLCJTQ0FCVGl0bGUiLCJTQ0FCRGVzY3JpcHRpb24iLCJTQ0FCQWN0aW9uc0xpc3QiLCJTQ0FCQWN0aW9uSXRlbSIsIlNDQUJBY3Rpb25OYW1lIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiU0NBQlN0YXR1c0JhZGdlIiwiU0NBQlN0YXR1c1dhcm5pbmdJY29uIiwiU0VDVElPTlMiLCJ1c2VHbG9iYWxDb250ZXh0IiwiRVZFTlRTIiwidXNlRXZlbnQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJ0b29sTmFtZSIsIm4iLCJ0b0xvd2VyQ2FzZSIsInRyaW0iLCJmb3JtYXRUb29sTmFtZUZhbGxiYWNrIiwibm9ybWFsaXplZCIsIndpdGhTcGFjZXMiLCJyZXBsYWNlIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImdldEFjdGlvbkxhYmVsIiwidCIsImRpc3BsYXlOYW1lIiwibm9ybWFsaXplZFRvb2xOYW1lIiwidHJhbnNsYXRpb25LZXkiLCJjb25jYXQiLCJ0cmFuc2xhdGVkTGFiZWwiLCJnZXREZWxpdmVyYWJsZU1vZGUiLCJ0b29sQXJncyIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsImRlbGl2ZXJhYmxlVHlwZSIsImRlbGl2ZXJhYmxlX3R5cGUiLCJnZXRTcGVjaWFsQWN0aW9uQ29weSIsImFjdGlvbiIsInRvb2xfbmFtZSIsImRlbGl2ZXJhYmxlTW9kZSIsInRvb2xfYXJncyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJpbmNsdWRlcyIsImJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQiLCJhZ2VudFR5cGUiLCJhY3Rpb25zIiwiYWN0aW9uVHlwZXMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJTZXQiLCJtYXAiLCJhIiwic29ydCIsImFnZW50X3R5cGUiLCJhY3Rpb25fdHlwZSIsImpvaW4iLCJBcHByb3ZhbEJveCIsIl9yZWYiLCJvbkFwcHJvdmUiLCJvblJlamVjdCIsIl9yZWYkc3RhdHVzIiwic3RhdHVzIiwiX3JlZiRpc0xvYWRpbmciLCJpc0xvYWRpbmciLCJfcmVmJGlzUHJvamVjdERlbGV0ZWQiLCJpc1Byb2plY3REZWxldGVkIiwiX3JlZiRpc0V4cGFuZGVkIiwiaXNFeHBhbmRlZCIsImhpdGxJbnN0YW5jZUlkIiwid2FybmluZ01lc3NhZ2UiLCJfcmVmJG1hbnVhbEFwcHJvdmFsRGUiLCJtYW51YWxBcHByb3ZhbERldGVjdGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJldmVudEFtcGxpdHVkZSIsImxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiIsInByZXYiLCJ0eXBlIiwibGVuZ3RoIiwiaW1wcmVzc2lvbktleSIsInRocmVhZF9pZCIsInRvb2xfY2FsbF9pZCIsImN1cnJlbnQiLCJhaUNoYXRIaXRsIiwidHJhY2tIaXRsRGVjaXNpb24iLCJkZWNpc2lvbiIsImFpQ2hhdEhpdGxPcHRpb24iLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlQXBwcm92ZSIsImhhbmRsZVJlamVjdCIsImNoaWxkcmVuIiwiJGV4cGFuZGVkIiwic3BlY2lhbENvcHkiLCJsYWJlbCIsImRpc3BsYXlfbmFtZSIsIiR2YXJpYW50Iiwib25DbGljayIsIiRkaXNhYmxlZCIsIiRzdGF0dXMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwicGxhY2VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQWxlcnQnXG5pbXBvcnQgeyBDaGVja0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZWNrQ2lyY2xlJ1xuaW1wb3J0IHsgQ3Jvc3NDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zc0NpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFBlbmRpbmdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHtcbiAgU0NBcHByb3ZhbEJveCxcbiAgU0NBQkhlYWRlcixcbiAgU0NBQlRpdGxlLFxuICBTQ0FCRGVzY3JpcHRpb24sXG4gIFNDQUJBY3Rpb25zTGlzdCxcbiAgU0NBQkFjdGlvbkl0ZW0sXG4gIFNDQUJBY3Rpb25OYW1lLFxuICBTQ0FCQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NBQkJ1dHRvbixcbiAgU0NBQlN0YXR1c0JhZGdlLFxuICBTQ0FCU3RhdHVzV2FybmluZ0ljb24sXG59IGZyb20gJy4vQXBwcm92YWxCb3guc3R5bGVzJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5cbi8qKiBBbGluZWFkbyBjb24gVE9PTF9QRVJNSVNTSU9OX01BUCAvIFRPT0xfRElTUExBWV9OQU1FUyBlbiBtYWlhIChzbmFrZV9jYXNlKS4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbiA9ICh0b29sTmFtZSB8fCAndW5rbm93bicpLnRvTG93ZXJDYXNlKCkudHJpbSgpXG4gIGlmIChuID09PSAnYXNzaWduJykgcmV0dXJuICd0YXNrX2Fzc2lnbidcbiAgcmV0dXJuIG5cbn1cblxuZnVuY3Rpb24gZm9ybWF0VG9vbE5hbWVGYWxsYmFjayh0b29sTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUgfHwgJ3Vua25vd24nKVxuICBjb25zdCB3aXRoU3BhY2VzID0gbm9ybWFsaXplZC5yZXBsYWNlKC9fL2csICcgJykudHJpbSgpXG4gIGlmICghd2l0aFNwYWNlcykgcmV0dXJuICdVbmtub3duJ1xuICByZXR1cm4gd2l0aFNwYWNlcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdpdGhTcGFjZXMuc2xpY2UoMSlcbn1cblxuZnVuY3Rpb24gZ2V0QWN0aW9uTGFiZWwodDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcsIHRvb2xOYW1lPzogc3RyaW5nLCBkaXNwbGF5TmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSB8fCAndW5rbm93bicpXG4gIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gYGFwcHJvdmFsQm94LmFjdGlvbnMuJHtub3JtYWxpemVkVG9vbE5hbWV9YFxuICBjb25zdCB0cmFuc2xhdGVkTGFiZWwgPSB0KHRyYW5zbGF0aW9uS2V5KVxuXG4gIGlmICh0cmFuc2xhdGVkTGFiZWwgIT09IHRyYW5zbGF0aW9uS2V5KSByZXR1cm4gdHJhbnNsYXRlZExhYmVsXG4gIGlmIChkaXNwbGF5TmFtZT8udHJpbSgpKSByZXR1cm4gZGlzcGxheU5hbWVcbiAgcmV0dXJuIGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sobm9ybWFsaXplZFRvb2xOYW1lKVxufVxuXG5mdW5jdGlvbiBnZXREZWxpdmVyYWJsZU1vZGUodG9vbEFyZ3M6IFBlbmRpbmdBY3Rpb25bJ3Rvb2xfYXJncyddKTogc3RyaW5nIHtcbiAgaWYgKCF0b29sQXJncyB8fCBBcnJheS5pc0FycmF5KHRvb2xBcmdzKSkgcmV0dXJuICcnXG4gIHJldHVybiBTdHJpbmcodG9vbEFyZ3MuZGVsaXZlcmFibGVUeXBlIHx8IHRvb2xBcmdzLmRlbGl2ZXJhYmxlX3R5cGUgfHwgJycpLnRvTG93ZXJDYXNlKClcbn1cblxuZnVuY3Rpb24gZ2V0U3BlY2lhbEFjdGlvbkNvcHkoXG4gIHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nLFxuICBhY3Rpb246IFBlbmRpbmdBY3Rpb25cbik6IHsgdGl0bGU/OiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nIH0ge1xuICBjb25zdCBub3JtYWxpemVkVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUoYWN0aW9uLnRvb2xfbmFtZSlcbiAgY29uc3QgZGVsaXZlcmFibGVNb2RlID0gZ2V0RGVsaXZlcmFibGVNb2RlKGFjdGlvbi50b29sX2FyZ3MpXG5cbiAgaWYgKG5vcm1hbGl6ZWRUb29sTmFtZSA9PT0gJ2NyZWF0ZV9yZXdvcmsnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLmNyZWF0ZVJld29yay50aXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwuY3JlYXRlUmV3b3JrLmRlc2NyaXB0aW9uJyksXG4gICAgfVxuICB9XG5cbiAgaWYgKG5vcm1hbGl6ZWRUb29sTmFtZSA9PT0gJ3VwZGF0ZV9kZWxpdmVyYWJsZScgJiYgWydjaGlsZHJlbicsICdjaGVja2JveCddLmluY2x1ZGVzKGRlbGl2ZXJhYmxlTW9kZSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwudXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbi50aXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwudXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbi5kZXNjcmlwdGlvbicpLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7fVxufVxuXG5mdW5jdGlvbiBidWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkKGFnZW50VHlwZTogQWdlbnRbJ3R5cGUnXSB8IHVuZGVmaW5lZCwgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdKSB7XG4gIGNvbnN0IGFjdGlvblR5cGVzID0gWy4uLm5ldyBTZXQoYWN0aW9ucy5tYXAoYSA9PiBub3JtYWxpemVIaXRsVG9vbE5hbWUoYS50b29sX25hbWUpKSldLnNvcnQoKVxuICByZXR1cm4ge1xuICAgIGFnZW50X3R5cGU6IGFnZW50VHlwZSA/PyAnY3VzdG9tJyxcbiAgICBhY3Rpb25fdHlwZTogYWN0aW9uVHlwZXMuam9pbignLCcpLFxuICB9XG59XG5cbmludGVyZmFjZSBBcHByb3ZhbEJveFByb3BzIHtcbiAgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIG9uQXBwcm92ZTogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgb25SZWplY3Q6ICh0aHJlYWRJZHM6IHN0cmluZ1tdKSA9PiB2b2lkXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnXG4gIGlzTG9hZGluZz86IGJvb2xlYW5cbiAgLyoqIFNpIGVsIGNoYXQvcHJveWVjdG8gZXN0w6EgZWxpbWluYWRvLCBzZSBvY3VsdGFuIGxvcyBib3RvbmVzIGRlIGFwcm9iYXIvcmVjaGF6YXIgKi9cbiAgaXNQcm9qZWN0RGVsZXRlZD86IGJvb2xlYW5cbiAgLyoqIFNpIGVsIGNoYXQgZXN0w6EgZXhwYW5kaWRvICh0cnVlKSBvIGNvbGFwc2FkbyAoZmFsc2UpLiBBZmVjdGEgZWwgYW5jaG8gZGVsIGNvbnRlbmVkb3IuICovXG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuXG4gIC8qKiBJZCBlc3RhYmxlIHBvciBsb3RlIEhJVEwgKHAuIGVqLiBvcmlnaW5hbF90aHJlYWRfaWQpIHBhcmEgZWwgZXZlbnRvIGRlIGltcHJlc2nDs24gKi9cbiAgaGl0bEluc3RhbmNlSWQ/OiBzdHJpbmdcbiAgd2FybmluZ01lc3NhZ2U/OiBzdHJpbmdcbiAgbWFudWFsQXBwcm92YWxEZXRlY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEFwcHJvdmFsQm94ID0gKHtcbiAgYWN0aW9ucyxcbiAgb25BcHByb3ZlLFxuICBvblJlamVjdCxcbiAgc3RhdHVzID0gJ3BlbmRpbmcnLFxuICBpc0xvYWRpbmcgPSBmYWxzZSxcbiAgaXNQcm9qZWN0RGVsZXRlZCA9IGZhbHNlLFxuICBpc0V4cGFuZGVkID0gZmFsc2UsXG4gIGhpdGxJbnN0YW5jZUlkLFxuICB3YXJuaW5nTWVzc2FnZSxcbiAgbWFudWFsQXBwcm92YWxEZXRlY3RlZCA9IGZhbHNlLFxufTogQXBwcm92YWxCb3hQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCBbbG9jYWxTdGF0dXMsIHNldExvY2FsU3RhdHVzXSA9IHVzZVN0YXRlPCdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnPihzdGF0dXMpXG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgLy8gU2luY3Jvbml6YXIgbG9jYWxTdGF0dXMgY29uIGVsIHByb3Agc3RhdHVzIGN1YW5kbyBjYW1iaWEgZGVzZGUgZWwgcGFkcmUgKHNvbG8gcG9yIHZhbHVlLCBldml0YSBidWNsZXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxTdGF0dXMocHJldiA9PiAocHJldiAhPT0gc3RhdHVzID8gc3RhdHVzIDogcHJldikpXG4gIH0sIFtzdGF0dXNdKVxuXG4gIGNvbnN0IGFnZW50VHlwZSA9IGFnZW50Py50eXBlXG5cbiAgLy8gQ0ExOiBjYXJkIGRlIGNvbmZpcm1hY2nDs24gSElUTCB2aXNpYmxlIChzb2xvIHBlbmRpZW50ZSwgbm8gaGlzdMOzcmljbyB5YSByZXN1ZWx0bylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyB8fCAhYWN0aW9ucy5sZW5ndGgpIHJldHVyblxuICAgIGNvbnN0IGltcHJlc3Npb25LZXkgPVxuICAgICAgaGl0bEluc3RhbmNlSWQgPz9cbiAgICAgIGFjdGlvbnNcbiAgICAgICAgLm1hcChhID0+IGAke2EudGhyZWFkX2lkfToke2EudG9vbF9jYWxsX2lkfWApXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmpvaW4oJ3wnKVxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCA9PT0gaW1wcmVzc2lvbktleSkgcmV0dXJuXG4gICAgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgPSBpbXByZXNzaW9uS2V5XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGwsIGJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQoYWdlbnRUeXBlLCBhY3Rpb25zKSlcbiAgfSwgW2FjdGlvbnMsIGFnZW50VHlwZSwgZXZlbnRBbXBsaXR1ZGUsIGxvY2FsU3RhdHVzLCBoaXRsSW5zdGFuY2VJZF0pXG5cbiAgY29uc3QgdHJhY2tIaXRsRGVjaXNpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZGVjaXNpb246ICdhY2NlcHQnIHwgJ2RlbnknKSA9PiB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0SGl0bE9wdGlvbiwge1xuICAgICAgICAuLi5idWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkKGFnZW50VHlwZSwgYWN0aW9ucyksXG4gICAgICAgIGRlY2lzaW9uLFxuICAgICAgfSlcbiAgICB9LFxuICAgIFthY3Rpb25zLCBhZ2VudFR5cGUsIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQXBwcm92ZSA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHRyYWNrSGl0bERlY2lzaW9uKCdhY2NlcHQnKVxuICAgIHNldExvY2FsU3RhdHVzKCdhcHByb3ZlZCcpXG4gICAgb25BcHByb3ZlKGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0ID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgdHJhY2tIaXRsRGVjaXNpb24oJ2RlbnknKVxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3QgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAge2FjdGlvbnMubWFwKGFjdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lhbENvcHkgPSBnZXRTcGVjaWFsQWN0aW9uQ29weSh0LCBhY3Rpb24pXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBzcGVjaWFsQ29weS50aXRsZSB8fCBnZXRBY3Rpb25MYWJlbCh0LCBhY3Rpb24udG9vbF9uYW1lLCAoYWN0aW9uIGFzIGFueSkuZGlzcGxheV9uYW1lKVxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U0NBQkFjdGlvbkl0ZW0ga2V5PXthY3Rpb24udGhyZWFkX2lkfT5cbiAgICAgICAgICAgICAgPFNDQUJBY3Rpb25OYW1lPntsYWJlbH08L1NDQUJBY3Rpb25OYW1lPlxuICAgICAgICAgICAgPC9TQ0FCQWN0aW9uSXRlbT5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9TQ0FCQWN0aW9uc0xpc3Q+XG5cbiAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmICFpc1Byb2plY3REZWxldGVkICYmIChcbiAgICAgICAgPFNDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwicmVqZWN0XCIgb25DbGljaz17aGFuZGxlUmVqZWN0fSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guZGVueScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgICA8U0NBQkJ1dHRvbiAkdmFyaWFudD1cImFwcHJvdmVcIiBvbkNsaWNrPXtoYW5kbGVBcHByb3ZlfSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guYXBwcm92ZScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgPC9TQ0FCQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgICB7bG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyAmJiAoXG4gICAgICAgIDxTQ0FCU3RhdHVzQmFkZ2UgJHN0YXR1cz17bG9jYWxTdGF0dXN9PlxuICAgICAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ2FwcHJvdmVkJyA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDaGVja0NpcmNsZSB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzVkNWQ1Y1wiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuYXBwcm92ZWQnKX1cbiAgICAgICAgICAgICAge21hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt3YXJuaW5nTWVzc2FnZSB8fCB0KCdhcHByb3ZhbEJveC5tYW51YWxBcHByb3ZhbFdhcm5pbmcnKX0gcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDxTQ0FCU3RhdHVzV2FybmluZ0ljb24+XG4gICAgICAgICAgICAgICAgICAgIDxBbGVydCBjb2xvcj1cIiNFQUExMUFcIiB3aWR0aD1cIjEzcHhcIiBoZWlnaHQ9XCIxM3B4XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NBQlN0YXR1c1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Q3Jvc3NDaXJjbGUgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiM4YThhODlcIiAvPlxuICAgICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guc3RhdHVzLmRlbmllZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0FCU3RhdHVzQmFkZ2U+XG4gICAgICApfVxuICAgIDwvU0NBcHByb3ZhbEJveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxRQUFRLE9BQU87QUFDaEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLEVBQ2ZDLHFCQUFxQixRQUNoQixzQkFBc0I7QUFDN0IsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFHMUQ7QUFDQSxTQUFTQyxxQkFBcUJBLENBQUNDLFFBQWdCLEVBQVU7RUFDdkQsSUFBTUMsQ0FBQyxHQUFHLENBQUNELFFBQVEsSUFBSSxTQUFTLEVBQUVFLFdBQVcsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQ3RELElBQUlGLENBQUMsS0FBSyxRQUFRLEVBQUUsT0FBTyxhQUFhO0VBQ3hDLE9BQU9BLENBQUM7QUFDVjtBQUVBLFNBQVNHLHNCQUFzQkEsQ0FBQ0osUUFBaUIsRUFBVTtFQUN6RCxJQUFNSyxVQUFVLEdBQUdOLHFCQUFxQixDQUFDQyxRQUFRLElBQUks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
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJCdXR0b25zQ29udGFpbmVyIiwiU0NBQkJ1dHRvbiIsIlNDQUJTdGF0dXNCYWRnZSIsIlNFQ1RJT05TIiwidXNlR2xvYmFsQ29udGV4dCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiYnVpbGRIaXRsQWN0aW9uVHlwZUxpc3QiLCJnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlIiwiaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudCIsIm5vcm1hbGl6ZUhpdGxUb29sTmFtZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImZvcm1hdFRvb2xOYW1lRmFsbGJhY2siLCJ0b29sTmFtZSIsIm5vcm1hbGl6ZWQiLCJ3aXRoU3BhY2VzIiwicmVwbGFjZSIsInRyaW0iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZ2V0QWN0aW9uTGFiZWwiLCJ0IiwiZGlzcGxheU5hbWUiLCJub3JtYWxpemVkVG9vbE5hbWUiLCJ0cmFuc2xhdGlvbktleSIsImNvbmNhdCIsInRyYW5zbGF0ZWRMYWJlbCIsImJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQiLCJhZ2VudFR5cGVGb3JFdmVudCIsImFjdGlvbnMiLCJhZ2VudF90eXBlIiwiYWN0aW9uX3R5cGUiLCJBcHByb3ZhbEJveCIsIl9yZWYiLCJvbkFwcHJvdmUiLCJvblJlamVjdCIsIl9yZWYkc3RhdHVzIiwic3RhdHVzIiwiX3JlZiRpc0xvYWRpbmciLCJpc0xvYWRpbmciLCJfcmVmJGlzUHJvamVjdERlbGV0ZWQiLCJpc1Byb2plY3REZWxldGVkIiwiX3JlZiRpc0V4cGFuZGVkIiwiaXNFeHBhbmRlZCIsImhpdGxJbnN0YW5jZUlkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJldmVudEFtcGxpdHVkZSIsImxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiIsImhpdGxCYXRjaEtleSIsIm1hcCIsImEiLCJ0aHJlYWRfaWQiLCJ0b29sX2NhbGxfaWQiLCJzb3J0Iiwiam9pbiIsInByZXYiLCJoaXRsQW5hbHl0aWNzQWdlbnRUeXBlIiwibGVuZ3RoIiwiaW1wcmVzc2lvbktleSIsImN1cnJlbnQiLCJhaUNoYXRIaXRsIiwidHJhY2tIaXRsRGVjaXNpb24iLCJkZWNpc2lvbiIsImFpQ2hhdEhpdGxPcHRpb24iLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlQXBwcm92ZSIsImhhbmRsZVJlamVjdCIsImNoaWxkcmVuIiwiJGV4cGFuZGVkIiwiYWN0aW9uIiwidG9vbF9uYW1lIiwiZGlzcGxheV9uYW1lIiwiJHZhcmlhbnQiLCJvbkNsaWNrIiwiJGRpc2FibGVkIiwiJHN0YXR1cyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ2hlY2tDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IENyb3NzQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3NDaXJjbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7XG4gIFNDQXBwcm92YWxCb3gsXG4gIFNDQUJIZWFkZXIsXG4gIFNDQUJUaXRsZSxcbiAgU0NBQkRlc2NyaXB0aW9uLFxuICBTQ0FCQWN0aW9uc0xpc3QsXG4gIFNDQUJBY3Rpb25JdGVtLFxuICBTQ0FCQWN0aW9uTmFtZSxcbiAgU0NBQkJ1dHRvbnNDb250YWluZXIsXG4gIFNDQUJCdXR0b24sXG4gIFNDQUJTdGF0dXNCYWRnZSxcbn0gZnJvbSAnLi9BcHByb3ZhbEJveC5zdHlsZXMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIGJ1aWxkSGl0bEFjdGlvblR5cGVMaXN0LFxuICBnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlLFxuICBoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50LFxuICBub3JtYWxpemVIaXRsVG9vbE5hbWUsXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzL2hpdGxBbmFseXRpY3MnXG5cbmZ1bmN0aW9uIGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sodG9vbE5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKHRvb2xOYW1lIHx8ICd1bmtub3duJylcbiAgY29uc3Qgd2l0aFNwYWNlcyA9IG5vcm1hbGl6ZWQucmVwbGFjZSgvXy9nLCAnICcpLnRyaW0oKVxuICBpZiAoIXdpdGhTcGFjZXMpIHJldHVybiAnVW5rbm93bidcbiAgcmV0dXJuIHdpdGhTcGFjZXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3aXRoU3BhY2VzLnNsaWNlKDEpXG59XG5cbmZ1bmN0aW9uIGdldEFjdGlvbkxhYmVsKHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nLCB0b29sTmFtZT86IHN0cmluZywgZGlzcGxheU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUgfHwgJ3Vua25vd24nKVxuICBjb25zdCB0cmFuc2xhdGlvbktleSA9IGBhcHByb3ZhbEJveC5hY3Rpb25zLiR7bm9ybWFsaXplZFRvb2xOYW1lfWBcbiAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gdCh0cmFuc2xhdGlvbktleSlcblxuICBpZiAodHJhbnNsYXRlZExhYmVsICE9PSB0cmFuc2xhdGlvbktleSkgcmV0dXJuIHRyYW5zbGF0ZWRMYWJlbFxuICBpZiAoZGlzcGxheU5hbWU/LnRyaW0oKSkgcmV0dXJuIGRpc3BsYXlOYW1lXG4gIHJldHVybiBmb3JtYXRUb29sTmFtZUZhbGxiYWNrKG5vcm1hbGl6ZWRUb29sTmFtZSlcbn1cblxuZnVuY3Rpb24gYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZChhZ2VudFR5cGVGb3JFdmVudDogc3RyaW5nLCBhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW10pIHtcbiAgcmV0dXJuIHtcbiAgICBhZ2VudF90eXBlOiBhZ2VudFR5cGVGb3JFdmVudCxcbiAgICBhY3Rpb25fdHlwZTogYnVpbGRIaXRsQWN0aW9uVHlwZUxpc3QoYWN0aW9ucyksXG4gIH1cbn1cblxuaW50ZXJmYWNlIEFwcHJvdmFsQm94UHJvcHMge1xuICBhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW11cbiAgb25BcHByb3ZlOiAodGhyZWFkSWRzOiBzdHJpbmdbXSkgPT4gdm9pZFxuICBvblJlamVjdDogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCdcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdC9wcm95ZWN0byBlc3TDoSBlbGltaW5hZG8sIHNlIG9jdWx0YW4gbG9zIGJvdG9uZXMgZGUgYXByb2Jhci9yZWNoYXphciAqL1xuICBpc1Byb2plY3REZWxldGVkPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdCBlc3TDoSBleHBhbmRpZG8gKHRydWUpIG8gY29sYXBzYWRvIChmYWxzZSkuIEFmZWN0YSBlbCBhbmNobyBkZWwgY29udGVuZWRvci4gKi9cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbiAgLyoqIElkIGVzdGFibGUgcG9yIGxvdGUgSElUTCAocC4gZWouIG9yaWdpbmFsX3RocmVhZF9pZCkgcGFyYSBlbCBldmVudG8gZGUgaW1wcmVzacOzbiAqL1xuICBoaXRsSW5zdGFuY2VJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgQXBwcm92YWxCb3ggPSAoe1xuICBhY3Rpb25zLFxuICBvbkFwcHJvdmUsXG4gIG9uUmVqZWN0LFxuICBzdGF0dXMgPSAncGVuZGluZycsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBpc1Byb2plY3REZWxldGVkID0gZmFsc2UsXG4gIGlzRXhwYW5kZWQgPSBmYWxzZSxcbiAgaGl0bEluc3RhbmNlSWQsXG59OiBBcHByb3ZhbEJveFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IFtsb2NhbFN0YXR1cywgc2V0TG9jYWxTdGF0dXNdID0gdXNlU3RhdGU8J3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCc+KHN0YXR1cylcbiAgY29uc3QgeyBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbClcblxuICBjb25zdCBoaXRsQmF0Y2hLZXkgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBoaXRsSW5zdGFuY2VJZCA/P1xuICAgICAgYWN0aW9uc1xuICAgICAgICAubWFwKGEgPT4gYCR7YS50aHJlYWRfaWR9OiR7YS50b29sX2NhbGxfaWR9YClcbiAgICAgICAgLnNvcnQoKVxuICAgICAgICAuam9pbignfCcpLFxuICAgIFtoaXRsSW5zdGFuY2VJZCwgYWN0aW9uc11cbiAgKVxuXG4gIC8vIFNpbmNyb25pemFyIGxvY2FsU3RhdHVzIGNvbiBlbCBwcm9wIHN0YXR1cyBjdWFuZG8gY2FtYmlhIGRlc2RlIGVsIHBhZHJlIChzb2xvIHBvciB2YWx1ZSwgZXZpdGEgYnVjbGVzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBoaXRsQW5hbHl0aWNzQWdlbnRUeXBlID0gZ2V0SGl0bEFuYWx5dGljc0FnZW50VHlwZShhZ2VudClcblxuICAvLyBDQTE6IGNhcmQgZGUgY29uZmlybWFjacOzbiBISVRMIHZpc2libGUgKHNvbG8gcGVuZGllbnRlLCBubyBoaXN0w7NyaWNvIHlhIHJlc3VlbHRvKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnIHx8ICFhY3Rpb25zLmxlbmd0aCkgcmV0dXJuXG4gICAgY29uc3QgaW1wcmVzc2lvbktleSA9IGhpdGxCYXRjaEtleVxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCA9PT0gaW1wcmVzc2lvbktleSkgcmV0dXJuXG4gICAgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgPSBpbXByZXNzaW9uS2V5XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGwsIGJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQoaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgYWN0aW9ucykpXG4gIH0sIFtldmVudEFtcGxpdHVkZSwgaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgaGl0bEJhdGNoS2V5LCBsb2NhbFN0YXR1cywgYWN0aW9ucy5sZW5ndGhdKVxuXG4gIGNvbnN0IHRyYWNrSGl0bERlY2lzaW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGRlY2lzaW9uOiAnYWNjZXB0JyB8ICdkZW55JykgPT4ge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGxPcHRpb24sIHtcbiAgICAgICAgLi4uYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZChoaXRsQW5hbHl0aWNzQWdlbnRUeXBlLCBhY3Rpb25zKSxcbiAgICAgICAgZGVjaXNpb24sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2FjdGlvbnMsIGhpdGxBbmFseXRpY3NBZ2VudFR5cGUsIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQXBwcm92ZSA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIGlmICghaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudChhY3Rpb25zKSkge1xuICAgICAgdHJhY2tIaXRsRGVjaXNpb24oJ2FjY2VwdCcpXG4gICAgfVxuICAgIHNldExvY2FsU3RhdHVzKCdhcHByb3ZlZCcpXG4gICAgb25BcHByb3ZlKGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0ID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgdHJhY2tIaXRsRGVjaXNpb24oJ2RlbnknKVxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3QgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAge2FjdGlvbnMubWFwKGFjdGlvbiA9PiAoXG4gICAgICAgICAgPFNDQUJBY3Rpb25JdGVtIGtleT17YWN0aW9uLnRocmVhZF9pZH0+XG4gICAgICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2dldEFjdGlvbkxhYmVsKHQsIGFjdGlvbi50b29sX25hbWUsIChhY3Rpb24gYXMgYW55KS5kaXNwbGF5X25hbWUpfTwvU0NBQkFjdGlvbk5hbWU+XG4gICAgICAgICAgPC9TQ0FCQWN0aW9uSXRlbT5cbiAgICAgICAgKSl9XG4gICAgICA8L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDekUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxl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
|
|
@@ -1,80 +1,81 @@
|
|
|
1
|
-
import styled
|
|
2
|
-
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
import { BLUE_IA_COLORS } from '../../../styles/config';
|
|
3
3
|
export var SCApprovalBox = styled.div.withConfig({
|
|
4
4
|
displayName: "ApprovalBoxstyles__SCApprovalBox",
|
|
5
5
|
componentId: "sc-1vnmjr4-0"
|
|
6
|
-
})(["
|
|
6
|
+
})(["padding:0px;max-width:100%;min-width:0;"]);
|
|
7
7
|
export var SCABHeader = styled.div.withConfig({
|
|
8
8
|
displayName: "ApprovalBoxstyles__SCABHeader",
|
|
9
9
|
componentId: "sc-1vnmjr4-1"
|
|
10
|
-
})(["display:
|
|
11
|
-
export var SCABTitle = styled.
|
|
10
|
+
})(["display:flex;align-items:center;gap:8px;"]);
|
|
11
|
+
export var SCABTitle = styled.h4.withConfig({
|
|
12
12
|
displayName: "ApprovalBoxstyles__SCABTitle",
|
|
13
13
|
componentId: "sc-1vnmjr4-2"
|
|
14
|
-
})(["
|
|
15
|
-
export var SCABDescription = styled.
|
|
14
|
+
})(["margin:0;color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:700;line-height:1.6;letter-spacing:0px;"]);
|
|
15
|
+
export var SCABDescription = styled.p.withConfig({
|
|
16
16
|
displayName: "ApprovalBoxstyles__SCABDescription",
|
|
17
17
|
componentId: "sc-1vnmjr4-3"
|
|
18
|
-
})(["
|
|
19
|
-
export var SCABStatusWarningIcon = styled.span.withConfig({
|
|
20
|
-
displayName: "ApprovalBoxstyles__SCABStatusWarningIcon",
|
|
21
|
-
componentId: "sc-1vnmjr4-4"
|
|
22
|
-
})(["display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-left:2px;cursor:help;flex-shrink:0;"]);
|
|
18
|
+
})(["margin:0 0 12px 0;color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1.6;letter-spacing:0px;"]);
|
|
23
19
|
export var SCABActionsList = styled.div.withConfig({
|
|
24
20
|
displayName: "ApprovalBoxstyles__SCABActionsList",
|
|
25
|
-
componentId: "sc-1vnmjr4-
|
|
26
|
-
})(["
|
|
21
|
+
componentId: "sc-1vnmjr4-4"
|
|
22
|
+
})(["background:white;border-radius:8px;padding:12px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d5d5d5;background:#fff;max-width:100%;overflow:hidden;", ""], function (_ref) {
|
|
23
|
+
var $expanded = _ref.$expanded;
|
|
24
|
+
return $expanded ? "\n min-width: 480px;\n width: fit-content;\n " : "\n width: 100%;\n ";
|
|
25
|
+
});
|
|
27
26
|
export var SCABActionItem = styled.div.withConfig({
|
|
28
27
|
displayName: "ApprovalBoxstyles__SCABActionItem",
|
|
29
|
-
componentId: "sc-1vnmjr4-
|
|
30
|
-
})(["display:flex;
|
|
28
|
+
componentId: "sc-1vnmjr4-5"
|
|
29
|
+
})(["display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid #eee;min-width:0;&:last-child{border-bottom:none;padding-bottom:0;}&:first-child{padding-top:0;}"]);
|
|
31
30
|
export var SCABActionName = styled.span.withConfig({
|
|
32
31
|
displayName: "ApprovalBoxstyles__SCABActionName",
|
|
33
|
-
componentId: "sc-1vnmjr4-
|
|
34
|
-
})(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:
|
|
35
|
-
export var SCABActionDescription = styled.p.withConfig({
|
|
36
|
-
displayName: "ApprovalBoxstyles__SCABActionDescription",
|
|
37
|
-
componentId: "sc-1vnmjr4-8"
|
|
38
|
-
})(["display:none;"]);
|
|
32
|
+
componentId: "sc-1vnmjr4-6"
|
|
33
|
+
})(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:500;font-style:normal;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
|
|
39
34
|
export var SCABActionArgs = styled.ul.withConfig({
|
|
40
35
|
displayName: "ApprovalBoxstyles__SCABActionArgs",
|
|
41
|
-
componentId: "sc-1vnmjr4-
|
|
42
|
-
})(["
|
|
36
|
+
componentId: "sc-1vnmjr4-7"
|
|
37
|
+
})(["font-size:16px;color:#666;list-style-type:disc;list-style-position:outside;padding-left:20px;margin:0;min-width:0;"]);
|
|
43
38
|
export var SCABArgItem = styled.li.withConfig({
|
|
44
39
|
displayName: "ApprovalBoxstyles__SCABArgItem",
|
|
45
|
-
componentId: "sc-1vnmjr4-
|
|
46
|
-
})(["display:
|
|
40
|
+
componentId: "sc-1vnmjr4-8"
|
|
41
|
+
})(["display:list-item;margin:0;padding-left:4px;min-width:0;overflow-wrap:break-word;word-break:break-word;"]);
|
|
47
42
|
export var SCABArgKey = styled.span.withConfig({
|
|
48
43
|
displayName: "ApprovalBoxstyles__SCABArgKey",
|
|
49
|
-
componentId: "sc-1vnmjr4-
|
|
50
|
-
})(["
|
|
44
|
+
componentId: "sc-1vnmjr4-9"
|
|
45
|
+
})(["color:#999;"]);
|
|
51
46
|
export var SCABArgValue = styled.span.withConfig({
|
|
52
47
|
displayName: "ApprovalBoxstyles__SCABArgValue",
|
|
53
|
-
componentId: "sc-1vnmjr4-
|
|
54
|
-
})(["
|
|
48
|
+
componentId: "sc-1vnmjr4-10"
|
|
49
|
+
})(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
|
|
55
50
|
export var SCABButtonsContainer = styled.div.withConfig({
|
|
56
51
|
displayName: "ApprovalBoxstyles__SCABButtonsContainer",
|
|
57
|
-
componentId: "sc-1vnmjr4-
|
|
58
|
-
})(["display:flex;align-items:
|
|
52
|
+
componentId: "sc-1vnmjr4-11"
|
|
53
|
+
})(["display:flex;align-items:flex-start;gap:18px;align-self:stretch;max-width:480px;width:100%;"]);
|
|
59
54
|
export var SCABButton = styled.button.withConfig({
|
|
60
55
|
displayName: "ApprovalBoxstyles__SCABButton",
|
|
61
|
-
componentId: "sc-1vnmjr4-
|
|
62
|
-
})(["display:
|
|
63
|
-
var $disabled = _ref.$disabled;
|
|
64
|
-
return $disabled ? 'not-allowed' : 'pointer';
|
|
65
|
-
}, function (_ref2) {
|
|
56
|
+
componentId: "sc-1vnmjr4-12"
|
|
57
|
+
})(["display:flex;padding:10px 12px;height:36px;justify-content:center;align-items:center;flex:1 0 0;border-radius:4px;font-family:'Work Sans',sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:14px;text-align:center;cursor:", ";transition:all 0.2s ease;opacity:", ";", ""], function (_ref2) {
|
|
66
58
|
var $disabled = _ref2.$disabled;
|
|
67
|
-
return $disabled ?
|
|
59
|
+
return $disabled ? 'not-allowed' : 'pointer';
|
|
68
60
|
}, function (_ref3) {
|
|
69
|
-
var $
|
|
70
|
-
return $
|
|
61
|
+
var $disabled = _ref3.$disabled;
|
|
62
|
+
return $disabled ? 0.6 : 1;
|
|
63
|
+
}, function (_ref4) {
|
|
64
|
+
var $variant = _ref4.$variant;
|
|
65
|
+
return $variant === 'approve' ? "\n background: ".concat(BLUE_IA_COLORS[500], ";\n color: #FFF;\n border: none;\n\n &:hover:not(:disabled) {\n background: ").concat(BLUE_IA_COLORS[700], ";\n }\n ") : "\n background: transparent;\n color: ".concat(BLUE_IA_COLORS[500], ";\n border: 1px solid ").concat(BLUE_IA_COLORS[500], ";\n\n &:hover:not(:disabled) {\n background: ").concat(BLUE_IA_COLORS[50], ";\n }\n ");
|
|
71
66
|
});
|
|
72
67
|
export var SCABStatusBadge = styled.div.withConfig({
|
|
73
68
|
displayName: "ApprovalBoxstyles__SCABStatusBadge",
|
|
74
|
-
componentId: "sc-1vnmjr4-
|
|
75
|
-
})(["display:inline-flex;align-items:center;gap:
|
|
76
|
-
var $status =
|
|
77
|
-
|
|
78
|
-
|
|
69
|
+
componentId: "sc-1vnmjr4-13"
|
|
70
|
+
})(["display:inline-flex;align-items:center;gap:4px;color:#343433;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-0.21px;", ""], function (_ref5) {
|
|
71
|
+
var $status = _ref5.$status;
|
|
72
|
+
switch ($status) {
|
|
73
|
+
case 'approved':
|
|
74
|
+
return "";
|
|
75
|
+
case 'rejected':
|
|
76
|
+
return "";
|
|
77
|
+
default:
|
|
78
|
+
return "\n background: ".concat(BLUE_IA_COLORS[50], ";\n color: ").concat(BLUE_IA_COLORS[500], ";\n ");
|
|
79
|
+
}
|
|
79
80
|
});
|
|
80
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJCTFVFX0lBX0NPTE9SUyIsIlNDQXBwcm92YWxCb3giLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQUJIZWFkZXIiLCJTQ0FCVGl0bGUiLCJoNCIsIlNDQUJEZXNjcmlwdGlvbiIsInAiLCJTQ0FCQWN0aW9uc0xpc3QiLCJfcmVmIiwiJGV4cGFuZGVkIiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsInNwYW4iLCJTQ0FCQWN0aW9uQXJncyIsInVsIiwiU0NBQkFyZ0l0ZW0iLCJsaSIsIlNDQUJBcmdLZXkiLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJidXR0b24iLCJfcmVmMiIsIiRkaXNhYmxlZCIsIl9yZWYzIiwiX3JlZjQiLCIkdmFyaWFudCIsImNvbmNhdCIsIlNDQUJTdGF0dXNCYWRnZSIsIl9yZWY1IiwiJHN0YXR1cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FwcHJvdmFsQm94L0FwcHJvdmFsQm94LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuXG5leHBvcnQgY29uc3QgU0NBcHByb3ZhbEJveCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCVGl0bGUgPSBzdHlsZWQuaDRgXG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkRlc2NyaXB0aW9uID0gc3R5bGVkLnBgXG4gIG1hcmdpbjogMCAwIDEycHggMDtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uc0xpc3QgPSBzdHlsZWQuZGl2PHsgJGV4cGFuZGVkPzogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDVkNWQ1O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7KHsgJGV4cGFuZGVkIH0pID0+XG4gICAgJGV4cGFuZGVkXG4gICAgICA/IGBcbiAgICBtaW4td2lkdGg6IDQ4MHB4O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYFxuICAgICAgOiBgXG4gICAgd2lkdGg6IDEwMCU7XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIG1pbi13aWR0aDogMDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbk5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkFyZ3MgPSBzdHlsZWQudWxgXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdJdGVtID0gc3R5bGVkLmxpYFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdLZXkgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM5OTk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnVmFsdWUgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkJ1dHRvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJHZhcmlhbnQ6ICdhcHByb3ZlJyB8ICdyZWplY3QnOyAkZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGhlaWdodDogMzZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicpfTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgb3BhY2l0eTogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/IDAuNiA6IDEpfTtcblxuICAkeyh7ICR2YXJpYW50IH0pID0+XG4gICAgJHZhcmlhbnQgPT09ICdhcHByb3ZlJ1xuICAgICAgPyBgXG4gICAgYmFja2dyb3VuZDogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX07XG4gICAgfVxuICBgXG4gICAgICA6IGBcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAke0JMVUVfSUFfQ09MT1JTWzUwXX07XG4gICAgfVxuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQlN0YXR1c0JhZGdlID0gc3R5bGVkLmRpdjx7ICRzdGF0dXM6ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnIHwgJ3BlbmRpbmcnIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG5cbiAgY29sb3I6ICMzNDM0MzM7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcblxuICAkeyh7ICRzdGF0dXMgfSkgPT4ge1xuICAgIHN3aXRjaCAoJHN0YXR1cykge1xuICAgICAgY2FzZSAnYXBwcm92ZWQnOlxuICAgICAgICByZXR1cm4gYGBcbiAgICAgIGNhc2UgJ3JlamVjdGVkJzpcbiAgICAgICAgcmV0dXJuIGBgXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYFxuICAgICAgICAgIGJhY2tncm91bmQ6ICR7QkxVRV9JQV9DT0xPUlNbNTBdfTtcbiAgICAgICAgICBjb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICAgICAgYFxuICAgIH1cbiAgfX1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFTQyxjQUFjLFFBQVEsd0JBQXdCO0FBRXZELE9BQU8sSUFBTUMsYUFBYSxHQUFHRixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrQ0FJdEM7QUFFRCxPQUFPLElBQU1DLFVBQVUsR0FBR1AsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0RBSW5DO0FBRUQsT0FBTyxJQUFNRSxTQUFTLEdBQUdSLE1BQU0sQ0FBQ1MsRUFBRSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9JQVFqQztBQUVELE9BQU8sSUFBTUksZUFBZSxHQUFHVixNQUFNLENBQUNXLENBQUMsQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrSkFTdEM7QUFFRCxPQUFPLElBQU1NLGVBQWUsR0FBR1osTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNk1BWXJDLFVBQUFPLElBQUE7RUFBQSxJQUFH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
|