@projectcor/maia-components 2.11.100-0 → 2.11.100-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +209 -14
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +89 -7
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +4 -91
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +5 -34
- package/lib/hooks/useAgentModel/useCreateAgent.js +14 -40
- package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -37
- package/lib/hooks/useChatManager/useChatManager.js +33 -12
- package/lib/hooks/useEvent.js +1 -2
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +45 -19
- package/lib/lang/br/index.js +7 -9
- package/lib/lang/en/index.js +7 -9
- package/lib/lang/es/index.js +7 -9
- package/lib/lang/fr/index.js +7 -9
- package/lib/types/agentModal.js +1 -1
- package/lib/types/streamActivity.js +1 -1
- package/lib/utils/normalizeAgentConnectors.js +3 -28
- package/lib/utils/streamExecutionSteps.js +79 -0
- package/package.json +1 -1
- package/lib/services/maia/Agents/connectors.js +0 -124
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import _toArray from "@babel/runtime/helpers/toArray";
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
4
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
-
import { fetchMaia } from '../client';
|
|
6
|
-
export var getAvailableConnectors = /*#__PURE__*/function () {
|
|
7
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
8
|
-
var response;
|
|
9
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
10
|
-
while (1) switch (_context.prev = _context.next) {
|
|
11
|
-
case 0:
|
|
12
|
-
_context.next = 1;
|
|
13
|
-
return fetchMaia({
|
|
14
|
-
path: 'connectors',
|
|
15
|
-
method: 'GET'
|
|
16
|
-
});
|
|
17
|
-
case 1:
|
|
18
|
-
response = _context.sent;
|
|
19
|
-
if (response.ok) {
|
|
20
|
-
_context.next = 2;
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
throw new Error('Failed to fetch connectors');
|
|
24
|
-
case 2:
|
|
25
|
-
return _context.abrupt("return", response.json());
|
|
26
|
-
case 3:
|
|
27
|
-
case "end":
|
|
28
|
-
return _context.stop();
|
|
29
|
-
}
|
|
30
|
-
}, _callee);
|
|
31
|
-
}));
|
|
32
|
-
return function getAvailableConnectors() {
|
|
33
|
-
return _ref.apply(this, arguments);
|
|
34
|
-
};
|
|
35
|
-
}();
|
|
36
|
-
export var getAgentConnectors = /*#__PURE__*/function () {
|
|
37
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(agentId) {
|
|
38
|
-
var response;
|
|
39
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
40
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
41
|
-
case 0:
|
|
42
|
-
_context2.next = 1;
|
|
43
|
-
return fetchMaia({
|
|
44
|
-
path: "agents/".concat(agentId, "/connectors"),
|
|
45
|
-
method: 'GET'
|
|
46
|
-
});
|
|
47
|
-
case 1:
|
|
48
|
-
response = _context2.sent;
|
|
49
|
-
if (response.ok) {
|
|
50
|
-
_context2.next = 2;
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
throw new Error('Failed to fetch agent connectors');
|
|
54
|
-
case 2:
|
|
55
|
-
return _context2.abrupt("return", response.json());
|
|
56
|
-
case 3:
|
|
57
|
-
case "end":
|
|
58
|
-
return _context2.stop();
|
|
59
|
-
}
|
|
60
|
-
}, _callee2);
|
|
61
|
-
}));
|
|
62
|
-
return function getAgentConnectors(_x) {
|
|
63
|
-
return _ref2.apply(this, arguments);
|
|
64
|
-
};
|
|
65
|
-
}();
|
|
66
|
-
export var saveAgentConnectors = /*#__PURE__*/function () {
|
|
67
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(agentId, connectorSlugs) {
|
|
68
|
-
var response;
|
|
69
|
-
return _regeneratorRuntime.wrap(function (_context3) {
|
|
70
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
71
|
-
case 0:
|
|
72
|
-
_context3.next = 1;
|
|
73
|
-
return fetchMaia({
|
|
74
|
-
path: "agents/".concat(agentId, "/connectors"),
|
|
75
|
-
method: 'POST',
|
|
76
|
-
body: {
|
|
77
|
-
connector_slugs: connectorSlugs
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
case 1:
|
|
81
|
-
response = _context3.sent;
|
|
82
|
-
if (response.ok) {
|
|
83
|
-
_context3.next = 2;
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
throw new Error('Failed to save agent connectors');
|
|
87
|
-
case 2:
|
|
88
|
-
return _context3.abrupt("return", response.json());
|
|
89
|
-
case 3:
|
|
90
|
-
case "end":
|
|
91
|
-
return _context3.stop();
|
|
92
|
-
}
|
|
93
|
-
}, _callee3);
|
|
94
|
-
}));
|
|
95
|
-
return function saveAgentConnectors(_x2, _x3) {
|
|
96
|
-
return _ref3.apply(this, arguments);
|
|
97
|
-
};
|
|
98
|
-
}();
|
|
99
|
-
export var openConnectorAuthorizationWindows = function openConnectorAuthorizationWindows(authorizations, popupWindow) {
|
|
100
|
-
if (!authorizations.length) {
|
|
101
|
-
if (popupWindow && !popupWindow.closed) {
|
|
102
|
-
popupWindow.close();
|
|
103
|
-
}
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
var _authorizations = _toArray(authorizations),
|
|
107
|
-
firstAuthorization = _authorizations[0],
|
|
108
|
-
remainingAuthorizations = _arrayLikeToArray(_authorizations).slice(1);
|
|
109
|
-
if (popupWindow && !popupWindow.closed) {
|
|
110
|
-
popupWindow.location.href = firstAuthorization.auth_url;
|
|
111
|
-
} else {
|
|
112
|
-
window.open(firstAuthorization.auth_url, '_blank', 'popup=yes,width=560,height=760');
|
|
113
|
-
}
|
|
114
|
-
remainingAuthorizations.forEach(function (authorization) {
|
|
115
|
-
window.open(authorization.auth_url, '_blank', 'popup=yes,width=560,height=760');
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
export var connectorAuthErrorMessage = function connectorAuthErrorMessage(error) {
|
|
119
|
-
if (error.slug === 'netsuite') {
|
|
120
|
-
return error.message;
|
|
121
|
-
}
|
|
122
|
-
return "".concat(error.name, ": ").concat(error.message);
|
|
123
|
-
};
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJnZXRBdmFpbGFibGVDb25uZWN0b3JzIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJzZW50Iiwib2siLCJFcnJvciIsImFicnVwdCIsImpzb24iLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJnZXRBZ2VudENvbm5lY3RvcnMiLCJfcmVmMiIsIl9jYWxsZWUyIiwiYWdlbnRJZCIsIl9jb250ZXh0MiIsImNvbmNhdCIsIl94Iiwic2F2ZUFnZW50Q29ubmVjdG9ycyIsIl9yZWYzIiwiX2NhbGxlZTMiLCJjb25uZWN0b3JTbHVncyIsIl9jb250ZXh0MyIsImJvZHkiLCJjb25uZWN0b3Jfc2x1Z3MiLCJfeDIiLCJfeDMiLCJvcGVuQ29ubmVjdG9yQXV0aG9yaXphdGlvbldpbmRvd3MiLCJhdXRob3JpemF0aW9ucyIsInBvcHVwV2luZG93IiwibGVuZ3RoIiwiY2xvc2VkIiwiY2xvc2UiLCJfYXV0aG9yaXphdGlvbnMiLCJfdG9BcnJheSIsImZpcnN0QXV0aG9yaXphdGlvbiIsInJlbWFpbmluZ0F1dGhvcml6YXRpb25zIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJzbGljZSIsImxvY2F0aW9uIiwiaHJlZiIsImF1dGhfdXJsIiwid2luZG93Iiwib3BlbiIsImZvckVhY2giLCJhdXRob3JpemF0aW9uIiwiY29ubmVjdG9yQXV0aEVycm9yTWVzc2FnZSIsImVycm9yIiwic2x1ZyIsIm1lc3NhZ2UiLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQWdlbnRzL2Nvbm5lY3RvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuXG5leHBvcnQgdHlwZSBDYXRhbG9nQ29ubmVjdG9yID0ge1xuICBpZDogbnVtYmVyXG4gIHNsdWc6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaWNvbl91cmw/OiBzdHJpbmdcbiAgcmVxdWlyZXNfYXV0aDogYm9vbGVhblxuICBpc19hY3RpdmU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQWdlbnRDb25uZWN0b3IgPSBDYXRhbG9nQ29ubmVjdG9yICYge1xuICBlbmFibGVkX2Zvcl9hZ2VudDogYm9vbGVhblxuICB1c2VyX2F1dGhvcml6ZWQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgUGVuZGluZ0Nvbm5lY3RvckF1dGhvcml6YXRpb24gPSB7XG4gIHNsdWc6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgYXV0aF91cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDb25uZWN0b3JBdXRoRXJyb3IgPSB7XG4gIHNsdWc6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbWVzc2FnZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNhdmVBZ2VudENvbm5lY3RvcnNSZXNwb25zZSA9IHtcbiAgYWdlbnRfaWQ6IHN0cmluZ1xuICBjb25uZWN0b3Jfc2x1Z3M6IHN0cmluZ1tdXG4gIHJlcXVpcmVzX2F1dGg/OiBQZW5kaW5nQ29ubmVjdG9yQXV0aG9yaXphdGlvbltdXG4gIGF1dGhfZXJyb3JzPzogQ29ubmVjdG9yQXV0aEVycm9yW11cbn1cblxuZXhwb3J0IGNvbnN0IGdldEF2YWlsYWJsZUNvbm5lY3RvcnMgPSBhc3luYyAoKTogUHJvbWlzZTxDYXRhbG9nQ29ubmVjdG9yW10+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6ICdjb25uZWN0b3JzJyxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICB9KVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBjb25uZWN0b3JzJylcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZS5qc29uKClcbn1cblxuZXhwb3J0IGNvbnN0IGdldEFnZW50Q29ubmVjdG9ycyA9IGFzeW5jIChhZ2VudElkOiBzdHJpbmcpOiBQcm9taXNlPEFnZW50Q29ubmVjdG9yW10+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBhZ2VudHMvJHthZ2VudElkfS9jb25uZWN0b3JzYCxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICB9KVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBhZ2VudCBjb25uZWN0b3JzJylcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZS5qc29uKClcbn1cblxuZXhwb3J0IGNvbnN0IHNhdmVBZ2VudENvbm5lY3RvcnMgPSBhc3luYyAoXG4gIGFnZW50SWQ6IHN0cmluZyxcbiAgY29ubmVjdG9yU2x1Z3M6IHN0cmluZ1tdXG4pOiBQcm9taXNlPFNhdmVBZ2VudENvbm5lY3RvcnNSZXNwb25zZT4gPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYGFnZW50cy8ke2FnZW50SWR9L2Nvbm5lY3RvcnNgLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGJvZHk6IHtcbiAgICAgIGNvbm5lY3Rvcl9zbHVnczogY29ubmVjdG9yU2x1Z3MsXG4gICAgfSxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gc2F2ZSBhZ2VudCBjb25uZWN0b3JzJylcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZS5qc29uKClcbn1cblxuZXhwb3J0IGNvbnN0IG9wZW5Db25uZWN0b3JBdXRob3JpemF0aW9uV2luZG93cyA9IChcbiAgYXV0aG9yaXphdGlvbnM6IFBlbmRpbmdDb25uZWN0b3JBdXRob3JpemF0aW9uW10sXG4gIHBvcHVwV2luZG93PzogV2luZG93IHwgbnVsbFxuKSA9PiB7XG4gIGlmICghYXV0aG9yaXphdGlvbnMubGVuZ3RoKSB7XG4gICAgaWYgKHBvcHVwV2luZG93ICYmICFwb3B1cFdpbmRvdy5jbG9zZWQpIHtcbiAgICAgIHBvcHVwV2luZG93LmNsb3NlKClcbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBbZmlyc3RBdXRob3JpemF0aW9uLCAuLi5yZW1haW5pbmdBdXRob3JpemF0aW9uc10gPSBhdXRob3JpemF0aW9uc1xuXG4gIGlmIChwb3B1cFdpbmRvdyAmJiAhcG9wdXBXaW5kb3cuY2xvc2VkKSB7XG4gICAgcG9wdXBXaW5kb3cubG9jYXRpb24uaHJlZiA9IGZpcnN0QXV0aG9yaXphdGlvbi5hdXRoX3VybFxuICB9IGVsc2Uge1xuICAgIHdpbmRvdy5vcGVuKGZpcnN0QXV0aG9yaXphdGlvbi5hdXRoX3VybCwgJ19ibGFuaycsICdwb3B1cD15ZXMsd2lkdGg9NTYwLGhlaWdodD03NjAnKVxuICB9XG5cbiAgcmVtYWluaW5nQXV0aG9yaXphdGlvbnMuZm9yRWFjaChhdXRob3JpemF0aW9uID0+IHtcbiAgICB3aW5kb3cub3BlbihhdXRob3JpemF0aW9uLmF1dGhfdXJsLCAnX2JsYW5rJywgJ3BvcHVwPXllcyx3aWR0aD01NjAsaGVpZ2h0PTc2MCcpXG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCBjb25uZWN0b3JBdXRoRXJyb3JNZXNzYWdlID0gKGVycm9yOiBDb25uZWN0b3JBdXRoRXJyb3IpOiBzdHJpbmcgPT4ge1xuICBpZiAoZXJyb3Iuc2x1ZyA9PT0gJ25ldHN1aXRlJykge1xuICAgIHJldHVybiBlcnJvci5tZXNzYWdlXG4gIH1cbiAgcmV0dXJuIGAke2Vycm9yLm5hbWV9OiAke2Vycm9yLm1lc3NhZ2V9YFxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFvQ3JDLE9BQU8sSUFBTUMsc0JBQXNCO0VBQUEsSUFBQUMsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBQTtJQUFBLElBQUFDLFFBQUE7SUFBQSxPQUFBSCxtQkFBQSxDQUFBSSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ2JYLFNBQVMsQ0FBQztZQUMvQlksSUFBSSxFQUFFLFlBQVk7WUFDbEJDLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSElOLFFBQVEsR0FBQUUsUUFBQSxDQUFBSyxJQUFBO1VBQUEsSUFLVFAsUUFBUSxDQUFDUSxFQUFFO1lBQUFOLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlLLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQztRQUFBO1VBQUEsT0FBQVAsUUFBQSxDQUFBUSxNQUFBLFdBR3hDVixRQUFRLENBQUNXLElBQUksQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFULFFBQUEsQ0FBQVUsSUFBQTtNQUFBO0lBQUEsR0FBQWIsT0FBQTtFQUFBLENBQ3ZCO0VBQUEsZ0JBWFlMLHNCQUFzQkEsQ0FBQTtJQUFBLE9BQUFDLElBQUEsQ0FBQWtCLEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FXbEM7QUFFRCxPQUFPLElBQU1DLGtCQUFrQjtFQUFBLElBQUFDLEtBQUEsR0FBQXBCLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBbUIsU0FBT0MsT0FBZTtJQUFBLElBQUFsQixRQUFBO0lBQUEsT0FBQUgsbUJBQUEsQ0FBQUksSUFBQSxXQUFBa0IsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFoQixJQUFBLEdBQUFnQixTQUFBLENBQUFmLElBQUE7UUFBQTtVQUFBZSxTQUFBLENBQUFmLElBQUE7VUFBQSxPQUMvQlgsU0FBUyxDQUFDO1lBQy9CWSxJQUFJLFlBQUFlLE1BQUEsQ0FBWUYsT0FBTyxnQkFBYTtZQUNwQ1osTUFBTSxFQUFFO1VBQ1YsQ0FBQyxDQUFDO1FBQUE7VUFISU4sUUFBUSxHQUFBbUIsU0FBQSxDQUFBWixJQUFBO1VBQUEsSUFLVFAsUUFBUSxDQUFDUSxFQUFFO1lBQUFXLFNBQUEsQ0FBQWYsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlLLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQztRQUFBO1VBQUEsT0FBQVUsU0FBQSxDQUFBVCxNQUFBLFdBRzlDVixRQUFRLENBQUNXLElBQUksQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFRLFNBQUEsQ0FBQVAsSUFBQTtNQUFBO0lBQUEsR0FBQUssUUFBQTtFQUFBLENBQ3ZCO0VBQUEsZ0JBWFlGLGtCQUFrQkEsQ0FBQU0sRUFBQTtJQUFBLE9BQUFMLEtBQUEsQ0FBQUgsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQVc5QjtBQUVELE9BQU8sSUFBTVEsbUJBQW1CO0VBQUEsSUFBQUMsS0FBQSxHQUFBM0IsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUEwQixTQUNqQ04sT0FBZSxFQUNmTyxjQUF3QjtJQUFBLElBQUF6QixRQUFBO0lBQUEsT0FBQUgsbUJBQUEsQ0FBQUksSUFBQSxXQUFBeUIsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUF2QixJQUFBLEdBQUF1QixTQUFBLENBQUF0QixJQUFBO1FBQUE7VUFBQXNCLFNBQUEsQ0FBQXRCLElBQUE7VUFBQSxPQUVEWCxTQUFTLENBQUM7WUFDL0JZLElBQUksWUFBQWUsTUFBQSxDQUFZRixPQUFPLGdCQUFhO1lBQ3BDWixNQUFNLEVBQUUsTUFBTTtZQUNkcUIsSUFBSSxFQUFFO2NBQ0pDLGVBQWUsRUFBRUg7WUFDbkI7VUFDRixDQUFDLENBQUM7UUFBQTtVQU5JekIsUUFBUSxHQUFBMEIsU0FBQSxDQUFBbkIsSUFBQTtVQUFBLElBUVRQLFFBQVEsQ0FBQ1EsRUFBRTtZQUFBa0IsU0FBQSxDQUFBdEIsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlLLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztRQUFBO1VBQUEsT0FBQWlCLFNBQUEsQ0FBQWhCLE1BQUEsV0FHN0NWLFFBQVEsQ0FBQ1csSUFBSSxDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQWUsU0FBQSxDQUFBZCxJQUFBO01BQUE7SUFBQSxHQUFBWSxRQUFBO0VBQUEsQ0FDdkI7RUFBQSxnQkFqQllGLG1CQUFtQkEsQ0FBQU8sR0FBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQVAsS0FBQSxDQUFBVixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBaUIvQjtBQUVELE9BQU8sSUFBTWlCLGlDQUFpQyxHQUFHLFNBQXBDQSxpQ0FBaUNBLENBQzVDQyxjQUErQyxFQUMvQ0MsV0FBMkIsRUFDeEI7RUFDSCxJQUFJLENBQUNELGNBQWMsQ0FBQ0UsTUFBTSxFQUFFO0lBQzFCLElBQUlELFdBQVcsSUFBSSxDQUFDQSxXQUFXLENBQUNFLE1BQU0sRUFBRTtNQUN0Q0YsV0FBVyxDQUFDRyxLQUFLLENBQUMsQ0FBQztJQUNyQjtJQUNBO0VBQ0Y7RUFFQSxJQUFBQyxlQUFBLEdBQUFDLFFBQUEsQ0FBeUROLGNBQWM7SUFBaEVPLGtCQUFrQixHQUFBRixlQUFBO0lBQUtHLHVCQUF1QixHQUFBQyxpQkFBQSxDQUFBSixlQUFBLEVBQUFLLEtBQUE7RUFFckQsSUFBSVQsV0FBVyxJQUFJLENBQUNBLFdBQVcsQ0FBQ0UsTUFBTSxFQUFFO0lBQ3RDRixXQUFXLENBQUNVLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHTCxrQkFBa0IsQ0FBQ00sUUFBUTtFQUN6RCxDQUFDLE1BQU07SUFDTEMsTUFBTSxDQUFDQyxJQUFJLENBQUNSLGtCQUFrQixDQUFDTSxRQUFRLEVBQUUsUUFBUSxFQUFFLGdDQUFnQyxDQUFDO0VBQ3RGO0VBRUFMLHVCQUF1QixDQUFDUSxPQUFPLENBQUMsVUFBQUMsYUFBYSxFQUFJO0lBQy9DSCxNQUFNLENBQUNDLElBQUksQ0FBQ0UsYUFBYSxDQUFDSixRQUFRLEVBQUUsUUFBUSxFQUFFLGdDQUFnQyxDQUFDO0VBQ2pGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLElBQU1LLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUlDLEtBQXlCLEVBQWE7RUFDOUUsSUFBSUEsS0FBSyxDQUFDQyxJQUFJLEtBQUssVUFBVSxFQUFFO0lBQzdCLE9BQU9ELEtBQUssQ0FBQ0UsT0FBTztFQUN0QjtFQUNBLFVBQUFqQyxNQUFBLENBQVUrQixLQUFLLENBQUNHLElBQUksUUFBQWxDLE1BQUEsQ0FBSytCLEtBQUssQ0FBQ0UsT0FBTztBQUN4QyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|