@projectcor/maia-components 2.11.36-1 → 2.11.36-3
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/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +1 -1
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +11 -5
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +9 -1
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +39 -3
- package/lib/components/molecules/ChatAIHome/styles.js +37 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +78 -7
- package/lib/components/molecules/ChatAIModal/constants.js +6 -2
- package/lib/components/molecules/SchedulesPage/SchedulesPage.js +625 -0
- package/lib/components/molecules/SchedulesPage/index.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +45 -25
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +15 -73
- package/lib/lang/br/index.js +44 -1
- package/lib/lang/en/index.js +44 -1
- package/lib/lang/es/index.js +44 -1
- package/lib/lang/fr/index.js +44 -1
- package/lib/services/maia/Schedules/getMySchedules.js +55 -0
- package/lib/services/maia/Schedules/index.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,625 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
+
import ReactDOM from 'react-dom';
|
|
6
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
7
|
+
import { useTranslation } from 'react-i18next';
|
|
8
|
+
import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
|
|
9
|
+
import { CUButton } from '@projectcor/button/lib/components/CUButton';
|
|
10
|
+
import { AbmTriggersSection } from '../AbmSection/AbmTriggersSection/AbmTriggersSection';
|
|
11
|
+
import { Backdrop } from '../../atoms/Backdrop';
|
|
12
|
+
import { fetchMaia } from '../../../services/maia/client';
|
|
13
|
+
import { getMySchedules, deleteSchedule } from '../../../services/maia/Schedules';
|
|
14
|
+
import { DeleteQuestionModal } from '../../organisms/DeleteQuestionModal/DeleteQuestionModal';
|
|
15
|
+
import styled from 'styled-components';
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
var SCWrapper = styled.div.withConfig({
|
|
18
|
+
displayName: "SchedulesPage__SCWrapper",
|
|
19
|
+
componentId: "sc-1b6u56f-0"
|
|
20
|
+
})(["display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;"]);
|
|
21
|
+
var SCHeader = styled.div.withConfig({
|
|
22
|
+
displayName: "SchedulesPage__SCHeader",
|
|
23
|
+
componentId: "sc-1b6u56f-1"
|
|
24
|
+
})(["display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0;"]);
|
|
25
|
+
var SCTitle = styled.h2.withConfig({
|
|
26
|
+
displayName: "SchedulesPage__SCTitle",
|
|
27
|
+
componentId: "sc-1b6u56f-2"
|
|
28
|
+
})(["font-size:16px;font-weight:600;color:#111827;margin:0;"]);
|
|
29
|
+
var SCNewButton = styled.div.withConfig({
|
|
30
|
+
displayName: "SchedulesPage__SCNewButton",
|
|
31
|
+
componentId: "sc-1b6u56f-3"
|
|
32
|
+
})(["flex-shrink:0;"]);
|
|
33
|
+
var SCContent = styled.div.withConfig({
|
|
34
|
+
displayName: "SchedulesPage__SCContent",
|
|
35
|
+
componentId: "sc-1b6u56f-4"
|
|
36
|
+
})(["flex:1;overflow-y:auto;"]);
|
|
37
|
+
var SCLoading = styled.div.withConfig({
|
|
38
|
+
displayName: "SchedulesPage__SCLoading",
|
|
39
|
+
componentId: "sc-1b6u56f-5"
|
|
40
|
+
})(["padding:24px;font-size:13px;color:#6b7280;"]);
|
|
41
|
+
var SCEmptyState = styled.div.withConfig({
|
|
42
|
+
displayName: "SchedulesPage__SCEmptyState",
|
|
43
|
+
componentId: "sc-1b6u56f-6"
|
|
44
|
+
})(["padding:48px 24px;text-align:center;font-size:13px;color:#9ca3af;"]);
|
|
45
|
+
var SCList = styled.div.withConfig({
|
|
46
|
+
displayName: "SchedulesPage__SCList",
|
|
47
|
+
componentId: "sc-1b6u56f-7"
|
|
48
|
+
})(["padding:16px 24px;display:flex;flex-direction:column;gap:10px;"]);
|
|
49
|
+
var SCRow = styled.div.withConfig({
|
|
50
|
+
displayName: "SchedulesPage__SCRow",
|
|
51
|
+
componentId: "sc-1b6u56f-8"
|
|
52
|
+
})(["display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;gap:12px;"]);
|
|
53
|
+
var SCRowLeft = styled.div.withConfig({
|
|
54
|
+
displayName: "SchedulesPage__SCRowLeft",
|
|
55
|
+
componentId: "sc-1b6u56f-9"
|
|
56
|
+
})(["display:flex;flex-direction:column;gap:4px;min-width:0;"]);
|
|
57
|
+
var SCRoutineName = styled.span.withConfig({
|
|
58
|
+
displayName: "SchedulesPage__SCRoutineName",
|
|
59
|
+
componentId: "sc-1b6u56f-10"
|
|
60
|
+
})(["font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]);
|
|
61
|
+
var SCRoutineMeta = styled.span.withConfig({
|
|
62
|
+
displayName: "SchedulesPage__SCRoutineMeta",
|
|
63
|
+
componentId: "sc-1b6u56f-11"
|
|
64
|
+
})(["font-size:12px;color:#6b7280;display:flex;gap:8px;flex-wrap:wrap;"]);
|
|
65
|
+
var SCAgentBadge = styled.span.withConfig({
|
|
66
|
+
displayName: "SchedulesPage__SCAgentBadge",
|
|
67
|
+
componentId: "sc-1b6u56f-12"
|
|
68
|
+
})(["background:#f0f9ff;color:rgba(0,68,102,1);font-weight:500;padding:1px 7px;border-radius:99px;font-size:11px;"]);
|
|
69
|
+
var SCStatusBadge = styled.span.withConfig({
|
|
70
|
+
displayName: "SchedulesPage__SCStatusBadge",
|
|
71
|
+
componentId: "sc-1b6u56f-13"
|
|
72
|
+
})(["padding:1px 7px;border-radius:99px;font-size:11px;font-weight:500;background:", ";color:", ";"], function (_ref) {
|
|
73
|
+
var status = _ref.status;
|
|
74
|
+
return status === 'active' ? '#d1fae5' : status === 'paused' ? '#fef3c7' : '#f3f4f6';
|
|
75
|
+
}, function (_ref2) {
|
|
76
|
+
var status = _ref2.status;
|
|
77
|
+
return status === 'active' ? '#065f46' : status === 'paused' ? '#92400e' : '#6b7280';
|
|
78
|
+
});
|
|
79
|
+
var SCModalBox = styled.div.withConfig({
|
|
80
|
+
displayName: "SchedulesPage__SCModalBox",
|
|
81
|
+
componentId: "sc-1b6u56f-14"
|
|
82
|
+
})(["background:#fff;border-radius:12px;width:720px;max-width:94vw;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.15);overflow:hidden;"]);
|
|
83
|
+
var SCModalHeader = styled.div.withConfig({
|
|
84
|
+
displayName: "SchedulesPage__SCModalHeader",
|
|
85
|
+
componentId: "sc-1b6u56f-15"
|
|
86
|
+
})(["display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;flex-shrink:0;"]);
|
|
87
|
+
var SCModalTitle = styled.span.withConfig({
|
|
88
|
+
displayName: "SchedulesPage__SCModalTitle",
|
|
89
|
+
componentId: "sc-1b6u56f-16"
|
|
90
|
+
})(["font-size:14px;font-weight:600;color:#111827;"]);
|
|
91
|
+
var SCModalCloseButton = styled.button.withConfig({
|
|
92
|
+
displayName: "SchedulesPage__SCModalCloseButton",
|
|
93
|
+
componentId: "sc-1b6u56f-17"
|
|
94
|
+
})(["background:none;border:none;cursor:pointer;font-size:20px;color:#9ca3af;line-height:1;padding:0;&:hover{color:#374151;}"]);
|
|
95
|
+
var SCModalBody = styled.div.withConfig({
|
|
96
|
+
displayName: "SchedulesPage__SCModalBody",
|
|
97
|
+
componentId: "sc-1b6u56f-18"
|
|
98
|
+
})(["flex:1;overflow-y:auto;padding-bottom:24px;"]);
|
|
99
|
+
var SCModalFooter = styled.div.withConfig({
|
|
100
|
+
displayName: "SchedulesPage__SCModalFooter",
|
|
101
|
+
componentId: "sc-1b6u56f-19"
|
|
102
|
+
})(["display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;border-top:1px solid #f0f0f0;flex-shrink:0;"]);
|
|
103
|
+
var SCModalSaveButton = styled.div.withConfig({
|
|
104
|
+
displayName: "SchedulesPage__SCModalSaveButton",
|
|
105
|
+
componentId: "sc-1b6u56f-20"
|
|
106
|
+
})(["flex-shrink:0;"]);
|
|
107
|
+
var SCAgentSelectorContainer = styled.div.withConfig({
|
|
108
|
+
displayName: "SchedulesPage__SCAgentSelectorContainer",
|
|
109
|
+
componentId: "sc-1b6u56f-21"
|
|
110
|
+
})(["position:relative;display:inline-flex;min-width:240px;padding:20px 24px 16px;"]);
|
|
111
|
+
var SCAgentSelectorTrigger = styled.button.withConfig({
|
|
112
|
+
displayName: "SchedulesPage__SCAgentSelectorTrigger",
|
|
113
|
+
componentId: "sc-1b6u56f-22"
|
|
114
|
+
})(["display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;border:1px solid ", ";border-radius:8px;background:#fff;cursor:pointer;font-size:13px;color:#111827;"], function (_ref3) {
|
|
115
|
+
var open = _ref3.open;
|
|
116
|
+
return open ? 'rgba(0,68,102,1)' : '#d1d5db';
|
|
117
|
+
});
|
|
118
|
+
var SCAgentSelectorLabel = styled.span.withConfig({
|
|
119
|
+
displayName: "SchedulesPage__SCAgentSelectorLabel",
|
|
120
|
+
componentId: "sc-1b6u56f-23"
|
|
121
|
+
})(["font-size:11px;color:#6b7280;margin-right:4px;"]);
|
|
122
|
+
var SCAgentSelectorList = styled.ul.withConfig({
|
|
123
|
+
displayName: "SchedulesPage__SCAgentSelectorList",
|
|
124
|
+
componentId: "sc-1b6u56f-24"
|
|
125
|
+
})(["position:absolute;top:calc(100% - 8px);left:24px;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);list-style:none;margin:0;padding:4px 0;max-height:200px;overflow-y:auto;z-index:100;"]);
|
|
126
|
+
var SCAgentSelectorOption = styled.li.withConfig({
|
|
127
|
+
displayName: "SchedulesPage__SCAgentSelectorOption",
|
|
128
|
+
componentId: "sc-1b6u56f-25"
|
|
129
|
+
})(["padding:8px 12px;font-size:13px;cursor:pointer;color:", ";font-weight:", ";background:", ";&:hover{background:#f9fafb;}"], function (_ref4) {
|
|
130
|
+
var isSelected = _ref4.isSelected;
|
|
131
|
+
return isSelected ? 'rgba(0,68,102,1)' : '#111827';
|
|
132
|
+
}, function (_ref5) {
|
|
133
|
+
var isSelected = _ref5.isSelected;
|
|
134
|
+
return isSelected ? 600 : 400;
|
|
135
|
+
}, function (_ref6) {
|
|
136
|
+
var isSelected = _ref6.isSelected;
|
|
137
|
+
return isSelected ? '#f0f9ff' : 'transparent';
|
|
138
|
+
});
|
|
139
|
+
var SCDeleteButton = styled.button.withConfig({
|
|
140
|
+
displayName: "SchedulesPage__SCDeleteButton",
|
|
141
|
+
componentId: "sc-1b6u56f-26"
|
|
142
|
+
})(["background:none;border:none;cursor:pointer;padding:4px;color:#9ca3af;display:flex;align-items:center;border-radius:6px;&:hover{color:#ef4444;background:#fef2f2;}"]);
|
|
143
|
+
var SCRowRight = styled.div.withConfig({
|
|
144
|
+
displayName: "SchedulesPage__SCRowRight",
|
|
145
|
+
componentId: "sc-1b6u56f-27"
|
|
146
|
+
})(["display:flex;align-items:center;gap:8px;flex-shrink:0;"]);
|
|
147
|
+
var SCEmptyTemplates = styled.div.withConfig({
|
|
148
|
+
displayName: "SchedulesPage__SCEmptyTemplates",
|
|
149
|
+
componentId: "sc-1b6u56f-28"
|
|
150
|
+
})(["padding:32px 24px;display:flex;flex-direction:column;gap:16px;"]);
|
|
151
|
+
var SCEmptyTemplatesHeader = styled.div.withConfig({
|
|
152
|
+
displayName: "SchedulesPage__SCEmptyTemplatesHeader",
|
|
153
|
+
componentId: "sc-1b6u56f-29"
|
|
154
|
+
})(["display:flex;flex-direction:column;gap:4px;"]);
|
|
155
|
+
var SCEmptyTemplatesTitle = styled.span.withConfig({
|
|
156
|
+
displayName: "SchedulesPage__SCEmptyTemplatesTitle",
|
|
157
|
+
componentId: "sc-1b6u56f-30"
|
|
158
|
+
})(["font-size:12px;font-weight:600;color:rgba(135,64,191,1);text-transform:uppercase;letter-spacing:0.05em;"]);
|
|
159
|
+
var SCEmptyTemplatesSubtitle = styled.span.withConfig({
|
|
160
|
+
displayName: "SchedulesPage__SCEmptyTemplatesSubtitle",
|
|
161
|
+
componentId: "sc-1b6u56f-31"
|
|
162
|
+
})(["font-size:13px;color:#6b7280;"]);
|
|
163
|
+
var SCTemplatesList = styled.div.withConfig({
|
|
164
|
+
displayName: "SchedulesPage__SCTemplatesList",
|
|
165
|
+
componentId: "sc-1b6u56f-32"
|
|
166
|
+
})(["display:flex;flex-direction:column;gap:8px;"]);
|
|
167
|
+
var SCTemplateCard = styled.div.withConfig({
|
|
168
|
+
displayName: "SchedulesPage__SCTemplateCard",
|
|
169
|
+
componentId: "sc-1b6u56f-33"
|
|
170
|
+
})(["display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(242,242,242,1);border-radius:10px;cursor:pointer;background:#fff;transition:background 0.15s,border-color 0.15s;&:hover{background:#faf5ff;border-color:rgba(135,64,191,0.3);}"]);
|
|
171
|
+
var SCTemplateEmoji = styled.span.withConfig({
|
|
172
|
+
displayName: "SchedulesPage__SCTemplateEmoji",
|
|
173
|
+
componentId: "sc-1b6u56f-34"
|
|
174
|
+
})(["font-size:22px;flex-shrink:0;"]);
|
|
175
|
+
var SCTemplateInfo = styled.div.withConfig({
|
|
176
|
+
displayName: "SchedulesPage__SCTemplateInfo",
|
|
177
|
+
componentId: "sc-1b6u56f-35"
|
|
178
|
+
})(["display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;"]);
|
|
179
|
+
var SCTemplateName = styled.span.withConfig({
|
|
180
|
+
displayName: "SchedulesPage__SCTemplateName",
|
|
181
|
+
componentId: "sc-1b6u56f-36"
|
|
182
|
+
})(["font-size:13px;font-weight:600;color:#111827;"]);
|
|
183
|
+
var SCTemplateDesc = styled.span.withConfig({
|
|
184
|
+
displayName: "SchedulesPage__SCTemplateDesc",
|
|
185
|
+
componentId: "sc-1b6u56f-37"
|
|
186
|
+
})(["font-size:12px;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;"]);
|
|
187
|
+
var SCTemplateFreq = styled.span.withConfig({
|
|
188
|
+
displayName: "SchedulesPage__SCTemplateFreq",
|
|
189
|
+
componentId: "sc-1b6u56f-38"
|
|
190
|
+
})(["font-size:11px;font-weight:500;color:rgba(135,64,191,0.8);background:rgba(135,64,191,0.07);border-radius:99px;padding:2px 8px;white-space:nowrap;flex-shrink:0;"]);
|
|
191
|
+
export var SchedulesPage = function SchedulesPage(_ref7) {
|
|
192
|
+
var _onBack = _ref7.onBack;
|
|
193
|
+
var _useTranslation = useTranslation('abm_agent_section'),
|
|
194
|
+
t = _useTranslation.t;
|
|
195
|
+
var _useState = useState([]),
|
|
196
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
197
|
+
mySchedules = _useState2[0],
|
|
198
|
+
setMySchedules = _useState2[1];
|
|
199
|
+
var _useState3 = useState(false),
|
|
200
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
201
|
+
loadingSchedules = _useState4[0],
|
|
202
|
+
setLoadingSchedules = _useState4[1];
|
|
203
|
+
var _useState5 = useState(false),
|
|
204
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
205
|
+
showCreatePanel = _useState6[0],
|
|
206
|
+
setShowCreatePanel = _useState6[1];
|
|
207
|
+
var _useState7 = useState(null),
|
|
208
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
209
|
+
templateForm = _useState8[0],
|
|
210
|
+
setTemplateForm = _useState8[1];
|
|
211
|
+
var _useState9 = useState([]),
|
|
212
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
213
|
+
agents = _useState0[0],
|
|
214
|
+
setAgents = _useState0[1];
|
|
215
|
+
var _useState1 = useState(false),
|
|
216
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
217
|
+
loadingAgents = _useState10[0],
|
|
218
|
+
setLoadingAgents = _useState10[1];
|
|
219
|
+
var _useState11 = useState(null),
|
|
220
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
221
|
+
selectedAgent = _useState12[0],
|
|
222
|
+
setSelectedAgent = _useState12[1];
|
|
223
|
+
var _useState13 = useState(false),
|
|
224
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
225
|
+
dropdownOpen = _useState14[0],
|
|
226
|
+
setDropdownOpen = _useState14[1];
|
|
227
|
+
var _useState15 = useState(0),
|
|
228
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
229
|
+
submitCount = _useState16[0],
|
|
230
|
+
setSubmitCount = _useState16[1];
|
|
231
|
+
var _useState17 = useState(null),
|
|
232
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
233
|
+
scheduleToDelete = _useState18[0],
|
|
234
|
+
setScheduleToDelete = _useState18[1];
|
|
235
|
+
var dropdownRef = useRef(null);
|
|
236
|
+
var fetchSchedules = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
237
|
+
var result, _t;
|
|
238
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
239
|
+
while (1) switch (_context.prev = _context.next) {
|
|
240
|
+
case 0:
|
|
241
|
+
setLoadingSchedules(true);
|
|
242
|
+
_context.prev = 1;
|
|
243
|
+
_context.next = 2;
|
|
244
|
+
return getMySchedules({
|
|
245
|
+
limit: 100,
|
|
246
|
+
offset: 0
|
|
247
|
+
});
|
|
248
|
+
case 2:
|
|
249
|
+
result = _context.sent;
|
|
250
|
+
setMySchedules(result.data);
|
|
251
|
+
_context.next = 4;
|
|
252
|
+
break;
|
|
253
|
+
case 3:
|
|
254
|
+
_context.prev = 3;
|
|
255
|
+
_t = _context["catch"](1);
|
|
256
|
+
case 4:
|
|
257
|
+
_context.prev = 4;
|
|
258
|
+
setLoadingSchedules(false);
|
|
259
|
+
return _context.finish(4);
|
|
260
|
+
case 5:
|
|
261
|
+
case "end":
|
|
262
|
+
return _context.stop();
|
|
263
|
+
}
|
|
264
|
+
}, _callee, null, [[1, 3, 4, 5]]);
|
|
265
|
+
})), []);
|
|
266
|
+
var handleDeleteSchedule = useCallback(/*#__PURE__*/function () {
|
|
267
|
+
var _ref9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id) {
|
|
268
|
+
var _t2;
|
|
269
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
270
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
271
|
+
case 0:
|
|
272
|
+
_context2.prev = 0;
|
|
273
|
+
_context2.next = 1;
|
|
274
|
+
return deleteSchedule(id);
|
|
275
|
+
case 1:
|
|
276
|
+
setScheduleToDelete(null);
|
|
277
|
+
fetchSchedules();
|
|
278
|
+
_context2.next = 3;
|
|
279
|
+
break;
|
|
280
|
+
case 2:
|
|
281
|
+
_context2.prev = 2;
|
|
282
|
+
_t2 = _context2["catch"](0);
|
|
283
|
+
case 3:
|
|
284
|
+
case "end":
|
|
285
|
+
return _context2.stop();
|
|
286
|
+
}
|
|
287
|
+
}, _callee2, null, [[0, 2]]);
|
|
288
|
+
}));
|
|
289
|
+
return function (_x) {
|
|
290
|
+
return _ref9.apply(this, arguments);
|
|
291
|
+
};
|
|
292
|
+
}(), [fetchSchedules]);
|
|
293
|
+
var fetchAgents = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
294
|
+
var response, data, agentList, _t3;
|
|
295
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
296
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
297
|
+
case 0:
|
|
298
|
+
setLoadingAgents(true);
|
|
299
|
+
_context3.prev = 1;
|
|
300
|
+
_context3.next = 2;
|
|
301
|
+
return fetchMaia({
|
|
302
|
+
path: 'agents?agent_type=custom&limit=100&offset=0',
|
|
303
|
+
method: 'GET'
|
|
304
|
+
});
|
|
305
|
+
case 2:
|
|
306
|
+
response = _context3.sent;
|
|
307
|
+
_context3.next = 3;
|
|
308
|
+
return response.json();
|
|
309
|
+
case 3:
|
|
310
|
+
data = _context3.sent;
|
|
311
|
+
agentList = (data.data || []).map(function (a) {
|
|
312
|
+
return {
|
|
313
|
+
id: a.id,
|
|
314
|
+
name: a.name,
|
|
315
|
+
emoji: a.emoji || ''
|
|
316
|
+
};
|
|
317
|
+
});
|
|
318
|
+
setAgents(agentList);
|
|
319
|
+
if (agentList.length === 1) {
|
|
320
|
+
setSelectedAgent(agentList[0]);
|
|
321
|
+
}
|
|
322
|
+
_context3.next = 5;
|
|
323
|
+
break;
|
|
324
|
+
case 4:
|
|
325
|
+
_context3.prev = 4;
|
|
326
|
+
_t3 = _context3["catch"](1);
|
|
327
|
+
case 5:
|
|
328
|
+
_context3.prev = 5;
|
|
329
|
+
setLoadingAgents(false);
|
|
330
|
+
return _context3.finish(5);
|
|
331
|
+
case 6:
|
|
332
|
+
case "end":
|
|
333
|
+
return _context3.stop();
|
|
334
|
+
}
|
|
335
|
+
}, _callee3, null, [[1, 4, 5, 6]]);
|
|
336
|
+
})), []);
|
|
337
|
+
useEffect(function () {
|
|
338
|
+
fetchSchedules();
|
|
339
|
+
}, [fetchSchedules]);
|
|
340
|
+
useEffect(function () {
|
|
341
|
+
if (!showCreatePanel) return;
|
|
342
|
+
fetchAgents();
|
|
343
|
+
}, [showCreatePanel, fetchAgents]);
|
|
344
|
+
useEffect(function () {
|
|
345
|
+
if (!dropdownOpen) return;
|
|
346
|
+
var handleClick = function handleClick(e) {
|
|
347
|
+
var _dropdownRef$current;
|
|
348
|
+
if (!((_dropdownRef$current = dropdownRef.current) !== null && _dropdownRef$current !== void 0 && _dropdownRef$current.contains(e.target))) setDropdownOpen(false);
|
|
349
|
+
};
|
|
350
|
+
document.addEventListener('mousedown', handleClick);
|
|
351
|
+
return function () {
|
|
352
|
+
return document.removeEventListener('mousedown', handleClick);
|
|
353
|
+
};
|
|
354
|
+
}, [dropdownOpen]);
|
|
355
|
+
var handleCreateSuccess = useCallback(function () {
|
|
356
|
+
setSubmitCount(0);
|
|
357
|
+
setShowCreatePanel(false);
|
|
358
|
+
setSelectedAgent(null);
|
|
359
|
+
setTemplateForm(null);
|
|
360
|
+
fetchSchedules();
|
|
361
|
+
}, [fetchSchedules]);
|
|
362
|
+
var selectedLabel = selectedAgent ? "".concat(selectedAgent.emoji ? "".concat(selectedAgent.emoji, " ") : '').concat(selectedAgent.name) : t('triggersSection.selectAgent');
|
|
363
|
+
var statusLabel = function statusLabel(status) {
|
|
364
|
+
var _map$status;
|
|
365
|
+
var map = {
|
|
366
|
+
active: t('triggersSection.status.active'),
|
|
367
|
+
paused: t('triggersSection.status.paused'),
|
|
368
|
+
disabled: t('triggersSection.status.disabled')
|
|
369
|
+
};
|
|
370
|
+
return (_map$status = map[status]) !== null && _map$status !== void 0 ? _map$status : status;
|
|
371
|
+
};
|
|
372
|
+
var frequencyLabel = function frequencyLabel(schedule) {
|
|
373
|
+
var _map$schedule$schedul;
|
|
374
|
+
var map = {
|
|
375
|
+
minutely: t('triggersSection.frequencies.minutely'),
|
|
376
|
+
hourly: t('triggersSection.frequencies.hourly'),
|
|
377
|
+
daily: t('triggersSection.frequencies.daily'),
|
|
378
|
+
weekly: t('triggersSection.frequencies.weekly')
|
|
379
|
+
};
|
|
380
|
+
return (_map$schedule$schedul = map[schedule.schedule_type]) !== null && _map$schedule$schedul !== void 0 ? _map$schedule$schedul : schedule.schedule_type;
|
|
381
|
+
};
|
|
382
|
+
var formatNextRun = function formatNextRun(next_run_at) {
|
|
383
|
+
if (!next_run_at) return '—';
|
|
384
|
+
return new Date(next_run_at).toLocaleString();
|
|
385
|
+
};
|
|
386
|
+
return /*#__PURE__*/_jsxs(SCWrapper, {
|
|
387
|
+
children: [/*#__PURE__*/_jsxs(SCHeader, {
|
|
388
|
+
children: [/*#__PURE__*/_jsx(SCTitle, {
|
|
389
|
+
children: t('triggersSection.myRoutinesTitle')
|
|
390
|
+
}), /*#__PURE__*/_jsx(SCNewButton, {
|
|
391
|
+
children: /*#__PURE__*/_jsxs(CUButton, {
|
|
392
|
+
variant: "contained",
|
|
393
|
+
size: "medium",
|
|
394
|
+
onClick: function onClick() {
|
|
395
|
+
return setShowCreatePanel(function (prev) {
|
|
396
|
+
return !prev;
|
|
397
|
+
});
|
|
398
|
+
},
|
|
399
|
+
children: ["+ ", t('triggersSection.newRoutine')]
|
|
400
|
+
})
|
|
401
|
+
})]
|
|
402
|
+
}), /*#__PURE__*/_jsx(SCContent, {
|
|
403
|
+
children: loadingSchedules ? /*#__PURE__*/_jsx(SCLoading, {
|
|
404
|
+
children: t('triggersSection.loadingRoutines')
|
|
405
|
+
}) : mySchedules.length === 0 ? /*#__PURE__*/_jsxs(SCEmptyTemplates, {
|
|
406
|
+
children: [/*#__PURE__*/_jsxs(SCEmptyTemplatesHeader, {
|
|
407
|
+
children: [/*#__PURE__*/_jsx(SCEmptyTemplatesTitle, {
|
|
408
|
+
children: t('triggersSection.routineTemplates.title')
|
|
409
|
+
}), /*#__PURE__*/_jsx(SCEmptyTemplatesSubtitle, {
|
|
410
|
+
children: t('triggersSection.routineTemplates.subtitle')
|
|
411
|
+
})]
|
|
412
|
+
}), /*#__PURE__*/_jsx(SCTemplatesList, {
|
|
413
|
+
children: [{
|
|
414
|
+
emoji: '📋',
|
|
415
|
+
name: t('triggersSection.routineTemplates.template1.name'),
|
|
416
|
+
desc: t('triggersSection.routineTemplates.template1.desc'),
|
|
417
|
+
freq: t('triggersSection.routineTemplates.template1.freq'),
|
|
418
|
+
formData: {
|
|
419
|
+
name: t('triggersSection.routineTemplates.template1.name'),
|
|
420
|
+
input: t('triggersSection.routineTemplates.template1.desc'),
|
|
421
|
+
scheduleType: 'daily',
|
|
422
|
+
hour: 9,
|
|
423
|
+
minute: 0
|
|
424
|
+
}
|
|
425
|
+
}, {
|
|
426
|
+
emoji: '📊',
|
|
427
|
+
name: t('triggersSection.routineTemplates.template2.name'),
|
|
428
|
+
desc: t('triggersSection.routineTemplates.template2.desc'),
|
|
429
|
+
freq: t('triggersSection.routineTemplates.template2.freq'),
|
|
430
|
+
formData: {
|
|
431
|
+
name: t('triggersSection.routineTemplates.template2.name'),
|
|
432
|
+
input: t('triggersSection.routineTemplates.template2.desc'),
|
|
433
|
+
scheduleType: 'weekly',
|
|
434
|
+
hour: 9,
|
|
435
|
+
minute: 0,
|
|
436
|
+
dayOfWeek: 0
|
|
437
|
+
}
|
|
438
|
+
}, {
|
|
439
|
+
emoji: '🔔',
|
|
440
|
+
name: t('triggersSection.routineTemplates.template3.name'),
|
|
441
|
+
desc: t('triggersSection.routineTemplates.template3.desc'),
|
|
442
|
+
freq: t('triggersSection.routineTemplates.template3.freq'),
|
|
443
|
+
formData: {
|
|
444
|
+
name: t('triggersSection.routineTemplates.template3.name'),
|
|
445
|
+
input: t('triggersSection.routineTemplates.template3.desc'),
|
|
446
|
+
scheduleType: 'weekly',
|
|
447
|
+
hour: 17,
|
|
448
|
+
minute: 0,
|
|
449
|
+
dayOfWeek: 4
|
|
450
|
+
}
|
|
451
|
+
}].map(function (template) {
|
|
452
|
+
return /*#__PURE__*/_jsxs(SCTemplateCard, {
|
|
453
|
+
onClick: function onClick() {
|
|
454
|
+
setTemplateForm(template.formData);
|
|
455
|
+
setShowCreatePanel(true);
|
|
456
|
+
},
|
|
457
|
+
children: [/*#__PURE__*/_jsx(SCTemplateEmoji, {
|
|
458
|
+
children: template.emoji
|
|
459
|
+
}), /*#__PURE__*/_jsxs(SCTemplateInfo, {
|
|
460
|
+
children: [/*#__PURE__*/_jsx(SCTemplateName, {
|
|
461
|
+
children: template.name
|
|
462
|
+
}), /*#__PURE__*/_jsx(SCTemplateDesc, {
|
|
463
|
+
children: template.desc
|
|
464
|
+
})]
|
|
465
|
+
}), /*#__PURE__*/_jsx(SCTemplateFreq, {
|
|
466
|
+
children: template.freq
|
|
467
|
+
})]
|
|
468
|
+
}, template.name);
|
|
469
|
+
})
|
|
470
|
+
})]
|
|
471
|
+
}) : /*#__PURE__*/_jsx(SCList, {
|
|
472
|
+
children: mySchedules.map(function (schedule) {
|
|
473
|
+
var _schedule$agent_name;
|
|
474
|
+
return /*#__PURE__*/_jsxs(SCRow, {
|
|
475
|
+
children: [/*#__PURE__*/_jsxs(SCRowLeft, {
|
|
476
|
+
children: [/*#__PURE__*/_jsx(SCRoutineName, {
|
|
477
|
+
children: schedule.name || t('triggersSection.untitledRoutine')
|
|
478
|
+
}), /*#__PURE__*/_jsxs(SCRoutineMeta, {
|
|
479
|
+
children: [(schedule.agent_emoji || schedule.agent_name) && /*#__PURE__*/_jsxs(SCAgentBadge, {
|
|
480
|
+
children: [schedule.agent_emoji ? "".concat(schedule.agent_emoji, " ") : '', (_schedule$agent_name = schedule.agent_name) !== null && _schedule$agent_name !== void 0 ? _schedule$agent_name : '']
|
|
481
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
482
|
+
children: frequencyLabel(schedule)
|
|
483
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
484
|
+
children: [t('triggersSection.nextRun'), ": ", formatNextRun(schedule.next_run_at)]
|
|
485
|
+
})]
|
|
486
|
+
})]
|
|
487
|
+
}), /*#__PURE__*/_jsxs(SCRowRight, {
|
|
488
|
+
children: [/*#__PURE__*/_jsx(SCStatusBadge, {
|
|
489
|
+
status: schedule.status,
|
|
490
|
+
children: statusLabel(schedule.status)
|
|
491
|
+
}), /*#__PURE__*/_jsx(SCDeleteButton, {
|
|
492
|
+
type: "button",
|
|
493
|
+
title: t('triggersSection.deleteRoutine'),
|
|
494
|
+
onClick: function onClick() {
|
|
495
|
+
return setScheduleToDelete(schedule);
|
|
496
|
+
},
|
|
497
|
+
children: /*#__PURE__*/_jsxs("svg", {
|
|
498
|
+
width: "14",
|
|
499
|
+
height: "14",
|
|
500
|
+
viewBox: "0 0 24 24",
|
|
501
|
+
fill: "none",
|
|
502
|
+
stroke: "currentColor",
|
|
503
|
+
strokeWidth: "2",
|
|
504
|
+
strokeLinecap: "round",
|
|
505
|
+
strokeLinejoin: "round",
|
|
506
|
+
children: [/*#__PURE__*/_jsx("polyline", {
|
|
507
|
+
points: "3 6 5 6 21 6"
|
|
508
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
509
|
+
d: "M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"
|
|
510
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
511
|
+
d: "M10 11v6"
|
|
512
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
513
|
+
d: "M14 11v6"
|
|
514
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
515
|
+
d: "M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"
|
|
516
|
+
})]
|
|
517
|
+
})
|
|
518
|
+
})]
|
|
519
|
+
})]
|
|
520
|
+
}, schedule.id);
|
|
521
|
+
})
|
|
522
|
+
})
|
|
523
|
+
}), showCreatePanel && function (_selectedAgent$id) {
|
|
524
|
+
var container = document.getElementById('modal-root-actions');
|
|
525
|
+
if (!container) return null;
|
|
526
|
+
return /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(Backdrop, {
|
|
527
|
+
onClick: function onClick() {
|
|
528
|
+
setShowCreatePanel(false);
|
|
529
|
+
setTemplateForm(null);
|
|
530
|
+
},
|
|
531
|
+
zIndex: 11111,
|
|
532
|
+
children: /*#__PURE__*/_jsxs(SCModalBox, {
|
|
533
|
+
onClick: function onClick(e) {
|
|
534
|
+
return e.stopPropagation();
|
|
535
|
+
},
|
|
536
|
+
children: [/*#__PURE__*/_jsxs(SCModalHeader, {
|
|
537
|
+
children: [/*#__PURE__*/_jsx(SCModalTitle, {
|
|
538
|
+
children: t('triggersSection.newRoutine')
|
|
539
|
+
}), /*#__PURE__*/_jsx(SCModalCloseButton, {
|
|
540
|
+
type: "button",
|
|
541
|
+
onClick: function onClick() {
|
|
542
|
+
setShowCreatePanel(false);
|
|
543
|
+
setTemplateForm(null);
|
|
544
|
+
},
|
|
545
|
+
children: "\xD7"
|
|
546
|
+
})]
|
|
547
|
+
}), /*#__PURE__*/_jsxs(SCModalBody, {
|
|
548
|
+
children: [/*#__PURE__*/_jsxs(SCAgentSelectorContainer, {
|
|
549
|
+
ref: dropdownRef,
|
|
550
|
+
children: [/*#__PURE__*/_jsxs(SCAgentSelectorTrigger, {
|
|
551
|
+
open: dropdownOpen,
|
|
552
|
+
onClick: function onClick() {
|
|
553
|
+
return setDropdownOpen(function (prev) {
|
|
554
|
+
return !prev;
|
|
555
|
+
});
|
|
556
|
+
},
|
|
557
|
+
type: "button",
|
|
558
|
+
children: [/*#__PURE__*/_jsxs("span", {
|
|
559
|
+
children: [/*#__PURE__*/_jsxs(SCAgentSelectorLabel, {
|
|
560
|
+
children: [t('triggersSection.agent'), ": "]
|
|
561
|
+
}), loadingAgents ? t('triggersSection.loadingAgents') : selectedLabel]
|
|
562
|
+
}), /*#__PURE__*/_jsx(ChevronDown, {
|
|
563
|
+
width: "14px",
|
|
564
|
+
height: "14px",
|
|
565
|
+
color: dropdownOpen ? 'rgba(0,68,102,1)' : 'rgba(153,153,153,1)'
|
|
566
|
+
})]
|
|
567
|
+
}), dropdownOpen && /*#__PURE__*/_jsx(SCAgentSelectorList, {
|
|
568
|
+
children: loadingAgents ? /*#__PURE__*/_jsx("li", {
|
|
569
|
+
style: {
|
|
570
|
+
padding: '8px 12px',
|
|
571
|
+
fontSize: 13,
|
|
572
|
+
color: '#6b7280'
|
|
573
|
+
},
|
|
574
|
+
children: t('triggersSection.loadingAgents')
|
|
575
|
+
}) : agents.map(function (agent) {
|
|
576
|
+
return /*#__PURE__*/_jsxs(SCAgentSelectorOption, {
|
|
577
|
+
isSelected: (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id) === agent.id,
|
|
578
|
+
onClick: function onClick() {
|
|
579
|
+
setSelectedAgent(agent);
|
|
580
|
+
setDropdownOpen(false);
|
|
581
|
+
},
|
|
582
|
+
children: [agent.emoji ? "".concat(agent.emoji, " ") : '', agent.name]
|
|
583
|
+
}, agent.id);
|
|
584
|
+
})
|
|
585
|
+
})]
|
|
586
|
+
}), /*#__PURE__*/_jsx(AbmTriggersSection, {
|
|
587
|
+
agentExternalId: (_selectedAgent$id = selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.id) !== null && _selectedAgent$id !== void 0 ? _selectedAgent$id : null,
|
|
588
|
+
initialForm: templateForm !== null && templateForm !== void 0 ? templateForm : undefined,
|
|
589
|
+
submitCount: submitCount,
|
|
590
|
+
onSuccess: handleCreateSuccess,
|
|
591
|
+
standaloneCreateOnly: true
|
|
592
|
+
})]
|
|
593
|
+
}), /*#__PURE__*/_jsx(SCModalFooter, {
|
|
594
|
+
children: /*#__PURE__*/_jsx(SCModalSaveButton, {
|
|
595
|
+
children: /*#__PURE__*/_jsx(CUButton, {
|
|
596
|
+
variant: "contained",
|
|
597
|
+
size: "medium",
|
|
598
|
+
onClick: function onClick() {
|
|
599
|
+
return setSubmitCount(function (prev) {
|
|
600
|
+
return prev + 1;
|
|
601
|
+
});
|
|
602
|
+
},
|
|
603
|
+
children: t('triggersSection.save')
|
|
604
|
+
})
|
|
605
|
+
})
|
|
606
|
+
})]
|
|
607
|
+
})
|
|
608
|
+
}), container);
|
|
609
|
+
}(), scheduleToDelete && /*#__PURE__*/_jsx(DeleteQuestionModal, {
|
|
610
|
+
action: "routine",
|
|
611
|
+
chat: {
|
|
612
|
+
title: scheduleToDelete.name || t('triggersSection.untitledRoutine')
|
|
613
|
+
},
|
|
614
|
+
onClose: function onClose() {
|
|
615
|
+
return setScheduleToDelete(null);
|
|
616
|
+
},
|
|
617
|
+
handlers: {
|
|
618
|
+
handleConfirmAction: function handleConfirmAction() {
|
|
619
|
+
return handleDeleteSchedule(scheduleToDelete.id);
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
})]
|
|
623
|
+
});
|
|
624
|
+
};
|
|
625
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdERPTSIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VUcmFuc2xhdGlvbiIsIkNoZXZyb25Eb3duIiwiQ1VCdXR0b24iLCJBYm1UcmlnZ2Vyc1NlY3Rpb24iLCJCYWNrZHJvcCIsImZldGNoTWFpYSIsImdldE15U2NoZWR1bGVzIiwiZGVsZXRlU2NoZWR1bGUiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwic3R5bGVkIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlNDV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NIZWFkZXIiLCJTQ1RpdGxlIiwiaDIiLCJTQ05ld0J1dHRvbiIsIlNDQ29udGVudCIsIlNDTG9hZGluZyIsIlNDRW1wdHlTdGF0ZSIsIlNDTGlzdCIsIlNDUm93IiwiU0NSb3dMZWZ0IiwiU0NSb3V0aW5lTmFtZSIsInNwYW4iLCJTQ1JvdXRpbmVNZXRhIiwiU0NBZ2VudEJhZGdlIiwiU0NTdGF0dXNCYWRnZSIsIl9yZWYiLCJzdGF0dXMiLCJfcmVmMiIsIlNDTW9kYWxCb3giLCJTQ01vZGFsSGVhZGVyIiwiU0NNb2RhbFRpdGxlIiwiU0NNb2RhbENsb3NlQnV0dG9uIiwiYnV0dG9uIiwiU0NNb2RhbEJvZHkiLCJTQ01vZGFsRm9vdGVyIiwiU0NNb2RhbFNhdmVCdXR0b24iLCJTQ0FnZW50U2VsZWN0b3JDb250YWluZXIiLCJTQ0FnZW50U2VsZWN0b3JUcmlnZ2VyIiwiX3JlZjMiLCJvcGVuIiwiU0NBZ2VudFNlbGVjdG9yTGFiZWwiLCJTQ0FnZW50U2VsZWN0b3JMaXN0IiwidWwiLCJTQ0FnZW50U2VsZWN0b3JPcHRpb24iLCJsaSIsIl9yZWY0IiwiaXNTZWxlY3RlZCIsIl9yZWY1IiwiX3JlZjYiLCJTQ0RlbGV0ZUJ1dHRvbiIsIlNDUm93UmlnaHQiLCJTQ0VtcHR5VGVtcGxhdGVzIiwiU0NFbXB0eVRlbXBsYXRlc0hlYWRlciIsIlNDRW1wdHlUZW1wbGF0ZXNUaXRsZSIsIlNDRW1wdHlUZW1wbGF0ZXNTdWJ0aXRsZSIsIlNDVGVtcGxhdGVzTGlzdCIsIlNDVGVtcGxhdGVDYXJkIiwiU0NUZW1wbGF0ZUVtb2ppIiwiU0NUZW1wbGF0ZUluZm8iLCJTQ1RlbXBsYXRlTmFtZSIsIlNDVGVtcGxhdGVEZXNjIiwiU0NUZW1wbGF0ZUZyZXEiLCJTY2hlZHVsZXNQYWdlIiwiX3JlZjciLCJfb25CYWNrIiwib25CYWNrIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIm15U2NoZWR1bGVzIiwic2V0TXlTY2hlZHVsZXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmdTY2hlZHVsZXMiLCJzZXRMb2FkaW5nU2NoZWR1bGVzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93Q3JlYXRlUGFuZWwiLCJzZXRTaG93Q3JlYXRlUGFuZWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInRlbXBsYXRlRm9ybSIsInNldFRlbXBsYXRlRm9ybSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiYWdlbnRzIiwic2V0QWdlbnRzIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwibG9hZGluZ0FnZW50cyIsInNldExvYWRpbmdBZ2VudHMiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2VsZWN0ZWRBZ2VudCIsInNldFNlbGVjdGVkQWdlbnQiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwiZHJvcGRvd25PcGVuIiwic2V0RHJvcGRvd25PcGVuIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsInN1Ym1pdENvdW50Iiwic2V0U3VibWl0Q291bnQiLCJfdXNlU3RhdGUxNyIsIl91c2VTdGF0ZTE4Iiwic2NoZWR1bGVUb0RlbGV0ZSIsInNldFNjaGVkdWxlVG9EZWxldGUiLCJkcm9wZG93blJlZiIsImZldGNoU2NoZWR1bGVzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXN1bHQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwibGltaXQiLCJvZmZzZXQiLCJzZW50IiwiZGF0YSIsImZpbmlzaCIsInN0b3AiLCJoYW5kbGVEZWxldGVTY2hlZHVsZSIsIl9yZWY5IiwiX2NhbGxlZTIiLCJpZCIsIl90MiIsIl9jb250ZXh0MiIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJmZXRjaEFnZW50cyIsIl9jYWxsZWUzIiwicmVzcG9uc2UiLCJhZ2VudExpc3QiLCJfdDMiLCJfY29udGV4dDMiLCJwYXRoIiwibWV0aG9kIiwianNvbiIsIm1hcCIsImEiLCJuYW1lIiwiZW1vamkiLCJsZW5ndGgiLCJoYW5kbGVDbGljayIsImUiLCJfZHJvcGRvd25SZWYkY3VycmVudCIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDcmVhdGVTdWNjZXNzIiwic2VsZWN0ZWRMYWJlbCIsImNvbmNhdCIsInN0YXR1c0xhYmVsIiwiX21hcCRzdGF0dXMiLCJhY3RpdmUiLCJwYXVzZWQiLCJkaXNhYmxlZCIsImZyZXF1ZW5jeUxhYmVsIiwic2NoZWR1bGUiLCJfbWFwJHNjaGVkdWxlJHNjaGVkdWwiLCJtaW51dGVseSIsImhvdXJseSIsImRhaWx5Iiwid2Vla2x5Iiwic2NoZWR1bGVfdHlwZSIsImZvcm1hdE5leHRSdW4iLCJuZXh0X3J1bl9hdCIsIkRhdGUiLCJ0b0xvY2FsZVN0cmluZyIsImNoaWxkcmVuIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwiZGVzYyIsImZyZXEiLCJmb3JtRGF0YSIsImlucHV0Iiwic2NoZWR1bGVUeXBlIiwiaG91ciIsIm1pbnV0ZSIsImRheU9mV2VlayIsInRlbXBsYXRlIiwiX3NjaGVkdWxlJGFnZW50X25hbWUiLCJhZ2VudF9lbW9qaSIsImFnZW50X25hbWUiLCJ0eXBlIiwidGl0bGUiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJwb2ludHMiLCJkIiwiX3NlbGVjdGVkQWdlbnQkaWQiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsImNyZWF0ZVBvcnRhbCIsInpJbmRleCIsInN0b3BQcm9wYWdhdGlvbiIsInJlZiIsImNvbG9yIiwic3R5bGUiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJhZ2VudCIsImFnZW50RXh0ZXJuYWxJZCIsImluaXRpYWxGb3JtIiwidW5kZWZpbmVkIiwib25TdWNjZXNzIiwic3RhbmRhbG9uZUNyZWF0ZU9ubHkiLCJhY3Rpb24iLCJjaGF0Iiwib25DbG9zZSIsImhhbmRsZXJzIiwiaGFuZGxlQ29uZmlybUFjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TY2hlZHVsZXNQYWdlL1NjaGVkdWxlc1BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ1VCdXR0b24gfSBmcm9tICdAcHJvamVjdGNvci9idXR0b24vbGliL2NvbXBvbmVudHMvQ1VCdXR0b24nXG5pbXBvcnQgeyBBYm1UcmlnZ2Vyc1NlY3Rpb24gfSBmcm9tICcuLi9BYm1TZWN0aW9uL0FibVRyaWdnZXJzU2VjdGlvbi9BYm1UcmlnZ2Vyc1NlY3Rpb24nXG5pbXBvcnQgdHlwZSB7IFRyaWdnZXJGb3JtU3RhdGUgfSBmcm9tICcuLi9BYm1TZWN0aW9uL0FibVRyaWdnZXJzU2VjdGlvbi9BYm1UcmlnZ2Vyc1NlY3Rpb24uaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQmFja2Ryb3AgfSBmcm9tICcuLi8uLi9hdG9tcy9CYWNrZHJvcCdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgZ2V0TXlTY2hlZHVsZXMsIGRlbGV0ZVNjaGVkdWxlLCB0eXBlIFNjaGVkdWxlV2l0aEFnZW50UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NjaGVkdWxlcydcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbC9EZWxldGVRdWVzdGlvbk1vZGFsJ1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxudHlwZSBBZ2VudE9wdGlvbiA9IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBlbW9qaTogc3RyaW5nIH1cblxuY29uc3QgU0NXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuY29uc3QgU0NIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDIwcHggMjRweCAxNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmNvbnN0IFNDVGl0bGUgPSBzdHlsZWQuaDJgXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxMTE4Mjc7XG4gIG1hcmdpbjogMDtcbmBcblxuY29uc3QgU0NOZXdCdXR0b24gPSBzdHlsZWQuZGl2YFxuICBmbGV4LXNocmluazogMDtcbmBcblxuY29uc3QgU0NDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbmBcblxuY29uc3QgU0NMb2FkaW5nID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMjRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzZiNzI4MDtcbmBcblxuY29uc3QgU0NFbXB0eVN0YXRlID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogNDhweCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5Y2EzYWY7XG5gXG5cbmNvbnN0IFNDTGlzdCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuYFxuXG5jb25zdCBTQ1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBnYXA6IDEycHg7XG5gXG5cbmNvbnN0IFNDUm93TGVmdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmNvbnN0IFNDUm91dGluZU5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzExMTgyNztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gXG5cbmNvbnN0IFNDUm91dGluZU1ldGEgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmBcblxuY29uc3QgU0NBZ2VudEJhZGdlID0gc3R5bGVkLnNwYW5gXG4gIGJhY2tncm91bmQ6ICNmMGY5ZmY7XG4gIGNvbG9yOiByZ2JhKDAsIDY4LCAxMDIsIDEpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAxcHggN3B4O1xuICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICBmb250LXNpemU6IDExcHg7XG5gXG5cbmNvbnN0IFNDU3RhdHVzQmFkZ2UgPSBzdHlsZWQuc3Bhbjx7IHN0YXR1czogc3RyaW5nIH0+YFxuICBwYWRkaW5nOiAxcHggN3B4O1xuICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6ICR7KHsgc3RhdHVzIH0pID0+XG4gICAgc3RhdHVzID09PSAnYWN0aXZlJyA/ICcjZDFmYWU1JyA6IHN0YXR1cyA9PT0gJ3BhdXNlZCcgPyAnI2ZlZjNjNycgOiAnI2YzZjRmNid9O1xuICBjb2xvcjogJHsoeyBzdGF0dXMgfSkgPT5cbiAgICBzdGF0dXMgPT09ICdhY3RpdmUnID8gJyMwNjVmNDYnIDogc3RhdHVzID09PSAncGF1c2VkJyA/ICcjOTI0MDBlJyA6ICcjNmI3MjgwJ307XG5gXG5cbmNvbnN0IFNDTW9kYWxCb3ggPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB3aWR0aDogNzIwcHg7XG4gIG1heC13aWR0aDogOTR2dztcbiAgbWF4LWhlaWdodDogOTJ2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuY29uc3QgU0NNb2RhbEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTZweCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmNvbnN0IFNDTW9kYWxUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMTExODI3O1xuYFxuXG5jb25zdCBTQ01vZGFsQ2xvc2VCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogIzljYTNhZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDA7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICB9XG5gXG5cbmNvbnN0IFNDTW9kYWxCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG5gXG5cbmNvbnN0IFNDTW9kYWxGb290ZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuY29uc3QgU0NNb2RhbFNhdmVCdXR0b24gPSBzdHlsZWQuZGl2YFxuICBmbGV4LXNocmluazogMDtcbmBcblxuY29uc3QgU0NBZ2VudFNlbGVjdG9yQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWluLXdpZHRoOiAyNDBweDtcbiAgcGFkZGluZzogMjBweCAyNHB4IDE2cHg7XG5gXG5cbmNvbnN0IFNDQWdlbnRTZWxlY3RvclRyaWdnZXIgPSBzdHlsZWQuYnV0dG9uPHsgb3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IG9wZW4gfSkgPT4gKG9wZW4gPyAncmdiYSgwLDY4LDEwMiwxKScgOiAnI2QxZDVkYicpfTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICMxMTE4Mjc7XG5gXG5cbmNvbnN0IFNDQWdlbnRTZWxlY3RvckxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICM2YjcyODA7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuYFxuXG5jb25zdCBTQ0FnZW50U2VsZWN0b3JMaXN0ID0gc3R5bGVkLnVsYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlIC0gOHB4KTtcbiAgbGVmdDogMjRweDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNHB4IDA7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB6LWluZGV4OiAxMDA7XG5gXG5cbmNvbnN0IFNDQWdlbnRTZWxlY3Rvck9wdGlvbiA9IHN0eWxlZC5saTx7IGlzU2VsZWN0ZWQ6IGJvb2xlYW4gfT5gXG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZCB9KSA9PiAoaXNTZWxlY3RlZCA/ICdyZ2JhKDAsNjgsMTAyLDEpJyA6ICcjMTExODI3Jyl9O1xuICBmb250LXdlaWdodDogJHsoeyBpc1NlbGVjdGVkIH0pID0+IChpc1NlbGVjdGVkID8gNjAwIDogNDAwKX07XG4gIGJhY2tncm91bmQ6ICR7KHsgaXNTZWxlY3RlZCB9KSA9PiAoaXNTZWxlY3RlZCA/ICcjZjBmOWZmJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgfVxuYFxuXG5jb25zdCBTQ0RlbGV0ZUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA0cHg7XG4gIGNvbG9yOiAjOWNhM2FmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZWY0NDQ0O1xuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gIH1cbmBcblxuY29uc3QgU0NSb3dSaWdodCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuY29uc3QgU0NFbXB0eVRlbXBsYXRlcyA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDMycHggMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuYFxuXG5jb25zdCBTQ0VtcHR5VGVtcGxhdGVzSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmNvbnN0IFNDRW1wdHlUZW1wbGF0ZXNUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiByZ2JhKDEzNSwgNjQsIDE5MSwgMSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG5gXG5cbmNvbnN0IFNDRW1wdHlUZW1wbGF0ZXNTdWJ0aXRsZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNmI3MjgwO1xuYFxuXG5jb25zdCBTQ1RlbXBsYXRlc0xpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbmBcblxuY29uc3QgU0NUZW1wbGF0ZUNhcmQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6IDEycHggMTRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXM7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmYWY1ZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzNSwgNjQsIDE5MSwgMC4zKTtcbiAgfVxuYFxuXG5jb25zdCBTQ1RlbXBsYXRlRW1vamkgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuY29uc3QgU0NUZW1wbGF0ZUluZm8gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDJweDtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5jb25zdCBTQ1RlbXBsYXRlTmFtZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMTExODI3O1xuYFxuXG5jb25zdCBTQ1RlbXBsYXRlRGVzYyA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG5jb25zdCBTQ1RlbXBsYXRlRnJlcSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiByZ2JhKDEzNSwgNjQsIDE5MSwgMC44KTtcbiAgYmFja2dyb3VuZDogcmdiYSgxMzUsIDY0LCAxOTEsIDAuMDcpO1xuICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICBwYWRkaW5nOiAycHggOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNjaGVkdWxlc1BhZ2UgPSAoeyBvbkJhY2s6IF9vbkJhY2sgfTogeyBvbkJhY2s/OiAoKSA9PiB2b2lkIH0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbignYWJtX2FnZW50X3NlY3Rpb24nKVxuICBjb25zdCBbbXlTY2hlZHVsZXMsIHNldE15U2NoZWR1bGVzXSA9IHVzZVN0YXRlPFNjaGVkdWxlV2l0aEFnZW50UmVzcG9uc2VbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nU2NoZWR1bGVzLCBzZXRMb2FkaW5nU2NoZWR1bGVzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd0NyZWF0ZVBhbmVsLCBzZXRTaG93Q3JlYXRlUGFuZWxdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFt0ZW1wbGF0ZUZvcm0sIHNldFRlbXBsYXRlRm9ybV0gPSB1c2VTdGF0ZTxQYXJ0aWFsPFRyaWdnZXJGb3JtU3RhdGU+IHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPEFnZW50T3B0aW9uW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ0FnZW50cywgc2V0TG9hZGluZ0FnZW50c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlbGVjdGVkQWdlbnQsIHNldFNlbGVjdGVkQWdlbnRdID0gdXNlU3RhdGU8QWdlbnRPcHRpb24gfCBudWxsPihudWxsKVxuICBjb25zdCBbZHJvcGRvd25PcGVuLCBzZXREcm9wZG93bk9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzdWJtaXRDb3VudCwgc2V0U3VibWl0Q291bnRdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3NjaGVkdWxlVG9EZWxldGUsIHNldFNjaGVkdWxlVG9EZWxldGVdID0gdXNlU3RhdGU8U2NoZWR1bGVXaXRoQWdlbnRSZXNwb25zZSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGZldGNoU2NoZWR1bGVzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldExvYWRpbmdTY2hlZHVsZXModHJ1ZSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0TXlTY2hlZHVsZXMoeyBsaW1pdDogMTAwLCBvZmZzZXQ6IDAgfSlcbiAgICAgIHNldE15U2NoZWR1bGVzKHJlc3VsdC5kYXRhKVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gc2lsZW50bHkgZmFpbFxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nU2NoZWR1bGVzKGZhbHNlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlU2NoZWR1bGUgPSB1c2VDYWxsYmFjayhhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkZWxldGVTY2hlZHVsZShpZClcbiAgICAgIHNldFNjaGVkdWxlVG9EZWxldGUobnVsbClcbiAgICAgIGZldGNoU2NoZWR1bGVzKClcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHNpbGVudGx5IGZhaWxcbiAgICB9XG4gIH0sIFtmZXRjaFNjaGVkdWxlc10pXG5cbiAgY29uc3QgZmV0Y2hBZ2VudHMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0TG9hZGluZ0FnZW50cyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6ICdhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9MTAwJm9mZnNldD0wJyxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICBjb25zdCBhZ2VudExpc3Q6IEFnZW50T3B0aW9uW10gPSAoZGF0YS5kYXRhIHx8IFtdKS5tYXAoKGE6IGFueSkgPT4gKHtcbiAgICAgICAgaWQ6IGEuaWQsXG4gICAgICAgIG5hbWU6IGEubmFtZSxcbiAgICAgICAgZW1vamk6IGEuZW1vamkgfHwgJycsXG4gICAgICB9KSlcbiAgICAgIHNldEFnZW50cyhhZ2VudExpc3QpXG4gICAgICBpZiAoYWdlbnRMaXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBzZXRTZWxlY3RlZEFnZW50KGFnZW50TGlzdFswXSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHNpbGVudGx5IGZhaWxcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZ0FnZW50cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTY2hlZHVsZXMoKVxuICB9LCBbZmV0Y2hTY2hlZHVsZXNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFzaG93Q3JlYXRlUGFuZWwpIHJldHVyblxuICAgIGZldGNoQWdlbnRzKClcbiAgfSwgW3Nob3dDcmVhdGVQYW5lbCwgZmV0Y2hBZ2VudHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkcm9wZG93bk9wZW4pIHJldHVyblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnMoZS50YXJnZXQgYXMgTm9kZSkpIHNldERyb3Bkb3duT3BlbihmYWxzZSlcbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2spXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrKVxuICB9LCBbZHJvcGRvd25PcGVuXSlcblxuICBjb25zdCBoYW5kbGVDcmVhdGVTdWNjZXNzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFN1Ym1pdENvdW50KDApXG4gICAgc2V0U2hvd0NyZWF0ZVBhbmVsKGZhbHNlKVxuICAgIHNldFNlbGVjdGVkQWdlbnQobnVsbClcbiAgICBzZXRUZW1wbGF0ZUZvcm0obnVsbClcbiAgICBmZXRjaFNjaGVkdWxlcygpXG4gIH0sIFtmZXRjaFNjaGVkdWxlc10pXG5cbiAgY29uc3Qgc2VsZWN0ZWRMYWJlbCA9IHNlbGVjdGVkQWdlbnRcbiAgICA/IGAke3NlbGVjdGVkQWdlbnQuZW1vamkgPyBgJHtzZWxlY3RlZEFnZW50LmVtb2ppfSBgIDogJyd9JHtzZWxlY3RlZEFnZW50Lm5hbWV9YFxuICAgIDogdCgndHJpZ2dlcnNTZWN0aW9uLnNlbGVjdEFnZW50JylcblxuICBjb25zdCBzdGF0dXNMYWJlbCA9IChzdGF0dXM6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIGFjdGl2ZTogdCgndHJpZ2dlcnNTZWN0aW9uLnN0YXR1cy5hY3RpdmUnKSxcbiAgICAgIHBhdXNlZDogdCgndHJpZ2dlcnNTZWN0aW9uLnN0YXR1cy5wYXVzZWQnKSxcbiAgICAgIGRpc2FibGVkOiB0KCd0cmlnZ2Vyc1NlY3Rpb24uc3RhdHVzLmRpc2FibGVkJyksXG4gICAgfVxuICAgIHJldHVybiBtYXBbc3RhdHVzXSA/PyBzdGF0dXNcbiAgfVxuXG4gIGNvbnN0IGZyZXF1ZW5jeUxhYmVsID0gKHNjaGVkdWxlOiBTY2hlZHVsZVdpdGhBZ2VudFJlc3BvbnNlKSA9PiB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgbWludXRlbHk6IHQoJ3RyaWdnZXJzU2VjdGlvbi5mcmVxdWVuY2llcy5taW51dGVseScpLFxuICAgICAgaG91cmx5OiB0KCd0cmlnZ2Vyc1NlY3Rpb24uZnJlcXVlbmNpZXMuaG91cmx5JyksXG4gICAgICBkYWlseTogdCgndHJpZ2dlcnNTZWN0aW9uLmZyZXF1ZW5jaWVzLmRhaWx5JyksXG4gICAgICB3ZWVrbHk6IHQoJ3RyaWdnZXJzU2VjdGlvbi5mcmVxdWVuY2llcy53ZWVrbHknKSxcbiAgICB9XG4gICAgcmV0dXJuIG1hcFtzY2hlZHVsZS5zY2hlZHVsZV90eXBlXSA/PyBzY2hlZHVsZS5zY2hlZHVsZV90eXBlXG4gIH1cblxuICBjb25zdCBmb3JtYXROZXh0UnVuID0gKG5leHRfcnVuX2F0OiBzdHJpbmcgfCBudWxsKSA9PiB7XG4gICAgaWYgKCFuZXh0X3J1bl9hdCkgcmV0dXJuICfigJQnXG4gICAgcmV0dXJuIG5ldyBEYXRlKG5leHRfcnVuX2F0KS50b0xvY2FsZVN0cmluZygpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ1dyYXBwZXI+XG4gICAgICA8U0NIZWFkZXI+XG4gICAgICAgIDxTQ1RpdGxlPnt0KCd0cmlnZ2Vyc1NlY3Rpb24ubXlSb3V0aW5lc1RpdGxlJyl9PC9TQ1RpdGxlPlxuICAgICAgICA8U0NOZXdCdXR0b24+XG4gICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICB2YXJpYW50PVwiY29udGFpbmVkXCJcbiAgICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd0NyZWF0ZVBhbmVsKHByZXYgPT4gIXByZXYpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgICsge3QoJ3RyaWdnZXJzU2VjdGlvbi5uZXdSb3V0aW5lJyl9XG4gICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgPC9TQ05ld0J1dHRvbj5cbiAgICAgIDwvU0NIZWFkZXI+XG5cbiAgICAgIDxTQ0NvbnRlbnQ+XG4gICAgICAgIHtsb2FkaW5nU2NoZWR1bGVzID8gKFxuICAgICAgICAgIDxTQ0xvYWRpbmc+e3QoJ3RyaWdnZXJzU2VjdGlvbi5sb2FkaW5nUm91dGluZXMnKX08L1NDTG9hZGluZz5cbiAgICAgICAgKSA6IG15U2NoZWR1bGVzLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICA8U0NFbXB0eVRlbXBsYXRlcz5cbiAgICAgICAgICAgIDxTQ0VtcHR5VGVtcGxhdGVzSGVhZGVyPlxuICAgICAgICAgICAgICA8U0NFbXB0eVRlbXBsYXRlc1RpdGxlPnt0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy50aXRsZScpfTwvU0NFbXB0eVRlbXBsYXRlc1RpdGxlPlxuICAgICAgICAgICAgICA8U0NFbXB0eVRlbXBsYXRlc1N1YnRpdGxlPnt0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy5zdWJ0aXRsZScpfTwvU0NFbXB0eVRlbXBsYXRlc1N1YnRpdGxlPlxuICAgICAgICAgICAgPC9TQ0VtcHR5VGVtcGxhdGVzSGVhZGVyPlxuICAgICAgICAgICAgPFNDVGVtcGxhdGVzTGlzdD5cbiAgICAgICAgICAgICAgeyhbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZW1vamk6ICfwn5OLJyxcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHQoJ3RyaWdnZXJzU2VjdGlvbi5yb3V0aW5lVGVtcGxhdGVzLnRlbXBsYXRlMS5uYW1lJyksXG4gICAgICAgICAgICAgICAgICBkZXNjOiB0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy50ZW1wbGF0ZTEuZGVzYycpLFxuICAgICAgICAgICAgICAgICAgZnJlcTogdCgndHJpZ2dlcnNTZWN0aW9uLnJvdXRpbmVUZW1wbGF0ZXMudGVtcGxhdGUxLmZyZXEnKSxcbiAgICAgICAgICAgICAgICAgIGZvcm1EYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHQoJ3RyaWdnZXJzU2VjdGlvbi5yb3V0aW5lVGVtcGxhdGVzLnRlbXBsYXRlMS5uYW1lJyksXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy50ZW1wbGF0ZTEuZGVzYycpLFxuICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZVR5cGU6ICdkYWlseScgYXMgY29uc3QsXG4gICAgICAgICAgICAgICAgICAgIGhvdXI6IDksXG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZTogMCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBlbW9qaTogJ/Cfk4onLFxuICAgICAgICAgICAgICAgICAgbmFtZTogdCgndHJpZ2dlcnNTZWN0aW9uLnJvdXRpbmVUZW1wbGF0ZXMudGVtcGxhdGUyLm5hbWUnKSxcbiAgICAgICAgICAgICAgICAgIGRlc2M6IHQoJ3RyaWdnZXJzU2VjdGlvbi5yb3V0aW5lVGVtcGxhdGVzLnRlbXBsYXRlMi5kZXNjJyksXG4gICAgICAgICAgICAgICAgICBmcmVxOiB0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy50ZW1wbGF0ZTIuZnJlcScpLFxuICAgICAgICAgICAgICAgICAgZm9ybURhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdCgndHJpZ2dlcnNTZWN0aW9uLnJvdXRpbmVUZW1wbGF0ZXMudGVtcGxhdGUyLm5hbWUnKSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHQoJ3RyaWdnZXJzU2VjdGlvbi5yb3V0aW5lVGVtcGxhdGVzLnRlbXBsYXRlMi5kZXNjJyksXG4gICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlVHlwZTogJ3dlZWtseScgYXMgY29uc3QsXG4gICAgICAgICAgICAgICAgICAgIGhvdXI6IDksXG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiAwLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGVtb2ppOiAn8J+UlCcsXG4gICAgICAgICAgICAgICAgICBuYW1lOiB0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy50ZW1wbGF0ZTMubmFtZScpLFxuICAgICAgICAgICAgICAgICAgZGVzYzogdCgndHJpZ2dlcnNTZWN0aW9uLnJvdXRpbmVUZW1wbGF0ZXMudGVtcGxhdGUzLmRlc2MnKSxcbiAgICAgICAgICAgICAgICAgIGZyZXE6IHQoJ3RyaWdnZXJzU2VjdGlvbi5yb3V0aW5lVGVtcGxhdGVzLnRlbXBsYXRlMy5mcmVxJyksXG4gICAgICAgICAgICAgICAgICBmb3JtRGF0YToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiB0KCd0cmlnZ2Vyc1NlY3Rpb24ucm91dGluZVRlbXBsYXRlcy50ZW1wbGF0ZTMubmFtZScpLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDogdCgndHJpZ2dlcnNTZWN0aW9uLnJvdXRpbmVUZW1wbGF0ZXMudGVtcGxhdGUzLmRlc2MnKSxcbiAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVUeXBlOiAnd2Vla2x5JyBhcyBjb25zdCxcbiAgICAgICAgICAgICAgICAgICAgaG91cjogMTcsXG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZTogMCxcbiAgICAgICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiA0LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdIGFzIHsgZW1vamk6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBkZXNjOiBzdHJpbmc7IGZyZXE6IHN0cmluZzsgZm9ybURhdGE6IFBhcnRpYWw8VHJpZ2dlckZvcm1TdGF0ZT4gfVtdKS5tYXAodGVtcGxhdGUgPT4gKFxuICAgICAgICAgICAgICAgIDxTQ1RlbXBsYXRlQ2FyZFxuICAgICAgICAgICAgICAgICAga2V5PXt0ZW1wbGF0ZS5uYW1lfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRUZW1wbGF0ZUZvcm0odGVtcGxhdGUuZm9ybURhdGEpXG4gICAgICAgICAgICAgICAgICAgIHNldFNob3dDcmVhdGVQYW5lbCh0cnVlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8U0NUZW1wbGF0ZUVtb2ppPnt0ZW1wbGF0ZS5lbW9qaX08L1NDVGVtcGxhdGVFbW9qaT5cbiAgICAgICAgICAgICAgICAgIDxTQ1RlbXBsYXRlSW5mbz5cbiAgICAgICAgICAgICAgICAgICAgPFNDVGVtcGxhdGVOYW1lPnt0ZW1wbGF0ZS5uYW1lfTwvU0NUZW1wbGF0ZU5hbWU+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1RlbXBsYXRlRGVzYz57dGVtcGxhdGUuZGVzY308L1NDVGVtcGxhdGVEZXNjPlxuICAgICAgICAgICAgICAgICAgPC9TQ1RlbXBsYXRlSW5mbz5cbiAgICAgICAgICAgICAgICAgIDxTQ1RlbXBsYXRlRnJlcT57dGVtcGxhdGUuZnJlcX08L1NDVGVtcGxhdGVGcmVxPlxuICAgICAgICAgICAgICAgIDwvU0NUZW1wbGF0ZUNhcmQ+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9TQ1RlbXBsYXRlc0xpc3Q+XG4gICAgICAgICAgPC9TQ0VtcHR5VGVtcGxhdGVzPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxTQ0xpc3Q+XG4gICAgICAgICAgICB7bXlTY2hlZHVsZXMubWFwKHNjaGVkdWxlID0+IChcbiAgICAgICAgICAgICAgPFNDUm93IGtleT17c2NoZWR1bGUuaWR9PlxuICAgICAgICAgICAgICAgIDxTQ1Jvd0xlZnQ+XG4gICAgICAgICAgICAgICAgICA8U0NSb3V0aW5lTmFtZT5cbiAgICAgICAgICAgICAgICAgICAge3NjaGVkdWxlLm5hbWUgfHwgdCgndHJpZ2dlcnNTZWN0aW9uLnVudGl0bGVkUm91dGluZScpfVxuICAgICAgICAgICAgICAgICAgPC9TQ1JvdXRpbmVOYW1lPlxuICAgICAgICAgICAgICAgICAgPFNDUm91dGluZU1ldGE+XG4gICAgICAgICAgICAgICAgICAgIHsoc2NoZWR1bGUuYWdlbnRfZW1vamkgfHwgc2NoZWR1bGUuYWdlbnRfbmFtZSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgIDxTQ0FnZW50QmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICB7c2NoZWR1bGUuYWdlbnRfZW1vamkgPyBgJHtzY2hlZHVsZS5hZ2VudF9lbW9qaX0gYCA6ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAge3NjaGVkdWxlLmFnZW50X25hbWUgPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0FnZW50QmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntmcmVxdWVuY3lMYWJlbChzY2hlZHVsZSl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57dCgndHJpZ2dlcnNTZWN0aW9uLm5leHRSdW4nKX06IHtmb3JtYXROZXh0UnVuKHNjaGVkdWxlLm5leHRfcnVuX2F0KX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L1NDUm91dGluZU1ldGE+XG4gICAgICAgICAgICAgICAgPC9TQ1Jvd0xlZnQ+XG4gICAgICAgICAgICAgICAgPFNDUm93UmlnaHQ+XG4gICAgICAgICAgICAgICAgICA8U0NTdGF0dXNCYWRnZSBzdGF0dXM9e3NjaGVkdWxlLnN0YXR1c30+XG4gICAgICAgICAgICAgICAgICAgIHtzdGF0dXNMYWJlbChzY2hlZHVsZS5zdGF0dXMpfVxuICAgICAgICAgICAgICAgICAgPC9TQ1N0YXR1c0JhZGdlPlxuICAgICAgICAgICAgICAgICAgPFNDRGVsZXRlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT17dCgndHJpZ2dlcnNTZWN0aW9uLmRlbGV0ZVJvdXRpbmUnKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2NoZWR1bGVUb0RlbGV0ZShzY2hlZHVsZSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlV2lkdGg9XCIyXCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCIzIDYgNSA2IDIxIDZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTkgNmwtMSAxNGEyIDIgMCAwIDEtMiAySDhhMiAyIDAgMCAxLTItMkw1IDZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMTF2NlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNCAxMXY2XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkgNlY0YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjJcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDwvU0NEZWxldGVCdXR0b24+XG4gICAgICAgICAgICAgICAgPC9TQ1Jvd1JpZ2h0PlxuICAgICAgICAgICAgICA8L1NDUm93PlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9TQ0xpc3Q+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ29udGVudD5cblxuICAgICAge3Nob3dDcmVhdGVQYW5lbCAmJiAoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtcm9vdC1hY3Rpb25zJylcbiAgICAgICAgaWYgKCFjb250YWluZXIpIHJldHVybiBudWxsXG4gICAgICAgIHJldHVybiBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPEJhY2tkcm9wIG9uQ2xpY2s9eygpID0+IHsgc2V0U2hvd0NyZWF0ZVBhbmVsKGZhbHNlKTsgc2V0VGVtcGxhdGVGb3JtKG51bGwpIH19IHpJbmRleD17MTExMTF9PlxuICAgICAgICAgICAgPFNDTW9kYWxCb3ggb25DbGljaz17ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfT5cbiAgICAgICAgICAgICAgPFNDTW9kYWxIZWFkZXI+XG4gICAgICAgICAgICAgICAgPFNDTW9kYWxUaXRsZT57dCgndHJpZ2dlcnNTZWN0aW9uLm5ld1JvdXRpbmUnKX08L1NDTW9kYWxUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NNb2RhbENsb3NlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB7IHNldFNob3dDcmVhdGVQYW5lbChmYWxzZSk7IHNldFRlbXBsYXRlRm9ybShudWxsKSB9fT7DlzwvU0NNb2RhbENsb3NlQnV0dG9uPlxuICAgICAgICAgICAgICA8L1NDTW9kYWxIZWFkZXI+XG4gICAgICAgICAgICAgIDxTQ01vZGFsQm9keT5cbiAgICAgICAgICAgICAgICA8U0NBZ2VudFNlbGVjdG9yQ29udGFpbmVyIHJlZj17ZHJvcGRvd25SZWYgYXMgYW55fT5cbiAgICAgICAgICAgICAgICAgIDxTQ0FnZW50U2VsZWN0b3JUcmlnZ2VyIG9wZW49e2Ryb3Bkb3duT3Blbn0gb25DbGljaz17KCkgPT4gc2V0RHJvcGRvd25PcGVuKHByZXYgPT4gIXByZXYpfSB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ0FnZW50U2VsZWN0b3JMYWJlbD57dCgndHJpZ2dlcnNTZWN0aW9uLmFnZW50Jyl9OiA8L1NDQWdlbnRTZWxlY3RvckxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIHtsb2FkaW5nQWdlbnRzID8gdCgndHJpZ2dlcnNTZWN0aW9uLmxvYWRpbmdBZ2VudHMnKSA6IHNlbGVjdGVkTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPENoZXZyb25Eb3duXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17ZHJvcGRvd25PcGVuID8gJ3JnYmEoMCw2OCwxMDIsMSknIDogJ3JnYmEoMTUzLDE1MywxNTMsMSknfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0FnZW50U2VsZWN0b3JUcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAge2Ryb3Bkb3duT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ0FnZW50U2VsZWN0b3JMaXN0PlxuICAgICAgICAgICAgICAgICAgICAgIHtsb2FkaW5nQWdlbnRzID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHN0eWxlPXt7IHBhZGRpbmc6ICc4cHggMTJweCcsIGZvbnRTaXplOiAxMywgY29sb3I6ICcjNmI3MjgwJyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3QoJ3RyaWdnZXJzU2VjdGlvbi5sb2FkaW5nQWdlbnRzJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2VudHMubWFwKGFnZW50ID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDQWdlbnRTZWxlY3Rvck9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkQWdlbnQoYWdlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXREcm9wZG93bk9wZW4oZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5lbW9qaSA/IGAke2FnZW50LmVtb2ppfSBgIDogJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2FnZW50Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NBZ2VudFNlbGVjdG9yT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L1NDQWdlbnRTZWxlY3Rvckxpc3Q+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvU0NBZ2VudFNlbGVjdG9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxBYm1UcmlnZ2Vyc1NlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGFnZW50RXh0ZXJuYWxJZD17c2VsZWN0ZWRBZ2VudD8uaWQgPz8gbnVsbH1cbiAgICAgICAgICAgICAgICAgIGluaXRpYWxGb3JtPXt0ZW1wbGF0ZUZvcm0gPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgc3VibWl0Q291bnQ9e3N1Ym1pdENvdW50fVxuICAgICAgICAgICAgICAgICAgb25TdWNjZXNzPXtoYW5kbGVDcmVhdGVTdWNjZXNzfVxuICAgICAgICAgICAgICAgICAgc3RhbmRhbG9uZUNyZWF0ZU9ubHlcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDTW9kYWxCb2R5PlxuICAgICAgICAgICAgICA8U0NNb2RhbEZvb3Rlcj5cbiAgICAgICAgICAgICAgICA8U0NNb2RhbFNhdmVCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNvbnRhaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTdWJtaXRDb3VudChwcmV2ID0+IHByZXYgKyAxKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3RyaWdnZXJzU2VjdGlvbi5zYXZlJyl9XG4gICAgICAgICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvU0NNb2RhbFNhdmVCdXR0b24+XG4gICAgICAgICAgICAgIDwvU0NNb2RhbEZvb3Rlcj5cbiAgICAgICAgICAgIDwvU0NNb2RhbEJveD5cbiAgICAgICAgICA8L0JhY2tkcm9wPixcbiAgICAgICAgICBjb250YWluZXJcbiAgICAgICAgKVxuICAgICAgfSkoKX1cblxuICAgICAge3NjaGVkdWxlVG9EZWxldGUgJiYgKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIGFjdGlvbj1cInJvdXRpbmVcIlxuICAgICAgICAgIGNoYXQ9e3sgdGl0bGU6IHNjaGVkdWxlVG9EZWxldGUubmFtZSB8fCB0KCd0cmlnZ2Vyc1NlY3Rpb24udW50aXRsZWRSb3V0aW5lJykgfX1cbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRTY2hlZHVsZVRvRGVsZXRlKG51bGwpfVxuICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICBoYW5kbGVDb25maXJtQWN0aW9uOiAoKSA9PiBoYW5kbGVEZWxldGVTY2hlZHVsZShzY2hlZHVsZVRvRGVsZXRlLmlkKSxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L1NDV3JhcHBlcj5cbiAgKVxufVxuXG4iXSwibWFwcGluZ3MiOiI7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
|