@projectcor/maia-components 2.11.80-0 → 2.11.80

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.
Files changed (39) hide show
  1. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
  2. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
  3. package/lib/components/atoms/OptionCorPermission/index.js +2 -0
  4. package/lib/components/atoms/Switch/Switch.js +27 -0
  5. package/lib/components/atoms/Switch/Switch.styles.js +22 -0
  6. package/lib/components/atoms/Switch/index.js +2 -0
  7. package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
  8. package/lib/components/atoms/icons/index.js +2 -1
  9. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +71 -43
  10. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +23 -7
  11. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +106 -43
  12. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +26 -10
  13. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +10 -14
  14. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +8 -20
  15. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -9
  16. package/lib/components/molecules/ChatAIModal/layout.js +1 -40
  17. package/lib/components/molecules/ChatFooter/ChatFooter.js +18 -6
  18. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
  19. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
  20. package/lib/components/molecules/ChatFooter/styles.js +5 -1
  21. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +16 -12
  22. package/lib/hooks/useAgentModel/useCreateAgent.js +36 -13
  23. package/lib/hooks/useAgentModel/useUpdateAgent.js +34 -10
  24. package/lib/hooks/useChatManager/useChatManager.js +43 -33
  25. package/lib/hooks/useMentionAllowedTypes.js +12 -11
  26. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +101 -76
  27. package/lib/lang/br/index.js +17 -10
  28. package/lib/lang/en/index.js +15 -8
  29. package/lib/lang/es/index.js +15 -8
  30. package/lib/lang/fr/index.js +18 -11
  31. package/lib/services/maia/Agents/getAgentById.js +4 -2
  32. package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
  33. package/lib/types/agentModal.js +1 -1
  34. package/lib/utils/corConnectorMentionTypes.js +10 -6
  35. package/lib/utils/normalizeAgentConnectors.js +39 -1
  36. package/package.json +8 -8
  37. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +0 -41
  38. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +0 -41
  39. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +0 -41
@@ -15,6 +15,7 @@ var TEMP_CONTEXT_MENTIONS_REQUIRE_PROJECT_OR_CLIENT_ENTITY = true;
15
15
  * Deriva del agent activo qué tabs del context mention deben estar disponibles.
16
16
  *
17
17
  * Reglas:
18
+ * - agent.type === 'orchestrator' → todos los tipos COR (user, task, project, client)
18
19
  * - agent.type === 'custom' → según conectores COR/MCP del agente
19
20
  * - agent.entity === 'global' → ninguna (sin @-mentions)
20
21
  * - agent.entity === 'project' → [task, user]
@@ -32,6 +33,16 @@ export var useMentionAllowedTypes = function useMentionAllowedTypes(override) {
32
33
  agent = _useGlobalContext.agent;
33
34
  return useMemo(function () {
34
35
  var _agent$connectors$fin3, _agent$connectors3, _allowedTypes$2;
36
+ // El orchestrator (MAIA) tiene @-mentions libres (todos los tipos COR).
37
+ // Orden alineado con TYPE_TO_TRIGGER_SEQUENCE: @ user, @@ task, @@@ project, @@@@ client.
38
+ if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator') {
39
+ var types = ['user', 'task', 'project', 'client'];
40
+ return {
41
+ allowedTypes: types,
42
+ defaultType: types[0]
43
+ };
44
+ }
45
+
35
46
  // Agentes custom: tabs según entidades en connectors COR (`task`, `project`, `client`).
36
47
  if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom') {
37
48
  var _agent$connectors$fin, _agent$connectors, _agent$connectors$fin2, _agent$connectors2, _allowedTypes$;
@@ -51,16 +62,6 @@ export var useMentionAllowedTypes = function useMentionAllowedTypes(override) {
51
62
  };
52
63
  }
53
64
 
54
- // El orchestrator (MAIA) tiene @-mentions libres (todos los tipos).
55
- // Orden alineado con TYPE_TO_TRIGGER_SEQUENCE: @ user, @@ task, @@@ project, @@@@ client.
56
- if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator') {
57
- var types = ['user', 'task', 'project', 'client'];
58
- return {
59
- allowedTypes: types,
60
- defaultType: types[0]
61
- };
62
- }
63
-
64
65
  // Las @-mentions (y por ende los fetch de recents) solo aplican a agentes clone.
65
66
  if ((agent === null || agent === void 0 ? void 0 : agent.type) !== 'clone') {
66
67
  return {
@@ -114,4 +115,4 @@ export var useMentionAllowedTypes = function useMentionAllowedTypes(override) {
114
115
  };
115
116
  }, [agent === null || agent === void 0 ? void 0 : agent.entity, agent === null || agent === void 0 ? void 0 : agent.type, agent === null || agent === void 0 ? void 0 : agent.connectors, override]);
116
117
  };
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlR2xvYmFsQ29udGV4dCIsImdldEN1c3RvbUFnZW50Q29yTWVudGlvblR5cGVzIiwiQUxMX1RZUEVTIiwiVEVNUF9DT05URVhUX01FTlRJT05TX1JFUVVJUkVfUFJPSkVDVF9PUl9DTElFTlRfRU5USVRZIiwidXNlTWVudGlvbkFsbG93ZWRUeXBlcyIsIm92ZXJyaWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsIl9hZ2VudCRjb25uZWN0b3JzJGZpbjMiLCJfYWdlbnQkY29ubmVjdG9yczMiLCJfYWxsb3dlZFR5cGVzJDIiLCJ0eXBlIiwiX2FnZW50JGNvbm5lY3RvcnMkZmluIiwiX2FnZW50JGNvbm5lY3RvcnMiLCJfYWdlbnQkY29ubmVjdG9ycyRmaW4yIiwiX2FnZW50JGNvbm5lY3RvcnMyIiwiX2FsbG93ZWRUeXBlcyQiLCJjb3JTbHVncyIsImNvbm5lY3RvcnMiLCJmaW5kIiwiYyIsImdyb3VwIiwic2x1Z3MiLCJjb3JUeXBlcyIsIm1jcFNsdWdzIiwiZmlsdGVyIiwicyIsInRyaW0iLCJsZW5ndGgiLCJhbGxvd2VkVHlwZXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJkZWZhdWx0VHlwZSIsInR5cGVzIiwiZW50aXR5IiwiaW5jbHVkZXMiLCJjb25uZWN0b3IiLCJzbHVnIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZU1lbnRpb25BbGxvd2VkVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0Q3VzdG9tQWdlbnRDb3JNZW50aW9uVHlwZXMgfSBmcm9tICcuLi91dGlscy9jb3JDb25uZWN0b3JNZW50aW9uVHlwZXMnXG5cbmNvbnN0IEFMTF9UWVBFUzogQ29udGV4dEVudGl0eVR5cGVbXSA9IFsnY2xpZW50JywgJ3Byb2plY3QnLCAndGFzaycsICd1c2VyJ11cblxuLyoqXG4gKiBSZXN0cmljY2nDs24gdGVtcG9yYWwgZGUgcHJvZHVjdG86IGVsIHBvcG92ZXIgZGUgQC1tZW50aW9ucyAoQ09SICsgTUNQKSBzb2xvIGFwbGljYSBhXG4gKiBhZ2VudGVzIGN1eW8gYGVudGl0eWAgZXMgcHJveWVjdG8gbyBjbGllbnRlICjigJxlc3BlY2lhbGlzdGFz4oCdIGFjb3RhZG9zKS4gRWwgcmVzdG8gbm8gdmUgdGFic1xuICogbmkgTUNQIGF1bnF1ZSB0ZW5nYSBjb25lY3RvcmVzIGFjdGl2b3MuIFBhc2FyIGEgYGZhbHNlYCBjdWFuZG8gc2UgaGFiaWxpdGUgZGUgbnVldm8gZWxcbiAqIGFsY2FuY2UgYW1wbGlvOyBubyBib3JyYXIgZWwgY3VlcnBvIGRlbCBob29rIHF1ZSBxdWVkYSBkZWJham8uXG4gKi9cbmNvbnN0IFRFTVBfQ09OVEVYVF9NRU5USU9OU19SRVFVSVJFX1BST0pFQ1RfT1JfQ0xJRU5UX0VOVElUWSA9IHRydWVcblxuZXhwb3J0IHR5cGUgVXNlTWVudGlvbkFsbG93ZWRUeXBlc1Jlc3VsdCA9IHtcbiAgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIGRlZmF1bHRUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxufVxuXG4vKipcbiAqIERlcml2YSBkZWwgYWdlbnQgYWN0aXZvIHF1w6kgdGFicyBkZWwgY29udGV4dCBtZW50aW9uIGRlYmVuIGVzdGFyIGRpc3BvbmlibGVzLlxuICpcbiAqIFJlZ2xhczpcbiAqICAgLSBhZ2VudC50eXBlID09PSAnY3VzdG9tJyDihpIgc2Vnw7puIGNvbmVjdG9yZXMgQ09SL01DUCBkZWwgYWdlbnRlXG4gKiAgIC0gYWdlbnQuZW50aXR5ID09PSAnZ2xvYmFsJyAg4oaSIG5pbmd1bmEgKHNpbiBALW1lbnRpb25zKVxuICogICAtIGFnZW50LmVudGl0eSA9PT0gJ3Byb2plY3QnIOKGkiBbdGFzaywgdXNlcl1cbiAqICAgLSBhZ2VudC5lbnRpdHkgPT09ICdjbGllbnQnICDihpIgW3Byb2plY3QsIHRhc2ssIHVzZXJdXG4gKiAgIC0gYWdlbnQuZW50aXR5ID09PSBudWxsL290cm8gIOKGkiB0b2RhcyBzaSBlbCBmbGFnIHRlbXBvcmFsIGVzdMOhIGVuIGZhbHNlIChjb250ZXh0byBhbXBsaW8pXG4gKiAgIC0gYWdlbnQudHlwZSAhPT0gJ2Nsb25lJyAgICAgIOKGkiBuaW5ndW5hIChzaW4gQC1tZW50aW9ucylcbiAqXG4gKiBFbCBgb3ZlcnJpZGVgIChwcm9wIGBlbmFibGVkVHlwZXNgIGRlbCBjb21wb25lbnRlIGNvbnN1bWlkb3IpIHNpZW1wcmUgZ2FuYS5cbiAqXG4gKiBNaWVudHJhcyBgVEVNUF9DT05URVhUX01FTlRJT05TX1JFUVVJUkVfUFJPSkVDVF9PUl9DTElFTlRfRU5USVRZYCBzZWEgdHJ1ZSwgdHJhcyBlbCBvdmVycmlkZVxuICogc29sbyBzZSBwZXJtaXRlIGNvbnRpbnVhciBzaSBgYWdlbnQuZW50aXR5YCBlcyBgcHJvamVjdGAgbyBgY2xpZW50YCAoc2luIEAgcGFyYSBnbG9iYWwvbnVsbC9vdHJvcykuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VNZW50aW9uQWxsb3dlZFR5cGVzID0gKG92ZXJyaWRlPzogQ29udGV4dEVudGl0eVR5cGVbXSk6IFVzZU1lbnRpb25BbGxvd2VkVHlwZXNSZXN1bHQgPT4ge1xuICBjb25zdCB7IGFnZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcblxuICByZXR1cm4gdXNlTWVtbygoKTogVXNlTWVudGlvbkFsbG93ZWRUeXBlc1Jlc3VsdCA9PiB7XG4gICAgLy8gQWdlbnRlcyBjdXN0b206IHRhYnMgc2Vnw7puIGVudGlkYWRlcyBlbiBjb25uZWN0b3JzIENPUiAoYHRhc2tgLCBgcHJvamVjdGAsIGBjbGllbnRgKS5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBjb25zdCBjb3JTbHVncyA9IGFnZW50LmNvbm5lY3RvcnM/LmZpbmQoYyA9PiBjLmdyb3VwID09PSAnQ09SJyk/LnNsdWdzID8/IFtdXG4gICAgICBjb25zdCBjb3JUeXBlcyA9IGdldEN1c3RvbUFnZW50Q29yTWVudGlvblR5cGVzKGNvclNsdWdzKVxuXG4gICAgICBjb25zdCBtY3BTbHVncyA9XG4gICAgICAgIGFnZW50LmNvbm5lY3RvcnNcbiAgICAgICAgICA/LmZpbmQoYyA9PiBjLmdyb3VwID09PSAnTUNQJylcbiAgICAgICAgICA/LnNsdWdzPy5maWx0ZXIoKHMpOiBzIGlzIHN0cmluZyA9PiB0eXBlb2YgcyA9PT0gJ3N0cmluZycgJiYgcy50cmltKCkubGVuZ3RoID4gMCkgPz8gW11cbiAgICAgIGNvbnN0IGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXSA9IG1jcFNsdWdzLmxlbmd0aCA+IDAgPyBbLi4uY29yVHlwZXMsICdtY3AnXSA6IGNvclR5cGVzXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsbG93ZWRUeXBlcyxcbiAgICAgICAgZGVmYXVsdFR5cGU6IGFsbG93ZWRUeXBlc1swXSA/PyAndXNlcicsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRWwgb3JjaGVzdHJhdG9yIChNQUlBKSB0aWVuZSBALW1lbnRpb25zIGxpYnJlcyAodG9kb3MgbG9zIHRpcG9zKS5cbiAgICAvLyBPcmRlbiBhbGluZWFkbyBjb24gVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFOiBAIHVzZXIsIEBAIHRhc2ssIEBAQCBwcm9qZWN0LCBAQEBAIGNsaWVudC5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgICBjb25zdCB0eXBlczogQ29udGV4dEVudGl0eVR5cGVbXSA9IFsndXNlcicsICd0YXNrJywgJ3Byb2plY3QnLCAnY2xpZW50J11cbiAgICAgIHJldHVybiB7IGFsbG93ZWRUeXBlczogdHlwZXMsIGRlZmF1bHRUeXBlOiB0eXBlc1swXSB9XG4gICAgfVxuXG4gICAgLy8gTGFzIEAtbWVudGlvbnMgKHkgcG9yIGVuZGUgbG9zIGZldGNoIGRlIHJlY2VudHMpIHNvbG8gYXBsaWNhbiBhIGFnZW50ZXMgY2xvbmUuXG4gICAgaWYgKGFnZW50Py50eXBlICE9PSAnY2xvbmUnKSB7XG4gICAgICByZXR1cm4geyBhbGxvd2VkVHlwZXM6IFtdLCBkZWZhdWx0VHlwZTogJ3VzZXInIH1cbiAgICB9XG5cbiAgICBpZiAob3ZlcnJpZGUgJiYgb3ZlcnJpZGUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFR5cGUgPSBvdmVycmlkZVswXVxuICAgICAgcmV0dXJuIHsgYWxsb3dlZFR5cGVzOiBvdmVycmlkZSwgZGVmYXVsdFR5cGUgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIFRFTVBfQ09OVEVYVF9NRU5USU9OU19SRVFVSVJFX1BST0pFQ1RfT1JfQ0xJRU5UX0VOVElUWSAmJlxuICAgICAgYWdlbnQ/LmVudGl0eSAhPT0gJ3Byb2plY3QnICYmXG4gICAgICBhZ2VudD8uZW50aXR5ICE9PSAnY2xpZW50J1xuICAgICkge1xuICAgICAgcmV0dXJuIHsgYWxsb3dlZFR5cGVzOiBbXSwgZGVmYXVsdFR5cGU6ICd1c2VyJyB9XG4gICAgfVxuXG4gICAgaWYgKGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnKSB7XG4gICAgICByZXR1cm4geyBhbGxvd2VkVHlwZXM6IFtdLCBkZWZhdWx0VHlwZTogJ3VzZXInIH1cbiAgICB9XG5cbiAgICBsZXQgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdID0gQUxMX1RZUEVTXG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgICBhbGxvd2VkVHlwZXMgPSBbJ3VzZXInLCAndGFzayddXG4gICAgfSBlbHNlIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50Jykge1xuICAgICAgYWxsb3dlZFR5cGVzID0gWyd1c2VyJywgJ3Rhc2snLCAncHJvamVjdCddXG4gICAgfVxuXG4gICAgLy8gYHVzZXJgIHPDs2xvIHNlIGhhYmlsaXRhIGp1bnRvIGNvbiBgdGFza2AuXG4gICAgaWYgKCFhbGxvd2VkVHlwZXMuaW5jbHVkZXMoJ3Rhc2snKSkge1xuICAgICAgYWxsb3dlZFR5cGVzID0gYWxsb3dlZFR5cGVzLmZpbHRlcih0eXBlID0+IHR5cGUgIT09ICd1c2VyJylcbiAgICB9XG5cbiAgICBjb25zdCBtY3BTbHVncyA9XG4gICAgICBhZ2VudD8uY29ubmVjdG9yc1xuICAgICAgICA/LmZpbmQoY29ubmVjdG9yID0+IGNvbm5lY3Rvci5ncm91cCA9PT0gJ01DUCcpXG4gICAgICAgID8uc2x1Z3M/LmZpbHRlcigoc2x1Zyk6IHNsdWcgaXMgc3RyaW5nID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJyAmJiBzbHVnLnRyaW0oKS5sZW5ndGggPiAwKSA/PyBbXVxuICAgIGlmIChtY3BTbHVncy5sZW5ndGggPiAwKSB7XG4gICAgICBhbGxvd2VkVHlwZXMgPSBbLi4uYWxsb3dlZFR5cGVzLCAnbWNwJ11cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsb3dlZFR5cGVzLFxuICAgICAgZGVmYXVsdFR5cGU6IGFsbG93ZWRUeXBlc1swXSA/PyAndXNlcicsXG4gICAgfVxuICB9LCBbYWdlbnQ/LmVudGl0eSwgYWdlbnQ/LnR5cGUsIGFnZW50Py5jb25uZWN0b3JzLCBvdmVycmlkZV0pXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxPQUFPLFFBQVEsT0FBTztBQUMvQixTQUFTQyxnQkFBZ0IsUUFBUSwyQkFBMkI7QUFFNUQsU0FBU0MsNkJBQTZCLFFBQVEsbUNBQW1DO0FBRWpGLElBQU1DLFNBQThCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1DLHNEQUFzRCxHQUFHLElBQUk7QUFPbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlR2xvYmFsQ29udGV4dCIsImdldEN1c3RvbUFnZW50Q29yTWVudGlvblR5cGVzIiwiQUxMX1RZUEVTIiwiVEVNUF9DT05URVhUX01FTlRJT05TX1JFUVVJUkVfUFJPSkVDVF9PUl9DTElFTlRfRU5USVRZIiwidXNlTWVudGlvbkFsbG93ZWRUeXBlcyIsIm92ZXJyaWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsIl9hZ2VudCRjb25uZWN0b3JzJGZpbjMiLCJfYWdlbnQkY29ubmVjdG9yczMiLCJfYWxsb3dlZFR5cGVzJDIiLCJ0eXBlIiwidHlwZXMiLCJhbGxvd2VkVHlwZXMiLCJkZWZhdWx0VHlwZSIsIl9hZ2VudCRjb25uZWN0b3JzJGZpbiIsIl9hZ2VudCRjb25uZWN0b3JzIiwiX2FnZW50JGNvbm5lY3RvcnMkZmluMiIsIl9hZ2VudCRjb25uZWN0b3JzMiIsIl9hbGxvd2VkVHlwZXMkIiwiY29yU2x1Z3MiLCJjb25uZWN0b3JzIiwiZmluZCIsImMiLCJncm91cCIsInNsdWdzIiwiY29yVHlwZXMiLCJtY3BTbHVncyIsImZpbHRlciIsInMiLCJ0cmltIiwibGVuZ3RoIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZW50aXR5IiwiaW5jbHVkZXMiLCJjb25uZWN0b3IiLCJzbHVnIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZU1lbnRpb25BbGxvd2VkVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0Q3VzdG9tQWdlbnRDb3JNZW50aW9uVHlwZXMgfSBmcm9tICcuLi91dGlscy9jb3JDb25uZWN0b3JNZW50aW9uVHlwZXMnXG5cbmNvbnN0IEFMTF9UWVBFUzogQ29udGV4dEVudGl0eVR5cGVbXSA9IFsnY2xpZW50JywgJ3Byb2plY3QnLCAndGFzaycsICd1c2VyJ11cblxuLyoqXG4gKiBSZXN0cmljY2nDs24gdGVtcG9yYWwgZGUgcHJvZHVjdG86IGVsIHBvcG92ZXIgZGUgQC1tZW50aW9ucyAoQ09SICsgTUNQKSBzb2xvIGFwbGljYSBhXG4gKiBhZ2VudGVzIGN1eW8gYGVudGl0eWAgZXMgcHJveWVjdG8gbyBjbGllbnRlICjigJxlc3BlY2lhbGlzdGFz4oCdIGFjb3RhZG9zKS4gRWwgcmVzdG8gbm8gdmUgdGFic1xuICogbmkgTUNQIGF1bnF1ZSB0ZW5nYSBjb25lY3RvcmVzIGFjdGl2b3MuIFBhc2FyIGEgYGZhbHNlYCBjdWFuZG8gc2UgaGFiaWxpdGUgZGUgbnVldm8gZWxcbiAqIGFsY2FuY2UgYW1wbGlvOyBubyBib3JyYXIgZWwgY3VlcnBvIGRlbCBob29rIHF1ZSBxdWVkYSBkZWJham8uXG4gKi9cbmNvbnN0IFRFTVBfQ09OVEVYVF9NRU5USU9OU19SRVFVSVJFX1BST0pFQ1RfT1JfQ0xJRU5UX0VOVElUWSA9IHRydWVcblxuZXhwb3J0IHR5cGUgVXNlTWVudGlvbkFsbG93ZWRUeXBlc1Jlc3VsdCA9IHtcbiAgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIGRlZmF1bHRUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxufVxuXG4vKipcbiAqIERlcml2YSBkZWwgYWdlbnQgYWN0aXZvIHF1w6kgdGFicyBkZWwgY29udGV4dCBtZW50aW9uIGRlYmVuIGVzdGFyIGRpc3BvbmlibGVzLlxuICpcbiAqIFJlZ2xhczpcbiAqICAgLSBhZ2VudC50eXBlID09PSAnb3JjaGVzdHJhdG9yJyDihpIgdG9kb3MgbG9zIHRpcG9zIENPUiAodXNlciwgdGFzaywgcHJvamVjdCwgY2xpZW50KVxuICogICAtIGFnZW50LnR5cGUgPT09ICdjdXN0b20nIOKGkiBzZWfDum4gY29uZWN0b3JlcyBDT1IvTUNQIGRlbCBhZ2VudGVcbiAqICAgLSBhZ2VudC5lbnRpdHkgPT09ICdnbG9iYWwnICDihpIgbmluZ3VuYSAoc2luIEAtbWVudGlvbnMpXG4gKiAgIC0gYWdlbnQuZW50aXR5ID09PSAncHJvamVjdCcg4oaSIFt0YXNrLCB1c2VyXVxuICogICAtIGFnZW50LmVudGl0eSA9PT0gJ2NsaWVudCcgIOKGkiBbcHJvamVjdCwgdGFzaywgdXNlcl1cbiAqICAgLSBhZ2VudC5lbnRpdHkgPT09IG51bGwvb3RybyAg4oaSIHRvZGFzIHNpIGVsIGZsYWcgdGVtcG9yYWwgZXN0w6EgZW4gZmFsc2UgKGNvbnRleHRvIGFtcGxpbylcbiAqICAgLSBhZ2VudC50eXBlICE9PSAnY2xvbmUnICAgICAg4oaSIG5pbmd1bmEgKHNpbiBALW1lbnRpb25zKVxuICpcbiAqIEVsIGBvdmVycmlkZWAgKHByb3AgYGVuYWJsZWRUeXBlc2AgZGVsIGNvbXBvbmVudGUgY29uc3VtaWRvcikgc2llbXByZSBnYW5hLlxuICpcbiAqIE1pZW50cmFzIGBURU1QX0NPTlRFWFRfTUVOVElPTlNfUkVRVUlSRV9QUk9KRUNUX09SX0NMSUVOVF9FTlRJVFlgIHNlYSB0cnVlLCB0cmFzIGVsIG92ZXJyaWRlXG4gKiBzb2xvIHNlIHBlcm1pdGUgY29udGludWFyIHNpIGBhZ2VudC5lbnRpdHlgIGVzIGBwcm9qZWN0YCBvIGBjbGllbnRgIChzaW4gQCBwYXJhIGdsb2JhbC9udWxsL290cm9zKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU1lbnRpb25BbGxvd2VkVHlwZXMgPSAob3ZlcnJpZGU/OiBDb250ZXh0RW50aXR5VHlwZVtdKTogVXNlTWVudGlvbkFsbG93ZWRUeXBlc1Jlc3VsdCA9PiB7XG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuXG4gIHJldHVybiB1c2VNZW1vKCgpOiBVc2VNZW50aW9uQWxsb3dlZFR5cGVzUmVzdWx0ID0+IHtcbiAgICAvLyBFbCBvcmNoZXN0cmF0b3IgKE1BSUEpIHRpZW5lIEAtbWVudGlvbnMgbGlicmVzICh0b2RvcyBsb3MgdGlwb3MgQ09SKS5cbiAgICAvLyBPcmRlbiBhbGluZWFkbyBjb24gVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFOiBAIHVzZXIsIEBAIHRhc2ssIEBAQCBwcm9qZWN0LCBAQEBAIGNsaWVudC5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgICBjb25zdCB0eXBlczogQ29udGV4dEVudGl0eVR5cGVbXSA9IFsndXNlcicsICd0YXNrJywgJ3Byb2plY3QnLCAnY2xpZW50J11cbiAgICAgIHJldHVybiB7IGFsbG93ZWRUeXBlczogdHlwZXMsIGRlZmF1bHRUeXBlOiB0eXBlc1swXSB9XG4gICAgfVxuXG4gICAgLy8gQWdlbnRlcyBjdXN0b206IHRhYnMgc2Vnw7puIGVudGlkYWRlcyBlbiBjb25uZWN0b3JzIENPUiAoYHRhc2tgLCBgcHJvamVjdGAsIGBjbGllbnRgKS5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBjb25zdCBjb3JTbHVncyA9IGFnZW50LmNvbm5lY3RvcnM/LmZpbmQoYyA9PiBjLmdyb3VwID09PSAnQ09SJyk/LnNsdWdzID8/IFtdXG4gICAgICBjb25zdCBjb3JUeXBlcyA9IGdldEN1c3RvbUFnZW50Q29yTWVudGlvblR5cGVzKGNvclNsdWdzKVxuXG4gICAgICBjb25zdCBtY3BTbHVncyA9XG4gICAgICAgIGFnZW50LmNvbm5lY3RvcnNcbiAgICAgICAgICA/LmZpbmQoYyA9PiBjLmdyb3VwID09PSAnTUNQJylcbiAgICAgICAgICA/LnNsdWdzPy5maWx0ZXIoKHMpOiBzIGlzIHN0cmluZyA9PiB0eXBlb2YgcyA9PT0gJ3N0cmluZycgJiYgcy50cmltKCkubGVuZ3RoID4gMCkgPz8gW11cbiAgICAgIGNvbnN0IGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXSA9IG1jcFNsdWdzLmxlbmd0aCA+IDAgPyBbLi4uY29yVHlwZXMsICdtY3AnXSA6IGNvclR5cGVzXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsbG93ZWRUeXBlcyxcbiAgICAgICAgZGVmYXVsdFR5cGU6IGFsbG93ZWRUeXBlc1swXSA/PyAndXNlcicsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFzIEAtbWVudGlvbnMgKHkgcG9yIGVuZGUgbG9zIGZldGNoIGRlIHJlY2VudHMpIHNvbG8gYXBsaWNhbiBhIGFnZW50ZXMgY2xvbmUuXG4gICAgaWYgKGFnZW50Py50eXBlICE9PSAnY2xvbmUnKSB7XG4gICAgICByZXR1cm4geyBhbGxvd2VkVHlwZXM6IFtdLCBkZWZhdWx0VHlwZTogJ3VzZXInIH1cbiAgICB9XG5cbiAgICBpZiAob3ZlcnJpZGUgJiYgb3ZlcnJpZGUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFR5cGUgPSBvdmVycmlkZVswXVxuICAgICAgcmV0dXJuIHsgYWxsb3dlZFR5cGVzOiBvdmVycmlkZSwgZGVmYXVsdFR5cGUgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIFRFTVBfQ09OVEVYVF9NRU5USU9OU19SRVFVSVJFX1BST0pFQ1RfT1JfQ0xJRU5UX0VOVElUWSAmJlxuICAgICAgYWdlbnQ/LmVudGl0eSAhPT0gJ3Byb2plY3QnICYmXG4gICAgICBhZ2VudD8uZW50aXR5ICE9PSAnY2xpZW50J1xuICAgICkge1xuICAgICAgcmV0dXJuIHsgYWxsb3dlZFR5cGVzOiBbXSwgZGVmYXVsdFR5cGU6ICd1c2VyJyB9XG4gICAgfVxuXG4gICAgaWYgKGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnKSB7XG4gICAgICByZXR1cm4geyBhbGxvd2VkVHlwZXM6IFtdLCBkZWZhdWx0VHlwZTogJ3VzZXInIH1cbiAgICB9XG5cbiAgICBsZXQgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdID0gQUxMX1RZUEVTXG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgICBhbGxvd2VkVHlwZXMgPSBbJ3VzZXInLCAndGFzayddXG4gICAgfSBlbHNlIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50Jykge1xuICAgICAgYWxsb3dlZFR5cGVzID0gWyd1c2VyJywgJ3Rhc2snLCAncHJvamVjdCddXG4gICAgfVxuXG4gICAgLy8gYHVzZXJgIHPDs2xvIHNlIGhhYmlsaXRhIGp1bnRvIGNvbiBgdGFza2AuXG4gICAgaWYgKCFhbGxvd2VkVHlwZXMuaW5jbHVkZXMoJ3Rhc2snKSkge1xuICAgICAgYWxsb3dlZFR5cGVzID0gYWxsb3dlZFR5cGVzLmZpbHRlcih0eXBlID0+IHR5cGUgIT09ICd1c2VyJylcbiAgICB9XG5cbiAgICBjb25zdCBtY3BTbHVncyA9XG4gICAgICBhZ2VudD8uY29ubmVjdG9yc1xuICAgICAgICA/LmZpbmQoY29ubmVjdG9yID0+IGNvbm5lY3Rvci5ncm91cCA9PT0gJ01DUCcpXG4gICAgICAgID8uc2x1Z3M/LmZpbHRlcigoc2x1Zyk6IHNsdWcgaXMgc3RyaW5nID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJyAmJiBzbHVnLnRyaW0oKS5sZW5ndGggPiAwKSA/PyBbXVxuICAgIGlmIChtY3BTbHVncy5sZW5ndGggPiAwKSB7XG4gICAgICBhbGxvd2VkVHlwZXMgPSBbLi4uYWxsb3dlZFR5cGVzLCAnbWNwJ11cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsb3dlZFR5cGVzLFxuICAgICAgZGVmYXVsdFR5cGU6IGFsbG93ZWRUeXBlc1swXSA/PyAndXNlcicsXG4gICAgfVxuICB9LCBbYWdlbnQ/LmVudGl0eSwgYWdlbnQ/LnR5cGUsIGFnZW50Py5jb25uZWN0b3JzLCBvdmVycmlkZV0pXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxPQUFPLFFBQVEsT0FBTztBQUMvQixTQUFTQyxnQkFBZ0IsUUFBUSwyQkFBMkI7QUFFNUQsU0FBU0MsNkJBQTZCLFFBQVEsbUNBQW1DO0FBRWpGLElBQU1DLFNBQThCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxN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