@projectcor/maia-components 2.11.40-10 → 2.11.40-2

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.
@@ -16,8 +16,6 @@ export var ContextMentionChip = function ContextMentionChip(_ref) {
16
16
  _ref$inline = _ref.inline,
17
17
  inline = _ref$inline === void 0 ? true : _ref$inline;
18
18
  var isTask = type === 'task';
19
- var isProject = type === 'project';
20
- var showIcon = !isTask && !isProject;
21
19
  var iconSize = isTask ? 16 : 14;
22
20
  var normalized = normalizeContextMentionLabel(label);
23
21
  return /*#__PURE__*/_jsxs(SCMCChip, {
@@ -27,12 +25,12 @@ export var ContextMentionChip = function ContextMentionChip(_ref) {
27
25
  "data-mention-chip": "true",
28
26
  "data-mention-type": type,
29
27
  "data-mention-surface": inline ? 'editor' : 'chat',
30
- children: [showIcon ? /*#__PURE__*/_jsx(SCMCChipIcon, {
28
+ children: [/*#__PURE__*/_jsx(SCMCChipIcon, {
31
29
  $task: isTask,
32
30
  children: getContextMentionIcon(type, MENTION_CHIP_COLORS[type].fg, undefined, iconSize)
33
- }) : null, isTask ? /*#__PURE__*/_jsx(SCMCTaskChipLabelWrap, {
31
+ }), isTask ? /*#__PURE__*/_jsx(SCMCTaskChipLabelWrap, {
34
32
  children: normalized
35
33
  }) : normalized]
36
34
  });
37
35
  };
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJNRU5USU9OX0NISVBfQ09MT1JTIiwiU0NNQ0NoaXAiLCJTQ01DQ2hpcEljb24iLCJTQ01DVGFza0NoaXBMYWJlbFdyYXAiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ29udGV4dE1lbnRpb25DaGlwIiwiX3JlZiIsInR5cGUiLCJsYWJlbCIsIl9yZWYkaW5saW5lIiwiaW5saW5lIiwiaXNUYXNrIiwiaXNQcm9qZWN0Iiwic2hvd0ljb24iLCJpY29uU2l6ZSIsIm5vcm1hbGl6ZWQiLCIkdHlwZSIsImNsYXNzTmFtZSIsImNvbnRlbnRFZGl0YWJsZSIsInVuZGVmaW5lZCIsImNoaWxkcmVuIiwiJHRhc2siLCJmZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUywgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25MYWJlbCdcbmltcG9ydCB7IE1FTlRJT05fQ0hJUF9DT0xPUlMsIFNDTUNDaGlwLCBTQ01DQ2hpcEljb24sIFNDTUNUYXNrQ2hpcExhYmVsV3JhcCB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcblxudHlwZSBDb250ZXh0TWVudGlvbkNoaXBQcm9wcyA9IHtcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGVcbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogQ3VhbmRvIGVzIHRydWUgZWwgY2hpcCBzZSBtb250YSBkZW50cm8gZGVsIGNvbnRlbnRlZGl0YWJsZSAoZWRpdG9yKSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKlxuICogUmVwcmVzZW50YWNpw7NuIHZpc3VhbCBkZSB1bmEgbWVudGlvbi4gRXMgZWwgY2hpcCDDum5pY28gdXNhZG8gdGFudG8gYWRlbnRyb1xuICogZGVsIENvbnRleHRNZW50aW9uRWRpdG9yIChpbmxpbmUsIGF0b21pYyB2aWEgY29udGVudEVkaXRhYmxlPWZhbHNlKSBjb21vXG4gKiBkZW50cm8gZGUgbG9zIG1lbnNhamVzIGRlbCBjaGF0IGUgaGlzdG9yaWFsLiBMYSBjbGFzc05hbWUgY29tcGFydGlkYVxuICogKGBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU2ApIHBlcm1pdGUgZXN0aWxhcmxvIGRlc2RlIGN1YWxxdWllciBsdWdhciB5XG4gKiBmdW5jaW9uYSBjb21vIFwia2V5IGRlIGVzdGlsb3NcIiBkZWwgZmVhdHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uQ2hpcDogRkM8Q29udGV4dE1lbnRpb25DaGlwUHJvcHM+ID0gKHsgdHlwZSwgbGFiZWwsIGlubGluZSA9IHRydWUgfSkgPT4ge1xuICBjb25zdCBpc1Rhc2sgPSB0eXBlID09PSAndGFzaydcbiAgY29uc3QgaXNQcm9qZWN0ID0gdHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHNob3dJY29uID0gIWlzVGFzayAmJiAhaXNQcm9qZWN0XG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChsYWJlbClcbiAgcmV0dXJuIChcbiAgICA8U0NNQ0NoaXBcbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGNvbnRlbnRFZGl0YWJsZT17aW5saW5lID8gZmFsc2UgOiB1bmRlZmluZWR9XG4gICAgICBkYXRhLW1lbnRpb24tY2hpcD1cInRydWVcIlxuICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT17aW5saW5lID8gJ2VkaXRvcicgOiAnY2hhdCd9XG4gICAgPlxuICAgICAge3Nob3dJY29uID8gKFxuICAgICAgICA8U0NNQ0NoaXBJY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgdW5kZWZpbmVkLCBpY29uU2l6ZSl9XG4gICAgICAgIDwvU0NNQ0NoaXBJY29uPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7aXNUYXNrID8gPFNDTUNUYXNrQ2hpcExhYmVsV3JhcD57bm9ybWFsaXplZH08L1NDTUNUYXNrQ2hpcExhYmVsV3JhcD4gOiBub3JtYWxpemVkfVxuICAgIDwvU0NNQ0NoaXA+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsMEJBQTBCLFFBQTJCLCtCQUErQjtBQUM3RixTQUFTQyxxQkFBcUIsUUFBUSxvQ0FBb0M7QUFDMUUsU0FBU0MsNEJBQTRCLFFBQVEsb0NBQW9DO0FBQ2pGLFNBQVNDLG1CQUFtQixFQUFFQyxRQUFRLEVBQUVDLFlBQVksRUFBRUMscUJBQXFCLFFBQVEsNkJBQTZCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQVNoSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsa0JBQStDLEdBQUcsU0FBbERBLGtCQUErQ0EsQ0FBQUMsSUFBQSxFQUF1QztFQUFBLElBQWpDQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtJQUFFQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztJQUFBQyxXQUFBLEdBQUFILElBQUEsQ0FBRUksTUFBTTtJQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRyxJQUFJLEdBQUFBLFdBQUE7RUFDMUYsSUFBTUUsTUFBTSxHQUFHSixJQUFJLEtBQUssTUFBTTtFQUM5QixJQUFNSyxTQUFTLEdBQUdMLElBQUksS0FBSyxTQUFTO0VBQ3BDLElBQU1NLFFBQVEsR0FBRyxDQUFDRixNQUFNLElBQUksQ0FBQ0MsU0FBUztFQUN0QyxJQUFNRSxRQUFRLEdBQUdILE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNqQyxJQUFNSSxVQUFVLEdBQUduQiw0QkFBNEIsQ0FBQ1ksS0FBSyxDQUFDO0VBQ3RELG9CQUNFSixLQUFBLENBQUNOLFFBQVE7SUFDUGtCLEtBQUssRUFBRVQsSUFBSztJQUNaVSxTQUFTLEVBQUV2QiwwQkFBMkI7SUFDdEN3QixlQUFlLEVBQUVSLE1BQU0sR0FBRyxLQUFLLEdBQUdTLFNBQVU7SUFDNUMscUJBQWtCLE1BQU07SUFDeEIscUJBQW1CWixJQUFLO0lBQ3hCLHdCQUFzQkcsTUFBTSxHQUFHLFFBQVEsR0FBRyxNQUFPO0lBQUFVLFFBQUEsR0FFaERQLFFBQVEsZ0JBQ1BYLElBQUEsQ0FBQ0gsWUFBWTtNQUFDc0IsS0FBSyxFQUFFVixNQUFPO01BQUFTLFFBQUEsRUFDekJ6QixxQkFBcUIsQ0FBQ1ksSUFBSSxFQUFFVixtQkFBbUIsQ0FBQ1UsSUFBSSxDQUFDLENBQUNlLEVBQUUsRUFBRUgsU0FBUyxFQUFFTCxRQUFRO0lBQUMsQ0FDbkUsQ0FBQyxHQUNiLElBQUksRUFDUEgsTUFBTSxnQkFBR1QsSUFBQSxDQUFDRixxQkFBcUI7TUFBQW9CLFFBQUEsRUFBRUw7SUFBVSxDQUF3QixDQUFDLEdBQUdBLFVBQVU7RUFBQSxDQUMxRSxDQUFDO0FBRWYsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJNRU5USU9OX0NISVBfQ09MT1JTIiwiU0NNQ0NoaXAiLCJTQ01DQ2hpcEljb24iLCJTQ01DVGFza0NoaXBMYWJlbFdyYXAiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ29udGV4dE1lbnRpb25DaGlwIiwiX3JlZiIsInR5cGUiLCJsYWJlbCIsIl9yZWYkaW5saW5lIiwiaW5saW5lIiwiaXNUYXNrIiwiaWNvblNpemUiLCJub3JtYWxpemVkIiwiJHR5cGUiLCJjbGFzc05hbWUiLCJjb250ZW50RWRpdGFibGUiLCJ1bmRlZmluZWQiLCJjaGlsZHJlbiIsIiR0YXNrIiwiZmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvQ29udGV4dE1lbnRpb25DaGlwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MsIENvbnRleHRFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvbkljb25zJ1xuaW1wb3J0IHsgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBNRU5USU9OX0NISVBfQ09MT1JTLCBTQ01DQ2hpcCwgU0NNQ0NoaXBJY29uLCBTQ01DVGFza0NoaXBMYWJlbFdyYXAgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMnXG5cbnR5cGUgQ29udGV4dE1lbnRpb25DaGlwUHJvcHMgPSB7XG4gIHR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqIEN1YW5kbyBlcyB0cnVlIGVsIGNoaXAgc2UgbW9udGEgZGVudHJvIGRlbCBjb250ZW50ZWRpdGFibGUgKGVkaXRvcikgKi9cbiAgaW5saW5lPzogYm9vbGVhblxufVxuXG4vKipcbiAqIFJlcHJlc2VudGFjacOzbiB2aXN1YWwgZGUgdW5hIG1lbnRpb24uIEVzIGVsIGNoaXAgw7puaWNvIHVzYWRvIHRhbnRvIGFkZW50cm9cbiAqIGRlbCBDb250ZXh0TWVudGlvbkVkaXRvciAoaW5saW5lLCBhdG9taWMgdmlhIGNvbnRlbnRFZGl0YWJsZT1mYWxzZSkgY29tb1xuICogZGVudHJvIGRlIGxvcyBtZW5zYWplcyBkZWwgY2hhdCBlIGhpc3RvcmlhbC4gTGEgY2xhc3NOYW1lIGNvbXBhcnRpZGFcbiAqIChgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1NgKSBwZXJtaXRlIGVzdGlsYXJsbyBkZXNkZSBjdWFscXVpZXIgbHVnYXIgeVxuICogZnVuY2lvbmEgY29tbyBcImtleSBkZSBlc3RpbG9zXCIgZGVsIGZlYXR1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBDb250ZXh0TWVudGlvbkNoaXA6IEZDPENvbnRleHRNZW50aW9uQ2hpcFByb3BzPiA9ICh7IHR5cGUsIGxhYmVsLCBpbmxpbmUgPSB0cnVlIH0pID0+IHtcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChsYWJlbClcbiAgcmV0dXJuIChcbiAgICA8U0NNQ0NoaXBcbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGNvbnRlbnRFZGl0YWJsZT17aW5saW5lID8gZmFsc2UgOiB1bmRlZmluZWR9XG4gICAgICBkYXRhLW1lbnRpb24tY2hpcD1cInRydWVcIlxuICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT17aW5saW5lID8gJ2VkaXRvcicgOiAnY2hhdCd9XG4gICAgPlxuICAgICAgPFNDTUNDaGlwSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCB1bmRlZmluZWQsIGljb25TaXplKX1cbiAgICAgIDwvU0NNQ0NoaXBJY29uPlxuICAgICAge2lzVGFzayA/IDxTQ01DVGFza0NoaXBMYWJlbFdyYXA+e25vcm1hbGl6ZWR9PC9TQ01DVGFza0NoaXBMYWJlbFdyYXA+IDogbm9ybWFsaXplZH1cbiAgICA8L1NDTUNDaGlwPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLDBCQUEwQixRQUEyQiwrQkFBK0I7QUFDN0YsU0FBU0MscUJBQXFCLFFBQVEsb0NBQW9DO0FBQzFFLFNBQVNDLDRCQUE0QixRQUFRLG9DQUFvQztBQUNqRixTQUFTQyxtQkFBbUIsRUFBRUMsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLHFCQUFxQixRQUFRLDZCQUE2QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFTaEg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLGtCQUErQyxHQUFHLFNBQWxEQSxrQkFBK0NBLENBQUFDLElBQUEsRUFBdUM7RUFBQSxJQUFqQ0MsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFBRUMsS0FBSyxHQUFBRixJQUFBLENBQUxFLEtBQUs7SUFBQUMsV0FBQSxHQUFBSCxJQUFBLENBQUVJLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0VBQzFGLElBQU1FLE1BQU0sR0FBR0osSUFBSSxLQUFLLE1BQU07RUFDOUIsSUFBTUssUUFBUSxHQUFHRCxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDakMsSUFBTUUsVUFBVSxHQUFHakIsNEJBQTRCLENBQUNZLEtBQUssQ0FBQztFQUN0RCxvQkFDRUosS0FBQSxDQUFDTixRQUFRO0lBQ1BnQixLQUFLLEVBQUVQLElBQUs7SUFDWlEsU0FBUyxFQUFFckIsMEJBQTJCO0lBQ3RDc0IsZUFBZSxFQUFFTixNQUFNLEdBQUcsS0FBSyxHQUFHTyxTQUFVO0lBQzVDLHFCQUFrQixNQUFNO0lBQ3hCLHFCQUFtQlYsSUFBSztJQUN4Qix3QkFBc0JHLE1BQU0sR0FBRyxRQUFRLEdBQUcsTUFBTztJQUFBUSxRQUFBLGdCQUVqRGhCLElBQUEsQ0FBQ0gsWUFBWTtNQUFDb0IsS0FBSyxFQUFFUixNQUFPO01BQUFPLFFBQUEsRUFDekJ2QixxQkFBcUIsQ0FBQ1ksSUFBSSxFQUFFVixtQkFBbUIsQ0FBQ1UsSUFBSSxDQUFDLENBQUNhLEVBQUUsRUFBRUgsU0FBUyxFQUFFTCxRQUFRO0lBQUMsQ0FDbkUsQ0FBQyxFQUNkRCxNQUFNLGdCQUFHVCxJQUFBLENBQUNGLHFCQUFxQjtNQUFBa0IsUUFBQSxFQUFFTDtJQUFVLENBQXdCLENBQUMsR0FBR0EsVUFBVTtFQUFBLENBQzFFLENBQUM7QUFFZixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -3,7 +3,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  import styled, { css, createGlobalStyle } from 'styled-components';
5
5
  import colors from '@projectcor/theme/lib/base/colors';
6
- import { BLUE_IA_COLORS, VIOLET_IA_COLORS } from '../../../styles/config';
6
+ import { BLUE_IA_COLORS } from '../../../styles/config';
7
7
  import { CONTEXT_MENTION_CHIP_CLASS } from '../../../types/contextMention';
8
8
  var TASK_CHIP_BG = 'transparent';
9
9
  var TASK_CHIP_FG = colors.text.primary;
@@ -32,7 +32,7 @@ export var MENTION_CHIP_COLORS = {
32
32
  fg: NON_TASK_CHIP_FG
33
33
  },
34
34
  project: {
35
- bg: VIOLET_IA_COLORS[50],
35
+ bg: NON_TASK_CHIP_BG,
36
36
  fg: NON_TASK_CHIP_FG
37
37
  },
38
38
  task: {
@@ -102,7 +102,7 @@ var chipSurfaceCss = function chipSurfaceCss(type) {
102
102
  /**
103
103
  * Hover y superficie para chips montados por `buildChipElement` (estilos inline en el host).
104
104
  */
105
- export var ContextMentionChipGlobalStyles = createGlobalStyle([".", ":not([data-mention-type='task']):hover{background:", " !important;}.", "[data-mention-type='project']:hover{background:", " !important;}[contenteditable='true'] .", "[data-mention-surface='editor']{display:inline !important;max-width:100% !important;white-space:normal !important;overflow-wrap:break-word !important;word-break:break-word !important;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']{display:inline !important;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']{text-decoration:none !important;color:#202020 !important;font-weight:600 !important;position:relative !important;padding:2px 0 !important;padding-left:22px !important;background:transparent !important;font-size:14px !important;line-height:20px !important;border-radius:0 !important;cursor:pointer !important;}[contenteditable='true'] .", "[data-mention-type='project'][data-mention-surface='editor']{cursor:pointer !important;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']::before{content:'';position:absolute;left:2px;top:1px;top:calc((1lh - 16px) / 2 - 1px);width:18px;height:18px;background-image:", ";background-size:contain;background-repeat:no-repeat;background-position:center;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']:hover{text-decoration-line:underline !important;text-decoration-color:#b3b3b3 !important;text-decoration-thickness:1px !important;text-underline-offset:2px !important;background:", " !important;border-radius:4px !important;}"], CONTEXT_MENTION_CHIP_CLASS, MENTION_CHIP_NON_TASK_HOVER_BG, CONTEXT_MENTION_CHIP_CLASS, VIOLET_IA_COLORS[100], CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, TASK_EDITOR_LINK_ICON_DATA_URL, CONTEXT_MENTION_CHIP_CLASS, MENTION_CHIP_TASK_EDITOR_HOVER_BG);
105
+ export var ContextMentionChipGlobalStyles = createGlobalStyle([".", ":not([data-mention-type='task']):hover{background:", " !important;}[contenteditable='true'] .", "[data-mention-surface='editor']{display:inline !important;max-width:100% !important;white-space:normal !important;overflow-wrap:break-word !important;word-break:break-word !important;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']{display:inline !important;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']{text-decoration:none !important;color:#202020 !important;font-weight:600 !important;position:relative !important;padding:0 !important;padding-left:24px !important;margin:0 1px !important;background:transparent !important;font-size:14px !important;line-height:20px !important;border-radius:0 !important;cursor:pointer !important;}[contenteditable='true'] .", "[data-mention-type='project'][data-mention-surface='editor']{cursor:pointer !important;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']::before{content:'';position:absolute;left:0;top:1px;top:calc((1lh - 22px) / 2 - 1px);width:20px;height:20px;background-image:", ";background-size:contain;background-repeat:no-repeat;background-position:center;}[contenteditable='true'] .", "[data-mention-type='task'][data-mention-surface='editor']:hover{text-decoration:underline !important;background:", " !important;}"], CONTEXT_MENTION_CHIP_CLASS, MENTION_CHIP_NON_TASK_HOVER_BG, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, CONTEXT_MENTION_CHIP_CLASS, TASK_EDITOR_LINK_ICON_DATA_URL, CONTEXT_MENTION_CHIP_CLASS, MENTION_CHIP_TASK_EDITOR_HOVER_BG);
106
106
 
107
107
  /**
108
108
  * Aplica los estilos del chip a un nodo DOM existente.
@@ -117,9 +117,6 @@ export var applyMentionChipStyles = function applyMentionChipStyles(el, type) {
117
117
  };
118
118
  var chipHoverCss = function chipHoverCss(type) {
119
119
  if (type === 'task') return css([""]);
120
- if (type === 'project') {
121
- return css(["background:", ";"], VIOLET_IA_COLORS[100]);
122
- }
123
120
  return css(["background:", ";"], MENTION_CHIP_NON_TASK_HOVER_BG);
124
121
  };
125
122
  export var SCMCChip = styled.span.withConfig({
@@ -181,4 +178,4 @@ export var SCMCChipPlainLabel = styled.span.withConfig({
181
178
  displayName: "ContextMentionChipstyles__SCMCChipPlainLabel",
182
179
  componentId: "sc-11ynxow-4"
183
180
  })(["display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--cor-typography-font-family,'Work Sans');font-size:14px;font-weight:500;line-height:20px;color:", ";"], colors.text.primary);
184
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJjcmVhdGVHbG9iYWxTdHlsZSIsImNvbG9ycyIsIkJMVUVfSUFfQ09MT1JTIiwiVklPTEVUX0lBX0NPTE9SUyIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIiwiVEFTS19DSElQX0JHIiwiVEFTS19DSElQX0ZHIiwidGV4dCIsInByaW1hcnkiLCJOT05fVEFTS19DSElQX0JHIiwiTk9OX1RBU0tfQ0hJUF9GRyIsIk1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CRyIsIk1FTlRJT05fQ0hJUF9UQVNLX0hPVkVSX0JHIiwiTUVOVElPTl9DSElQX1RBU0tfRURJVE9SX0hPVkVSX0JHIiwiVEFTS19FRElUT1JfTElOS19JQ09OX0RBVEFfVVJMIiwiTUVOVElPTl9DSElQX0NPTE9SUyIsImNsaWVudCIsImJnIiwiZmciLCJwcm9qZWN0IiwidGFzayIsInVzZXIiLCJtY3AiLCJNRU5USU9OX0NISVBfQkFTRV9TVFlMRV9UQVNLIiwiZGlzcGxheSIsInBhZGRpbmciLCJwYWRkaW5nTGVmdCIsIm1hcmdpbiIsIm1heFdpZHRoIiwiYm9yZGVyUmFkaXVzIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJ3aGl0ZVNwYWNlIiwib3ZlcmZsb3dXcmFwIiwid29yZEJyZWFrIiwidXNlclNlbGVjdCIsInZlcnRpY2FsQWxpZ24iLCJjdXJzb3IiLCJNRU5USU9OX0NISVBfQkFTRV9TVFlMRV9OT05fVEFTSyIsIk1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFIiwiY2hpcENvbG9ycyIsInR5cGUiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCJjaGlwU3VyZmFjZUNzcyIsImMiLCJDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMiLCJhcHBseU1lbnRpb25DaGlwU3R5bGVzIiwiZWwiLCJiYXNlIiwiT2JqZWN0IiwiYXNzaWduIiwic3R5bGUiLCJfb2JqZWN0U3ByZWFkIiwiYmFja2dyb3VuZCIsImNvbG9yIiwiY2hpcEhvdmVyQ3NzIiwiU0NNQ0NoaXAiLCJzcGFuIiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJHR5cGUiLCJfcmVmMiIsIl9yZWYzIiwiX3JlZjQiLCJfcmVmNSIsIl9yZWY2IiwiX3JlZjciLCJfcmVmOCIsIlNDTUNDaGlwSWNvbiIsIl9yZWY5IiwiJHRhc2siLCJfcmVmMCIsIl9yZWYxIiwiU0NNQ1Rhc2tDaGlwTGFiZWxXcmFwIiwiU0NNQ1Rhc2tDaGlwTGFiZWxUZXh0IiwiU0NNQ0NoaXBQbGFpbkxhYmVsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25DaGlwL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzLCBjcmVhdGVHbG9iYWxTdHlsZSB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBCTFVFX0lBX0NPTE9SUywgVklPTEVUX0lBX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUywgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuY29uc3QgVEFTS19DSElQX0JHID0gJ3RyYW5zcGFyZW50J1xuY29uc3QgVEFTS19DSElQX0ZHID0gY29sb3JzLnRleHQucHJpbWFyeVxuXG5jb25zdCBOT05fVEFTS19DSElQX0JHID0gJyNiM2UxZmYnXG5jb25zdCBOT05fVEFTS19DSElQX0ZHID0gY29sb3JzLnRleHQucHJpbWFyeVxuXG4vKiogSG92ZXIgZGVsIGNoaXAg4oCcbnVldm/igJ0gKGNsaWVudCwgcHJvamVjdCwgdXNlciwgbWNwKS4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkcgPSAnI2VkZmFmZidcblxuLyoqIEhvdmVyIGRlbCBjaGlwIGRlIHRhcmVhIGVuIGNoYXQgLyBzdXBlcmZpY2llIOKAnG5vIGVkaXRvcuKAnS4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfVEFTS19IT1ZFUl9CRyA9IEJMVUVfSUFfQ09MT1JTWzEwMF1cblxuLyoqIEhvdmVyIGRlbCBjaGlwIGRlIHRhcmVhIGRlbnRybyBkZWwgaW5wdXQgKGNvbnRlbnRlZGl0YWJsZSkuICovXG5leHBvcnQgY29uc3QgTUVOVElPTl9DSElQX1RBU0tfRURJVE9SX0hPVkVSX0JHID0gJyNGMkYyRjInXG5cbi8qKiBNaXNtbyDDrWNvbm8gcXVlIGAuaGFzLXRhc2stbGlua3MgYTo6YmVmb3JlYCBlbiBtZW5zYWplcyBkZWwgYWdlbnRlIChlbmdyYW5hamUgYXp1bCkuICovXG5jb25zdCBUQVNLX0VESVRPUl9MSU5LX0lDT05fREFUQV9VUkwgPSBgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTEwIDE4QzExLjEyNSAxOCAxMi4xMjUgMTcuNDM3NSAxMi42ODc1IDE2LjU2MjVDMTMuNzE4OCAxNi43ODEyIDE0Ljg0MzggMTYuNDY4OCAxNS42NTYyIDE1LjY1NjJDMTYuNDM3NSAxNC44NzUgMTYuNzUgMTMuNzUgMTYuNTMxMiAxMi43MTg4QzE3LjQwNjIgMTIuMTU2MiAxOCAxMS4xNTYyIDE4IDEwQzE4IDguODc1IDE3LjQwNjIgNy44NzUgMTYuNTMxMiA3LjMxMjVDMTYuNzUgNi4yODEyNSAxNi40Mzc1IDUuMTU2MjUgMTUuNjU2MiA0LjM0Mzc1QzE0Ljg0MzggMy41NjI1IDEzLjcxODggMy4yNSAxMi42ODc1IDMuNDY4NzVDMTIuMTI1IDIuNTkzNzUgMTEuMTI1IDIgMTAgMkM4Ljg0Mzc1IDIgNy44NDM3NSAyLjU5Mzc1IDcuMjgxMjUgMy40Njg3NUM2LjI1IDMuMjUgNS4xMjUgMy41NjI1IDQuMzQzNzUgNC4zNDM3NUMzLjUzMTI1IDUuMTU2MjUgMy4yMTg3NSA2LjI4MTI1IDMuNDM3NSA3LjMxMjVDMi41NjI1IDcuODc1IDIgOC44NzUgMiAxMEMyIDExLjE1NjIgMi41NjI1IDEyLjE1NjIgMy40Mzc1IDEyLjcxODhDMy4yMTg3NSAxMy43NSAzLjUzMTI1IDE0Ljg3NSA0LjM0Mzc1IDE1LjY1NjJDNS4xMjUgMTYuNDY4OCA2LjI1IDE2Ljc4MTIgNy4yODEyNSAxNi41NjI1QzcuODQzNzUgMTcuNDM3NSA4Ljg0Mzc1IDE4IDEwIDE4Wk04LjA2MjUgMTQuNjI1QzcuNDA2MjUgMTQuOTM3NSA2LjM0Mzc1IDE1LjU2MjUgNS4zNzUgMTQuNTkzOEM0LjM3NSAxMy41OTM4IDUuMTI1IDEyLjQ2ODggNS4zNzUgMTEuOTM3NUM0LjcxODc1IDExLjY4NzUgMy41IDExLjM3NSAzLjUgMTBDMy41IDguNTkzNzUgNC44MTI1IDguMzEyNSA1LjM3NSA4LjA5Mzc1QzUuMDkzNzUgNy40Njg3NSA0LjQzNzUgNi4zNzUgNS40MDYyNSA1LjQwNjI1QzYuNDA2MjUgNC40MDYyNSA3LjUzMTI1IDUuMTU2MjUgOC4wNjI1IDUuNDA2MjVDOC4zMTI1IDQuNzUgOC42MjUgMy41IDEwIDMuNUMxMS40MDYyIDMuNSAxMS42ODc1IDQuODQzNzUgMTEuOTA2MiA1LjQwNjI1QzEyLjUzMTIgNS4xMjUgMTMuNjI1IDQuNDY4NzUgMTQuNTkzOCA1LjQzNzVDMTUuNTkzOCA2LjQzNzUgMTQuODQzOCA3LjU2MjUgMTQuNTkzOCA4LjA5Mzc1QzE1LjI1IDguMzQzNzUgMTYuNDY4OCA4LjY1NjI1IDE2LjQ2ODggMTAuMDMxMkMxNi40Njg4IDExLjQzNzUgMTUuMTU2MiAxMS43MTg4IDE0LjU5MzggMTEuOTM3NUMxNC44NzUgMTIuNTYyNSAxNS41NjI1IDEzLjY1NjIgMTQuNTkzOCAxNC42MjVDMTMuNzE4OCAxNS41IDEyLjg0MzggMTUuMDYyNSAxMS45MDYyIDE0LjYyNUMxMS42NTYyIDE1LjI4MTIgMTEuMzQzOCAxNi41IDEwIDE2LjVDOC41NjI1IDE2LjUgOC4yODEyNSAxNS4xODc1IDguMDYyNSAxNC42MjVaJyBmaWxsPSclMjMyRDc3QkQnLyUzRSUzQy9zdmclM0VcIilgXG5cbi8qKlxuICogUGFsZXRhIGNvbXBhcnRpZGEgZW50cmUgZWwgc3R5bGVkLWNvbXBvbmVudCAoYFNDTUNDaGlwYCkgeSBlbCBidWlsZGVyXG4gKiBpbXBlcmF0aXZvIChgYnVpbGRDaGlwRWxlbWVudGApIHF1ZSBpbnNlcnRhIGVsIGNoaXAgZGVudHJvIGRlbCBjb250ZW50ZWRpdGFibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfQ09MT1JTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHsgYmc6IHN0cmluZzsgZmc6IHN0cmluZyB9PiA9IHtcbiAgY2xpZW50OiB7IGJnOiBOT05fVEFTS19DSElQX0JHLCBmZzogTk9OX1RBU0tfQ0hJUF9GRyB9LFxuICBwcm9qZWN0OiB7IGJnOiBWSU9MRVRfSUFfQ09MT1JTWzUwXSwgZmc6IE5PTl9UQVNLX0NISVBfRkcgfSxcbiAgdGFzazogeyBiZzogVEFTS19DSElQX0JHLCBmZzogVEFTS19DSElQX0ZHIH0sXG4gIHVzZXI6IHsgYmc6IE5PTl9UQVNLX0NISVBfQkcsIGZnOiBOT05fVEFTS19DSElQX0ZHIH0sXG4gIG1jcDogeyBiZzogTk9OX1RBU0tfQ0hJUF9CRywgZmc6IE5PTl9UQVNLX0NISVBfRkcgfSxcbn1cblxuLyoqIEVzdGlsbyB0YXJlYSBlbiBlZGl0b3I6IGlubGluZSAobm8gaW5saW5lLWJsb2NrKSBwYXJhIHF1ZSBlbCBzaHJpbmstdG8tZml0IG5vIG9jdXBlIHRvZG8gZWwgcmVuZ2zDs24uICovXG5leHBvcnQgY29uc3QgTUVOVElPTl9DSElQX0JBU0VfU1RZTEVfVEFTSyA9IHtcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIHBhZGRpbmc6ICcwJyxcbiAgcGFkZGluZ0xlZnQ6ICcyNHB4JyxcbiAgbWFyZ2luOiAnMCAxcHgnLFxuICBtYXhXaWR0aDogJzEwMCUnLFxuICBib3JkZXJSYWRpdXM6ICcwJyxcbiAgZm9udEZhbWlseTogYHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJylgLFxuICBmb250U2l6ZTogJzE0cHgnLFxuICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgbGluZUhlaWdodDogJzIwcHgnLFxuICB3aGl0ZVNwYWNlOiAnbm9ybWFsJyxcbiAgb3ZlcmZsb3dXcmFwOiAnYnJlYWstd29yZCcsXG4gIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLFxuICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gIHZlcnRpY2FsQWxpZ246ICdiYXNlbGluZScsXG4gIGN1cnNvcjogJ2RlZmF1bHQnLFxufSBhcyBjb25zdFxuXG4vKiogRXN0aWxvIGFjdHVhbCAoY2xpZW50LCBwcm9qZWN0LCB1c2VyLCBtY3ApLiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX05PTl9UQVNLID0ge1xuICBkaXNwbGF5OiAnaW5saW5lJyxcbiAgcGFkZGluZzogJzJweCA0cHgnLFxuICBtYXJnaW46ICcwIDFweCcsXG4gIG1heFdpZHRoOiAnMTAwJScsXG4gIGJvcmRlclJhZGl1czogJzRweCcsXG4gIGZvbnRGYW1pbHk6IGB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpYCxcbiAgZm9udFNpemU6ICcxNHB4JyxcbiAgZm9udFdlaWdodDogJzUwMCcsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgd2hpdGVTcGFjZTogJ25vcm1hbCcsXG4gIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICBjdXJzb3I6ICdkZWZhdWx0Jyxcbn0gYXMgY29uc3RcblxuLyoqIEBkZXByZWNhdGVkIHVzYXIgTUVOVElPTl9DSElQX0JBU0VfU1RZTEVfVEFTSyAvIF9OT05fVEFTSyBzZWfDum4gdGlwbyAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFID0gTUVOVElPTl9DSElQX0JBU0VfU1RZTEVfVEFTS1xuXG5jb25zdCBjaGlwQ29sb3JzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlclxuXG5jb25zdCBjaGlwU3VyZmFjZUNzcyA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSkgPT4ge1xuICBjb25zdCBjID0gY2hpcENvbG9ycyh0eXBlKVxuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6ICR7Yy5iZ307XG4gICAgY29sb3I6ICR7Yy5mZ307XG4gIGBcbn1cblxuLyoqXG4gKiBIb3ZlciB5IHN1cGVyZmljaWUgcGFyYSBjaGlwcyBtb250YWRvcyBwb3IgYGJ1aWxkQ2hpcEVsZW1lbnRgIChlc3RpbG9zIGlubGluZSBlbiBlbCBob3N0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyA9IGNyZWF0ZUdsb2JhbFN0eWxlYFxuICAuJHtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU306bm90KFtkYXRhLW1lbnRpb24tdHlwZT0ndGFzayddKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkd9ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuJHtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31bZGF0YS1tZW50aW9uLXR5cGU9J3Byb2plY3QnXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtWSU9MRVRfSUFfQ09MT1JTWzEwMF19ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBNZW5jaW9uZXMgZW4gZWwgY29udGVudGVkaXRhYmxlOiBlbCB0ZXh0byBkZWJlIHBvZGVyIHBhc2FyIGEgbGEgbMOtbmVhIHNpZ3VpZW50ZSAoc2luIHNjcm9sbCBob3Jpem9udGFsKS4gKi9cbiAgW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIC4ke0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVtkYXRhLW1lbnRpb24tc3VyZmFjZT0nZWRpdG9yJ10ge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogU29sbyB0YXNrIGVuIGVkaXRvciBzZSBjb21wb3J0YSBpbmxpbmUgcGFyYSBldml0YXIgcXVlIHRvbWUgZWwgYW5jaG8gY29tcGxldG8gZGVsIHJlbmdsw7NuLiAqL1xuICBbY29udGVudGVkaXRhYmxlPSd0cnVlJ10gLiR7Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9W2RhdGEtbWVudGlvbi10eXBlPSd0YXNrJ11bZGF0YS1tZW50aW9uLXN1cmZhY2U9J2VkaXRvciddIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIFRhcmVhIGVuIGVsIGlucHV0OiBtaXNtbyBhc3BlY3RvIHF1ZSAuaGFzLXRhc2stbGlua3MgYSAobWVuc2FqZXMgZGVsIGFnZW50ZSAvIHVzdWFyaW8pLiAqL1xuICBbY29udGVudGVkaXRhYmxlPSd0cnVlJ10gLiR7Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9W2RhdGEtbWVudGlvbi10eXBlPSd0YXNrJ11bZGF0YS1tZW50aW9uLXN1cmZhY2U9J2VkaXRvciddIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIwMjAyMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjJweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBQcm95ZWN0byBlbiBlbCBpbnB1dDogY2xpY2tlYWJsZSwgYWJyZSBlbiBudWV2YSBwZXN0YcOxYS4gKi9cbiAgW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIC4ke0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVtkYXRhLW1lbnRpb24tdHlwZT0ncHJvamVjdCddW2RhdGEtbWVudGlvbi1zdXJmYWNlPSdlZGl0b3InXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiDDjWNvbm8gY2VudHJhZG8gZW4gbGEgY2FqYSBkZSBsYSBwcmltZXJhIGzDrW5lYSAobGggPSBsaW5lLWhlaWdodCBkZWwgY2hpcCwgU1ZHIDIwcHgpLiAqL1xuICBbY29udGVudGVkaXRhYmxlPSd0cnVlJ10gLiR7Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9W2RhdGEtbWVudGlvbi10eXBlPSd0YXNrJ11bZGF0YS1tZW50aW9uLXN1cmZhY2U9J2VkaXRvciddOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAycHg7XG4gICAgdG9wOiAxcHg7XG4gICAgdG9wOiBjYWxjKCgxbGggLSAxNnB4KSAvIDIgLSAxcHgpO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAke1RBU0tfRURJVE9SX0xJTktfSUNPTl9EQVRBX1VSTH07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIC4ke0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVtkYXRhLW1lbnRpb24tdHlwZT0ndGFzayddW2RhdGEtbWVudGlvbi1zdXJmYWNlPSdlZGl0b3InXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogI2IzYjNiMyAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweCAhaW1wb3J0YW50O1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJHtNRU5USU9OX0NISVBfVEFTS19FRElUT1JfSE9WRVJfQkd9ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4gIH1cbmBcblxuLyoqXG4gKiBBcGxpY2EgbG9zIGVzdGlsb3MgZGVsIGNoaXAgYSB1biBub2RvIERPTSBleGlzdGVudGUuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBseU1lbnRpb25DaGlwU3R5bGVzID0gKGVsOiBIVE1MRWxlbWVudCwgdHlwZTogQ29udGV4dEVudGl0eVR5cGUpID0+IHtcbiAgY29uc3QgYyA9IGNoaXBDb2xvcnModHlwZSlcbiAgY29uc3QgYmFzZSA9IHR5cGUgPT09ICd0YXNrJyA/IE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX1RBU0sgOiBNRU5USU9OX0NISVBfQkFTRV9TVFlMRV9OT05fVEFTS1xuICBPYmplY3QuYXNzaWduKGVsLnN0eWxlLCB7IC4uLihiYXNlIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pLCBiYWNrZ3JvdW5kOiBjLmJnLCBjb2xvcjogYy5mZyB9KVxufVxuXG5jb25zdCBjaGlwSG92ZXJDc3MgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUgfCB1bmRlZmluZWQpID0+IHtcbiAgaWYgKHR5cGUgPT09ICd0YXNrJykgcmV0dXJuIGNzc2BgXG4gIGlmICh0eXBlID09PSAncHJvamVjdCcpIHtcbiAgICByZXR1cm4gY3NzYFxuICAgICAgYmFja2dyb3VuZDogJHtWSU9MRVRfSUFfQ09MT1JTWzEwMF19O1xuICAgIGBcbiAgfVxuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6ICR7TUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHfTtcbiAgYFxufVxuXG5leHBvcnQgY29uc3QgU0NNQ0NoaXAgPSBzdHlsZWQuc3Bhbjx7ICR0eXBlPzogQ29udGV4dEVudGl0eVR5cGUgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJyl9O1xuICBnYXA6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnNHB4JyA6ICcycHgnKX07XG4gIHBhZGRpbmc6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnMCA0cHgnIDogJzJweCA0cHgnKX07XG4gIG1hcmdpbjogMCAxcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnMCcgOiAnNHB4Jyl9O1xuICAkeyh7ICR0eXBlIH0pID0+IGNoaXBTdXJmYWNlQ3NzKCR0eXBlID8/ICd1c2VyJyl9XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAkeyh7ICR0eXBlIH0pID0+ICgkdHlwZSA9PT0gJ3Rhc2snID8gNjAwIDogNTAwKX07XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAkeyh7ICR0eXBlIH0pID0+ICgkdHlwZSA9PT0gJ3Rhc2snID8gJ2F1dG8nIDogJ2F1dG8nKX07XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICR0eXBlIH0pID0+IGNoaXBIb3ZlckNzcygkdHlwZSl9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUNDaGlwSWNvbiA9IHN0eWxlZC5zcGFuPHsgJHRhc2s/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuICBoZWlnaHQ6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGZsZXg6IDAgMCAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuYFxuXG4vKiogVGV4dG8gZGUgdGFyZWEgY29uIGJvcmRlIGluZmVyaW9yIChzcGVjIEZpZ21hKS4gKi9cbmV4cG9ydCBjb25zdCBTQ01DVGFza0NoaXBMYWJlbFdyYXAgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMSAxIDA7XG4gIGdhcDogNHB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCB2YXIoLS1jb3ItY29sb3ItZ3JleS00MDAsICNiM2IzYjMpO1xuYFxuXG4vKiogVGV4dG8gaW50ZXJpb3IgY29uIGVsbGlwc2lzIChtZW5jacOzbiB0aXBvIHRhcmVhKS4gKi9cbmV4cG9ydCBjb25zdCBTQ01DVGFza0NoaXBMYWJlbFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbmBcblxuLyoqIFRleHRvIGludGVyaW9yIGNvbiBlbGxpcHNpcyAobWVuY2nDs24gY2xpZW50ZS9wcm95ZWN0by91c3VhcmlvL21jcCkuICovXG5leHBvcnQgY29uc3QgU0NNQ0NoaXBQbGFpbkxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICR7Y29sb3JzLnRl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
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJjcmVhdGVHbG9iYWxTdHlsZSIsImNvbG9ycyIsIkJMVUVfSUFfQ09MT1JTIiwiQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MiLCJUQVNLX0NISVBfQkciLCJUQVNLX0NISVBfRkciLCJ0ZXh0IiwicHJpbWFyeSIsIk5PTl9UQVNLX0NISVBfQkciLCJOT05fVEFTS19DSElQX0ZHIiwiTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHIiwiTUVOVElPTl9DSElQX1RBU0tfSE9WRVJfQkciLCJNRU5USU9OX0NISVBfVEFTS19FRElUT1JfSE9WRVJfQkciLCJUQVNLX0VESVRPUl9MSU5LX0lDT05fREFUQV9VUkwiLCJNRU5USU9OX0NISVBfQ09MT1JTIiwiY2xpZW50IiwiYmciLCJmZyIsInByb2plY3QiLCJ0YXNrIiwidXNlciIsIm1jcCIsIk1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX1RBU0siLCJkaXNwbGF5IiwicGFkZGluZyIsInBhZGRpbmdMZWZ0IiwibWFyZ2luIiwibWF4V2lkdGgiLCJib3JkZXJSYWRpdXMiLCJmb250RmFtaWx5IiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwibGluZUhlaWdodCIsIndoaXRlU3BhY2UiLCJvdmVyZmxvd1dyYXAiLCJ3b3JkQnJlYWsiLCJ1c2VyU2VsZWN0IiwidmVydGljYWxBbGlnbiIsImN1cnNvciIsIk1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX05PTl9UQVNLIiwiTUVOVElPTl9DSElQX0JBU0VfU1RZTEUiLCJjaGlwQ29sb3JzIiwidHlwZSIsIl9NRU5USU9OX0NISVBfQ09MT1JTJCIsImNoaXBTdXJmYWNlQ3NzIiwiYyIsIkNvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyIsImFwcGx5TWVudGlvbkNoaXBTdHlsZXMiLCJlbCIsImJhc2UiLCJPYmplY3QiLCJhc3NpZ24iLCJzdHlsZSIsIl9vYmplY3RTcHJlYWQiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJjaGlwSG92ZXJDc3MiLCJTQ01DQ2hpcCIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkdHlwZSIsIl9yZWYyIiwiX3JlZjMiLCJfcmVmNCIsIl9yZWY1IiwiX3JlZjYiLCJfcmVmNyIsIl9yZWY4IiwiU0NNQ0NoaXBJY29uIiwiX3JlZjkiLCIkdGFzayIsIl9yZWYwIiwiX3JlZjEiLCJTQ01DVGFza0NoaXBMYWJlbFdyYXAiLCJTQ01DVGFza0NoaXBMYWJlbFRleHQiLCJTQ01DQ2hpcFBsYWluTGFiZWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBjc3MsIGNyZWF0ZUdsb2JhbFN0eWxlIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTLCBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuXG5jb25zdCBUQVNLX0NISVBfQkcgPSAndHJhbnNwYXJlbnQnXG5jb25zdCBUQVNLX0NISVBfRkcgPSBjb2xvcnMudGV4dC5wcmltYXJ5XG5cbmNvbnN0IE5PTl9UQVNLX0NISVBfQkcgPSAnI2IzZTFmZidcbmNvbnN0IE5PTl9UQVNLX0NISVBfRkcgPSBjb2xvcnMudGV4dC5wcmltYXJ5XG5cbi8qKiBIb3ZlciBkZWwgY2hpcCDigJxudWV2b+KAnSAoY2xpZW50LCBwcm9qZWN0LCB1c2VyLCBtY3ApLiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CRyA9ICcjZWRmYWZmJ1xuXG4vKiogSG92ZXIgZGVsIGNoaXAgZGUgdGFyZWEgZW4gY2hhdCAvIHN1cGVyZmljaWUg4oCcbm8gZWRpdG9y4oCdLiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9UQVNLX0hPVkVSX0JHID0gQkxVRV9JQV9DT0xPUlNbMTAwXVxuXG4vKiogSG92ZXIgZGVsIGNoaXAgZGUgdGFyZWEgZGVudHJvIGRlbCBpbnB1dCAoY29udGVudGVkaXRhYmxlKS4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfVEFTS19FRElUT1JfSE9WRVJfQkcgPSAnI0YyRjJGMidcblxuLyoqIE1pc21vIMOtY29ubyBxdWUgYC5oYXMtdGFzay1saW5rcyBhOjpiZWZvcmVgIGVuIG1lbnNhamVzIGRlbCBhZ2VudGUgKGVuZ3JhbmFqZSBhenVsKS4gKi9cbmNvbnN0IFRBU0tfRURJVE9SX0xJTktfSUNPTl9EQVRBX1VSTCA9IGB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTAgMThDMTEuMTI1IDE4IDEyLjEyNSAxNy40Mzc1IDEyLjY4NzUgMTYuNTYyNUMxMy43MTg4IDE2Ljc4MTIgMTQuODQzOCAxNi40Njg4IDE1LjY1NjIgMTUuNjU2MkMxNi40Mzc1IDE0Ljg3NSAxNi43NSAxMy43NSAxNi41MzEyIDEyLjcxODhDMTcuNDA2MiAxMi4xNTYyIDE4IDExLjE1NjIgMTggMTBDMTggOC44NzUgMTcuNDA2MiA3Ljg3NSAxNi41MzEyIDcuMzEyNUMxNi43NSA2LjI4MTI1IDE2LjQzNzUgNS4xNTYyNSAxNS42NTYyIDQuMzQzNzVDMTQuODQzOCAzLjU2MjUgMTMuNzE4OCAzLjI1IDEyLjY4NzUgMy40Njg3NUMxMi4xMjUgMi41OTM3NSAxMS4xMjUgMiAxMCAyQzguODQzNzUgMiA3Ljg0Mzc1IDIuNTkzNzUgNy4yODEyNSAzLjQ2ODc1QzYuMjUgMy4yNSA1LjEyNSAzLjU2MjUgNC4zNDM3NSA0LjM0Mzc1QzMuNTMxMjUgNS4xNTYyNSAzLjIxODc1IDYuMjgxMjUgMy40Mzc1IDcuMzEyNUMyLjU2MjUgNy44NzUgMiA4Ljg3NSAyIDEwQzIgMTEuMTU2MiAyLjU2MjUgMTIuMTU2MiAzLjQzNzUgMTIuNzE4OEMzLjIxODc1IDEzLjc1IDMuNTMxMjUgMTQuODc1IDQuMzQzNzUgMTUuNjU2MkM1LjEyNSAxNi40Njg4IDYuMjUgMTYuNzgxMiA3LjI4MTI1IDE2LjU2MjVDNy44NDM3NSAxNy40Mzc1IDguODQzNzUgMTggMTAgMThaTTguMDYyNSAxNC42MjVDNy40MDYyNSAxNC45Mzc1IDYuMzQzNzUgMTUuNTYyNSA1LjM3NSAxNC41OTM4QzQuMzc1IDEzLjU5MzggNS4xMjUgMTIuNDY4OCA1LjM3NSAxMS45Mzc1QzQuNzE4NzUgMTEuNjg3NSAzLjUgMTEuMzc1IDMuNSAxMEMzLjUgOC41OTM3NSA0LjgxMjUgOC4zMTI1IDUuMzc1IDguMDkzNzVDNS4wOTM3NSA3LjQ2ODc1IDQuNDM3NSA2LjM3NSA1LjQwNjI1IDUuNDA2MjVDNi40MDYyNSA0LjQwNjI1IDcuNTMxMjUgNS4xNTYyNSA4LjA2MjUgNS40MDYyNUM4LjMxMjUgNC43NSA4LjYyNSAzLjUgMTAgMy41QzExLjQwNjIgMy41IDExLjY4NzUgNC44NDM3NSAxMS45MDYyIDUuNDA2MjVDMTIuNTMxMiA1LjEyNSAxMy42MjUgNC40Njg3NSAxNC41OTM4IDUuNDM3NUMxNS41OTM4IDYuNDM3NSAxNC44NDM4IDcuNTYyNSAxNC41OTM4IDguMDkzNzVDMTUuMjUgOC4zNDM3NSAxNi40Njg4IDguNjU2MjUgMTYuNDY4OCAxMC4wMzEyQzE2LjQ2ODggMTEuNDM3NSAxNS4xNTYyIDExLjcxODggMTQuNTkzOCAxMS45Mzc1QzE0Ljg3NSAxMi41NjI1IDE1LjU2MjUgMTMuNjU2MiAxNC41OTM4IDE0LjYyNUMxMy43MTg4IDE1LjUgMTIuODQzOCAxNS4wNjI1IDExLjkwNjIgMTQuNjI1QzExLjY1NjIgMTUuMjgxMiAxMS4zNDM4IDE2LjUgMTAgMTYuNUM4LjU2MjUgMTYuNSA4LjI4MTI1IDE1LjE4NzUgOC4wNjI1IDE0LjYyNVonIGZpbGw9JyUyMzJENzdCRCcvJTNFJTNDL3N2ZyUzRVwiKWBcblxuLyoqXG4gKiBQYWxldGEgY29tcGFydGlkYSBlbnRyZSBlbCBzdHlsZWQtY29tcG9uZW50IChgU0NNQ0NoaXBgKSB5IGVsIGJ1aWxkZXJcbiAqIGltcGVyYXRpdm8gKGBidWlsZENoaXBFbGVtZW50YCkgcXVlIGluc2VydGEgZWwgY2hpcCBkZW50cm8gZGVsIGNvbnRlbnRlZGl0YWJsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9DT0xPUlM6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgeyBiZzogc3RyaW5nOyBmZzogc3RyaW5nIH0+ID0ge1xuICBjbGllbnQ6IHsgYmc6IE5PTl9UQVNLX0NISVBfQkcsIGZnOiBOT05fVEFTS19DSElQX0ZHIH0sXG4gIHByb2plY3Q6IHsgYmc6IE5PTl9UQVNLX0NISVBfQkcsIGZnOiBOT05fVEFTS19DSElQX0ZHIH0sXG4gIHRhc2s6IHsgYmc6IFRBU0tfQ0hJUF9CRywgZmc6IFRBU0tfQ0hJUF9GRyB9LFxuICB1c2VyOiB7IGJnOiBOT05fVEFTS19DSElQX0JHLCBmZzogTk9OX1RBU0tfQ0hJUF9GRyB9LFxuICBtY3A6IHsgYmc6IE5PTl9UQVNLX0NISVBfQkcsIGZnOiBOT05fVEFTS19DSElQX0ZHIH0sXG59XG5cbi8qKiBFc3RpbG8gdGFyZWEgZW4gZWRpdG9yOiBpbmxpbmUgKG5vIGlubGluZS1ibG9jaykgcGFyYSBxdWUgZWwgc2hyaW5rLXRvLWZpdCBubyBvY3VwZSB0b2RvIGVsIHJlbmdsw7NuLiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX1RBU0sgPSB7XG4gIGRpc3BsYXk6ICdpbmxpbmUnLFxuICBwYWRkaW5nOiAnMCcsXG4gIHBhZGRpbmdMZWZ0OiAnMjRweCcsXG4gIG1hcmdpbjogJzAgMXB4JyxcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgYm9yZGVyUmFkaXVzOiAnMCcsXG4gIGZvbnRGYW1pbHk6IGB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpYCxcbiAgZm9udFNpemU6ICcxNHB4JyxcbiAgZm9udFdlaWdodDogJzYwMCcsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgd2hpdGVTcGFjZTogJ25vcm1hbCcsXG4gIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICBjdXJzb3I6ICdkZWZhdWx0Jyxcbn0gYXMgY29uc3RcblxuLyoqIEVzdGlsbyBhY3R1YWwgKGNsaWVudCwgcHJvamVjdCwgdXNlciwgbWNwKS4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfQkFTRV9TVFlMRV9OT05fVEFTSyA9IHtcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIHBhZGRpbmc6ICcycHggNHB4JyxcbiAgbWFyZ2luOiAnMCAxcHgnLFxuICBtYXhXaWR0aDogJzEwMCUnLFxuICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICBmb250RmFtaWx5OiBgdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKWAsXG4gIGZvbnRTaXplOiAnMTRweCcsXG4gIGZvbnRXZWlnaHQ6ICc1MDAnLFxuICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gIHdoaXRlU3BhY2U6ICdub3JtYWwnLFxuICBvdmVyZmxvd1dyYXA6ICdicmVhay13b3JkJyxcbiAgd29yZEJyZWFrOiAnYnJlYWstd29yZCcsXG4gIHVzZXJTZWxlY3Q6ICdub25lJyxcbiAgdmVydGljYWxBbGlnbjogJ2Jhc2VsaW5lJyxcbiAgY3Vyc29yOiAnZGVmYXVsdCcsXG59IGFzIGNvbnN0XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2FyIE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX1RBU0sgLyBfTk9OX1RBU0sgc2Vnw7puIHRpcG8gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX0NISVBfQkFTRV9TVFlMRSA9IE1FTlRJT05fQ0hJUF9CQVNFX1NUWUxFX1RBU0tcblxuY29uc3QgY2hpcENvbG9ycyA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSkgPT4gTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXJcblxuY29uc3QgY2hpcFN1cmZhY2VDc3MgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUpID0+IHtcbiAgY29uc3QgYyA9IGNoaXBDb2xvcnModHlwZSlcbiAgcmV0dXJuIGNzc2BcbiAgICBiYWNrZ3JvdW5kOiAke2MuYmd9O1xuICAgIGNvbG9yOiAke2MuZmd9O1xuICBgXG59XG5cbi8qKlxuICogSG92ZXIgeSBzdXBlcmZpY2llIHBhcmEgY2hpcHMgbW9udGFkb3MgcG9yIGBidWlsZENoaXBFbGVtZW50YCAoZXN0aWxvcyBpbmxpbmUgZW4gZWwgaG9zdCkuXG4gKi9cbmV4cG9ydCBjb25zdCBDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMgPSBjcmVhdGVHbG9iYWxTdHlsZWBcbiAgLiR7Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9Om5vdChbZGF0YS1tZW50aW9uLXR5cGU9J3Rhc2snXSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7TUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogTWVuY2lvbmVzIGVuIGVsIGNvbnRlbnRlZGl0YWJsZTogZWwgdGV4dG8gZGViZSBwb2RlciBwYXNhciBhIGxhIGzDrW5lYSBzaWd1aWVudGUgKHNpbiBzY3JvbGwgaG9yaXpvbnRhbCkuICovXG4gIFtjb250ZW50ZWRpdGFibGU9J3RydWUnXSAuJHtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31bZGF0YS1tZW50aW9uLXN1cmZhY2U9J2VkaXRvciddIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIFNvbG8gdGFzayBlbiBlZGl0b3Igc2UgY29tcG9ydGEgaW5saW5lIHBhcmEgZXZpdGFyIHF1ZSB0b21lIGVsIGFuY2hvIGNvbXBsZXRvIGRlbCByZW5nbMOzbi4gKi9cbiAgW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIC4ke0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVtkYXRhLW1lbnRpb24tdHlwZT0ndGFzayddW2RhdGEtbWVudGlvbi1zdXJmYWNlPSdlZGl0b3InXSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBUYXJlYSBlbiBlbCBpbnB1dDogbWlzbW8gYXNwZWN0byBxdWUgLmhhcy10YXNrLWxpbmtzIGEgKG1lbnNhamVzIGRlbCBhZ2VudGUgLyB1c3VhcmlvKS4gKi9cbiAgW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIC4ke0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVtkYXRhLW1lbnRpb24tdHlwZT0ndGFzayddW2RhdGEtbWVudGlvbi1zdXJmYWNlPSdlZGl0b3InXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMDIwMjAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjRweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAxcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogUHJveWVjdG8gZW4gZWwgaW5wdXQ6IGNsaWNrZWFibGUsIGFicmUgZW4gbnVldmEgcGVzdGHDsWEuICovXG4gIFtjb250ZW50ZWRpdGFibGU9J3RydWUnXSAuJHtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31bZGF0YS1tZW50aW9uLXR5cGU9J3Byb2plY3QnXVtkYXRhLW1lbnRpb24tc3VyZmFjZT0nZWRpdG9yJ10ge1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogw41jb25vIGNlbnRyYWRvIGVuIGxhIGNhamEgZGUgbGEgcHJpbWVyYSBsw61uZWEgKGxoID0gbGluZS1oZWlnaHQgZGVsIGNoaXAsIFNWRyAyMHB4KS4gKi9cbiAgW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIC4ke0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVtkYXRhLW1lbnRpb24tdHlwZT0ndGFzayddW2RhdGEtbWVudGlvbi1zdXJmYWNlPSdlZGl0b3InXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDFweDtcbiAgICB0b3A6IGNhbGMoKDFsaCAtIDIycHgpIC8gMiAtIDFweCk7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICR7VEFTS19FRElUT1JfTElOS19JQ09OX0RBVEFfVVJMfTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cblxuICBbY29udGVudGVkaXRhYmxlPSd0cnVlJ10gLiR7Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9W2RhdGEtbWVudGlvbi10eXBlPSd0YXNrJ11bZGF0YS1tZW50aW9uLXN1cmZhY2U9J2VkaXRvciddOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICR7TUVOVElPTl9DSElQX1RBU0tfRURJVE9SX0hPVkVSX0JHfSAhaW1wb3J0YW50O1xuICB9XG5gXG5cbi8qKlxuICogQXBsaWNhIGxvcyBlc3RpbG9zIGRlbCBjaGlwIGEgdW4gbm9kbyBET00gZXhpc3RlbnRlLlxuICovXG5leHBvcnQgY29uc3QgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcyA9IChlbDogSFRNTEVsZW1lbnQsIHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB7XG4gIGNvbnN0IGMgPSBjaGlwQ29sb3JzKHR5cGUpXG4gIGNvbnN0IGJhc2UgPSB0eXBlID09PSAndGFzaycgPyBNRU5USU9OX0NISVBfQkFTRV9TVFlMRV9UQVNLIDogTUVOVElPTl9DSElQX0JBU0VfU1RZTEVfTk9OX1RBU0tcbiAgT2JqZWN0LmFzc2lnbihlbC5zdHlsZSwgeyAuLi4oYmFzZSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSwgYmFja2dyb3VuZDogYy5iZywgY29sb3I6IGMuZmcgfSlcbn1cblxuY29uc3QgY2hpcEhvdmVyQ3NzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlIHwgdW5kZWZpbmVkKSA9PiB7XG4gIGlmICh0eXBlID09PSAndGFzaycpIHJldHVybiBjc3NgYFxuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6ICR7TUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHfTtcbiAgYFxufVxuXG5leHBvcnQgY29uc3QgU0NNQ0NoaXAgPSBzdHlsZWQuc3Bhbjx7ICR0eXBlPzogQ29udGV4dEVudGl0eVR5cGUgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJyl9O1xuICBnYXA6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnNHB4JyA6ICcycHgnKX07XG4gIHBhZGRpbmc6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnMCA0cHgnIDogJzJweCA0cHgnKX07XG4gIG1hcmdpbjogMCAxcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgJHR5cGUgfSkgPT4gKCR0eXBlID09PSAndGFzaycgPyAnMCcgOiAnNHB4Jyl9O1xuICAkeyh7ICR0eXBlIH0pID0+IGNoaXBTdXJmYWNlQ3NzKCR0eXBlID8/ICd1c2VyJyl9XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAkeyh7ICR0eXBlIH0pID0+ICgkdHlwZSA9PT0gJ3Rhc2snID8gNjAwIDogNTAwKX07XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAkeyh7ICR0eXBlIH0pID0+ICgkdHlwZSA9PT0gJ3Rhc2snID8gJ2F1dG8nIDogJ2F1dG8nKX07XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICR0eXBlIH0pID0+IGNoaXBIb3ZlckNzcygkdHlwZSl9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUNDaGlwSWNvbiA9IHN0eWxlZC5zcGFuPHsgJHRhc2s/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuICBoZWlnaHQ6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGZsZXg6IDAgMCAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuYFxuXG4vKiogVGV4dG8gZGUgdGFyZWEgY29uIGJvcmRlIGluZmVyaW9yIChzcGVjIEZpZ21hKS4gKi9cbmV4cG9ydCBjb25zdCBTQ01DVGFza0NoaXBMYWJlbFdyYXAgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMSAxIDA7XG4gIGdhcDogNHB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCB2YXIoLS1jb3ItY29sb3ItZ3JleS00MDAsICNiM2IzYjMpO1xuYFxuXG4vKiogVGV4dG8gaW50ZXJpb3IgY29uIGVsbGlwc2lzIChtZW5jacOzbiB0aXBvIHRhcmVhKS4gKi9cbmV4cG9ydCBjb25zdCBTQ01DVGFza0NoaXBMYWJlbFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbmBcblxuLyoqIFRleHRvIGludGVyaW9yIGNvbiBlbGxpcHNpcyAobWVuY2nDs24gY2xpZW50ZS9wcm95ZWN0by91c3VhcmlvL21jcCkuICovXG5leHBvcnQgY29uc3QgU0NNQ0NoaXBQbGFpbkxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG5gXG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxpQkFBaUIsUUFBUSxtQkFBbUI7QUFDbEUsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxTQUFTQyxjQUFjLFFBQVEsd0JBQXdCO0FBQ3ZELFNBQVNDLDBCQUEwQixRQUEyQiwrQkFBK0I7QUFFN0YsSUFBTUMsWUFBWSxHQUFHLGFBQWE7QUFDbEMsSUFBTUMsWUFBWSxHQUFHSixNQUFNLENBQUNLLElBQUksQ0FBQ0MsT0FBTztBQUV4QyxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFTO0FBQ2xDLElBQU1DLGdCQUFnQixHQUFHUixNQUFNLENBQUNLLElBQUksQ0FBQ0MsT0FBTzs7QUFFNUM7QUFDQSxPQUFPLElBQU1HLDhCQUE4QixHQUFHLFNBQVM7O0FBRXZEO0FBQ0EsT0FBTyxJQUFNQywwQkFBMEIsR0FBR1QsY0FBYyxDQUFDLEdBQUcsQ0FBQzs7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
@@ -4,7 +4,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { createElement } from 'react';
5
5
  import { flushSync } from 'react-dom';
6
6
  import { createRoot } from 'react-dom/client';
7
- import i18n from '../../../lang';
8
7
  import { CONTEXT_MENTION_CHIP_CLASS } from '../../../types/contextMention';
9
8
  import { getContextMentionIcon } from '../../../utils/contextMentionIcons';
10
9
  import { normalizeContextMentionLabel } from '../../../utils/contextMentionLabel';
@@ -49,7 +48,6 @@ var EditableMentionChip = function EditableMentionChip(_ref) {
49
48
  var mentionLabel = normalizeContextMentionLabel(mention.label);
50
49
  var iconColor = MENTION_CHIP_COLORS[mention.type].fg;
51
50
  var isTask = mention.type === 'task';
52
- var isProject = mention.type === 'project';
53
51
  var iconSize = isTask ? 16 : 14;
54
52
  var labelEl = createEditableMentionLabelEl(isTask, mentionLabel);
55
53
  var outerStyle = {
@@ -60,7 +58,7 @@ var EditableMentionChip = function EditableMentionChip(_ref) {
60
58
  verticalAlign: 'baseline',
61
59
  maxWidth: '100%'
62
60
  };
63
- if (isTask || isProject) {
61
+ if (isTask) {
64
62
  return /*#__PURE__*/createElement('span', {
65
63
  style: outerStyle
66
64
  }, labelEl);
@@ -100,32 +98,12 @@ var TOOLTIP_SECONDARY_STYLE = {
100
98
  lineHeight: '20px',
101
99
  color: TOOLTIP_SECONDARY_COLOR
102
100
  };
103
-
104
- /** Ancho mínimo del tooltip (incl. padding horizontal 8+8). */
105
- var USER_TOOLTIP_MIN_WIDTH_PX = 292;
106
- /** Padding horizontal total del tooltip. */
107
- var USER_TOOLTIP_PAD_X_PX = 16;
108
- /** Avatar 24px + gap 8px respecto a la columna de texto. */
109
- var USER_TOOLTIP_AVATAR_GAP_PX = 32;
110
- /**
111
- * Ancho máximo de la fila nombre | posición: mismo hueco que con tooltip fijo 292px,
112
- * para que solo el email ensanche el contenedor.
113
- */
114
- var USER_TOOLTIP_NAME_ROW_MAX_PX = USER_TOOLTIP_MIN_WIDTH_PX - USER_TOOLTIP_PAD_X_PX - USER_TOOLTIP_AVATAR_GAP_PX;
115
- /**
116
- * Tope de ancho del nombre en la fila: por debajo del máximo de fila para que el ellipsis
117
- * del nombre aparezca antes y quede más espacio visible para posición/cargo.
118
- */
119
- var USER_TOOLTIP_NAME_MAX_WIDTH_PX = Math.floor(USER_TOOLTIP_NAME_ROW_MAX_PX * 0.42);
120
101
  var createUserTooltipEl = function createUserTooltipEl(mention) {
121
102
  var _metadata$picture, _metadata$positionNam, _metadata$positionNam2, _metadata$email$trim, _metadata$email, _metadata$name;
122
103
  var label = mention.label,
123
104
  metadata = mention.metadata;
124
105
  var picture = (_metadata$picture = metadata === null || metadata === void 0 ? void 0 : metadata.picture) !== null && _metadata$picture !== void 0 ? _metadata$picture : null;
125
106
  var positionName = (_metadata$positionNam = metadata === null || metadata === void 0 || (_metadata$positionNam2 = metadata.positionName) === null || _metadata$positionNam2 === void 0 ? void 0 : _metadata$positionNam2.trim()) !== null && _metadata$positionNam !== void 0 ? _metadata$positionNam : '';
126
- var positionLine = positionName || i18n.t('contextMention.userNoPosition', {
127
- defaultValue: 'Sin posición'
128
- });
129
107
  var email = (_metadata$email$trim = metadata === null || metadata === void 0 || (_metadata$email = metadata.email) === null || _metadata$email === void 0 ? void 0 : _metadata$email.trim()) !== null && _metadata$email$trim !== void 0 ? _metadata$email$trim : '';
130
108
  /** Misma fuente que `ContextMentionItem` (avatar): nombre de query, no el label del chip (ej. "Yo"). */
131
109
  var nameForInitials = (metadata !== null && metadata !== void 0 && (_metadata$name = metadata.name) !== null && _metadata$name !== void 0 && _metadata$name.trim() ? metadata.name : label).trim();
@@ -133,9 +111,7 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
133
111
  Object.assign(tooltip.style, {
134
112
  position: 'fixed',
135
113
  zIndex: '9999',
136
- minWidth: "".concat(USER_TOOLTIP_MIN_WIDTH_PX, "px"),
137
- width: 'max-content',
138
- maxWidth: 'min(560px, calc(100vw - 24px))',
114
+ width: '292px',
139
115
  padding: '12px 8px',
140
116
  display: 'flex',
141
117
  flexDirection: 'column',
@@ -145,17 +121,14 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
145
121
  background: '#FFF',
146
122
  boxShadow: '0 1px 4px 0 rgba(0,0,0,0.08), 0 1px 4px 0 rgba(0,0,0,0.04)',
147
123
  boxSizing: 'border-box',
148
- pointerEvents: 'none',
149
- overflow: 'hidden'
124
+ pointerEvents: 'none'
150
125
  });
151
126
  var row = document.createElement('div');
152
127
  Object.assign(row.style, {
153
128
  display: 'flex',
154
129
  alignItems: 'center',
155
130
  gap: '8px',
156
- width: 'max-content',
157
- maxWidth: '100%',
158
- minWidth: '0'
131
+ width: '100%'
159
132
  });
160
133
 
161
134
  // Avatar circular (foto o iniciales)
@@ -169,8 +142,7 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
169
142
  display: 'flex',
170
143
  alignItems: 'center',
171
144
  justifyContent: 'center',
172
- /** Mismo fondo que `SCMUserAvatarFallback` en la fila de usuario del modal. */
173
- background: 'var(--cor-color-grey-200, #e0e0e0)',
145
+ background: '#e8f4ff',
174
146
  flexShrink: '0'
175
147
  });
176
148
  var initials = initialsFromName(nameForInitials);
@@ -180,8 +152,7 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
180
152
  Object.assign(fb.style, {
181
153
  fontSize: '10px',
182
154
  fontWeight: '600',
183
- /** Mismo color que `SCMUserAvatarFallback` en la fila de usuario del modal. */
184
- color: 'var(--cor-color-text-secondary, #666)',
155
+ color: '#2d77bd',
185
156
  lineHeight: '1',
186
157
  fontFamily: TOOLTIP_FONT
187
158
  });
@@ -208,7 +179,7 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
208
179
  avatarWrap.appendChild(createInitialsFallback());
209
180
  }
210
181
 
211
- // Columna de info: ancho = max(fila nombre, email); sin forzar 244px si el contenido es más corto.
182
+ // Columna de info
212
183
  var infoCol = document.createElement('div');
213
184
  Object.assign(infoCol.style, {
214
185
  display: 'flex',
@@ -217,26 +188,19 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
217
188
  alignItems: 'flex-start',
218
189
  gap: '2px',
219
190
  minWidth: '0',
220
- width: 'max-content',
221
- maxWidth: '100%'
191
+ flex: '1'
222
192
  });
223
193
 
224
- // Fila: nombre | posición — max-content para no dejar hueco entre nombre corto y el pipe (evitar flex 50/50).
194
+ // Fila: nombre + separador + posición
225
195
  var nameRow = document.createElement('div');
226
196
  Object.assign(nameRow.style, {
227
197
  display: 'flex',
228
198
  alignItems: 'flex-start',
229
- gap: '4px',
230
- minWidth: '0',
231
- width: 'max-content',
232
- maxWidth: "".concat(USER_TOOLTIP_NAME_ROW_MAX_PX, "px")
199
+ gap: '4px'
233
200
  });
234
201
  var nameSpan = document.createElement('span');
235
202
  nameSpan.textContent = label;
236
203
  Object.assign(nameSpan.style, {
237
- flex: '0 1 auto',
238
- minWidth: '0',
239
- maxWidth: "".concat(USER_TOOLTIP_NAME_MAX_WIDTH_PX, "px"),
240
204
  overflow: 'hidden',
241
205
  textOverflow: 'ellipsis',
242
206
  whiteSpace: 'nowrap',
@@ -247,32 +211,23 @@ var createUserTooltipEl = function createUserTooltipEl(mention) {
247
211
  lineHeight: '130%'
248
212
  });
249
213
  nameRow.appendChild(nameSpan);
250
- var sep = document.createElement('span');
251
- sep.textContent = '|';
252
- Object.assign(sep.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
253
- flexShrink: '0'
254
- }));
255
- nameRow.appendChild(sep);
256
- var posSpan = document.createElement('span');
257
- posSpan.textContent = positionLine;
258
- Object.assign(posSpan.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
259
- flex: '0 1 auto',
260
- minWidth: '0',
261
- overflow: 'hidden',
262
- textOverflow: 'ellipsis',
263
- whiteSpace: 'nowrap'
264
- }));
265
- nameRow.appendChild(posSpan);
214
+ if (positionName) {
215
+ var sep = document.createElement('span');
216
+ sep.textContent = '|';
217
+ Object.assign(sep.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
218
+ flexShrink: '0'
219
+ }));
220
+ nameRow.appendChild(sep);
221
+ var posSpan = document.createElement('span');
222
+ posSpan.textContent = positionName;
223
+ Object.assign(posSpan.style, TOOLTIP_SECONDARY_STYLE);
224
+ nameRow.appendChild(posSpan);
225
+ }
266
226
  infoCol.appendChild(nameRow);
267
227
  if (email) {
268
228
  var emailSpan = document.createElement('span');
269
229
  emailSpan.textContent = email;
270
- Object.assign(emailSpan.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
271
- whiteSpace: 'nowrap',
272
- maxWidth: '100%',
273
- overflow: 'hidden',
274
- textOverflow: 'ellipsis'
275
- }));
230
+ Object.assign(emailSpan.style, TOOLTIP_SECONDARY_STYLE);
276
231
  infoCol.appendChild(emailSpan);
277
232
  }
278
233
  row.appendChild(avatarWrap);
@@ -347,31 +302,6 @@ export var buildChipElement = function buildChipElement(mention) {
347
302
  };
348
303
  } else if (mention.type === 'user') {
349
304
  var tooltipEl = null;
350
- var chipRemovedObserver = null;
351
- var removeUserTooltip = function removeUserTooltip() {
352
- var _chipRemovedObserver;
353
- (_chipRemovedObserver = chipRemovedObserver) === null || _chipRemovedObserver === void 0 || _chipRemovedObserver.disconnect();
354
- chipRemovedObserver = null;
355
- if (tooltipEl) {
356
- tooltipEl.remove();
357
- tooltipEl = null;
358
- }
359
- };
360
-
361
- /** Si el chip se borra del editor (Backspace, etc.) no siempre hay `mouseleave`; cerrar el tooltip. */
362
- var watchChipRemovedFromDom = function watchChipRemovedFromDom() {
363
- var _chipRemovedObserver2;
364
- var parent = chip.parentNode;
365
- if (!parent) return;
366
- (_chipRemovedObserver2 = chipRemovedObserver) === null || _chipRemovedObserver2 === void 0 || _chipRemovedObserver2.disconnect();
367
- chipRemovedObserver = new MutationObserver(function () {
368
- if (!chip.isConnected) removeUserTooltip();
369
- });
370
- chipRemovedObserver.observe(parent, {
371
- childList: true,
372
- subtree: true
373
- });
374
- };
375
305
  chip.addEventListener('mouseenter', function () {
376
306
  if (tooltipEl) return;
377
307
  tooltipEl = createUserTooltipEl(mention);
@@ -381,10 +311,14 @@ export var buildChipElement = function buildChipElement(mention) {
381
311
  tooltipEl.style.left = "".concat(left, "px");
382
312
  tooltipEl.style.transform = 'translateY(calc(-100% - 4px))';
383
313
  document.body.appendChild(tooltipEl);
384
- watchChipRemovedFromDom();
385
314
  });
386
- chip.addEventListener('mouseleave', removeUserTooltip);
315
+ chip.addEventListener('mouseleave', function () {
316
+ if (tooltipEl) {
317
+ tooltipEl.remove();
318
+ tooltipEl = null;
319
+ }
320
+ });
387
321
  }
388
322
  return chip;
389
323
  };
390
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50IiwiZmx1c2hTeW5jIiwiY3JlYXRlUm9vdCIsImkxOG4iLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJhcHBseU1lbnRpb25DaGlwU3R5bGVzIiwiTUVOVElPTl9DSElQX0NPTE9SUyIsIkVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFIiwiZGlzcGxheSIsImxpbmVIZWlnaHQiLCJhbGlnblNlbGYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwid2hpdGVTcGFjZSIsIm92ZXJmbG93V3JhcCIsIndvcmRCcmVhayIsIkVESVRBQkxFX1RBU0tfTEFCRUxfU1RZTEUiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsImNyZWF0ZUVkaXRhYmxlTWVudGlvbkxhYmVsRWwiLCJpc1Rhc2siLCJtZW50aW9uTGFiZWwiLCJzdHlsZSIsIkVkaXRhYmxlTWVudGlvbkNoaXAiLCJfcmVmIiwibWVudGlvbiIsImxhYmVsIiwiaWNvbkNvbG9yIiwidHlwZSIsImZnIiwiaXNQcm9qZWN0IiwiaWNvblNpemUiLCJsYWJlbEVsIiwib3V0ZXJTdHlsZSIsInBvc2l0aW9uIiwiYm94U2l6aW5nIiwidmVydGljYWxBbGlnbiIsIm1hcmdpblJpZ2h0Iiwid2lkdGgiLCJpZCIsImluaXRpYWxzRnJvbU5hbWUiLCJuYW1lIiwiX3BhcnRzJDIiLCJ0cmltbWVkIiwidHJpbSIsInBhcnRzIiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwibGVuZ3RoIiwiX3BhcnRzJDAkY2hhckF0IiwiX3BhcnRzJCIsIl9wYXJ0cyRjaGFyQXQiLCJfcGFydHMiLCJmaXJzdCIsImNoYXJBdCIsImxhc3QiLCJjb25jYXQiLCJ0b1VwcGVyQ2FzZSIsInNpbmdsZSIsInNsaWNlIiwiVE9PTFRJUF9GT05UIiwiVE9PTFRJUF9TRUNPTkRBUllfQ09MT1IiLCJUT09MVElQX1NFQ09OREFSWV9TVFlMRSIsImZvbnRGYW1pbHkiLCJVU0VSX1RPT0xUSVBfTUlOX1dJRFRIX1BYIiwiVVNFUl9UT09MVElQX1BBRF9YX1BYIiwiVVNFUl9UT09MVElQX0FWQVRBUl9HQVBfUFgiLCJVU0VSX1RPT0xUSVBfTkFNRV9ST1dfTUFYX1BYIiwiVVNFUl9UT09MVElQX05BTUVfTUFYX1dJRFRIX1BYIiwiTWF0aCIsImZsb29yIiwiY3JlYXRlVXNlclRvb2x0aXBFbCIsIl9tZXRhZGF0YSRwaWN0dXJlIiwiX21ldGFkYXRhJHBvc2l0aW9uTmFtIiwiX21ldGFkYXRhJHBvc2l0aW9uTmFtMiIsIl9tZXRhZGF0YSRlbWFpbCR0cmltIiwiX21ldGFkYXRhJGVtYWlsIiwiX21ldGFkYXRhJG5hbWUiLCJtZXRhZGF0YSIsInBpY3R1cmUiLCJwb3NpdGlvbk5hbWUiLCJwb3NpdGlvbkxpbmUiLCJ0IiwiZGVmYXVsdFZhbHVlIiwiZW1haWwiLCJuYW1lRm9ySW5pdGlhbHMiLCJ0b29sdGlwIiwiZG9jdW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ6SW5kZXgiLCJwYWRkaW5nIiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93IiwicG9pbnRlckV2ZW50cyIsIm92ZXJmbG93Iiwicm93IiwiZ2FwIiwiYXZhdGFyV3JhcCIsImhlaWdodCIsImp1c3RpZnlDb250ZW50IiwiZmxleFNocmluayIsImluaXRpYWxzIiwiY3JlYXRlSW5pdGlhbHNGYWxsYmFjayIsImZiIiwidGV4dENvbnRlbnQiLCJpbWciLCJzcmMiLCJhbHQiLCJkcmFnZ2FibGUiLCJvYmplY3RGaXQiLCJvbmVycm9yIiwicmVtb3ZlIiwiYXBwZW5kQ2hpbGQiLCJpbmZvQ29sIiwibmFtZVJvdyIsIm5hbWVTcGFuIiwiZmxleCIsInRleHRPdmVyZmxvdyIsInNlcCIsIl9vYmplY3RTcHJlYWQiLCJwb3NTcGFuIiwiZW1haWxTcGFuIiwiYnVpbGRDaGlwRWxlbWVudCIsImNoaXAiLCJzZXRBdHRyaWJ1dGUiLCJjbGFzc05hbWUiLCJjb21tb24iLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJtb3VudE5vZGUiLCJyb290IiwicmVuZGVyIiwiY3Vyc29yIiwib25jbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIndpbmRvdyIsIm9wZW4iLCJ0b29sdGlwRWwiLCJjaGlwUmVtb3ZlZE9ic2VydmVyIiwicmVtb3ZlVXNlclRvb2x0aXAiLCJfY2hpcFJlbW92ZWRPYnNlcnZlciIsImRpc2Nvbm5lY3QiLCJ3YXRjaENoaXBSZW1vdmVkRnJvbURvbSIsIl9jaGlwUmVtb3ZlZE9ic2VydmVyMiIsInBhcmVudCIsInBhcmVudE5vZGUiLCJNdXRhdGlvbk9ic2VydmVyIiwiaXNDb25uZWN0ZWQiLCJvYnNlcnZlIiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwibGVmdCIsIm1heCIsIm1pbiIsImlubmVyV2lkdGgiLCJ0b3AiLCJ0cmFuc2Zvcm0iLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25DaGlwL2J1aWxkQ2hpcEVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRWxlbWVudCwgdHlwZSBDU1NQcm9wZXJ0aWVzIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBmbHVzaFN5bmMgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCdcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uL2xhbmcnXG5pbXBvcnQgeyBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUywgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25MYWJlbCdcbmltcG9ydCB7IG9wZW5UYXNrSW5Db3JQYW5lbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL29wZW5UYXNrSW5Db3JQYW5lbCdcbmltcG9ydCB7IGFwcGx5TWVudGlvbkNoaXBTdHlsZXMsIE1FTlRJT05fQ0hJUF9DT0xPUlMgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMnXG5cbmNvbnN0IEVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFOiBDU1NQcm9wZXJ0aWVzID0ge1xuICBkaXNwbGF5OiAnaW5saW5lJyxcbiAgbGluZUhlaWdodDogJzIwcHgnLFxuICBhbGlnblNlbGY6ICdiYXNlbGluZScsXG4gIG1pbldpZHRoOiAwLFxuICBtYXhXaWR0aDogJzEwMCUnLFxuICB3aGl0ZVNwYWNlOiAnbm9ybWFsJyxcbiAgb3ZlcmZsb3dXcmFwOiAnYnJlYWstd29yZCcsXG4gIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLFxufVxuXG4vKiogVGV4dG8gZGUgdGFyZWE6IHNpbiBib3JkZSBpbmZlcmlvcjsgZWwgYXNwZWN0byBkZSBlbmxhY2UgbG8gZGEgZWwgQ1NTIGdsb2JhbCAoOjpiZWZvcmUgKyBjb2xvcikuICovXG5jb25zdCBFRElUQUJMRV9UQVNLX0xBQkVMX1NUWUxFOiBDU1NQcm9wZXJ0aWVzID0ge1xuICBkaXNwbGF5OiAnaW5saW5lJyxcbiAgZm9udFNpemU6ICcxNHB4JyxcbiAgbGluZUhlaWdodDogJzIwcHgnLFxuICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgY29sb3I6ICdpbmhlcml0JyxcbiAgbWluV2lkdGg6IDAsXG4gIG1heFdpZHRoOiAnMTAwJScsXG4gIHdoaXRlU3BhY2U6ICdub3JtYWwnLFxuICBvdmVyZmxvd1dyYXA6ICdicmVhay13b3JkJyxcbiAgd29yZEJyZWFrOiAnYnJlYWstd29yZCcsXG59XG5cbmNvbnN0IGNyZWF0ZUVkaXRhYmxlTWVudGlvbkxhYmVsRWwgPSAoaXNUYXNrOiBib29sZWFuLCBtZW50aW9uTGFiZWw6IHN0cmluZykgPT4ge1xuICBpZiAoIWlzVGFzaykge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KCdzcGFuJywgeyBzdHlsZTogRURJVEFCTEVfTk9OX1RBU0tfTEFCRUxfU1RZTEUgfSwgbWVudGlvbkxhYmVsKVxuICB9XG4gIHJldHVybiBjcmVhdGVFbGVtZW50KCdzcGFuJywgeyBzdHlsZTogRURJVEFCTEVfVEFTS19MQUJFTF9TVFlMRSB9LCBtZW50aW9uTGFiZWwpXG59XG5cbnR5cGUgRWRpdGFibGVNZW50aW9uQ2hpcFByb3BzID0ge1xuICBtZW50aW9uOiBDb250ZXh0TWVudGlvblxufVxuXG5jb25zdCBFZGl0YWJsZU1lbnRpb25DaGlwID0gKHsgbWVudGlvbiB9OiBFZGl0YWJsZU1lbnRpb25DaGlwUHJvcHMpID0+IHtcbiAgY29uc3QgbWVudGlvbkxhYmVsID0gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChtZW50aW9uLmxhYmVsKVxuICBjb25zdCBpY29uQ29sb3IgPSBNRU5USU9OX0NISVBfQ09MT1JTW21lbnRpb24udHlwZV0uZmdcbiAgY29uc3QgaXNUYXNrID0gbWVudGlvbi50eXBlID09PSAndGFzaydcbiAgY29uc3QgaXNQcm9qZWN0ID0gbWVudGlvbi50eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IGxhYmVsRWwgPSBjcmVhdGVFZGl0YWJsZU1lbnRpb25MYWJlbEVsKGlzVGFzaywgbWVudGlvbkxhYmVsKVxuXG4gIGNvbnN0IG91dGVyU3R5bGU6IENTU1Byb3BlcnRpZXMgPSB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgbGluZUhlaWdodDogJzIwcHgnLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIHZlcnRpY2FsQWxpZ246ICdiYXNlbGluZScsXG4gICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgfVxuXG4gIGlmIChpc1Rhc2sgfHwgaXNQcm9qZWN0KSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCB7IHN0eWxlOiBvdXRlclN0eWxlIH0sIGxhYmVsRWwpXG4gIH1cblxuICByZXR1cm4gY3JlYXRlRWxlbWVudChcbiAgICAnc3BhbicsXG4gICAgeyBzdHlsZTogb3V0ZXJTdHlsZSB9LFxuICAgIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgbWFyZ2luUmlnaHQ6ICcycHgnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxJyxcbiAgICAgICAgICB3aWR0aDogJzE0cHgnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGdldENvbnRleHRNZW50aW9uSWNvbihtZW50aW9uLnR5cGUsIGljb25Db2xvciwgbWVudGlvbi5pZCwgaWNvblNpemUpXG4gICAgKSxcbiAgICBsYWJlbEVsXG4gIClcbn1cblxuY29uc3QgaW5pdGlhbHNGcm9tTmFtZSA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB0cmltbWVkID0gbmFtZS50cmltKClcbiAgaWYgKCF0cmltbWVkKSByZXR1cm4gJz8nXG4gIGNvbnN0IHBhcnRzID0gdHJpbW1lZC5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKVxuICBpZiAocGFydHMubGVuZ3RoID49IDIpIHtcbiAgICBjb25zdCBmaXJzdCA9IHBhcnRzWzBdPy5jaGFyQXQoMCkgPz8gJydcbiAgICBjb25zdCBsYXN0ID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0/LmNoYXJBdCgwKSA/PyAnJ1xuICAgIHJldHVybiBgJHtmaXJzdH0ke2xhc3R9YC50b1VwcGVyQ2FzZSgpXG4gIH1cbiAgY29uc3Qgc2luZ2xlID0gcGFydHNbMF0gPz8gJydcbiAgcmV0dXJuIHNpbmdsZS5sZW5ndGggPj0gMiA/IHNpbmdsZS5zbGljZSgwLCAyKS50b1VwcGVyQ2FzZSgpIDogKHNpbmdsZS5jaGFyQXQoMCkgfHwgJz8nKS50b1VwcGVyQ2FzZSgpXG59XG5cbmNvbnN0IFRPT0xUSVBfRk9OVCA9IGB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpYFxuY29uc3QgVE9PTFRJUF9TRUNPTkRBUllfQ09MT1IgPSAndmFyKC0tVGV4dC1TZWNvbmRhcnktRGFyaywgIzY2NiknXG5jb25zdCBUT09MVElQX1NFQ09OREFSWV9TVFlMRSA9IHtcbiAgZm9udEZhbWlseTogVE9PTFRJUF9GT05ULFxuICBmb250U2l6ZTogJzE0cHgnLFxuICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgbGluZUhlaWdodDogJzIwcHgnLFxuICBjb2xvcjogVE9PTFRJUF9TRUNPTkRBUllfQ09MT1IsXG59XG5cbi8qKiBBbmNobyBtw61uaW1vIGRlbCB0b29sdGlwIChpbmNsLiBwYWRkaW5nIGhvcml6b250YWwgOCs4KS4gKi9cbmNvbnN0IFVTRVJfVE9PTFRJUF9NSU5fV0lEVEhfUFggPSAyOTJcbi8qKiBQYWRkaW5nIGhvcml6b250YWwgdG90YWwgZGVsIHRvb2x0aXAuICovXG5jb25zdCBVU0VSX1RPT0xUSVBfUEFEX1hfUFggPSAxNlxuLyoqIEF2YXRhciAyNHB4ICsgZ2FwIDhweCByZXNwZWN0byBhIGxhIGNvbHVtbmEgZGUgdGV4dG8uICovXG5jb25zdCBVU0VSX1RPT0xUSVBfQVZBVEFSX0dBUF9QWCA9IDMyXG4vKipcbiAqIEFuY2hvIG3DoXhpbW8gZGUgbGEgZmlsYSBub21icmUgfCBwb3NpY2nDs246IG1pc21vIGh1ZWNvIHF1ZSBjb24gdG9vbHRpcCBmaWpvIDI5MnB4LFxuICogcGFyYSBxdWUgc29sbyBlbCBlbWFpbCBlbnNhbmNoZSBlbCBjb250ZW5lZG9yLlxuICovXG5jb25zdCBVU0VSX1RPT0xUSVBfTkFNRV9ST1dfTUFYX1BYID0gVVNFUl9UT09MVElQX01JTl9XSURUSF9QWCAtIFVTRVJfVE9PTFRJUF9QQURfWF9QWCAtIFVTRVJfVE9PTFRJUF9BVkFUQVJfR0FQX1BYXG4vKipcbiAqIFRvcGUgZGUgYW5jaG8gZGVsIG5vbWJyZSBlbiBsYSBmaWxhOiBwb3IgZGViYWpvIGRlbCBtw6F4aW1vIGRlIGZpbGEgcGFyYSBxdWUgZWwgZWxsaXBzaXNcbiAqIGRlbCBub21icmUgYXBhcmV6Y2EgYW50ZXMgeSBxdWVkZSBtw6FzIGVzcGFjaW8gdmlzaWJsZSBwYXJhIHBvc2ljacOzbi9jYXJnby5cbiAqL1xuY29uc3QgVVNFUl9UT09MVElQX05BTUVfTUFYX1dJRFRIX1BYID0gTWF0aC5mbG9vcihVU0VSX1RPT0xUSVBfTkFNRV9ST1dfTUFYX1BYICogMC40MilcblxuY29uc3QgY3JlYXRlVXNlclRvb2x0aXBFbCA9IChtZW50aW9uOiBDb250ZXh0TWVudGlvbik6IEhUTUxFbGVtZW50ID0+IHtcbiAgY29uc3QgeyBsYWJlbCwgbWV0YWRhdGEgfSA9IG1lbnRpb25cbiAgY29uc3QgcGljdHVyZSA9IG1ldGFkYXRhPy5waWN0dXJlID8/IG51bGxcbiAgY29uc3QgcG9zaXRpb25OYW1lID0gbWV0YWRhdGE/LnBvc2l0aW9uTmFtZT8udHJpbSgpID8/ICcnXG4gIGNvbnN0IHBvc2l0aW9uTGluZSA9XG4gICAgcG9zaXRpb25OYW1lIHx8XG4gICAgaTE4bi50KCdjb250ZXh0TWVudGlvbi51c2VyTm9Qb3NpdGlvbicsIHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogJ1NpbiBwb3NpY2nDs24nLFxuICAgIH0pXG4gIGNvbnN0IGVtYWlsID0gbWV0YWRhdGE/LmVtYWlsPy50cmltKCkgPz8gJydcbiAgLyoqIE1pc21hIGZ1ZW50ZSBxdWUgYENvbnRleHRNZW50aW9uSXRlbWAgKGF2YXRhcik6IG5vbWJyZSBkZSBxdWVyeSwgbm8gZWwgbGFiZWwgZGVsIGNoaXAgKGVqLiBcIllvXCIpLiAqL1xuICBjb25zdCBuYW1lRm9ySW5pdGlhbHMgPSAobWV0YWRhdGE/Lm5hbWU/LnRyaW0oKSA/IG1ldGFkYXRhLm5hbWUgOiBsYWJlbCkudHJpbSgpXG5cbiAgY29uc3QgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24odG9vbHRpcC5zdHlsZSwge1xuICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgIHpJbmRleDogJzk5OTknLFxuICAgIG1pbldpZHRoOiBgJHtVU0VSX1RPT0xUSVBfTUlOX1dJRFRIX1BYfXB4YCxcbiAgICB3aWR0aDogJ21heC1jb250ZW50JyxcbiAgICBtYXhXaWR0aDogJ21pbig1NjBweCwgY2FsYygxMDB2dyAtIDI0cHgpKScsXG4gICAgcGFkZGluZzogJzEycHggOHB4JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLUNvbG9yLUxpZ2h0LUdyYXksICNFMEUwRTApJyxcbiAgICBiYWNrZ3JvdW5kOiAnI0ZGRicsXG4gICAgYm94U2hhZG93OiAnMCAxcHggNHB4IDAgcmdiYSgwLDAsMCwwLjA4KSwgMCAxcHggNHB4IDAgcmdiYSgwLDAsMCwwLjA0KScsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgfSlcblxuICBjb25zdCByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICBPYmplY3QuYXNzaWduKHJvdy5zdHlsZSwge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBnYXA6ICc4cHgnLFxuICAgIHdpZHRoOiAnbWF4LWNvbnRlbnQnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgbWluV2lkdGg6ICcwJyxcbiAgfSlcblxuICAvLyBBdmF0YXIgY2lyY3VsYXIgKGZvdG8gbyBpbmljaWFsZXMpXG4gIGNvbnN0IGF2YXRhcldyYXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICBPYmplY3QuYXNzaWduKGF2YXRhcldyYXAuc3R5bGUsIHtcbiAgICB3aWR0aDogJzI0cHgnLFxuICAgIGhlaWdodDogJzI0cHgnLFxuICAgIG1pbldpZHRoOiAnMjRweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnMjRweCcsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgLyoqIE1pc21vIGZvbmRvIHF1ZSBgU0NNVXNlckF2YXRhckZhbGxiYWNrYCBlbiBsYSBmaWxhIGRlIHVzdWFyaW8gZGVsIG1vZGFsLiAqL1xuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0yMDAsICNlMGUwZTApJyxcbiAgICBmbGV4U2hyaW5rOiAnMCcsXG4gIH0pXG5cbiAgY29uc3QgaW5pdGlhbHMgPSBpbml0aWFsc0Zyb21OYW1lKG5hbWVGb3JJbml0aWFscylcblxuICBjb25zdCBjcmVhdGVJbml0aWFsc0ZhbGxiYWNrID0gKCk6IEhUTUxFbGVtZW50ID0+IHtcbiAgICBjb25zdCBmYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGZiLnRleHRDb250ZW50ID0gaW5pdGlhbHNcbiAgICBPYmplY3QuYXNzaWduKGZiLnN0eWxlLCB7XG4gICAgICBmb250U2l6ZTogJzEwcHgnLFxuICAgICAgZm9udFdlaWdodDogJzYwMCcsXG4gICAgICAvKiogTWlzbW8gY29sb3IgcXVlIGBTQ01Vc2VyQXZhdGFyRmFsbGJhY2tgIGVuIGxhIGZpbGEgZGUgdXN1YXJpbyBkZWwgbW9kYWwuICovXG4gICAgICBjb2xvcjogJ3ZhcigtLWNvci1jb2xvci10ZXh0LXNlY29uZGFyeSwgIzY2NiknLFxuICAgICAgbGluZUhlaWdodDogJzEnLFxuICAgICAgZm9udEZhbWlseTogVE9PTFRJUF9GT05ULFxuICAgIH0pXG4gICAgcmV0dXJuIGZiXG4gIH1cblxuICBpZiAocGljdHVyZSkge1xuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpXG4gICAgaW1nLnNyYyA9IHBpY3R1cmVcbiAgICBpbWcuYWx0ID0gJydcbiAgICBpbWcuZHJhZ2dhYmxlID0gZmFsc2VcbiAgICBPYmplY3QuYXNzaWduKGltZy5zdHlsZSwge1xuICAgICAgd2lkdGg6ICcyNHB4JyxcbiAgICAgIGhlaWdodDogJzI0cHgnLFxuICAgICAgb2JqZWN0Rml0OiAnY292ZXInLFxuICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzI0cHgnLFxuICAgIH0pXG4gICAgaW1nLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICBpbWcucmVtb3ZlKClcbiAgICAgIGF2YXRhcldyYXAuYXBwZW5kQ2hpbGQoY3JlYXRlSW5pdGlhbHNGYWxsYmFjaygpKVxuICAgIH1cbiAgICBhdmF0YXJXcmFwLmFwcGVuZENoaWxkKGltZylcbiAgfSBlbHNlIHtcbiAgICBhdmF0YXJXcmFwLmFwcGVuZENoaWxkKGNyZWF0ZUluaXRpYWxzRmFsbGJhY2soKSlcbiAgfVxuXG4gIC8vIENvbHVtbmEgZGUgaW5mbzogYW5jaG8gPSBtYXgoZmlsYSBub21icmUsIGVtYWlsKTsgc2luIGZvcnphciAyNDRweCBzaSBlbCBjb250ZW5pZG8gZXMgbcOhcyBjb3J0by5cbiAgY29uc3QgaW5mb0NvbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24oaW5mb0NvbC5zdHlsZSwge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGdhcDogJzJweCcsXG4gICAgbWluV2lkdGg6ICcwJyxcbiAgICB3aWR0aDogJ21heC1jb250ZW50JyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICB9KVxuXG4gIC8vIEZpbGE6IG5vbWJyZSB8IHBvc2ljacOzbiDigJQgbWF4LWNvbnRlbnQgcGFyYSBubyBkZWphciBodWVjbyBlbnRyZSBub21icmUgY29ydG8geSBlbCBwaXBlIChldml0YXIgZmxleCA1MC81MCkuXG4gIGNvbnN0IG5hbWVSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICBPYmplY3QuYXNzaWduKG5hbWVSb3cuc3R5bGUsIHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGdhcDogJzRweCcsXG4gICAgbWluV2lkdGg6ICcwJyxcbiAgICB3aWR0aDogJ21heC1jb250ZW50JyxcbiAgICBtYXhXaWR0aDogYCR7VVNFUl9UT09MVElQX05BTUVfUk9XX01BWF9QWH1weGAsXG4gIH0pXG5cbiAgY29uc3QgbmFtZVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgbmFtZVNwYW4udGV4dENvbnRlbnQgPSBsYWJlbFxuICBPYmplY3QuYXNzaWduKG5hbWVTcGFuLnN0eWxlLCB7XG4gICAgZmxleDogJzAgMSBhdXRvJyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIG1heFdpZHRoOiBgJHtVU0VSX1RPT0xUSVBfTkFNRV9NQVhfV0lEVEhfUFh9cHhgLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgY29sb3I6ICd2YXIoLS1UZXh0LVByaW1hcnktRGFyaywgIzIwMjAxRiknLFxuICAgIGZvbnRGYW1pbHk6IFRPT0xUSVBfRk9OVCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6ICc1MDAnLFxuICAgIGxpbmVIZWlnaHQ6ICcxMzAlJyxcbiAgfSlcbiAgbmFtZVJvdy5hcHBlbmRDaGlsZChuYW1lU3BhbilcblxuICBjb25zdCBzZXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgc2VwLnRleHRDb250ZW50ID0gJ3wnXG4gIE9iamVjdC5hc3NpZ24oc2VwLnN0eWxlLCB7IC4uLlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFLCBmbGV4U2hyaW5rOiAnMCcgfSlcbiAgbmFtZVJvdy5hcHBlbmRDaGlsZChzZXApXG5cbiAgY29uc3QgcG9zU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBwb3NTcGFuLnRleHRDb250ZW50ID0gcG9zaXRpb25MaW5lXG4gIE9iamVjdC5hc3NpZ24ocG9zU3Bhbi5zdHlsZSwge1xuICAgIC4uLlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFLFxuICAgIGZsZXg6ICcwIDEgYXV0bycsXG4gICAgbWluV2lkdGg6ICcwJyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB9KVxuICBuYW1lUm93LmFwcGVuZENoaWxkKHBvc1NwYW4pXG5cbiAgaW5mb0NvbC5hcHBlbmRDaGlsZChuYW1lUm93KVxuXG4gIGlmIChlbWFpbCkge1xuICAgIGNvbnN0IGVtYWlsU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGVtYWlsU3Bhbi50ZXh0Q29udGVudCA9IGVtYWlsXG4gICAgT2JqZWN0LmFzc2lnbihlbWFpbFNwYW4uc3R5bGUsIHtcbiAgICAgIC4uLlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIH0pXG4gICAgaW5mb0NvbC5hcHBlbmRDaGlsZChlbWFpbFNwYW4pXG4gIH1cblxuICByb3cuYXBwZW5kQ2hpbGQoYXZhdGFyV3JhcClcbiAgcm93LmFwcGVuZENoaWxkKGluZm9Db2wpXG4gIHRvb2x0aXAuYXBwZW5kQ2hpbGQocm93KVxuXG4gIHJldHVybiB0b29sdGlwXG59XG5cbi8qKlxuICogQ3JlYSB1biBgPHNwYW4+YCBhdMOzbWljbyBsaXN0byBwYXJhIGluc2VydGFyc2UgZGVudHJvIGRlbCBjb250ZW50ZWRpdGFibGVcbiAqIGRlbCBgQ29udGV4dE1lbnRpb25FZGl0b3JgLiBTZSBtYXJjYSBjb24gbG9zIGBkYXRhLW1lbnRpb24qYCBuZWNlc2FyaW9zIHBhcmFcbiAqIHF1ZSBgdXNlQ29udGV4dE1lbnRpb25zLnNlcmlhbGl6ZSgpYCBwdWVkYSB2b2x2ZXIgYSBleHRyYWVyIGxhIG1lbnRpb24uXG4gKlxuICogQ29tcGFydGUgbG9zIGVzdGlsb3MgY29uIGVsIGNvbXBvbmVudGUgYENvbnRleHRNZW50aW9uQ2hpcGAgdmlhXG4gKiBgYXBwbHlNZW50aW9uQ2hpcFN0eWxlc2AsIGFzZWd1cmFuZG8gdW5hIMO6bmljYSBmdWVudGUgZGUgdmVyZGFkIHZpc3VhbC5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkQ2hpcEVsZW1lbnQgPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBIVE1MU3BhbkVsZW1lbnQgPT4ge1xuICBjb25zdCBjaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gIGNoaXAuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnZmFsc2UnKVxuICBjaGlwLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uLWNoaXAnLCAndHJ1ZScpXG4gIGNoaXAuY2xhc3NOYW1lID0gQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1NcbiAgY2hpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi10eXBlJywgbWVudGlvbi50eXBlKVxuICBjaGlwLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uLXN1cmZhY2UnLCAnZWRpdG9yJylcbiAgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcyhjaGlwLCBtZW50aW9uLnR5cGUpXG4gIGNvbnN0IGlzVGFzayA9IG1lbnRpb24udHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGNvbW1vbiA9IHtcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgfSBhcyBjb25zdFxuICBpZiAoaXNUYXNrKSB7XG4gICAgT2JqZWN0LmFzc2lnbihjaGlwLnN0eWxlLCBjb21tb24sIHtcbiAgICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgbWluSGVpZ2h0OiAnYXV0bycsXG4gICAgICBtYXhIZWlnaHQ6ICdub25lJyxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIE9iamVjdC5hc3NpZ24oY2hpcC5zdHlsZSwgY29tbW9uLCB7XG4gICAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgbWF4SGVpZ2h0OiAnbm9uZScsXG4gICAgfSlcbiAgfVxuICBjb25zdCBtb3VudE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgbW91bnROb2RlLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lJ1xuICBtb3VudE5vZGUuc3R5bGUubWF4V2lkdGggPSAnMTAwJSdcbiAgbW91bnROb2RlLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnYmFzZWxpbmUnXG4gIG1vdW50Tm9kZS5zdHlsZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCdcbiAgY2hpcC5hcHBlbmRDaGlsZChtb3VudE5vZGUpXG4gIGNvbnN0IHJvb3QgPSBjcmVhdGVSb290KG1vdW50Tm9kZSlcblxuICBmbHVzaFN5bmMoKCkgPT4ge1xuICAgIHJvb3QucmVuZGVyKGNyZWF0ZUVsZW1lbnQoRWRpdGFibGVNZW50aW9uQ2hpcCwgeyBtZW50aW9uIH0pKVxuICB9KVxuXG4gIGlmIChtZW50aW9uLnR5cGUgPT09ICd0YXNrJykge1xuICAgIGNoaXAuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInXG4gICAgY2hpcC5vbmNsaWNrID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIG9wZW5UYXNrSW5Db3JQYW5lbChtZW50aW9uLmlkLCAnZGV0YWlsJylcbiAgICB9XG4gIH0gZWxzZSBpZiAobWVudGlvbi50eXBlID09PSAncHJvamVjdCcpIHtcbiAgICBjaGlwLnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJ1xuICAgIGNoaXAub25jbGljayA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICB3aW5kb3cub3BlbihgL3Byb2plY3QvJHttZW50aW9uLmlkfS9kYXNoYm9hcmRgLCAnX2JsYW5rJylcbiAgICB9XG4gIH0gZWxzZSBpZiAobWVudGlvbi50eXBlID09PSAndXNlcicpIHtcbiAgICBsZXQgdG9vbHRpcEVsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsXG4gICAgbGV0IGNoaXBSZW1vdmVkT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3QgcmVtb3ZlVXNlclRvb2x0aXAgPSAoKSA9PiB7XG4gICAgICBjaGlwUmVtb3ZlZE9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIgPSBudWxsXG4gICAgICBpZiAodG9vbHRpcEVsKSB7XG4gICAgICAgIHRvb2x0aXBFbC5yZW1vdmUoKVxuICAgICAgICB0b29sdGlwRWwgPSBudWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNpIGVsIGNoaXAgc2UgYm9ycmEgZGVsIGVkaXRvciAoQmFja3NwYWNlLCBldGMuKSBubyBzaWVtcHJlIGhheSBgbW91c2VsZWF2ZWA7IGNlcnJhciBlbCB0b29sdGlwLiAqL1xuICAgIGNvbnN0IHdhdGNoQ2hpcFJlbW92ZWRGcm9tRG9tID0gKCkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gY2hpcC5wYXJlbnROb2RlXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuXG4gICAgICBjaGlwUmVtb3ZlZE9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIGlmICghY2hpcC5pc0Nvbm5lY3RlZCkgcmVtb3ZlVXNlclRvb2x0aXAoKVxuICAgICAgfSlcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIub2JzZXJ2ZShwYXJlbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pXG4gICAgfVxuXG4gICAgY2hpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4ge1xuICAgICAgaWYgKHRvb2x0aXBFbCkgcmV0dXJuXG4gICAgICB0b29sdGlwRWwgPSBjcmVhdGVVc2VyVG9vbHRpcEVsKG1lbnRpb24pXG4gICAgICBjb25zdCByZWN0ID0gY2hpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KDgsIE1hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoIC0gMzAwLCByZWN0LmxlZnQpKVxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRvcCA9IGAke3JlY3QudG9wfXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLmxlZnQgPSBgJHtsZWZ0fXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSA0cHgpKSdcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodG9vbHRpcEVsKVxuICAgICAgd2F0Y2hDaGlwUmVtb3ZlZEZyb21Eb20oKVxuICAgIH0pXG5cbiAgICBjaGlwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCByZW1vdmVVc2VyVG9vbHRpcClcbiAgfVxuXG4gIHJldHVybiBjaGlwXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLGFBQWEsUUFBNEIsT0FBTztBQUN6RCxTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUNyQyxTQUFTQyxVQUFVLFFBQVEsa0JBQWtCO0FBQzdDLE9BQU9DLElBQUksTUFBTSxlQUFlO0FBQ2hDLFNBQVNDLDBCQUEwQixRQUF3QiwrQkFBK0I7QUFDMUYsU0FBU0MscUJBQXFCLFFBQVEsb0NBQW9DO0FBQzFFLFNBQVNDLDRCQUE0QixRQUFRLG9DQUFvQztBQUNqRixTQUFTQyxrQkFBa0IsUUFBUSxtQ0FBbUM7QUFDdEUsU0FBU0Msc0JBQXNCLEVBQUVDLG1CQUFtQixRQUFRLDZCQUE2QjtBQUV6RixJQUFNQyw2QkFBNEMsR0FBRztFQUNuREMsT0FBTyxFQUFFLFFBQVE7RUFDakJDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCQyxTQUFTLEVBQUUsVUFBVTtFQUNyQkMsUUFBUSxFQUFFLENBQUM7RUFDWEMsUUFBUSxFQUFFLE1BQU07RUFDaEJDLFVBQVUsRUFBRSxRQUFRO0VBQ3BCQyxZQUFZLEVBQUUsWUFBWTtFQUMxQkMsU0FBUyxFQUFFO0FBQ2IsQ0FBQzs7QUFFRDtBQUNBLElBQU1DLHlCQUF3QyxHQUFHO0VBQy9DUixPQUFPLEVBQUUsUUFBUTtFQUNqQlMsUUFBUSxFQUFFLE1BQU07RUFDaEJSLFVBQVUsRUFBRSxNQUFNO0VBQ2xCUyxVQUFVLEVBQUUsS0FBSztFQUNq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
324
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50IiwiZmx1c2hTeW5jIiwiY3JlYXRlUm9vdCIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIiwiZ2V0Q29udGV4dE1lbnRpb25JY29uIiwibm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbCIsIm9wZW5UYXNrSW5Db3JQYW5lbCIsImFwcGx5TWVudGlvbkNoaXBTdHlsZXMiLCJNRU5USU9OX0NISVBfQ09MT1JTIiwiRURJVEFCTEVfTk9OX1RBU0tfTEFCRUxfU1RZTEUiLCJkaXNwbGF5IiwibGluZUhlaWdodCIsImFsaWduU2VsZiIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJ3aGl0ZVNwYWNlIiwib3ZlcmZsb3dXcmFwIiwid29yZEJyZWFrIiwiRURJVEFCTEVfVEFTS19MQUJFTF9TVFlMRSIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImNvbG9yIiwiY3JlYXRlRWRpdGFibGVNZW50aW9uTGFiZWxFbCIsImlzVGFzayIsIm1lbnRpb25MYWJlbCIsInN0eWxlIiwiRWRpdGFibGVNZW50aW9uQ2hpcCIsIl9yZWYiLCJtZW50aW9uIiwibGFiZWwiLCJpY29uQ29sb3IiLCJ0eXBlIiwiZmciLCJpY29uU2l6ZSIsImxhYmVsRWwiLCJvdXRlclN0eWxlIiwicG9zaXRpb24iLCJib3hTaXppbmciLCJ2ZXJ0aWNhbEFsaWduIiwibWFyZ2luUmlnaHQiLCJ3aWR0aCIsImlkIiwiaW5pdGlhbHNGcm9tTmFtZSIsIm5hbWUiLCJfcGFydHMkMiIsInRyaW1tZWQiLCJ0cmltIiwicGFydHMiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJsZW5ndGgiLCJfcGFydHMkMCRjaGFyQXQiLCJfcGFydHMkIiwiX3BhcnRzJGNoYXJBdCIsIl9wYXJ0cyIsImZpcnN0IiwiY2hhckF0IiwibGFzdCIsImNvbmNhdCIsInRvVXBwZXJDYXNlIiwic2luZ2xlIiwic2xpY2UiLCJUT09MVElQX0ZPTlQiLCJUT09MVElQX1NFQ09OREFSWV9DT0xPUiIsIlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFIiwiZm9udEZhbWlseSIsImNyZWF0ZVVzZXJUb29sdGlwRWwiLCJfbWV0YWRhdGEkcGljdHVyZSIsIl9tZXRhZGF0YSRwb3NpdGlvbk5hbSIsIl9tZXRhZGF0YSRwb3NpdGlvbk5hbTIiLCJfbWV0YWRhdGEkZW1haWwkdHJpbSIsIl9tZXRhZGF0YSRlbWFpbCIsIl9tZXRhZGF0YSRuYW1lIiwibWV0YWRhdGEiLCJwaWN0dXJlIiwicG9zaXRpb25OYW1lIiwiZW1haWwiLCJuYW1lRm9ySW5pdGlhbHMiLCJ0b29sdGlwIiwiZG9jdW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ6SW5kZXgiLCJwYWRkaW5nIiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93IiwicG9pbnRlckV2ZW50cyIsInJvdyIsImdhcCIsImF2YXRhcldyYXAiLCJoZWlnaHQiLCJvdmVyZmxvdyIsImp1c3RpZnlDb250ZW50IiwiZmxleFNocmluayIsImluaXRpYWxzIiwiY3JlYXRlSW5pdGlhbHNGYWxsYmFjayIsImZiIiwidGV4dENvbnRlbnQiLCJpbWciLCJzcmMiLCJhbHQiLCJkcmFnZ2FibGUiLCJvYmplY3RGaXQiLCJvbmVycm9yIiwicmVtb3ZlIiwiYXBwZW5kQ2hpbGQiLCJpbmZvQ29sIiwiZmxleCIsIm5hbWVSb3ciLCJuYW1lU3BhbiIsInRleHRPdmVyZmxvdyIsInNlcCIsIl9vYmplY3RTcHJlYWQiLCJwb3NTcGFuIiwiZW1haWxTcGFuIiwiYnVpbGRDaGlwRWxlbWVudCIsImNoaXAiLCJzZXRBdHRyaWJ1dGUiLCJjbGFzc05hbWUiLCJjb21tb24iLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJtb3VudE5vZGUiLCJyb290IiwicmVuZGVyIiwiY3Vyc29yIiwib25jbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIndpbmRvdyIsIm9wZW4iLCJ0b29sdGlwRWwiLCJhZGRFdmVudExpc3RlbmVyIiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxlZnQiLCJNYXRoIiwibWF4IiwibWluIiwiaW5uZXJXaWR0aCIsInRvcCIsInRyYW5zZm9ybSIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvYnVpbGRDaGlwRWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCB0eXBlIENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZsdXNoU3luYyB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50J1xuaW1wb3J0IHsgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvbkljb25zJ1xuaW1wb3J0IHsgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9vcGVuVGFza0luQ29yUGFuZWwnXG5pbXBvcnQgeyBhcHBseU1lbnRpb25DaGlwU3R5bGVzLCBNRU5USU9OX0NISVBfQ09MT1JTIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuXG5jb25zdCBFRElUQUJMRV9OT05fVEFTS19MQUJFTF9TVFlMRTogQ1NTUHJvcGVydGllcyA9IHtcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgYWxpZ25TZWxmOiAnYmFzZWxpbmUnLFxuICBtaW5XaWR0aDogMCxcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgd2hpdGVTcGFjZTogJ25vcm1hbCcsXG4gIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbn1cblxuLyoqIFRleHRvIGRlIHRhcmVhOiBzaW4gYm9yZGUgaW5mZXJpb3I7IGVsIGFzcGVjdG8gZGUgZW5sYWNlIGxvIGRhIGVsIENTUyBnbG9iYWwgKDo6YmVmb3JlICsgY29sb3IpLiAqL1xuY29uc3QgRURJVEFCTEVfVEFTS19MQUJFTF9TVFlMRTogQ1NTUHJvcGVydGllcyA9IHtcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIGZvbnRTaXplOiAnMTRweCcsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgZm9udFdlaWdodDogJzYwMCcsXG4gIGNvbG9yOiAnaW5oZXJpdCcsXG4gIG1pbldpZHRoOiAwLFxuICBtYXhXaWR0aDogJzEwMCUnLFxuICB3aGl0ZVNwYWNlOiAnbm9ybWFsJyxcbiAgb3ZlcmZsb3dXcmFwOiAnYnJlYWstd29yZCcsXG4gIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLFxufVxuXG5jb25zdCBjcmVhdGVFZGl0YWJsZU1lbnRpb25MYWJlbEVsID0gKGlzVGFzazogYm9vbGVhbiwgbWVudGlvbkxhYmVsOiBzdHJpbmcpID0+IHtcbiAgaWYgKCFpc1Rhc2spIHtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCgnc3BhbicsIHsgc3R5bGU6IEVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFIH0sIG1lbnRpb25MYWJlbClcbiAgfVxuICByZXR1cm4gY3JlYXRlRWxlbWVudCgnc3BhbicsIHsgc3R5bGU6IEVESVRBQkxFX1RBU0tfTEFCRUxfU1RZTEUgfSwgbWVudGlvbkxhYmVsKVxufVxuXG50eXBlIEVkaXRhYmxlTWVudGlvbkNoaXBQcm9wcyA9IHtcbiAgbWVudGlvbjogQ29udGV4dE1lbnRpb25cbn1cblxuY29uc3QgRWRpdGFibGVNZW50aW9uQ2hpcCA9ICh7IG1lbnRpb24gfTogRWRpdGFibGVNZW50aW9uQ2hpcFByb3BzKSA9PiB7XG4gIGNvbnN0IG1lbnRpb25MYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobWVudGlvbi5sYWJlbClcbiAgY29uc3QgaWNvbkNvbG9yID0gTUVOVElPTl9DSElQX0NPTE9SU1ttZW50aW9uLnR5cGVdLmZnXG4gIGNvbnN0IGlzVGFzayA9IG1lbnRpb24udHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCBsYWJlbEVsID0gY3JlYXRlRWRpdGFibGVNZW50aW9uTGFiZWxFbChpc1Rhc2ssIG1lbnRpb25MYWJlbClcblxuICBjb25zdCBvdXRlclN0eWxlOiBDU1NQcm9wZXJ0aWVzID0ge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCB7IHN0eWxlOiBvdXRlclN0eWxlIH0sIGxhYmVsRWwpXG4gIH1cblxuICByZXR1cm4gY3JlYXRlRWxlbWVudChcbiAgICAnc3BhbicsXG4gICAgeyBzdHlsZTogb3V0ZXJTdHlsZSB9LFxuICAgIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICAgICAgbWFyZ2luUmlnaHQ6ICcycHgnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxJyxcbiAgICAgICAgICB3aWR0aDogJzE0cHgnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGdldENvbnRleHRNZW50aW9uSWNvbihtZW50aW9uLnR5cGUsIGljb25Db2xvciwgbWVudGlvbi5pZCwgaWNvblNpemUpXG4gICAgKSxcbiAgICBsYWJlbEVsXG4gIClcbn1cblxuY29uc3QgaW5pdGlhbHNGcm9tTmFtZSA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB0cmltbWVkID0gbmFtZS50cmltKClcbiAgaWYgKCF0cmltbWVkKSByZXR1cm4gJz8nXG4gIGNvbnN0IHBhcnRzID0gdHJpbW1lZC5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKVxuICBpZiAocGFydHMubGVuZ3RoID49IDIpIHtcbiAgICBjb25zdCBmaXJzdCA9IHBhcnRzWzBdPy5jaGFyQXQoMCkgPz8gJydcbiAgICBjb25zdCBsYXN0ID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0/LmNoYXJBdCgwKSA/PyAnJ1xuICAgIHJldHVybiBgJHtmaXJzdH0ke2xhc3R9YC50b1VwcGVyQ2FzZSgpXG4gIH1cbiAgY29uc3Qgc2luZ2xlID0gcGFydHNbMF0gPz8gJydcbiAgcmV0dXJuIHNpbmdsZS5sZW5ndGggPj0gMiA/IHNpbmdsZS5zbGljZSgwLCAyKS50b1VwcGVyQ2FzZSgpIDogKHNpbmdsZS5jaGFyQXQoMCkgfHwgJz8nKS50b1VwcGVyQ2FzZSgpXG59XG5cbmNvbnN0IFRPT0xUSVBfRk9OVCA9IGB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpYFxuY29uc3QgVE9PTFRJUF9TRUNPTkRBUllfQ09MT1IgPSAndmFyKC0tVGV4dC1TZWNvbmRhcnktRGFyaywgIzY2NiknXG5jb25zdCBUT09MVElQX1NFQ09OREFSWV9TVFlMRSA9IHtcbiAgZm9udEZhbWlseTogVE9PTFRJUF9GT05ULFxuICBmb250U2l6ZTogJzE0cHgnLFxuICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgbGluZUhlaWdodDogJzIwcHgnLFxuICBjb2xvcjogVE9PTFRJUF9TRUNPTkRBUllfQ09MT1IsXG59XG5cbmNvbnN0IGNyZWF0ZVVzZXJUb29sdGlwRWwgPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBIVE1MRWxlbWVudCA9PiB7XG4gIGNvbnN0IHsgbGFiZWwsIG1ldGFkYXRhIH0gPSBtZW50aW9uXG4gIGNvbnN0IHBpY3R1cmUgPSBtZXRhZGF0YT8ucGljdHVyZSA/PyBudWxsXG4gIGNvbnN0IHBvc2l0aW9uTmFtZSA9IG1ldGFkYXRhPy5wb3NpdGlvbk5hbWU/LnRyaW0oKSA/PyAnJ1xuICBjb25zdCBlbWFpbCA9IG1ldGFkYXRhPy5lbWFpbD8udHJpbSgpID8/ICcnXG4gIC8qKiBNaXNtYSBmdWVudGUgcXVlIGBDb250ZXh0TWVudGlvbkl0ZW1gIChhdmF0YXIpOiBub21icmUgZGUgcXVlcnksIG5vIGVsIGxhYmVsIGRlbCBjaGlwIChlai4gXCJZb1wiKS4gKi9cbiAgY29uc3QgbmFtZUZvckluaXRpYWxzID0gKG1ldGFkYXRhPy5uYW1lPy50cmltKCkgPyBtZXRhZGF0YS5uYW1lIDogbGFiZWwpLnRyaW0oKVxuXG4gIGNvbnN0IHRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICBPYmplY3QuYXNzaWduKHRvb2x0aXAuc3R5bGUsIHtcbiAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICB6SW5kZXg6ICc5OTk5JyxcbiAgICB3aWR0aDogJzI5MnB4JyxcbiAgICBwYWRkaW5nOiAnMTJweCA4cHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXI6ICcxcHggc29saWQgdmFyKC0tQ29sb3ItTGlnaHQtR3JheSwgI0UwRTBFMCknLFxuICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICBib3hTaGFkb3c6ICcwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDgpLCAwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDQpJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gIH0pXG5cbiAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgT2JqZWN0LmFzc2lnbihyb3cuc3R5bGUsIHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZ2FwOiAnOHB4JyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9KVxuXG4gIC8vIEF2YXRhciBjaXJjdWxhciAoZm90byBvIGluaWNpYWxlcylcbiAgY29uc3QgYXZhdGFyV3JhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24oYXZhdGFyV3JhcC5zdHlsZSwge1xuICAgIHdpZHRoOiAnMjRweCcsXG4gICAgaGVpZ2h0OiAnMjRweCcsXG4gICAgbWluV2lkdGg6ICcyNHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICcyNHB4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBiYWNrZ3JvdW5kOiAnI2U4ZjRmZicsXG4gICAgZmxleFNocmluazogJzAnLFxuICB9KVxuXG4gIGNvbnN0IGluaXRpYWxzID0gaW5pdGlhbHNGcm9tTmFtZShuYW1lRm9ySW5pdGlhbHMpXG5cbiAgY29uc3QgY3JlYXRlSW5pdGlhbHNGYWxsYmFjayA9ICgpOiBIVE1MRWxlbWVudCA9PiB7XG4gICAgY29uc3QgZmIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgICBmYi50ZXh0Q29udGVudCA9IGluaXRpYWxzXG4gICAgT2JqZWN0LmFzc2lnbihmYi5zdHlsZSwge1xuICAgICAgZm9udFNpemU6ICcxMHB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6ICc2MDAnLFxuICAgICAgY29sb3I6ICcjMmQ3N2JkJyxcbiAgICAgIGxpbmVIZWlnaHQ6ICcxJyxcbiAgICAgIGZvbnRGYW1pbHk6IFRPT0xUSVBfRk9OVCxcbiAgICB9KVxuICAgIHJldHVybiBmYlxuICB9XG5cbiAgaWYgKHBpY3R1cmUpIHtcbiAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKVxuICAgIGltZy5zcmMgPSBwaWN0dXJlXG4gICAgaW1nLmFsdCA9ICcnXG4gICAgaW1nLmRyYWdnYWJsZSA9IGZhbHNlXG4gICAgT2JqZWN0LmFzc2lnbihpbWcuc3R5bGUsIHtcbiAgICAgIHdpZHRoOiAnMjRweCcsXG4gICAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICAgIG9iamVjdEZpdDogJ2NvdmVyJyxcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICBib3JkZXJSYWRpdXM6ICcyNHB4JyxcbiAgICB9KVxuICAgIGltZy5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgaW1nLnJlbW92ZSgpXG4gICAgICBhdmF0YXJXcmFwLmFwcGVuZENoaWxkKGNyZWF0ZUluaXRpYWxzRmFsbGJhY2soKSlcbiAgICB9XG4gICAgYXZhdGFyV3JhcC5hcHBlbmRDaGlsZChpbWcpXG4gIH0gZWxzZSB7XG4gICAgYXZhdGFyV3JhcC5hcHBlbmRDaGlsZChjcmVhdGVJbml0aWFsc0ZhbGxiYWNrKCkpXG4gIH1cblxuICAvLyBDb2x1bW5hIGRlIGluZm9cbiAgY29uc3QgaW5mb0NvbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24oaW5mb0NvbC5zdHlsZSwge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGdhcDogJzJweCcsXG4gICAgbWluV2lkdGg6ICcwJyxcbiAgICBmbGV4OiAnMScsXG4gIH0pXG5cbiAgLy8gRmlsYTogbm9tYnJlICsgc2VwYXJhZG9yICsgcG9zaWNpw7NuXG4gIGNvbnN0IG5hbWVSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICBPYmplY3QuYXNzaWduKG5hbWVSb3cuc3R5bGUsIHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGdhcDogJzRweCcsXG4gIH0pXG5cbiAgY29uc3QgbmFtZVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgbmFtZVNwYW4udGV4dENvbnRlbnQgPSBsYWJlbFxuICBPYmplY3QuYXNzaWduKG5hbWVTcGFuLnN0eWxlLCB7XG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBjb2xvcjogJ3ZhcigtLVRleHQtUHJpbWFyeS1EYXJrLCAjMjAyMDFGKScsXG4gICAgZm9udEZhbWlseTogVE9PTFRJUF9GT05ULFxuICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgZm9udFdlaWdodDogJzUwMCcsXG4gICAgbGluZUhlaWdodDogJzEzMCUnLFxuICB9KVxuICBuYW1lUm93LmFwcGVuZENoaWxkKG5hbWVTcGFuKVxuXG4gIGlmIChwb3NpdGlvbk5hbWUpIHtcbiAgICBjb25zdCBzZXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgICBzZXAudGV4dENvbnRlbnQgPSAnfCdcbiAgICBPYmplY3QuYXNzaWduKHNlcC5zdHlsZSwgeyAuLi5UT09MVElQX1NFQ09OREFSWV9TVFlMRSwgZmxleFNocmluazogJzAnIH0pXG4gICAgbmFtZVJvdy5hcHBlbmRDaGlsZChzZXApXG5cbiAgICBjb25zdCBwb3NTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgcG9zU3Bhbi50ZXh0Q29udGVudCA9IHBvc2l0aW9uTmFtZVxuICAgIE9iamVjdC5hc3NpZ24ocG9zU3Bhbi5zdHlsZSwgVE9PTFRJUF9TRUNPTkRBUllfU1RZTEUpXG4gICAgbmFtZVJvdy5hcHBlbmRDaGlsZChwb3NTcGFuKVxuICB9XG5cbiAgaW5mb0NvbC5hcHBlbmRDaGlsZChuYW1lUm93KVxuXG4gIGlmIChlbWFpbCkge1xuICAgIGNvbnN0IGVtYWlsU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGVtYWlsU3Bhbi50ZXh0Q29udGVudCA9IGVtYWlsXG4gICAgT2JqZWN0LmFzc2lnbihlbWFpbFNwYW4uc3R5bGUsIFRPT0xUSVBfU0VDT05EQVJZX1NUWUxFKVxuICAgIGluZm9Db2wuYXBwZW5kQ2hpbGQoZW1haWxTcGFuKVxuICB9XG5cbiAgcm93LmFwcGVuZENoaWxkKGF2YXRhcldyYXApXG4gIHJvdy5hcHBlbmRDaGlsZChpbmZvQ29sKVxuICB0b29sdGlwLmFwcGVuZENoaWxkKHJvdylcblxuICByZXR1cm4gdG9vbHRpcFxufVxuXG4vKipcbiAqIENyZWEgdW4gYDxzcGFuPmAgYXTDs21pY28gbGlzdG8gcGFyYSBpbnNlcnRhcnNlIGRlbnRybyBkZWwgY29udGVudGVkaXRhYmxlXG4gKiBkZWwgYENvbnRleHRNZW50aW9uRWRpdG9yYC4gU2UgbWFyY2EgY29uIGxvcyBgZGF0YS1tZW50aW9uKmAgbmVjZXNhcmlvcyBwYXJhXG4gKiBxdWUgYHVzZUNvbnRleHRNZW50aW9ucy5zZXJpYWxpemUoKWAgcHVlZGEgdm9sdmVyIGEgZXh0cmFlciBsYSBtZW50aW9uLlxuICpcbiAqIENvbXBhcnRlIGxvcyBlc3RpbG9zIGNvbiBlbCBjb21wb25lbnRlIGBDb250ZXh0TWVudGlvbkNoaXBgIHZpYVxuICogYGFwcGx5TWVudGlvbkNoaXBTdHlsZXNgLCBhc2VndXJhbmRvIHVuYSDDum5pY2EgZnVlbnRlIGRlIHZlcmRhZCB2aXN1YWwuXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZENoaXBFbGVtZW50ID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogSFRNTFNwYW5FbGVtZW50ID0+IHtcbiAgY29uc3QgY2hpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBjaGlwLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgJ2ZhbHNlJylcbiAgY2hpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi1jaGlwJywgJ3RydWUnKVxuICBjaGlwLmNsYXNzTmFtZSA9IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTXG4gIGNoaXAuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24tdHlwZScsIG1lbnRpb24udHlwZSlcbiAgY2hpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi1zdXJmYWNlJywgJ2VkaXRvcicpXG4gIGFwcGx5TWVudGlvbkNoaXBTdHlsZXMoY2hpcCwgbWVudGlvbi50eXBlKVxuICBjb25zdCBpc1Rhc2sgPSBtZW50aW9uLnR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBjb21tb24gPSB7XG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgdmVydGljYWxBbGlnbjogJ2Jhc2VsaW5lJyxcbiAgICBvdmVyZmxvdzogJ3Zpc2libGUnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gIH0gYXMgY29uc3RcbiAgaWYgKGlzVGFzaykge1xuICAgIE9iamVjdC5hc3NpZ24oY2hpcC5zdHlsZSwgY29tbW9uLCB7XG4gICAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgbWF4SGVpZ2h0OiAnbm9uZScsXG4gICAgfSlcbiAgfSBlbHNlIHtcbiAgICBPYmplY3QuYXNzaWduKGNoaXAuc3R5bGUsIGNvbW1vbiwge1xuICAgICAgbGluZUhlaWdodDogJzIwcHgnLFxuICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICBtaW5IZWlnaHQ6ICdhdXRvJyxcbiAgICAgIG1heEhlaWdodDogJ25vbmUnLFxuICAgIH0pXG4gIH1cbiAgY29uc3QgbW91bnROb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gIG1vdW50Tm9kZS5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZSdcbiAgbW91bnROb2RlLnN0eWxlLm1heFdpZHRoID0gJzEwMCUnXG4gIG1vdW50Tm9kZS5zdHlsZS52ZXJ0aWNhbEFsaWduID0gJ2Jhc2VsaW5lJ1xuICBtb3VudE5vZGUuc3R5bGUuYm94U2l6aW5nID0gJ2JvcmRlci1ib3gnXG4gIGNoaXAuYXBwZW5kQ2hpbGQobW91bnROb2RlKVxuICBjb25zdCByb290ID0gY3JlYXRlUm9vdChtb3VudE5vZGUpXG5cbiAgZmx1c2hTeW5jKCgpID0+IHtcbiAgICByb290LnJlbmRlcihjcmVhdGVFbGVtZW50KEVkaXRhYmxlTWVudGlvbkNoaXAsIHsgbWVudGlvbiB9KSlcbiAgfSlcblxuICBpZiAobWVudGlvbi50eXBlID09PSAndGFzaycpIHtcbiAgICBjaGlwLnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJ1xuICAgIGNoaXAub25jbGljayA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwobWVudGlvbi5pZCwgJ2RldGFpbCcpXG4gICAgfVxuICB9IGVsc2UgaWYgKG1lbnRpb24udHlwZSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgY2hpcC5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcidcbiAgICBjaGlwLm9uY2xpY2sgPSBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgd2luZG93Lm9wZW4oYC9wcm9qZWN0LyR7bWVudGlvbi5pZH0vZGFzaGJvYXJkYCwgJ19ibGFuaycpXG4gICAgfVxuICB9IGVsc2UgaWYgKG1lbnRpb24udHlwZSA9PT0gJ3VzZXInKSB7XG4gICAgbGV0IHRvb2x0aXBFbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbFxuXG4gICAgY2hpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4ge1xuICAgICAgaWYgKHRvb2x0aXBFbCkgcmV0dXJuXG4gICAgICB0b29sdGlwRWwgPSBjcmVhdGVVc2VyVG9vbHRpcEVsKG1lbnRpb24pXG4gICAgICBjb25zdCByZWN0ID0gY2hpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KDgsIE1hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoIC0gMzAwLCByZWN0LmxlZnQpKVxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRvcCA9IGAke3JlY3QudG9wfXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLmxlZnQgPSBgJHtsZWZ0fXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSA0cHgpKSdcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodG9vbHRpcEVsKVxuICAgIH0pXG5cbiAgICBjaGlwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7XG4gICAgICBpZiAodG9vbHRpcEVsKSB7XG4gICAgICAgIHRvb2x0aXBFbC5yZW1vdmUoKVxuICAgICAgICB0b29sdGlwRWwgPSBudWxsXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBjaGlwXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLGFBQWEsUUFBNEIsT0FBTztBQUN6RCxTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUNyQyxTQUFTQyxVQUFVLFFBQVEsa0JBQWtCO0FBQzdDLFNBQVNDLDBCQUEwQixRQUF3QiwrQkFBK0I7QUFDMUYsU0FBU0MscUJBQXFCLFFBQVEsb0NBQW9DO0FBQzFFLFNBQVNDLDRCQUE0QixRQUFRLG9DQUFvQztBQUNqRixTQUFTQyxrQkFBa0IsUUFB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