@projectcor/maia-components 2.11.95 → 2.11.96-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/lib/components/atoms/Chip/Chip.js +12 -5
  2. package/lib/components/atoms/Chip/styles.js +6 -6
  3. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +121 -28
  4. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +6 -2
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +88 -25
  6. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +33 -19
  7. package/lib/components/atoms/MAIAInput/MAIAInput.js +385 -268
  8. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +5 -8
  9. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +23 -0
  10. package/lib/components/atoms/MAIAInput/styles.js +99 -83
  11. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +54 -41
  12. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +25 -12
  13. package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
  14. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
  15. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
  16. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
  17. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
  18. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
  19. package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
  20. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
  21. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
  22. package/lib/components/atoms/icons/index.js +10 -1
  23. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +18 -7
  24. package/lib/components/molecules/ChatAIHome/styles.js +54 -38
  25. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +11 -36
  26. package/lib/components/molecules/ChatAIMessages/newStyles.js +10 -26
  27. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1 -2
  28. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +1 -4
  29. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +1 -8
  30. package/lib/components/molecules/ChatFooter/ChatFooter.js +23 -62
  31. package/lib/components/molecules/Sidebar/Sidebar.js +14 -3
  32. package/lib/hooks/useMentionPopover.js +4 -2
  33. package/lib/lang/br/index.js +6 -3
  34. package/lib/lang/en/index.js +6 -3
  35. package/lib/lang/es/index.js +6 -3
  36. package/lib/lang/fr/index.js +8 -2
  37. package/lib/styles/config.js +2 -2
  38. package/package.json +1 -1
@@ -67,7 +67,6 @@ export var MAIAInputEditor = function MAIAInputEditor(_ref) {
67
67
  disabled = _ref.disabled,
68
68
  placeholder = _ref.placeholder,
69
69
  alignButtons = _ref.alignButtons,
70
- compactSingleRowToolbar = _ref.compactSingleRowToolbar,
71
70
  setIsTextMultiline = _ref.setIsTextMultiline,
72
71
  chatId = _ref.chatId,
73
72
  newChatKey = _ref.newChatKey,
@@ -92,7 +91,7 @@ export var MAIAInputEditor = function MAIAInputEditor(_ref) {
92
91
 
93
92
  /** Coincide con StyledMAIAInput: line-height 20px sobre fuente 14px (~una línea de texto visible). */
94
93
  var minHeight = 20;
95
- var maxHeight = 120;
94
+ var maxHeight = 170;
96
95
  var previousMinHeight = textarea.style.minHeight;
97
96
  var previousMaxHeight = textarea.style.maxHeight;
98
97
  textarea.style.height = 'auto';
@@ -184,14 +183,12 @@ export var MAIAInputEditor = function MAIAInputEditor(_ref) {
184
183
  return prev === nextMultiline ? prev : nextMultiline;
185
184
  });
186
185
  textarea.style.minHeight = previousMinHeight || "".concat(minHeight, "px");
187
- textarea.style.maxHeight = previousMaxHeight || '120px';
186
+ textarea.style.maxHeight = previousMaxHeight || '170px';
188
187
  textarea.style.height = "".concat(newHeight, "px");
189
188
  }, [inputRef, setIsTextMultiline]);
190
-
191
- /** Compact↔stacked cambia el grid/CSS del textarea; medir en layout evita un frame con alto desincronizado (sobre todo compact→stacked). */
192
189
  useLayoutEffect(function () {
193
190
  handleResize();
194
- }, [compactSingleRowToolbar, handleResize]);
191
+ }, [handleResize]);
195
192
  useEffect(function () {
196
193
  var _inputRef$current;
197
194
  if (((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value.trim()) === '') {
@@ -262,8 +259,8 @@ export var MAIAInputEditor = function MAIAInputEditor(_ref) {
262
259
  onKeyDown: handleKeyDown,
263
260
  placeholder: placeholder,
264
261
  alignButtons: alignButtons,
265
- $toolbarLayoutVariant: compactSingleRowToolbar ? 'compactRow' : 'stackedRows',
262
+ $toolbarLayoutVariant: "stackedRows",
266
263
  onBlur: handleBlur
267
264
  });
268
265
  };
269
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiU3R5bGVkTUFJQUlucHV0IiwianN4IiwiX2pzeCIsImNvdW50VmlzdWFsTGluZXNXcmFwcGVkIiwicmF3IiwiY29udGVudFdpZHRoUHgiLCJtZWFzdXJlVGV4dFdpZHRoIiwicGFyYWdyYXBocyIsInNwbGl0IiwidG90YWwiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwicGFyYWdyYXBoIiwidmFsdWUiLCJsZW5ndGgiLCJ3b3JkcyIsImZpbHRlciIsInciLCJsaW5lc0luUGFyYWdyYXBoIiwiY3VycmVudExpbmVXaWR0aCIsImkiLCJ3b3JkIiwid29yZFdpZHRoIiwic3BhY2VXaWR0aCIsIk1hdGgiLCJjZWlsIiwiY2FuZGlkYXRlV2lkdGgiLCJlcnIiLCJlIiwiZiIsIm1heCIsIk1BSUFJbnB1dEVkaXRvciIsIl9yZWYiLCJpbnB1dFJlZiIsImRpc2FibGVkIiwicGxhY2Vob2xkZXIiLCJhbGlnbkJ1dHRvbnMiLCJjb21wYWN0U2luZ2xlUm93VG9vbGJhciIsInNldElzVGV4dE11bHRpbGluZSIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJjbGVhclNlcSIsInNlbmREaXNhYmxlZCIsIm9uVHlwaW5nUHJlc2VuY2VDaGFuZ2UiLCJvbkVudGVyU2VuZCIsIm9uQ2hhbmdlUHJvcCIsInRleHRhcmVhTWluQ29udGVudFdpZHRoU2VlblJlZiIsInByZXNlbmNlUHJldlJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInJlc2l6ZUVwb2NoIiwic2V0UmVzaXplRXBvY2giLCJoYW5kbGVSZXNpemUiLCJfdGV4dGFyZWFNaW5Db250ZW50V2kiLCJ0ZXh0YXJlYSIsImN1cnJlbnQiLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJwcmV2aW91c01pbkhlaWdodCIsInN0eWxlIiwicHJldmlvdXNNYXhIZWlnaHQiLCJoZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJjb21wdXRlZFN0eWxlIiwid2luZG93IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImxpbmVIZWlnaHQiLCJwYXJzZUZsb2F0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJib3JkZXJUb3AiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbSIsImJvcmRlckJvdHRvbVdpZHRoIiwic2luZ2xlTGluZUhlaWdodCIsImlzRW1wdHkiLCJ0cmltIiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiLCJib3JkZXJMZWZ0IiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHQiLCJib3JkZXJSaWdodFdpZHRoIiwidGV4dGFyZWFXaWR0aCIsIm9mZnNldFdpZHRoIiwibWluIiwid3JhcENoZWNrV2lkdGgiLCJjYW52YXNNZWFzdXJlSW5kaWNhdGVzTXVsdGlsaW5lIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY2FudmFzQ29udGV4dCIsImdldENvbnRleHQiLCJ0ZXh0IiwibGluZXMiLCJ0ZXh0YXJlYVN0eWxlcyIsImZvbnQiLCJjb25jYXQiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImxpbmUiLCJtZWFzdXJlVGV4dCIsIndpZHRoIiwiaGFzTXVsdGlwbGVWaXN1YWxMaW5lcyIsIm5leHRNdWx0aWxpbmUiLCJ2aXN1YWxMaW5lc0F0V3JhcFdpZHRoIiwidmlzdWFsTGluZXNBdEN1cnJlbnRXaWR0aCIsInNlZ21lbnQiLCJsaW5lc0ZvckhlaWdodCIsIm5ld0hlaWdodCIsInNuYXBwZWRTaW5nbGVMaW5lT3V0ZXJIZWlnaHQiLCJyb3VuZCIsInNuYXBwZWRIZWlnaHQiLCJwcmV2IiwiX2lucHV0UmVmJGN1cnJlbnQiLCJmb2N1cyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImlkIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJoYW5kbGVDaGFuZ2UiLCJoYXNUcmltIiwidGFyZ2V0IiwieCIsImhhbmRsZUJsdXIiLCJfaW5wdXRSZWYkY3VycmVudCR2YWwiLCJfaW5wdXRSZWYkY3VycmVudDIiLCJ2IiwiaGFuZGxlS2V5RG93biIsImtleSIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJyZWYiLCJvbkNoYW5nZSIsIm9uS2V5RG93biIsIiR0b29sYmFyTGF5b3V0VmFyaWFudCIsIm9uQmx1ciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9NQUlBSW5wdXRFZGl0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb250aW51ZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdm9pZCAqL1xuLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLWRlc3RydWN0dXJpbmcgKi9cbmltcG9ydCB7IENoYW5nZUV2ZW50LCBLZXlib2FyZEV2ZW50LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgRGlzcGF0Y2gsIFJlZk9iamVjdCwgU2V0U3RhdGVBY3Rpb24gfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgU3R5bGVkTUFJQUlucHV0IH0gZnJvbSAnLi9zdHlsZXMnXG5cbi8qKlxuICogTMOtbmVhcyB2aXN1YWxlcyBjb24gd3JhcCBkZSBwYWxhYnJhcyBhbCBhbmNobyBkYWRvIChhcHJveC4gZWwgbmF2ZWdhZG9yIGVuIExUUikuXG4gKi9cbmZ1bmN0aW9uIGNvdW50VmlzdWFsTGluZXNXcmFwcGVkKHJhdzogc3RyaW5nLCBjb250ZW50V2lkdGhQeDogbnVtYmVyLCBtZWFzdXJlVGV4dFdpZHRoOiAoczogc3RyaW5nKSA9PiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoY29udGVudFdpZHRoUHggPD0gMSkge1xuICAgIHJldHVybiAxXG4gIH1cbiAgY29uc3QgcGFyYWdyYXBocyA9IHJhdy5zcGxpdCgnXFxuJylcbiAgbGV0IHRvdGFsID0gMFxuICBmb3IgKGNvbnN0IHBhcmFncmFwaCBvZiBwYXJhZ3JhcGhzKSB7XG4gICAgaWYgKHBhcmFncmFwaC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRvdGFsICs9IDFcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IHdvcmRzID0gcGFyYWdyYXBoLnNwbGl0KC9cXHMrLykuZmlsdGVyKHcgPT4gdy5sZW5ndGggPiAwKVxuICAgIGxldCBsaW5lc0luUGFyYWdyYXBoID0gMVxuICAgIGxldCBjdXJyZW50TGluZVdpZHRoID0gMFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd29yZHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IHdvcmQgPSB3b3Jkc1tpXVxuICAgICAgY29uc3Qgd29yZFdpZHRoID0gbWVhc3VyZVRleHRXaWR0aCh3b3JkKVxuICAgICAgY29uc3Qgc3BhY2VXaWR0aCA9IGkgPiAwID8gbWVhc3VyZVRleHRXaWR0aCgnICcpIDogMFxuXG4gICAgICBpZiAod29yZFdpZHRoID4gY29udGVudFdpZHRoUHgpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRMaW5lV2lkdGggPiAwKSB7XG4gICAgICAgICAgbGluZXNJblBhcmFncmFwaCArPSAxXG4gICAgICAgICAgY3VycmVudExpbmVXaWR0aCA9IDBcbiAgICAgICAgfVxuICAgICAgICBsaW5lc0luUGFyYWdyYXBoICs9IE1hdGguY2VpbCh3b3JkV2lkdGggLyBjb250ZW50V2lkdGhQeCkgLSAxXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNhbmRpZGF0ZVdpZHRoID0gY3VycmVudExpbmVXaWR0aCA9PT0gMCA/IHdvcmRXaWR0aCA6IGN1cnJlbnRMaW5lV2lkdGggKyBzcGFjZVdpZHRoICsgd29yZFdpZHRoXG4gICAgICBpZiAoY2FuZGlkYXRlV2lkdGggPiBjb250ZW50V2lkdGhQeCAmJiBjdXJyZW50TGluZVdpZHRoID4gMCkge1xuICAgICAgICBsaW5lc0luUGFyYWdyYXBoICs9IDFcbiAgICAgICAgY3VycmVudExpbmVXaWR0aCA9IHdvcmRXaWR0aFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3VycmVudExpbmVXaWR0aCA9IGNhbmRpZGF0ZVdpZHRoXG4gICAgICB9XG4gICAgfVxuICAgIHRvdGFsICs9IGxpbmVzSW5QYXJhZ3JhcGhcbiAgfVxuICByZXR1cm4gTWF0aC5tYXgoMSwgdG90YWwpXG59XG5cbmV4cG9ydCB0eXBlIE1BSUFJbnB1dEVkaXRvclByb3BzID0ge1xuICBpbnB1dFJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsPlxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBjb21wYWN0U2luZ2xlUm93VG9vbGJhcjogYm9vbGVhblxuICBzZXRJc1RleHRNdWx0aWxpbmU6IERpc3BhdGNoPFNldFN0YXRlQWN0aW9uPGJvb2xlYW4+PlxuICBjaGF0SWQ/OiBzdHJpbmdcbiAgbmV3Q2hhdEtleT86IG51bWJlclxuICAvKiogSW5jcmVtZW50YXIgZGVzZGUgZWwgcGFkcmUgdHJhcyBlbnZpYXIgLyBjYW1iaWFyIHNlc2nDs24gcGFyYSBzaW5jcm9uaXphciBtZWRpY2nDs24gc2luIGVzdGFkbyBkZWwgdGV4dG8gZW4gZWwgcGFkcmUuICovXG4gIGNsZWFyU2VxOiBudW1iZXJcbiAgc2VuZERpc2FibGVkOiBib29sZWFuXG4gIG9uVHlwaW5nUHJlc2VuY2VDaGFuZ2U6IChoYXNUcmltbWVkVGV4dDogYm9vbGVhbikgPT4gdm9pZFxuICBvbkVudGVyU2VuZDogKCkgPT4gdm9pZFxuICBvbkNoYW5nZVByb3A/OiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBNQUlBSW5wdXRFZGl0b3IgPSAoe1xuICBpbnB1dFJlZixcbiAgZGlzYWJsZWQsXG4gIHBsYWNlaG9sZGVyLFxuICBhbGlnbkJ1dHRvbnMsXG4gIGNvbXBhY3RTaW5nbGVSb3dUb29sYmFyLFxuICBzZXRJc1RleHRNdWx0aWxpbmUsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgY2xlYXJTZXEsXG4gIHNlbmREaXNhYmxlZCxcbiAgb25UeXBpbmdQcmVzZW5jZUNoYW5nZSxcbiAgb25FbnRlclNlbmQsXG4gIG9uQ2hhbmdlUHJvcCxcbn06IE1BSUFJbnB1dEVkaXRvclByb3BzKSA9PiB7XG4gIGNvbnN0IHRleHRhcmVhTWluQ29udGVudFdpZHRoU2VlblJlZiA9IHVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKVxuICBjb25zdCBwcmVzZW5jZVByZXZSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIC8qKiBTb2xvIHBhcmEgcmUtYWdlbmRhciBtZWRpY2nDs24gZGUgYWx0byBzaW4gZ3VhcmRhciBlbCBzdHJpbmcgZW4gZWwgcGFkcmUgKGFpc2xhIHJlLXJlbmRlcnMgZGVsIHRvb2xiYXIpLiAqL1xuICBjb25zdCBbcmVzaXplRXBvY2gsIHNldFJlc2l6ZUVwb2NoXSA9IHVzZVN0YXRlKDApXG5cbiAgY29uc3QgaGFuZGxlUmVzaXplID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHRleHRhcmVhID0gaW5wdXRSZWYuY3VycmVudFxuICAgIGlmICghdGV4dGFyZWEpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8qKiBDb2luY2lkZSBjb24gU3R5bGVkTUFJQUlucHV0OiBsaW5lLWhlaWdodCAyMHB4IHNvYnJlIGZ1ZW50ZSAxNHB4ICh+dW5hIGzDrW5lYSBkZSB0ZXh0byB2aXNpYmxlKS4gKi9cbiAgICBjb25zdCBtaW5IZWlnaHQgPSAyMFxuICAgIGNvbnN0IG1heEhlaWdodCA9IDEyMFxuXG4gICAgY29uc3QgcHJldmlvdXNNaW5IZWlnaHQgPSB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHRcbiAgICBjb25zdCBwcmV2aW91c01heEhlaWdodCA9IHRleHRhcmVhLnN0eWxlLm1heEhlaWdodFxuXG4gICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nXG4gICAgdGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gJzBweCdcbiAgICB0ZXh0YXJlYS5zdHlsZS5tYXhIZWlnaHQgPSAnbm9uZSdcblxuICAgIHZvaWQgdGV4dGFyZWEub2Zmc2V0SGVpZ2h0XG5cbiAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHRcblxuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0YXJlYSlcbiAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmxpbmVIZWlnaHQpIHx8IDIwXG4gICAgY29uc3QgcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nVG9wKSB8fCAwXG4gICAgY29uc3QgcGFkZGluZ0JvdHRvbSA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nQm90dG9tKSB8fCAwXG4gICAgY29uc3QgYm9yZGVyVG9wID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlclRvcFdpZHRoKSB8fCAwXG4gICAgY29uc3QgYm9yZGVyQm90dG9tID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlckJvdHRvbVdpZHRoKSB8fCAwXG5cbiAgICBjb25zdCBzaW5nbGVMaW5lSGVpZ2h0ID0gbGluZUhlaWdodCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyVG9wICsgYm9yZGVyQm90dG9tXG5cbiAgICBjb25zdCBpc0VtcHR5ID0gdGV4dGFyZWEudmFsdWUudHJpbSgpID09PSAnJ1xuXG4gICAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ0xlZnQpIHx8IDBcbiAgICBjb25zdCBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ1JpZ2h0KSB8fCAwXG4gICAgY29uc3QgYm9yZGVyTGVmdCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJMZWZ0V2lkdGgpIHx8IDBcbiAgICBjb25zdCBib3JkZXJSaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJSaWdodFdpZHRoKSB8fCAwXG4gICAgY29uc3QgdGV4dGFyZWFXaWR0aCA9IHRleHRhcmVhLm9mZnNldFdpZHRoIC0gcGFkZGluZ0xlZnQgLSBwYWRkaW5nUmlnaHQgLSBib3JkZXJMZWZ0IC0gYm9yZGVyUmlnaHRcblxuICAgIGlmICghaXNFbXB0eSkge1xuICAgICAgdGV4dGFyZWFNaW5Db250ZW50V2lkdGhTZWVuUmVmLmN1cnJlbnQgPVxuICAgICAgICB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA9PT0gbnVsbFxuICAgICAgICAgID8gdGV4dGFyZWFXaWR0aFxuICAgICAgICAgIDogTWF0aC5taW4odGV4dGFyZWFNaW5Db250ZW50V2lkdGhTZWVuUmVmLmN1cnJlbnQsIHRleHRhcmVhV2lkdGgpXG4gICAgfVxuXG4gICAgY29uc3Qgd3JhcENoZWNrV2lkdGggPSB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA/PyB0ZXh0YXJlYVdpZHRoXG5cbiAgICBsZXQgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IGZhbHNlXG5cbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKVxuICAgIGNvbnN0IGNhbnZhc0NvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKVxuICAgIGNvbnN0IHRleHQgPSB0ZXh0YXJlYS52YWx1ZSB8fCAnJ1xuICAgIGNvbnN0IGxpbmVzID0gdGV4dC5zcGxpdCgnXFxuJylcblxuICAgIGlmICghY2FudmFzQ29udGV4dCkge1xuICAgICAgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IHNjcm9sbEhlaWdodCA+IHNpbmdsZUxpbmVIZWlnaHQgKiAyLjA1XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRleHRhcmVhU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dGFyZWEpXG4gICAgICBjYW52YXNDb250ZXh0LmZvbnQgPSBgJHt0ZXh0YXJlYVN0eWxlcy5mb250V2VpZ2h0fSAke3RleHRhcmVhU3R5bGVzLmZvbnRTaXplfSAke3RleHRhcmVhU3R5bGVzLmZvbnRGYW1pbHl9YFxuICAgICAgaWYgKGxpbmVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgIGlmIChsaW5lLnRyaW0oKSA9PT0gJycpIGNvbnRpbnVlXG4gICAgICAgICAgaWYgKGNhbnZhc0NvbnRleHQubWVhc3VyZVRleHQobGluZSkud2lkdGggPiB3cmFwQ2hlY2tXaWR0aCkge1xuICAgICAgICAgICAgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IHRydWVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaGFzTXVsdGlwbGVWaXN1YWxMaW5lcyA9IGNhbnZhc01lYXN1cmVJbmRpY2F0ZXNNdWx0aWxpbmVcblxuICAgIGNvbnN0IG5leHRNdWx0aWxpbmUgPSAhaXNFbXB0eSAmJiBoYXNNdWx0aXBsZVZpc3VhbExpbmVzXG5cbiAgICAvKiogTMOtbmVhcyBzZWfDum4gYW5jaG8gZXN0cmVjaG8gKGhpc3RvcnkgbWluKSDigJQgdG9vbGJhciBjb21wYWN0byB5IGRldGVjY2nDs24gbXVsdGlsaW5lICovXG4gICAgbGV0IHZpc3VhbExpbmVzQXRXcmFwV2lkdGggPSAxXG4gICAgLyoqIEzDrW5lYXMgYWwgYW5jaG8gYWN0dWFsIGRlbCB0ZXh0YXJlYSDigJQgZW4gc3RhY2tlZCBzdWVsZSBzZXIgbWF5b3IgcXVlIHdyYXBDaGVja1dpZHRoICovXG4gICAgbGV0IHZpc3VhbExpbmVzQXRDdXJyZW50V2lkdGggPSAxXG4gICAgaWYgKCFpc0VtcHR5ICYmIGNhbnZhc0NvbnRleHQpIHtcbiAgICAgIHZpc3VhbExpbmVzQXRXcmFwV2lkdGggPSBjb3VudFZpc3VhbExpbmVzV3JhcHBlZChcbiAgICAgICAgdGV4dCxcbiAgICAgICAgd3JhcENoZWNrV2lkdGgsXG4gICAgICAgIHNlZ21lbnQgPT4gY2FudmFzQ29udGV4dC5tZWFzdXJlVGV4dChzZWdtZW50KS53aWR0aFxuICAgICAgKVxuICAgICAgdmlzdWFsTGluZXNBdEN1cnJlbnRXaWR0aCA9IGNvdW50VmlzdWFsTGluZXNXcmFwcGVkKFxuICAgICAgICB0ZXh0LFxuICAgICAgICB0ZXh0YXJlYVdpZHRoLFxuICAgICAgICBzZWdtZW50ID0+IGNhbnZhc0NvbnRleHQubWVhc3VyZVRleHQoc2VnbWVudCkud2lkdGhcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKCFpc0VtcHR5ICYmICFjYW52YXNDb250ZXh0KSB7XG4gICAgICB2aXN1YWxMaW5lc0F0V3JhcFdpZHRoID0gc2Nyb2xsSGVpZ2h0ID4gc2luZ2xlTGluZUhlaWdodCAqIDEuODUgPyBNYXRoLmNlaWwoc2Nyb2xsSGVpZ2h0IC8gc2luZ2xlTGluZUhlaWdodCkgOiAxXG4gICAgICB2aXN1YWxMaW5lc0F0Q3VycmVudFdpZHRoID0gdmlzdWFsTGluZXNBdFdyYXBXaWR0aFxuICAgIH1cblxuICAgIGNvbnN0IGxpbmVzRm9ySGVpZ2h0ID0gIWlzRW1wdHkgJiYgY2FudmFzQ29udGV4dCA/IHZpc3VhbExpbmVzQXRDdXJyZW50V2lkdGggOiB2aXN1YWxMaW5lc0F0V3JhcFdpZHRoXG5cbiAgICBsZXQgbmV3SGVpZ2h0OiBudW1iZXJcbiAgICAvKiogVW5hIGzDrW5lYSBhbCBhbmNobyBhY3R1YWw6IGFsdHVyYSBmaWphZGEgcG9yIHRpcG9ncmFmw61hICgrIHBhZGRpbmcvYm9yZGUpLCBubyBzY3JvbGxIZWlnaHQg4oCUIGV2aXRhIH4zOXB4IGFsIHBhc2FyIGEgc3RhY2tlZCBjdWFuZG8gZWwgY2FudmFzIHlhIGN1ZW50YSAxIGzDrW5lYSBhIGFuY2hvIGFtcGxpbyBwZXJvIHNjcm9sbEhlaWdodCBhw7puIHZpZW5lIGRlIGzDrW5lYXMgdmllamFzL3dyYXAgYW50ZXJpb3IuICovXG4gICAgY29uc3Qgc25hcHBlZFNpbmdsZUxpbmVPdXRlckhlaWdodCA9IE1hdGgucm91bmQoc2luZ2xlTGluZUhlaWdodClcbiAgICBpZiAoaXNFbXB0eSkge1xuICAgICAgbmV3SGVpZ2h0ID0gc25hcHBlZFNpbmdsZUxpbmVPdXRlckhlaWdodFxuICAgIH0gZWxzZSBpZiAoIWhhc011bHRpcGxlVmlzdWFsTGluZXMpIHtcbiAgICAgIG5ld0hlaWdodCA9IHNuYXBwZWRTaW5nbGVMaW5lT3V0ZXJIZWlnaHRcbiAgICB9IGVsc2UgaWYgKGxpbmVzRm9ySGVpZ2h0IDw9IDEpIHtcbiAgICAgIG5ld0hlaWdodCA9IE1hdGgubWluKE1hdGgubWF4KHNuYXBwZWRTaW5nbGVMaW5lT3V0ZXJIZWlnaHQsIG1pbkhlaWdodCksIG1heEhlaWdodClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc25hcHBlZEhlaWdodCA9IHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyVG9wICsgYm9yZGVyQm90dG9tICsgbGluZXNGb3JIZWlnaHQgKiBsaW5lSGVpZ2h0XG4gICAgICBuZXdIZWlnaHQgPSBNYXRoLm1pbihNYXRoLm1heChNYXRoLm1pbihzY3JvbGxIZWlnaHQsIHNuYXBwZWRIZWlnaHQpLCBtaW5IZWlnaHQpLCBtYXhIZWlnaHQpXG4gICAgfVxuXG4gICAgc2V0SXNUZXh0TXVsdGlsaW5lKHByZXYgPT4gKHByZXYgPT09IG5leHRNdWx0aWxpbmUgPyBwcmV2IDogbmV4dE11bHRpbGluZSkpXG5cbiAgICB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSBwcmV2aW91c01pbkhlaWdodCB8fCBgJHttaW5IZWlnaHR9cHhgXG4gICAgdGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0ID0gcHJldmlvdXNNYXhIZWlnaHQgfHwgJzEyMHB4J1xuXG4gICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gYCR7bmV3SGVpZ2h0fXB4YFxuICB9LCBbaW5wdXRSZWYsIHNldElzVGV4dE11bHRpbGluZV0pXG5cbiAgLyoqIENvbXBhY3TihpRzdGFja2VkIGNhbWJpYSBlbCBncmlkL0NTUyBkZWwgdGV4dGFyZWE7IG1lZGlyIGVuIGxheW91dCBldml0YSB1biBmcmFtZSBjb24gYWx0byBkZXNpbmNyb25pemFkbyAoc29icmUgdG9kbyBjb21wYWN04oaSc3RhY2tlZCkuICovXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaGFuZGxlUmVzaXplKClcbiAgfSwgW2NvbXBhY3RTaW5nbGVSb3dUb29sYmFyLCBoYW5kbGVSZXNpemVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlucHV0UmVmLmN1cnJlbnQ/LnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRleHRhcmVhTWluQ29udGVudFdpZHRoU2VlblJlZi5jdXJyZW50ID0gbnVsbFxuICAgIH1cbiAgfSwgW3Jlc2l6ZUVwb2NoXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHRleHRhcmVhTWluQ29udGVudFdpZHRoU2VlblJlZi5jdXJyZW50ID0gbnVsbFxuICB9LCBbY2hhdElkLCBuZXdDaGF0S2V5XSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbnB1dFJlZi5jdXJyZW50ICYmICFkaXNhYmxlZCkge1xuICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNpemUoKVxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtkaXNhYmxlZCwgaGFuZGxlUmVzaXplXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjbGVhclNlcSA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRleHRhcmVhTWluQ29udGVudFdpZHRoU2VlblJlZi5jdXJyZW50ID0gbnVsbFxuICAgIHByZXNlbmNlUHJldlJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICB9KVxuICB9LCBbY2xlYXJTZXEsIGhhbmRsZVJlc2l6ZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBpZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBoYW5kbGVSZXNpemUoKVxuICAgIH0pXG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkKVxuICB9LCBbcmVzaXplRXBvY2gsIGhhbmRsZVJlc2l6ZV0pXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGU6IENoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgaGFzVHJpbSA9IGUudGFyZ2V0LnZhbHVlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgaWYgKGhhc1RyaW0gIT09IHByZXNlbmNlUHJldlJlZi5jdXJyZW50KSB7XG4gICAgICBwcmVzZW5jZVByZXZSZWYuY3VycmVudCA9IGhhc1RyaW1cbiAgICAgIG9uVHlwaW5nUHJlc2VuY2VDaGFuZ2UoaGFzVHJpbSlcbiAgICB9XG4gICAgc2V0UmVzaXplRXBvY2goeCA9PiB4ICsgMSlcbiAgICBvbkNoYW5nZVByb3A/LigpXG4gIH1cblxuICBjb25zdCBoYW5kbGVCbHVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHYgPSBpbnB1dFJlZi5jdXJyZW50Py52YWx1ZSA/PyAnJ1xuICAgIGNvbnN0IGhhc1RyaW0gPSB2LnRyaW0oKS5sZW5ndGggPiAwXG4gICAgaWYgKGhhc1RyaW0gIT09IHByZXNlbmNlUHJldlJlZi5jdXJyZW50KSB7XG4gICAgICBwcmVzZW5jZVByZXZSZWYuY3VycmVudCA9IGhhc1RyaW1cbiAgICAgIG9uVHlwaW5nUHJlc2VuY2VDaGFuZ2UoaGFzVHJpbSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIWUuc2hpZnRLZXkpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKCFzZW5kRGlzYWJsZWQgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgIG9uRW50ZXJTZW5kKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRNQUlBSW5wdXRcbiAgICAgIHJlZj17aW5wdXRSZWYgYXMgUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+fVxuICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGFsaWduQnV0dG9ucz17YWxpZ25CdXR0b25zfVxuICAgICAgJHRvb2xiYXJMYXlvdXRWYXJpYW50PXtjb21wYWN0U2luZ2xlUm93VG9vbGJhciA/ICdjb21wYWN0Um93JyA6ICdzdGFja2VkUm93cyd9XG4gICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgLz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFxQ0EsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLGVBQWUsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEs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LGNBQWMsQ0FBQyxVQUFBMkUsQ0FBQztNQUFBLE9BQUlBLENBQUMsR0FBRyxDQUFDO0lBQUEsRUFBQztJQUMxQmxGLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUcsQ0FBQztFQUNsQixDQUFDO0VBRUQsSUFBTW1GLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7SUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxrQkFBQTtJQUN2QixJQUFNQyxDQUFDLElBQUFGLHFCQUFBLElBQUFDLGtCQUFBLEdBQUdqRyxRQUFRLENBQUN1QixPQUFPLGNBQUEwRSxrQkFBQSx1QkFBaEJBLGtCQUFBLENBQWtCckgsS0FBSyxjQUFBb0gscUJBQUEsY0FBQUEscUJBQUEsR0FBSSxFQUFFO0lBQ3ZDLElBQU1KLE9BQU8sR0FBR00sQ0FBQyxDQUFDckQsSUFBSSxDQUFDLENBQUMsQ0FBQ2hFLE1BQU0sR0FBRyxDQUFDO0lBQ25DLElBQUkrRyxPQUFPLEtBQUs5RSxlQUFlLENBQUNTLE9BQU8sRUFBRTtNQUN2Q1QsZUFBZSxDQUFDUyxPQUFPLEdBQUdxRSxPQUFPO01BQ2pDbEYsc0JBQXNCLENBQUNrRixPQUFPLENBQUM7SUFDakM7RUFDRixDQUFDO0VBRUQsSUFBTU8sYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJeEcsQ0FBcUMsRUFBSztJQUMvRCxJQUFJQSxDQUFDLENBQUN5RyxHQUFHLEtBQUssT0FBTyxJQUFJLENBQUN6RyxDQUFDLENBQUMwRyxRQUFRLEVBQUU7TUFDcEMxRyxDQUFDLENBQUMyRyxjQUFjLENBQUMsQ0FBQztNQUNsQixJQUFJLENBQUM3RixZQUFZLElBQUksQ0FBQ1IsUUFBUSxFQUFFO1FBQzlCVSxXQUFXLENBQUMsQ0FBQztNQUNmO0lBQ0Y7RUFDRixDQUFDO0VBRUQsb0JBQ0U5QyxJQUFBLENBQUNGLGVBQWU7SUFDZDRJLEdBQUcsRUFBRXZHLFFBQTJDO0lBQ2hEQyxRQUFRLEVBQUVBLFFBQVM7SUFDbkJ1RyxRQUFRLEVBQUViLFlBQWE7SUFDdkJjLFNBQVMsRUFBRU4sYUFBYztJQUN6QmpHLFdBQVcsRUFBRUEsV0FBWTtJQUN6QkMsWUFBWSxFQUFFQSxZQUFhO0lBQzNCdUcscUJBQXFCLEVBQUV0Ryx1QkFBdUIsR0FBRyxZQUFZLEdBQUcsYUFBYztJQUM5RXVHLE1BQU0sRUFBRVo7RUFBVyxDQUNwQixDQUFDO0FBRU4sQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
266
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiU3R5bGVkTUFJQUlucHV0IiwianN4IiwiX2pzeCIsImNvdW50VmlzdWFsTGluZXNXcmFwcGVkIiwicmF3IiwiY29udGVudFdpZHRoUHgiLCJtZWFzdXJlVGV4dFdpZHRoIiwicGFyYWdyYXBocyIsInNwbGl0IiwidG90YWwiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwicGFyYWdyYXBoIiwidmFsdWUiLCJsZW5ndGgiLCJ3b3JkcyIsImZpbHRlciIsInciLCJsaW5lc0luUGFyYWdyYXBoIiwiY3VycmVudExpbmVXaWR0aCIsImkiLCJ3b3JkIiwid29yZFdpZHRoIiwic3BhY2VXaWR0aCIsIk1hdGgiLCJjZWlsIiwiY2FuZGlkYXRlV2lkdGgiLCJlcnIiLCJlIiwiZiIsIm1heCIsIk1BSUFJbnB1dEVkaXRvciIsIl9yZWYiLCJpbnB1dFJlZiIsImRpc2FibGVkIiwicGxhY2Vob2xkZXIiLCJhbGlnbkJ1dHRvbnMiLCJzZXRJc1RleHRNdWx0aWxpbmUiLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiY2xlYXJTZXEiLCJzZW5kRGlzYWJsZWQiLCJvblR5cGluZ1ByZXNlbmNlQ2hhbmdlIiwib25FbnRlclNlbmQiLCJvbkNoYW5nZVByb3AiLCJ0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYiLCJwcmVzZW5jZVByZXZSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJyZXNpemVFcG9jaCIsInNldFJlc2l6ZUVwb2NoIiwiaGFuZGxlUmVzaXplIiwiX3RleHRhcmVhTWluQ29udGVudFdpIiwidGV4dGFyZWEiLCJjdXJyZW50IiwibWluSGVpZ2h0IiwibWF4SGVpZ2h0IiwicHJldmlvdXNNaW5IZWlnaHQiLCJzdHlsZSIsInByZXZpb3VzTWF4SGVpZ2h0IiwiaGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwiY29tcHV0ZWRTdHlsZSIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJsaW5lSGVpZ2h0IiwicGFyc2VGbG9hdCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiYm9yZGVyVG9wIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJCb3R0b20iLCJib3JkZXJCb3R0b21XaWR0aCIsInNpbmdsZUxpbmVIZWlnaHQiLCJpc0VtcHR5IiwidHJpbSIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0IiwiYm9yZGVyTGVmdCIsImJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0IiwiYm9yZGVyUmlnaHRXaWR0aCIsInRleHRhcmVhV2lkdGgiLCJvZmZzZXRXaWR0aCIsIm1pbiIsIndyYXBDaGVja1dpZHRoIiwiY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSIsImNhbnZhcyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNhbnZhc0NvbnRleHQiLCJnZXRDb250ZXh0IiwidGV4dCIsImxpbmVzIiwidGV4dGFyZWFTdHlsZXMiLCJmb250IiwiY29uY2F0IiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJsaW5lIiwibWVhc3VyZVRleHQiLCJ3aWR0aCIsImhhc011bHRpcGxlVmlzdWFsTGluZXMiLCJuZXh0TXVsdGlsaW5lIiwidmlzdWFsTGluZXNBdFdyYXBXaWR0aCIsInZpc3VhbExpbmVzQXRDdXJyZW50V2lkdGgiLCJzZWdtZW50IiwibGluZXNGb3JIZWlnaHQiLCJuZXdIZWlnaHQiLCJzbmFwcGVkU2luZ2xlTGluZU91dGVySGVpZ2h0Iiwicm91bmQiLCJzbmFwcGVkSGVpZ2h0IiwicHJldiIsIl9pbnB1dFJlZiRjdXJyZW50IiwiZm9jdXMiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJpZCIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwiaGFuZGxlQ2hhbmdlIiwiaGFzVHJpbSIsInRhcmdldCIsIngiLCJoYW5kbGVCbHVyIiwiX2lucHV0UmVmJGN1cnJlbnQkdmFsIiwiX2lucHV0UmVmJGN1cnJlbnQyIiwidiIsImhhbmRsZUtleURvd24iLCJrZXkiLCJzaGlmdEtleSIsInByZXZlbnREZWZhdWx0IiwicmVmIiwib25DaGFuZ2UiLCJvbktleURvd24iLCIkdG9vbGJhckxheW91dFZhcmlhbnQiLCJvbkJsdXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvTUFJQUlucHV0RWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZvaWQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1kZXN0cnVjdHVyaW5nICovXG5pbXBvcnQgeyBDaGFuZ2VFdmVudCwgS2V5Ym9hcmRFdmVudCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IERpc3BhdGNoLCBSZWZPYmplY3QsIFNldFN0YXRlQWN0aW9uIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IFN0eWxlZE1BSUFJbnB1dCB9IGZyb20gJy4vc3R5bGVzJ1xuXG4vKipcbiAqIEzDrW5lYXMgdmlzdWFsZXMgY29uIHdyYXAgZGUgcGFsYWJyYXMgYWwgYW5jaG8gZGFkbyAoYXByb3guIGVsIG5hdmVnYWRvciBlbiBMVFIpLlxuICovXG5mdW5jdGlvbiBjb3VudFZpc3VhbExpbmVzV3JhcHBlZChyYXc6IHN0cmluZywgY29udGVudFdpZHRoUHg6IG51bWJlciwgbWVhc3VyZVRleHRXaWR0aDogKHM6IHN0cmluZykgPT4gbnVtYmVyKTogbnVtYmVyIHtcbiAgaWYgKGNvbnRlbnRXaWR0aFB4IDw9IDEpIHtcbiAgICByZXR1cm4gMVxuICB9XG4gIGNvbnN0IHBhcmFncmFwaHMgPSByYXcuc3BsaXQoJ1xcbicpXG4gIGxldCB0b3RhbCA9IDBcbiAgZm9yIChjb25zdCBwYXJhZ3JhcGggb2YgcGFyYWdyYXBocykge1xuICAgIGlmIChwYXJhZ3JhcGgubGVuZ3RoID09PSAwKSB7XG4gICAgICB0b3RhbCArPSAxXG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCB3b3JkcyA9IHBhcmFncmFwaC5zcGxpdCgvXFxzKy8pLmZpbHRlcih3ID0+IHcubGVuZ3RoID4gMClcbiAgICBsZXQgbGluZXNJblBhcmFncmFwaCA9IDFcbiAgICBsZXQgY3VycmVudExpbmVXaWR0aCA9IDBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdvcmRzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBjb25zdCB3b3JkID0gd29yZHNbaV1cbiAgICAgIGNvbnN0IHdvcmRXaWR0aCA9IG1lYXN1cmVUZXh0V2lkdGgod29yZClcbiAgICAgIGNvbnN0IHNwYWNlV2lkdGggPSBpID4gMCA/IG1lYXN1cmVUZXh0V2lkdGgoJyAnKSA6IDBcblxuICAgICAgaWYgKHdvcmRXaWR0aCA+IGNvbnRlbnRXaWR0aFB4KSB7XG4gICAgICAgIGlmIChjdXJyZW50TGluZVdpZHRoID4gMCkge1xuICAgICAgICAgIGxpbmVzSW5QYXJhZ3JhcGggKz0gMVxuICAgICAgICAgIGN1cnJlbnRMaW5lV2lkdGggPSAwXG4gICAgICAgIH1cbiAgICAgICAgbGluZXNJblBhcmFncmFwaCArPSBNYXRoLmNlaWwod29yZFdpZHRoIC8gY29udGVudFdpZHRoUHgpIC0gMVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjYW5kaWRhdGVXaWR0aCA9IGN1cnJlbnRMaW5lV2lkdGggPT09IDAgPyB3b3JkV2lkdGggOiBjdXJyZW50TGluZVdpZHRoICsgc3BhY2VXaWR0aCArIHdvcmRXaWR0aFxuICAgICAgaWYgKGNhbmRpZGF0ZVdpZHRoID4gY29udGVudFdpZHRoUHggJiYgY3VycmVudExpbmVXaWR0aCA+IDApIHtcbiAgICAgICAgbGluZXNJblBhcmFncmFwaCArPSAxXG4gICAgICAgIGN1cnJlbnRMaW5lV2lkdGggPSB3b3JkV2lkdGhcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnRMaW5lV2lkdGggPSBjYW5kaWRhdGVXaWR0aFxuICAgICAgfVxuICAgIH1cbiAgICB0b3RhbCArPSBsaW5lc0luUGFyYWdyYXBoXG4gIH1cbiAgcmV0dXJuIE1hdGgubWF4KDEsIHRvdGFsKVxufVxuXG5leHBvcnQgdHlwZSBNQUlBSW5wdXRFZGl0b3JQcm9wcyA9IHtcbiAgaW5wdXRSZWY6IFJlZk9iamVjdDxIVE1MVGV4dEFyZWFFbGVtZW50IHwgbnVsbD5cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgc2V0SXNUZXh0TXVsdGlsaW5lOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxib29sZWFuPj5cbiAgY2hhdElkPzogc3RyaW5nXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgLyoqIEluY3JlbWVudGFyIGRlc2RlIGVsIHBhZHJlIHRyYXMgZW52aWFyIC8gY2FtYmlhciBzZXNpw7NuIHBhcmEgc2luY3Jvbml6YXIgbWVkaWNpw7NuIHNpbiBlc3RhZG8gZGVsIHRleHRvIGVuIGVsIHBhZHJlLiAqL1xuICBjbGVhclNlcTogbnVtYmVyXG4gIHNlbmREaXNhYmxlZDogYm9vbGVhblxuICBvblR5cGluZ1ByZXNlbmNlQ2hhbmdlOiAoaGFzVHJpbW1lZFRleHQ6IGJvb2xlYW4pID0+IHZvaWRcbiAgb25FbnRlclNlbmQ6ICgpID0+IHZvaWRcbiAgb25DaGFuZ2VQcm9wPzogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgTUFJQUlucHV0RWRpdG9yID0gKHtcbiAgaW5wdXRSZWYsXG4gIGRpc2FibGVkLFxuICBwbGFjZWhvbGRlcixcbiAgYWxpZ25CdXR0b25zLFxuICBzZXRJc1RleHRNdWx0aWxpbmUsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgY2xlYXJTZXEsXG4gIHNlbmREaXNhYmxlZCxcbiAgb25UeXBpbmdQcmVzZW5jZUNoYW5nZSxcbiAgb25FbnRlclNlbmQsXG4gIG9uQ2hhbmdlUHJvcCxcbn06IE1BSUFJbnB1dEVkaXRvclByb3BzKSA9PiB7XG4gIGNvbnN0IHRleHRhcmVhTWluQ29udGVudFdpZHRoU2VlblJlZiA9IHVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKVxuICBjb25zdCBwcmVzZW5jZVByZXZSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIC8qKiBTb2xvIHBhcmEgcmUtYWdlbmRhciBtZWRpY2nDs24gZGUgYWx0byBzaW4gZ3VhcmRhciBlbCBzdHJpbmcgZW4gZWwgcGFkcmUgKGFpc2xhIHJlLXJlbmRlcnMgZGVsIHRvb2xiYXIpLiAqL1xuICBjb25zdCBbcmVzaXplRXBvY2gsIHNldFJlc2l6ZUVwb2NoXSA9IHVzZVN0YXRlKDApXG5cbiAgY29uc3QgaGFuZGxlUmVzaXplID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHRleHRhcmVhID0gaW5wdXRSZWYuY3VycmVudFxuICAgIGlmICghdGV4dGFyZWEpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8qKiBDb2luY2lkZSBjb24gU3R5bGVkTUFJQUlucHV0OiBsaW5lLWhlaWdodCAyMHB4IHNvYnJlIGZ1ZW50ZSAxNHB4ICh+dW5hIGzDrW5lYSBkZSB0ZXh0byB2aXNpYmxlKS4gKi9cbiAgICBjb25zdCBtaW5IZWlnaHQgPSAyMFxuICAgIGNvbnN0IG1heEhlaWdodCA9IDE3MFxuXG4gICAgY29uc3QgcHJldmlvdXNNaW5IZWlnaHQgPSB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHRcbiAgICBjb25zdCBwcmV2aW91c01heEhlaWdodCA9IHRleHRhcmVhLnN0eWxlLm1heEhlaWdodFxuXG4gICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nXG4gICAgdGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gJzBweCdcbiAgICB0ZXh0YXJlYS5zdHlsZS5tYXhIZWlnaHQgPSAnbm9uZSdcblxuICAgIHZvaWQgdGV4dGFyZWEub2Zmc2V0SGVpZ2h0XG5cbiAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHRcblxuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0YXJlYSlcbiAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmxpbmVIZWlnaHQpIHx8IDIwXG4gICAgY29uc3QgcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nVG9wKSB8fCAwXG4gICAgY29uc3QgcGFkZGluZ0JvdHRvbSA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nQm90dG9tKSB8fCAwXG4gICAgY29uc3QgYm9yZGVyVG9wID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlclRvcFdpZHRoKSB8fCAwXG4gICAgY29uc3QgYm9yZGVyQm90dG9tID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlckJvdHRvbVdpZHRoKSB8fCAwXG5cbiAgICBjb25zdCBzaW5nbGVMaW5lSGVpZ2h0ID0gbGluZUhlaWdodCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyVG9wICsgYm9yZGVyQm90dG9tXG5cbiAgICBjb25zdCBpc0VtcHR5ID0gdGV4dGFyZWEudmFsdWUudHJpbSgpID09PSAnJ1xuXG4gICAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ0xlZnQpIHx8IDBcbiAgICBjb25zdCBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ1JpZ2h0KSB8fCAwXG4gICAgY29uc3QgYm9yZGVyTGVmdCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJMZWZ0V2lkdGgpIHx8IDBcbiAgICBjb25zdCBib3JkZXJSaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJSaWdodFdpZHRoKSB8fCAwXG4gICAgY29uc3QgdGV4dGFyZWFXaWR0aCA9IHRleHRhcmVhLm9mZnNldFdpZHRoIC0gcGFkZGluZ0xlZnQgLSBwYWRkaW5nUmlnaHQgLSBib3JkZXJMZWZ0IC0gYm9yZGVyUmlnaHRcblxuICAgIGlmICghaXNFbXB0eSkge1xuICAgICAgdGV4dGFyZWFNaW5Db250ZW50V2lkdGhTZWVuUmVmLmN1cnJlbnQgPVxuICAgICAgICB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA9PT0gbnVsbFxuICAgICAgICAgID8gdGV4dGFyZWFXaWR0aFxuICAgICAgICAgIDogTWF0aC5taW4odGV4dGFyZWFNaW5Db250ZW50V2lkdGhTZWVuUmVmLmN1cnJlbnQsIHRleHRhcmVhV2lkdGgpXG4gICAgfVxuXG4gICAgY29uc3Qgd3JhcENoZWNrV2lkdGggPSB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA/PyB0ZXh0YXJlYVdpZHRoXG5cbiAgICBsZXQgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IGZhbHNlXG5cbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKVxuICAgIGNvbnN0IGNhbnZhc0NvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKVxuICAgIGNvbnN0IHRleHQgPSB0ZXh0YXJlYS52YWx1ZSB8fCAnJ1xuICAgIGNvbnN0IGxpbmVzID0gdGV4dC5zcGxpdCgnXFxuJylcblxuICAgIGlmICghY2FudmFzQ29udGV4dCkge1xuICAgICAgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IHNjcm9sbEhlaWdodCA+IHNpbmdsZUxpbmVIZWlnaHQgKiAyLjA1XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRleHRhcmVhU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dGFyZWEpXG4gICAgICBjYW52YXNDb250ZXh0LmZvbnQgPSBgJHt0ZXh0YXJlYVN0eWxlcy5mb250V2VpZ2h0fSAke3RleHRhcmVhU3R5bGVzLmZvbnRTaXplfSAke3RleHRhcmVhU3R5bGVzLmZvbnRGYW1pbHl9YFxuICAgICAgaWYgKGxpbmVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgIGlmIChsaW5lLnRyaW0oKSA9PT0gJycpIGNvbnRpbnVlXG4gICAgICAgICAgaWYgKGNhbnZhc0NvbnRleHQubWVhc3VyZVRleHQobGluZSkud2lkdGggPiB3cmFwQ2hlY2tXaWR0aCkge1xuICAgICAgICAgICAgY2FudmFzTWVhc3VyZUluZGljYXRlc011bHRpbGluZSA9IHRydWVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaGFzTXVsdGlwbGVWaXN1YWxMaW5lcyA9IGNhbnZhc01lYXN1cmVJbmRpY2F0ZXNNdWx0aWxpbmVcblxuICAgIGNvbnN0IG5leHRNdWx0aWxpbmUgPSAhaXNFbXB0eSAmJiBoYXNNdWx0aXBsZVZpc3VhbExpbmVzXG5cbiAgICAvKiogTMOtbmVhcyBzZWfDum4gYW5jaG8gZXN0cmVjaG8gKGhpc3RvcnkgbWluKSDigJQgdG9vbGJhciBjb21wYWN0byB5IGRldGVjY2nDs24gbXVsdGlsaW5lICovXG4gICAgbGV0IHZpc3VhbExpbmVzQXRXcmFwV2lkdGggPSAxXG4gICAgLyoqIEzDrW5lYXMgYWwgYW5jaG8gYWN0dWFsIGRlbCB0ZXh0YXJlYSDigJQgZW4gc3RhY2tlZCBzdWVsZSBzZXIgbWF5b3IgcXVlIHdyYXBDaGVja1dpZHRoICovXG4gICAgbGV0IHZpc3VhbExpbmVzQXRDdXJyZW50V2lkdGggPSAxXG4gICAgaWYgKCFpc0VtcHR5ICYmIGNhbnZhc0NvbnRleHQpIHtcbiAgICAgIHZpc3VhbExpbmVzQXRXcmFwV2lkdGggPSBjb3VudFZpc3VhbExpbmVzV3JhcHBlZChcbiAgICAgICAgdGV4dCxcbiAgICAgICAgd3JhcENoZWNrV2lkdGgsXG4gICAgICAgIHNlZ21lbnQgPT4gY2FudmFzQ29udGV4dC5tZWFzdXJlVGV4dChzZWdtZW50KS53aWR0aFxuICAgICAgKVxuICAgICAgdmlzdWFsTGluZXNBdEN1cnJlbnRXaWR0aCA9IGNvdW50VmlzdWFsTGluZXNXcmFwcGVkKFxuICAgICAgICB0ZXh0LFxuICAgICAgICB0ZXh0YXJlYVdpZHRoLFxuICAgICAgICBzZWdtZW50ID0+IGNhbnZhc0NvbnRleHQubWVhc3VyZVRleHQoc2VnbWVudCkud2lkdGhcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKCFpc0VtcHR5ICYmICFjYW52YXNDb250ZXh0KSB7XG4gICAgICB2aXN1YWxMaW5lc0F0V3JhcFdpZHRoID0gc2Nyb2xsSGVpZ2h0ID4gc2luZ2xlTGluZUhlaWdodCAqIDEuODUgPyBNYXRoLmNlaWwoc2Nyb2xsSGVpZ2h0IC8gc2luZ2xlTGluZUhlaWdodCkgOiAxXG4gICAgICB2aXN1YWxMaW5lc0F0Q3VycmVudFdpZHRoID0gdmlzdWFsTGluZXNBdFdyYXBXaWR0aFxuICAgIH1cblxuICAgIGNvbnN0IGxpbmVzRm9ySGVpZ2h0ID0gIWlzRW1wdHkgJiYgY2FudmFzQ29udGV4dCA/IHZpc3VhbExpbmVzQXRDdXJyZW50V2lkdGggOiB2aXN1YWxMaW5lc0F0V3JhcFdpZHRoXG5cbiAgICBsZXQgbmV3SGVpZ2h0OiBudW1iZXJcbiAgICAvKiogVW5hIGzDrW5lYSBhbCBhbmNobyBhY3R1YWw6IGFsdHVyYSBmaWphZGEgcG9yIHRpcG9ncmFmw61hICgrIHBhZGRpbmcvYm9yZGUpLCBubyBzY3JvbGxIZWlnaHQg4oCUIGV2aXRhIH4zOXB4IGFsIHBhc2FyIGEgc3RhY2tlZCBjdWFuZG8gZWwgY2FudmFzIHlhIGN1ZW50YSAxIGzDrW5lYSBhIGFuY2hvIGFtcGxpbyBwZXJvIHNjcm9sbEhlaWdodCBhw7puIHZpZW5lIGRlIGzDrW5lYXMgdmllamFzL3dyYXAgYW50ZXJpb3IuICovXG4gICAgY29uc3Qgc25hcHBlZFNpbmdsZUxpbmVPdXRlckhlaWdodCA9IE1hdGgucm91bmQoc2luZ2xlTGluZUhlaWdodClcbiAgICBpZiAoaXNFbXB0eSkge1xuICAgICAgbmV3SGVpZ2h0ID0gc25hcHBlZFNpbmdsZUxpbmVPdXRlckhlaWdodFxuICAgIH0gZWxzZSBpZiAoIWhhc011bHRpcGxlVmlzdWFsTGluZXMpIHtcbiAgICAgIG5ld0hlaWdodCA9IHNuYXBwZWRTaW5nbGVMaW5lT3V0ZXJIZWlnaHRcbiAgICB9IGVsc2UgaWYgKGxpbmVzRm9ySGVpZ2h0IDw9IDEpIHtcbiAgICAgIG5ld0hlaWdodCA9IE1hdGgubWluKE1hdGgubWF4KHNuYXBwZWRTaW5nbGVMaW5lT3V0ZXJIZWlnaHQsIG1pbkhlaWdodCksIG1heEhlaWdodClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc25hcHBlZEhlaWdodCA9IHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyVG9wICsgYm9yZGVyQm90dG9tICsgbGluZXNGb3JIZWlnaHQgKiBsaW5lSGVpZ2h0XG4gICAgICBuZXdIZWlnaHQgPSBNYXRoLm1pbihNYXRoLm1heChNYXRoLm1pbihzY3JvbGxIZWlnaHQsIHNuYXBwZWRIZWlnaHQpLCBtaW5IZWlnaHQpLCBtYXhIZWlnaHQpXG4gICAgfVxuXG4gICAgc2V0SXNUZXh0TXVsdGlsaW5lKHByZXYgPT4gKHByZXYgPT09IG5leHRNdWx0aWxpbmUgPyBwcmV2IDogbmV4dE11bHRpbGluZSkpXG5cbiAgICB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSBwcmV2aW91c01pbkhlaWdodCB8fCBgJHttaW5IZWlnaHR9cHhgXG4gICAgdGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0ID0gcHJldmlvdXNNYXhIZWlnaHQgfHwgJzE3MHB4J1xuXG4gICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gYCR7bmV3SGVpZ2h0fXB4YFxuICB9LCBbaW5wdXRSZWYsIHNldElzVGV4dE11bHRpbGluZV0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBoYW5kbGVSZXNpemUoKVxuICB9LCBbaGFuZGxlUmVzaXplXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbnB1dFJlZi5jdXJyZW50Py52YWx1ZS50cmltKCkgPT09ICcnKSB7XG4gICAgICB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA9IG51bGxcbiAgICB9XG4gIH0sIFtyZXNpemVFcG9jaF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA9IG51bGxcbiAgfSwgW2NoYXRJZCwgbmV3Q2hhdEtleV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaW5wdXRSZWYuY3VycmVudCAmJiAhZGlzYWJsZWQpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKVxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzaXplKClcbiAgICAgIH0pXG4gICAgfVxuICB9LCBbZGlzYWJsZWQsIGhhbmRsZVJlc2l6ZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2xlYXJTZXEgPT09IDApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0ZXh0YXJlYU1pbkNvbnRlbnRXaWR0aFNlZW5SZWYuY3VycmVudCA9IG51bGxcbiAgICBwcmVzZW5jZVByZXZSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGhhbmRsZVJlc2l6ZSgpXG4gICAgfSlcbiAgfSwgW2NsZWFyU2VxLCBoYW5kbGVSZXNpemVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICB9KVxuICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShpZClcbiAgfSwgW3Jlc2l6ZUVwb2NoLCBoYW5kbGVSZXNpemVdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChlOiBDaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGhhc1RyaW0gPSBlLnRhcmdldC52YWx1ZS50cmltKCkubGVuZ3RoID4gMFxuICAgIGlmIChoYXNUcmltICE9PSBwcmVzZW5jZVByZXZSZWYuY3VycmVudCkge1xuICAgICAgcHJlc2VuY2VQcmV2UmVmLmN1cnJlbnQgPSBoYXNUcmltXG4gICAgICBvblR5cGluZ1ByZXNlbmNlQ2hhbmdlKGhhc1RyaW0pXG4gICAgfVxuICAgIHNldFJlc2l6ZUVwb2NoKHggPT4geCArIDEpXG4gICAgb25DaGFuZ2VQcm9wPy4oKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQmx1ciA9ICgpID0+IHtcbiAgICBjb25zdCB2ID0gaW5wdXRSZWYuY3VycmVudD8udmFsdWUgPz8gJydcbiAgICBjb25zdCBoYXNUcmltID0gdi50cmltKCkubGVuZ3RoID4gMFxuICAgIGlmIChoYXNUcmltICE9PSBwcmVzZW5jZVByZXZSZWYuY3VycmVudCkge1xuICAgICAgcHJlc2VuY2VQcmV2UmVmLmN1cnJlbnQgPSBoYXNUcmltXG4gICAgICBvblR5cGluZ1ByZXNlbmNlQ2hhbmdlKGhhc1RyaW0pXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5KSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGlmICghc2VuZERpc2FibGVkICYmICFkaXNhYmxlZCkge1xuICAgICAgICBvbkVudGVyU2VuZCgpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTUFJQUlucHV0XG4gICAgICByZWY9e2lucHV0UmVmIGFzIFJlZk9iamVjdDxIVE1MVGV4dEFyZWFFbGVtZW50Pn1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICBhbGlnbkJ1dHRvbnM9e2FsaWduQnV0dG9uc31cbiAgICAgICR0b29sYmFyTGF5b3V0VmFyaWFudD1cInN0YWNrZWRSb3dzXCJcbiAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQXFDQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsZUFBZSxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRzdHLFNBQVNDLGVBQWUsUUFBUSxVQUFVOztBQUUxQztBQUNBO0FBQ0E7QUFGQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFHQSxTQUFTQyx1QkFBdUJBLENBQUNDLEdBQVcsRUFBRUMsY0FBc0IsRUFBRUMsZ0JBQXVDLEVBQVU7RUFDckgsSUFBSUQsY0FBYyxJQUFJLENBQUMsRUFBRTtJQUN2QixPQUFPLENBQUM7RUFDVjtFQUNBLElBQU1FLFVBQVUsR0FBR0gsR0FBRyxDQUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDO0VBQ2xDLElBQUlDLEtBQUssR0FBRyxDQUFDO0VBQUEsSUFBQUMsU0FBQSxHQUFBQywwQkFBQSxDQUNXSixV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
@@ -0,0 +1,23 @@
1
+ /** Alto máximo total del input (chips + texto + toolbar). */
2
+ export var MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX = 230;
3
+ /** Padding vertical del wrapper (8 + 8). */
4
+ export var MAIA_INPUT_WRAPPER_PADDING_Y_PX = 16;
5
+ /** Gap entre chips y toolbar grid / entre filas del grid. */
6
+ export var MAIA_INPUT_INTERNAL_GAP_PX = 4;
7
+ /** Alto reservado para la fila de botones (+ es 32px). */
8
+ export var MAIA_INPUT_TOOLBAR_ROW_HEIGHT_PX = 32;
9
+ /** Alto mínimo usable del editor. */
10
+ export var MAIA_INPUT_EDITOR_MIN_HEIGHT_PX = 48;
11
+
12
+ /** Alto máx. del editor sin chips: wrapper − padding − gap grid − toolbar. */
13
+ export var MAIA_INPUT_EDITOR_MAX_HEIGHT_NO_CHIPS_PX = MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX - MAIA_INPUT_WRAPPER_PADDING_Y_PX - MAIA_INPUT_INTERNAL_GAP_PX - MAIA_INPUT_TOOLBAR_ROW_HEIGHT_PX;
14
+ /** Calcula el max-height del editor restando chips + toolbar reales. */
15
+ export var getMaiaInputEditorMaxHeight = function getMaiaInputEditorMaxHeight(_ref) {
16
+ var chipsRowHeightPx = _ref.chipsRowHeightPx,
17
+ _ref$toolbarRowHeight = _ref.toolbarRowHeightPx,
18
+ toolbarRowHeightPx = _ref$toolbarRowHeight === void 0 ? MAIA_INPUT_TOOLBAR_ROW_HEIGHT_PX : _ref$toolbarRowHeight;
19
+ var chipsBlock = chipsRowHeightPx > 0 ? MAIA_INPUT_INTERNAL_GAP_PX + chipsRowHeightPx : 0;
20
+ var toolbarBlock = Math.max(toolbarRowHeightPx, MAIA_INPUT_TOOLBAR_ROW_HEIGHT_PX);
21
+ return Math.max(MAIA_INPUT_EDITOR_MIN_HEIGHT_PX, MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX - MAIA_INPUT_WRAPPER_PADDING_Y_PX - chipsBlock - MAIA_INPUT_INTERNAL_GAP_PX - toolbarBlock);
22
+ };
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQUlBX0lOUFVUX1dSQVBQRVJfTUFYX0hFSUdIVF9QWCIsIk1BSUFfSU5QVVRfV1JBUFBFUl9QQURESU5HX1lfUFgiLCJNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCIsIk1BSUFfSU5QVVRfVE9PTEJBUl9ST1dfSEVJR0hUX1BYIiwiTUFJQV9JTlBVVF9FRElUT1JfTUlOX0hFSUdIVF9QWCIsIk1BSUFfSU5QVVRfRURJVE9SX01BWF9IRUlHSFRfTk9fQ0hJUFNfUFgiLCJnZXRNYWlhSW5wdXRFZGl0b3JNYXhIZWlnaHQiLCJfcmVmIiwiY2hpcHNSb3dIZWlnaHRQeCIsIl9yZWYkdG9vbGJhclJvd0hlaWdodCIsInRvb2xiYXJSb3dIZWlnaHRQeCIsImNoaXBzQmxvY2siLCJ0b29sYmFyQmxvY2siLCJNYXRoIiwibWF4Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L21haWFJbnB1dExheW91dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQWx0byBtw6F4aW1vIHRvdGFsIGRlbCBpbnB1dCAoY2hpcHMgKyB0ZXh0byArIHRvb2xiYXIpLiAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYID0gMjMwXG4vKiogUGFkZGluZyB2ZXJ0aWNhbCBkZWwgd3JhcHBlciAoOCArIDgpLiAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfSU5QVVRfV1JBUFBFUl9QQURESU5HX1lfUFggPSAxNlxuLyoqIEdhcCBlbnRyZSBjaGlwcyB5IHRvb2xiYXIgZ3JpZCAvIGVudHJlIGZpbGFzIGRlbCBncmlkLiAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYID0gNFxuLyoqIEFsdG8gcmVzZXJ2YWRvIHBhcmEgbGEgZmlsYSBkZSBib3RvbmVzICgrIGVzIDMycHgpLiAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfSU5QVVRfVE9PTEJBUl9ST1dfSEVJR0hUX1BYID0gMzJcbi8qKiBBbHRvIG3DrW5pbW8gdXNhYmxlIGRlbCBlZGl0b3IuICovXG5leHBvcnQgY29uc3QgTUFJQV9JTlBVVF9FRElUT1JfTUlOX0hFSUdIVF9QWCA9IDQ4XG5cbi8qKiBBbHRvIG3DoXguIGRlbCBlZGl0b3Igc2luIGNoaXBzOiB3cmFwcGVyIOKIkiBwYWRkaW5nIOKIkiBnYXAgZ3JpZCDiiJIgdG9vbGJhci4gKi9cbmV4cG9ydCBjb25zdCBNQUlBX0lOUFVUX0VESVRPUl9NQVhfSEVJR0hUX05PX0NISVBTX1BYID1cbiAgTUFJQV9JTlBVVF9XUkFQUEVSX01BWF9IRUlHSFRfUFggLVxuICBNQUlBX0lOUFVUX1dSQVBQRVJfUEFERElOR19ZX1BYIC1cbiAgTUFJQV9JTlBVVF9JTlRFUk5BTF9HQVBfUFggLVxuICBNQUlBX0lOUFVUX1RPT0xCQVJfUk9XX0hFSUdIVF9QWFxuXG50eXBlIEVkaXRvck1heEhlaWdodElucHV0ID0ge1xuICBjaGlwc1Jvd0hlaWdodFB4OiBudW1iZXJcbiAgdG9vbGJhclJvd0hlaWdodFB4PzogbnVtYmVyXG59XG5cbi8qKiBDYWxjdWxhIGVsIG1heC1oZWlnaHQgZGVsIGVkaXRvciByZXN0YW5kbyBjaGlwcyArIHRvb2xiYXIgcmVhbGVzLiAqL1xuZXhwb3J0IGNvbnN0IGdldE1haWFJbnB1dEVkaXRvck1heEhlaWdodCA9ICh7XG4gIGNoaXBzUm93SGVpZ2h0UHgsXG4gIHRvb2xiYXJSb3dIZWlnaHRQeCA9IE1BSUFfSU5QVVRfVE9PTEJBUl9ST1dfSEVJR0hUX1BYLFxufTogRWRpdG9yTWF4SGVpZ2h0SW5wdXQpOiBudW1iZXIgPT4ge1xuICBjb25zdCBjaGlwc0Jsb2NrID0gY2hpcHNSb3dIZWlnaHRQeCA+IDAgPyBNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCArIGNoaXBzUm93SGVpZ2h0UHggOiAwXG4gIGNvbnN0IHRvb2xiYXJCbG9jayA9IE1hdGgubWF4KHRvb2xiYXJSb3dIZWlnaHRQeCwgTUFJQV9JTlBVVF9UT09MQkFSX1JPV19IRUlHSFRfUFgpXG5cbiAgcmV0dXJuIE1hdGgubWF4KFxuICAgIE1BSUFfSU5QVVRfRURJVE9SX01JTl9IRUlHSFRfUFgsXG4gICAgTUFJQV9JTlBVVF9XUkFQUEVSX01BWF9IRUlHSFRfUFggLVxuICAgICAgTUFJQV9JTlBVVF9XUkFQUEVSX1BBRERJTkdfWV9QWCAtXG4gICAgICBjaGlwc0Jsb2NrIC1cbiAgICAgIE1BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYIC1cbiAgICAgIHRvb2xiYXJCbG9ja1xuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBTyxJQUFNQSxnQ0FBZ0MsR0FBRyxHQUFHO0FBQ25EO0FBQ0EsT0FBTyxJQUFNQywrQkFBK0IsR0FBRyxFQUFFO0FBQ2pEO0FBQ0EsT0FBTyxJQUFNQywwQkFBMEIsR0FBRyxDQUFDO0FBQzNDO0FBQ0EsT0FBTyxJQUFNQyxnQ0FBZ0MsR0FBRyxFQUFFO0FBQ2xEO0FBQ0EsT0FBTyxJQUFNQywrQkFBK0IsR0FBRyxFQUFFOztBQUVqRDtBQUNBLE9BQU8sSUFBTUMsd0NBQXdDLEdBQ25ETCxnQ0FBZ0MsR0FDaENDLCtCQUErQixHQUMvQkMsMEJBQTBCLEdBQzFCQyxnQ0FBZ0M7QUFPbEM7QUFDQSxPQUFPLElBQU1HLDJCQUEyQixHQUFHLFNBQTlCQSwyQkFBMkJBLENBQUFDLElBQUEsRUFHSjtFQUFBLElBRmxDQyxnQkFBZ0IsR0FBQUQsSUFBQSxDQUFoQkMsZ0JBQWdCO0lBQUFDLHFCQUFBLEdBQUFGLElBQUEsQ0FDaEJHLGtCQUFrQjtJQUFsQkEsa0JBQWtCLEdBQUFELHFCQUFBLGNBQUdOLGdDQUFnQyxHQUFBTSxxQkFBQTtFQUVyRCxJQUFNRSxVQUFVLEdBQUdILGdCQUFnQixHQUFHLENBQUMsR0FBR04sMEJBQTBCLEdBQUdNLGdCQUFnQixHQUFHLENBQUM7RUFDM0YsSUFBTUksWUFBWSxHQUFHQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0osa0JBQWtCLEVBQUVQLGdDQUFnQyxDQUFDO0VBRW5GLE9BQU9VLElBQUksQ0FBQ0MsR0FBRyxDQUNiViwrQkFBK0IsRUFDL0JKLGdDQUFnQyxHQUM5QkMsK0JBQStCLEdBQy9CVSxVQUFVLEdBQ1ZULDBCQUEwQixHQUMxQlUsWUFDSixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -4,6 +4,7 @@ import colors from '@projectcor/theme/lib/base/colors';
4
4
  import { BLUE_IA_COLORS, MAIA_CHAT_INPUT_UI } from '../../../styles/config';
5
5
  import { scrollableStyles } from '../../../styles/shared/scrollable';
6
6
  import { ClearButton } from '../ClearButton';
7
+ import { MAIA_INPUT_INTERNAL_GAP_PX, MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX } from './maiaInputLayout';
7
8
  export var flow = keyframes(["0%{background-position:0% 0%,0% 50%;}50%{background-position:0% 0%,100% 50%;}100%{background-position:0% 0%,0% 50%;}"]);
8
9
  var activeToolChipCloseIconIn = keyframes(["from{opacity:0.55;transform:scale(0.82);}to{opacity:1;transform:scale(1);}"]);
9
10
  var activeToolChipOut = keyframes(["from{opacity:1;transform:scale(1) translateY(0);}to{opacity:0;transform:scale(0.92) translateY(3px);}"]);
@@ -11,149 +12,164 @@ var customInputStyles = css(["outline:none;background:linear-gradient(white,whit
11
12
  export var StyledMAIAInputWrapper = styled.div.withConfig({
12
13
  displayName: "styles__StyledMAIAInputWrapper",
13
14
  componentId: "sc-cs6u9w-0"
14
- })(["box-sizing:border-box;width:100%;border-radius:8px;transition:border-color 0.2s ease,box-shadow 0.2s ease;padding:12px;cursor:", ";display:flex;min-height:58px;gap:", ";flex-direction:column;border:1px solid ", ";box-shadow:none;&:focus-within{", "}", ""], function (_ref) {
15
+ })(["box-sizing:border-box;width:100%;border-radius:8px;transition:border-color 0.2s ease,box-shadow 0.2s ease;padding:8px 12px;cursor:", ";display:flex;min-height:58px;max-height:", "px;gap:", "px;flex-direction:column;align-items:flex-start;overflow:hidden;border:1px solid ", ";box-shadow:none;&:focus-within{", "}", ""], function (_ref) {
15
16
  var disabled = _ref.disabled;
16
17
  return disabled ? 'not-allowed' : 'auto';
17
- }, function (_ref2) {
18
- var alignButtons = _ref2.alignButtons;
19
- return alignButtons === 'vertical' ? '8px' : '0';
20
- }, colors.text.disabled, customInputStyles, function (_ref3) {
21
- var hasAttachments = _ref3.hasAttachments;
18
+ }, MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX, MAIA_INPUT_INTERNAL_GAP_PX, colors.text.disabled, customInputStyles, function (_ref2) {
19
+ var hasAttachments = _ref2.hasAttachments;
22
20
  return hasAttachments && css(["", ""], customInputStyles);
23
21
  });
22
+
23
+ /** Toolbar fija en 2 filas: input arriba, + / send abajo (toolbar no scrollea). */
24
24
  export var StyledMAIAMainToolbarGrid = styled.div.withConfig({
25
25
  displayName: "styles__StyledMAIAMainToolbarGrid",
26
26
  componentId: "sc-cs6u9w-1"
27
- })(["display:grid;width:100%;", ""], function (_ref4) {
28
- var $compactRow = _ref4.$compactRow;
29
- return $compactRow ? css(["grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:32px;"]) : css(["grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:stretch;row-gap:8px;"]);
30
- });
27
+ })(["display:grid;width:100%;grid-template-columns:auto 1fr auto;grid-template-rows:minmax(0,auto) auto;align-items:stretch;row-gap:", "px;align-self:stretch;flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden;"], MAIA_INPUT_INTERNAL_GAP_PX);
28
+
29
+ /** Celda del editor (el scroll vive en el contenteditable). */
30
+ export var SCInputEditorCell = styled.div.withConfig({
31
+ displayName: "styles__SCInputEditorCell",
32
+ componentId: "sc-cs6u9w-2"
33
+ })(["grid-column:1 / -1;grid-row:1;min-width:0;min-height:0;overflow:hidden;"]);
34
+
35
+ /** Fila compartida: chip de contexto + chips de attachments (wrap). */
36
+ export var SCInputChipsRow = styled.div.withConfig({
37
+ displayName: "styles__SCInputChipsRow",
38
+ componentId: "sc-cs6u9w-3"
39
+ })(["display:flex;align-items:flex-start;align-content:flex-start;gap:4px;align-self:stretch;flex-wrap:wrap;flex-shrink:0;min-width:0;"]);
40
+
41
+ /** Fila inferior de botones: siempre visible, nunca scrollea con el texto. */
42
+ export var SCInputToolbarRow = styled.div.withConfig({
43
+ displayName: "styles__SCInputToolbarRow",
44
+ componentId: "sc-cs6u9w-4"
45
+ })(["grid-column:1 / -1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;flex-shrink:0;min-height:0;"]);
31
46
  export var StyledMAIAPlusToolbarCell = styled.div.withConfig({
32
47
  displayName: "styles__StyledMAIAPlusToolbarCell",
33
- componentId: "sc-cs6u9w-2"
34
- })(["display:flex;align-items:center;grid-column:1;justify-self:start;", " ", ""], function (_ref5) {
35
- var $compactRow = _ref5.$compactRow;
36
- return !$compactRow && css(["grid-row:2;"]);
37
- }, function (_ref6) {
38
- var $compactRow = _ref6.$compactRow;
39
- return $compactRow && css(["grid-row:1;"]);
40
- });
48
+ componentId: "sc-cs6u9w-5"
49
+ })(["display:flex;align-items:center;justify-self:start;flex-shrink:0;"]);
41
50
  export var StyledMAIASendToolbarCell = styled.div.withConfig({
42
51
  displayName: "styles__StyledMAIASendToolbarCell",
43
- componentId: "sc-cs6u9w-3"
44
- })(["display:flex;align-items:center;grid-column:3;justify-self:end;", " ", ""], function (_ref7) {
45
- var $compactRow = _ref7.$compactRow;
46
- return !$compactRow && css(["grid-row:2;"]);
47
- }, function (_ref8) {
48
- var $compactRow = _ref8.$compactRow;
49
- return $compactRow && css(["grid-row:1;"]);
50
- });
52
+ componentId: "sc-cs6u9w-6"
53
+ })(["display:flex;align-items:center;gap:8px;justify-self:end;flex-shrink:0;margin-left:auto;"]);
54
+
55
+ /** Indicadores a la izquierda del send (acceso COR / modelo) para agentes custom. */
56
+ export var SCInputMetaIndicators = styled.div.withConfig({
57
+ displayName: "styles__SCInputMetaIndicators",
58
+ componentId: "sc-cs6u9w-7"
59
+ })(["display:flex;align-items:center;gap:8px;flex-shrink:0;"]);
60
+ export var SCInputMetaIconButton = styled.span.withConfig({
61
+ displayName: "styles__SCInputMetaIconButton",
62
+ componentId: "sc-cs6u9w-8"
63
+ })(["display:flex;width:30px;height:30px;padding:0;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;background:", ";box-sizing:border-box;cursor:default;transition:background-color 0.15s ease;&:hover{background:", ";}"], colors.white.main, MAIA_CHAT_INPUT_UI.chipSurfaceHover);
51
64
  export var StyledMAIAInput = styled.textarea.withConfig({
52
65
  displayName: "styles__StyledMAIAInput",
53
- componentId: "sc-cs6u9w-4"
54
- })(["", " width:100%;font-size:14px;padding:0;resize:none;position:relative;background:transparent;border:none;outline:none;min-height:20px;max-height:120px;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&::placeholder{color:", ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}", " ", ""], scrollableStyles, colors.text.secondary, function (_ref9) {
55
- var $toolbarLayoutVariant = _ref9.$toolbarLayoutVariant;
56
- return $toolbarLayoutVariant === 'compactRow' && css(["grid-column:2;grid-row:1;align-self:center;min-width:0;line-height:20px;&::placeholder{font-style:italic;letter-spacing:-0.21px;}"]);
57
- }, function (_ref0) {
58
- var $toolbarLayoutVariant = _ref0.$toolbarLayoutVariant;
59
- return $toolbarLayoutVariant === 'stackedRows' && css(["grid-column:1 / -1;grid-row:1;min-width:0;line-height:20px;&::placeholder{font-style:italic;letter-spacing:-0.21px;}"]);
60
- });
66
+ componentId: "sc-cs6u9w-9"
67
+ })(["", " width:100%;font-size:14px;padding:0;resize:none;position:relative;background:transparent;border:none;outline:none;min-height:20px;max-height:170px;grid-column:1 / -1;grid-row:1;min-width:0;line-height:20px;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&::placeholder{color:", ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic;letter-spacing:-0.21px;}"], scrollableStyles, colors.text.secondary);
61
68
  export var StyledMAIASendButton = styled(ClearButton).withConfig({
62
69
  displayName: "styles__StyledMAIASendButton",
63
- componentId: "sc-cs6u9w-5"
64
- })(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{background-color:", " !important;}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;g *{fill:white !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (_ref1) {
65
- var hasValues = _ref1.hasValues;
70
+ componentId: "sc-cs6u9w-10"
71
+ })(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{background-color:", " !important;}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;path{stroke:white !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (_ref3) {
72
+ var hasValues = _ref3.hasValues;
66
73
  return hasValues ? "".concat(BLUE_IA_COLORS[500]) : '#f2f2f2';
67
- }, function (_ref10) {
68
- var hasValues = _ref10.hasValues;
69
- return hasValues && css(["g *{fill:white !important;}"]);
70
- }, BLUE_IA_COLORS[700], function (_ref11) {
71
- var hasValues = _ref11.hasValues;
72
- return !hasValues && css(["svg *{fill:", " !important;}"], colors.text.disabled);
74
+ }, function (_ref4) {
75
+ var hasValues = _ref4.hasValues;
76
+ return hasValues && css(["path{stroke:white !important;}"]);
77
+ }, BLUE_IA_COLORS[700], function (_ref5) {
78
+ var hasValues = _ref5.hasValues;
79
+ return !hasValues && css(["svg path{stroke:", " !important;}"], colors.text.disabled);
73
80
  });
74
81
  export var SCMIWrapperAttachments = styled.div.withConfig({
75
82
  displayName: "styles__SCMIWrapperAttachments",
76
- componentId: "sc-cs6u9w-6"
83
+ componentId: "sc-cs6u9w-11"
77
84
  })(["display:flex;gap:12px;align-items:center;"]);
78
- export var SCMIAttachmentDeleteIcon = styled.div.withConfig({
85
+ export var SCMIAttachmentDeleteOverlay = styled.div.withConfig({
86
+ displayName: "styles__SCMIAttachmentDeleteOverlay",
87
+ componentId: "sc-cs6u9w-12"
88
+ })(["position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:linear-gradient(270deg,#f2f2f2 23.08%,rgba(242,242,242,0) 100%);opacity:0;pointer-events:none;transition:opacity 0.2s ease;"]);
89
+ export var SCMIAttachmentDeleteIcon = styled.button.withConfig({
79
90
  displayName: "styles__SCMIAttachmentDeleteIcon",
80
- componentId: "sc-cs6u9w-7"
81
- })(["position:absolute;display:none;justify-content:center;align-items:center;top:0;right:0;padding:2px;border-radius:50%;&:hover{background-color:#e6e6e6;svg *:not(.no-fill){fill:#666666 !important;}}"]);
91
+ componentId: "sc-cs6u9w-13"
92
+ })(["position:absolute;top:50%;right:4px;z-index:1;display:flex;width:14px;height:14px;padding:0;margin:0;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:#666666;line-height:0;opacity:0;pointer-events:none;cursor:pointer;transform:translateY(-50%);transition:opacity 0.2s ease;svg{display:block;transition:transform 0.2s ease;}&:hover svg{transform:scale(1.06);}"]);
82
93
  export var SCMIAttachment = styled.div.withConfig({
83
94
  displayName: "styles__SCMIAttachment",
84
- componentId: "sc-cs6u9w-8"
85
- })(["display:flex;justify-content:center;align-items:center;border:1px solid rgba(191,191,191,1);border-radius:6px;cursor:pointer;position:relative;padding:13px;", " &:hover{", "{display:flex;}}"], function (_ref12) {
86
- var isImage = _ref12.isImage;
87
- return isImage && css(["padding:0px !important;"]);
88
- }, SCMIAttachmentDeleteIcon);
95
+ componentId: "sc-cs6u9w-14"
96
+ })(["display:flex;position:relative;height:24px;max-width:118px;padding:6px;align-items:center;gap:2px;border-radius:20px;background:#f9f9f9;box-sizing:border-box;min-width:0;overflow:hidden;cursor:default;transition:background-color 0.2s ease;&:hover{background:#f2f2f2;", "{opacity:1;}", "{opacity:1;pointer-events:auto;}}"], SCMIAttachmentDeleteOverlay, SCMIAttachmentDeleteIcon);
97
+ export var SCMIAttachmentIcon = styled.span.withConfig({
98
+ displayName: "styles__SCMIAttachmentIcon",
99
+ componentId: "sc-cs6u9w-15"
100
+ })(["display:flex;width:13px;height:13px;flex-shrink:0;align-items:center;justify-content:center;svg,img{width:13px;height:13px;display:block;}"]);
101
+ export var SCMIAttachmentName = styled.span.withConfig({
102
+ displayName: "styles__SCMIAttachmentName",
103
+ componentId: "sc-cs6u9w-16"
104
+ })(["flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666666;font-family:'Work Sans',sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0;"]);
89
105
  export var PlusMenuToolsRow = styled.div.withConfig({
90
106
  displayName: "styles__PlusMenuToolsRow",
91
- componentId: "sc-cs6u9w-9"
107
+ componentId: "sc-cs6u9w-17"
92
108
  })(["display:flex;align-items:center;gap:8px;"]);
93
109
  export var PlusToggleButton = styled.button.withConfig({
94
110
  displayName: "styles__PlusToggleButton",
95
- componentId: "sc-cs6u9w-10"
96
- })(["display:flex;width:32px;height:32px;box-sizing:border-box;padding:0;justify-content:center;align-items:center;border:none;border-radius:8px;background:", ";cursor:pointer;flex-shrink:0;&:hover{background:", ";}&:focus-visible{outline:2px solid ", ";outline-offset:2px;}"], function (_ref13) {
97
- var $menuOpen = _ref13.$menuOpen;
98
- return $menuOpen ? colors.background.secondary : colors.white.main;
99
- }, colors.background.secondary, BLUE_IA_COLORS[500]);
111
+ componentId: "sc-cs6u9w-18"
112
+ })(["display:flex;width:32px;height:32px;box-sizing:border-box;padding:0;justify-content:center;align-items:center;border:none;border-radius:8px;background:", ";cursor:pointer;flex-shrink:0;&:hover:not(:disabled),&:focus-visible:not(:disabled){background:#f2f2f2;}&:disabled{cursor:not-allowed;opacity:0.5;}&:focus-visible{outline:none;}"], function (_ref6) {
113
+ var $menuOpen = _ref6.$menuOpen;
114
+ return $menuOpen ? '#f2f2f2' : colors.white.main;
115
+ });
100
116
  export var PlusMenuPaper = styled.div.withConfig({
101
117
  displayName: "styles__PlusMenuPaper",
102
- componentId: "sc-cs6u9w-11"
118
+ componentId: "sc-cs6u9w-19"
103
119
  })(["display:flex;flex-direction:column;align-items:stretch;width:209px;box-sizing:border-box;padding:12px 8px;border-radius:4px;border:1px solid ", ";background:", ";box-shadow:0 1px 4px rgba(0,0,0,0.08),0 1px 4px rgba(0,0,0,0.04);"], colors.colors.gray.light, colors.white.main);
104
120
  export var PlusMenuInnerColumn = styled.div.withConfig({
105
121
  displayName: "styles__PlusMenuInnerColumn",
106
- componentId: "sc-cs6u9w-12"
122
+ componentId: "sc-cs6u9w-20"
107
123
  })(["display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;align-self:stretch;"]);
108
124
  export var PlusMenuDivider = styled.div.withConfig({
109
125
  displayName: "styles__PlusMenuDivider",
110
- componentId: "sc-cs6u9w-13"
126
+ componentId: "sc-cs6u9w-21"
111
127
  })(["width:170px;height:1px;background:", ";flex-shrink:0;"], colors.colors.gray.light);
112
128
  export var PlusMenuItemButton = styled.button.withConfig({
113
129
  displayName: "styles__PlusMenuItemButton",
114
- componentId: "sc-cs6u9w-14"
130
+ componentId: "sc-cs6u9w-22"
115
131
  })(["display:flex;width:100%;padding:8px;align-items:center;gap:8px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-family:inherit;text-align:left;box-sizing:border-box;&:hover{background:", ";}&:focus-visible{outline:2px solid ", ";outline-offset:-2px;}"], colors.background.secondary, BLUE_IA_COLORS[500]);
116
132
  export var PlusMenuItemLabel = styled.span.withConfig({
117
133
  displayName: "styles__PlusMenuItemLabel",
118
- componentId: "sc-cs6u9w-15"
119
- })(["flex:1;min-width:0;color:", ";font-size:14px;font-weight:400;line-height:20px;"], function (_ref14) {
120
- var $selected = _ref14.$selected;
121
- return $selected ? MAIA_CHAT_INPUT_UI.textBrandBold : colors.text.primary;
122
- });
134
+ componentId: "sc-cs6u9w-23"
135
+ })(["flex:1;min-width:0;color:", ";font-size:14px;font-weight:400;line-height:20px;"], MAIA_CHAT_INPUT_UI.menuIcon);
123
136
  export var ActiveToolChipRoot = styled.div.withConfig({
124
137
  displayName: "styles__ActiveToolChipRoot",
125
- componentId: "sc-cs6u9w-16"
126
- })(["display:flex;max-width:144px;padding:4px 8px;align-items:center;gap:2px;box-sizing:border-box;cursor:default;border-radius:", ";background:", ";box-shadow:", ";transition:background-color 0.22s ease,border-radius 0.22s ease,box-shadow 0.22s ease;", ""], function (_ref15) {
127
- var $hovered = _ref15.$hovered;
138
+ componentId: "sc-cs6u9w-24"
139
+ })(["display:flex;max-width:144px;padding:4px 8px;align-items:center;gap:2px;box-sizing:border-box;cursor:default;border-radius:", ";background:", ";box-shadow:", ";transition:background-color 0.22s ease,border-radius 0.22s ease,box-shadow 0.22s ease;", ""], function (_ref7) {
140
+ var $hovered = _ref7.$hovered;
128
141
  return $hovered ? '16px' : '0';
129
- }, function (_ref16) {
130
- var $hovered = _ref16.$hovered;
142
+ }, function (_ref8) {
143
+ var $hovered = _ref8.$hovered;
131
144
  return $hovered ? MAIA_CHAT_INPUT_UI.chipSurfaceHover : 'transparent';
132
- }, function (_ref17) {
133
- var $hovered = _ref17.$hovered;
145
+ }, function (_ref9) {
146
+ var $hovered = _ref9.$hovered;
134
147
  return $hovered ? '0 1px 3px rgba(0, 0, 0, 0.07)' : 'none';
135
- }, function (_ref18) {
136
- var $exiting = _ref18.$exiting;
148
+ }, function (_ref0) {
149
+ var $exiting = _ref0.$exiting;
137
150
  return $exiting && css(["pointer-events:none;animation:", " 0.22s ease forwards;"], activeToolChipOut);
138
151
  });
139
152
  export var ActiveToolChipIconButton = styled.button.withConfig({
140
153
  displayName: "styles__ActiveToolChipIconButton",
141
- componentId: "sc-cs6u9w-17"
142
- })(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:transform 0.2s ease;svg{display:block;}", " &:hover{transform:scale(1.06);}&:focus-visible{outline:2px solid ", ";outline-offset:1px;}"], function (_ref19) {
143
- var $closeShown = _ref19.$closeShown;
154
+ componentId: "sc-cs6u9w-25"
155
+ })(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:transform 0.2s ease;svg{display:block;}", " &:hover{", "}&:focus-visible{outline:2px solid ", ";outline-offset:1px;}"], function (_ref1) {
156
+ var $closeShown = _ref1.$closeShown;
144
157
  return $closeShown && css(["svg{animation:", " 0.24s ease forwards;}"], activeToolChipCloseIconIn);
158
+ }, function (_ref10) {
159
+ var $closeShown = _ref10.$closeShown;
160
+ return $closeShown && css(["transform:scale(1.06);"]);
145
161
  }, BLUE_IA_COLORS[500]);
146
162
  export var ActiveToolChipLabel = styled.span.withConfig({
147
163
  displayName: "styles__ActiveToolChipLabel",
148
- componentId: "sc-cs6u9w-18"
164
+ componentId: "sc-cs6u9w-26"
149
165
  })(["color:", ";font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;user-select:none;"], colors.text.primary);
150
166
  var stopPulse = keyframes(["0%,100%{transform:scale(1);}50%{transform:scale(0.9);}"]);
151
167
  export var StyledMAIAStopIcon = styled.div.withConfig({
152
168
  displayName: "styles__StyledMAIAStopIcon",
153
- componentId: "sc-cs6u9w-19"
169
+ componentId: "sc-cs6u9w-27"
154
170
  })(["width:13px;height:13px;background-color:#8c8c8c;border-radius:2px;animation:", " 1.6s ease-in-out infinite;"], stopPulse);
155
171
  export var StyledMAIAStopButton = styled.button.withConfig({
156
172
  displayName: "styles__StyledMAIAStopButton",
157
- componentId: "sc-cs6u9w-20"
173
+ componentId: "sc-cs6u9w-28"
158
174
  })(["background:none;border:none;padding:0;font:inherit;background-color:#f2f2f2 !important;height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;&:hover{background-color:", " !important;", "{background-color:", " !important;}}&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;opacity:0.6;}"], BLUE_IA_COLORS[50], StyledMAIAStopIcon, BLUE_IA_COLORS[500]);
159
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsImZsb3ciLCJhY3RpdmVUb29sQ2hpcENsb3NlSWNvbkluIiwiYWN0aXZlVG9vbENoaXBPdXQiLCJjdXN0b21JbnB1dFN0eWxlcyIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJkaXNhYmxlZCIsIl9yZWYyIiwiYWxpZ25CdXR0b25zIiwidGV4dCIsIl9yZWYzIiwiaGFzQXR0YWNobWVudHMiLCJTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkIiwiX3JlZjQiLCIkY29tcGFjdFJvdyIsIlN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwiLCJfcmVmNSIsIl9yZWY2IiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIl9yZWY3IiwiX3JlZjgiLCJTdHlsZWRNQUlBSW5wdXQiLCJ0ZXh0YXJlYSIsInNlY29uZGFyeSIsIl9yZWY5IiwiJHRvb2xiYXJMYXlvdXRWYXJpYW50IiwiX3JlZjAiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWYxIiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjEwIiwiX3JlZjExIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50cyIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50IiwiX3JlZjEyIiwiaXNJbWFnZSIsIlBsdXNNZW51VG9vbHNSb3ciLCJQbHVzVG9nZ2xlQnV0dG9uIiwiYnV0dG9uIiwiX3JlZjEzIiwiJG1lbnVPcGVuIiwiYmFja2dyb3VuZCIsIndoaXRlIiwibWFpbiIsIlBsdXNNZW51UGFwZXIiLCJncmF5IiwibGlnaHQiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVEaXZpZGVyIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJzcGFuIiwiX3JlZjE0IiwiJHNlbGVjdGVkIiwidGV4dEJyYW5kQm9sZCIsInByaW1hcnkiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJfcmVmMTUiLCIkaG92ZXJlZCIsIl9yZWYxNiIsImNoaXBTdXJmYWNlSG92ZXIiLCJfcmVmMTciLCJfcmVmMTgiLCIkZXhpdGluZyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIl9yZWYxOSIsIiRjbG9zZVNob3duIiwiQWN0aXZlVG9vbENoaXBMYWJlbCIsInN0b3BQdWxzZSIsIlN0eWxlZE1BSUFTdG9wSWNvbiIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG5pbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTLCBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgc2Nyb2xsYWJsZVN0eWxlcyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zaGFyZWQvc2Nyb2xsYWJsZSdcbmltcG9ydCB7IENsZWFyQnV0dG9uIH0gZnJvbSAnLi4vQ2xlYXJCdXR0b24nXG5cbmV4cG9ydCBjb25zdCBmbG93ID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMTAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgyKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwT3V0ID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTIpIHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0ZDM1NjkgMCUsICM4NzQwYmYgNTkuNjIlLCAjMmQ3N2JkIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6XG4gICAgMTAwJSAxMDAlLFxuICAgIDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG4gIGJveC1zaGFkb3c6XG4gICAgM3B4IDRweCAxNHB4IDAgcmdiYSgxMzUsIDY0LCAxOTEsIDAuMTUpLFxuICAgIC0zcHggLTRweCAxNHB4IDAgcmdiYSg0NSwgMTE5LCAxODksIDAuMTUpO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAvKiogRXN0YWRvIGluaWNpYWw6IHRvb2xiYXIgZW4gdW5hIHNvbGEgbMOtbmVhIHNpbiBhZGp1bnRvcyBuaSB0b29scyBkZWwgKyBuaSBtdWx0aWxpbmUgKi9cbiAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXI/OiBib29sZWFuXG59PmBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBjdXJzb3I6ICR7KHsgZGlzYWJsZWQgfSkgPT4gKGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdhdXRvJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiBVbiBzb2xvIGZsb29yIGNvbXBhY3Qvc3RhY2tlZCBwYXJhIHF1ZSBhbCBwYXNhciBhIG11bHRpbGluZSBubyBjYW1iaWUgZWwgbWluLWhlaWdodCBkZWwgY29udGVuZWRvciBkZSBnb2xwZSAqL1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBnYXA6ICR7KHsgYWxpZ25CdXR0b25zIH0pID0+IChhbGlnbkJ1dHRvbnMgPT09ICd2ZXJ0aWNhbCcgPyAnOHB4JyA6ICcwJyl9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9O1xuICBib3gtc2hhZG93OiBub25lO1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICB9XG5cbiAgJHsoeyBoYXNBdHRhY2htZW50cyB9KSA9PlxuICAgIGhhc0F0dGFjaG1lbnRzICYmXG4gICAgY3NzYFxuICAgICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdFJvdzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJHsoeyAkY29tcGFjdFJvdyB9KSA9PlxuICAgICRjb21wYWN0Um93XG4gICAgICA/IGNzc2BcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgICAgICBgXG4gICAgICA6IGNzc2BcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgcm93LWdhcDogOHB4O1xuICAgICAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdFJvdzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG5cbiAgJHsoeyAkY29tcGFjdFJvdyB9KSA9PlxuICAgICEkY29tcGFjdFJvdyAmJlxuICAgIGNzc2BcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgIGB9XG5cbiAgJHsoeyAkY29tcGFjdFJvdyB9KSA9PlxuICAgICRjb21wYWN0Um93ICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwgPSBzdHlsZWQuZGl2PHsgJGNvbXBhY3RSb3c6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdyaWQtY29sdW1uOiAzO1xuICBqdXN0aWZ5LXNlbGY6IGVuZDtcblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgISRjb21wYWN0Um93ICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgYH1cblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgJGNvbXBhY3RSb3cgJiZcbiAgICBjc3NgXG4gICAgICBncmlkLXJvdzogMTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0ID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgYWxpZ25CdXR0b25zPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICAkdG9vbGJhckxheW91dFZhcmlhbnQ/OiAnY29tcGFjdFJvdycgfCAnc3RhY2tlZFJvd3MnXG59PmBcbiAgJHtzY3JvbGxhYmxlU3R5bGVzfVxuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAwO1xuICByZXNpemU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgbWF4LWhlaWdodDogMTIwcHg7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAkeyh7ICR0b29sYmFyTGF5b3V0VmFyaWFudCB9KSA9PlxuICAgICR0b29sYmFyTGF5b3V0VmFyaWFudCA9PT0gJ2NvbXBhY3RSb3cnICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gICAgICB9XG4gICAgYH1cblxuICAkeyh7ICR0b29sYmFyTGF5b3V0VmFyaWFudCB9KSA9PlxuICAgICR0b29sYmFyTGF5b3V0VmFyaWFudCA9PT0gJ3N0YWNrZWRSb3dzJyAmJlxuICAgIGNzc2BcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kQnV0dG9uID0gc3R5bGVkKENsZWFyQnV0dG9uKTx7IGhhc1ZhbHVlcz86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzVmFsdWVzIH0pID0+IChoYXNWYWx1ZXMgPyBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWAgOiAnI2YyZjJmMicpfTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICBoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZyAqIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s3MDBdfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICBzdmcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgIGcgKiB7XG4gICAgICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcblxuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICAhaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBmaWxsOiAke2NvbG9ycy50ZXh0LmRpc2FibGVkfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJBdHRhY2htZW50cyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudERlbGV0ZUljb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBzdmcgKjpub3QoLm5vLWZpbGwpIHtcbiAgICAgIGZpbGw6ICM2NjY2NjYgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50ID0gc3R5bGVkLmRpdjx7IGlzSW1hZ2U/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTEsIDE5MSwgMTkxLCAxKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTNweDtcbiAgJHsoeyBpc0ltYWdlIH0pID0+XG4gICAgaXNJbWFnZSAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIGB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHtTQ01JQXR0YWNobWVudERlbGV0ZUljb259IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudVRvb2xzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzVG9nZ2xlQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICRtZW51T3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRtZW51T3BlbiB9KSA9PiAoJG1lbnVPcGVuID8gY29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5IDogY29sb3JzLndoaXRlLm1haW4pfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2NvbG9ycy5iYWNrZ3JvdW5kLnNlY29uZGFyeX07XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51UGFwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDIwOXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy5jb2xvcnMuZ3JheS5saWdodH07XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLndoaXRlLm1haW59O1xuICBib3gtc2hhZG93OlxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJbm5lckNvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51RGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUl0ZW1CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7Y29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SXRlbUxhYmVsID0gc3R5bGVkLnNwYW48eyAkc2VsZWN0ZWQ6IGJvb2xlYW4gfT5gXG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgY29sb3I6ICR7KHsgJHNlbGVjdGVkIH0pID0+ICgkc2VsZWN0ZWQgPyBNQUlBX0NIQVRfSU5QVVRfVUkudGV4dEJyYW5kQm9sZCA6IGNvbG9ycy50ZXh0LnByaW1hcnkpfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwUm9vdCA9IHN0eWxlZC5kaXY8eyAkaG92ZXJlZDogYm9vbGVhbjsgJGV4aXRpbmc6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTQ0cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gJzE2cHgnIDogJzAnKX07XG4gIGJhY2tncm91bmQ6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gTUFJQV9DSEFUX0lOUFVUX1VJLmNoaXBTdXJmYWNlSG92ZXIgOiAndHJhbnNwYXJlbnQnKX07XG4gIGJveC1zaGFkb3c6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gJzAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDcpJyA6ICdub25lJyl9O1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4yMnMgZWFzZSxcbiAgICBib3JkZXItcmFkaXVzIDAuMjJzIGVhc2UsXG4gICAgYm94LXNoYWRvdyAwLjIycyBlYXNlO1xuXG4gICR7KHsgJGV4aXRpbmcgfSkgPT5cbiAgICAkZXhpdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYW5pbWF0aW9uOiAke2FjdGl2ZVRvb2xDaGlwT3V0fSAwLjIycyBlYXNlIGZvcndhcmRzO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBBY3RpdmVUb29sQ2hpcEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGNsb3NlU2hvd246IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgJGNsb3NlU2hvd24gJiZcbiAgICBjc3NgXG4gICAgICBzdmcge1xuICAgICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBDbG9zZUljb25Jbn0gMC4yNHMgZWFzZSBmb3J3YXJkcztcbiAgICAgIH1cbiAgICBgfVxuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuYFxuY29uc3Qgc3RvcFB1bHNlID0ga2V5ZnJhbWVzYFxuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzhjOGM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYW5pbWF0aW9uOiAke3N0b3BQdWxzZX0gMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19ICFpbXBvcnRhbnQ7XG5cbiAgICAke1N0eWxlZE1BSUFTdG9wSWNvbn0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsU0FBU0MsY0FBYyxFQUFFQyxrQkFBa0IsUUFBUSx3QkFBd0I7QUFDM0UsU0FBU0MsZ0JBQWdCLFFBQVEsbUNBQW1DO0FBQ3BFLFNBQVNDLFdBQVcsUUFBUSxnQkFBZ0I7QUFFNUMsT0FBTyxJQUFNQyxJQUFJLEdBQUdOLFNBQVMsMEhBZ0I1QjtBQUVELElBQU1PLHlCQUF5QixHQUFHUCxTQUFTLGdGQVMxQztBQUVELElBQU1RLGlCQUFpQixHQUFHUixTQUFTLDJHQVNsQztBQUVELElBQU1TLGlCQUFpQixHQUFHVixHQUFHLHlVQVNkTyxJQUFJLENBSWxCO0FBRUQsT0FBTyxJQUFNSSxzQkFBc0IsR0FBR1osTUFBTSxDQUFDYSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc1FBY3BDLFVBQUFDLElBQUE7RUFBQSxJQUFHQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRyxhQUFhLEdBQUcsTUFBTTtBQUFBLENBQUMsRUFJeEQsVUFBQUMsS0FBQTtFQUFBLElBQUdDLFlBQVksR0FBQUQsS0FBQSxDQUFaQyxZQUFZO0VB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
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsIk1BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYIiwiTUFJQV9JTlBVVF9XUkFQUEVSX01BWF9IRUlHSFRfUFgiLCJmbG93IiwiYWN0aXZlVG9vbENoaXBDbG9zZUljb25JbiIsImFjdGl2ZVRvb2xDaGlwT3V0IiwiY3VzdG9tSW5wdXRTdHlsZXMiLCJTdHlsZWRNQUlBSW5wdXRXcmFwcGVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiZGlzYWJsZWQiLCJ0ZXh0IiwiX3JlZjIiLCJoYXNBdHRhY2htZW50cyIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTQ0lucHV0RWRpdG9yQ2VsbCIsIlNDSW5wdXRDaGlwc1JvdyIsIlNDSW5wdXRUb29sYmFyUm93IiwiU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwiLCJTQ0lucHV0TWV0YUluZGljYXRvcnMiLCJTQ0lucHV0TWV0YUljb25CdXR0b24iLCJzcGFuIiwid2hpdGUiLCJtYWluIiwiY2hpcFN1cmZhY2VIb3ZlciIsIlN0eWxlZE1BSUFJbnB1dCIsInRleHRhcmVhIiwic2Vjb25kYXJ5IiwiU3R5bGVkTUFJQVNlbmRCdXR0b24iLCJfcmVmMyIsImhhc1ZhbHVlcyIsImNvbmNhdCIsIl9yZWY0IiwiX3JlZjUiLCJTQ01JV3JhcHBlckF0dGFjaG1lbnRzIiwiU0NNSUF0dGFjaG1lbnREZWxldGVPdmVybGF5IiwiU0NNSUF0dGFjaG1lbnREZWxldGVJY29uIiwiYnV0dG9uIiwiU0NNSUF0dGFjaG1lbnQiLCJTQ01JQXR0YWNobWVudEljb24iLCJTQ01JQXR0YWNobWVudE5hbWUiLCJQbHVzTWVudVRvb2xzUm93IiwiUGx1c1RvZ2dsZUJ1dHRvbiIsIl9yZWY2IiwiJG1lbnVPcGVuIiwiUGx1c01lbnVQYXBlciIsImdyYXkiLCJsaWdodCIsIlBsdXNNZW51SW5uZXJDb2x1bW4iLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUl0ZW1CdXR0b24iLCJiYWNrZ3JvdW5kIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJtZW51SWNvbiIsIkFjdGl2ZVRvb2xDaGlwUm9vdCIsIl9yZWY3IiwiJGhvdmVyZWQiLCJfcmVmOCIsIl9yZWY5IiwiX3JlZjAiLCIkZXhpdGluZyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIl9yZWYxIiwiJGNsb3NlU2hvd24iLCJfcmVmMTAiLCJBY3RpdmVUb29sQ2hpcExhYmVsIiwicHJpbWFyeSIsInN0b3BQdWxzZSIsIlN0eWxlZE1BSUFTdG9wSWNvbiIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG5pbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTLCBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgc2Nyb2xsYWJsZVN0eWxlcyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zaGFyZWQvc2Nyb2xsYWJsZSdcbmltcG9ydCB7IENsZWFyQnV0dG9uIH0gZnJvbSAnLi4vQ2xlYXJCdXR0b24nXG5pbXBvcnQgeyBNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCwgTUFJQV9JTlBVVF9XUkFQUEVSX01BWF9IRUlHSFRfUFggfSBmcm9tICcuL21haWFJbnB1dExheW91dCdcblxuZXhwb3J0IGNvbnN0IGZsb3cgPSBrZXlmcmFtZXNgXG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAwJSA1MCU7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAxMDAlIDUwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAwJSA1MCU7XG4gIH1cbmBcblxuY29uc3QgYWN0aXZlVG9vbENoaXBDbG9zZUljb25JbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODIpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbmBcblxuY29uc3QgYWN0aXZlVG9vbENoaXBPdXQgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45MikgdHJhbnNsYXRlWSgzcHgpO1xuICB9XG5gXG5cbmNvbnN0IGN1c3RvbUlucHV0U3R5bGVzID0gY3NzYFxuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUpIHBhZGRpbmctYm94LFxuICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzRkMzU2OSAwJSwgIzg3NDBiZiA1OS42MiUsICMyZDc3YmQgMTAwJSkgYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTpcbiAgICAxMDAlIDEwMCUsXG4gICAgMjAwJSAxMDAlO1xuICBhbmltYXRpb246ICR7Zmxvd30gM3MgZWFzZSBpbmZpbml0ZTtcbiAgYm94LXNoYWRvdzpcbiAgICAzcHggNHB4IDE0cHggMCByZ2JhKDEzNSwgNjQsIDE5MSwgMC4xNSksXG4gICAgLTNweCAtNHB4IDE0cHggMCByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xNSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdjx7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBhbGlnbkJ1dHRvbnM/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gIGhhc0F0dGFjaG1lbnRzOiBib29sZWFuXG59PmBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgY3Vyc29yOiAkeyh7IGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAnYXV0bycpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgbWF4LWhlaWdodDogJHtNQUlBX0lOUFVUX1dSQVBQRVJfTUFYX0hFSUdIVF9QWH1weDtcbiAgZ2FwOiAke01BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYfXB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy50ZXh0LmRpc2FibGVkfTtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgfVxuXG4gICR7KHsgaGFzQXR0YWNobWVudHMgfSkgPT5cbiAgICBoYXNBdHRhY2htZW50cyAmJlxuICAgIGNzc2BcbiAgICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gICAgYH1cbmBcblxuLyoqIFRvb2xiYXIgZmlqYSBlbiAyIGZpbGFzOiBpbnB1dCBhcnJpYmEsICsgLyBzZW5kIGFiYWpvICh0b29sYmFyIG5vIHNjcm9sbGVhKS4gKi9cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMCwgYXV0bykgYXV0bztcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJvdy1nYXA6ICR7TUFJQV9JTlBVVF9JTlRFUk5BTF9HQVBfUFh9cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG4vKiogQ2VsZGEgZGVsIGVkaXRvciAoZWwgc2Nyb2xsIHZpdmUgZW4gZWwgY29udGVudGVkaXRhYmxlKS4gKi9cbmV4cG9ydCBjb25zdCBTQ0lucHV0RWRpdG9yQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIGdyaWQtcm93OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gXG5cbi8qKiBGaWxhIGNvbXBhcnRpZGE6IGNoaXAgZGUgY29udGV4dG8gKyBjaGlwcyBkZSBhdHRhY2htZW50cyAod3JhcCkuICovXG5leHBvcnQgY29uc3QgU0NJbnB1dENoaXBzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbi8qKiBGaWxhIGluZmVyaW9yIGRlIGJvdG9uZXM6IHNpZW1wcmUgdmlzaWJsZSwgbnVuY2Egc2Nyb2xsZWEgY29uIGVsIHRleHRvLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRUb29sYmFyUm93ID0gc3R5bGVkLmRpdmBcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXNocmluazogMDtcbiAgbWluLWhlaWdodDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbmBcblxuLyoqIEluZGljYWRvcmVzIGEgbGEgaXpxdWllcmRhIGRlbCBzZW5kIChhY2Nlc28gQ09SIC8gbW9kZWxvKSBwYXJhIGFnZW50ZXMgY3VzdG9tLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRNZXRhSW5kaWNhdG9ycyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDSW5wdXRNZXRhSWNvbkJ1dHRvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMud2hpdGUubWFpbn07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7TUFJQV9DSEFUX0lOUFVUX1VJLmNoaXBTdXJmYWNlSG92ZXJ9O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXQgPSBzdHlsZWQudGV4dGFyZWE8e1xuICBhbGlnbkJ1dHRvbnM/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnXG4gICR0b29sYmFyTGF5b3V0VmFyaWFudD86ICdzdGFja2VkUm93cydcbn0+YFxuICAke3Njcm9sbGFibGVTdHlsZXN9XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtYXgtaGVpZ2h0OiAxNzBweDtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU2VuZEJ1dHRvbiA9IHN0eWxlZChDbGVhckJ1dHRvbik8eyBoYXNWYWx1ZXM/OiBib29sZWFuIH0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGhhc1ZhbHVlcyB9KSA9PiAoaGFzVmFsdWVzID8gYCR7QkxVRV9JQV9DT0xPUlNbNTAwXX1gIDogJyNmMmYyZjInKX07XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAkeyh7IGhhc1ZhbHVlcyB9KSA9PlxuICAgICAgaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIHN0cm9rZTogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX0gIWltcG9ydGFudDtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG5cbiAgICAkeyh7IGhhc1ZhbHVlcyB9KSA9PlxuICAgICAgIWhhc1ZhbHVlcyAmJlxuICAgICAgY3NzYFxuICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiAke2NvbG9ycy50ZXh0LmRpc2FibGVkfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJBdHRhY2htZW50cyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50RGVsZXRlT3ZlcmxheSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjZjJmMmYyIDIzLjA4JSwgcmdiYSgyNDIsIDI0MiwgMjQyLCAwKSAxMDAlKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDRweDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzY2NjY2NjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICB9XG5cbiAgLyogU2NhbGUgc29sbyBhbCBob3ZlciBkZSBsYSBjcnV6LCBubyBkZWwgY2hpcCAqL1xuICAmOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiAxMThweDtcbiAgcGFkZGluZzogNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG5cbiAgICAke1NDTUlBdHRhY2htZW50RGVsZXRlT3ZlcmxheX0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAke1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbn0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnRJY29uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBzdmcsXG4gIGltZyB7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudVRvb2xzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzVG9nZ2xlQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICRtZW51T3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRtZW51T3BlbiB9KSA9PiAoJG1lbnVPcGVuID8gJyNmMmYyZjInIDogY29sb3JzLndoaXRlLm1haW4pfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzLXZpc2libGU6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVQYXBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMjA5cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMud2hpdGUubWFpbn07XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCksXG4gICAgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUlubmVyQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDE3MHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMuY29sb3JzLmdyYXkubGlnaHR9O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SXRlbUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYmFja2dyb3VuZC5zZWNvbmRhcnl9O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJdGVtTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBjb2xvcjogJHtNQUlBX0NIQVRfSU5QVVRfVUkubWVudUljb259O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBSb290ID0gc3R5bGVkLmRpdjx7ICRob3ZlcmVkOiBib29sZWFuOyAkZXhpdGluZzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxNDRweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMTZweCcgOiAnMCcpfTtcbiAgYmFja2dyb3VuZDogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyBNQUlBX0NIQVRfSU5QVVRfVUkuY2hpcFN1cmZhY2VIb3ZlciA6ICd0cmFuc3BhcmVudCcpfTtcbiAgYm94LXNoYWRvdzogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNyknIDogJ25vbmUnKX07XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjIycyBlYXNlLFxuICAgIGJvcmRlci1yYWRpdXMgMC4yMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMjJzIGVhc2U7XG5cbiAgJHsoeyAkZXhpdGluZyB9KSA9PlxuICAgICRleGl0aW5nICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBPdXR9IDAuMjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkY2xvc2VTaG93bjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICR7KHsgJGNsb3NlU2hvd24gfSkgPT5cbiAgICAkY2xvc2VTaG93biAmJlxuICAgIGNzc2BcbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogJHthY3RpdmVUb29sQ2hpcENsb3NlSWNvbklufSAwLjI0cyBlYXNlIGZvcndhcmRzO1xuICAgICAgfVxuICAgIGB9XG5cbiAgLyogU2NhbGUgc29sbyBjb24gbGEgY3J1eiB2aXNpYmxlIHkgaG92ZXIgc29icmUgZWxsYSAobm8gc29icmUgZWwgY2hpcC9pY29ubyBkZSB0b29sKSAqL1xuICAmOmhvdmVyIHtcbiAgICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgICAkY2xvc2VTaG93biAmJlxuICAgICAgY3NzYFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICAgICAgYH1cbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5gXG5jb25zdCBzdG9wUHVsc2UgPSBrZXlmcmFtZXNgXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjOGM4YztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBhbmltYXRpb246ICR7c3RvcFB1bHNlfSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcblxuICAgICR7U3R5bGVkTUFJQVN0b3BJY29ufSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxtQkFBbUI7QUFDMUQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxTQUFTQyxjQUFjLEVBQUVDLGtCQUFrQixRQUFRLHdCQUF3QjtBQUMzRSxTQUFTQyxnQkFBZ0IsUUFBUSxtQ0FBbUM7QUFDcEUsU0FBU0MsV0FBVyxRQUFRLGdCQUFnQjtBQUM1QyxTQUFTQywwQkFBMEIsRUFBRUMsZ0NBQWdDLFFBQVEsbUJBQW1CO0FBRWhHLE9BQU8sSUFBTUMsSUFBSSxHQUFHUixTQUFTLDBIQWdCNUI7QUFFRCxJQUFNUyx5QkFBeUIsR0FBR1QsU0FBUyxnRkFTMUM7QUFFRCxJQUFNVSxpQkFBaUIsR0FBR1YsU0FBUywyR0FTbEM7QUFFRCxJQUFNVyxpQkFBaUIsR0FBR1osR0FBRyx5VUFTZFMsSUFBSSxD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QUMsRUFDOUMsVUFBQUMsS0FBQTtFQUFBLElBQUdELFFBQVEsR0FBQUMsS0FBQSxDQUFSRCxRQUFRO0VBQUEsT0FBUUEsUUFBUSxHQUFHOUQsa0JBQWtCLENBQUM4QixnQkFBZ0IsR0FBRyxhQUFhO0FBQUEsQ0FBQyxFQUNsRixVQUFBa0MsS0FBQTtFQUFBLElBQUdGLFFBQVEsR0FBQUUsS0FBQSxDQUFSRixRQUFRO0VBQUEsT0FBUUEsUUFBUSxHQUFHLCtCQUErQixHQUFHLE1BQU07QUFBQSxDQUFDLEVBTW5GLFVBQUFHLEtBQUE7RUFBQSxJQUFHQyxRQUFRLEdBQUFELEtBQUEsQ0FBUkMsUUFBUTtFQUFBLE9BQ1hBLFFBQVEsSUFDUnRFLEdBQUcsOERBRVlXLGlCQUFpQixDQUMvQjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU00RCx3QkFBd0IsR0FBR3hFLE1BQU0sQ0FBQ2dELE1BQU0sQ0FBQWhDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ1NBaUJqRCxVQUFBdUQsS0FBQTtFQUFBLElBQUdDLFdBQVcsR0FBQUQsS0FBQSxDQUFYQyxXQUFXO0VBQUEsT0FDZEEsV0FBVyxJQUNYekUsR0FBRywrQ0FFY1UseUJBQXlCLENBRXpDO0FBQUEsR0FJQyxVQUFBZ0UsTUFBQTtFQUFBLElBQUdELFdBQVcsR0FBQUMsTUFBQSxDQUFYRCxXQUFXO0VBQUEsT0FDZEEsV0FBVyxJQUNYekUsR0FBRyw0QkFFRjtBQUFBLEdBSWtCRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBRzNDO0FBRUQsT0FBTyxJQUFNd0UsbUJBQW1CLEdBQUc1RSxNQUFNLENBQUNnQyxJQUFJLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhJQUNuQ2YsTUFBTSxDQUFDa0IsSUFBSSxDQUFDd0QsT0FBTyxDQVE3QjtBQUNELElBQU1DLFNBQVMsR0FBRzVFLFNBQVMsNERBUTFCO0FBQ0QsT0FBTyxJQUFNNkUsa0JBQWtCLEdBQUcvRSxNQUFNLENBQUNlLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSEFLN0I0RCxTQUFTLENBQ3ZCO0FBQ0QsT0FBTyxJQUFNRSxvQkFBb0IsR0FBR2hGLE1BQU0sQ0FBQ2dELE1BQU0sQ0FBQWhDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK1dBZXpCZCxjQUFjLENBQUMsRUFBRSxDQUFDLEVBRXBDMkUsa0JBQWtCLEVBQ0UzRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBUzVDIiwiaWdub3JlTGlzdCI6W119