@projectcor/maia-components 2.11.65-7 → 2.11.65-9
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 +16 -10
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +14 -11
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +4 -2
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +160 -14
- package/lib/components/molecules/ChatAIHome/styles.js +39 -18
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +17 -3
- package/lib/hooks/index.js +2 -1
- package/lib/hooks/useRecentContexts.js +84 -0
- package/lib/lang/br/index.js +9 -1
- package/lib/lang/en/index.js +9 -1
- package/lib/lang/es/index.js +9 -1
- package/lib/lang/fr/index.js +9 -1
- package/lib/services/maia/RecentContexts/getRecentContexts.js +51 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/index.js +4 -2
- package/lib/services/utils/mapChatMessages.js +18 -8
- package/lib/utils/renderContextMentions.js +7 -3
- package/package.json +1 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { fetchMaia } from '../client';
|
|
4
|
+
var buildPath = function buildPath(opts) {
|
|
5
|
+
var params = new URLSearchParams();
|
|
6
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.limit) != null) {
|
|
7
|
+
params.set('limit', String(opts.limit));
|
|
8
|
+
}
|
|
9
|
+
var qs = params.toString();
|
|
10
|
+
return qs ? "recent-contexts?".concat(qs) : 'recent-contexts';
|
|
11
|
+
};
|
|
12
|
+
export var getRecentContexts = /*#__PURE__*/function () {
|
|
13
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(opts) {
|
|
14
|
+
var _json$data;
|
|
15
|
+
var response, json, items;
|
|
16
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
17
|
+
while (1) switch (_context.prev = _context.next) {
|
|
18
|
+
case 0:
|
|
19
|
+
_context.next = 1;
|
|
20
|
+
return fetchMaia({
|
|
21
|
+
path: buildPath(opts),
|
|
22
|
+
method: 'GET'
|
|
23
|
+
});
|
|
24
|
+
case 1:
|
|
25
|
+
response = _context.sent;
|
|
26
|
+
if (response.ok) {
|
|
27
|
+
_context.next = 2;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
throw new Error('Failed fetching recent contexts');
|
|
31
|
+
case 2:
|
|
32
|
+
_context.next = 3;
|
|
33
|
+
return response.json();
|
|
34
|
+
case 3:
|
|
35
|
+
json = _context.sent;
|
|
36
|
+
items = Array.isArray(json) ? json : (_json$data = json === null || json === void 0 ? void 0 : json.data) !== null && _json$data !== void 0 ? _json$data : [];
|
|
37
|
+
return _context.abrupt("return", items.filter(function (item) {
|
|
38
|
+
var context = item;
|
|
39
|
+
return (context === null || context === void 0 ? void 0 : context.id) != null && context.name != null && ['client', 'project', 'task'].includes(String(context.type));
|
|
40
|
+
}));
|
|
41
|
+
case 4:
|
|
42
|
+
case "end":
|
|
43
|
+
return _context.stop();
|
|
44
|
+
}
|
|
45
|
+
}, _callee);
|
|
46
|
+
}));
|
|
47
|
+
return function getRecentContexts(_x) {
|
|
48
|
+
return _ref.apply(this, arguments);
|
|
49
|
+
};
|
|
50
|
+
}();
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJidWlsZFBhdGgiLCJvcHRzIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibGltaXQiLCJzZXQiLCJTdHJpbmciLCJxcyIsInRvU3RyaW5nIiwiY29uY2F0IiwiZ2V0UmVjZW50Q29udGV4dHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfanNvbiRkYXRhIiwicmVzcG9uc2UiLCJqc29uIiwiaXRlbXMiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJzZW50Iiwib2siLCJFcnJvciIsIkFycmF5IiwiaXNBcnJheSIsImRhdGEiLCJhYnJ1cHQiLCJmaWx0ZXIiLCJpdGVtIiwiY29udGV4dCIsImlkIiwibmFtZSIsImluY2x1ZGVzIiwidHlwZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvUmVjZW50Q29udGV4dHMvZ2V0UmVjZW50Q29udGV4dHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuXG5leHBvcnQgdHlwZSBSZWNlbnRDb250ZXh0VHlwZSA9ICdjbGllbnQnIHwgJ3Byb2plY3QnIHwgJ3Rhc2snXG5cbmV4cG9ydCB0eXBlIFJlY2VudENvbnRleHRQYXJlbnRzID0ge1xuICBjbGllbnRfaWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gIGNsaWVudF9uYW1lPzogc3RyaW5nIHwgbnVsbFxuICBwcm9qZWN0X2lkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICBwcm9qZWN0X25hbWU/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIFJlY2VudENvbnRleHRJdGVtID0ge1xuICB0eXBlOiBSZWNlbnRDb250ZXh0VHlwZVxuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIG5hbWU6IHN0cmluZ1xuICBwYXJlbnRzPzogUmVjZW50Q29udGV4dFBhcmVudHMgfCBudWxsXG4gIGxhc3RfaW50ZXJhY3Rpb25fZGF0ZT86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgR2V0UmVjZW50Q29udGV4dHNPcHRpb25zID0ge1xuICBsaW1pdD86IG51bWJlclxufVxuXG5jb25zdCBidWlsZFBhdGggPSAob3B0cz86IEdldFJlY2VudENvbnRleHRzT3B0aW9ucykgPT4ge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgaWYgKG9wdHM/LmxpbWl0ICE9IG51bGwpIHtcbiAgICBwYXJhbXMuc2V0KCdsaW1pdCcsIFN0cmluZyhvcHRzLmxpbWl0KSlcbiAgfVxuICBjb25zdCBxcyA9IHBhcmFtcy50b1N0cmluZygpXG4gIHJldHVybiBxcyA/IGByZWNlbnQtY29udGV4dHM/JHtxc31gIDogJ3JlY2VudC1jb250ZXh0cydcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlY2VudENvbnRleHRzID0gYXN5bmMgKG9wdHM/OiBHZXRSZWNlbnRDb250ZXh0c09wdGlvbnMpOiBQcm9taXNlPFJlY2VudENvbnRleHRJdGVtW10+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGJ1aWxkUGF0aChvcHRzKSxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICB9KVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCBmZXRjaGluZyByZWNlbnQgY29udGV4dHMnKVxuICB9XG5cbiAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkoanNvbikgPyBqc29uIDogKGpzb24/LmRhdGEgPz8gW10pXG4gIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW06IHVua25vd24pOiBpdGVtIGlzIFJlY2VudENvbnRleHRJdGVtID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gaXRlbSBhcyBQYXJ0aWFsPFJlY2VudENvbnRleHRJdGVtPlxuICAgIHJldHVybiBjb250ZXh0Py5pZCAhPSBudWxsICYmIGNvbnRleHQubmFtZSAhPSBudWxsICYmIFsnY2xpZW50JywgJ3Byb2plY3QnLCAndGFzayddLmluY2x1ZGVzKFN0cmluZyhjb250ZXh0LnR5cGUpKVxuICB9KVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBdUJyQyxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUMsSUFBK0IsRUFBSztFQUNyRCxJQUFNQyxNQUFNLEdBQUcsSUFBSUMsZUFBZSxDQUFDLENBQUM7RUFDcEMsSUFBSSxDQUFBRixJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRUcsS0FBSyxLQUFJLElBQUksRUFBRTtJQUN2QkYsTUFBTSxDQUFDRyxHQUFHLENBQUMsT0FBTyxFQUFFQyxNQUFNLENBQUNMLElBQUksQ0FBQ0csS0FBSyxDQUFDLENBQUM7RUFDekM7RUFDQSxJQUFNRyxFQUFFLEdBQUdMLE1BQU0sQ0FBQ00sUUFBUSxDQUFDLENBQUM7RUFDNUIsT0FBT0QsRUFBRSxzQkFBQUUsTUFBQSxDQUFzQkYsRUFBRSxJQUFLLGlCQUFpQjtBQUN6RCxDQUFDO0FBRUQsT0FBTyxJQUFNRyxpQkFBaUI7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFPZCxJQUErQjtJQUFBLElBQUFlLFVBQUE7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUEsRUFBQUMsS0FBQTtJQUFBLE9BQUFOLG1CQUFBLENBQUFPLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQUYsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDOUN4QixTQUFTLENBQUM7WUFDL0J5QixJQUFJLEVBQUV4QixTQUFTLENBQUNDLElBQUksQ0FBQztZQUNyQndCLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSElSLFFBQVEsR0FBQUksUUFBQSxDQUFBSyxJQUFBO1VBQUEsSUFLVFQsUUFBUSxDQUFDVSxFQUFFO1lBQUFOLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlLLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztRQUFBO1VBQUFQLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BR2pDTixRQUFRLENBQUNDLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUJBLElBQUksR0FBQUcsUUFBQSxDQUFBSyxJQUFBO1VBQ0pQLEtBQUssR0FBR1UsS0FBSyxDQUFDQyxPQUFPLENBQUNaLElBQUksQ0FBQyxHQUFHQSxJQUFJLElBQUFGLFVBQUEsR0FBSUUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVhLElBQUksY0FBQWYsVUFBQSxjQUFBQSxVQUFBLEdBQUksRUFBRztVQUFBLE9BQUFLLFFBQUEsQ0FBQVcsTUFBQSxXQUN0RGIsS0FBSyxDQUFDYyxNQUFNLENBQUMsVUFBQ0MsSUFBYSxFQUFnQztZQUNoRSxJQUFNQyxPQUFPLEdBQUdELElBQWtDO1lBQ2xELE9BQU8sQ0FBQUMsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVDLEVBQUUsS0FBSSxJQUFJLElBQUlELE9BQU8sQ0FBQ0UsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUNDLFFBQVEsQ0FBQ2hDLE1BQU0sQ0FBQzZCLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDLENBQUM7VUFDcEgsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFsQixRQUFBLENBQUFtQixJQUFBO01BQUE7SUFBQSxHQUFBekIsT0FBQTtFQUFBLENBQ0g7RUFBQSxnQkFoQllMLGlCQUFpQkEsQ0FBQStCLEVBQUE7SUFBQSxPQUFBOUIsSUFBQSxDQUFBK0IsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWdCN0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { getRecentContexts } from './getRecentContexts';
|
|
2
|
+
export { getRecentContexts } from './getRecentContexts';
|
|
3
|
+
export default {
|
|
4
|
+
getRecentContexts: getRecentContexts
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRSZWNlbnRDb250ZXh0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1JlY2VudENvbnRleHRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFJlY2VudENvbnRleHRzIH0gZnJvbSAnLi9nZXRSZWNlbnRDb250ZXh0cydcblxuZXhwb3J0IHsgZ2V0UmVjZW50Q29udGV4dHMsIHR5cGUgUmVjZW50Q29udGV4dEl0ZW0sIHR5cGUgUmVjZW50Q29udGV4dFR5cGUgfSBmcm9tICcuL2dldFJlY2VudENvbnRleHRzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldFJlY2VudENvbnRleHRzLFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxxQkFBcUI7QUFFdkQsU0FBU0EsaUJBQWlCLFFBQXdELHFCQUFxQjtBQUV2RyxlQUFlO0VBQ2JBLGlCQUFpQixFQUFqQkE7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -4,12 +4,14 @@ import Faqs from './Faqs';
|
|
|
4
4
|
import Actions from './Actions';
|
|
5
5
|
import RecentProjects from './RecentProjects';
|
|
6
6
|
import RecentClients from './RecentClients';
|
|
7
|
+
import RecentContexts from './RecentContexts';
|
|
7
8
|
export default {
|
|
8
9
|
Chats: Chats,
|
|
9
10
|
Orchestrator: Orchestrator,
|
|
10
11
|
Faqs: Faqs,
|
|
11
12
|
Actions: Actions,
|
|
12
13
|
RecentProjects: RecentProjects,
|
|
13
|
-
RecentClients: RecentClients
|
|
14
|
+
RecentClients: RecentClients,
|
|
15
|
+
RecentContexts: RecentContexts
|
|
14
16
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0cyIsIk9yY2hlc3RyYXRvciIsIkZhcXMiLCJBY3Rpb25zIiwiUmVjZW50UHJvamVjdHMiLCJSZWNlbnRDbGllbnRzIiwiUmVjZW50Q29udGV4dHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ2hhdHMgZnJvbSAnLi9DaGF0cydcbmltcG9ydCBPcmNoZXN0cmF0b3IgZnJvbSAnLi9PcmNoZXN0cmF0b3InXG5pbXBvcnQgRmFxcyBmcm9tICcuL0ZhcXMnXG5pbXBvcnQgQWN0aW9ucyBmcm9tICcuL0FjdGlvbnMnXG5pbXBvcnQgUmVjZW50UHJvamVjdHMgZnJvbSAnLi9SZWNlbnRQcm9qZWN0cydcbmltcG9ydCBSZWNlbnRDbGllbnRzIGZyb20gJy4vUmVjZW50Q2xpZW50cydcbmltcG9ydCBSZWNlbnRDb250ZXh0cyBmcm9tICcuL1JlY2VudENvbnRleHRzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIENoYXRzLFxuICBPcmNoZXN0cmF0b3IsXG4gIEZhcXMsXG4gIEFjdGlvbnMsXG4gIFJlY2VudFByb2plY3RzLFxuICBSZWNlbnRDbGllbnRzLFxuICBSZWNlbnRDb250ZXh0cyxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxNQUFNLFNBQVM7QUFDM0IsT0FBT0MsWUFBWSxNQUFNLGdCQUFnQjtBQUN6QyxPQUFPQyxJQUFJLE1BQU0sUUFBUTtBQUN6QixPQUFPQyxPQUFPLE1BQU0sV0FBVztBQUMvQixPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLGFBQWEsTUFBTSxpQkFBaUI7QUFDM0MsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUU3QyxlQUFlO0VBQ2JOLEtBQUssRUFBTEEsS0FBSztFQUNMQyxZQUFZLEVBQVpBLFlBQVk7RUFDWkMsSUFBSSxFQUFKQSxJQUFJO0VBQ0pDLE9BQU8sRUFBUEEsT0FBTztFQUNQQyxjQUFjLEVBQWRBLGNBQWM7RUFDZEMsYUFBYSxFQUFiQSxhQUFhO0VBQ2JDLGNBQWMsRUFBZEE7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -65,7 +65,7 @@ export var mapChatMessages = function mapChatMessages(items, currentUser, cancel
|
|
|
65
65
|
|
|
66
66
|
// ── HITL items: emit once per group (on the first item of the group) ──
|
|
67
67
|
if (isHitlItem && otid) {
|
|
68
|
-
var _firstItem$project_me3, _firstItem$project_me4, _firstItem$client_met3, _firstItem$client_met4, _group$items$
|
|
68
|
+
var _group$items$find, _firstItem$project_me3, _firstItem$project_me4, _firstItem$client_met3, _firstItem$client_met4, _group$items$find2;
|
|
69
69
|
if (emittedGroups.has(otid)) return; // Already emitted this group
|
|
70
70
|
emittedGroups.add(otid);
|
|
71
71
|
var group = hitlGroups.get(otid);
|
|
@@ -126,6 +126,14 @@ export var mapChatMessages = function mapChatMessages(items, currentUser, cancel
|
|
|
126
126
|
})) {
|
|
127
127
|
groupStatus = 'rejected';
|
|
128
128
|
}
|
|
129
|
+
var persistedApprovalStatus = (_group$items$find = group.items.find(function (gi) {
|
|
130
|
+
var _gi$pending_approval2;
|
|
131
|
+
return (_gi$pending_approval2 = gi.pending_approval) === null || _gi$pending_approval2 === void 0 ? void 0 : _gi$pending_approval2.approval_status;
|
|
132
|
+
})) === null || _group$items$find === void 0 || (_group$items$find = _group$items$find.pending_approval) === null || _group$items$find === void 0 ? void 0 : _group$items$find.approval_status;
|
|
133
|
+
var wasAutoApproved = group.items.some(function (gi) {
|
|
134
|
+
var _gi$pending_approval3;
|
|
135
|
+
return ((_gi$pending_approval3 = gi.pending_approval) === null || _gi$pending_approval3 === void 0 ? void 0 : _gi$pending_approval3.auto_approved) === true;
|
|
136
|
+
});
|
|
129
137
|
|
|
130
138
|
// Texto que el agente envió junto al pedido de aprobación. Cuando está
|
|
131
139
|
// pendiente el backend manda un placeholder `[Pendiente...]` que no debe mostrarse.
|
|
@@ -156,13 +164,15 @@ export var mapChatMessages = function mapChatMessages(items, currentUser, cancel
|
|
|
156
164
|
session_id: firstItem.pending_approval.session_id || '',
|
|
157
165
|
metadata: firstItem.pending_approval.metadata || {},
|
|
158
166
|
manual_approval_detected: group.items.some(function (gi) {
|
|
159
|
-
var _gi$
|
|
160
|
-
return (_gi$
|
|
167
|
+
var _gi$pending_approval4;
|
|
168
|
+
return (_gi$pending_approval4 = gi.pending_approval) === null || _gi$pending_approval4 === void 0 ? void 0 : _gi$pending_approval4.manual_approval_detected;
|
|
161
169
|
}),
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
170
|
+
auto_approved: wasAutoApproved,
|
|
171
|
+
approval_status: persistedApprovalStatus,
|
|
172
|
+
warning_message: ((_group$items$find2 = group.items.find(function (gi) {
|
|
173
|
+
var _gi$pending_approval5;
|
|
174
|
+
return (_gi$pending_approval5 = gi.pending_approval) === null || _gi$pending_approval5 === void 0 ? void 0 : _gi$pending_approval5.warning_message;
|
|
175
|
+
})) === null || _group$items$find2 === void 0 || (_group$items$find2 = _group$items$find2.pending_approval) === null || _group$items$find2 === void 0 ? void 0 : _group$items$find2.warning_message) || undefined
|
|
166
176
|
},
|
|
167
177
|
approvalStatus: groupStatus
|
|
168
178
|
});
|
|
@@ -280,4 +290,4 @@ export var mapChatMessages = function mapChatMessages(items, currentUser, cancel
|
|
|
280
290
|
});
|
|
281
291
|
return mappedItems;
|
|
282
292
|
};
|
|
283
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb3JMb2dvIiwianN4IiwiX2pzeCIsIkFTU0lTVEFOVF9VU0VSIiwiaWQiLCJuYW1lIiwiYXZhdGFySWNvbiIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInBvc2l0aW9uIiwidG9wIiwiY2hpbGRyZW4iLCJnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUiLCJhdHRhY2htZW50cyIsInJvbGUiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiYXR0YWNobWVudFJvbGUiLCJyZXNvbHZlQXBwcm92YWxTdGF0dXMiLCJzdGF0dXMiLCJtYXBDaGF0TWVzc2FnZXMiLCJpdGVtcyIsImN1cnJlbnRVc2VyIiwiY2FuY2VsbGVkVGV4dCIsImhpdGxHcm91cHMiLCJNYXAiLCJmb3JFYWNoIiwiaXRlbSIsImluZGV4IiwicGVuZGluZ19hcHByb3ZhbCIsIm90aWQiLCJvcmlnaW5hbF90aHJlYWRfaWQiLCJ0aHJlYWRfaWQiLCJtZXNzYWdlX2lkIiwiZXhpc3RpbmciLCJnZXQiLCJwdXNoIiwic2V0IiwiZmlyc3RJbmRleCIsImVtaXR0ZWRHcm91cHMiLCJTZXQiLCJtYXBwZWRJdGVtcyIsIl9pdGVtJHBlbmRpbmdfYXBwcm92YSIsIl9pdGVtJHByb2plY3RfbWV0YWRhdCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDIiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEyIiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0MyIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDQiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEzIiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNCIsImlzSGl0bEl0ZW0iLCJfZmlyc3RJdGVtJHByb2plY3RfbWUzIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lNCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDMiLCJfZmlyc3RJdGVtJGNsaWVudF9tZXQ0IiwiX2dyb3VwJGl0ZW1zJGZpbmQiLCJoYXMiLCJhZGQiLCJncm91cCIsImZpcnN0SXRlbSIsImlzTWFudWFsQXBwcm92YWwiLCJzb21lIiwiZ2kiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbCIsIm1hbnVhbF9hcHByb3ZhbF9kZXRlY3RlZCIsInF1ZXN0aW9uIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lMiIsIl9maXJzdEl0ZW0kY2xpZW50X21ldCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDIiLCJfb2JqZWN0U3ByZWFkIiwiY29uY2F0IiwibWVtb3J5X3Nlc3Npb25faWQiLCJhZ2VudElkIiwiYWdlbnRfaWQiLCJtZXNzYWdlIiwiZGF0ZSIsIkRhdGUiLCJ0aW1lc3RhbXAiLCJ1c2VyIiwicHJvamVjdElkIiwicHJvamVjdF9tZXRhZGF0YSIsInByb2plY3ROYW1lIiwiY2xpZW50SWQiLCJjbGllbnRfbWV0YWRhdGEiLCJjbGllbnROYW1lIiwic291cmNlcyIsInByb2plY3RNZXRhZGF0YSIsImlzX2RlbGV0ZWQiLCJjb250ZXh0X21lc3NhZ2UiLCJjb250ZXh0TWVzc2FnZSIsInBlbmRpbmdBY3Rpb25zIiwibWFwIiwidG9vbF9jYWxsX2lkIiwidG9vbF9uYW1lIiwidG9vbF9hcmdzIiwic3RhdHVzZXMiLCJncm91cFN0YXR1cyIsInMiLCJhcHByb3ZhbE1lc3NhZ2UiLCJhbnN3ZXIiLCJzdGFydHNXaXRoIiwiYW5zd2VyTWVzc2FnZSIsIndhc0hlbHBmdWwiLCJ3YXNfaGVscGZ1bCIsImFwcHJvdmFsIiwidHlwZSIsInBlbmRpbmdfYWN0aW9ucyIsInRvdGFsX2FjdGlvbnMiLCJsZW5ndGgiLCJzZXNzaW9uX2lkIiwibWV0YWRhdGEiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbDIiLCJ3YXJuaW5nX21lc3NhZ2UiLCJmaW5kIiwiX2dpJHBlbmRpbmdfYXBwcm92YWwzIiwidW5kZWZpbmVkIiwiYXBwcm92YWxTdGF0dXMiLCJyZWplY3RlZEl0ZW0iLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QiLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QyIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfMiIsInN1Z2dlc3Rpb25zIiwic3VnZ2VzdF9yZXBseSIsImlzX2NhbmNlbGxlZCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDUiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ2IiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNSIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTYiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ3IiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0OCIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTciLCJfaXRlbSRjbGllbnRfbWV0YWRhdGE4IiwiaXNGcm9udGVuZENhbmNlbGxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91dGlscy9tYXBDaGF0TWVzc2FnZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuaW1wb3J0IHsgQ29yTG9nbyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2UsIENoYXRNZXNzYWdlVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG4vKiBlc2xpbnQtZW5hYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuXG5leHBvcnQgY29uc3QgQVNTSVNUQU5UX1VTRVI6IENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6ICdhc3Npc3RhbnQnLFxuICBuYW1lOiAnTWFpYScsXG4gIGF2YXRhckljb246IChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgcG9zaXRpb246ICdzdGlja3knLCB0b3A6IDAgfX0+XG4gICAgICA8Q29yTG9nbyAvPlxuICAgIDwvZGl2PlxuICApLFxufVxuXG5jb25zdCBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUgPSAoXG4gIGF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZVsnYXR0YWNobWVudHMnXSxcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYXR0YWNobWVudHMpKSByZXR1cm4gW11cblxuICByZXR1cm4gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4ge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRSb2xlID0gYXR0YWNobWVudD8ucm9sZSB8fCAndXNlcidcbiAgICByZXR1cm4gcm9sZSA9PT0gJ2Fzc2lzdGFudCcgPyBhdHRhY2htZW50Um9sZSA9PT0gJ2Fzc2lzdGFudCcgOiBhdHRhY2htZW50Um9sZSAhPT0gJ2Fzc2lzdGFudCdcbiAgfSlcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBmcm9udGVuZCBhcHByb3ZhbFN0YXR1cyBmcm9tIHRoZSBiYWNrZW5kIE1lbW9yeVNlc3Npb24gc3RhdHVzLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXBwcm92YWxTdGF0dXMoc3RhdHVzPzogc3RyaW5nKTogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcge1xuICBpZiAoc3RhdHVzID09PSAnY29tcGxldGVkJyB8fCBzdGF0dXMgPT09ICdhcHByb3ZlZCcpIHJldHVybiAnYXBwcm92ZWQnXG4gIGlmIChzdGF0dXMgPT09ICdyZWplY3RlZCcpIHJldHVybiAncmVqZWN0ZWQnXG4gIHJldHVybiAncGVuZGluZydcbn1cblxuZXhwb3J0IGNvbnN0IG1hcENoYXRNZXNzYWdlcyA9IChcbiAgaXRlbXM6IENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlW10sXG4gIGN1cnJlbnRVc2VyOiBDaGF0TWVzc2FnZVVzZXIsXG4gIGNhbmNlbGxlZFRleHQ/OiBzdHJpbmdcbik6IENoYXRNZXNzYWdlW10gPT4ge1xuICAvLyDilIDilIAgMS4gR3JvdXAgSElUTCBpdGVtcyB0aGF0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbmFsX3RocmVhZF9pZCDilIDilIBcbiAgLy8gU28gbXVsdGlwbGUgTWVtb3J5U2Vzc2lvbnMgZnJvbSBhIHNpbmdsZSBISVRMIGJhdGNoIHJlbmRlciBpbiBvbmUgQXBwcm92YWxCb3guXG4gIGNvbnN0IGhpdGxHcm91cHMgPSBuZXcgTWFwPHN0cmluZywgeyBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXTsgZmlyc3RJbmRleDogbnVtYmVyIH0+KClcbiAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWl0ZW0ucGVuZGluZ19hcHByb3ZhbCkgcmV0dXJuXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbC5vcmlnaW5hbF90aHJlYWRfaWQgfHwgaXRlbS50aHJlYWRfaWQgfHwgaXRlbS5tZXNzYWdlX2lkXG4gICAgaWYgKCFvdGlkKSByZXR1cm5cblxuICAgIGNvbnN0IGV4aXN0aW5nID0gaGl0bEdyb3Vwcy5nZXQob3RpZClcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLml0ZW1zLnB1c2goaXRlbSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGl0bEdyb3Vwcy5zZXQob3RpZCwgeyBpdGVtczogW2l0ZW1dLCBmaXJzdEluZGV4OiBpbmRleCB9KVxuICAgIH1cbiAgfSlcblxuICAvLyBUcmFjayB3aGljaCBvcmlnaW5hbF90aHJlYWRfaWRzIGhhdmUgYWxyZWFkeSBiZWVuIGVtaXR0ZWRcbiAgY29uc3QgZW1pdHRlZEdyb3VwcyA9IG5ldyBTZXQ8c3RyaW5nPigpXG5cbiAgY29uc3QgbWFwcGVkSXRlbXM6IENoYXRNZXNzYWdlW10gPSBbXVxuXG4gIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgY29uc3QgaXNIaXRsSXRlbSA9ICEhaXRlbS5wZW5kaW5nX2FwcHJvdmFsXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbD8ub3JpZ2luYWxfdGhyZWFkX2lkIHx8IGl0ZW0udGhyZWFkX2lkIHx8IGl0ZW0ubWVzc2FnZV9pZCB8fCAnJ1xuXG4gICAgLy8g4pSA4pSAIEhJVEwgaXRlbXM6IGVtaXQgb25jZSBwZXIgZ3JvdXAgKG9uIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBncm91cCkg4pSA4pSAXG4gICAgaWYgKGlzSGl0bEl0ZW0gJiYgb3RpZCkge1xuICAgICAgaWYgKGVtaXR0ZWRHcm91cHMuaGFzKG90aWQpKSByZXR1cm4gLy8gQWxyZWFkeSBlbWl0dGVkIHRoaXMgZ3JvdXBcbiAgICAgIGVtaXR0ZWRHcm91cHMuYWRkKG90aWQpXG5cbiAgICAgIGNvbnN0IGdyb3VwID0gaGl0bEdyb3Vwcy5nZXQob3RpZCkhXG4gICAgICBjb25zdCBmaXJzdEl0ZW0gPSBncm91cC5pdGVtc1swXVxuICAgICAgY29uc3QgaXNNYW51YWxBcHByb3ZhbCA9IGdyb3VwLml0ZW1zLnNvbWUoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkKVxuXG4gICAgICAvLyBPbmx5IGVtaXQgcXVlc3Rpb24gaWYgaXQgaGFzIGNvbnRlbnQgKGF2b2lkIGR1cGxpY2F0ZSBlbXB0eSBxdWVzdGlvbnMpXG4gICAgICBpZiAoZmlyc3RJdGVtLnF1ZXN0aW9uKSB7XG4gICAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgIGlkOiBgJHtmaXJzdEl0ZW0ubWVzc2FnZV9pZCB8fCBmaXJzdEl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXF1ZXN0aW9uYCxcbiAgICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgICAgbWVzc2FnZTogZmlyc3RJdGVtLnF1ZXN0aW9uLFxuICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGZpcnN0SXRlbS50aW1lc3RhbXApLFxuICAgICAgICAgIHVzZXI6IGN1cnJlbnRVc2VyLFxuICAgICAgICAgIHByb2plY3RJZDogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBjbGllbnRJZDogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgICAgY2xpZW50TmFtZTogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGZpcnN0SXRlbS5hdHRhY2htZW50cywgJ3VzZXInKSxcbiAgICAgICAgICBzb3VyY2VzOiBudWxsLFxuICAgICAgICAgIC4uLihmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAgICAgLi4uKGZpcnN0SXRlbS5jb250ZXh0X21lc3NhZ2UgPyB7IGNvbnRleHRNZXNzYWdlOiBmaXJzdEl0ZW0uY29udGV4dF9tZXNzYWdlIH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIE9taXRpciBlbCBtZW5zYWplIGNvbiBBcHByb3ZhbEJveCBwYXJhIGFwcm9iYWNpb25lcyBtYW51YWxlczogZGVqYSB2aXNpYmxlIHNvbG8gbGEgcHJlZ3VudGEgZGVsIHVzdWFyaW9cbiAgICAgIGlmIChpc01hbnVhbEFwcHJvdmFsKSByZXR1cm5cblxuICAgICAgLy8gQnVpbGQgbWVyZ2VkIHBlbmRpbmdfYWN0aW9ucyBmcm9tIGFsbCBpdGVtcyBpbiB0aGUgZ3JvdXBcbiAgICAgIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+ICh7XG4gICAgICAgIHRocmVhZF9pZDogZ2kudGhyZWFkX2lkIHx8ICcnLFxuICAgICAgICB0b29sX2NhbGxfaWQ6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfY2FsbF9pZCB8fCAnJyxcbiAgICAgICAgdG9vbF9uYW1lOiBnaS5wZW5kaW5nX2FwcHJvdmFsIS50b29sX25hbWUgfHwgJ3Vua25vd24nLFxuICAgICAgICB0b29sX2FyZ3M6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfYXJncyB8fCB7fSxcbiAgICAgIH0pKVxuXG4gICAgICAvLyBSZXNvbHZlIHN0YXR1czogaWYgQU5ZIGlzIHBlbmRpbmcg4oaSIHBlbmRpbmc7IGlmIEFMTCBhcHByb3ZlZCDihpIgYXBwcm92ZWQ7IGVsc2UgcmVqZWN0ZWRcbiAgICAgIGNvbnN0IHN0YXR1c2VzID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+IHJlc29sdmVBcHByb3ZhbFN0YXR1cyhnaS5zdGF0dXMpKVxuICAgICAgbGV0IGdyb3VwU3RhdHVzOiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJyA9ICdhcHByb3ZlZCdcbiAgICAgIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3BlbmRpbmcnKSkge1xuICAgICAgICBncm91cFN0YXR1cyA9ICdwZW5kaW5nJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3JlamVjdGVkJykpIHtcbiAgICAgICAgZ3JvdXBTdGF0dXMgPSAncmVqZWN0ZWQnXG4gICAgICB9XG5cbiAgICAgIC8vIFRleHRvIHF1ZSBlbCBhZ2VudGUgZW52acOzIGp1bnRvIGFsIHBlZGlkbyBkZSBhcHJvYmFjacOzbi4gQ3VhbmRvIGVzdMOhXG4gICAgICAvLyBwZW5kaWVudGUgZWwgYmFja2VuZCBtYW5kYSB1biBwbGFjZWhvbGRlciBgW1BlbmRpZW50ZS4uLl1gIHF1ZSBubyBkZWJlIG1vc3RyYXJzZS5cbiAgICAgIGNvbnN0IGFwcHJvdmFsTWVzc2FnZSA9IGZpcnN0SXRlbS5hbnN3ZXIgJiYgIWZpcnN0SXRlbS5hbnN3ZXIuc3RhcnRzV2l0aCgnW1BlbmRpZW50ZScpID8gZmlyc3RJdGVtLmFuc3dlciA6ICcnXG5cbiAgICAgIGNvbnN0IGFuc3dlck1lc3NhZ2U6IENoYXRNZXNzYWdlID0ge1xuICAgICAgICBpZDogYGFwcHJvdmFsLSR7b3RpZH1gLFxuICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgIG1lc3NhZ2U6IGFwcHJvdmFsTWVzc2FnZSxcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoZmlyc3RJdGVtLnRpbWVzdGFtcCksXG4gICAgICAgIHVzZXI6IEFTU0lTVEFOVF9VU0VSLFxuICAgICAgICBwcm9qZWN0SWQ6IGZpcnN0SXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgICAgcHJvamVjdE5hbWU6IGZpcnN0SXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBjbGllbnRJZDogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIGNsaWVudE5hbWU6IGZpcnN0SXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIHdhc0hlbHBmdWw6IGZpcnN0SXRlbS53YXNfaGVscGZ1bCxcbiAgICAgICAgYXR0YWNobWVudHM6IGdldE1lc3NhZ2VBdHRhY2htZW50c0J5Um9sZShmaXJzdEl0ZW0uYXR0YWNobWVudHMsICdhc3Npc3RhbnQnKSxcbiAgICAgICAgc291cmNlczogW10sXG4gICAgICAgIC4uLihmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAgIGFwcHJvdmFsOiB7XG4gICAgICAgICAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJyxcbiAgICAgICAgICBwZW5kaW5nX2FjdGlvbnM6IHBlbmRpbmdBY3Rpb25zLFxuICAgICAgICAgIHRvdGFsX2FjdGlvbnM6IHBlbmRpbmdBY3Rpb25zLmxlbmd0aCxcbiAgICAgICAgICBvcmlnaW5hbF90aHJlYWRfaWQ6IG90aWQsXG4gICAgICAgICAgc2Vzc2lvbl9pZDogZmlyc3RJdGVtLnBlbmRpbmdfYXBwcm92YWwhLnNlc3Npb25faWQgfHwgJycsXG4gICAgICAgICAgbWV0YWRhdGE6IGZpcnN0SXRlbS5wZW5kaW5nX2FwcHJvdmFsIS5tZXRhZGF0YSB8fCB7fSxcbiAgICAgICAgICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ6IGdyb3VwLml0ZW1zLnNvbWUoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkKSxcbiAgICAgICAgICB3YXJuaW5nX21lc3NhZ2U6XG4gICAgICAgICAgICBncm91cC5pdGVtcy5maW5kKGdpID0+IGdpLnBlbmRpbmdfYXBwcm92YWw/Lndhcm5pbmdfbWVzc2FnZSk/LnBlbmRpbmdfYXBwcm92YWw/Lndhcm5pbmdfbWVzc2FnZSB8fFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBhcHByb3ZhbFN0YXR1czogZ3JvdXBTdGF0dXMsXG4gICAgICB9XG5cbiAgICAgIG1hcHBlZEl0ZW1zLnB1c2goYW5zd2VyTWVzc2FnZSlcblxuICAgICAgLy8gSWYgcmVqZWN0ZWQsIGFkZCB0aGUgcmVqZWN0aW9uIG1lc3NhZ2VcbiAgICAgIGlmIChncm91cFN0YXR1cyA9PT0gJ3JlamVjdGVkJykge1xuICAgICAgICBjb25zdCByZWplY3RlZEl0ZW0gPSBncm91cC5pdGVtcy5maW5kKFxuICAgICAgICAgIGdpID0+IGdpLnN0YXR1cyA9PT0gJ3JlamVjdGVkJyAmJiBnaS5hbnN3ZXIgJiYgIWdpLmFuc3dlci5zdGFydHNXaXRoKCdbUGVuZGllbnRlJylcbiAgICAgICAgKVxuICAgICAgICBpZiAocmVqZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgbWFwcGVkSXRlbXMucHVzaCh7XG4gICAgICAgICAgICBpZDogYCR7cmVqZWN0ZWRJdGVtLm1lc3NhZ2VfaWQgfHwgcmVqZWN0ZWRJdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1yZWplY3Rpb25gLFxuICAgICAgICAgICAgYWdlbnRJZDogcmVqZWN0ZWRJdGVtLmFnZW50X2lkLFxuICAgICAgICAgICAgbWVzc2FnZTogcmVqZWN0ZWRJdGVtLmFuc3dlcixcbiAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHJlamVjdGVkSXRlbS50aW1lc3RhbXApLFxuICAgICAgICAgICAgdXNlcjogQVNTSVNUQU5UX1VTRVIsXG4gICAgICAgICAgICBwcm9qZWN0SWQ6IHJlamVjdGVkSXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgICAgICAgIHByb2plY3ROYW1lOiByZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICAgIGNsaWVudElkOiByZWplY3RlZEl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgICAgICAgIGNsaWVudE5hbWU6IHJlamVjdGVkSXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgICAgICBhdHRhY2htZW50czogW10sXG4gICAgICAgICAgICBzb3VyY2VzOiBbXSxcbiAgICAgICAgICAgIC4uLihyZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7XG4gICAgICAgICAgICAgIHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiByZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIOKUgOKUgCBOb3JtYWwgKG5vbi1ISVRMKSBpdGVtcyDilIDilIBcbiAgICBtYXBwZWRJdGVtcy5wdXNoKHtcbiAgICAgIGlkOiBgJHtpdGVtLm1lc3NhZ2VfaWQgfHwgaXRlbS5tZW1vcnlfc2Vzc2lvbl9pZH0tcXVlc3Rpb25gLFxuICAgICAgYWdlbnRJZDogaXRlbS5hZ2VudF9pZCxcbiAgICAgIG1lc3NhZ2U6IGl0ZW0ucXVlc3Rpb24sXG4gICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLnRpbWVzdGFtcCksXG4gICAgICB1c2VyOiBjdXJyZW50VXNlcixcbiAgICAgIHByb2plY3RJZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgIHByb2plY3ROYW1lOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgY2xpZW50TmFtZTogaXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGl0ZW0uYXR0YWNobWVudHMsICd1c2VyJyksXG4gICAgICBzb3VyY2VzOiBudWxsLFxuICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgLi4uKGl0ZW0uY29udGV4dF9tZXNzYWdlID8geyBjb250ZXh0TWVzc2FnZTogaXRlbS5jb250ZXh0X21lc3NhZ2UgfSA6IHt9KSxcbiAgICB9KVxuXG4gICAgY29uc3QgYW5zd2VyTWVzc2FnZTogQ2hhdE1lc3NhZ2UgPSB7XG4gICAgICBpZDogYCR7aXRlbS5tZXNzYWdlX2lkIHx8IGl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LWFuc3dlcmAsXG4gICAgICBhZ2VudElkOiBpdGVtLmFnZW50X2lkLFxuICAgICAgbWVzc2FnZTogaXRlbS5hbnN3ZXIsXG4gICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLnRpbWVzdGFtcCksXG4gICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgIHByb2plY3RJZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgIHByb2plY3ROYW1lOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgY2xpZW50TmFtZTogaXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICB3YXNIZWxwZnVsOiBpdGVtLndhc19oZWxwZnVsLFxuICAgICAgYXR0YWNobWVudHM6IGdldE1lc3NhZ2VBdHRhY2htZW50c0J5Um9sZShpdGVtLmF0dGFjaG1lbnRzLCAnYXNzaXN0YW50JyksXG4gICAgICBzb3VyY2VzOiBpdGVtLnNvdXJjZXMgfHwgW10sXG4gICAgICBzdWdnZXN0aW9uczogaXRlbS5zdWdnZXN0X3JlcGx5IHx8IGl0ZW0uc3VnZ2VzdGlvbnMgfHwgW10sXG4gICAgICBpc19jYW5jZWxsZWQ6IGl0ZW0uaXNfY2FuY2VsbGVkLFxuICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgIH1cblxuICAgIG1hcHBlZEl0ZW1zLnB1c2goYW5zd2VyTWVzc2FnZSlcblxuICAgIGlmIChpdGVtLnN0YXR1cyA9PT0gJ3JlamVjdGVkJyAmJiBpdGVtLmFuc3dlciAmJiAhaXRlbS5hbnN3ZXIuc3RhcnRzV2l0aCgnW1BlbmRpZW50ZScpKSB7XG4gICAgICBtYXBwZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgaWQ6IGAke2l0ZW0ubWVzc2FnZV9pZCB8fCBpdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1yZWplY3Rpb25gLFxuICAgICAgICBhZ2VudElkOiBpdGVtLmFnZW50X2lkLFxuICAgICAgICBtZXNzYWdlOiBpdGVtLmFuc3dlcixcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS50aW1lc3RhbXApLFxuICAgICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICBwcm9qZWN0TmFtZTogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgICAgICBzb3VyY2VzOiBbXSxcbiAgICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoaXRlbS5pc19jYW5jZWxsZWQpIHtcbiAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICBpZDogYCR7aXRlbS5tZXNzYWdlX2lkIHx8IGl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LWNhbmNlbGxlZGAsXG4gICAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICAgIG1lc3NhZ2U6IGNhbmNlbGxlZFRleHQgfHwgJ1NlIGhhIGNhbmNlbGFkbyBsYSBiw7pzcXVlZGEuJyxcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS50aW1lc3RhbXApLFxuICAgICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICBwcm9qZWN0TmFtZTogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgaXNGcm9udGVuZENhbmNlbGxlZDogdHJ1ZSxcbiAgICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgfSlcbiAgICB9XG4g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LHNCQUFBLHVCQUFwQkEsc0JBQUEsQ0FBc0JqSSxJQUFJO1FBQ3RDVSxXQUFXLEVBQUUsRUFBRTtRQUNmNEUsT0FBTyxFQUFFO01BQUUsR0FDUDVELElBQUksQ0FBQ3VELGdCQUFnQixJQUFJO1FBQUVNLGVBQWUsRUFBRTtVQUFFQyxVQUFVLEVBQUU5RCxJQUFJLENBQUN1RCxnQkFBZ0IsQ0FBQ087UUFBVztNQUFFLENBQUMsQ0FDbkcsQ0FBQztJQUNKO0lBRUEsSUFBSTlELElBQUksQ0FBQ21HLFlBQVksRUFBRTtNQUFBLElBQUFLLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBO01BQ3JCN0YsV0FBVyxDQUFDTCxJQUFJLENBQUFtQyxhQUFBO1FBQ2R2RSxFQUFFLEtBQUF3RSxNQUFBLENBQUs3QyxJQUFJLENBQUNNLFVBQVUsSUFBSU4sSUFBSSxDQUFDOEMsaUJBQWlCLGVBQVk7UUFDNURDLE9BQU8sRUFBRS9DLElBQUksQ0FBQ2dELFFBQVE7UUFDdEJDLE9BQU8sRUFBRXJELGFBQWEsSUFBSSw4QkFBOEI7UUFDeERzRCxJQUFJLEVBQUUsSUFBSUMsSUFBSSxDQUFDbkQsSUFBSSxDQUFDb0QsU0FBUyxDQUFDO1FBQzlCQyxJQUFJLEVBQUVqRixjQUFjO1FBQ3BCa0YsU0FBUyxHQUFBa0Qsc0JBQUEsR0FBRXhHLElBQUksQ0FBQ3VELGdCQUFnQixjQUFBaUQsc0JBQUEsdUJBQXJCQSxzQkFBQSxDQUF1Qm5JLEVBQUU7UUFDcENtRixXQUFXLEdBQUFpRCxzQkFBQSxHQUFFekcsSUFBSSxDQUFDdUQsZ0JBQWdCLGNBQUFrRCxzQkFBQSx1QkFBckJBLHNCQUFBLENBQXVCbkksSUFBSTtRQUN4Q21GLFFBQVEsR0FBQWlELHNCQUFBLEdBQUUxRyxJQUFJLENBQUMwRCxlQUFlLGNBQUFnRCxzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCckksRUFBRTtRQUNsQ3NGLFVBQVUsR0FBQWdELHNCQUFBLEdBQUUzRyxJQUFJLENBQUMwRCxlQUFlLGNBQUFpRCxzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCckksSUFBSTtRQUN0Q3NJLG1CQUFtQixFQUFFO01BQUksR0FDckI1RyxJQUFJLENBQUN1RCxnQkFBZ0IsSUFBSTtRQUFFTSxlQUFlLEVBQUU7VUFBRUMsVUFBVSxFQUFFOUQsSUFBSSxDQUFDdUQsZ0JBQWdCLENBQUNPO1FBQVc7TUFBRSxDQUFDLENBQ25HLENBQUM7SUFDSjtFQUNGLENBQUMsQ0FBQztFQUVGLE9BQU9oRCxXQUFXO0FBQ3BCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
293
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb3JMb2dvIiwianN4IiwiX2pzeCIsIkFTU0lTVEFOVF9VU0VSIiwiaWQiLCJuYW1lIiwiYXZhdGFySWNvbiIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInBvc2l0aW9uIiwidG9wIiwiY2hpbGRyZW4iLCJnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUiLCJhdHRhY2htZW50cyIsInJvbGUiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiYXR0YWNobWVudFJvbGUiLCJyZXNvbHZlQXBwcm92YWxTdGF0dXMiLCJzdGF0dXMiLCJtYXBDaGF0TWVzc2FnZXMiLCJpdGVtcyIsImN1cnJlbnRVc2VyIiwiY2FuY2VsbGVkVGV4dCIsImhpdGxHcm91cHMiLCJNYXAiLCJmb3JFYWNoIiwiaXRlbSIsImluZGV4IiwicGVuZGluZ19hcHByb3ZhbCIsIm90aWQiLCJvcmlnaW5hbF90aHJlYWRfaWQiLCJ0aHJlYWRfaWQiLCJtZXNzYWdlX2lkIiwiZXhpc3RpbmciLCJnZXQiLCJwdXNoIiwic2V0IiwiZmlyc3RJbmRleCIsImVtaXR0ZWRHcm91cHMiLCJTZXQiLCJtYXBwZWRJdGVtcyIsIl9pdGVtJHBlbmRpbmdfYXBwcm92YSIsIl9pdGVtJHByb2plY3RfbWV0YWRhdCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDIiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEyIiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0MyIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDQiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEzIiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNCIsImlzSGl0bEl0ZW0iLCJfZ3JvdXAkaXRlbXMkZmluZCIsIl9maXJzdEl0ZW0kcHJvamVjdF9tZTMiLCJfZmlyc3RJdGVtJHByb2plY3RfbWU0IiwiX2ZpcnN0SXRlbSRjbGllbnRfbWV0MyIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDQiLCJfZ3JvdXAkaXRlbXMkZmluZDIiLCJoYXMiLCJhZGQiLCJncm91cCIsImZpcnN0SXRlbSIsImlzTWFudWFsQXBwcm92YWwiLCJzb21lIiwiZ2kiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbCIsIm1hbnVhbF9hcHByb3ZhbF9kZXRlY3RlZCIsInF1ZXN0aW9uIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lMiIsIl9maXJzdEl0ZW0kY2xpZW50X21ldCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDIiLCJfb2JqZWN0U3ByZWFkIiwiY29uY2F0IiwibWVtb3J5X3Nlc3Npb25faWQiLCJhZ2VudElkIiwiYWdlbnRfaWQiLCJtZXNzYWdlIiwiZGF0ZSIsIkRhdGUiLCJ0aW1lc3RhbXAiLCJ1c2VyIiwicHJvamVjdElkIiwicHJvamVjdF9tZXRhZGF0YSIsInByb2plY3ROYW1lIiwiY2xpZW50SWQiLCJjbGllbnRfbWV0YWRhdGEiLCJjbGllbnROYW1lIiwic291cmNlcyIsInByb2plY3RNZXRhZGF0YSIsImlzX2RlbGV0ZWQiLCJjb250ZXh0X21lc3NhZ2UiLCJjb250ZXh0TWVzc2FnZSIsInBlbmRpbmdBY3Rpb25zIiwibWFwIiwidG9vbF9jYWxsX2lkIiwidG9vbF9uYW1lIiwidG9vbF9hcmdzIiwic3RhdHVzZXMiLCJncm91cFN0YXR1cyIsInMiLCJwZXJzaXN0ZWRBcHByb3ZhbFN0YXR1cyIsImZpbmQiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbDIiLCJhcHByb3ZhbF9zdGF0dXMiLCJ3YXNBdXRvQXBwcm92ZWQiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbDMiLCJhdXRvX2FwcHJvdmVkIiwiYXBwcm92YWxNZXNzYWdlIiwiYW5zd2VyIiwic3RhcnRzV2l0aCIsImFuc3dlck1lc3NhZ2UiLCJ3YXNIZWxwZnVsIiwid2FzX2hlbHBmdWwiLCJhcHByb3ZhbCIsInR5cGUiLCJwZW5kaW5nX2FjdGlvbnMiLCJ0b3RhbF9hY3Rpb25zIiwibGVuZ3RoIiwic2Vzc2lvbl9pZCIsIm1ldGFkYXRhIiwiX2dpJHBlbmRpbmdfYXBwcm92YWw0Iiwid2FybmluZ19tZXNzYWdlIiwiX2dpJHBlbmRpbmdfYXBwcm92YWw1IiwidW5kZWZpbmVkIiwiYXBwcm92YWxTdGF0dXMiLCJyZWplY3RlZEl0ZW0iLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QiLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QyIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfMiIsInN1Z2dlc3Rpb25zIiwic3VnZ2VzdF9yZXBseSIsImlzX2NhbmNlbGxlZCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDUiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ2IiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNSIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTYiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ3IiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0OCIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTciLCJfaXRlbSRjbGllbnRfbWV0YWRhdGE4IiwiaXNGcm9udGVuZENhbmNlbGxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91dGlscy9tYXBDaGF0TWVzc2FnZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuaW1wb3J0IHsgQ29yTG9nbyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2UsIENoYXRNZXNzYWdlVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG4vKiBlc2xpbnQtZW5hYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuXG5leHBvcnQgY29uc3QgQVNTSVNUQU5UX1VTRVI6IENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6ICdhc3Npc3RhbnQnLFxuICBuYW1lOiAnTWFpYScsXG4gIGF2YXRhckljb246IChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgcG9zaXRpb246ICdzdGlja3knLCB0b3A6IDAgfX0+XG4gICAgICA8Q29yTG9nbyAvPlxuICAgIDwvZGl2PlxuICApLFxufVxuXG5jb25zdCBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUgPSAoXG4gIGF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZVsnYXR0YWNobWVudHMnXSxcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYXR0YWNobWVudHMpKSByZXR1cm4gW11cblxuICByZXR1cm4gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4ge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRSb2xlID0gYXR0YWNobWVudD8ucm9sZSB8fCAndXNlcidcbiAgICByZXR1cm4gcm9sZSA9PT0gJ2Fzc2lzdGFudCcgPyBhdHRhY2htZW50Um9sZSA9PT0gJ2Fzc2lzdGFudCcgOiBhdHRhY2htZW50Um9sZSAhPT0gJ2Fzc2lzdGFudCdcbiAgfSlcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBmcm9udGVuZCBhcHByb3ZhbFN0YXR1cyBmcm9tIHRoZSBiYWNrZW5kIE1lbW9yeVNlc3Npb24gc3RhdHVzLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXBwcm92YWxTdGF0dXMoc3RhdHVzPzogc3RyaW5nKTogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcge1xuICBpZiAoc3RhdHVzID09PSAnY29tcGxldGVkJyB8fCBzdGF0dXMgPT09ICdhcHByb3ZlZCcpIHJldHVybiAnYXBwcm92ZWQnXG4gIGlmIChzdGF0dXMgPT09ICdyZWplY3RlZCcpIHJldHVybiAncmVqZWN0ZWQnXG4gIHJldHVybiAncGVuZGluZydcbn1cblxuZXhwb3J0IGNvbnN0IG1hcENoYXRNZXNzYWdlcyA9IChcbiAgaXRlbXM6IENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlW10sXG4gIGN1cnJlbnRVc2VyOiBDaGF0TWVzc2FnZVVzZXIsXG4gIGNhbmNlbGxlZFRleHQ/OiBzdHJpbmdcbik6IENoYXRNZXNzYWdlW10gPT4ge1xuICAvLyDilIDilIAgMS4gR3JvdXAgSElUTCBpdGVtcyB0aGF0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbmFsX3RocmVhZF9pZCDilIDilIBcbiAgLy8gU28gbXVsdGlwbGUgTWVtb3J5U2Vzc2lvbnMgZnJvbSBhIHNpbmdsZSBISVRMIGJhdGNoIHJlbmRlciBpbiBvbmUgQXBwcm92YWxCb3guXG4gIGNvbnN0IGhpdGxHcm91cHMgPSBuZXcgTWFwPHN0cmluZywgeyBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXTsgZmlyc3RJbmRleDogbnVtYmVyIH0+KClcbiAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWl0ZW0ucGVuZGluZ19hcHByb3ZhbCkgcmV0dXJuXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbC5vcmlnaW5hbF90aHJlYWRfaWQgfHwgaXRlbS50aHJlYWRfaWQgfHwgaXRlbS5tZXNzYWdlX2lkXG4gICAgaWYgKCFvdGlkKSByZXR1cm5cblxuICAgIGNvbnN0IGV4aXN0aW5nID0gaGl0bEdyb3Vwcy5nZXQob3RpZClcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLml0ZW1zLnB1c2goaXRlbSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGl0bEdyb3Vwcy5zZXQob3RpZCwgeyBpdGVtczogW2l0ZW1dLCBmaXJzdEluZGV4OiBpbmRleCB9KVxuICAgIH1cbiAgfSlcblxuICAvLyBUcmFjayB3aGljaCBvcmlnaW5hbF90aHJlYWRfaWRzIGhhdmUgYWxyZWFkeSBiZWVuIGVtaXR0ZWRcbiAgY29uc3QgZW1pdHRlZEdyb3VwcyA9IG5ldyBTZXQ8c3RyaW5nPigpXG5cbiAgY29uc3QgbWFwcGVkSXRlbXM6IENoYXRNZXNzYWdlW10gPSBbXVxuXG4gIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgY29uc3QgaXNIaXRsSXRlbSA9ICEhaXRlbS5wZW5kaW5nX2FwcHJvdmFsXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbD8ub3JpZ2luYWxfdGhyZWFkX2lkIHx8IGl0ZW0udGhyZWFkX2lkIHx8IGl0ZW0ubWVzc2FnZV9pZCB8fCAnJ1xuXG4gICAgLy8g4pSA4pSAIEhJVEwgaXRlbXM6IGVtaXQgb25jZSBwZXIgZ3JvdXAgKG9uIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBncm91cCkg4pSA4pSAXG4gICAgaWYgKGlzSGl0bEl0ZW0gJiYgb3RpZCkge1xuICAgICAgaWYgKGVtaXR0ZWRHcm91cHMuaGFzKG90aWQpKSByZXR1cm4gLy8gQWxyZWFkeSBlbWl0dGVkIHRoaXMgZ3JvdXBcbiAgICAgIGVtaXR0ZWRHcm91cHMuYWRkKG90aWQpXG5cbiAgICAgIGNvbnN0IGdyb3VwID0gaGl0bEdyb3Vwcy5nZXQob3RpZCkhXG4gICAgICBjb25zdCBmaXJzdEl0ZW0gPSBncm91cC5pdGVtc1swXVxuICAgICAgY29uc3QgaXNNYW51YWxBcHByb3ZhbCA9IGdyb3VwLml0ZW1zLnNvbWUoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkKVxuXG4gICAgICAvLyBPbmx5IGVtaXQgcXVlc3Rpb24gaWYgaXQgaGFzIGNvbnRlbnQgKGF2b2lkIGR1cGxpY2F0ZSBlbXB0eSBxdWVzdGlvbnMpXG4gICAgICBpZiAoZmlyc3RJdGVtLnF1ZXN0aW9uKSB7XG4gICAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgIGlkOiBgJHtmaXJzdEl0ZW0ubWVzc2FnZV9pZCB8fCBmaXJzdEl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXF1ZXN0aW9uYCxcbiAgICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgICAgbWVzc2FnZTogZmlyc3RJdGVtLnF1ZXN0aW9uLFxuICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGZpcnN0SXRlbS50aW1lc3RhbXApLFxuICAgICAgICAgIHVzZXI6IGN1cnJlbnRVc2VyLFxuICAgICAgICAgIHByb2plY3RJZDogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBjbGllbnRJZDogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgICAgY2xpZW50TmFtZTogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGZpcnN0SXRlbS5hdHRhY2htZW50cywgJ3VzZXInKSxcbiAgICAgICAgICBzb3VyY2VzOiBudWxsLFxuICAgICAgICAgIC4uLihmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAgICAgLi4uKGZpcnN0SXRlbS5jb250ZXh0X21lc3NhZ2UgPyB7IGNvbnRleHRNZXNzYWdlOiBmaXJzdEl0ZW0uY29udGV4dF9tZXNzYWdlIH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIE9taXRpciBlbCBtZW5zYWplIGNvbiBBcHByb3ZhbEJveCBwYXJhIGFwcm9iYWNpb25lcyBtYW51YWxlczogZGVqYSB2aXNpYmxlIHNvbG8gbGEgcHJlZ3VudGEgZGVsIHVzdWFyaW9cbiAgICAgIGlmIChpc01hbnVhbEFwcHJvdmFsKSByZXR1cm5cblxuICAgICAgLy8gQnVpbGQgbWVyZ2VkIHBlbmRpbmdfYWN0aW9ucyBmcm9tIGFsbCBpdGVtcyBpbiB0aGUgZ3JvdXBcbiAgICAgIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+ICh7XG4gICAgICAgIHRocmVhZF9pZDogZ2kudGhyZWFkX2lkIHx8ICcnLFxuICAgICAgICB0b29sX2NhbGxfaWQ6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfY2FsbF9pZCB8fCAnJyxcbiAgICAgICAgdG9vbF9uYW1lOiBnaS5wZW5kaW5nX2FwcHJvdmFsIS50b29sX25hbWUgfHwgJ3Vua25vd24nLFxuICAgICAgICB0b29sX2FyZ3M6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfYXJncyB8fCB7fSxcbiAgICAgIH0pKVxuXG4gICAgICAvLyBSZXNvbHZlIHN0YXR1czogaWYgQU5ZIGlzIHBlbmRpbmcg4oaSIHBlbmRpbmc7IGlmIEFMTCBhcHByb3ZlZCDihpIgYXBwcm92ZWQ7IGVsc2UgcmVqZWN0ZWRcbiAgICAgIGNvbnN0IHN0YXR1c2VzID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+IHJlc29sdmVBcHByb3ZhbFN0YXR1cyhnaS5zdGF0dXMpKVxuICAgICAgbGV0IGdyb3VwU3RhdHVzOiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJyA9ICdhcHByb3ZlZCdcbiAgICAgIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3BlbmRpbmcnKSkge1xuICAgICAgICBncm91cFN0YXR1cyA9ICdwZW5kaW5nJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3JlamVjdGVkJykpIHtcbiAgICAgICAgZ3JvdXBTdGF0dXMgPSAncmVqZWN0ZWQnXG4gICAgICB9XG4gICAgICBjb25zdCBwZXJzaXN0ZWRBcHByb3ZhbFN0YXR1cyA9IGdyb3VwLml0ZW1zLmZpbmQoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8uYXBwcm92YWxfc3RhdHVzKT8ucGVuZGluZ19hcHByb3ZhbFxuICAgICAgICA/LmFwcHJvdmFsX3N0YXR1c1xuICAgICAgY29uc3Qgd2FzQXV0b0FwcHJvdmVkID0gZ3JvdXAuaXRlbXMuc29tZShnaSA9PiBnaS5wZW5kaW5nX2FwcHJvdmFsPy5hdXRvX2FwcHJvdmVkID09PSB0cnVlKVxuXG4gICAgICAvLyBUZXh0byBxdWUgZWwgYWdlbnRlIGVudmnDsyBqdW50byBhbCBwZWRpZG8gZGUgYXByb2JhY2nDs24uIEN1YW5kbyBlc3TDoVxuICAgICAgLy8gcGVuZGllbnRlIGVsIGJhY2tlbmQgbWFuZGEgdW4gcGxhY2Vob2xkZXIgYFtQZW5kaWVudGUuLi5dYCBxdWUgbm8gZGViZSBtb3N0cmFyc2UuXG4gICAgICBjb25zdCBhcHByb3ZhbE1lc3NhZ2UgPSBmaXJzdEl0ZW0uYW5zd2VyICYmICFmaXJzdEl0ZW0uYW5zd2VyLnN0YXJ0c1dpdGgoJ1tQZW5kaWVudGUnKSA/IGZpcnN0SXRlbS5hbnN3ZXIgOiAnJ1xuXG4gICAgICBjb25zdCBhbnN3ZXJNZXNzYWdlOiBDaGF0TWVzc2FnZSA9IHtcbiAgICAgICAgaWQ6IGBhcHByb3ZhbC0ke290aWR9YCxcbiAgICAgICAgYWdlbnRJZDogZmlyc3RJdGVtLmFnZW50X2lkLFxuICAgICAgICBtZXNzYWdlOiBhcHByb3ZhbE1lc3NhZ2UsXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKGZpcnN0SXRlbS50aW1lc3RhbXApLFxuICAgICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgICAgcHJvamVjdElkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIHByb2plY3ROYW1lOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgY2xpZW50SWQ6IGZpcnN0SXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgICBjbGllbnROYW1lOiBmaXJzdEl0ZW0uY2xpZW50X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICB3YXNIZWxwZnVsOiBmaXJzdEl0ZW0ud2FzX2hlbHBmdWwsXG4gICAgICAgIGF0dGFjaG1lbnRzOiBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUoZmlyc3RJdGVtLmF0dGFjaG1lbnRzLCAnYXNzaXN0YW50JyksXG4gICAgICAgIHNvdXJjZXM6IFtdLFxuICAgICAgICAuLi4oZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGEgJiYgeyBwcm9qZWN0TWV0YWRhdGE6IHsgaXNfZGVsZXRlZDogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgICBhcHByb3ZhbDoge1xuICAgICAgICAgIHR5cGU6ICdhcHByb3ZhbF9yZXF1aXJlZCcsXG4gICAgICAgICAgcGVuZGluZ19hY3Rpb25zOiBwZW5kaW5nQWN0aW9ucyxcbiAgICAgICAgICB0b3RhbF9hY3Rpb25zOiBwZW5kaW5nQWN0aW9ucy5sZW5ndGgsXG4gICAgICAgICAgb3JpZ2luYWxfdGhyZWFkX2lkOiBvdGlkLFxuICAgICAgICAgIHNlc3Npb25faWQ6IGZpcnN0SXRlbS5wZW5kaW5nX2FwcHJvdmFsIS5zZXNzaW9uX2lkIHx8ICcnLFxuICAgICAgICAgIG1ldGFkYXRhOiBmaXJzdEl0ZW0ucGVuZGluZ19hcHByb3ZhbCEubWV0YWRhdGEgfHwge30sXG4gICAgICAgICAgbWFudWFsX2FwcHJvdmFsX2RldGVjdGVkOiBncm91cC5pdGVtcy5zb21lKGdpID0+IGdpLnBlbmRpbmdfYXBwcm92YWw/Lm1hbnVhbF9hcHByb3ZhbF9kZXRlY3RlZCksXG4gICAgICAgICAgYXV0b19hcHByb3ZlZDogd2FzQXV0b0FwcHJvdmVkLFxuICAgICAgICAgIGFwcHJvdmFsX3N0YXR1czogcGVyc2lzdGVkQXBwcm92YWxTdGF0dXMsXG4gICAgICAgICAgd2FybmluZ19tZXNzYWdlOlxuICAgICAgICAgICAgZ3JvdXAuaXRlbXMuZmluZChnaSA9PiBnaS5wZW5kaW5nX2FwcHJvdmFsPy53YXJuaW5nX21lc3NhZ2UpPy5wZW5kaW5nX2FwcHJvdmFsPy53YXJuaW5nX21lc3NhZ2UgfHxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgICAgYXBwcm92YWxTdGF0dXM6IGdyb3VwU3RhdHVzLFxuICAgICAgfVxuXG4gICAgICBtYXBwZWRJdGVtcy5wdXNoKGFuc3dlck1lc3NhZ2UpXG5cbiAgICAgIC8vIElmIHJlamVjdGVkLCBhZGQgdGhlIHJlamVjdGlvbiBtZXNzYWdlXG4gICAgICBpZiAoZ3JvdXBTdGF0dXMgPT09ICdyZWplY3RlZCcpIHtcbiAgICAgICAgY29uc3QgcmVqZWN0ZWRJdGVtID0gZ3JvdXAuaXRlbXMuZmluZChcbiAgICAgICAgICBnaSA9PiBnaS5zdGF0dXMgPT09ICdyZWplY3RlZCcgJiYgZ2kuYW5zd2VyICYmICFnaS5hbnN3ZXIuc3RhcnRzV2l0aCgnW1BlbmRpZW50ZScpXG4gICAgICAgIClcbiAgICAgICAgaWYgKHJlamVjdGVkSXRlbSkge1xuICAgICAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGAke3JlamVjdGVkSXRlbS5tZXNzYWdlX2lkIHx8IHJlamVjdGVkSXRlbS5tZW1vcnlfc2Vzc2lvbl9pZH0tcmVqZWN0aW9uYCxcbiAgICAgICAgICAgIGFnZW50SWQ6IHJlamVjdGVkSXRlbS5hZ2VudF9pZCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHJlamVjdGVkSXRlbS5hbnN3ZXIsXG4gICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZShyZWplY3RlZEl0ZW0udGltZXN0YW1wKSxcbiAgICAgICAgICAgIHVzZXI6IEFTU0lTVEFOVF9VU0VSLFxuICAgICAgICAgICAgcHJvamVjdElkOiByZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8uaWQsXG4gICAgICAgICAgICBwcm9qZWN0TmFtZTogcmVqZWN0ZWRJdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgICAgICBjbGllbnRJZDogcmVqZWN0ZWRJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgICAgICBjbGllbnROYW1lOiByZWplY3RlZEl0ZW0uY2xpZW50X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgICAgICAgICAgc291cmNlczogW10sXG4gICAgICAgICAgICAuLi4ocmVqZWN0ZWRJdGVtLnByb2plY3RfbWV0YWRhdGEgJiYge1xuICAgICAgICAgICAgICBwcm9qZWN0TWV0YWRhdGE6IHsgaXNfZGVsZXRlZDogcmVqZWN0ZWRJdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyDilIDilIAgTm9ybWFsIChub24tSElUTCkgaXRlbXMg4pSA4pSAXG4gICAgbWFwcGVkSXRlbXMucHVzaCh7XG4gICAgICBpZDogYCR7aXRlbS5tZXNzYWdlX2lkIHx8IGl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXF1ZXN0aW9uYCxcbiAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICBtZXNzYWdlOiBpdGVtLnF1ZXN0aW9uLFxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS50aW1lc3RhbXApLFxuICAgICAgdXNlcjogY3VycmVudFVzZXIsXG4gICAgICBwcm9qZWN0SWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8uaWQsXG4gICAgICBwcm9qZWN0TmFtZTogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgY2xpZW50SWQ6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgIGNsaWVudE5hbWU6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5uYW1lLFxuICAgICAgYXR0YWNobWVudHM6IGdldE1lc3NhZ2VBdHRhY2htZW50c0J5Um9sZShpdGVtLmF0dGFjaG1lbnRzLCAndXNlcicpLFxuICAgICAgc291cmNlczogbnVsbCxcbiAgICAgIC4uLihpdGVtLnByb2plY3RfbWV0YWRhdGEgJiYgeyBwcm9qZWN0TWV0YWRhdGE6IHsgaXNfZGVsZXRlZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhLmlzX2RlbGV0ZWQgfSB9KSxcbiAgICAgIC4uLihpdGVtLmNvbnRleHRfbWVzc2FnZSA/IHsgY29udGV4dE1lc3NhZ2U6IGl0ZW0uY29udGV4dF9tZXNzYWdlIH0gOiB7fSksXG4gICAgfSlcblxuICAgIGNvbnN0IGFuc3dlck1lc3NhZ2U6IENoYXRNZXNzYWdlID0ge1xuICAgICAgaWQ6IGAke2l0ZW0ubWVzc2FnZV9pZCB8fCBpdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1hbnN3ZXJgLFxuICAgICAgYWdlbnRJZDogaXRlbS5hZ2VudF9pZCxcbiAgICAgIG1lc3NhZ2U6IGl0ZW0uYW5zd2VyLFxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS50aW1lc3RhbXApLFxuICAgICAgdXNlcjogQVNTSVNUQU5UX1VTRVIsXG4gICAgICBwcm9qZWN0SWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8uaWQsXG4gICAgICBwcm9qZWN0TmFtZTogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgY2xpZW50SWQ6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgIGNsaWVudE5hbWU6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5uYW1lLFxuICAgICAgd2FzSGVscGZ1bDogaXRlbS53YXNfaGVscGZ1bCxcbiAgICAgIGF0dGFjaG1lbnRzOiBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUoaXRlbS5hdHRhY2htZW50cywgJ2Fzc2lzdGFudCcpLFxuICAgICAgc291cmNlczogaXRlbS5zb3VyY2VzIHx8IFtdLFxuICAgICAgc3VnZ2VzdGlvbnM6IGl0ZW0uc3VnZ2VzdF9yZXBseSB8fCBpdGVtLnN1Z2dlc3Rpb25zIHx8IFtdLFxuICAgICAgaXNfY2FuY2VsbGVkOiBpdGVtLmlzX2NhbmNlbGxlZCxcbiAgICAgIC4uLihpdGVtLnByb2plY3RfbWV0YWRhdGEgJiYgeyBwcm9qZWN0TWV0YWRhdGE6IHsgaXNfZGVsZXRlZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhLmlzX2RlbGV0ZWQgfSB9KSxcbiAgICB9XG5cbiAgICBtYXBwZWRJdGVtcy5wdXNoKGFuc3dlck1lc3NhZ2UpXG5cbiAgICBpZiAoaXRlbS5zdGF0dXMgPT09ICdyZWplY3RlZCcgJiYgaXRlbS5hbnN3ZXIgJiYgIWl0ZW0uYW5zd2VyLnN0YXJ0c1dpdGgoJ1tQZW5kaWVudGUnKSkge1xuICAgICAgbWFwcGVkSXRlbXMucHVzaCh7XG4gICAgICAgIGlkOiBgJHtpdGVtLm1lc3NhZ2VfaWQgfHwgaXRlbS5tZW1vcnlfc2Vzc2lvbl9pZH0tcmVqZWN0aW9uYCxcbiAgICAgICAgYWdlbnRJZDogaXRlbS5hZ2VudF9pZCxcbiAgICAgICAgbWVzc2FnZTogaXRlbS5hbnN3ZXIsXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0udGltZXN0YW1wKSxcbiAgICAgICAgdXNlcjogQVNTSVNUQU5UX1VTRVIsXG4gICAgICAgIHByb2plY3RJZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgICAgcHJvamVjdE5hbWU6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgY2xpZW50SWQ6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgICAgY2xpZW50TmFtZTogaXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICAgICAgc291cmNlczogW10sXG4gICAgICAgIC4uLihpdGVtLnByb2plY3RfbWV0YWRhdGEgJiYgeyBwcm9qZWN0TWV0YWRhdGE6IHsgaXNfZGVsZXRlZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhLmlzX2RlbGV0ZWQgfSB9KSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGl0ZW0uaXNfY2FuY2VsbGVkKSB7XG4gICAgICBtYXBwZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgaWQ6IGAke2l0ZW0ubWVzc2FnZV9pZCB8fCBpdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1jYW5jZWxsZWRgLFxuICAgICAgICBhZ2VudElkOiBpdGVtLmFnZW50X2lkLFxuICAgICAgICBtZXNzYWdlOiBjYW5jZWxsZWRUZXh0IHx8ICdTZSBoYSBjYW5jZWxhZG8gbGEgYsO6c3F1ZWRhLicsXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0udGltZXN0YW1wKSxcbiAgICAgICAgdXNlcjogQVNTSVNUQU5UX1VTRVIsXG4gICAgICAgIHByb2plY3RJZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgICAgcHJvamVjdE5hbWU6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgY2xpZW50SWQ6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgICAgY2xpZW50TmFtZTogaXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIGlzRnJvbnRlbmRDYW5jZWxsZWQ6IHRydWUsXG4gICAgICAgIC4uLihpdGVtLnByb2plY3RfbWV0YWRhdGEgJiYgeyBwcm9qZWN0TWV0YWRhdGE6IHsgaXNfZGVsZXRlZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhLmlzX2RlbGV0ZWQgfSB9KSxcbiAgICAgIH0pXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBtYXBwZWRJdGVtc1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBLFNBQVNBLE9BQU8sUUFBUSw4QkFBOEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFdEQ7O0FBRUEsT0FBTyxJQUFNQyxjQUErQixHQUFHO0VBQzdDQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxVQUFVLGVBQ1JKLElBQUE7SUFBS0ssS0FBSyxFQUFFO01BQUVDLE9BQU8sRUFBRSxNQUFNO01BQUVDLFVBQVUsRUFBRSxRQUFRO01BQUVDLGNBQWMsRUFBRSxRQUFRO01BQUVDLFFBQVEsRUFBRSxRQUFRO01BQUVDLEdBQUcsRUFBRTtJQUFFLENBQUU7SUFBQUMsUUFBQSxlQUMxR1gsSUFBQSxDQUFDRixPQUFPLElBQUU7RUFBQyxDQUNSO0FBRVQsQ0FBQztBQUVELElBQU1jLDJCQUEyQixH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
|
|
@@ -136,6 +136,10 @@ var SCInlineMentionWord = styled.span.withConfig({
|
|
|
136
136
|
displayName: "renderContextMentions__SCInlineMentionWord",
|
|
137
137
|
componentId: "sc-f3uz3m-3"
|
|
138
138
|
})(["white-space:nowrap;vertical-align:middle;"]);
|
|
139
|
+
var SCInlineMentionRest = styled.span.withConfig({
|
|
140
|
+
displayName: "renderContextMentions__SCInlineMentionRest",
|
|
141
|
+
componentId: "sc-f3uz3m-4"
|
|
142
|
+
})(["vertical-align:middle;"]);
|
|
139
143
|
|
|
140
144
|
/**
|
|
141
145
|
* Si el href corresponde al protocolo de mention, devuelve un nodo estilado por tipo.
|
|
@@ -201,7 +205,7 @@ export var renderMentionLink = function renderMentionLink(href, children) {
|
|
|
201
205
|
}), /*#__PURE__*/_jsx(SCInlineMentionWord, {
|
|
202
206
|
children: firstWord
|
|
203
207
|
})]
|
|
204
|
-
}), rest ? /*#__PURE__*/_jsx(
|
|
208
|
+
}), rest ? /*#__PURE__*/_jsx(SCInlineMentionRest, {
|
|
205
209
|
children: rest
|
|
206
210
|
}) : null]
|
|
207
211
|
}) : null, !showIcon ? label : null]
|
|
@@ -313,7 +317,7 @@ var MentionChip = function MentionChip(_ref7) {
|
|
|
313
317
|
}), /*#__PURE__*/_jsx(SCInlineMentionWord, {
|
|
314
318
|
children: firstWord
|
|
315
319
|
})]
|
|
316
|
-
}), rest ? /*#__PURE__*/_jsx(
|
|
320
|
+
}), rest ? /*#__PURE__*/_jsx(SCInlineMentionRest, {
|
|
317
321
|
children: rest
|
|
318
322
|
}) : null]
|
|
319
323
|
}) : null, !showIcon ? normalizedLabel : null]
|
|
@@ -385,4 +389,4 @@ export var renderTextWithMentions = function renderTextWithMentions(text) {
|
|
|
385
389
|
if (lastIdx < text.length) out.push(text.slice(lastIdx));
|
|
386
390
|
return out;
|
|
387
391
|
};
|
|
388
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJyZW5kZXJNZW50aW9uTGluayIsInN0YXJ0c1dpdGgiLCJfcGFyc2VNZW50aW9uUHJvdG9jb2wiLCJpc1Rhc2siLCJpY29uU2l6ZSIsInRhc2tVcmwiLCJoYW5kbGVUYXNrQ2xpY2siLCJlIiwibWV0YUtleSIsImN0cmxLZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZVRhc2tLZXlEb3duIiwia2V5IiwiY2xhc3NOYW1lIiwib25DbGljayIsIm9uS2V5RG93biIsImlzUHJvamVjdCIsInByb2plY3RVcmwiLCJzaG93SWNvbiIsIl9zcGxpdExhYmVsRmlyc3RXb3JkIiwiaGFuZGxlUHJvamVjdENsaWNrIiwid2luZG93Iiwib3BlbiIsInVuZGVmaW5lZCIsInJvbGUiLCJ0YWJJbmRleCIsInN0cmlwTWVudGlvbk1hcmtlcnMiLCJfdHlwZSIsIl9pZCIsImZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyIsIndpdGhvdXRNZW50aW9ucyIsInNsYXNoUmVnZXgiLCJSZWdFeHAiLCJzb3VyY2UiLCJ3aXRob3V0U2xhc2giLCJ3aXRob3V0SW5jb21wbGV0ZVNsYXNoIiwiZ2V0TWVudGlvblVybCIsIk1lbnRpb25DaGlwIiwiX3JlZjciLCJub3JtYWxpemVkTGFiZWwiLCJ1cmwiLCJfc3BsaXRMYWJlbEZpcnN0V29yZDIiLCJoYW5kbGVDbGljayIsImhhbmRsZUtleURvd24iLCJoYXNJbmxpbmVNYXJrZXJzIiwiY29sbGVjdElubGluZU1hcmtlcnMiLCJtYXJrZXJzIiwibGFzdEluZGV4IiwibSIsImV4ZWMiLCJfbTIiLCJfbTMiLCJfc2xpY2VkVG9BcnJheSIsInB1c2giLCJraW5kIiwiaW5kZXgiLCJzIiwic29ydCIsImEiLCJiIiwicmVuZGVyVGV4dFdpdGhNZW50aW9ucyIsIm91dCIsImxhc3RJZHgiLCJmb3JFYWNoIiwibWFya2VyIiwiaW5saW5lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCBSZWFjdEVsZW1lbnQsIE1vdXNlRXZlbnQsIEtleWJvYXJkRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24sIENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQge1xuICBNRU5USU9OX0NISVBfQ09MT1JTLFxuICBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkcsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25DaGlwL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMnXG5pbXBvcnQgeyBTbGFzaENvbW1hbmRDaGlwIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9TbGFzaENvbW1hbmRDaGlwJ1xuaW1wb3J0IHsgU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVggfSBmcm9tICcuL3NsYXNoQ29tbWFuZE1hcmtlcidcbmltcG9ydCB7IFZJT0xFVF9JQV9DT0xPUlMgfSBmcm9tICcuLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgU0NUYXNrTGluayB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL25ld1N0eWxlcydcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4vY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwgfSBmcm9tICcuL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuL29wZW5UYXNrSW5Db3JQYW5lbCdcblxuLyoqXG4gKiBGb3JtYXRvIGRlbCBtYXJjYWRvciBxdWUgdmlhamEgZW4gZWwgdGV4dG8gZGVsIG1lbnNhamU6XG4gKiAgIFtbbWVudGlvbjo8dHlwZT46PGlkPnw8bGFiZWw+XV1cbiAqXG4gKiBFbCBlZGl0b3IgbG8gZW1pdGUgY3VhbmRvIHNlcmlhbGl6YSBlbCBjb250ZW50ZWRpdGFibGUsIGVsIGJhY2tlbmQgbG9cbiAqIHBlcnNpc3RlIHRhbCBjdWFsIHkgYWwgcmVuZGVyaXphciBzZSB0cmFuc2Zvcm1hIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uXG4gKiB1biBwcm90b2NvbG8gcHJvcGlvIHF1ZSBgQ3VzdG9tTGlua2AgaW50ZXJjZXB0YSB5IGRpYnVqYSBjb21vIHNwYW5cbiAqIGVzdGlsYWRvLlxuICpcbiAqIFBvciBzZXBhcmFkbywgbGEgbWV0YWRhdGEgYGNvbnRleHRfbWVzc2FnZWAgbGxldmEgbG9zIHZhbG9yZXMgbGltcGlvc1xuICogKGlkICsgbmFtZSkgcGFyYSBxdWUgZWwgYmFja2VuZCBwdWVkYSBpbnRlcnByZXRhciBsYXMgZW50aWRhZGVzIHNpblxuICogdGVuZXIgcXVlIHBhcnNlYXIgZWwgdGV4dG8uXG4gKi9cbi8qKlxuICogTGFiZWwgcHVlZGUgY29udGVuZXIgYF1gIChlajogXCJbRWR1Y2F0ZV1CbG9nIFBvc3QgLi4uXCIpLCBwb3IgZXNvXG4gKiBzZSBjYXB0dXJhIGRlIGZvcm1hIGxhenkgaGFzdGEgZWwgY2llcnJlIHJlYWwgYF1dYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246KGNsaWVudHxwcm9qZWN0fHRhc2t8dXNlcnxtY3ApOihbXnxcXF1dKylcXHwoW1xcc1xcU10qPylcXF1cXF0vZ1xuZXhwb3J0IGNvbnN0IE1BSUFfTUVOVElPTl9QUk9UT0NPTCA9ICdtYWlhLW1lbnRpb246Ly8nXG5jb25zdCBJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246W1xcc1xcU10qJC9cbmNvbnN0IElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYID0gL1xcW1xcW3NsYXNoX2NvbW1hbmQ6W158XFxdXStcXHwoW1xcc1xcU10qKSQvXG5cbmNvbnN0IEFMTE9XRURfVFlQRVM6IENvbnRleHRFbnRpdHlUeXBlW10gPSBbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snLCAndXNlcicsICdtY3AnXVxuXG5jb25zdCBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYgPSAoaHJlZjogc3RyaW5nKTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZyB9ID0+IHtcbiAgY29uc3QgcmVzdCA9IGhyZWYuc2xpY2UoTUFJQV9NRU5USU9OX1BST1RPQ09MLmxlbmd0aClcbiAgY29uc3Qgc2xhc2hJZHggPSByZXN0LmluZGV4T2YoJy8nKVxuICBjb25zdCByYXdUeXBlID0gc2xhc2hJZHggPj0gMCA/IHJlc3Quc2xpY2UoMCwgc2xhc2hJZHgpIDogcmVzdFxuICBjb25zdCByYXdJZCA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKHNsYXNoSWR4ICsgMSkgOiAnJ1xuICBsZXQgaWQgPSAnJ1xuICB0cnkge1xuICAgIGlkID0gcmF3SWQgPyBkZWNvZGVVUklDb21wb25lbnQocmF3SWQpIDogJydcbiAgfSBjYXRjaCB7XG4gICAgaWQgPSByYXdJZFxuICB9XG4gIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gIHJldHVybiB7IHR5cGUsIGlkIH1cbn1cblxuLyoqIEdlbmVyYSBlbCBtYXJjYWRvciBwYXJhIHVuIG1lbnRpb24gZGFkby4gTG8gdXNhIGVsIGVkaXRvciBhbCBzZXJpYWxpemFyLiAqL1xuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZU1lbnRpb24gPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBzdHJpbmcgPT5cbiAgYFtbbWVudGlvbjoke21lbnRpb24udHlwZX06JHttZW50aW9uLmlkfXwke21lbnRpb24ubGFiZWx9XV1gXG5cbi8qKlxuICogQ29udmllcnRlIGNhZGEgYFtbbWVudGlvbjouLi5dXWAgZW4gdW4gbGluayBtYXJrZG93biBjb24gcHJvdG9jb2xvIHByb3Bpb1xuICogcGFyYSBxdWUgU3RyZWFtZG93biBsbyBlbWl0YSBjb21vIGA8YT5gIHkgYEN1c3RvbUxpbmtgIGxvIGludGVyY2VwdGUuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiB0ZXh0XG4gIHJldHVybiB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgdHlwZSwgaWQsIGxhYmVsKSA9PiB7XG4gICAgY29uc3Qgc2FmZUxhYmVsID0gU3RyaW5nKGxhYmVsKS5yZXBsYWNlKC9bXFxcXFxcXV0vZywgJ1xcXFwkJicpXG4gICAgcmV0dXJuIGBbJHtzYWZlTGFiZWx9XSgke01BSUFfTUVOVElPTl9QUk9UT0NPTH0ke3R5cGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfSlgXG4gIH0pXG59XG5cbmNvbnN0IG1lbnRpb25DaGlsZHJlblRvTGFiZWwgPSAoY2hpbGRyZW46IFJlYWN0Tm9kZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnKSByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChjaGlsZHJlbilcbiAgaWYgKGNoaWxkcmVuID09IG51bGwgfHwgY2hpbGRyZW4gPT09IGZhbHNlKSByZXR1cm4gJydcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4ubWFwKGMgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgOiAnJykpLmpvaW4oJycpKVxuICB9XG4gIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhjaGlsZHJlbikpXG59XG5cbmNvbnN0IHNwbGl0TGFiZWxGaXJzdFdvcmQgPSAobGFiZWw6IHN0cmluZyk6IHsgZmlyc3RXb3JkOiBzdHJpbmc7IHJlc3Q6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpLnRyaW0oKVxuICBpZiAoIW5vcm1hbGl6ZWQpIHJldHVybiB7IGZpcnN0V29yZDogJycsIHJlc3Q6ICcnIH1cbiAgY29uc3QgZmlyc3RXaGl0ZXNwYWNlSWR4ID0gbm9ybWFsaXplZC5zZWFyY2goL1xccy8pXG4gIGlmIChmaXJzdFdoaXRlc3BhY2VJZHggPCAwKSByZXR1cm4geyBmaXJzdFdvcmQ6IG5vcm1hbGl6ZWQsIHJlc3Q6ICcnIH1cbiAgcmV0dXJuIHtcbiAgICBmaXJzdFdvcmQ6IG5vcm1hbGl6ZWQuc2xpY2UoMCwgZmlyc3RXaGl0ZXNwYWNlSWR4KSxcbiAgICByZXN0OiBub3JtYWxpemVkLnNsaWNlKGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gIH1cbn1cblxuY29uc3QgaW5saW5lTWVudGlvbkhvdmVyQ3NzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpc0NsaWNrYWJsZT86IGJvb2xlYW4pID0+IHtcbiAgY29uc3QgYmcgPSB0eXBlID09PSAncHJvamVjdCcgPyBWSU9MRVRfSUFfQ09MT1JTWzEwMF0gOiBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkdcbiAgcmV0dXJuIGNzc2BcbiAgICBiYWNrZ3JvdW5kOiAke2JnfTtcbiAgICBvcGFjaXR5OiAke2lzQ2xpY2thYmxlID8gMC45NSA6IDF9O1xuICBgXG59XG5cbi8qKiBTcGFuIGlubGluZSBlc3RpbGFkbyAobWVuY2lvbmVzIG5vLXRhc2sgZW4gY2hhdCkuICovXG5jb25zdCBTQ0lubGluZU1lbnRpb24gPSBzdHlsZWQuc3Bhbjx7ICR0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgJGlzQ2xpY2thYmxlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBtYXJnaW46IDAgMXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmJnfTtcbiAgY29sb3I6ICR7KHsgJHR5cGUgfSkgPT4gKE1FTlRJT05fQ0hJUF9DT0xPUlNbJHR5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlcikuZmd9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBjdXJzb3I6ICR7KHsgJGlzQ2xpY2thYmxlIH0pID0+ICgkaXNDbGlja2FibGUgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcpfTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXIge1xuICAgICR7KHsgJHR5cGUsICRpc0NsaWNrYWJsZSB9KSA9PiBpbmxpbmVNZW50aW9uSG92ZXJDc3MoJHR5cGUsICRpc0NsaWNrYWJsZSl9XG4gIH1cbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvbiA9IHN0eWxlZC5zcGFuPHsgJHRhc2s/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICB3aWR0aDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbiAgaGVpZ2h0OiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25JY29uUm93ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbldvcmQgPSBzdHlsZWQuc3BhbmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmBcblxuLyoqXG4gKiBTaSBlbCBocmVmIGNvcnJlc3BvbmRlIGFsIHByb3RvY29sbyBkZSBtZW50aW9uLCBkZXZ1ZWx2ZSB1biBub2RvIGVzdGlsYWRvIHBvciB0aXBvLlxuICogTGFzIHRhcmVhcyB1c2FuIGA8YT5gIGNvbW8gbG9zIGVubGFjZXMgZGUgdGFyZWEgZGVsIGFnZW50ZSAoYC5oYXMtdGFzay1saW5rc2ApLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyTWVudGlvbkxpbmsgPSAoaHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGlsZHJlbjogUmVhY3ROb2RlKTogUmVhY3ROb2RlIHwgbnVsbCA9PiB7XG4gIGlmICghaHJlZiB8fCAhaHJlZi5zdGFydHNXaXRoKE1BSUFfTUVOVElPTl9QUk9UT0NPTCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHsgdHlwZSwgaWQgfSA9IHBhcnNlTWVudGlvblByb3RvY29sSHJlZihocmVmKVxuICBjb25zdCBsYWJlbCA9IG1lbnRpb25DaGlsZHJlblRvTGFiZWwoY2hpbGRyZW4pXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgdGFza1VybCA9IGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuXG4gIGNvbnN0IGhhbmRsZVRhc2tDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRhc2tLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3Rhc2tVcmx9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVUYXNrQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlVGFza0tleURvd259XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgcHJvamVjdFVybCA9IGlzUHJvamVjdCA/IGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYCA6IG51bGxcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKGxhYmVsKVxuXG4gIGNvbnN0IGhhbmRsZVByb2plY3RDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIXByb2plY3RVcmwpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbihwcm9qZWN0VXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzUHJvamVjdH1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc1Byb2plY3QgPyBoYW5kbGVQcm9qZWN0Q2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc1Byb2plY3QgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc1Byb2plY3QgPyAwIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIHtzaG93SWNvbiA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0uZmcsIGlkLCBpY29uU2l6ZSl9XG4gICAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb24+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uV29yZD57Zmlyc3RXb3JkfTwvU0NJbmxpbmVNZW50aW9uV29yZD5cbiAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAge3Jlc3QgPyA8c3Bhbj57cmVzdH08L3NwYW4+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHshc2hvd0ljb24gPyBsYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuLyoqIFF1aXRhIGxvcyBtYXJrZXJzIGRlbCB0ZXh0bywgZGVqYW5kbyBzb2xvIGBsYWJlbGAuIMOadGlsIHBhcmEgZmFsbGJhY2sgcGxhbm8uICovXG5leHBvcnQgY29uc3Qgc3RyaXBNZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkpKVxuXG4vKipcbiAqIFTDrXR1bG9zIGRlIGNvbnZlcnNhY2nDs24gKHAuIGVqLiBgbGFzdF9xdWVzdGlvbmAgZGVyaXZhZG8gZGVsIHByaW1lciBtZW5zYWplKSBwdWVkZW5cbiAqIGluY2x1aXIgZWwgdGV4dG8gc2VyaWFsaXphZG8gYFtbbWVudGlvbjp0eXBlOmlkfGxhYmVsXV1gLiBQYXJhIHNpZGViYXIgeSBsaXN0YWRvcyxcbiAqIHJlZW1wbGF6YSBjYWRhIGJsb3F1ZSBwb3IgYGxhYmVsYCBlbiB0ZXh0byBwbGFubywgc2luIGVsIG1hcmNhZG9yIGNydWRvLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zID0gKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAodGV4dCA9PSBudWxsIHx8IHRleHQgPT09ICcnKSByZXR1cm4gdGV4dCA/PyAnJ1xuICBjb25zdCB3aXRob3V0TWVudGlvbnMgPSB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+XG4gICAgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpLnRyaW0oKSlcbiAgKVxuICBjb25zdCBzbGFzaFJlZ2V4ID0gbmV3IFJlZ0V4cChTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWC5zb3VyY2UsICdnJylcbiAgY29uc3Qgd2l0aG91dFNsYXNoID0gd2l0aG91dE1lbnRpb25zLnJlcGxhY2Uoc2xhc2hSZWdleCwgKF9tLCBfaWQsIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YClcbiAgY29uc3Qgd2l0aG91dEluY29tcGxldGVTbGFzaCA9IHdpdGhvdXRTbGFzaC5yZXBsYWNlKFxuICAgIElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYLFxuICAgIChfbSwgbGFiZWwpID0+IGAvJHtTdHJpbmcobGFiZWwpLnRyaW0oKX1gXG4gIClcbiAgcmV0dXJuIHdpdGhvdXRJbmNvbXBsZXRlU2xhc2gucmVwbGFjZShJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYLCAnJykudHJpbSgpXG59XG5cbi8qKiBHZW5lcmEgbGEgVVJMIGRlIG5hdmVnYWNpw7NuIHBhcmEgdW4gbWVudGlvbiBzZWfDum4gc3UgdGlwby4gKi9cbmNvbnN0IGdldE1lbnRpb25VcmwgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlkOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiBgL2NsaWVudHMvJHtpZH1gXG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gYC9wcm9qZWN0cy8ke2lkfS9kYXNoYm9hcmRgXG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gYC90YXNrcy8ke2lkfS9kZXRhaWxgXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gbnVsbCAvLyBMb3MgdXNlcnMgbm8gc29uIGNsaWNrZWFibGVzXG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIHJldHVybiBudWxsXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuY29uc3QgTWVudGlvbkNoaXAgPSAoeyB0eXBlLCBpZCwgbGFiZWwgfTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRMYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpXG4gIGNvbnN0IHVybCA9IGdldE1lbnRpb25VcmwodHlwZSwgaWQpXG4gIGNvbnN0IGlzQ2xpY2thYmxlID0gISF1cmxcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKG5vcm1hbGl6ZWRMYWJlbClcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT1cInRhc2tcIlxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzQ2xpY2thYmxlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzQ2xpY2thYmxlID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc0NsaWNrYWJsZSA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzQ2xpY2thYmxlID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbldvcmQ+e2ZpcnN0V29yZH08L1NDSW5saW5lTWVudGlvbldvcmQ+XG4gICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgIHtyZXN0ID8gPHNwYW4+e3Jlc3R9PC9zcGFuPiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXNob3dJY29uID8gbm9ybWFsaXplZExhYmVsIDogbnVsbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgaGFzSW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gZmFsc2VcbiAgcmV0dXJuIHRleHQuaW5jbHVkZXMoJ1tbbWVudGlvbjonKSB8fCB0ZXh0LmluY2x1ZGVzKCdbW3NsYXNoX2NvbW1hbmQ6Jylcbn1cblxudHlwZSBJbmxpbmVNYXJrZXIgPVxuICB8IHsga2luZDogJ21lbnRpb24nOyBpbmRleDogbnVtYmVyOyBsZW5ndGg6IG51bWJlcjsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuICB8IHsga2luZDogJ3NsYXNoJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuXG5jb25zdCBjb2xsZWN0SW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBJbmxpbmVNYXJrZXJbXSA9PiB7XG4gIGNvbnN0IG1hcmtlcnM6IElubGluZU1hcmtlcltdID0gW11cblxuICBNRU5USU9OX01BUktFUl9SRUdFWC5sYXN0SW5kZXggPSAwXG4gIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB3aGlsZSAobSkge1xuICAgIGNvbnN0IFssIHJhd1R5cGUsIGlkLCBsYWJlbF0gPSBtXG4gICAgY29uc3QgdHlwZSA9IEFMTE9XRURfVFlQRVMuaW5jbHVkZXMocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgPyAocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgOiAndXNlcidcbiAgICBtYXJrZXJzLnB1c2goeyBraW5kOiAnbWVudGlvbicsIGluZGV4OiBtLmluZGV4LCBsZW5ndGg6IG1bMF0ubGVuZ3RoLCB0eXBlLCBpZCwgbGFiZWwgfSlcbiAgICBtID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB9XG5cbiAgY29uc3Qgc2xhc2hSZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGxldCBzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIHdoaWxlIChzKSB7XG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ3NsYXNoJywgaW5kZXg6IHMuaW5kZXgsIGxlbmd0aDogc1swXS5sZW5ndGgsIGlkOiBzWzFdLCBsYWJlbDogc1syXSB9KVxuICAgIHMgPSBzbGFzaFJlZ2V4LmV4ZWModGV4dClcbiAgfVxuXG4gIHJldHVybiBtYXJrZXJzLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KVxufVxuXG5leHBvcnQgY29uc3QgcmVuZGVyVGV4dFdpdGhNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gW3RleHRdXG4gIGNvbnN0IG1hcmtlcnMgPSBjb2xsZWN0SW5saW5lTWFya2Vycyh0ZXh0KVxuICBpZiAobWFya2Vycy5sZW5ndGggPT09IDApIHJldHVybiBbdGV4dF1cblxuICBjb25zdCBvdXQ6IEFycmF5PHN0cmluZyB8IFJlYWN0RWxlbWVudD4gPSBbXVxuICBsZXQgbGFzdElkeCA9IDBcbiAgbWFya2Vycy5mb3JFYWNoKG1hcmtlciA9PiB7XG4gICAgaWYgKG1hcmtlci5pbmRleCA+IGxhc3RJZHgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCwgbWFya2VyLmluZGV4KSlcbiAgICBpZiAobWFya2VyLmtpbmQgPT09ICdtZW50aW9uJykge1xuICAgICAgb3V0LnB1c2goXG4gICAgICAgIDxNZW50aW9uQ2hpcFxuICAgICAgICAgIGtleT17YG1lbnRpb24tJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLnR5cGV9LSR7bWFya2VyLmlkfWB9XG4gICAgICAgICAgdHlwZT17bWFya2VyLnR5cGV9XG4gICAgICAgICAgaWQ9e21hcmtlci5pZH1cbiAgICAgICAgICBsYWJlbD17bWFya2VyLmxhYmVsfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXQucHVzaCg8U2xhc2hDb21tYW5kQ2hpcCBrZXk9e2BzbGFzaC0ke21hcmtlci5pbmRleH0tJHttYXJrZXIuaWR9YH0gbGFiZWw9e21hcmtlci5sYWJlbH0gaW5saW5lPXtmYWxzZX0gLz4pXG4gICAgfVxuICAgIGxhc3RJZHggPSBtYXJrZXIuaW5kZXggKyBtYXJrZXIubGVuZ3RoXG4gIH0pXG4gIGlmIChsYXN0SWR4IDwgdGV4dC5sZW5ndGgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCkpXG4gIHJldHVybiBvdXRcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUMvQyxTQUE0Q0MsMEJBQTBCLFFBQVEseUJBQXlCO0FBQ3ZHLFNBQ0VDLG1CQUFtQixFQUNuQkMsOEJBQThCLFFBQ3pCLGtFQUFrRTtBQUN6RSxTQUFTQyxnQkFBZ0IsUUFBUSxzQ0FBc0M7QUFDdkUsU0FBU0MsMEJBQTBCLFFBQVEsc0JBQXNCO0FBQ2pFLFNBQVNDLGdCQUFnQixRQUFRLGtCQUFrQjtBQUNuRCxTQUFTQyxVQUFVLFFBQVEsa0RBQWtEO0FBQzdFLFNBQVNDLHFCQUFxQixRQUFRLHVCQUF1QjtBQUM3RCxTQUFTQyw0QkFBNEIsUUFBUSx1QkFBdUI7QUFDcEUsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFB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
|
|
392
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJTQ0lubGluZU1lbnRpb25SZXN0IiwicmVuZGVyTWVudGlvbkxpbmsiLCJzdGFydHNXaXRoIiwiX3BhcnNlTWVudGlvblByb3RvY29sIiwiaXNUYXNrIiwiaWNvblNpemUiLCJ0YXNrVXJsIiwiaGFuZGxlVGFza0NsaWNrIiwiZSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYXNrS2V5RG93biIsImtleSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJvbktleURvd24iLCJpc1Byb2plY3QiLCJwcm9qZWN0VXJsIiwic2hvd0ljb24iLCJfc3BsaXRMYWJlbEZpcnN0V29yZCIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0TWVudGlvbnMiLCJzbGFzaFJlZ2V4IiwiUmVnRXhwIiwic291cmNlIiwid2l0aG91dFNsYXNoIiwid2l0aG91dEluY29tcGxldGVTbGFzaCIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiX3NwbGl0TGFiZWxGaXJzdFdvcmQyIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiaGFzSW5saW5lTWFya2VycyIsImNvbGxlY3RJbmxpbmVNYXJrZXJzIiwibWFya2VycyIsImxhc3RJbmRleCIsIm0iLCJleGVjIiwiX20yIiwiX20zIiwiX3NsaWNlZFRvQXJyYXkiLCJwdXNoIiwia2luZCIsImluZGV4IiwicyIsInNvcnQiLCJhIiwiYiIsInJlbmRlclRleHRXaXRoTWVudGlvbnMiLCJvdXQiLCJsYXN0SWR4IiwiZm9yRWFjaCIsIm1hcmtlciIsImlubGluZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgUmVhY3RFbGVtZW50LCBNb3VzZUV2ZW50LCBLZXlib2FyZEV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uLCBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHtcbiAgTUVOVElPTl9DSElQX0NPTE9SUyxcbiAgTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU2xhc2hDb21tYW5kQ2hpcCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvU2xhc2hDb21tYW5kQ2hpcCdcbmltcG9ydCB7IFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYIH0gZnJvbSAnLi9zbGFzaENvbW1hbmRNYXJrZXInXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IFNDVGFza0xpbmsgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi9vcGVuVGFza0luQ29yUGFuZWwnXG5cbi8qKlxuICogRm9ybWF0byBkZWwgbWFyY2Fkb3IgcXVlIHZpYWphIGVuIGVsIHRleHRvIGRlbCBtZW5zYWplOlxuICogICBbW21lbnRpb246PHR5cGU+OjxpZD58PGxhYmVsPl1dXG4gKlxuICogRWwgZWRpdG9yIGxvIGVtaXRlIGN1YW5kbyBzZXJpYWxpemEgZWwgY29udGVudGVkaXRhYmxlLCBlbCBiYWNrZW5kIGxvXG4gKiBwZXJzaXN0ZSB0YWwgY3VhbCB5IGFsIHJlbmRlcml6YXIgc2UgdHJhbnNmb3JtYSBlbiB1biBsaW5rIG1hcmtkb3duIGNvblxuICogdW4gcHJvdG9jb2xvIHByb3BpbyBxdWUgYEN1c3RvbUxpbmtgIGludGVyY2VwdGEgeSBkaWJ1amEgY29tbyBzcGFuXG4gKiBlc3RpbGFkby5cbiAqXG4gKiBQb3Igc2VwYXJhZG8sIGxhIG1ldGFkYXRhIGBjb250ZXh0X21lc3NhZ2VgIGxsZXZhIGxvcyB2YWxvcmVzIGxpbXBpb3NcbiAqIChpZCArIG5hbWUpIHBhcmEgcXVlIGVsIGJhY2tlbmQgcHVlZGEgaW50ZXJwcmV0YXIgbGFzIGVudGlkYWRlcyBzaW5cbiAqIHRlbmVyIHF1ZSBwYXJzZWFyIGVsIHRleHRvLlxuICovXG4vKipcbiAqIExhYmVsIHB1ZWRlIGNvbnRlbmVyIGBdYCAoZWo6IFwiW0VkdWNhdGVdQmxvZyBQb3N0IC4uLlwiKSwgcG9yIGVzb1xuICogc2UgY2FwdHVyYSBkZSBmb3JtYSBsYXp5IGhhc3RhIGVsIGNpZXJyZSByZWFsIGBdXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOihjbGllbnR8cHJvamVjdHx0YXNrfHVzZXJ8bWNwKTooW158XFxdXSspXFx8KFtcXHNcXFNdKj8pXFxdXFxdL2dcbmV4cG9ydCBjb25zdCBNQUlBX01FTlRJT05fUFJPVE9DT0wgPSAnbWFpYS1tZW50aW9uOi8vJ1xuY29uc3QgSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOltcXHNcXFNdKiQvXG5jb25zdCBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCA9IC9cXFtcXFtzbGFzaF9jb21tYW5kOltefFxcXV0rXFx8KFtcXHNcXFNdKikkL1xuXG5jb25zdCBBTExPV0VEX1RZUEVTOiBDb250ZXh0RW50aXR5VHlwZVtdID0gWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJywgJ3VzZXInLCAnbWNwJ11cblxuY29uc3QgcGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmID0gKGhyZWY6IHN0cmluZyk6IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHJlc3QgPSBocmVmLnNsaWNlKE1BSUFfTUVOVElPTl9QUk9UT0NPTC5sZW5ndGgpXG4gIGNvbnN0IHNsYXNoSWR4ID0gcmVzdC5pbmRleE9mKCcvJylcbiAgY29uc3QgcmF3VHlwZSA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKDAsIHNsYXNoSWR4KSA6IHJlc3RcbiAgY29uc3QgcmF3SWQgPSBzbGFzaElkeCA+PSAwID8gcmVzdC5zbGljZShzbGFzaElkeCArIDEpIDogJydcbiAgbGV0IGlkID0gJydcbiAgdHJ5IHtcbiAgICBpZCA9IHJhd0lkID8gZGVjb2RlVVJJQ29tcG9uZW50KHJhd0lkKSA6ICcnXG4gIH0gY2F0Y2gge1xuICAgIGlkID0gcmF3SWRcbiAgfVxuICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuICByZXR1cm4geyB0eXBlLCBpZCB9XG59XG5cbi8qKiBHZW5lcmEgZWwgbWFyY2Fkb3IgcGFyYSB1biBtZW50aW9uIGRhZG8uIExvIHVzYSBlbCBlZGl0b3IgYWwgc2VyaWFsaXphci4gKi9cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVNZW50aW9uID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogc3RyaW5nID0+XG4gIGBbW21lbnRpb246JHttZW50aW9uLnR5cGV9OiR7bWVudGlvbi5pZH18JHttZW50aW9uLmxhYmVsfV1dYFxuXG4vKipcbiAqIENvbnZpZXJ0ZSBjYWRhIGBbW21lbnRpb246Li4uXV1gIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uIHByb3RvY29sbyBwcm9waW9cbiAqIHBhcmEgcXVlIFN0cmVhbWRvd24gbG8gZW1pdGEgY29tbyBgPGE+YCB5IGBDdXN0b21MaW5rYCBsbyBpbnRlcmNlcHRlLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gdGV4dFxuICByZXR1cm4gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIHR5cGUsIGlkLCBsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHNhZmVMYWJlbCA9IFN0cmluZyhsYWJlbCkucmVwbGFjZSgvW1xcXFxcXF1dL2csICdcXFxcJCYnKVxuICAgIHJldHVybiBgWyR7c2FmZUxhYmVsfV0oJHtNQUlBX01FTlRJT05fUFJPVE9DT0x9JHt0eXBlfS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0pYFxuICB9KVxufVxuXG5jb25zdCBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsID0gKGNoaWxkcmVuOiBSZWFjdE5vZGUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJykgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4pXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsIHx8IGNoaWxkcmVuID09PSBmYWxzZSkgcmV0dXJuICcnXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGNoaWxkcmVuLm1hcChjID0+ICh0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyBjIDogJycpKS5qb2luKCcnKSlcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcoY2hpbGRyZW4pKVxufVxuXG5jb25zdCBzcGxpdExhYmVsRmlyc3RXb3JkID0gKGxhYmVsOiBzdHJpbmcpOiB7IGZpcnN0V29yZDogc3RyaW5nOyByZXN0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4geyBmaXJzdFdvcmQ6ICcnLCByZXN0OiAnJyB9XG4gIGNvbnN0IGZpcnN0V2hpdGVzcGFjZUlkeCA9IG5vcm1hbGl6ZWQuc2VhcmNoKC9cXHMvKVxuICBpZiAoZmlyc3RXaGl0ZXNwYWNlSWR4IDwgMCkgcmV0dXJuIHsgZmlyc3RXb3JkOiBub3JtYWxpemVkLCByZXN0OiAnJyB9XG4gIHJldHVybiB7XG4gICAgZmlyc3RXb3JkOiBub3JtYWxpemVkLnNsaWNlKDAsIGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gICAgcmVzdDogbm9ybWFsaXplZC5zbGljZShmaXJzdFdoaXRlc3BhY2VJZHgpLFxuICB9XG59XG5cbmNvbnN0IGlubGluZU1lbnRpb25Ib3ZlckNzcyA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgaXNDbGlja2FibGU/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IGJnID0gdHlwZSA9PT0gJ3Byb2plY3QnID8gVklPTEVUX0lBX0NPTE9SU1sxMDBdIDogTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHXG4gIHJldHVybiBjc3NgXG4gICAgYmFja2dyb3VuZDogJHtiZ307XG4gICAgb3BhY2l0eTogJHtpc0NsaWNrYWJsZSA/IDAuOTUgOiAxfTtcbiAgYFxufVxuXG4vKiogU3BhbiBpbmxpbmUgZXN0aWxhZG8gKG1lbmNpb25lcyBuby10YXNrIGVuIGNoYXQpLiAqL1xuY29uc3QgU0NJbmxpbmVNZW50aW9uID0gc3R5bGVkLnNwYW48eyAkdHlwZTogQ29udGV4dEVudGl0eVR5cGU7ICRpc0NsaWNrYWJsZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5iZ307XG4gIGNvbG9yOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmZnfTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgY3Vyc29yOiAkeyh7ICRpc0NsaWNrYWJsZSB9KSA9PiAoJGlzQ2xpY2thYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnKX07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICR0eXBlLCAkaXNDbGlja2FibGUgfSkgPT4gaW5saW5lTWVudGlvbkhvdmVyQ3NzKCR0eXBlLCAkaXNDbGlja2FibGUpfVxuICB9XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbkljb24gPSBzdHlsZWQuc3Bhbjx7ICR0YXNrPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgd2lkdGg6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGhlaWdodDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvblJvdyA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25Xb3JkID0gc3R5bGVkLnNwYW5gXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvblJlc3QgPSBzdHlsZWQuc3BhbmBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmBcblxuLyoqXG4gKiBTaSBlbCBocmVmIGNvcnJlc3BvbmRlIGFsIHByb3RvY29sbyBkZSBtZW50aW9uLCBkZXZ1ZWx2ZSB1biBub2RvIGVzdGlsYWRvIHBvciB0aXBvLlxuICogTGFzIHRhcmVhcyB1c2FuIGA8YT5gIGNvbW8gbG9zIGVubGFjZXMgZGUgdGFyZWEgZGVsIGFnZW50ZSAoYC5oYXMtdGFzay1saW5rc2ApLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyTWVudGlvbkxpbmsgPSAoaHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGlsZHJlbjogUmVhY3ROb2RlKTogUmVhY3ROb2RlIHwgbnVsbCA9PiB7XG4gIGlmICghaHJlZiB8fCAhaHJlZi5zdGFydHNXaXRoKE1BSUFfTUVOVElPTl9QUk9UT0NPTCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHsgdHlwZSwgaWQgfSA9IHBhcnNlTWVudGlvblByb3RvY29sSHJlZihocmVmKVxuICBjb25zdCBsYWJlbCA9IG1lbnRpb25DaGlsZHJlblRvTGFiZWwoY2hpbGRyZW4pXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgdGFza1VybCA9IGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuXG4gIGNvbnN0IGhhbmRsZVRhc2tDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRhc2tLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3Rhc2tVcmx9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVUYXNrQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlVGFza0tleURvd259XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgcHJvamVjdFVybCA9IGlzUHJvamVjdCA/IGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYCA6IG51bGxcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKGxhYmVsKVxuXG4gIGNvbnN0IGhhbmRsZVByb2plY3RDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIXByb2plY3RVcmwpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbihwcm9qZWN0VXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzUHJvamVjdH1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc1Byb2plY3QgPyBoYW5kbGVQcm9qZWN0Q2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc1Byb2plY3QgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc1Byb2plY3QgPyAwIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIHtzaG93SWNvbiA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0uZmcsIGlkLCBpY29uU2l6ZSl9XG4gICAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb24+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uV29yZD57Zmlyc3RXb3JkfTwvU0NJbmxpbmVNZW50aW9uV29yZD5cbiAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAge3Jlc3QgPyA8U0NJbmxpbmVNZW50aW9uUmVzdD57cmVzdH08L1NDSW5saW5lTWVudGlvblJlc3Q+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHshc2hvd0ljb24gPyBsYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuLyoqIFF1aXRhIGxvcyBtYXJrZXJzIGRlbCB0ZXh0bywgZGVqYW5kbyBzb2xvIGBsYWJlbGAuIMOadGlsIHBhcmEgZmFsbGJhY2sgcGxhbm8uICovXG5leHBvcnQgY29uc3Qgc3RyaXBNZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkpKVxuXG4vKipcbiAqIFTDrXR1bG9zIGRlIGNvbnZlcnNhY2nDs24gKHAuIGVqLiBgbGFzdF9xdWVzdGlvbmAgZGVyaXZhZG8gZGVsIHByaW1lciBtZW5zYWplKSBwdWVkZW5cbiAqIGluY2x1aXIgZWwgdGV4dG8gc2VyaWFsaXphZG8gYFtbbWVudGlvbjp0eXBlOmlkfGxhYmVsXV1gLiBQYXJhIHNpZGViYXIgeSBsaXN0YWRvcyxcbiAqIHJlZW1wbGF6YSBjYWRhIGJsb3F1ZSBwb3IgYGxhYmVsYCBlbiB0ZXh0byBwbGFubywgc2luIGVsIG1hcmNhZG9yIGNydWRvLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zID0gKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAodGV4dCA9PSBudWxsIHx8IHRleHQgPT09ICcnKSByZXR1cm4gdGV4dCA/PyAnJ1xuICBjb25zdCB3aXRob3V0TWVudGlvbnMgPSB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+XG4gICAgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpLnRyaW0oKSlcbiAgKVxuICBjb25zdCBzbGFzaFJlZ2V4ID0gbmV3IFJlZ0V4cChTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWC5zb3VyY2UsICdnJylcbiAgY29uc3Qgd2l0aG91dFNsYXNoID0gd2l0aG91dE1lbnRpb25zLnJlcGxhY2Uoc2xhc2hSZWdleCwgKF9tLCBfaWQsIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YClcbiAgY29uc3Qgd2l0aG91dEluY29tcGxldGVTbGFzaCA9IHdpdGhvdXRTbGFzaC5yZXBsYWNlKFxuICAgIElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYLFxuICAgIChfbSwgbGFiZWwpID0+IGAvJHtTdHJpbmcobGFiZWwpLnRyaW0oKX1gXG4gIClcbiAgcmV0dXJuIHdpdGhvdXRJbmNvbXBsZXRlU2xhc2gucmVwbGFjZShJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYLCAnJykudHJpbSgpXG59XG5cbi8qKiBHZW5lcmEgbGEgVVJMIGRlIG5hdmVnYWNpw7NuIHBhcmEgdW4gbWVudGlvbiBzZWfDum4gc3UgdGlwby4gKi9cbmNvbnN0IGdldE1lbnRpb25VcmwgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlkOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiBgL2NsaWVudHMvJHtpZH1gXG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gYC9wcm9qZWN0cy8ke2lkfS9kYXNoYm9hcmRgXG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gYC90YXNrcy8ke2lkfS9kZXRhaWxgXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gbnVsbCAvLyBMb3MgdXNlcnMgbm8gc29uIGNsaWNrZWFibGVzXG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIHJldHVybiBudWxsXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuY29uc3QgTWVudGlvbkNoaXAgPSAoeyB0eXBlLCBpZCwgbGFiZWwgfTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRMYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpXG4gIGNvbnN0IHVybCA9IGdldE1lbnRpb25VcmwodHlwZSwgaWQpXG4gIGNvbnN0IGlzQ2xpY2thYmxlID0gISF1cmxcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKG5vcm1hbGl6ZWRMYWJlbClcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT1cInRhc2tcIlxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzQ2xpY2thYmxlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzQ2xpY2thYmxlID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc0NsaWNrYWJsZSA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzQ2xpY2thYmxlID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbldvcmQ+e2ZpcnN0V29yZH08L1NDSW5saW5lTWVudGlvbldvcmQ+XG4gICAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgIHtyZXN0ID8gPFNDSW5saW5lTWVudGlvblJlc3Q+e3Jlc3R9PC9TQ0lubGluZU1lbnRpb25SZXN0PiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IXNob3dJY29uID8gbm9ybWFsaXplZExhYmVsIDogbnVsbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgaGFzSW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gZmFsc2VcbiAgcmV0dXJuIHRleHQuaW5jbHVkZXMoJ1tbbWVudGlvbjonKSB8fCB0ZXh0LmluY2x1ZGVzKCdbW3NsYXNoX2NvbW1hbmQ6Jylcbn1cblxudHlwZSBJbmxpbmVNYXJrZXIgPVxuICB8IHsga2luZDogJ21lbnRpb24nOyBpbmRleDogbnVtYmVyOyBsZW5ndGg6IG51bWJlcjsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuICB8IHsga2luZDogJ3NsYXNoJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVxuXG5jb25zdCBjb2xsZWN0SW5saW5lTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBJbmxpbmVNYXJrZXJbXSA9PiB7XG4gIGNvbnN0IG1hcmtlcnM6IElubGluZU1hcmtlcltdID0gW11cblxuICBNRU5USU9OX01BUktFUl9SRUdFWC5sYXN0SW5kZXggPSAwXG4gIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB3aGlsZSAobSkge1xuICAgIGNvbnN0IFssIHJhd1R5cGUsIGlkLCBsYWJlbF0gPSBtXG4gICAgY29uc3QgdHlwZSA9IEFMTE9XRURfVFlQRVMuaW5jbHVkZXMocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgPyAocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgOiAndXNlcidcbiAgICBtYXJrZXJzLnB1c2goeyBraW5kOiAnbWVudGlvbicsIGluZGV4OiBtLmluZGV4LCBsZW5ndGg6IG1bMF0ubGVuZ3RoLCB0eXBlLCBpZCwgbGFiZWwgfSlcbiAgICBtID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICB9XG5cbiAgY29uc3Qgc2xhc2hSZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGxldCBzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIHdoaWxlIChzKSB7XG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ3NsYXNoJywgaW5kZXg6IHMuaW5kZXgsIGxlbmd0aDogc1swXS5sZW5ndGgsIGlkOiBzWzFdLCBsYWJlbDogc1syXSB9KVxuICAgIHMgPSBzbGFzaFJlZ2V4LmV4ZWModGV4dClcbiAgfVxuXG4gIHJldHVybiBtYXJrZXJzLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KVxufVxuXG5leHBvcnQgY29uc3QgcmVuZGVyVGV4dFdpdGhNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gW3RleHRdXG4gIGNvbnN0IG1hcmtlcnMgPSBjb2xsZWN0SW5saW5lTWFya2Vycyh0ZXh0KVxuICBpZiAobWFya2Vycy5sZW5ndGggPT09IDApIHJldHVybiBbdGV4dF1cblxuICBjb25zdCBvdXQ6IEFycmF5PHN0cmluZyB8IFJlYWN0RWxlbWVudD4gPSBbXVxuICBsZXQgbGFzdElkeCA9IDBcbiAgbWFya2Vycy5mb3JFYWNoKG1hcmtlciA9PiB7XG4gICAgaWYgKG1hcmtlci5pbmRleCA+IGxhc3RJZHgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCwgbWFya2VyLmluZGV4KSlcbiAgICBpZiAobWFya2VyLmtpbmQgPT09ICdtZW50aW9uJykge1xuICAgICAgb3V0LnB1c2goXG4gICAgICAgIDxNZW50aW9uQ2hpcFxuICAgICAgICAgIGtleT17YG1lbnRpb24tJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLnR5cGV9LSR7bWFya2VyLmlkfWB9XG4gICAgICAgICAgdHlwZT17bWFya2VyLnR5cGV9XG4gICAgICAgICAgaWQ9e21hcmtlci5pZH1cbiAgICAgICAgICBsYWJlbD17bWFya2VyLmxhYmVsfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXQucHVzaCg8U2xhc2hDb21tYW5kQ2hpcCBrZXk9e2BzbGFzaC0ke21hcmtlci5pbmRleH0tJHttYXJrZXIuaWR9YH0gbGFiZWw9e21hcmtlci5sYWJlbH0gaW5saW5lPXtmYWxzZX0gLz4pXG4gICAgfVxuICAgIGxhc3RJZHggPSBtYXJrZXIuaW5kZXggKyBtYXJrZXIubGVuZ3RoXG4gIH0pXG4gIGlmIChsYXN0SWR4IDwgdGV4dC5sZW5ndGgpIG91dC5wdXNoKHRleHQuc2xpY2UobGFzdElkeCkpXG4gIHJldHVybiBvdXRcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUMvQyxTQUE0Q0MsMEJBQTBCLFFBQVEseUJBQXlCO0FBQ3ZHLFNBQ0VDLG1CQUFtQixFQUNuQkMsOEJBQThCLFFBQ3pCLGtFQUFrRTtBQUN6RSxTQUFTQyxnQkFBZ0IsUUFBUSxzQ0FBc0M7QUFDdkUsU0FBU0MsMEJBQTBCLFFBQVEsc0JBQXNCO0FBQ2pFLFNBQVNDLGdCQUFnQixRQUFRLGtCQUFrQjtBQUNuRCxTQUFTQyxVQUFVLFFBQVEsa0RBQWtEO0FBQzdFLFNBQVNDLHFCQUFxQixRQUFRLHVCQUF1QjtBQUM3RCxTQUFTQyw0QkFBNEIsUUFBUSx1QkFBdUI7QUFDcEUsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFJQSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLHVFQUF1RTtBQUMzRyxPQUFPLElBQU1DLHFCQUFxQixHQUFHLGlCQUFpQjtBQUN0RCxJQUFNQywrQkFBK0IsR0FBRyxzQkFBc0I7QUFDOUQsSUFBTUMsNkJBQTZCLEdBQUcsdUNBQXVDO0FBRTdFLElBQU1DLGFBQWtDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0FBRXZGLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlDLElBQVksRUFBOEM7RUFDMUYsSUFBTUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLEtBQUssQ0FBQ1AscUJBQXFCLENBQUNRLE1BQU0sQ0FBQztFQUNyRCxJQUFNQyxRQUFRLEdBQUdILElBQUksQ0FBQ0ksT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNsQyxJQUFNQyxPQUFPLEdBQUdGLFFBQVEsSUFBSSxDQUFDLEdBQUdILElBQUksQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRUUsUUFBUSxDQUFDLEdBQUdILElBQUk7RUFDOUQsSUFBTU0sS0FBSyxHQUFHSCxRQUFRLElBQUksQ0FBQyxHQUFHSCxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7RUFDM0QsSUFBSUksRUFBRSxHQUFHLEVBQUU7RUFDWCxJQUFJO0lBQ0ZBLEVBQUUsR0FBR0QsS0FBSyxHQUFHRSxrQkFBa0IsQ0FBQ0YsS0FBSyxDQUFDLEdBQUcsRUFBRTtFQUM3QyxDQUFDLENBQUMsT0FBQUcsT0FBQSxFQUFNO0lBQ05GLEVBQUUsR0FBR0QsS0FBSztFQUNaO0VBQ0EsSUFBTUksSUFBSSxHQUFHYixhQUFhLENBQUNjLFFBQVEsQ0FBQ04sT0FBNEIsQ0FBQyxHQUFJQSxPQUFPLEdBQXlCLE1BQU07RUFDM0csT0FBTztJQUFFSyxJQUFJLEVBQUpBLElBQUk7SUFBRUgsRUFBRSxFQUFGQTtFQUFHLENBQUM7QUFDckIsQ0FBQzs7QUFFRDtBQUNBLE9BQU8sSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsT0FBdUI7RUFBQSxvQkFBQUMsTUFBQSxDQUN6Q0QsT0FBTyxDQUFDSCxJQUFJLE9BQUFJLE1BQUEsQ0FBSUQsT0FBTyxDQUFDTixFQUFFLE9BQUFPLE1BQUEsQ0FBSUQsT0FBTyxDQUFDRSxLQUFLO0FBQUEsQ0FBSTs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLElBQVksRUFBYTtFQUMvRCxJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPQSxJQUFJO0VBQ3RCLE9BQU9BLElBQUksQ0FBQ0MsT0FBTyxDQUFDekIsb0JBQW9CLEVBQUUsVUFBQzBCLEVBQUUsRUFBRVQsSUFBSSxFQUFFSCxFQUFFLEVBQUVRLEtBQUssRUFBSztJQUNqRSxJQUFNSyxTQUFTLEdBQUdDLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUNHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQzFELFdBQUFKLE1BQUEsQ0FBV00sU0FBUyxRQUFBTixNQUFBLENBQUtwQixxQkFBcUIsRUFBQW9CLE1BQUEsQ0FBR0osSUFBSSxPQUFBSSxNQUFBLENBQUlRLGtCQUFrQixDQUFDRCxNQUFNLENBQUNkLEVBQUUsQ0FBQyxDQUFDO0VBQ3pGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxJQUFNZ0Isc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsUUFBbUIsRUFBYTtFQUM5RCxJQUFJLE9BQU9BLFFBQVEsS0FBSyxRQUFRLEVBQUUsT0FBT3ZDLDRCQUE0QixDQUFDdUMsUUFBUSxDQUFDO0VBQy9FLElBQUlBLFFBQVEsSUFBSSxJQUFJLElBQUlBLFFBQVEsS0FBSyxLQUFLLEVBQUUsT0FBTyxFQUFFO0VBQ3JELElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsRUFBRTtJQUMzQixPQUFPdkMsNEJBQTRCLENBQUN1QyxRQUFRLENBQUNHLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO01BQUEsT0FBSyxPQUFPQSxDQUFDLEtBQUssUUFBUSxHQUFHQSxDQUFDLEdBQUcsRUFBRTtJQUFBLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDbkc7RUFDQSxPQUFPNUMsNEJBQTRCLENBQUNvQyxNQUFNLENBQUNHLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxJQUFNTSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJZixLQUFhLEVBQTBDO0VBQ2xGLElBQU1nQixVQUFVLEdBQUc5Qyw0QkFBNEIsQ0FBQzhCLEtBQUssQ0FBQyxDQUFDaUIsSUFBSSxDQUFDLENBQUM7RUFDN0QsSUFBSSxDQUFDRCxVQUFVLEVBQUUsT0FBTztJQUFFRSxTQUFTLEVBQUUsRUFBRTtJQUFFakMsSUFBSSxFQUFFO0VBQUcsQ0FBQztFQUNuRCxJQUFNa0Msa0JBQWtCLEdBQUdILFVBQVUsQ0FBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQztFQUNsRCxJQUFJRCxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsT0FBTztJQUFFRCxTQUFTLEVBQUVGLFVBQVU7SUFBRS9CLElBQUksRUFBRTtFQUFHLENBQUM7RUFDdEUsT0FBTztJQUNMaUMsU0FBUyxFQUFFRixVQUFVLENBQUM5QixLQUFLLENBQUMsQ0FBQyxFQUFFaUMsa0JBQWtCLENBQUM7SUFDbERsQyxJQUFJLEVBQUUrQixVQUFVLENBQUM5QixLQUFLLENBQUNpQyxrQkFBa0I7RUFDM0MsQ0FBQztBQUNILENBQUM7QUFFRCxJQUFNRSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJMUIsSUFBdUIsRUFBRTJCLFdBQXFCLEVBQUs7RUFDaEYsSUFBTUMsRUFBRSxHQUFHNUIsSUFBSSxLQUFLLFNBQVMsR0FBRzVCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHSCw4QkFBOEI7RUFDdEYsT0FBT0gsR0FBRyxvQ0FDTThELEVBQUUsRUFDTEQsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO0FBRXJDLENBQUM7O0FBRUQ7QUFDQSxJQUFNRSxlQUFlLEdBQUdoRSxNQUFNLENBQUNpRSxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd1ZBU25CLFVBQUFDLElBQUE7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0VBQUEsT0FBTyxFQUFBRCxxQkFBQSxHQUFDbkUsbUJBQW1CLENBQUNvRSxLQUFLLENBQUMsY0FBQUQscUJBQUEsY0FBQUEscUJBQUEsR0FBSW5FLG1CQUFtQixDQUFDcUUsSUFBSSxFQUFFVCxFQUFFO0FBQUEsR0FDL0UsVUFBQVUsS0FBQTtFQUFBLElBQUFDLHNCQUFBO0VBQUEsSUFBR0gsS0FBSyxHQUFBRSxLQUFBLENBQUxGLEtBQUs7RUFBQSxPQUFPLEVBQUFHLHNCQUFBLEdBQUN2RSxtQkFBbUIsQ0FBQ29FLEtBQUssQ0FBQyxjQUFBRyxzQkFBQSxjQUFBQSxzQkFBQSxHQUFJdkUsbUJBQW1CLENBQUNxRSxJQUFJLEVBQUVHLEVBQUU7QUFBQSxHQUl6RSxVQUFBQyxLQUFBO0VBQUEsSUFBR0MsWUFBWSxHQUFBRCxLQUFBLENBQVpDLFlBQVk7RUFBQSxPQUFRQSxZQUFZLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFBQSxDQUFDLEVBS2xFLFVBQUFDLEtBQUE7RUFBQSxJQUFHUCxLQUFLLEdBQUFPLEtBQUEsQ0FBTFAsS0FBSztJQUFFTSxZQUFZLEdBQUFDLEtBQUEsQ0FBWkQsWUFBWTtFQUFBLE9BQU9oQixxQkFBcUIsQ0FBQ1UsS0FBSyxFQUFFTSxZQUFZLENBQUM7QUFBQSxFQUU1RTtBQUVELElBQU1FLG1CQUFtQixHQUFHL0UsTUFBTSxDQUFDaUUsSUFBSSxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFJQU01QixVQUFBWSxLQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxLQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFRQSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU07QUFBQSxDQUFDLEVBQ3ZDLFVBQUFDLEtBQUE7RUFBQSxJQUFHRCxLQUFLLEdBQUFDLEtBQUEsQ0FBTEQsS0FBSztFQUFBLE9BQVFBLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTTtBQUFBLENBQUMsQ0FDbkQ7QUFFRCxJQUFNRSxzQkFBc0IsR0FBR25GLE1BQU0sQ0FBQ2lFLElBQUksQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1R0FNekM7QUFFRCxJQUFNZ0IsbUJBQW1CLEdBQUdwRixNQUFNLENBQUNpRSxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaURBR3RDO0FBRUQsSUFBTWlCLG1CQUFtQixHQUFHckYsTUFBTSxDQUFDaUUsSUFBSSxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhCQUV0Qzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTWtCLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUk5RCxJQUF3QixFQUFFeUIsUUFBbUIsRUFBdUI7RUFDcEcsSUFBSSxDQUFDekIsSUFBSSxJQUFJLENBQUNBLElBQUksQ0FBQytELFVBQVUsQ0FBQ3BFLHFCQUFxQixDQUFDLEVBQUUsT0FBTyxJQUFJO0VBQ2pFLElBQUFxRSxxQkFBQSxHQUFxQmpFLHdCQUF3QixDQUFDQyxJQUFJLENBQUM7SUFBM0NXLElBQUksR0FBQXFELHFCQUFBLENBQUpyRCxJQUFJO0lBQUVILEVBQUUsR0FBQXdELHFCQUFBLENBQUZ4RCxFQUFFO0VBQ2hCLElBQU1RLEtBQUssR0FBR1Esc0JBQXNCLENBQUNDLFFBQVEsQ0FBQztFQUM5QyxJQUFNd0MsTUFBTSxHQUFHdEQsSUFBSSxLQUFLLE1BQU07RUFDOUIsSUFBTXVELFFBQVEsR0FBR0QsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ2pDLElBQU1FLE9BQU8sYUFBQXBELE1BQUEsQ0FBYVAsRUFBRSxZQUFTO0VBRXJDLElBQU00RCxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLENBQWdDLEVBQUs7SUFDNUQsSUFBSUEsQ0FBQyxDQUFDQyxPQUFPLElBQUlELENBQUMsQ0FBQ0UsT0FBTyxFQUFFO0lBQzVCRixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCSCxDQUFDLENBQUNJLGVBQWUsQ0FBQyxDQUFDO0lBQ25CdEYsa0JBQWtCLENBQUNxQixFQUFFLEVBQUUsUUFBUSxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFNa0UsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUwsQ0FBbUMsRUFBSztJQUNqRSxJQUFJQSxDQUFDLENBQUNNLEdBQUcsS0FBSyxPQUFPLElBQUlOLENBQUMsQ0FBQ00sR0FBRyxLQUFLLEdBQUcsRUFBRTtJQUN4Q04sQ0FBQyxDQUFDRyxjQUFjLENBQUMsQ0FBQztJQUNsQnJGLGtCQUFrQixDQUFDcUIsRUFBRSxFQUFFLFFBQVEsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBSXlELE1BQU0sRUFBRTtJQUNWLG9CQUNFNUUsSUFBQSxDQUFDTCxVQUFVO01BQ1RnQixJQUFJLEVBQUVtRSxPQUFRO01BQ2RTLFNBQVMsRUFBRWxHLDBCQUEyQjtNQUN0QyxxQkFBbUJpQyxJQUFLO01BQ3hCLHdCQUFxQixNQUFNO01BQzNCa0UsT0FBTyxFQUFFVCxlQUFnQjtNQUN6QlUsU0FBUyxFQUFFSixpQkFBa0I7TUFBQWpELFFBQUEsRUFFNUJUO0lBQUssQ0FDSSxDQUFDO0VBRWpCO0VBRUEsSUFBTStELFNBQVMsR0FBR3BFLElBQUksS0FBSyxTQUFTO0VBQ3BDLElBQU1xRSxVQUFVLEdBQUdELFNBQVMsZ0JBQUFoRSxNQUFBLENBQWdCUCxFQUFFLGtCQUFlLElBQUk7RUFDakUsSUFBTXlFLFFBQVEsR0FBRyxDQUFDRixTQUFTO0VBQzNCLElBQUFHLG9CQUFBLEdBQTRCbkQsbUJBQW1CLENBQUNmLEtBQUssQ0FBQztJQUE5Q2tCLFNBQVMsR0FBQWdELG9CQUFBLENBQVRoRCxTQUFTO0lBQUVqQyxJQUFJLEdBQUFpRixvQkFBQSxDQUFKakYsSUFBSTtFQUV2QixJQUFNa0Ysa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSWQsQ0FBOEIsRUFBSztJQUM3RCxJQUFJLENBQUNXLFVBQVUsRUFBRTtJQUNqQlgsQ0FBQyxDQUFDRyxjQUFjLENBQUMsQ0FBQztJQUNsQkgsQ0FBQyxDQUFDSSxlQUFlLENBQUMsQ0FBQztJQUNuQlcsTUFBTSxDQUFDQyxJQUFJLENBQUNMLFVBQVUsRUFBRSxRQUFRLENBQUM7RUFDbkMsQ0FBQztFQUVELG9CQUNFekYsS0FBQSxDQUFDaUQsZUFBZTtJQUNkTyxLQUFLLEVBQUVwQyxJQUFLO0lBQ1owQyxZQUFZLEVBQUUwQixTQUFVO0lBQ3hCSCxTQUFTLEVBQUVsRywwQkFBMkI7SUFDdEMscUJBQW1CaUMsSUFBSztJQUN4Qix3QkFBcUIsTUFBTTtJQUMzQmtFLE9BQU8sRUFBRUUsU0FBUyxHQUFHSSxrQkFBa0IsR0FBR0csU0FBVTtJQUNwREMsSUFBSSxFQUFFUixTQUFTLEdBQUcsUUFBUSxHQUFHTyxTQUFVO0lBQ3ZDRSxRQUFRLEVBQUVULFNBQVMsR0FBRyxDQUFDLEdBQUdPLFNBQVU7SUFBQTdELFFBQUEsR0FFbkN3RCxRQUFRLGdCQUNQMUYsS0FBQSxDQUFBRSxTQUFBO01BQUFnQyxRQUFBLGdCQUNFbEMsS0FBQSxDQUFDb0Usc0JBQXNCO1FBQUFsQyxRQUFBLGdCQUNyQnBDLElBQUEsQ0FBQ2tFLG1CQUFtQjtVQUFDRSxLQUFLLEVBQUVRLE1BQU87VUFBQXhDLFFBQUEsRUFDaEN4QyxxQkFBcUIsQ0FBQzBCLElBQUksRUFBRWhDLG1CQUFtQixDQUFDZ0MsSUFBSSxDQUFDLENBQUN3QyxFQUFFLEVBQUUzQyxFQUFFLEVBQUUwRCxRQUFRO1FBQUMsQ0FDckQsQ0FBQyxlQUN0QjdFLElBQUEsQ0FBQ3VFLG1CQUFtQjtVQUFBbkMsUUFBQSxFQUFFUztRQUFTLENBQXNCLENBQUM7TUFBQSxDQUNoQyxDQUFDLEVBQ3hCakMsSUFBSSxnQkFBR1osSUFBQSxDQUFDd0UsbUJBQW1CO1FBQUFwQyxRQUFBLEVBQUV4QjtNQUFJLENBQXNCLENBQUMsR0FBRyxJQUFJO0lBQUEsQ0FDaEUsQ0FBQyxHQUNELElBQUksRUFDUCxDQUFDZ0YsUUFBUSxHQUFHakUsS0FBSyxHQUFHLElBQUk7RUFBQSxDQUNWLENBQUM7QUFFdEIsQ0FBQzs7QUFFRDtBQUNBLE9BQU8sSUFBTXlFLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUl2RSxJQUFZO0VBQUEsT0FDOUNBLElBQUksQ0FBQ0MsT0FBTyxDQUFDekIsb0JBQW9CLEVBQUUsVUFBQzBCLEVBQUUsRUFBRXNFLEtBQUssRUFBRUMsR0FBRyxFQUFFM0UsS0FBSztJQUFBLE9BQUs5Qiw0QkFBNEIsQ0FBQ29DLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUM7RUFBQSxFQUFDO0FBQUE7O0FBRTVHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU00RSwyQkFBMkIsR0FBRyxTQUE5QkEsMkJBQTJCQSxDQUFJMUUsSUFBK0IsRUFBYTtFQUN0RixJQUFJQSxJQUFJLElBQUksSUFBSSxJQUFJQSxJQUFJLEtBQUssRUFBRSxFQUFFLE9BQU9BLElBQUksYUFBSkEsSUFBSSxjQUFKQSxJQUFJLEdBQUksRUFBRTtFQUNsRCxJQUFNMkUsZUFBZSxHQUFHM0UsSUFBSSxDQUFDQyxPQUFPLENBQUN6QixvQkFBb0IsRUFBRSxVQUFDMEIsRUFBRSxFQUFFc0UsS0FBSyxFQUFFQyxHQUFHLEVBQUUzRSxLQUFLO0lBQUEsT0FDL0U5Qiw0QkFBNEIsQ0FBQ29DLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUNpQixJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQUEsQ0FDcEQsQ0FBQztFQUNELElBQU02RCxVQUFVLEdBQUcsSUFBSUMsTUFBTSxDQUFDakgsMEJBQTBCLENBQUNrSCxNQUFNLEVBQUUsR0FBRyxDQUFDO0VBQ3JFLElBQU1DLFlBQVksR0FBR0osZUFBZSxDQUFDMUUsT0FBTyxDQUFDMkUsVUFBVSxFQUFFLFVBQUMxRSxFQUFFLEVBQUV1RSxHQUFHLEVBQUUzRSxLQUFLO0lBQUEsV0FBQUQsTUFBQSxDQUFTTyxNQUFNLENBQUNOLEtBQUssQ0FBQyxDQUFDaUIsSUFBSSxDQUFDLENBQUM7RUFBQSxDQUFFLENBQUM7RUFDeEcsSUFBTWlFLHNCQUFzQixHQUFHRCxZQUFZLENBQUM5RSxPQUFPLENBQ2pEdEIsNkJBQTZCLEVBQzdCLFVBQUN1QixFQUFFLEVBQUVKLEtBQUs7SUFBQSxXQUFBRCxNQUFBLENBQVNPLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUNpQixJQUFJLENBQUMsQ0FBQztFQUFBLENBQ3pDLENBQUM7RUFDRCxPQUFPaUUsc0JBQXNCLENBQUMvRSxPQUFPLENBQUN2QiwrQkFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQ3FDLElBQUksQ0FBQyxDQUFDO0FBQ25GLENBQUM7O0FBRUQ7QUFDQSxJQUFNa0UsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJeEYsSUFBdUIsRUFBRUgsRUFBbUIsRUFBb0I7RUFDckYsUUFBUUcsSUFBSTtJQUNWLEtBQUssUUFBUTtNQUNYLG1CQUFBSSxNQUFBLENBQW1CUCxFQUFFO0lBQ3ZCLEtBQUssU0FBUztNQUNaLG9CQUFBTyxNQUFBLENBQW9CUCxFQUFFO0lBQ3hCLEtBQUssTUFBTTtNQUNULGlCQUFBTyxNQUFBLENBQWlCUCxFQUFFO0lBQ3JCLEtBQUssTUFBTTtNQUNULE9BQU8sSUFBSTtJQUFDO0lBQ2QsS0FBSyxLQUFLO01BQ1IsT0FBTyxJQUFJO0lBQ2I7TUFDRSxPQUFPLElBQUk7RUFDZjtBQUNGLENBQUM7QUFFRCxJQUFNNEYsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUFDLEtBQUEsRUFBb0Y7RUFBQSxJQUE5RTFGLElBQUksR0FBQTBGLEtBQUEsQ0FBSjFGLElBQUk7SUFBRUgsRUFBRSxHQUFBNkYsS0FBQSxDQUFGN0YsRUFBRTtJQUFFUSxLQUFLLEdBQUFxRixLQUFBLENBQUxyRixLQUFLO0VBQ3BDLElBQU1zRixlQUFlLEdBQUdwSCw0QkFBNEIsQ0FBQzhCLEtBQUssQ0FBQztFQUMzRCxJQUFNdUYsR0FBRyxHQUFHSixhQUFhLENBQUN4RixJQUFJLEVBQUVILEVBQUUsQ0FBQztFQUNuQyxJQUFNOEIsV0FBVyxHQUFHLENBQUMsQ0FBQ2lFLEdBQUc7RUFDekIsSUFBTXRDLE1BQU0sR0FBR3RELElBQUksS0FBSyxNQUFNO0VBQzlCLElBQU1vRSxTQUFTLEdBQUdwRSxJQUFJLEtBQUssU0FBUztFQUNwQyxJQUFNc0UsUUFBUSxHQUFHLENBQUNGLFNBQVM7RUFDM0IsSUFBTWIsUUFBUSxHQUFHRCxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDakMsSUFBQXVDLHFCQUFBLEdBQTRCekUsbUJBQW1CLENBQUN1RSxlQUFlLENBQUM7SUFBeERwRSxTQUFTLEdBQUFzRSxxQkFBQSxDQUFUdEUsU0FBUztJQUFFakMsSUFBSSxHQUFBdUcscUJBQUEsQ0FBSnZHLElBQUk7RUFFdkIsSUFBTXdHLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJcEMsQ0FBa0QsRUFBSztJQUMxRSxJQUFJLENBQUMvQixXQUFXLElBQUksQ0FBQ2lFLEdBQUcsRUFBRTtJQUMxQixJQUFJNUYsSUFBSSxLQUFLLE1BQU0sRUFBRTtNQUNuQixJQUFJMEQsQ0FBQyxDQUFDQyxPQUFPLElBQUlELENBQUMsQ0FBQ0UsT0FBTyxFQUFFO01BQzVCRixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO01BQ2xCSCxDQUFDLENBQUNJLGVBQWUsQ0FBQyxDQUFDO01BQ25CdEYsa0JBQWtCLENBQUNxQixFQUFFLEVBQUUsUUFBUSxDQUFDO01BQ2hDO0lBQ0Y7SUFDQTZELENBQUMsQ0FBQ0csY0FBYyxDQUFDLENBQUM7SUFDbEJZLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDa0IsR0FBRyxFQUFFLFFBQVEsQ0FBQztFQUM1QixDQUFDO0VBRUQsSUFBTUcsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJckMsQ0FBcUQsRUFBSztJQUMvRSxJQUFJLENBQUMvQixXQUFXLElBQUkzQixJQUFJLEtBQUssTUFBTSxFQUFFO0lBQ3JDLElBQUkwRCxDQUFDLENBQUNNLEdBQUcsS0FBSyxPQUFPLElBQUlOLENBQUMsQ0FBQ00sR0FBRyxLQUFLLEdBQUcsRUFBRTtJQUN4Q04sQ0FBQyxDQUFDRyxjQUFjLENBQUMsQ0FBQztJQUNsQnJGLGtCQUFrQixDQUFDcUIsRUFBRSxFQUFFLFFBQVEsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBSUcsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUNuQixvQkFDRXRCLElBQUEsQ0FBQ0wsVUFBVTtNQUNUZ0IsSUFBSSxFQUFFdUcsR0FBRyxhQUFIQSxHQUFHLGNBQUhBLEdBQUcsR0FBSSxHQUFJO01BQ2pCM0IsU0FBUyxFQUFFbEcsMEJBQTJCO01BQ3RDLHFCQUFrQixNQUFNO01BQ3hCLHdCQUFxQixNQUFNO01BQzNCbUcsT0FBTyxFQUFFNEIsV0FBWTtNQUNyQjNCLFNBQVMsRUFBRTRCLGFBQWM7TUFBQWpGLFFBQUEsRUFFeEI2RTtJQUFlLENBQ04sQ0FBQztFQUVqQjtFQUVBLG9CQUNFL0csS0FBQSxDQUFDaUQsZUFBZTtJQUNkTyxLQUFLLEVBQUVwQyxJQUFLO0lBQ1owQyxZQUFZLEVBQUVmLFdBQVk7SUFDMUJzQyxTQUFTLEVBQUVsRywwQkFBMkI7SUFDdEMscUJBQW1CaUMsSUFBSztJQUN4Qix3QkFBcUIsTUFBTTtJQUMzQmtFLE9BQU8sRUFBRXZDLFdBQVcsR0FBR21FLFdBQVcsR0FBR25CLFNBQVU7SUFDL0NDLElBQUksRUFBRWpELFdBQVcsR0FBRyxRQUFRLEdBQUdnRCxTQUFVO0lBQ3pDRSxRQUFRLEVBQUVsRCxXQUFXLEdBQUcsQ0FBQyxHQUFHZ0QsU0FBVTtJQUFBN0QsUUFBQSxHQUVyQ3dELFFBQVEsZ0JBQ1AxRixLQUFBLENBQUFFLFNBQUE7TUFBQWdDLFFBQUEsZ0JBQ0VsQyxLQUFBLENBQUNvRSxzQkFBc0I7UUFBQWxDLFFBQUEsZ0JBQ3JCcEMsSUFBQSxDQUFDa0UsbUJBQW1CO1VBQUNFLEtBQUssRUFBRVEsTUFBTztVQUFBeEMsUUFBQSxFQUNoQ3hDLHFCQUFxQixDQUFDMEIsSUFBSSxFQUFFaEMsbUJBQW1CLENBQUNnQyxJQUFJLENBQUMsQ0FBQ3dDLEVBQUUsRUFBRTNDLEVBQUUsRUFBRTBELFFBQVE7UUFBQyxDQUNyRCxDQUFDLGVBQ3RCN0UsSUFBQSxDQUFDdUUsbUJBQW1CO1VBQUFuQyxRQUFBLEVBQUVTO1FBQVMsQ0FBc0IsQ0FBQztNQUFBLENBQ2hDLENBQUMsRUFDeEJqQyxJQUFJLGdCQUFHWixJQUFBLENBQUN3RSxtQkFBbUI7UUFBQXBDLFFBQUEsRUFBRXhCO01BQUksQ0FBc0IsQ0FBQyxHQUFHLElBQUk7SUFBQSxDQUNoRSxDQUFDLEdBQ0QsSUFBSSxFQUNQLENBQUNnRixRQUFRLEdBQUdxQixlQUFlLEdBQUcsSUFBSTtFQUFBLENBQ3BCLENBQUM7QUFFdEIsQ0FBQztBQUVELE9BQU8sSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSXpGLElBQVksRUFBYztFQUN6RCxJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPLEtBQUs7RUFDdkIsT0FBT0EsSUFBSSxDQUFDTixRQUFRLENBQUMsWUFBWSxDQUFDLElBQUlNLElBQUksQ0FBQ04sUUFBUSxDQUFDLGtCQUFrQixDQUFDO0FBQ3pFLENBQUM7QUFNRCxJQUFNZ0csb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBSTFGLElBQVksRUFBcUI7RUFDN0QsSUFBTTJGLE9BQXVCLEdBQUcsRUFBRTtFQUVsQ25ILG9CQUFvQixDQUFDb0gsU0FBUyxHQUFHLENBQUM7RUFDbEMsSUFBSUMsQ0FBeUIsR0FBR3JILG9CQUFvQixDQUFDc0gsSUFBSSxDQUFDOUYsSUFBSSxDQUFDO0VBQy9ELE9BQU82RixDQUFDLEVBQUU7SUFDUixJQUFBRSxHQUFBLEdBQStCRixDQUFDO01BQUFHLEdBQUEsR0FBQUMsY0FBQSxDQUFBRixHQUFBO01BQXZCM0csT0FBTyxHQUFBNEcsR0FBQTtNQUFFMUcsRUFBRSxHQUFBMEcsR0FBQTtNQUFFbEcsS0FBSyxHQUFBa0csR0FBQTtJQUMzQixJQUFNdkcsSUFBSSxHQUFHYixhQUFhLENBQUNjLFFBQVEsQ0FBQ04sT0FBNEIsQ0FBQyxHQUFJQSxPQUFPLEdBQXlCLE1BQU07SUFDM0d1RyxPQUFPLENBQUNPLElBQUksQ0FBQztNQUFFQyxJQUFJLEVBQUUsU0FBUztNQUFFQyxLQUFLLEVBQUVQLENBQUMsQ0FBQ08sS0FBSztNQUFFbkgsTUFBTSxFQUFFNEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUcsTUFBTTtNQUFFUSxJQUFJLEVBQUpBLElBQUk7TUFBRUgsRUFBRSxFQUFGQSxFQUFFO01BQUVRLEtBQUssRUFBTEE7SUFBTSxDQUFDLENBQUM7SUFDdkYrRixDQUFDLEdBQUdySCxvQkFBb0IsQ0FBQ3NILElBQUksQ0FBQzlGLElBQUksQ0FBQztFQUNyQztFQUVBLElBQU00RSxVQUFVLEdBQUcsSUFBSUMsTUFBTSxDQUFDakgsMEJBQTBCLENBQUNrSCxNQUFNLEVBQUUsR0FBRyxDQUFDO0VBQ3JFLElBQUl1QixDQUF5QixHQUFHekIsVUFBVSxDQUFDa0IsSUFBSSxDQUFDOUYsSUFBSSxDQUFDO0VBQ3JELE9BQU9xRyxDQUFDLEVBQUU7SUFDUlYsT0FBTyxDQUFDTyxJQUFJLENBQUM7TUFBRUMsSUFBSSxFQUFFLE9BQU87TUFBRUMsS0FBSyxFQUFFQyxDQUFDLENBQUNELEtBQUs7TUFBRW5ILE1BQU0sRUFBRW9ILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3BILE1BQU07TUFBRUssRUFBRSxFQUFFK0csQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUFFdkcsS0FBSyxFQUFFdUcsQ0FBQyxDQUFDLENBQUM7SUFBRSxDQUFDLENBQUM7SUFDM0ZBLENBQUMsR0FBR3pCLFVBQVUsQ0FBQ2tCLElBQUksQ0FBQzlGLElBQUksQ0FBQztFQUMzQjtFQUVBLE9BQU8yRixPQUFPLENBQUNXLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLENBQUNILEtBQUssR0FBR0ksQ0FBQyxDQUFDSixLQUFLO0VBQUEsRUFBQztBQUNsRCxDQUFDO0FBRUQsT0FBTyxJQUFNSyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJekcsSUFBWSxFQUFtQztFQUNwRixJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPLENBQUNBLElBQUksQ0FBQztFQUN4QixJQUFNMkYsT0FBTyxHQUFHRCxvQkFBb0IsQ0FBQzFGLElBQUksQ0FBQztFQUMxQyxJQUFJMkYsT0FBTyxDQUFDMUcsTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUNlLElBQUksQ0FBQztFQUV2QyxJQUFNMEcsR0FBaUMsR0FBRyxFQUFFO0VBQzVDLElBQUlDLE9BQU8sR0FBRyxDQUFDO0VBQ2ZoQixPQUFPLENBQUNpQixPQUFPLENBQUMsVUFBQUMsTUFBTSxFQUFJO0lBQ3hCLElBQUlBLE1BQU0sQ0FBQ1QsS0FBSyxHQUFHTyxPQUFPLEVBQUVELEdBQUcsQ0FBQ1IsSUFBSSxDQUFDbEcsSUFBSSxDQUFDaEIsS0FBSyxDQUFDMkgsT0FBTyxFQUFFRSxNQUFNLENBQUNULEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLElBQUlTLE1BQU0sQ0FBQ1YsSUFBSSxLQUFLLFNBQVMsRUFBRTtNQUM3Qk8sR0FBRyxDQUFDUixJQUFJLGNBQ04vSCxJQUFBLENBQUMrRyxXQUFXO1FBRVZ6RixJQUFJLEVBQUVvSCxNQUFNLENBQUNwSCxJQUFLO1FBQ2xCSCxFQUFFLEVBQUV1SCxNQUFNLENBQUN2SCxFQUFHO1FBQ2RRLEtBQUssRUFBRStHLE1BQU0sQ0FBQy9HO01BQU0sY0FBQUQsTUFBQSxDQUhKZ0gsTUFBTSxDQUFDVCxLQUFLLE9BQUF2RyxNQUFBLENBQUlnSCxNQUFNLENBQUNwSCxJQUFJLE9BQUFJLE1BQUEsQ0FBSWdILE1BQU0sQ0FBQ3ZILEVBQUUsQ0FJekQsQ0FDSCxDQUFDO0lBQ0gsQ0FBQyxNQUFNO01BQ0xvSCxHQUFHLENBQUNSLElBQUksY0FBQy9ILElBQUEsQ0FBQ1IsZ0JBQWdCO1FBQTRDbUMsS0FBSyxFQUFFK0csTUFBTSxDQUFDL0csS0FBTTtRQUFDZ0gsTUFBTSxFQUFFO01BQU0sWUFBQWpILE1BQUEsQ0FBaEVnSCxNQUFNLENBQUNULEtBQUssT0FBQXZHLE1BQUEsQ0FBSWdILE1BQU0sQ0FBQ3ZILEVBQUUsQ0FBeUMsQ0FBQyxDQUFDO0lBQy9HO0lBQ0FxSCxPQUFPLEdBQUdFLE1BQU0sQ0FBQ1QsS0FBSyxHQUFHUyxNQUFNLENBQUM1SCxNQUFNO0VBQ3hDLENBQUMsQ0FBQztFQUNGLElBQUkwSCxPQUFPLEdBQUczRyxJQUFJLENBQUNmLE1BQU0sRUFBRXlILEdBQUcsQ0FBQ1IsSUFBSSxDQUFDbEcsSUFBSSxDQUFDaEIsS0FBSyxDQUFDMkgsT0FBTyxDQUFDLENBQUM7RUFDeEQsT0FBT0QsR0FBRztBQUNaLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|