@promptbook/components 0.112.0-31 → 0.112.0-32

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 (59) hide show
  1. package/esm/index.es.js +788 -319
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/src/_packages/components.index.d.ts +6 -0
  4. package/esm/src/_packages/types.index.d.ts +6 -0
  5. package/esm/src/book-2.0/agent-source/AgentReferenceResolver.d.ts +11 -0
  6. package/esm/src/book-2.0/agent-source/CreateAgentModelRequirementsOptions.d.ts +8 -0
  7. package/esm/src/book-2.0/agent-source/TeammateProfileResolver.d.ts +33 -0
  8. package/esm/src/book-2.0/agent-source/createTeamToolName.d.ts +7 -7
  9. package/esm/src/book-components/Chat/Chat/ChatActionsBar.d.ts +5 -0
  10. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +17 -1
  11. package/esm/src/book-components/Chat/Chat/ChatMessageItem.test.d.ts +1 -1
  12. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +14 -0
  13. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +290 -0
  14. package/esm/src/book-components/Chat/Chat/ChatToolCallModal.d.ts +16 -0
  15. package/esm/src/book-components/Chat/Chat/renderAdvancedToolCallDetails.d.ts +4 -0
  16. package/esm/src/book-components/Chat/Chat/renderToolCallDetails.d.ts +9 -0
  17. package/esm/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +2 -1
  18. package/esm/src/book-components/Chat/MarkdownContent/MarkdownContent.test.d.ts +2 -0
  19. package/esm/src/book-components/Chat/hooks/useChatCompleteNotification.d.ts +18 -0
  20. package/esm/src/book-components/Chat/hooks/useChatCompleteNotification.test.d.ts +2 -0
  21. package/esm/src/book-components/Chat/types/ChatMessage.d.ts +77 -1
  22. package/esm/src/book-components/Chat/utils/formatToolCallDateTime.d.ts +37 -0
  23. package/esm/src/book-components/Chat/utils/formatToolCallLocalTime.d.ts +11 -0
  24. package/esm/src/book-components/Chat/utils/formatToolCallTranslationTemplate.d.ts +10 -0
  25. package/esm/src/book-components/Chat/utils/getChatMessageTimingDisplay.d.ts +5 -1
  26. package/esm/src/book-components/Chat/utils/getToolCallChipletInfo.d.ts +26 -1
  27. package/esm/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +26 -3
  28. package/esm/src/utils/toolCalls/mergeToolCalls.d.ts +1 -1
  29. package/esm/src/version.d.ts +1 -1
  30. package/package.json +1 -1
  31. package/umd/index.umd.js +790 -322
  32. package/umd/index.umd.js.map +1 -1
  33. package/umd/src/_packages/components.index.d.ts +6 -0
  34. package/umd/src/_packages/types.index.d.ts +6 -0
  35. package/umd/src/book-2.0/agent-source/AgentReferenceResolver.d.ts +11 -0
  36. package/umd/src/book-2.0/agent-source/CreateAgentModelRequirementsOptions.d.ts +8 -0
  37. package/umd/src/book-2.0/agent-source/TeammateProfileResolver.d.ts +33 -0
  38. package/umd/src/book-2.0/agent-source/createTeamToolName.d.ts +7 -7
  39. package/umd/src/book-components/Chat/Chat/ChatActionsBar.d.ts +5 -0
  40. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +17 -1
  41. package/umd/src/book-components/Chat/Chat/ChatMessageItem.test.d.ts +1 -1
  42. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +14 -0
  43. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +290 -0
  44. package/umd/src/book-components/Chat/Chat/ChatToolCallModal.d.ts +16 -0
  45. package/umd/src/book-components/Chat/Chat/renderAdvancedToolCallDetails.d.ts +4 -0
  46. package/umd/src/book-components/Chat/Chat/renderToolCallDetails.d.ts +9 -0
  47. package/umd/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +2 -1
  48. package/umd/src/book-components/Chat/MarkdownContent/MarkdownContent.test.d.ts +2 -0
  49. package/umd/src/book-components/Chat/hooks/useChatCompleteNotification.d.ts +18 -0
  50. package/umd/src/book-components/Chat/hooks/useChatCompleteNotification.test.d.ts +2 -0
  51. package/umd/src/book-components/Chat/types/ChatMessage.d.ts +77 -1
  52. package/umd/src/book-components/Chat/utils/formatToolCallDateTime.d.ts +37 -0
  53. package/umd/src/book-components/Chat/utils/formatToolCallLocalTime.d.ts +11 -0
  54. package/umd/src/book-components/Chat/utils/formatToolCallTranslationTemplate.d.ts +10 -0
  55. package/umd/src/book-components/Chat/utils/getChatMessageTimingDisplay.d.ts +5 -1
  56. package/umd/src/book-components/Chat/utils/getToolCallChipletInfo.d.ts +26 -1
  57. package/umd/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +26 -3
  58. package/umd/src/utils/toolCalls/mergeToolCalls.d.ts +1 -1
  59. package/umd/src/version.d.ts +1 -1
package/esm/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { useMemo, useId, useState, useRef, useEffect, createContext, useContext, useCallback, forwardRef, memo } from 'react';
2
+ import { useMemo, useId, useState, memo, useRef, useEffect, createContext, useContext, useCallback, forwardRef } from 'react';
3
3
  import { spaceTrim as spaceTrim$1 } from 'spacetrim';
4
4
  import { SHA256 } from 'crypto-js';
5
5
  import hexEncoder from 'crypto-js/enc-hex';
@@ -15,6 +15,7 @@ import { createRoot } from 'react-dom/client';
15
15
  import { Converter } from 'showdown';
16
16
  import { BehaviorSubject, Subject } from 'rxjs';
17
17
  import { jsPDF } from 'jspdf';
18
+ import 'moment/locale/cs';
18
19
  import { Maximize2, X, Pause, Play, Volume2Icon, VolumeXIcon, VibrateIcon, VibrateOffIcon } from 'lucide-react';
19
20
  import { forTime } from 'waitasecond';
20
21
  import sha256 from 'crypto-js/sha256';
@@ -39,7 +40,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
39
40
  * @generated
40
41
  * @see https://github.com/webgptorg/promptbook
41
42
  */
42
- const PROMPTBOOK_ENGINE_VERSION = '0.112.0-31';
43
+ const PROMPTBOOK_ENGINE_VERSION = '0.112.0-32';
43
44
  /**
44
45
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
45
46
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -10578,10 +10579,6 @@ class StyleCommitmentDefinition extends BaseCommitmentDefinition {
10578
10579
  * Prefix used for TEAM tool names.
10579
10580
  */
10580
10581
  const TEAM_TOOL_PREFIX$1 = 'team_chat_';
10581
- /**
10582
- * Length of URL hash suffix appended to TEAM tool names.
10583
- */
10584
- const TEAM_TOOL_HASH_LENGTH = 10;
10585
10582
  /**
10586
10583
  * Fallback normalized name when teammate label is empty.
10587
10584
  */
@@ -10598,20 +10595,19 @@ function normalizeTeammateToolNamePart(teammateLabel) {
10598
10595
  return normalized || TEAM_TOOL_FALLBACK_NAME;
10599
10596
  }
10600
10597
  /**
10601
- * Builds a deterministic TEAM tool name from teammate identity.
10598
+ * Builds a deterministic TEAM tool name from the teammate label.
10602
10599
  *
10603
- * The readable part is based on teammate label while the hash suffix
10604
- * keeps uniqueness and stable mapping for the underlying teammate URL.
10600
+ * The tool name is derived solely from the human-readable label so that it
10601
+ * remains stable and predictable regardless of internal technical identifiers.
10605
10602
  *
10606
- * @param teammateUrl - Canonical teammate URL used at runtime.
10607
- * @param teammateLabel - Human-readable teammate label.
10608
- * @returns Deterministic TEAM tool name.
10603
+ * @param _teammateUrl - Canonical teammate URL (kept for API compatibility, not used).
10604
+ * @param teammateLabel - Human-readable teammate label used as the basis for the name.
10605
+ * @returns TEAM tool name derived from the label.
10609
10606
  * @private internal utility of TEAM commitments and chat UI mapping
10610
10607
  */
10611
- function createTeamToolName(teammateUrl, teammateLabel) {
10608
+ function createTeamToolName(_teammateUrl, teammateLabel) {
10612
10609
  const normalizedLabel = normalizeTeammateToolNamePart(teammateLabel);
10613
- const hash = computeHash(teammateUrl).substring(0, TEAM_TOOL_HASH_LENGTH);
10614
- return `${TEAM_TOOL_PREFIX$1}${normalizedLabel}_${hash}`;
10610
+ return `${TEAM_TOOL_PREFIX$1}${normalizedLabel}`;
10615
10611
  }
10616
10612
 
10617
10613
  const urlRegex = /https?:\/\/[^\s]+/gi;
@@ -10816,7 +10812,7 @@ class TeamCommitmentDefinition extends BaseCommitmentDefinition {
10816
10812
  `);
10817
10813
  }
10818
10814
  applyToAgentModelRequirements(requirements, content) {
10819
- var _a, _b;
10815
+ var _a, _b, _c;
10820
10816
  const trimmedContent = content.trim();
10821
10817
  if (!trimmedContent) {
10822
10818
  return requirements;
@@ -10828,14 +10824,18 @@ class TeamCommitmentDefinition extends BaseCommitmentDefinition {
10828
10824
  }
10829
10825
  const agentName = ((_a = requirements._metadata) === null || _a === void 0 ? void 0 : _a.agentName) || 'Agent';
10830
10826
  const existingTeammates = ((_b = requirements._metadata) === null || _b === void 0 ? void 0 : _b.teammates) || [];
10827
+ const preResolvedProfiles = (((_c = requirements._metadata) === null || _c === void 0 ? void 0 : _c.preResolvedTeammateProfiles) || {});
10831
10828
  const resolvedTeammates = resolveTeamTeammateLabels(trimmedContent, teammates);
10832
10829
  const teamEntries = resolvedTeammates.map((teammate) => {
10830
+ const profile = preResolvedProfiles[teammate.url];
10831
+ const resolvedLabel = (profile === null || profile === void 0 ? void 0 : profile.agentName) || teammate.label;
10833
10832
  const existingTeammate = existingTeammates.find((entry) => entry.url === teammate.url);
10834
10833
  return {
10835
10834
  toolName: ((existingTeammate === null || existingTeammate === void 0 ? void 0 : existingTeammate.toolName) ||
10836
- createTeamToolName(teammate.url, teammate.label)),
10837
- teammate,
10835
+ createTeamToolName(teammate.url, resolvedLabel)),
10836
+ teammate: { ...teammate, label: resolvedLabel },
10838
10837
  agentName,
10838
+ description: (profile === null || profile === void 0 ? void 0 : profile.personaDescription) || null,
10839
10839
  };
10840
10840
  });
10841
10841
  for (const entry of teamEntries) {
@@ -10847,9 +10847,12 @@ class TeamCommitmentDefinition extends BaseCommitmentDefinition {
10847
10847
  if (updatedTools.some((tool) => tool.name === entry.toolName)) {
10848
10848
  continue;
10849
10849
  }
10850
+ const toolDescription = entry.description
10851
+ ? `Consult teammate ${entry.teammate.label}\n${entry.description}`
10852
+ : `Consult teammate ${entry.teammate.label}`;
10850
10853
  updatedTools.push({
10851
10854
  name: entry.toolName,
10852
- description: `Consult teammate ${entry.teammate.label}`,
10855
+ description: toolDescription,
10853
10856
  parameters: {
10854
10857
  type: 'object',
10855
10858
  properties: {
@@ -10878,8 +10881,7 @@ class TeamCommitmentDefinition extends BaseCommitmentDefinition {
10878
10881
  toolName: entry.toolName,
10879
10882
  });
10880
10883
  }
10881
- const teamOverviewText = createTeamOverviewText(trimmedContent, teamEntries);
10882
- const teamSystemMessage = this.createSystemMessageSection('Teammates:', buildTeamSystemMessageBody(teamOverviewText, teamEntries));
10884
+ const teamSystemMessage = this.createSystemMessageSection('Teammates:', buildTeamSystemMessageBody(teamEntries));
10883
10885
  return this.appendToSystemMessage({
10884
10886
  ...requirements,
10885
10887
  tools: updatedTools,
@@ -10916,25 +10918,24 @@ function resolveTeamTeammateLabels(teamContent, teammates) {
10916
10918
  };
10917
10919
  });
10918
10920
  }
10919
- /**
10920
- * Rewrites TEAM commitment content into a URL-free teammate overview text.
10921
- */
10922
- function createTeamOverviewText(teamContent, teamEntries) {
10923
- let overviewText = teamContent;
10924
- for (const entry of teamEntries) {
10925
- overviewText = overviewText.split(entry.teammate.url).join(entry.teammate.label);
10926
- }
10927
- return overviewText.trim();
10928
- }
10929
10921
  /**
10930
10922
  * Builds the textual TEAM section body for the final system message.
10923
+ *
10924
+ * Each teammate is listed with its tool name and, when available, a one-line description.
10925
+ * Uses `spaceTrim` to ensure consistent whitespace and indentation.
10931
10926
  */
10932
- function buildTeamSystemMessageBody(teamOverviewText, teamEntries) {
10933
- const teammateLines = teamEntries.map((entry, index) => `${index + 1}) ${entry.teammate.label} tool \`${entry.toolName}\``);
10934
- if (!teamOverviewText) {
10935
- return teammateLines.join('\n');
10936
- }
10937
- return `${teamOverviewText}\n\n${teammateLines.join('\n')}`;
10927
+ function buildTeamSystemMessageBody(teamEntries) {
10928
+ const lines = teamEntries.map((entry, index) => {
10929
+ const toolLine = `${index + 1}) ${entry.teammate.label} tool \`${entry.toolName}\``;
10930
+ if (!entry.description) {
10931
+ return toolLine;
10932
+ }
10933
+ return spaceTrim$1(`
10934
+ ${toolLine}
10935
+ ${entry.description}
10936
+ `);
10937
+ });
10938
+ return lines.join('\n');
10938
10939
  }
10939
10940
  /**
10940
10941
  * Registers tool function and title for a teammate tool.
@@ -18322,7 +18323,7 @@ function parseCitationMarkersFromContent(content) {
18322
18323
  return markers;
18323
18324
  }
18324
18325
 
18325
- var css_248z$b = ".MarkdownContent-module_MarkdownContent__2JuyX{--md-text-color:var(--chat-md-text-color,inherit);--md-muted-color:var(--chat-md-muted-color,currentColor);--md-link-color:var(--chat-md-link-color,#2563eb);--md-heading-color:var(--chat-heading-text-color,var(--md-text-color));--md-heading-font-family:var(\n --chat-md-heading-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-body-font-family:var(\n --chat-md-body-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace;--md-inline-code-bg:var(--chat-md-inline-code-bg,rgba(15,23,42,.08));--md-inline-code-border:var(--chat-md-inline-code-border,rgba(15,23,42,.12));--md-inline-code-color:var(--chat-md-inline-code-color,var(--md-text-color));--md-blockquote-bg:var(--chat-md-blockquote-bg,rgba(248,250,252,.92));--md-blockquote-border:var(--chat-md-blockquote-border,rgba(59,130,246,.35));--md-table-bg:var(--chat-md-table-bg,rgba(248,250,252,.92));--md-table-row-alt-bg:var(--chat-md-table-row-alt-bg,rgba(241,245,249,.9));--md-table-head-bg:var(--chat-md-table-head-bg,rgba(226,232,240,.95));--md-table-border:var(--chat-md-table-border,rgba(148,163,184,.36));--md-citation-bg:var(--chat-md-citation-bg,rgba(59,130,246,.14));--md-citation-color:var(--chat-md-citation-color,#1d4ed8);color:var(--md-text-color);font-family:var(--md-body-font-family);font-size:inherit;letter-spacing:.002em;line-height:1.65}.MarkdownContent-module_MarkdownContent__2JuyX>:first-child{margin-top:0!important}.MarkdownContent-module_MarkdownContent__2JuyX>:last-child{margin-bottom:0!important}.MarkdownContent-module_MarkdownContent__2JuyX :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--md-heading-color);font-family:var(--md-heading-font-family);font-weight:600;letter-spacing:.01em;line-height:1.24;margin:1.4em 0 .55em;position:relative}.MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:1.52rem}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.4rem}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.26rem}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.14rem}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.04rem}.MarkdownContent-module_MarkdownContent__2JuyX h6{font-size:.98rem}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:pretty;margin:0 0 .9em}.MarkdownContent-module_MarkdownContent__2JuyX p:empty{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(ul,ol){display:grid;gap:.35em;margin:.65em 0 1em;padding-inline-start:1.35rem}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal}.MarkdownContent-module_MarkdownContent__2JuyX li{line-height:1.58}.MarkdownContent-module_MarkdownContent__2JuyX li>:is(ul,ol){margin-bottom:0;margin-top:.45em}.MarkdownContent-module_MarkdownContent__2JuyX a{color:var(--md-link-color);text-decoration-color:currentColor;text-decoration-line:underline;text-decoration-thickness:1.4px;text-underline-offset:.16em;transition:opacity .2s ease,text-decoration-thickness .2s ease}.MarkdownContent-module_MarkdownContent__2JuyX a:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a:hover{opacity:.92;text-decoration-thickness:2px}.MarkdownContent-module_MarkdownContent__2JuyX img{border-radius:14px;display:block;height:auto;margin:.95em 0;max-width:100%}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX hr,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{margin:.95em 0}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:transparent;border:none;border-radius:12px;box-shadow:none;display:block;overflow:visible;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:var(--md-blockquote-bg);border:none;border-left:3px solid var(--md-blockquote-border);border-radius:12px;box-shadow:none;color:var(--md-muted-color);display:block;padding:.72em .96em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote>:last-child{margin-bottom:0}.MarkdownContent-module_MarkdownContent__2JuyX code{background:var(--md-inline-code-bg);border:1px solid var(--md-inline-code-border);border-radius:8px;color:var(--md-inline-code-color);font-family:var(--md-code-font-family);font-size:.88em;line-height:1.45;margin:0;padding:.14em .42em;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.28);color:#f8fafc;font-family:var(--md-code-font-family);font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX table{background:var(--md-table-bg);border:1px solid var(--md-table-border);border-collapse:separate;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px rgba(15,23,42,.1);color:inherit;font-size:.93em;overflow:hidden;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid var(--md-table-border);color:inherit;padding:.58em .72em;text-align:left;vertical-align:top}.MarkdownContent-module_MarkdownContent__2JuyX th{background:var(--md-table-head-bg);font-weight:600}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:var(--md-table-row-alt-bg)}.MarkdownContent-module_MarkdownContent__2JuyX hr{border:none;border-top:1px solid var(--md-table-border);opacity:.8}.MarkdownContent-module_MarkdownContent__2JuyX strong{font-weight:650}.MarkdownContent-module_MarkdownContent__2JuyX em{font-style:italic}.MarkdownContent-module_citationRef__fKqaT,.MarkdownContent-module_citation__11SMw{align-items:center;background:var(--md-citation-bg);border-radius:999px;color:var(--md-citation-color);display:inline-flex;font-size:.74em;font-weight:700;justify-content:center;line-height:1.45;margin:0 .1em;min-width:1.4em;padding:0 .35em;vertical-align:super}.MarkdownContent-module_MarkdownContent__2JuyX sup[data-citation-footnote]{color:currentColor;display:inline;font-size:.72em;font-weight:700;line-height:1;margin:0 .7em 0 .08em;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUNJLGlEQUFtRCxDQUNuRCx3REFBMEQsQ0FDMUQsaURBQW1ELENBQ25ELHNFQUF3RSxDQUN4RTs7S0FHQyxDQUNEOztLQUdDLENBQ0QsbUdBQTBHLENBQzFHLG9FQUEwRSxDQUMxRSw0RUFBa0YsQ0FDbEYsNEVBQThFLENBQzlFLHFFQUEyRSxDQUMzRSw0RUFBa0YsQ0FDbEYsMkRBQWlFLENBQ2pFLDBFQUFnRixDQUNoRixxRUFBMkUsQ0FDM0UsbUVBQXlFLENBQ3pFLGdFQUFzRSxDQUN0RSx5REFBMkQsQ0FFM0QsMEJBQTJCLENBQzNCLHNDQUF1QyxDQUN2QyxpQkFBa0IsQ0FFbEIscUJBQXVCLENBRHZCLGdCQUVKLENBRUEsNERBQ0ksc0JBQ0osQ0FFQSwyREFDSSx5QkFDSixDQUVBLHNFQVFJLGlCQUFrQixDQUxsQiw2QkFBOEIsQ0FDOUIseUNBQTBDLENBQzFDLGVBQWdCLENBRWhCLG9CQUFzQixDQUR0QixnQkFBaUIsQ0FKakIsb0JBQXNCLENBRHRCLGlCQVFKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGlCQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxpQkFDSixDQUVBLGtEQUNJLGdCQUNKLENBRUEsaURBRUksZ0JBQWlCLENBRGpCLGVBRUosQ0FFQSx1REFDSSxZQUNKLENBRUEsMERBR0ksWUFBYSxDQUNiLFNBQVcsQ0FIWCxrQkFBb0IsQ0FDcEIsNEJBR0osQ0FFQSxrREFDSSxlQUNKLENBRUEsa0RBQ0ksa0JBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLDZEQUVJLGVBQWdCLENBRGhCLGdCQUVKLENBRUEsaURBQ0ksMEJBQTJCLENBSTNCLGtDQUFtQyxDQUhuQyw4QkFBK0IsQ0FDL0IsK0JBQWdDLENBQ2hDLDJCQUE2QixDQUU3Qiw4REFDSixDQUVBLHNIQUVJLFdBQWEsQ0FDYiw2QkFDSixDQUVBLG1EQUlJLGtCQUFtQixDQUhuQixhQUFjLENBRWQsV0FBWSxDQUVaLGNBQWdCLENBSGhCLGNBSUosQ0FFQSxvTkFJSSxjQUNKLENBRUEsbURBS0ksc0JBQXVCLENBSHZCLFdBQVksQ0FDWixrQkFBbUIsQ0FDbkIsZUFBZ0IsQ0FIaEIsYUFBYyxDQU1kLGdCQUFpQixDQURqQixTQUVKLENBRUEsMERBTUksa0NBQW1DLENBSm5DLFdBQVksQ0FDWixpREFBa0QsQ0FDbEQsa0JBQW1CLENBQ25CLGVBQWdCLENBRWhCLDJCQUE0QixDQU41QixhQUFjLENBT2QsbUJBQ0osQ0FFQSxzRUFDSSxlQUNKLENBRUEsb0RBS0ksbUNBQW9DLENBRnBDLDZDQUE4QyxDQUM5QyxpQkFBa0IsQ0FLbEIsaUNBQWtDLENBSGxDLHNDQUF1QyxDQUN2QyxlQUFpQixDQUNqQixnQkFBaUIsQ0FQakIsUUFBUyxDQUNULG1CQUFzQixDQVF0QixxQkFDSixDQUVBLHdEQUNJLHlCQUEyQixDQUszQixxQkFBdUIsQ0FDdkIseUJBQTJCLENBTDNCLHVCQUF5QixDQVN6QixhQUFjLENBUmQsNkJBQStCLENBQy9CLDJCQUE2QixDQU03QixlQUFnQixDQUxoQixtQkFBcUIsQ0FHckIsZUFBZ0IsQ0FDaEIsaUJBR0osQ0FFQSw4RkFDSSxrQkFBbUIsQ0FLbkIsc0NBQTJDLENBQzNDLGtCQUFtQixDQUNuQixzQ0FBMkMsQ0FOM0MsYUFBYyxDQU9kLHNDQUF1QyxDQU52QyxjQUFlLENBQ2YsZUFBZ0IsQ0FDaEIsZUFLSixDQUVBLG1HQUNJLHlCQUEyQixDQUszQixxQkFBdUIsQ0FDdkIseUJBQTJCLENBTDNCLHVCQUF5QixDQVN6QixhQUFjLENBUmQsNkJBQStCLENBQy9CLDJCQUE2QixDQU03QixlQUFnQixDQUxoQixtQkFBcUIsQ0FHckIsZUFBZ0IsQ0FDaEIsaUJBR0osQ0FFQSxxREFPSSw2QkFBOEIsQ0FIOUIsdUNBQXdDLENBRnhDLHdCQUF5QixDQUd6QixrQkFBbUIsQ0FGbkIsZ0JBQWlCLENBS2pCLHNDQUEyQyxDQUUzQyxhQUFjLENBRGQsZUFBaUIsQ0FIakIsZUFBZ0IsQ0FMaEIsVUFVSixDQUVBLG9HQU9JLGVBQWdCLENBSmhCLDhDQUErQyxDQUcvQyxhQUFjLENBSmQsbUJBQXNCLENBRXRCLGVBQWdCLENBQ2hCLGtCQUdKLENBRUEsa0RBQ0ksa0NBQW1DLENBQ25DLGVBQ0osQ0FFQSxnRUFDSSxrQkFDSixDQUVBLG1FQUNJLHFDQUNKLENBRUEsa0RBQ0ksV0FBWSxDQUNaLDJDQUE0QyxDQUM1QyxVQUNKLENBRUEsc0RBQ0ksZUFDSixDQUVBLGtEQUNJLGlCQUNKLENBa0JBLG1GQUVJLGtCQUFtQixDQVduQixnQ0FBaUMsQ0FOakMsbUJBQW9CLENBS3BCLDhCQUErQixDQVgvQixtQkFBb0IsQ0FPcEIsZUFBaUIsQ0FDakIsZUFBZ0IsQ0FOaEIsc0JBQXVCLENBT3ZCLGdCQUFpQixDQUxqQixhQUFlLENBRGYsZUFBZ0IsQ0FFaEIsZUFBaUIsQ0FLakIsb0JBR0osQ0FFQSwyRUFPSSxrQkFBbUIsQ0FObkIsY0FBZSxDQUVmLGVBQWlCLENBQ2pCLGVBQWdCLENBQ2hCLGFBQWMsQ0FIZCxxQkFBd0IsQ0FJeEIsb0JBRUoiLCJmaWxlIjoiTWFya2Rvd25Db250ZW50Lm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuTWFya2Rvd25Db250ZW50IHtcbiAgICAtLW1kLXRleHQtY29sb3I6IHZhcigtLWNoYXQtbWQtdGV4dC1jb2xvciwgaW5oZXJpdCk7XG4gICAgLS1tZC1tdXRlZC1jb2xvcjogdmFyKC0tY2hhdC1tZC1tdXRlZC1jb2xvciwgY3VycmVudENvbG9yKTtcbiAgICAtLW1kLWxpbmstY29sb3I6IHZhcigtLWNoYXQtbWQtbGluay1jb2xvciwgIzI1NjNlYik7XG4gICAgLS1tZC1oZWFkaW5nLWNvbG9yOiB2YXIoLS1jaGF0LWhlYWRpbmctdGV4dC1jb2xvciwgdmFyKC0tbWQtdGV4dC1jb2xvcikpO1xuICAgIC0tbWQtaGVhZGluZy1mb250LWZhbWlseTogdmFyKFxuICAgICAgICAtLWNoYXQtbWQtaGVhZGluZy1mb250LWZhbWlseSxcbiAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZilcbiAgICApO1xuICAgIC0tbWQtYm9keS1mb250LWZhbWlseTogdmFyKFxuICAgICAgICAtLWNoYXQtbWQtYm9keS1mb250LWZhbWlseSxcbiAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZilcbiAgICApO1xuICAgIC0tbWQtY29kZS1mb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1iZzogdmFyKC0tY2hhdC1tZC1pbmxpbmUtY29kZS1iZywgcmdiYSgxNSwgMjMsIDQyLCAwLjA4KSk7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IHZhcigtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyLCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpKTtcbiAgICAtLW1kLWlubGluZS1jb2RlLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWlubGluZS1jb2RlLWNvbG9yLCB2YXIoLS1tZC10ZXh0LWNvbG9yKSk7XG4gICAgLS1tZC1ibG9ja3F1b3RlLWJnOiB2YXIoLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmcsIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45MikpO1xuICAgIC0tbWQtYmxvY2txdW90ZS1ib3JkZXI6IHZhcigtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXIsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjM1KSk7XG4gICAgLS1tZC10YWJsZS1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1iZywgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkyKSk7XG4gICAgLS1tZC10YWJsZS1yb3ctYWx0LWJnOiB2YXIoLS1jaGF0LW1kLXRhYmxlLXJvdy1hbHQtYmcsIHJnYmEoMjQxLCAyNDUsIDI0OSwgMC45KSk7XG4gICAgLS1tZC10YWJsZS1oZWFkLWJnOiB2YXIoLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmcsIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45NSkpO1xuICAgIC0tbWQtdGFibGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLXRhYmxlLWJvcmRlciwgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM2KSk7XG4gICAgLS1tZC1jaXRhdGlvbi1iZzogdmFyKC0tY2hhdC1tZC1jaXRhdGlvbi1iZywgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMTQpKTtcbiAgICAtLW1kLWNpdGF0aW9uLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWNpdGF0aW9uLWNvbG9yLCAjMWQ0ZWQ4KTtcblxuICAgIGNvbG9yOiB2YXIoLS1tZC10ZXh0LWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtYm9keS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uTWFya2Rvd25Db250ZW50IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMS40ZW0gMCAwLjU1ZW07XG4gICAgY29sb3I6IHZhcigtLW1kLWhlYWRpbmctY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI0O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDEuNTJyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEuMjZyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNSB7XG4gICAgZm9udC1zaXplOiAxLjA0cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDAuOThyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgMC45ZW07XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXModWwsIG9sKSB7XG4gICAgbWFyZ2luOiAwLjY1ZW0gMCAxZW07XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDEuMzVyZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuMzVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuLk1hcmtkb3duQ29udGVudCBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgbGkgPiA6aXModWwsIG9sKSB7XG4gICAgbWFyZ2luLXRvcDogMC40NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYSB7XG4gICAgY29sb3I6IHZhcigtLW1kLWxpbmstY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMS40cHg7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE2ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MgMC4ycyBlYXNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGE6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMC45MjtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgbWFyZ2luOiAwLjk1ZW0gMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUsXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUsXG4uTWFya2Rvd25Db250ZW50IHRhYmxlLFxuLk1hcmtkb3duQ29udGVudCBociB7XG4gICAgbWFyZ2luOiAwLjk1ZW0gMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1tZC1ibG9ja3F1b3RlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWJsb2NrcXVvdGUtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1tdXRlZC1jb2xvcik7XG4gICAgcGFkZGluZzogMC43MmVtIDAuOTZlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgY29kZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMTRlbSAwLjQyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtaW5saW5lLWNvZGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtaW5saW5lLWNvZGUtYmcpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1jb2RlLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDAuODhlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjb2xvcjogdmFyKC0tbWQtaW5saW5lLWNvZGUtY29sb3IpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcHJlIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uTWFya2Rvd25Db250ZW50IC5jaGF0LWNvZGUtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICMxODFjMjM7XG4gICAgY29sb3I6ICNmOGZhZmM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDIsIDYsIDIzLCAwLjI4KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtY29kZS1mb250LWZhbWlseSk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgLmNoYXQtY29kZS1ibG9jayBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLk1hcmtkb3duQ29udGVudCB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC10YWJsZS1iZyk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xKTtcbiAgICBmb250LXNpemU6IDAuOTNlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0aCxcbi5NYXJrZG93bkNvbnRlbnQgdGQge1xuICAgIHBhZGRpbmc6IDAuNThlbSAwLjcyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdGgge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLXRhYmxlLWhlYWQtYmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLXRhYmxlLXJvdy1hbHQtYmcpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGhyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY2l0YXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbiAgICBtYXJnaW46IDAgMC4xZW07XG4gICAgcGFkZGluZzogMCAwLjM1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IHZhcigtLW1kLWNpdGF0aW9uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1jaXRhdGlvbi1iZyk7XG59XG5cbi5jaXRhdGlvblJlZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDEuNGVtO1xuICAgIG1hcmdpbjogMCAwLjFlbTtcbiAgICBwYWRkaW5nOiAwIDAuMzVlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDAuNzRlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICBjb2xvcjogdmFyKC0tbWQtY2l0YXRpb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWNpdGF0aW9uLWJnKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBzdXBbZGF0YS1jaXRhdGlvbi1mb290bm90ZV0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgMC43ZW0gMCAwLjA4ZW07XG4gICAgZm9udC1zaXplOiAwLjcyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbiJdfQ== */";
18326
+ var css_248z$b = ".MarkdownContent-module_MarkdownContent__2JuyX{--md-text-color:var(--chat-md-text-color,inherit);--md-muted-color:var(--chat-md-muted-color,currentColor);--md-link-color:var(--chat-md-link-color,#2563eb);--md-heading-color:var(--chat-heading-text-color,var(--md-text-color));--md-heading-font-family:var(\n --chat-md-heading-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-body-font-family:var(\n --chat-md-body-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace;--md-inline-code-bg:var(--chat-md-inline-code-bg,rgba(15,23,42,.08));--md-inline-code-border:var(--chat-md-inline-code-border,rgba(15,23,42,.12));--md-inline-code-color:var(--chat-md-inline-code-color,var(--md-text-color));--md-blockquote-bg:var(--chat-md-blockquote-bg,rgba(248,250,252,.92));--md-blockquote-border:var(--chat-md-blockquote-border,rgba(59,130,246,.35));--md-table-bg:var(--chat-md-table-bg,rgba(248,250,252,.92));--md-table-row-alt-bg:var(--chat-md-table-row-alt-bg,rgba(241,245,249,.9));--md-table-head-bg:var(--chat-md-table-head-bg,rgba(226,232,240,.95));--md-table-border:var(--chat-md-table-border,rgba(148,163,184,.36));--md-citation-bg:var(--chat-md-citation-bg,rgba(59,130,246,.14));--md-citation-color:var(--chat-md-citation-color,#1d4ed8);color:var(--md-text-color);font-family:var(--md-body-font-family);font-size:inherit;letter-spacing:.002em;line-height:1.65}.MarkdownContent-module_MarkdownContent__2JuyX>:first-child{margin-top:0!important}.MarkdownContent-module_MarkdownContent__2JuyX>:last-child{margin-bottom:0!important}.MarkdownContent-module_MarkdownContent__2JuyX :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--md-heading-color);font-family:var(--md-heading-font-family);font-weight:600;letter-spacing:.01em;line-height:1.24;margin:1.4em 0 .55em;position:relative}.MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:1.52rem}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.4rem}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.26rem}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.14rem}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.04rem}.MarkdownContent-module_MarkdownContent__2JuyX h6{font-size:.98rem}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:pretty;margin:0 0 .9em}.MarkdownContent-module_MarkdownContent__2JuyX p:empty{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(ul,ol){display:grid;gap:.35em;margin:.65em 0 1em;padding-inline-start:1.35rem}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal}.MarkdownContent-module_MarkdownContent__2JuyX li{line-height:1.58}.MarkdownContent-module_MarkdownContent__2JuyX li>:is(ul,ol){margin-bottom:0;margin-top:.45em}.MarkdownContent-module_MarkdownContent__2JuyX a{color:var(--md-link-color);text-decoration-color:currentColor;text-decoration-line:underline;text-decoration-thickness:1.4px;text-underline-offset:.16em;transition:opacity .2s ease,text-decoration-thickness .2s ease}.MarkdownContent-module_MarkdownContent__2JuyX a:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a:hover{opacity:.92;text-decoration-thickness:2px}.MarkdownContent-module_MarkdownContent__2JuyX img{border-radius:14px;display:block;height:auto;margin:.95em 0;max-width:100%}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX hr,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{margin:.95em 0}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:transparent;border:none;border-radius:12px;box-shadow:none;display:block;overflow:visible;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:var(--md-blockquote-bg);border:none;border-left:3px solid var(--md-blockquote-border);border-radius:12px;box-shadow:none;color:var(--md-muted-color);display:block;padding:.72em .96em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote>:last-child{margin-bottom:0}.MarkdownContent-module_MarkdownContent__2JuyX code{background:var(--md-inline-code-bg);border:1px solid var(--md-inline-code-border);border-radius:8px;color:var(--md-inline-code-color);font-family:var(--md-code-font-family);font-size:.88em;line-height:1.45;margin:0;padding:.14em .42em;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.28);color:#f8fafc;font-family:var(--md-code-font-family);font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX table{background:var(--md-table-bg);border:1px solid var(--md-table-border);border-collapse:separate;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px rgba(15,23,42,.1);color:inherit;font-size:.93em;overflow:hidden;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid var(--md-table-border);color:inherit;padding:.58em .72em;text-align:left;vertical-align:top}.MarkdownContent-module_MarkdownContent__2JuyX th{background:var(--md-table-head-bg);font-weight:600}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:var(--md-table-row-alt-bg)}.MarkdownContent-module_MarkdownContent__2JuyX hr{border:none;border-top:1px solid var(--md-table-border);opacity:.8}.MarkdownContent-module_MarkdownContent__2JuyX details{background:color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.3) 18%);border:1px solid var(--md-table-border);border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.08);margin:.95em 0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.MarkdownContent-module_MarkdownContent__2JuyX details:focus-within,.MarkdownContent-module_MarkdownContent__2JuyX details:hover{border-color:color-mix(in srgb,var(--md-link-color) 24%,var(--md-table-border) 76%);box-shadow:0 12px 28px rgba(15,23,42,.12)}.MarkdownContent-module_MarkdownContent__2JuyX details>summary{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 88%,hsla(0,0%,100%,.85) 12%),color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.7) 18%));color:var(--md-link-color);cursor:pointer;display:flex;font-weight:600;gap:.72rem;list-style:none;padding:.9em 1.05em;transition:background .18s ease,color .18s ease;user-select:none}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:before{border-bottom:2px solid;border-right:2px solid;content:\"\";flex:0 0 auto;height:.62rem;margin-top:-.04rem;opacity:.82;transform:rotate(-45deg);transition:transform .18s ease,opacity .18s ease;width:.62rem}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX details>summary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 76%,hsla(0,0%,100%,.95) 24%),color-mix(in srgb,var(--md-table-bg) 74%,hsla(0,0%,100%,.82) 26%))}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible{outline:2px solid color-mix(in srgb,var(--md-link-color) 52%,transparent);outline-offset:-2px}.MarkdownContent-module_MarkdownContent__2JuyX details>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--md-table-border) 88%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary:before{opacity:1;transform:rotate(45deg)}.MarkdownContent-module_MarkdownContent__2JuyX details>:not(summary){margin-left:1.05em;margin-right:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX details>summary+*{margin-top:.95em}.MarkdownContent-module_MarkdownContent__2JuyX details>:last-child{margin-bottom:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX strong{font-weight:650}.MarkdownContent-module_MarkdownContent__2JuyX em{font-style:italic}.MarkdownContent-module_citationRef__fKqaT,.MarkdownContent-module_citation__11SMw{align-items:center;background:var(--md-citation-bg);border-radius:999px;color:var(--md-citation-color);display:inline-flex;font-size:.74em;font-weight:700;justify-content:center;line-height:1.45;margin:0 .1em;min-width:1.4em;padding:0 .35em;vertical-align:super}.MarkdownContent-module_MarkdownContent__2JuyX sup[data-citation-footnote]{color:currentColor;display:inline;font-size:.72em;font-weight:700;line-height:1;margin:0 .7em 0 .08em;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUNJLGlEQUFtRCxDQUNuRCx3REFBMEQsQ0FDMUQsaURBQW1ELENBQ25ELHNFQUF3RSxDQUN4RTs7S0FHQyxDQUNEOztLQUdDLENBQ0QsbUdBQTBHLENBQzFHLG9FQUEwRSxDQUMxRSw0RUFBa0YsQ0FDbEYsNEVBQThFLENBQzlFLHFFQUEyRSxDQUMzRSw0RUFBa0YsQ0FDbEYsMkRBQWlFLENBQ2pFLDBFQUFnRixDQUNoRixxRUFBMkUsQ0FDM0UsbUVBQXlFLENBQ3pFLGdFQUFzRSxDQUN0RSx5REFBMkQsQ0FFM0QsMEJBQTJCLENBQzNCLHNDQUF1QyxDQUN2QyxpQkFBa0IsQ0FFbEIscUJBQXVCLENBRHZCLGdCQUVKLENBRUEsNERBQ0ksc0JBQ0osQ0FFQSwyREFDSSx5QkFDSixDQUVBLHNFQVFJLGlCQUFrQixDQUxsQiw2QkFBOEIsQ0FDOUIseUNBQTBDLENBQzFDLGVBQWdCLENBRWhCLG9CQUFzQixDQUR0QixnQkFBaUIsQ0FKakIsb0JBQXNCLENBRHRCLGlCQVFKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGlCQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxpQkFDSixDQUVBLGtEQUNJLGdCQUNKLENBRUEsaURBRUksZ0JBQWlCLENBRGpCLGVBRUosQ0FFQSx1REFDSSxZQUNKLENBRUEsMERBR0ksWUFBYSxDQUNiLFNBQVcsQ0FIWCxrQkFBb0IsQ0FDcEIsNEJBR0osQ0FFQSxrREFDSSxlQUNKLENBRUEsa0RBQ0ksa0JBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLDZEQUVJLGVBQWdCLENBRGhCLGdCQUVKLENBRUEsaURBQ0ksMEJBQTJCLENBSTNCLGtDQUFtQyxDQUhuQyw4QkFBK0IsQ0FDL0IsK0JBQWdDLENBQ2hDLDJCQUE2QixDQUU3Qiw4REFDSixDQUVBLHNIQUVJLFdBQWEsQ0FDYiw2QkFD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c0JBQXVCLENBT3ZCLGdCQUFpQixDQUxqQixhQUFlLENBRGYsZUFBZ0IsQ0FFaEIsZUFBaUIsQ0FLakIsb0JBR0osQ0FFQSwyRUFPSSxrQkFBbUIsQ0FObkIsY0FBZSxDQUVmLGVBQWlCLENBQ2pCLGVBQWdCLENBQ2hCLGFBQWMsQ0FIZCxxQkFBd0IsQ0FJeEIsb0JBRUoiLCJmaWxlIjoiTWFya2Rvd25Db250ZW50Lm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuTWFya2Rvd25Db250ZW50IHtcbiAgICAtLW1kLXRleHQtY29sb3I6IHZhcigtLWNoYXQtbWQtdGV4dC1jb2xvciwgaW5oZXJpdCk7XG4gICAgLS1tZC1tdXRlZC1jb2xvcjogdmFyKC0tY2hhdC1tZC1tdXRlZC1jb2xvciwgY3VycmVudENvbG9yKTtcbiAgICAtLW1kLWxpbmstY29sb3I6IHZhcigtLWNoYXQtbWQtbGluay1jb2xvciwgIzI1NjNlYik7XG4gICAgLS1tZC1oZWFkaW5nLWNvbG9yOiB2YXIoLS1jaGF0LWhlYWRpbmctdGV4dC1jb2xvciwgdmFyKC0tbWQtdGV4dC1jb2xvcikpO1xuICAgIC0tbWQtaGVhZGluZy1mb250LWZhbWlseTogdmFyKFxuICAgICAgICAtLWNoYXQtbWQtaGVhZGluZy1mb250LWZhbWlseSxcbiAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZilcbiAgICApO1xuICAgIC0tbWQtYm9keS1mb250LWZhbWlseTogdmFyKFxuICAgICAgICAtLWNoYXQtbWQtYm9keS1mb250LWZhbWlseSxcbiAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZilcbiAgICApO1xuICAgIC0tbWQtY29kZS1mb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1iZzogdmFyKC0tY2hhdC1tZC1pbmxpbmUtY29kZS1iZywgcmdiYSgxNSwgMjMsIDQyLCAwLjA4KSk7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IHZhcigtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyLCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpKTtcbiAgICAtLW1kLWlubGluZS1jb2RlLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWlubGluZS1jb2RlLWNvbG9yLCB2YXIoLS1tZC10ZXh0LWNvbG9yKSk7XG4gICAgLS1tZC1ibG9ja3F1b3RlLWJnOiB2YXIoLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmcsIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45MikpO1xuICAgIC0tbWQtYmxvY2txdW90ZS1ib3JkZXI6IHZhcigtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXIsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjM1KSk7XG4gICAgLS1tZC10YWJsZS1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1iZywgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkyKSk7XG4gICAgLS1tZC10YWJsZS1yb3ctYWx0LWJnOiB2YXIoLS1jaGF0LW1kLXRhYmxlLXJvdy1hbHQtYmcsIHJnYmEoMjQxLCAyNDUsIDI0OSwgMC45KSk7XG4gICAgLS1tZC10YWJsZS1oZWFkLWJnOiB2YXIoLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmcsIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45NSkpO1xuICAgIC0tbWQtdGFibGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLXRhYmxlLWJvcmRlciwgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM2KSk7XG4gICAgLS1tZC1jaXRhdGlvbi1iZzogdmFyKC0tY2hhdC1tZC1jaXRhdGlvbi1iZywgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMTQpKTtcbiAgICAtLW1kLWNpdGF0aW9uLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWNpdGF0aW9uLWNvbG9yLCAjMWQ0ZWQ4KTtcblxuICAgIGNvbG9yOiB2YXIoLS1tZC10ZXh0LWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtYm9keS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uTWFya2Rvd25Db250ZW50IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMS40ZW0gMCAwLjU1ZW07XG4gICAgY29sb3I6IHZhcigtLW1kLWhlYWRpbmctY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI0O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDEuNTJyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEuMjZyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNSB7XG4gICAgZm9udC1zaXplOiAxLjA0cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDAuOThyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgMC45ZW07XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXModWwsIG9sKSB7XG4gICAgbWFyZ2luOiAwLjY1ZW0gMCAxZW07XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDEuMzVyZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuMzVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuLk1hcmtkb3duQ29udGVudCBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgbGkgPiA6aXModWwsIG9sKSB7XG4gICAgbWFyZ2luLXRvcDogMC40NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYSB7XG4gICAgY29sb3I6IHZhcigtLW1kLWxpbmstY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMS40cHg7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE2ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MgMC4ycyBlYXNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGE6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMC45MjtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgbWFyZ2luOiAwLjk1ZW0gMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUsXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUsXG4uTWFya2Rvd25Db250ZW50IHRhYmxlLFxuLk1hcmtkb3duQ29udGVudCBociB7XG4gICAgbWFyZ2luOiAwLjk1ZW0gMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1tZC1ibG9ja3F1b3RlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWJsb2NrcXVvdGUtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1tdXRlZC1jb2xvcik7XG4gICAgcGFkZGluZzogMC43MmVtIDAuOTZlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgY29kZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMTRlbSAwLjQyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtaW5saW5lLWNvZGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtaW5saW5lLWNvZGUtYmcpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1jb2RlLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDAuODhlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjb2xvcjogdmFyKC0tbWQtaW5saW5lLWNvZGUtY29sb3IpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcHJlIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uTWFya2Rvd25Db250ZW50IC5jaGF0LWNvZGUtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICMxODFjMjM7XG4gICAgY29sb3I6ICNmOGZhZmM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDIsIDYsIDIzLCAwLjI4KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtY29kZS1mb250LWZhbWlseSk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgLmNoYXQtY29kZS1ibG9jayBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLk1hcmtkb3duQ29udGVudCB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC10YWJsZS1iZyk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xKTtcbiAgICBmb250LXNpemU6IDAuOTNlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0aCxcbi5NYXJrZG93bkNvbnRlbnQgdGQge1xuICAgIHBhZGRpbmc6IDAuNThlbSAwLjcyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdGgge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLXRhYmxlLWhlYWQtYmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLXRhYmxlLXJvdy1hbHQtYmcpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGhyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMge1xuICAgIG1hcmdpbjogMC45NWVtIDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1iZykgODIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgMTglKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xOHMgZWFzZSwgYm94LXNoYWRvdyAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgMjQlLCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpIDc2JSk7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43MnJlbTtcbiAgICBwYWRkaW5nOiAwLjllbSAxLjA1ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLW1kLWxpbmstY29sb3IpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1oZWFkLWJnKSA4OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgMTIlKSxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA4MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAxOCUpXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMThzIGVhc2UsIGNvbG9yIDAuMThzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDAuNjJyZW07XG4gICAgaGVpZ2h0OiAwLjYycmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0wLjA0cmVtO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgb3BhY2l0eTogMC44MjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xOHMgZWFzZSwgb3BhY2l0eSAwLjE4cyBlYXNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5OmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWhlYWQtYmcpIDc2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAyNCUpLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYmcpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKSAyNiUpXG4gICAgKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDUyJSwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJvcmRlcikgODglLCB0cmFuc3BhcmVudCk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IDpub3Qoc3VtbWFyeSkge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjA1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjA1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnkgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAwLjk1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjA1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjUwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5jaXRhdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDEuNGVtO1xuICAgIG1hcmdpbjogMCAwLjFlbTtcbiAgICBwYWRkaW5nOiAwIDAuMzVlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDAuNzRlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICBjb2xvcjogdmFyKC0tbWQtY2l0YXRpb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWNpdGF0aW9uLWJnKTtcbn1cblxuLmNpdGF0aW9uUmVmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMS40ZW07XG4gICAgbWFyZ2luOiAwIDAuMWVtO1xuICAgIHBhZGRpbmc6IDAgMC4zNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMC43NGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1jaXRhdGlvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtY2l0YXRpb24tYmcpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHN1cFtkYXRhLWNpdGF0aW9uLWZvb3Rub3RlXSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMCAwLjdlbSAwIDAuMDhlbTtcbiAgICBmb250LXNpemU6IDAuNzJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuIl19 */";
18326
18327
  var styles$b = {"MarkdownContent":"MarkdownContent-module_MarkdownContent__2JuyX","chat-code-block":"MarkdownContent-module_chat-code-block__ZffFg","citation":"MarkdownContent-module_citation__11SMw","citationRef":"MarkdownContent-module_citationRef__fKqaT"};
18327
18328
  styleInject(css_248z$b);
18328
18329
 
@@ -18447,6 +18448,42 @@ const CODE_FENCE_REGEX = /(`{3,}|~{3,})(?:[^\n\r]*)\r?\n[\s\S]*?\r?\n\1[^\n\r]*/
18447
18448
  const INLINE_CODE_REGEX = /(`+)([\s\S]*?)(\1)/g;
18448
18449
  const CODE_PLACEHOLDER_PREFIX = '@@PROMPTBOOK_CODE_PLACEHOLDER__';
18449
18450
  const CODE_PLACEHOLDER_REGEX = new RegExp(`${CODE_PLACEHOLDER_PREFIX}(\\d+)__`, 'g');
18451
+ const DETAILS_BLOCK_REGEX = /<details[\s\S]*?<\/details\s*>/gi;
18452
+ const DETAILS_PLACEHOLDER_PREFIX = '@@PROMPTBOOK_DETAILS_PLACEHOLDER__';
18453
+ const DETAILS_PLACEHOLDER_REGEX = new RegExp(`${DETAILS_PLACEHOLDER_PREFIX}(\\d+)__`, 'g');
18454
+ /** Matches a Showdown-wrapped placeholder such as `<p>@@PROMPTBOOK_DETAILS_PLACEHOLDER__0__</p>` */
18455
+ const DETAILS_PLACEHOLDER_WRAPPED_REGEX = new RegExp(`<p>\\s*(${DETAILS_PLACEHOLDER_PREFIX}\\d+__)\\s*<\\/p>`, 'g');
18456
+ /**
18457
+ * Selector used by the delegated summary click handler.
18458
+ *
18459
+ * @private utility of `MarkdownContent` component
18460
+ */
18461
+ const DETAILS_SUMMARY_SELECTOR = 'summary';
18462
+ /**
18463
+ * Renders the body of one raw `<details>` block as markdown while keeping the
18464
+ * outer `<details>` and optional `<summary>` markup untouched.
18465
+ *
18466
+ * @param detailsBlock - Raw `<details>...</details>` HTML captured from markdown.
18467
+ * @returns `<details>` HTML whose body has been converted from markdown to HTML.
18468
+ *
18469
+ * @private utility of `MarkdownContent` component
18470
+ */
18471
+ function renderDetailsBlock(detailsBlock) {
18472
+ var _a, _b;
18473
+ const openTagMatch = detailsBlock.match(/^<details\b[^>]*>/i);
18474
+ const closeTagMatch = detailsBlock.match(/<\/details\s*>$/i);
18475
+ if (!openTagMatch || !closeTagMatch) {
18476
+ return detailsBlock;
18477
+ }
18478
+ const openTag = openTagMatch[0];
18479
+ const closeTag = closeTagMatch[0];
18480
+ const innerContent = detailsBlock.slice(openTag.length, detailsBlock.length - closeTag.length);
18481
+ const summaryMatch = innerContent.match(/^(\s*<summary\b[^>]*>[\s\S]*?<\/summary\s*>)([\s\S]*)$/i);
18482
+ const summaryHtml = (_a = summaryMatch === null || summaryMatch === void 0 ? void 0 : summaryMatch[1]) !== null && _a !== void 0 ? _a : '';
18483
+ const bodyMarkdown = ((_b = summaryMatch === null || summaryMatch === void 0 ? void 0 : summaryMatch[2]) !== null && _b !== void 0 ? _b : innerContent);
18484
+ const renderedBody = renderMarkdown(bodyMarkdown);
18485
+ return `${openTag}${summaryHtml}${renderedBody}${closeTag}`;
18486
+ }
18450
18487
  /**
18451
18488
  * Masks inline and fenced code segments so math rendering never touches them.
18452
18489
  *
@@ -18476,6 +18513,37 @@ function maskMarkdownCodeSegments(markdown) {
18476
18513
  },
18477
18514
  };
18478
18515
  }
18516
+ /**
18517
+ * Masks `<details>…</details>` blocks in the markdown source so that Showdown never
18518
+ * processes their content (which would break them with `simpleLineBreaks: true`).
18519
+ *
18520
+ * The original blocks are replaced with placeholders before Showdown runs, then restored
18521
+ * afterwards with their non-summary body converted through the normal markdown pipeline.
18522
+ * Any surrounding `<p>` wrapper that Showdown may have injected around a placeholder is
18523
+ * stripped so the `<details>` element remains a proper block-level element.
18524
+ *
18525
+ * @param markdown - Markdown text that may contain raw HTML `<details>` blocks.
18526
+ * @returns Masked markdown and a restore helper that returns `string_html`.
18527
+ *
18528
+ * @private utility of `MarkdownContent` component
18529
+ */
18530
+ function maskDetailsBlocks(markdown) {
18531
+ const blocks = [];
18532
+ DETAILS_BLOCK_REGEX.lastIndex = 0;
18533
+ const masked = markdown.replace(DETAILS_BLOCK_REGEX, (match) => {
18534
+ const placeholder = `${DETAILS_PLACEHOLDER_PREFIX}${blocks.length}__`;
18535
+ blocks.push(renderDetailsBlock(match));
18536
+ return placeholder;
18537
+ });
18538
+ return {
18539
+ masked,
18540
+ restore(value) {
18541
+ return value
18542
+ .replace(DETAILS_PLACEHOLDER_WRAPPED_REGEX, '$1')
18543
+ .replace(DETAILS_PLACEHOLDER_REGEX, (_match, index) => { var _a; return (_a = blocks[Number(index)]) !== null && _a !== void 0 ? _a : ''; });
18544
+ },
18545
+ };
18546
+ }
18479
18547
  function replaceMathDelimiter(md, delimiter) {
18480
18548
  return md.replace(delimiter.regex, (...args) => {
18481
18549
  var _a, _b, _c;
@@ -18528,7 +18596,8 @@ function renderMarkdown(markdown) {
18528
18596
  }
18529
18597
  try {
18530
18598
  const normalizedMarkdown = normalizeMarkdownSublists(markdown);
18531
- const processedMarkdown = renderMathInMarkdown(normalizedMarkdown);
18599
+ const { masked: maskedMarkdown, restore: restoreDetails } = maskDetailsBlocks(normalizedMarkdown);
18600
+ const processedMarkdown = renderMathInMarkdown(maskedMarkdown);
18532
18601
  const html = chatMarkdownConverter.makeHtml(processedMarkdown);
18533
18602
  if (typeof window !== 'undefined') {
18534
18603
  if (html.match(/class="katex/)) {
@@ -18542,7 +18611,8 @@ function renderMarkdown(markdown) {
18542
18611
  }
18543
18612
  }
18544
18613
  }
18545
- const sanitizedHtml = html
18614
+ const restoredHtml = restoreDetails(html);
18615
+ const sanitizedHtml = restoredHtml
18546
18616
  .replace(/<\s*(script|style|iframe|object|embed)[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi, '')
18547
18617
  .replace(/\s+on\w+="[^"]*"/gi, '')
18548
18618
  .replace(/\s+javascript:/gi, '')
@@ -18564,24 +18634,116 @@ function renderMarkdown(markdown) {
18564
18634
  });
18565
18635
  }
18566
18636
  }
18637
+ /**
18638
+ * Returns a stable key for a `<details>` element based on its `<summary>` text.
18639
+ * Used to identify and restore open state across re-renders.
18640
+ *
18641
+ * @private utility of `MarkdownContent` component
18642
+ */
18643
+ function getDetailsKey(details) {
18644
+ var _a, _b;
18645
+ const summary = details.querySelector('summary');
18646
+ return (_b = (_a = summary === null || summary === void 0 ? void 0 : summary.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
18647
+ }
18648
+ /**
18649
+ * Synchronizes the stored open-state registry with the current state of one `<details>` element.
18650
+ *
18651
+ * @param details - The `<details>` element whose open state should be tracked.
18652
+ * @param openDetailsKeys - Mutable registry of currently open details keys.
18653
+ * @private utility of `MarkdownContent` component
18654
+ */
18655
+ function syncTrackedDetailsOpenState(details, openDetailsKeys) {
18656
+ const key = getDetailsKey(details);
18657
+ if (details.open) {
18658
+ openDetailsKeys.add(key);
18659
+ }
18660
+ else {
18661
+ openDetailsKeys.delete(key);
18662
+ }
18663
+ }
18664
+ /**
18665
+ * Resolves the `<details>` element that owns the clicked `<summary>`, if any.
18666
+ *
18667
+ * @param target - Event target received from the delegated click listener.
18668
+ * @param container - Markdown container that owns the rendered HTML.
18669
+ * @returns Matching `<details>` element or `null` when the click happened elsewhere.
18670
+ * @private utility of `MarkdownContent` component
18671
+ */
18672
+ function resolveClickedDetailsElement(target, container) {
18673
+ const targetElement = target instanceof Element ? target : target instanceof Node ? target.parentElement : null;
18674
+ if (!(targetElement instanceof Element)) {
18675
+ return null;
18676
+ }
18677
+ const summary = targetElement.closest(DETAILS_SUMMARY_SELECTOR);
18678
+ if (!(summary instanceof HTMLElement) || !container.contains(summary)) {
18679
+ return null;
18680
+ }
18681
+ const details = summary.closest('details');
18682
+ return details instanceof HTMLDetailsElement ? details : null;
18683
+ }
18567
18684
  /**
18568
18685
  * Renders markdown content with support for code highlighting, math, and tables.
18569
18686
  *
18570
18687
  * @public exported from `@promptbook/components`
18571
18688
  */
18572
- function MarkdownContent(props) {
18689
+ const MarkdownContent = memo(function MarkdownContent(props) {
18573
18690
  const { content, className, onCreateAgent } = props;
18574
18691
  const htmlContent = useMemo(() => renderMarkdown(content), [content]);
18575
18692
  const containerRef = useRef(null);
18576
18693
  const rootsRef = useRef([]);
18694
+ /** Tracks which `<details>` elements (by summary key) are currently open */
18695
+ const openDetailsKeysRef = useRef(new Set());
18696
+ const onCreateAgentRef = useRef(onCreateAgent);
18697
+ onCreateAgentRef.current = onCreateAgent;
18577
18698
  useEffect(() => {
18578
18699
  // Cleanup previous roots
18579
18700
  rootsRef.current.forEach((root) => root.unmount());
18580
18701
  rootsRef.current = [];
18581
- if (!containerRef.current) {
18702
+ const containerElement = containerRef.current;
18703
+ if (!containerElement) {
18582
18704
  return;
18583
18705
  }
18584
- const preElements = containerRef.current.querySelectorAll('pre');
18706
+ // Restore previously open <details> elements that may have been closed by a
18707
+ // streaming innerHTML update (dangerouslySetInnerHTML resets the DOM on every
18708
+ // content change, which collapses any open <details> back to closed).
18709
+ const detailsElements = containerElement.querySelectorAll('details');
18710
+ detailsElements.forEach((details) => {
18711
+ if (openDetailsKeysRef.current.has(getDetailsKey(details))) {
18712
+ details.open = true;
18713
+ }
18714
+ });
18715
+ // Keep openDetailsKeysRef in sync when the user toggles a <details> element.
18716
+ const handleToggle = (event) => {
18717
+ const details = event.target;
18718
+ if (!(details instanceof HTMLDetailsElement) || !containerElement.contains(details)) {
18719
+ return;
18720
+ }
18721
+ syncTrackedDetailsOpenState(details, openDetailsKeysRef.current);
18722
+ };
18723
+ const pendingToggleFallbackTimeoutIds = new Set();
18724
+ // Let the browser perform the native `<details>` toggle, but stop the click from bubbling
18725
+ // into surrounding chat-level handlers. When the environment does not implement native
18726
+ // `<summary>` toggling (for example JSDOM tests), a short fallback keeps behavior covered.
18727
+ const handleSummaryClick = (event) => {
18728
+ const details = resolveClickedDetailsElement(event.target, containerElement);
18729
+ if (!details) {
18730
+ return;
18731
+ }
18732
+ event.stopPropagation();
18733
+ const previousOpenState = details.open;
18734
+ const fallbackTimeoutId = window.setTimeout(() => {
18735
+ pendingToggleFallbackTimeoutIds.delete(fallbackTimeoutId);
18736
+ if (!details.isConnected || details.open !== previousOpenState) {
18737
+ return;
18738
+ }
18739
+ details.open = !previousOpenState;
18740
+ syncTrackedDetailsOpenState(details, openDetailsKeysRef.current);
18741
+ }, 0);
18742
+ pendingToggleFallbackTimeoutIds.add(fallbackTimeoutId);
18743
+ };
18744
+ containerElement.addEventListener('toggle', handleToggle, true);
18745
+ containerElement.addEventListener('click', handleSummaryClick);
18746
+ const preElements = containerElement.querySelectorAll('pre');
18585
18747
  preElements.forEach((pre) => {
18586
18748
  // Check if it is a code block (has code element)
18587
18749
  const codeElement = pre.querySelector('code');
@@ -18605,18 +18767,22 @@ function MarkdownContent(props) {
18605
18767
  pre.appendChild(mountPoint);
18606
18768
  // Render CodeBlock
18607
18769
  const root = createRoot(mountPoint);
18608
- root.render(jsx(CodeBlock, { code: code, language: language, onCreateAgent: onCreateAgent }));
18770
+ root.render(jsx(CodeBlock, { code: code, language: language, onCreateAgent: onCreateAgentRef.current }));
18609
18771
  rootsRef.current.push(root);
18610
18772
  });
18611
18773
  return () => {
18774
+ containerElement.removeEventListener('toggle', handleToggle, true);
18775
+ containerElement.removeEventListener('click', handleSummaryClick);
18776
+ pendingToggleFallbackTimeoutIds.forEach((timeoutId) => window.clearTimeout(timeoutId));
18777
+ pendingToggleFallbackTimeoutIds.clear();
18612
18778
  rootsRef.current.forEach((root) => root.unmount());
18613
18779
  rootsRef.current = [];
18614
18780
  };
18615
- }, [htmlContent, onCreateAgent]);
18781
+ }, [htmlContent]);
18616
18782
  return (jsx("div", { ref: containerRef, className: classNames(styles$b.MarkdownContent, className), dangerouslySetInnerHTML: {
18617
18783
  __html: htmlContent,
18618
18784
  } }));
18619
- }
18785
+ });
18620
18786
 
18621
18787
  /**
18622
18788
  * Core Promptbook server configuration
@@ -21670,6 +21836,49 @@ function useChatAutoScroll(config = {}) {
21670
21836
  };
21671
21837
  }
21672
21838
 
21839
+ /**
21840
+ * Plays the "message received" sound + vibration exactly once when the last
21841
+ * assistant message transitions to a completed / finalized state.
21842
+ *
21843
+ * Notifications are suppressed for:
21844
+ * - Every streaming chunk / intermediate content update
21845
+ * - `message_typing` lifecycle events before the message is finalized
21846
+ * - Re-renders of an already-notified completed message (idempotent)
21847
+ * - User-originated messages
21848
+ *
21849
+ * @param messages - Current list of chat messages
21850
+ * @param soundSystem - Optional sound system instance; no-op when absent
21851
+ *
21852
+ * @private internal hook of `<Chat/>`
21853
+ */
21854
+ function useChatCompleteNotification(messages, soundSystem) {
21855
+ /**
21856
+ * Tracks the stable key of the last message for which the completion
21857
+ * notification was already fired, preventing double-firing on re-renders.
21858
+ */
21859
+ const notifiedMessageKeyRef = useRef(null);
21860
+ useEffect(() => {
21861
+ var _a;
21862
+ if (!soundSystem || messages.length === 0) {
21863
+ return;
21864
+ }
21865
+ const lastMessage = messages[messages.length - 1];
21866
+ // Only notify for completed assistant messages
21867
+ if (!lastMessage || lastMessage.sender === 'USER' || !lastMessage.isComplete) {
21868
+ return;
21869
+ }
21870
+ // Derive a stable per-message key; fall back to positional index when
21871
+ // the message has no id so we never coalesce distinct messages.
21872
+ const messageKey = (_a = lastMessage.id) !== null && _a !== void 0 ? _a : `index-${messages.length - 1}`;
21873
+ // Guard: fire only once per unique completed message
21874
+ if (notifiedMessageKeyRef.current === messageKey) {
21875
+ return;
21876
+ }
21877
+ notifiedMessageKeyRef.current = messageKey;
21878
+ /* not await */ soundSystem.play('message_receive');
21879
+ }, [messages, soundSystem]);
21880
+ }
21881
+
21673
21882
  const DEFAULT_FEEDBACK_SUCCESS_MESSAGE = 'Thank you for your feedback!';
21674
21883
  const DEFAULT_REPORT_ISSUE_SUCCESS_MESSAGE = 'Issue report submitted. Thank you!';
21675
21884
  const DEFAULT_FEEDBACK_ERROR_MESSAGE = 'Failed to save feedback. Please try again.';
@@ -22773,13 +22982,16 @@ const mdSaveFormatDefinition = {
22773
22982
  /**
22774
22983
  * Builds display-ready timestamp and duration labels for a chat message.
22775
22984
  *
22985
+ * @param message - Message with optional timestamp metadata.
22986
+ * @param locale - Optional moment locale used for formatting.
22987
+ *
22776
22988
  * @private utility of `<Chat/>` component
22777
22989
  */
22778
- function getChatMessageTimingDisplay(message) {
22990
+ function getChatMessageTimingDisplay(message, locale) {
22779
22991
  if (!message.createdAt) {
22780
22992
  return null;
22781
22993
  }
22782
- const timestamp = moment(message.createdAt);
22994
+ const timestamp = moment(message.createdAt).locale(locale || moment.locale());
22783
22995
  if (!timestamp.isValid()) {
22784
22996
  return null;
22785
22997
  }
@@ -22788,7 +23000,7 @@ function getChatMessageTimingDisplay(message) {
22788
23000
  : formatGenerationDurationLabel(message.generationDurationMs);
22789
23001
  return {
22790
23002
  timeLabel: timestamp.format('LT'),
22791
- fullLabel: timestamp.format('YYYY-MM-DD HH:mm:ss'),
23003
+ fullLabel: timestamp.format('L LTS'),
22792
23004
  durationLabel,
22793
23005
  };
22794
23006
  }
@@ -23002,8 +23214,8 @@ function getChatSaveFormatDefinitions(formatNames) {
23002
23214
  return CHAT_SAVE_FORMATS.filter((saveFormatDefinition) => formatNames.includes(saveFormatDefinition.formatName));
23003
23215
  }
23004
23216
 
23005
- var css_248z$5 = "@font-face{font-display:swap;font-family:OpenMojiBlack;src:url(/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}@font-face{font-display:swap;font-family:OpenMojiColor;src:url(/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}.Chat-module_copiedToClipboardMessage__apCPY{background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:1.1em;left:50%;opacity:.97;padding:10px 24px;pointer-events:none;position:fixed;top:32px;transform:translateX(-50%);z-index:9999}.Chat-module_Chat__j2eE5{--chat-message-min-width:170px;--chat-message-avatar-gap:14px;--chat-message-avatar-size:42px;--chat-message-max-width:min(72%,680px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-bubble-radius:24px;--chat-bubble-shadow:0 12px 34px rgba(15,23,42,.16);--chat-bubble-shadow-hover:0 18px 42px rgba(15,23,42,.2);--chat-bubble-border-color:hsla(0,0%,100%,.34);--chat-bubble-font-size:15px;--chat-bubble-line-height:1.62;--chat-input-visible-lines:3;--chat-input-font-size:15px;--chat-input-line-height:1.5;--chat-input-padding-y:10px;--chat-input-padding-x:12px;--chat-input-action-size:40px;--chat-input-textarea-height:calc(var(--chat-input-visible-lines)*var(--chat-input-font-size)*var(--chat-input-line-height) + var(--chat-input-padding-y)*2);display:flex;flex-direction:column;font-family:var(--chat-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)),\"OpenMojiColor\",\"OpenMojiBlack\";height:100%;min-height:0;overflow:hidden;width:100%}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;height:100%;max-width:100%;min-height:0;min-width:0;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:#fff;border-bottom:1px solid rgba(15,23,36,.06);color:#0f1724;font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;transition:opacity .2s ease;width:auto;will-change:opacity;z-index:40}.Chat-module_actions__gTZ5T.Chat-module_portal__uTOT8{margin:0}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}.Chat-module_actionsFaded__qqAVQ{opacity:.3}.Chat-module_actionsScrolling__fIawW{opacity:.15;pointer-events:none}@media (max-width:900px){.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK{grid-area:💬;height:100%;min-height:0;min-width:0;width:100%;z-index:300}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{grid-area:💬;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 18px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ{padding-top:80px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:7px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);column-gap:var(--chat-message-avatar-gap);display:flex;flex-direction:row;margin-bottom:24px;max-width:100%;min-width:0;position:relative}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL{align-items:flex-start;display:flex;flex-direction:column;max-width:var(--chat-message-max-width);min-width:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageStack__n0xNL{align-items:flex-end}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL>*{max-width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0{align-items:stretch}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{align-items:stretch;max-width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)))}@media (max-width:900px){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{max-width:min(92vw,640px);width:min(92vw,640px)}}.Chat-module_messageMeta__eqCRu{align-items:center;color:rgba(71,85,105,.85);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;line-height:1.4;margin:6px 8px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageMeta__eqCRu{align-self:flex-end;text-align:right}.Chat-module_messageLifecycleBadge__4jDDc{align-items:center;background:rgba(148,163,184,.16);border-radius:999px;color:#475569;display:inline-flex;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.Chat-module_messageTimestamp__LDhRw{letter-spacing:.02em}.Chat-module_messageDuration__Y9Kg9{opacity:.85}.Chat-module_messageLifecycleError__m-FO-{color:#b91c1c;font-size:12px;line-height:1.45;margin:4px 6px 0}.Chat-module_participantLabel__0Oo-3{color:rgba(71,85,105,.82);font-size:11.5px;font-weight:600;letter-spacing:.07em;margin:0 0 7px;text-transform:uppercase}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_participantLabel__0Oo-3{text-align:right}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isNotCompleteMessage__Hj2K7{opacity:.7;position:relative}.Chat-module_NonCompleteMessageFiller__G5-Ve{color:transparent}.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}.Chat-module_citationFootnotes__LAWdh,.Chat-module_sourceCitations__oDtBX,.Chat-module_toolCallChips__UWgC1{border-top:1px solid hsla(0,0%,49%,.28);border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.Chat-module_citationFootnotes__LAWdh{align-items:flex-start;flex-direction:column}.Chat-module_citationFootnoteItem__JXTAX{align-items:center;display:inline-flex;gap:8px;min-height:32px}.Chat-module_citationFootnoteNumber__CMmm9{color:color-mix(in srgb,var(--message-text-color,#0f172a) 78%,transparent);font-size:.84rem;font-weight:700;line-height:1;min-width:1.25rem}.Chat-module_toolCallChip__koN18{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.78) 26%);border:1px solid hsla(0,0%,49%,.3);border:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:flex;font-family:OpenMojiColor,OpenMojiBlack,Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:600;gap:8px;padding:5px 11px;transition:all .2s ease}.Chat-module_toolCallChip__koN18:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.86) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_toolCallChipOngoing__wKcDY{background:rgba(14,165,233,.1);border-color:rgba(59,130,246,.8)}.Chat-module_toolCallChipStatus__I-nl9{align-items:center;display:inline-flex;margin-left:auto}.Chat-module_teamToolCall__5F45R,.Chat-module_transitiveToolCall__WcaaK{gap:8px;justify-content:flex-start}.Chat-module_teamAgentChip__mvgtY,.Chat-module_transitiveAgentChip__zNOJf{flex-shrink:0}.Chat-module_toolCallLabel__q7EFf{flex:1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_toolCallWithError__AtQqO{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.8)}.Chat-module_toolCallOrigin__-Io6Y{font-size:.85em;font-weight:500;opacity:.75;white-space:nowrap}.Chat-module_toolCallDetails__WUFlD{margin-bottom:24px}.Chat-module_toolCallDetails__WUFlD p{margin-bottom:8px}.Chat-module_toolCallData__UauCO{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;max-height:300px;overflow-x:auto;padding:12px;word-break:break-all}.Chat-module_toolCallChipSpinner__ZGTwl{animation:Chat-module_toolCallSpinner__LSiK6 .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes Chat-module_toolCallSpinner__LSiK6{to{transform:rotate(1turn)}}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,#6b7280,hsla(0,0%,49%,.6));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:10px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:not(.Chat-module_isMe__nBtaV) .Chat-module_messageText__XgNyQ{border-bottom-left-radius:10px}.Chat-module_ratingStar__rRfqC{color:var(--star-inactive-color,#ccc);cursor:pointer;font-size:20px;transition:color .2s}.Chat-module_ratingStar__rRfqC.Chat-module_active__lbYL-{color:gold}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{aspect-ratio:1/1;flex-shrink:0;height:var(--chat-message-avatar-size);margin:0 0 4px;position:relative;width:var(--chat-message-avatar-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-md-heading-font-family:var(\n --font-barlow-condensed,\"Barlow Condensed\",var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n );--chat-md-body-font-family:inherit;--chat-md-text-color:var(--message-text-color,#0f172a);--chat-md-link-color:#2563eb;--chat-md-muted-color:var(--message-text-color,#0f172a);--chat-md-inline-code-bg:rgba(15,23,42,.16);--chat-md-inline-code-border:rgba(15,23,42,.2);--chat-md-inline-code-color:var(--message-text-color,#0f172a);--chat-md-blockquote-bg:hsla(0,0%,100%,.2);--chat-md-blockquote-border:rgba(56,189,248,.52);--chat-md-table-bg:hsla(0,0%,100%,.22);--chat-md-table-row-alt-bg:hsla(0,0%,100%,.12);--chat-md-table-head-bg:hsla(0,0%,100%,.3);--chat-md-table-border:hsla(0,0%,100%,.36);--chat-md-citation-bg:hsla(0,0%,100%,.25);--chat-md-citation-color:var(--message-text-color,#0f172a);backdrop-filter:blur(14px);background-color:var(--message-bg-color);border:1px solid var(--chat-bubble-border-color);border-radius:var(--chat-bubble-radius);box-shadow:var(--chat-bubble-shadow),inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--message-text-color);font-family:inherit;font-size:var(--chat-bubble-font-size);hyphens:auto;letter-spacing:.0025em;line-height:var(--chat-bubble-line-height);margin-bottom:6px;max-width:100%;min-width:min(var(--chat-message-min-width),100%);overflow-wrap:anywhere;padding:16px 20px;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}@supports (color:color-mix(in srgb,#000 50%,#fff 50%)){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-bubble-border-color:color-mix(in srgb,var(--message-bg-color,#fff) 72%,hsla(0,0%,100%,.46) 28%);--chat-md-link-color:color-mix(in srgb,var(--message-text-color,#0f172a) 72%,#7dd3fc 28%);--chat-md-muted-color:color-mix(in srgb,var(--message-text-color,#0f172a) 84%,transparent);--chat-md-inline-code-bg:color-mix(in srgb,var(--message-bg-color,#fff) 65%,rgba(15,23,42,.2) 35%);--chat-md-inline-code-border:color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);--chat-md-blockquote-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.86) 22%);--chat-md-blockquote-border:color-mix(in srgb,var(--message-text-color,#0f172a) 34%,#7dd3fc 66%);--chat-md-table-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.9) 22%);--chat-md-table-row-alt-bg:color-mix(in srgb,var(--message-bg-color,#fff) 70%,hsla(0,0%,100%,.82) 30%);--chat-md-table-head-bg:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.94) 36%);--chat-md-table-border:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);--chat-md-citation-bg:color-mix(in srgb,var(--message-bg-color,#fff) 55%,hsla(0,0%,100%,.94) 45%);background:linear-gradient(158deg,color-mix(in srgb,var(--message-bg-color,#fff) 86%,hsla(0,0%,100%,.3) 14%),color-mix(in srgb,var(--message-bg-color,#fff) 95%,rgba(2,6,23,.08) 5%))}}.Chat-module_copyButtonContainer__Rij0U{opacity:0;pointer-events:none;position:absolute;right:12px;top:10px;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;z-index:3}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover .Chat-module_copyButtonContainer__Rij0U,.Chat-module_copyButtonContainer__Rij0U:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.Chat-module_messageControlGroup__gAo4k{align-items:center;display:flex;gap:7px;pointer-events:auto}.Chat-module_copyButton__DcxT5{backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.46);box-shadow:0 2px 8px rgba(15,23,42,.16);display:flex;opacity:1;padding:4px 7px;transition:all .15s,box-shadow .15s,border .15s}.Chat-module_copyButton__DcxT5,.Chat-module_playButton__ZigYL{align-items:center;background:hsla(0,0%,100%,.28);border-radius:10px;cursor:pointer;position:relative}.Chat-module_playButton__ZigYL{border:1px solid hsla(0,0%,100%,.48);color:#111;display:inline-flex;height:34px;justify-content:center;padding:0;transition:all .15s ease;width:34px}.Chat-module_playButtonIcon__wPErq{height:16px;width:16px}.Chat-module_playButtonSpinner__Ad33i{animation:Chat-module_messagePlaySpinner__ldlvy .9s linear infinite;border:2px solid rgba(0,0,0,.3);border-radius:50%;border-top-color:#111;height:16px;width:16px}.Chat-module_playButton__ZigYL:hover:not(:disabled){background:hsla(0,0%,100%,.36);border-color:hsla(0,0%,100%,.7)}.Chat-module_playButton__ZigYL:disabled{cursor:not-allowed;opacity:.6}@keyframes Chat-module_messagePlaySpinner__ldlvy{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Chat-module_copiedTooltip__LH81j{animation:Chat-module_copiedTooltipFadeIn__QekO1 .2s;background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:.98em;left:50%;margin-top:4px;max-width:220px;opacity:.97;overflow-wrap:break-word;padding:6px 16px;pointer-events:none;position:absolute;top:110%;transform:translateX(-50%);white-space:nowrap;word-break:break-word;z-index:100}.Chat-module_copiedTooltipLeft__j-S-5{left:0!important;transform:none!important}.Chat-module_copiedTooltipRight__R-2cE{left:auto!important;right:0!important;transform:none!important}@keyframes Chat-module_copiedTooltipFadeIn__QekO1{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.97)}to{opacity:.97;transform:translateX(-50%) translateY(0) scale(1)}}.Chat-module_copyButton__DcxT5:focus,.Chat-module_copyButton__DcxT5:hover{border:1px solid hsla(0,0%,100%,.76);box-shadow:0 5px 14px rgba(15,23,42,.22);opacity:1}.Chat-module_copyButton__DcxT5 svg{display:block}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:var(--chat-bubble-shadow-hover),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateY(-1.5px)}.Chat-module_attachments__m1Fts{border-top:1px solid hsla(0,0%,49%,.28);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 12%,transparent);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_attachment__aE9hK{align-items:center;background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;color:inherit;display:flex;font-size:12.5px;gap:6px;max-width:200px;padding:7px 12px;text-decoration:none;transition:all .2s ease}.Chat-module_attachment__aE9hK:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 62%,hsla(0,0%,100%,.9) 38%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 24%,transparent);transform:translateY(-1px)}.Chat-module_attachmentIcon__BX3Cy{font-size:14px;opacity:.8}.Chat-module_attachmentName__aMx56{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.36);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.2);background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border:1px solid hsla(0,0%,49%,.9);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);border-radius:999px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 15px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:disabled{box-shadow:none;cursor:progress;opacity:.72;transform:none}.Chat-module_messageButton__mRnn-:hover{background:hsla(0,0%,100%,.3);background:color-mix(in srgb,var(--message-bg-color,#fff) 66%,hsla(0,0%,100%,.9) 34%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 26%,#7dd3fc 74%);box-shadow:0 5px 14px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:hover:disabled{background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_actionMessageButton__avcbv{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95);color:#fff}.Chat-module_actionMessageButton__avcbv:hover{background:rgba(31,41,55,.98);border-color:rgba(17,24,39,.98);box-shadow:0 4px 14px rgba(15,23,42,.32)}.Chat-module_actionMessageButton__avcbv:hover:disabled{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95)}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_feedbackIssueButton__9NrrF{align-items:center;background:transparent;border:0;color:gold;cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;line-height:1;padding:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{backdrop-filter:blur(20px);background:linear-gradient(180deg,rgba(248,250,252,0),rgba(248,250,252,.9) 44%,rgba(248,250,252,.96));border-top:1px solid rgba(148,163,184,.14);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;grid-area:📝;max-width:100%;min-width:0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%;z-index:10}.Chat-module_Chat__j2eE5.Chat-module_fullPageVisual__zNAEy .Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.86) 60%,hsla(0,0%,100%,.95))}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan.Chat-module_dragOver__bkS-g{background:linear-gradient(180deg,rgba(56,189,248,.04),rgba(14,165,233,.13))}.Chat-module_filePreviewContainer__R70hm{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.Chat-module_filePreview__kq2aX{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:all .2s ease}.Chat-module_filePreview__kq2aX:hover{background:hsla(0,0%,49%,.15);border-color:hsla(0,0%,49%,.3)}.Chat-module_fileIcon__zoSKW{font-size:14px;opacity:.7}.Chat-module_fileInfo__wBLi0{display:flex;flex-direction:column;gap:2px;min-width:0}.Chat-module_fileName__bBujo{color:#000;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_fileSize__ivliq{color:#6b7280;font-size:11px}.Chat-module_removeFileButton__0gakR{align-items:center;background:rgba(255,0,0,.1);border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.Chat-module_removeFileButton__0gakR:hover{background:rgba(255,0,0,.2);transform:scale(1.1)}.Chat-module_inputContainer__bPt99{align-items:center;background:linear-gradient(150deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));border:1px solid rgba(148,163,184,.3);border-radius:26px;box-shadow:0 14px 34px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9);display:flex;gap:10px;min-width:0;padding:9px 12px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_inputContainer__bPt99:focus-within{border-color:var(--brand-color,#0ea5e9);border-color:color-mix(in srgb,var(--brand-color,#0ea5e9) 58%,rgba(15,23,42,.2) 42%);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px rgba(14,165,233,.16);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px color-mix(in srgb,var(--brand-color,#0ea5e9) 16%,transparent);transform:translateY(-1px)}.Chat-module_inputContainer__bPt99 textarea::placeholder{color:#8b9bb1;opacity:1}.Chat-module_attachmentButton__qLO47{align-items:center;background:transparent;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_attachmentButton__qLO47:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.Chat-module_attachmentButton__qLO47:disabled{cursor:not-allowed;opacity:.3}.Chat-module_voiceButton__d2zlP{align-items:center;background:transparent;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_voiceButton__d2zlP:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.Chat-module_voiceButtonActive__Uoi3W{animation:Chat-module_voiceRecordingPulse__y2wJ5 1.5s infinite;background:rgba(239,68,68,.1)!important;color:#ef4444!important}.Chat-module_speechStatusBubble__qBBWI{align-items:center;animation:Chat-module_speechStatusBubbleIn__PBm-c .2s ease-out;appearance:none;background:hsla(0,0%,100%,.95);border:1px solid rgba(15,23,42,.15);border-radius:999px;bottom:86px;box-shadow:0 12px 28px rgba(15,23,42,.18);color:#0f172a;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;max-width:min(320px,calc(100% - 48px));padding:8px 12px;position:absolute;right:24px;text-align:left;z-index:25}.Chat-module_speechStatusBubbleDot__APu53{animation:Chat-module_speechStatusBubbleDotPulse__Guqsu 1.2s ease-in-out infinite;background:#64748b;border-radius:50%;flex-shrink:0;height:8px;width:8px}.Chat-module_speechStatusBubbleRecording__faJs2{background:hsla(0,86%,97%,.97);border-color:rgba(239,68,68,.35);color:#991b1b}.Chat-module_speechStatusBubbleRecording__faJs2 .Chat-module_speechStatusBubbleDot__APu53{background:#ef4444}.Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(236,254,255,.97);border-color:rgba(14,116,144,.35);color:#155e75}.Chat-module_speechStatusBubbleProcessing__Crbuu .Chat-module_speechStatusBubbleDot__APu53{background:#0ea5e9}.Chat-module_speechStatusBubbleError__Nd-Aj{background:hsla(0,86%,97%,.98);border-color:rgba(220,38,38,.35);color:#991b1b}.Chat-module_speechStatusBubbleError__Nd-Aj .Chat-module_speechStatusBubbleDot__APu53{animation:none;background:#dc2626}.Chat-module_dictationPanel__kzbyG{background:hsla(0,0%,100%,.9);border:1px solid rgba(148,163,184,.35);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:#0f172a;display:flex;flex-direction:column;gap:10px;padding:10px 12px}.Chat-module_dictationPanelHeader__rHXTh{align-items:center;display:flex;gap:8px;justify-content:space-between}.Chat-module_dictationPanelTitle__sO9XH{color:#475569;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_dictationPanelToggle__z3HMx{background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:#334155;cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.Chat-module_dictationInterimTranscript__eAbMI{background:rgba(239,246,255,.9);border:1px dashed rgba(59,130,246,.45);border-radius:10px;color:#0c4a6e;cursor:pointer;font-size:13px;line-height:1.45;padding:8px 10px;text-align:left}.Chat-module_dictationErrorPanel__mjbM7{background:hsla(0,86%,97%,.95);border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#991b1b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.Chat-module_dictationErrorActions__K3ykb{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationCorrectionActions__ssE7i button,.Chat-module_dictationErrorActions__K3ykb button{background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.Chat-module_dictationCorrectionPanel__5nh9M{display:flex;flex-direction:column;gap:8px}.Chat-module_dictationCorrectionLabel__U4uzT{color:#334155;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.Chat-module_dictationCorrectionTextarea__5ovj9{background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:#0f172a;font-size:13px;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical;width:100%}.Chat-module_dictationCorrectionActions__ssE7i{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationSettingsPanel__0gI-V{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.Chat-module_dictationSettingsPanel__0gI-V label{align-items:center;color:#334155;display:inline-flex;font-size:12px;gap:6px}.Chat-module_dictationFallbackNote__919pE{color:#475569;font-size:11px;line-height:1.45;margin:0}@keyframes Chat-module_speechStatusBubbleIn__PBm-c{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes Chat-module_speechStatusBubbleDotPulse__Guqsu{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}@keyframes Chat-module_voiceRecordingPulse__y2wJ5{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}to{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.Chat-module_uploadProgress__jBTKe{align-items:center;background:rgba(0,132,255,.1);border:1px solid rgba(0,132,255,.2);border-radius:8px;color:#0084ff;display:flex;font-size:13px;gap:12px;padding:8px 12px}.Chat-module_uploadProgressBar__Gutnt{background:rgba(0,132,255,.2);border-radius:2px;flex:1;height:4px;overflow:hidden}.Chat-module_uploadProgressFill__EgubT{animation:Chat-module_uploadProgress__jBTKe 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0084ff,rgba(0,132,255,.8));border-radius:2px;height:100%}@keyframes Chat-module_uploadProgress__jBTKe{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.Chat-module_dragOverlay__SEGoS{align-items:center;backdrop-filter:blur(10px);background:rgba(0,132,255,.1);border:2px dashed rgba(0,132,255,.5);border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.Chat-module_dragOverlayContent__gb9kF{align-items:center;color:#0084ff;display:flex;flex-direction:column;font-weight:600;gap:12px;text-align:center}.Chat-module_dragOverlayContent__gb9kF svg{opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;background:transparent;border:none;box-sizing:border-box;color:#0f172a;flex:1;font-family:inherit;font-size:var(--chat-input-font-size);font-weight:500;height:var(--chat-input-textarea-height);letter-spacing:.002em;line-height:var(--chat-input-line-height);margin:0;max-height:var(--chat-input-textarea-height);min-height:var(--chat-input-textarea-height);min-width:0;outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) var(--chat-input-padding-x);resize:none;touch-action:manipulation}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:#8ba0b8;opacity:.9}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;border:none;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,132,255,.25);color:#fff;display:flex;height:var(--chat-input-action-size);justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:var(--chat-input-action-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:hover{box-shadow:0 6px 16px rgba(0,132,255,.35);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:active{transform:scale(.95)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action] svg{height:20px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottomWrapper__PCIu1{align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;display:inline-flex;justify-content:center;pointer-events:all;position:relative;transform:translate(-50%,-150%);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottomBadge__N6T6-{align-items:center;background:#2563eb;border-radius:999px;box-shadow:0 2px 10px rgba(37,99,235,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;letter-spacing:.04em;min-width:32px;padding:2px 6px;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:-8px;white-space:nowrap}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;backdrop-filter:blur(8px);background-color:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:#fff;border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:#0f1724;font-family:Arial,Helvetica,sans-serif,OpenMojiColor,OpenMojiBlack;max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:#000;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingModalStar__XkbHr{cursor:pointer;font-size:24px;transition:color .2s}.Chat-module_toolCallModal__uNaIK{max-height:calc(100vh - 48px);max-width:800px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.Chat-module_toolCallHeader__ZaTZF{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff 40%,#fefcc9);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:16px;padding:24px 32px 16px}.Chat-module_toolCallIcon__UgRKj{font-size:32px}.Chat-module_toolCallHeaderMeta__iAL-U{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallModalLabel__4dBP4{color:#475467;font-size:11px;letter-spacing:.35em;margin:0;text-transform:uppercase}.Chat-module_toolCallTitle__jhL0A{color:#0f172a;font-size:24px;font-weight:600;margin:0}.Chat-module_toolCallSubtitle__a2GIO{color:#475467;font-size:13px;margin:0}.Chat-module_toolCallGrid__Nfr7N{background:#fefefe;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:24px 32px 16px}.Chat-module_toolCallPanel__kQZE9{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}.Chat-module_toolCallPanelTitle__-7OtJ{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.25em;margin:0 0 12px;text-transform:uppercase}.Chat-module_toolCallList__5co3s{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Chat-module_toolCallItem__k7W5Z{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallItemLabel__d3C1E{color:#94a3b8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.Chat-module_toolCallItemValue__cStQ0{color:#0f172a;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallSummary__wGZwg{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.Chat-module_toolCallSummaryMeta__RXiSv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_toolCallSummaryMetaBadge__JBi-I{background:rgba(79,70,229,.15);border-radius:999px;color:#312e81;font-size:12px;font-weight:600;padding:5px 12px}.Chat-module_toolCallEmpty__bUz5v{color:#94a3b8;font-size:14px;margin:0}.Chat-module_toolCallPendingCard__L3m7T{background:linear-gradient(180deg,#f8fbff,#f8fafc);border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.Chat-module_toolCallPendingHeader__U3htF{align-items:center;display:flex;gap:10px;justify-content:space-between}.Chat-module_toolCallPendingTitle__4fwLL{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_toolCallPendingBadge__bgY3c{background:rgba(14,165,233,.12);border-radius:999px;color:#0369a1;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.Chat-module_toolCallPendingMessage__grnao{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_toolCallPendingSkeleton__Td5Cu{display:flex;flex-direction:column;gap:8px}.Chat-module_toolCallPendingSkeletonLine__Vldel{animation:Chat-module_toolCallPendingSkeletonPulse__aKDNI 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(226,232,240,.7),#f1f5f9,rgba(226,232,240,.7));background-size:200% 100%;border-radius:999px;height:10px}.Chat-module_toolCallPendingSkeletonShort__FnR-X{width:68%}@keyframes Chat-module_toolCallPendingSkeletonPulse__aKDNI{0%{background-position:100% 50%}to{background-position:-100% 50%}}.Chat-module_toolCallDetailsCard__UJthw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow:hidden}.Chat-module_toolCallDetailsCardRow__-VhfA{border-top:1px solid rgba(226,232,240,.9);color:#334155;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:12px 14px}.Chat-module_toolCallDetailsCardRow__-VhfA:first-child{border-top:none}.Chat-module_toolCallDetailsCardRow__-VhfA strong{color:#0f172a}.Chat-module_toolCallIssues__evhYM{display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 16px}.Chat-module_toolCallIssueBadge__Qbwdp{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.Chat-module_toolCallIssueError__LImeS{background:rgba(239,68,68,.12);color:#b91c1c}.Chat-module_toolCallIssueWarning__chQDf{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_toolCallModeFooter__XaRqI{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 32px 24px}.Chat-module_toolCallModeButton__zlcca{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.Chat-module_toolCallModeButton__zlcca:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.Chat-module_toolCallClockPanel__h4xZd{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.Chat-module_toolCallClockLabels__KJGxe{text-align:center}.Chat-module_toolCallClockPrimary__StLQ8{color:#0f172a;font-size:2em;font-weight:700}.Chat-module_toolCallClockSecondary__O4WaT{color:#475467}.Chat-module_toolCallClockMeta__aObb7{color:#667085;font-size:.9em;margin-top:5px}.Chat-module_timeoutToolSummary__kPPvu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.Chat-module_timeoutToolPrimarySentence__pQfLn{color:#0f172a;font-size:15px;font-weight:600;line-height:1.5;margin:0}.Chat-module_timeoutToolSecondarySentence__iH5Uc{color:#475467;font-size:13px;line-height:1.5;margin:6px 0 0}.Chat-module_timeoutToolActionRow__occir{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_timeoutToolActionButton__8yz0R{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,background-color .2s ease}.Chat-module_timeoutToolActionButton__8yz0R:hover{background:#f1f5f9;border-color:#94a3b8}.Chat-module_timeoutToolActionButton__8yz0R:disabled{cursor:default;opacity:.45}.Chat-module_memoryModalHeader__SpZJT{align-items:flex-start;background:linear-gradient(180deg,#fdfdfd,#f6f9ff);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:28px 32px 16px}.Chat-module_memoryModalIcon__eYbli{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:18px;box-shadow:0 18px 28px rgba(15,23,42,.18);color:#fff;display:inline-flex;font-size:24px;height:52px;justify-content:center;width:52px}.Chat-module_memoryModalHeaderText__S6MZG{flex:1}.Chat-module_memoryModalTitle__zzbaQ{color:#0f172a;font-size:22px;font-weight:600;margin:0}.Chat-module_memoryModalSubtitle__PStci{color:#475467;font-size:14px;margin:4px 0 0}.Chat-module_memoryModalStatus__bmrfc{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:6px 14px;white-space:nowrap}.Chat-module_memoryStatusDot__c0oVs{background:currentColor;border-radius:50%;display:inline-block;height:8px;width:8px}.Chat-module_memoryModalContent__8E7oj{background:#fff;display:flex;flex-direction:column;gap:16px;padding:24px 32px 32px}.Chat-module_memoryMessage__q0pNK{color:#0f172a;font-size:15px;font-weight:500;margin:0}.Chat-module_memoryMetaRow__Hc-Xp{align-items:center;color:#475467;display:flex;font-size:13px;justify-content:space-between}.Chat-module_memoryMetaLabel__LFx11{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_memoryMetaValue__4bILO{color:#0f172a;font-weight:600}.Chat-module_memoryRetrieveSection__VbuS4,.Chat-module_memoryStoreSection__qQJPN{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryCard__-kIDN{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px rgba(15,23,42,.08);padding:18px}.Chat-module_memoryCardContent__l9S4G{color:#0f172a;font-size:14px;line-height:1.6;overflow-wrap:break-word;white-space:pre-wrap}.Chat-module_memoryCardMeta__K66KE{align-items:center;color:#94a3b8;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.Chat-module_memoryScopeBadge__T2ACc{background:rgba(124,58,237,.12);border-radius:999px;color:#0f172a;font-size:11px;font-weight:700;padding:3px 10px}.Chat-module_memoryList__pUOg2{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryEmptyState__fPrXA{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-weight:500;padding:16px}.Chat-module_memoryListFooter__Y0Q2Z{color:#475467;font-size:13px;text-align:center}.Chat-module_memoryStatusSuccess__4bhfo{background:rgba(16,185,129,.16);color:#047857}.Chat-module_memoryStatusWarning__AR6yh{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_memoryStatusError__ZNAT6{background:rgba(239,68,68,.15);color:#b91c1c}.Chat-module_memoryStatusNeutral__Fa-4M{background:rgba(96,165,250,.15);color:#1d4ed8}.Chat-module_searchModalHeader__Y8V-w{align-items:center;background:#fdfdfd;border-bottom:1px solid #eee;display:flex;gap:16px;padding:24px 72px 24px 32px}.Chat-module_selfLearningModalHeader__PDIt1{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef9c3 45%,#ecfccb);border-bottom:1px solid #e2e8f0;gap:18px}.Chat-module_selfLearningAvatarGroup__jgy2k{align-items:center;display:flex;gap:10px}.Chat-module_selfLearningAvatar__NHXKm{align-items:center;background:#e2e8f0;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 10px 20px rgba(15,23,42,.18);color:#0f172a;display:inline-flex;font-size:18px;font-weight:600;height:48px;justify-content:center;letter-spacing:.02em;width:48px}.Chat-module_selfLearningAvatarInitial__cuw19{line-height:1}.Chat-module_selfLearningTeacher__fGhX8{background:linear-gradient(135deg,#fde68a,#86efac)}.Chat-module_selfLearningHeaderText__LTwHL{display:flex;flex-direction:column;gap:6px;text-align:left}.Chat-module_selfLearningTitle__G0SAk{color:#0f172a;font-size:20px;font-weight:600;margin:0}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:12px}.Chat-module_selfLearningMeta__58Pet{color:#64748b;font-size:13px}.Chat-module_selfLearningMetaChip__0go88{background:#e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;font-weight:600;padding:4px 10px}.Chat-module_selfLearningCommitments__7ECnr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.Chat-module_selfLearningCommitmentsLabel__OkDO1{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_selfLearningBookEditor__CZy5T{border-radius:12px;margin-top:12px;overflow:hidden}.Chat-module_selfLearningEmpty__vCKHL{color:#475569;font-size:13px;margin-top:12px}.Chat-module_modalCloseButton__AAfWS{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 16px rgba(15,23,42,.08);color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px;z-index:1}.Chat-module_modalCloseButton__AAfWS:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0f172a;transform:translateY(-1px)}.Chat-module_modalCloseButton__AAfWS:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.Chat-module_teamModalHeader__SB5NL{flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderParticipants__KS7aV{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderProfile__xRlcS{align-items:center;color:inherit;display:inline-flex;gap:12px;text-decoration:none}.Chat-module_teamHeaderProfileLink__fYTfT:hover{color:#0f172a}.Chat-module_teamHeaderAvatar__vXcTp{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.08);height:40px;width:40px}.Chat-module_teamHeaderName__ygJR9{color:#0f172a;font-size:18px;font-weight:600}.Chat-module_teamHeaderDivider__cnRMd{color:#94a3b8;font-size:14px;font-weight:600}.Chat-module_searchModalIcon__AR5KY{align-items:center;color:#475569;display:inline-flex;font-size:24px;justify-content:center}.Chat-module_searchModalQuery__5x-Ra{color:#202124!important;font-size:22px!important;font-weight:500!important;margin:0!important;text-align:left!important}.Chat-module_searchModalContent__mWLIE{background:#fff;max-height:60vh;overflow-y:auto;padding:24px 32px}.Chat-module_teamChatContainer__xdLtU{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:20px;overflow:hidden}.Chat-module_teamToolCallSection__FH9l7{display:flex;flex-direction:column;gap:16px}.Chat-module_teamToolCallGroup__PO6rl{display:flex;flex-direction:column;gap:8px}.Chat-module_teamToolCallHeading__G-JSj{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_teamToolCallChips__hRWqh{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_teamToolCallDetails__ZaTtt{background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:16px}.Chat-module_teamToolCallDetailsHeader__FPIgI{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.Chat-module_teamToolCallDetailsTitle__50SeL{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;gap:6px}.Chat-module_teamToolCallDetailsClear__8yvu7{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.4);border-radius:999px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.Chat-module_teamToolCallDetailsClear__8yvu7:hover{background:rgba(148,163,184,.35)}.Chat-module_searchResultsList__xVDUZ{display:flex;flex-direction:column;gap:28px;text-align:left}.Chat-module_searchResultsRaw__i3GkD{max-width:650px;text-align:left}.Chat-module_searchResultItem__bTzq5{max-width:650px}.Chat-module_searchResultUrl__SbrH4{color:#202124;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_searchResultUrl__SbrH4 a{color:#202124;text-decoration:none}.Chat-module_searchResultTitle__XS7zN{font-size:20px!important;font-weight:400!important;line-height:1.3;margin:0 0 4px!important}.Chat-module_searchResultTitle__XS7zN a{color:#1a0dab;text-decoration:none}.Chat-module_searchResultTitle__XS7zN a:hover{text-decoration:underline}.Chat-module_searchResultSnippet__Wsun2{color:#4d5156;font-size:14px;line-height:1.58;margin:0}.Chat-module_noResults__AAv6s{color:#70757a;font-style:italic;padding:40px;text-align:center}.Chat-module_citationDetails__2v2e1,.Chat-module_toolCallDetails__WUFlD{margin:20px 0;text-align:left}.Chat-module_citationPreview__rGhCR{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;margin-top:16px;overflow:hidden}.Chat-module_citationIframe__ngzFY{border:none;display:block;height:60vh;min-height:400px;width:100%}.Chat-module_citationMetadata__DPaCF{background:#f8f8f8;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.Chat-module_citationMetadata__DPaCF p{font-size:.9em;margin:8px 0}.Chat-module_citationMetadata__DPaCF strong{color:#333}.Chat-module_citationMetadata__DPaCF a{color:#007bff;text-decoration:none;word-break:break-all}.Chat-module_citationMetadata__DPaCF a:hover{text-decoration:underline}.Chat-module_citationExcerpt__VU4BS{background:#fff;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.Chat-module_citationExcerpt__VU4BS h4{color:#333;font-size:1em;margin:0 0 12px}.Chat-module_citationHint__5AkLx{font-size:.85em;margin-top:8px;opacity:.7}.Chat-module_toolCallDataContainer__rdEzC{background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:15px;max-height:300px;overflow-y:auto;padding:12px}.Chat-module_toolCallPayloadContainer__v2yVn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .monaco-scrollable-element,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .overflow-guard,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor-background{background:#f8fafc!important}.Chat-module_toolCallData__UauCO{font-size:.85em;margin:0;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallModal__uNaIK .Chat-module_toolCallData__UauCO{background:#f8fafc;color:#0f172a}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:#0b1220;font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:#0084ff;box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,#0084ff,#06c);color:#fff}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,#0071d1,#0052a3);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_downloadButton__8--bk{align-items:center;background:linear-gradient(135deg,#0084ff,#06c);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,132,255,.2);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.Chat-module_downloadButton__8--bk:hover{background:linear-gradient(135deg,#09f,#07d);box-shadow:0 4px 16px rgba(0,132,255,.3);transform:translateY(-2px)}.Chat-module_downloadButton__8--bk:active{box-shadow:0 2px 8px rgba(0,132,255,.2);transform:translateY(0)}.Chat-module_downloadButton__8--bk svg{flex-shrink:0}.Chat-module_downloadButton__8--bk span{font-weight:600}.Chat-module_chatButton__d9VgA,.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(18px)!important;background:linear-gradient(140deg,#0f8ef5,#0b6fd0 56%,#0d5fbb)!important;border:1px solid hsla(0,0%,100%,.24)!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(14,116,219,.28),inset 0 1px 0 hsla(0,0%,100%,.2)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-family:inherit!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;letter-spacing:.02em!important;line-height:1.2!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:11px 16px!important;position:relative!important;touch-action:manipulation!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;user-select:none!important}.Chat-module_chatButton__d9VgA:before,.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.26) 48%,transparent);content:\"\";height:100%;left:-110%;position:absolute;top:0;transition:left .45s ease;width:75%}.Chat-module_chatButton__d9VgA:hover:before,.Chat-module_useTemplateButton__xcJNR:hover:before{left:140%}.Chat-module_chatButton__d9VgA:hover:not(:disabled),.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(140deg,#1a9aff,#0d7de8 56%,#1168c9)!important;box-shadow:0 14px 30px rgba(14,116,219,.34),inset 0 1px 0 hsla(0,0%,100%,.2)!important;transform:translateY(-1.5px)}.Chat-module_chatButton__d9VgA:active,.Chat-module_useTemplateButton__xcJNR:active{transform:translateY(0) scale(.985);transition:transform .1s ease}.Chat-module_chatButton__d9VgA:focus,.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 10px 24px rgba(14,116,219,.32),0 0 0 3px rgba(56,189,248,.28),inset 0 1px 0 hsla(0,0%,100%,.22)!important;outline:none}.Chat-module_chatButton__d9VgA svg,.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.24));flex-shrink:0;height:16px;opacity:1;transition:transform .2s ease,filter .2s ease;width:16px}.Chat-module_chatButton__d9VgA:hover svg,.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transform:scale(1.08) translateX(1px)}.Chat-module_chatButtonText__RkGB-{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .2s ease;white-space:nowrap}.Chat-module_chatButton__d9VgA:hover .Chat-module_chatButtonText__RkGB-,.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_chatButtonText__RkGB-{transform:translateX(1px)}.Chat-module_saveButtonContainer__lSNUJ{display:inline-block;position:relative}.Chat-module_saveMenu__-ph8y{background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);left:0;min-width:120px;position:absolute;top:100%;z-index:10}.Chat-module_saveMenuItem__ISApL{background:none;border:none;color:#111;cursor:pointer;display:block;padding:8px 16px;text-align:left;width:100%}.Chat-module_saveMenuItem__ISApL:hover{background-color:#f0f0f0}.Chat-module_saveMenuDivider__3ktTM{background-color:#ddd;height:1px;margin:4px 0}.Chat-module_chatFeedbackPanel__gfOzk{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;padding:6px 8px;width:min(260px,100%)}.Chat-module_chatFeedbackToggle__IeOM6{align-items:center;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.Chat-module_chatFeedbackToggle__IeOM6:hover{background:#f5f5f5;transform:translateY(-.5px)}.Chat-module_chatFeedbackToggle__IeOM6:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.Chat-module_chatFeedbackIcon__XcB7A{background:#eef2ff;border-radius:10px;color:#6366f1;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .2s ease,color .2s ease;width:34px}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=true] .Chat-module_chatFeedbackIcon__XcB7A{background:#e0f2fe;color:#0284c7}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=false] .Chat-module_chatFeedbackIcon__XcB7A{background:#f3f4f6;color:#94a3b8}.Chat-module_chatFeedbackMeta__6t2be{display:flex;flex:1;flex-direction:column;gap:2px}.Chat-module_chatFeedbackLabel__qQgH3{color:#0f172a;font-size:.85rem;font-weight:600}.Chat-module_chatFeedbackDescription__I9bNg{color:#64748b;font-size:.75rem}.Chat-module_chatFeedbackIndicator__uHCr7{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.Chat-module_chatFeedbackIndicatorActive__bkw-w{background:#dcfce7;border:1px solid #34d399;color:#166534}.Chat-module_chatFeedbackIndicatorInactive__qMBkh{background:#fef9c3;border:1px solid #facc15;color:#713f12}.Chat-module_pauseButton__eeu7K{background:linear-gradient(135deg,#ffb347,#ff8c42)!important}.Chat-module_pauseButton__eeu7K:hover:not(:disabled){background:linear-gradient(135deg,#ffc067,#ff9e5f)!important}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b{cursor:wait!important;opacity:.6!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya{background:linear-gradient(135deg,#10b981,#059669)!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:0 8px 24px rgba(16,185,129,.35);transform:translateY(-2px) scale(1.02)}.Chat-module_pauseButton__eeu7K svg{transition:transform .3s ease}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya svg{transform:scale(1.1)}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b svg{opacity:.8}.Chat-module_stopButton__dkPOW{background:linear-gradient(135deg,#dc2626,#991b1c)!important;color:#fefefe!important}.Chat-module_stopButton__dkPOW:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#dc2626)!important}.Chat-module_stopButton__dkPOW:disabled{cursor:not-allowed!important;opacity:.6!important}.Chat-module_stopButton__dkPOW svg{transition:transform .3s ease}.Chat-module_stopButton__dkPOW:focus-visible{outline:2px solid hsla(0,91%,71%,.8);outline-offset:2px}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_feedbackStatus__-df7l{word-wrap:break-word;animation:Chat-module_feedbackStatusSlideIn__n6bbB .28s ease-out;backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 32px rgba(15,23,42,.35);font-weight:500;max-width:340px;padding:14px 22px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.Chat-module_feedbackStatusSuccess__Ax2q0{background:linear-gradient(135deg,#10b981,#059669);color:#f8fafc}.Chat-module_feedbackStatusError__dnv6d{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fef2f2}@keyframes Chat-module_feedbackStatusSlideIn__n6bbB{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_Chat__j2eE5{--chat-message-min-width:100px;--chat-message-avatar-size:36px;--chat-message-max-width:min(85%,560px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:10px;--chat-input-font-size:16px;--chat-input-padding-y:14px;--chat-input-padding-x:18px;--chat-input-action-size:44px}.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 12px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 12px calc(16px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:76px;font-size:11px;max-width:calc(100% - 28px);padding:7px 11px;right:14px}.Chat-module_dictationSettingsPanel__0gI-V{grid-template-columns:minmax(0,1fr)}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}.Chat-module_selfLearningModalHeader__PDIt1{align-items:flex-start;flex-direction:column}.Chat-module_selfLearningAvatarGroup__jgy2k{justify-content:flex-start}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:flex-start}}@media (max-width:480px){.Chat-module_Chat__j2eE5{--chat-message-min-width:80px;--chat-message-avatar-size:32px;--chat-message-max-width:min(90%,520px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:8px;--chat-input-padding-y:12px;--chat-input-padding-x:16px;--chat-input-action-size:40px}.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 8px calc(12px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:72px;max-width:calc(100% - 20px);right:10px}.Chat-module_dictationCorrectionActions__ssE7i,.Chat-module_dictationErrorActions__K3ykb{flex-direction:column}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_feedbackStatus__-df7l,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatButton__d9VgA,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}.Chat-module_emailContainer__TBxXZ{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.Chat-module_emailModalHeader__Z4-CJ{background:#f8fafc}.Chat-module_emailHeaderText__1dR6R{display:flex;flex-direction:column;gap:2px}.Chat-module_emailHeaderLabel__7iAEH{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_emailMetadata__8XXGf{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:16px;padding:18px 20px}.Chat-module_emailField__pcb03{display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:8px}.Chat-module_emailField__pcb03:last-child{margin-bottom:0}.Chat-module_emailField__pcb03 strong{color:#64748b;font-weight:600;min-width:60px}.Chat-module_emailRecipients__YVVys{color:#0f172a;word-break:break-word}.Chat-module_emailBody__OBt-w{text-align:left}.Chat-module_emailBody__OBt-w strong{color:#64748b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.Chat-module_emailBodyContent__-vFo2{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);line-height:1.6;max-height:400px;overflow-y:auto;padding:22px}.Chat-module_emailBodyContent__-vFo2 p{margin:0 0 12px}.Chat-module_emailBodyContent__-vFo2 p:last-child{margin-bottom:0}.Chat-module_browserRunModalHeader__0AyeK{background:linear-gradient(135deg,#f8fafc,#ecfeff 40%,#ecfccb);border-bottom:1px solid #dbeafe}.Chat-module_browserRunHeaderText__JUbNv{display:flex;flex-direction:column;gap:2px}.Chat-module_browserRunHeaderStatus__uu3Fi{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_browserRunHeaderLabel__uKYCb{color:#475569;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_browserRunMeta__lJkQc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:18px;padding:16px 18px}.Chat-module_browserRunWarning__ojdEP{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;color:#92400e;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunError__aELQo{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#7f1d1d;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunErrorSummary__ygz-g{font-size:14px;line-height:1.5;margin:0}.Chat-module_browserRunErrorSteps__S96nl{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px}.Chat-module_browserRunDebugDetails__SZ3VT{margin-top:10px}.Chat-module_browserRunDebugDetails__SZ3VT summary{color:#7f1d1d;cursor:pointer;font-weight:600}.Chat-module_browserRunDebugDetails__SZ3VT pre{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;line-height:1.45;margin:10px 0 0;max-height:220px;overflow:auto;padding:10px}.Chat-module_browserRunFallbackContent__NYCkp{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.Chat-module_browserRunStatusBanner__ljIE9{background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.28);border-radius:14px;color:#334155;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.Chat-module_browserRunMediaGrid__KDz3I{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.Chat-module_browserRunMediaCard__focNP{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;padding:12px}.Chat-module_browserRunMediaCardHeader__sOfLw{display:flex;flex-direction:column;gap:4px}.Chat-module_browserRunMediaTitle__a6Ctw{color:#0f172a;font-size:14px;font-weight:600;margin:0}.Chat-module_browserRunMediaCaption__LG8E6{color:#475569;font-size:12px;line-height:1.5;margin:0}.Chat-module_browserRunMediaImage__UI4pd,.Chat-module_browserRunMediaVideo__z2RgF{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:260px;object-fit:contain;width:100%}.Chat-module_browserRunActionLog__YZ0CQ{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:18px;padding:14px 16px}.Chat-module_browserRunActionLogTitle__XaEIW{color:#64748b;font-size:13px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.Chat-module_browserRunActionList__SOgfd{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.Chat-module_browserRunActionItem__1q668{align-items:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:12px;color:#0f172a;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:10px 12px}.Chat-module_browserRunActionPending__unJJt{opacity:.82}.Chat-module_browserRunActionRunning__NdlRL{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.35)}.Chat-module_browserRunActionComplete__PU36H{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.Chat-module_browserRunActionError__y-cm0{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.24)}.Chat-module_browserRunActionState__pkfKg{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:10px;width:10px}.Chat-module_browserRunActionStateRunning__L1IbZ{background:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.14)}.Chat-module_browserRunActionStateComplete__CpVEc{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.Chat-module_browserRunActionStateError__lU-t4{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.Chat-module_browserRunActionMeta__df32n{color:#64748b;font-size:12px;font-weight:600;margin-left:auto}@media print{.Chat-module_Chat__j2eE5{background:transparent!important;box-shadow:none!important;color:#f8fafc!important;min-height:auto!important;padding:0!important}.Chat-module_chatMainFlow__--8FE{gap:0!important;min-height:auto!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background:linear-gradient(150deg,rgba(2,6,23,.98),rgba(15,23,42,.92))!important;border:1px solid rgba(56,189,248,.32)!important;border-radius:40px!important;box-shadow:inset 0 40px 80px rgba(0,0,0,.35)!important;padding:48px 40px 64px!important;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{break-inside:avoid;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{background:linear-gradient(145deg,var(--agent-chat-brand-color-light,#7dd3fc),var(--agent-chat-brand-color,#0ea5e9))!important;border:1px solid hsla(0,0%,100%,.35)!important;border-radius:32px!important;box-shadow:inset 0 18px 40px rgba(2,6,23,.6)!important;color:#f8fafc!important;padding:18px 22px!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{background:#f8fbff!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:inset 0 10px 30px rgba(15,23,42,.3)!important;color:#0f172a!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{border:1px solid hsla(0,0%,100%,.35)!important}.Chat-module_messageMeta__eqCRu,.Chat-module_participantLabel__0Oo-3{color:rgba(226,232,240,.8)!important}.Chat-module_actions__gTZ5T,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ button,.Chat-module_copyButtonContainer__Rij0U,.Chat-module_feedbackStatus__-df7l,.Chat-module_scrollToBottom__nzxdZ,.Chat-module_voiceCallIndicatorBar__N2sWN,.Chat-module_voiceCallIndicator__tsaaG{display:none!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N>:last-child{padding-bottom:100px!important}}.Chat-module_emailStatus__T4UuL{color:#0f172a;font-weight:600;text-transform:capitalize}.Chat-module_imagePrompt__v7-Ho{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,49%,.35);border-radius:18px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:16px;padding:12px}.Chat-module_imagePromptPreview__ve5dB{background:linear-gradient(180deg,rgba(15,118,255,.05),hsla(0,0%,100%,.4));border:1px dashed hsla(0,0%,49%,.3);border-radius:14px;min-height:160px;overflow:hidden;position:relative}.Chat-module_imagePromptImage__KjE3H{display:block;height:100%;object-fit:cover;width:100%}.Chat-module_imagePromptPlaceholder__b8cW6{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Chat-module_imagePromptSpinner__nat8r{animation:Chat-module_imagePromptSpinner__nat8r .9s linear infinite;border:3px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#2563eb;height:36px;width:36px}@keyframes Chat-module_imagePromptSpinner__nat8r{to{transform:rotate(1turn)}}.Chat-module_imagePromptMeta__YwltP{display:flex;flex-direction:column;gap:4px}.Chat-module_imagePromptPrompt__N1E--{color:#111;font-size:13px;font-weight:500;overflow-wrap:anywhere}.Chat-module_imagePromptStatus__0ROQF{color:#6b7280;font-size:11px}.Chat-module_imagePromptError__x1952{align-items:center;background:rgba(220,38,38,.08);color:#dc2626;display:flex;font-size:12px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.Chat-module_richFeaturePlaceholder__mXS7-{align-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(59,130,246,.25);border-radius:18px;display:flex;gap:12px;margin-bottom:16px;margin-top:16px;padding:12px 14px}.Chat-module_richFeaturePlaceholderSpinner__ingFq{animation:Chat-module_richFeatureSpinner__eOql6 .8s linear infinite;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:#22d3ee;height:32px;width:32px}.Chat-module_richFeaturePlaceholderCopy__sEgxN{display:flex;flex-direction:column}.Chat-module_richFeaturePlaceholderTitle__lF7rJ{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_richFeaturePlaceholderStatus__UJg09{color:#475569;font-size:11px}.Chat-module_progressPanel__9M8h9{background:linear-gradient(180deg,rgba(239,246,255,.94),rgba(219,234,254,.86));border:1px solid rgba(59,130,246,.24);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;margin-top:10px;padding:12px 13px}.Chat-module_progressPanelTitle__rBdoY{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.Chat-module_progressPanelTitle__rBdoY p{margin:0}.Chat-module_progressPanelSection__F3xUF{display:flex;flex-direction:column;gap:4px}.Chat-module_progressPanelSectionLabel__aTPgr{color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_progressPanelSectionBody__Z7zX0{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelSectionBody__Z7zX0 p{margin:0}.Chat-module_progressPanelList__PHFeP{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.Chat-module_progressPanelListItem__7v9jN{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto auto 1fr}.Chat-module_progressPanelListBullet__Tzvi7{color:#2563eb;font-size:14px;line-height:1.2;margin-top:2px}.Chat-module_progressPanelItemSpinner__oJ6Az{animation:Chat-module_progressPanelSpinner__pzxP2 .75s linear infinite;border:2px solid rgba(37,99,235,.26);border-radius:9999px;border-top-color:#2563eb;height:11px;margin-top:3px;width:11px}.Chat-module_progressPanelItemCompleted__7bJhG{align-items:center;background:rgba(34,197,94,.16);border-radius:9999px;color:#15803d;display:inline-flex;font-size:9px;font-weight:700;height:11px;justify-content:center;line-height:1;margin-top:2px;width:11px}.Chat-module_progressPanelItemText__tZPIs{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelItemText__tZPIs p{margin:0}@keyframes Chat-module_progressPanelSpinner__pzxP2{to{transform:rotate(1turn)}}@keyframes Chat-module_richFeatureSpinner__eOql6{to{transform:rotate(1turn)}}\n/*# sourceMappingURL=data:application/json;base64,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Q0FHSixDQUVBLDRDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZUFBZ0IsQ0FDaEIsY0FDSixDQUVBLDZDQU1JLHNFQUFxRCxDQURyRCxvQ0FBeUIsQ0FGekIsb0JBQXFCLENBRXJCLHdCQUF5QixDQUh6QixXQUFZLENBS1osY0FBZSxDQU5mLFVBT0osQ0FFQSwrQ0FFSSxrQkFBbUIsQ0FNbkIsOEJBQW1DLENBRG5DLG9CQUFxQixDQUVyQixhQUFjLENBUmQsbUJBQW9CLENBU3BCLGFBQWMsQ0FFZCxlQUFnQixDQVBoQixXQUFZLENBRlosc0JBQXVCLENBUXZCLGFBQWMsQ0FMZCxjQUFlLENBRmYsVUFTSixDQUVBLDBDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZ0JBQ0osQ0FFQSw0Q0FDSSxRQUNKLENBRUEsbURBQ0ksR0FDSSx1QkFDSixDQUNKLENBRUEsaURBQ0ksR0FDSSx1QkFDSixDQUNKIiwiZmlsZSI6IkNoYXQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlCbGFjayc7XG4gICAgc3JjOlxuICAgICAgICB1cmwoJy9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpOyAvKiA8LSBUT0RPOiBb8J+QseKAjfCfmoBdIER5bmFtaWNhbGx5IGxvYWQgZnJvbSAvc2VydmVycy50cyAqL1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcic7XG4gICAgc3JjOlxuICAgICAgICB1cmwoJy9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbi5jb3BpZWRUb0NsaXBib2FyZE1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMycHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgb3BhY2l0eTogMC45NztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4uQ2hhdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBmb250LWZhbWlseTogdmFyKC0tY2hhdC1mb250LWZhbWlseSwgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZikpLFxuICAgICAgICAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJztcblxuICAgIC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aDogMTcwcHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcDogMTRweDtcbiAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZTogNDJweDtcbiAgICAtLWNoYXQtbWVzc2FnZS1tYXgtd2lkdGg6IG1pbihcbiAgICAgICAgNzIlLFxuICAgICAgICA2ODBweCxcbiAgICAgICAgY2FsYygxMDAlIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKSlcbiAgICApO1xuICAgIC0tY2hhdC1idWJibGUtcmFkaXVzOiAyNHB4O1xuICAgIC0tY2hhdC1idWJibGUtc2hhZG93OiAwIDEycHggMzRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyOiAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMik7XG4gICAgLS1jaGF0LWJ1YmJsZS1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7XG4gICAgLS1jaGF0LWJ1YmJsZS1mb250LXNpemU6IDE1cHg7XG4gICAgLS1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodDogMS42MjtcbiAgICAtLWNoYXQtaW5wdXQtdmlzaWJsZS1saW5lczogMztcbiAgICAtLWNoYXQtaW5wdXQtZm9udC1zaXplOiAxNXB4O1xuICAgIC0tY2hhdC1pbnB1dC1saW5lLWhlaWdodDogMS41O1xuICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDEwcHg7XG4gICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteDogMTJweDtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemU6IDQwcHg7XG4gICAgLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodDogY2FsYyhcbiAgICAgICAgdmFyKC0tY2hhdC1pbnB1dC12aXNpYmxlLWxpbmVzKSAqIHZhcigtLWNoYXQtaW5wdXQtZm9udC1zaXplKSAqIHZhcigtLWNoYXQtaW5wdXQtbGluZS1oZWlnaHQpICtcbiAgICAgICAgICAgICgyICogdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXkpKVxuICAgICk7XG59XG5cbi5jaGF0TWFpbkZsb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAn8J+fpicgbWluLWNvbnRlbnRcbiAgICAgICAgJ/CfkqwnIDFmclxuICAgICAgICAn8J+TnScgbWluLWNvbnRlbnRcbiAgICAgICAgLyAxZnI7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgY29sb3I6ICMwZjE3MjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDM2LCAwLjA2KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLlRhc2tzSW5Qcm9ncmVzcyB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7XG4gICAgbWFyZ2luOiA4cHggMTZweDtcbn1cblxuLmFjdGlvbnMge1xuICAgIGdyaWQtYXJlYTog8J+SrDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIHotaW5kZXg6IDQwO1xuICAgIGFsaWduLXNlbGY6IHNlbGYtc3RhcnQ7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDE2cHggMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLmFjdGlvbnMucG9ydGFsIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hY3Rpb25zLmxlZnQge1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1zdGFydDtcbn1cblxuLmFjdGlvbnMucmlnaHQge1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7XG59XG5cbi5hY3Rpb25zRmFkZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuLmFjdGlvbnNTY3JvbGxpbmcge1xuICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIExhcmdlIHRhYmxldCBhbmQgc21hbGwgZGVza3RvcCBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBNZWRpdW0gc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDE0cHggMThweCAwO1xuICAgICAgICBnYXA6IDdweDtcbiAgICB9XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRDaGlsZHJlbiB7XG4gICAgZ3JpZC1hcmVhOiDwn5KsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICB6LWluZGV4OiAzMDA7XG59XG5cbi8qIENoYXQgbWVzc2FnZXMgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDI4cHggMjRweCAxOHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uaGFzQWN0aW9uc0FuZEZpcnN0TWVzc2FnZUlzTG9uZyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG59XG5cbi8qIEN1c3RvbSBzY3JvbGxiYXIgc3R5bGluZyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDdweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjU1KTtcbn1cblxuLyogSW5kaXZpZHVhbCBjaGF0IG1lc3NhZ2UgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNoYXQtbWVzc2FnZS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVN0YWNrIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlU3RhY2sgPiAqIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZXNzYWdlV2l0aE1hcCB7XG4gICAgLyogbWFya2VyIGNsYXNzIGFwcGxpZWQgdG8gbWFwIG1lc3NhZ2VzIHNvIHRoZXkgY2FuIHN0cmV0Y2ggd2lkZXIuICovXG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLm1lc3NhZ2VXaXRoTWFwIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAgLm1lc3NhZ2VTdGFjayB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IG1pbihcbiAgICAgICAgOTB2dyxcbiAgICAgICAgOTIwcHgsXG4gICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgKTtcbiAgICBtYXgtd2lkdGg6IG1pbihcbiAgICAgICAgOTB2dyxcbiAgICAgICAgOTIwcHgsXG4gICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAgLm1lc3NhZ2VTdGFjayB7XG4gICAgICAgIHdpZHRoOiBtaW4oOTJ2dywgNjQwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IG1pbig5MnZ3LCA2NDBweCk7XG4gICAgfVxufVxuXG4ubWVzc2FnZU1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA2cHggOHB4IDA7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VNZXRhIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1lc3NhZ2VMaWZlY3ljbGVCYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNik7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tZXNzYWdlVGltZXN0YW1wIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4ubWVzc2FnZUR1cmF0aW9uIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4ubWVzc2FnZUxpZmVjeWNsZUVycm9yIHtcbiAgICBtYXJnaW46IDRweCA2cHggMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICNiOTFjMWM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5wYXJ0aWNpcGFudExhYmVsIHtcbiAgICBmb250LXNpemU6IDExLjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44Mik7XG4gICAgbWFyZ2luOiAwIDAgN3B4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5wYXJ0aWNpcGFudExhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQGtleWZyYW1lcyBtZXNzYWdlU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KSBzY2FsZSgwLjk1KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uaXNOb3RDb21wbGV0ZU1lc3NhZ2Uge1xuICAgIC8qL1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgI2ZmMDAwMCAhaW1wb3J0YW50O1xuICAgIC8qKi9cblxuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5Ob25Db21wbGV0ZU1lc3NhZ2VGaWxsZXIge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogRW5oYW5jZWQgbG9hZGluZyBzdGF0ZXMgZm9yIG1lc3NhZ2VzICovXG4uaXNOb3RDb21wbGV0ZU1lc3NhZ2UgLm1lc3NhZ2VUZXh0OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogOHB4O1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBhbmltYXRpb246IGxvYWRpbmdQdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4udG9vbENhbGxDaGlwcyxcbi5zb3VyY2VDaXRhdGlvbnMsXG4uY2l0YXRpb25Gb290bm90ZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjI4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5jaXRhdGlvbkZvb3Rub3RlcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmNpdGF0aW9uRm9vdG5vdGVJdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7XG59XG5cbi5jaXRhdGlvbkZvb3Rub3RlTnVtYmVyIHtcbiAgICBtaW4td2lkdGg6IDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDc4JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4udG9vbENhbGxDaGlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA1cHggMTFweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43OCkgMjYlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuTW9qaUNvbG9yJywgJ09wZW5Nb2ppQmxhY2snLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xufVxuXG4udG9vbENhbGxDaGlwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NikgMzYlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTQpO1xufVxuXG4udG9vbENhbGxDaGlwT25nb2luZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC44KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4xKTtcbn1cblxuLnRvb2xDYWxsQ2hpcFN0YXR1cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRlYW1Ub29sQ2FsbCxcbi50cmFuc2l0aXZlVG9vbENhbGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRlYW1BZ2VudENoaXAsXG4udHJhbnNpdGl2ZUFnZW50Q2hpcCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b29sQ2FsbExhYmVsIHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udG9vbENhbGxXaXRoRXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNDksIDExNSwgMjIsIDAuOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDksIDExNSwgMjIsIDAuMTIpO1xufVxuXG4udG9vbENhbGxPcmlnaW4ge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b29sQ2FsbERldGFpbHMgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udG9vbENhbGxEYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLnRvb2xDYWxsQ2hpcFNwaW5uZXIge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiB0b29sQ2FsbFNwaW5uZXIgMC44cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdG9vbENhbGxTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmdQdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMS4yKTtcbiAgICB9XG59XG5cbi8qIFR5cGluZyBpbmRpY2F0b3IgZm9yIEFJIG1lc3NhZ2VzICovXG4udHlwaW5nSW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGFuaW1hdGlvbjogbWVzc2FnZVNsaWRlSW4gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbi50eXBpbmdJbmRpY2F0b3IgLmF2YXRhciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbjogMCAxMnB4IDRweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogW+OKl++4j11cbi50eXBpbmdJbmRpY2F0b3IgLmF2YXRhciBpbWcge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWY2ZmI7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xufVxuKi9cblxuLnR5cGluZ0J1YmJsZSB7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWluLWhlaWdodDogMjRweDtcbn1cblxuLnR5cGluZ0RvdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnR5cGluZ0RvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzZiNzI4MCAwJSwgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjYpIDEwMCUpO1xuICAgIGFuaW1hdGlvbjogdHlwaW5nQm91bmNlIDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgyKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xufVxuXG5Aa2V5ZnJhbWVzIHR5cGluZ0JvdW5jZSB7XG4gICAgMCUsXG4gICAgODAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5tZXNzYWdlVGV4dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlOm5vdCguaXNNZSkgLm1lc3NhZ2VUZXh0IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4O1xufVxuXG4ucmF0aW5nU3RhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgIGNvbG9yOiB2YXIoLS1zdGFyLWluYWN0aXZlLWNvbG9yLCAjY2NjKTtcbn1cblxuLnJhdGluZ1N0YXIuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZDcwMDtcbn1cblxuLyogU2VuZGVyIEF2YXRhciAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogW+OKl++4j11cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hdmF0YXItYmctY29sb3IsICNlZWY2ZmIpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4qL1xuXG4vKiBNZXNzYWdlIHRleHQgYnViYmxlICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1lc3NhZ2UtYmctY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2hhdC1idWJibGUtcmFkaXVzKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiBtaW4odmFyKC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aCksIDEwMCUpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtYnViYmxlLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodCk7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgaHlwaGVuczogYXV0bztcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBib3gtc2hhZG93IDAuMnMgZWFzZSxcbiAgICAgICAgdHJhbnNmb3JtIDAuMnMgZWFzZSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbiAgICBmb250LXNpemU6IHZhcigtLWNoYXQtYnViYmxlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDAyNWVtO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgICAtLWNoYXQtbWQtaGVhZGluZy1mb250LWZhbWlseTogdmFyKFxuICAgICAgICAtLWZvbnQtYmFybG93LWNvbmRlbnNlZCxcbiAgICAgICAgJ0JhcmxvdyBDb25kZW5zZWQnLFxuICAgICAgICB2YXIoLS1mb250LXBvcHBpbnMsICdQb3BwaW5zJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmKVxuICAgICk7XG4gICAgLS1jaGF0LW1kLWJvZHktZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgLS1jaGF0LW1kLXRleHQtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWxpbmstY29sb3I6ICMyNTYzZWI7XG4gICAgLS1jaGF0LW1kLW11dGVkLWNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpO1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1iZzogcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiByZ2JhKDE1LCAyMywgNDIsIDAuMik7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpO1xuICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYm9yZGVyOiByZ2JhKDU2LCAxODksIDI0OCwgMC41Mik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgLS1jaGF0LW1kLXRhYmxlLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM2KTtcbiAgICAtLWNoYXQtbWQtY2l0YXRpb24tYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgLS1jaGF0LW1kLWNpdGF0aW9uLWNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpO1xufVxuXG5Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCA1MCUsICNmZmYgNTAlKSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE1OGRlZyxcbiAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA4NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxNCUpLFxuICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDk1JSwgcmdiYSgyLCA2LCAyMywgMC4wOCkgNSUpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzIlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KSAyOCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLWxpbmstY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDcyJSwgIzdkZDNmYyAyOCUpO1xuICAgICAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDg0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NSUsXG4gICAgICAgICAgICByZ2JhKDE1LCAyMywgNDIsIDAuMikgMzUlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc4JSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NikgMjIlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMzQlLCAjN2RkM2ZjIDY2JSk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDIyJSk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzAlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKSAzMCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpIDM2JVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxOCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgLS1jaGF0LW1kLWNpdGF0aW9uLWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNTUlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0NSVcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi8qIENvcHkgYnV0dG9uIHN0eWxlcyAqL1xuLmNvcHlCdXR0b25Db250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgei1pbmRleDogMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xufVxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0OmhvdmVyIC5jb3B5QnV0dG9uQ29udGFpbmVyLFxuLmNvcHlCdXR0b25Db250YWluZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lc3NhZ2VDb250cm9sR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmNvcHlCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDRweCA3cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cywgYm94LXNoYWRvdyAwLjE1cywgYm9yZGVyIDAuMTVzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbn1cblxuLnBsYXlCdXR0b24ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40OCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogIzExMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnBsYXlCdXR0b25JY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5wbGF5QnV0dG9uU3Bpbm5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzExMTtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VQbGF5U3Bpbm5lciAwLjlzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi5wbGF5QnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuQGtleWZyYW1lcyBtZXNzYWdlUGxheVNwaW5uZXIge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uY29waWVkVG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDExMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6ICMyMjI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC45OGVtO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgICBvcGFjaXR5OiAwLjk3O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBhbmltYXRpb246IGNvcGllZFRvb2x0aXBGYWRlSW4gMC4ycztcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmNvcGllZFRvb2x0aXBMZWZ0IHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jb3BpZWRUb29sdGlwUmlnaHQge1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBSZW1vdmVkIHJpZ2h0LWFsaWduZWQgb3ZlcnJpZGUgdG8ga2VlcCB0b29sdGlwIHBvc2l0aW9uIHN0YWJsZSAqL1xuXG5Aa2V5ZnJhbWVzIGNvcGllZFRvb2x0aXBGYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg4cHgpIHNjYWxlKDAuOTcpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLmNvcHlCdXR0b246aG92ZXIsXG4uY29weUJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc2KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjIyKTtcbn1cblxuLmNvcHlCdXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogTWFya2Rvd24gcHJpbWl0aXZlcyBhcmUgaW50ZW50aW9uYWxseSBjZW50cmFsaXplZCBpbiBgTWFya2Rvd25Db250ZW50Lm1vZHVsZS5jc3NgLiAqL1xuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYnViYmxlLXNoYWRvdy1ob3ZlciksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNXB4KTtcbn1cblxuLyogQXR0YWNobWVudHMgc3R5bGVzICovXG4uYXR0YWNobWVudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yOCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTIlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5hdHRhY2htZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogN3B4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjYlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxNiUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uYXR0YWNobWVudDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMzglKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDI0JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmF0dGFjaG1lbnRJY29uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uYXR0YWNobWVudE5hbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogTWVzc2FnZSBidXR0b25zIGNvbnRhaW5lciAqL1xuLm1lc3NhZ2VCdXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDlweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMzYpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE0JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vKiBJbmRpdmlkdWFsIG1lc3NhZ2UgYnV0dG9uICovXG4ubWVzc2FnZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDIyJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjkpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IHByb2dyZXNzO1xuICAgIG9wYWNpdHk6IDAuNzI7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDY2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDM0JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyNiUsICM3ZGQzZmMgNzQlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTQpO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjpob3ZlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDIyJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxOCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLm1lc3NhZ2VCdXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5hY3Rpb25NZXNzYWdlQnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU1LCA2NSwgODEsIDAuOTIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgzMSwgNDEsIDU1LCAwLjk1KTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmFjdGlvbk1lc3NhZ2VCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzEsIDQxLCA1NSwgMC45OCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE3LCAyNCwgMzksIDAuOTgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjMyKTtcbn1cblxuLmFjdGlvbk1lc3NhZ2VCdXR0b246aG92ZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTUsIDY1LCA4MSwgMC45Mik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMxLCA0MSwgNTUsIDAuOTUpO1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJrZG93biBzdHlsZXMgZnJvbSBidXR0b24gY29udGVudCAqL1xuLm1lc3NhZ2VCdXR0b24gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5tZXNzYWdlQnV0dG9uIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1lc3NhZ2VCdXR0b24gZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogUmF0aW5nIHN5c3RlbSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLThweDtcbiAgICByaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAycHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6aG92ZXIgLnJhdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mZWVkYmFja0lzc3VlQnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmQ3MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIENoYXQgaW5wdXQgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBncmlkLWFyZWE6IPCfk507XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDIwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDApIDAlLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOSkgNDQlLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTYpIDEwMCUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbn1cblxuLkNoYXQuZnVsbFBhZ2VWaXN1YWwgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDYwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAxMDAlKTtcbn1cblxuLyogRmlsZSB1cGxvYWQgZHJhZy1hbmQtZHJvcCBzdHlsZXMgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dC5kcmFnT3ZlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMDQpIDAlLCByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMykgMTAwJSk7XG59XG5cbi8qIEZpbGUgcHJldmlldyBjb250YWluZXIgKi9cbi5maWxlUHJldmlld0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBJbmRpdmlkdWFsIGZpbGUgcHJldmlldyAqL1xuLmZpbGVQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZVByZXZpZXc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xNSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG59XG5cbi5maWxlSWNvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmZpbGVJbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uZmlsZU5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4uZmlsZVNpemUge1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLnJlbW92ZUZpbGVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiAjZmY0NDQ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJlbW92ZUZpbGVCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLyogSW5wdXQgY29udGFpbmVyIGZvciB0ZXh0YXJlYSBhbmQgYnV0dG9ucyAqL1xuLmlucHV0Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpIDAlLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTQpIDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMTRweCAzNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMiksXG4gICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmlucHV0Q29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KSxcbiAgICAgICAgMCAwIDAgNHB4IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjE2KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSkgNTglLCByZ2JhKDE1LCAyMywgNDIsIDAuMikgNDIlKTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpLFxuICAgICAgICAwIDAgMCA0cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSAxNiUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5pbnB1dENvbnRhaW5lciB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOGI5YmIxO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIEF0dGFjaG1lbnQgYnV0dG9uICovXG4uYXR0YWNobWVudEJ1dHRvbiB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXR0YWNobWVudEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLmF0dGFjaG1lbnRCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBWb2ljZSBCdXR0b24gKi9cbi52b2ljZUJ1dHRvbiB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm9pY2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi52b2ljZUJ1dHRvbkFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZWY0NDQ0ICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiB2b2ljZVJlY29yZGluZ1B1bHNlIDEuNXMgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IDg2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IG1pbigzMjBweCwgY2FsYygxMDAlIC0gNDhweCkpO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgMC4xNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHotaW5kZXg6IDI1O1xuICAgIGFuaW1hdGlvbjogc3BlZWNoU3RhdHVzQnViYmxlSW4gMC4ycyBlYXNlLW91dDtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzY0NzQ4YjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbmltYXRpb246IHNwZWVjaFN0YXR1c0J1YmJsZURvdFB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI0MiwgMjQyLCAwLjk3KTtcbiAgICBjb2xvcjogIzk5MWIxYjtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVJlY29yZGluZyAuc3BlZWNoU3RhdHVzQnViYmxlRG90IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlUHJvY2Vzc2luZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0LCAxMTYsIDE0NCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzYsIDI1NCwgMjU1LCAwLjk3KTtcbiAgICBjb2xvcjogIzE1NWU3NTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3NpbmcgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZUVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjIwLCAzOCwgMzgsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45OCk7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciAuc3BlZWNoU3RhdHVzQnViYmxlRG90IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLmRpY3RhdGlvblBhbmVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5kaWN0YXRpb25QYW5lbEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblBhbmVsVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLmRpY3RhdGlvblBhbmVsVG9nZ2xlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkludGVyaW1UcmFuc2NyaXB0IHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDI0NiwgMjU1LCAwLjkpO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMwYzRhNmU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkVycm9yUGFuZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjIwLCAzOCwgMzgsIDAuMjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45NSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gICAgY29sb3I6ICM5OTFiMWI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5kaWN0YXRpb25FcnJvckFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uRXJyb3JBY3Rpb25zIGJ1dHRvbixcbi5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyBidXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25QYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uQ29ycmVjdGlvbkxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uVGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogOHB4IDEycHg7XG59XG5cbi5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbn1cblxuLmRpY3RhdGlvbkZhbGxiYWNrTm90ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuQGtleWZyYW1lcyBzcGVlY2hTdGF0dXNCdWJibGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHNjYWxlKDAuOTgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3BlZWNoU3RhdHVzQnViYmxlRG90UHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Mik7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlUmVjb3JkaW5nUHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMCwgMCwgMC40KTtcbiAgICB9XG4gICAgNzAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAwLCAwLCAwKTtcbiAgICB9XG59XG5cbi8qIFVwbG9hZCBwcm9ncmVzcyBpbmRpY2F0b3IgKi9cbi51cGxvYWRQcm9ncmVzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzAwODRmZjtcbn1cblxuLnVwbG9hZFByb2dyZXNzQmFyIHtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51cGxvYWRQcm9ncmVzc0ZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDg0ZmYsIHJnYmEoMCwgMTMyLCAyNTUsIDAuOCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBhbmltYXRpb246IHVwbG9hZFByb2dyZXNzIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdXBsb2FkUHJvZ3Jlc3Mge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG59XG5cbi8qIERyYWcgb3ZlcmxheSAqL1xuLmRyYWdPdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMSk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEoMCwgMTMyLCAyNTUsIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZHJhZ092ZXJsYXlDb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgY29sb3I6ICMwMDg0ZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kcmFnT3ZlcmxheUNvbnRlbnQgc3ZnIHtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIENoYXQgaW5wdXQgZmllbGQgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jaGF0LWlucHV0LXBhZGRpbmcteSkgdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodCk7XG4gICAgbWluLWhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWNoYXQtaW5wdXQtZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcmVzaXplOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgLyogRm9jdXMgaXMgaGFuZGxlZCBieSAuaW5wdXRDb250YWluZXIgKi9cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOGJhMGI4O1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLyogQ2hhdCBzZW5kIGJ1dHRvbiAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddIHtcbiAgICB3aWR0aDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWluLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjI1KTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ106aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjM1KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddIHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uIGltZyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogU2Nyb2xsIHRvIGJvdHRvbSBidXR0b24gKi9cblxuLnNjcm9sbFRvQm90dG9tQ29udGFpbmVyIHtcbiAgICAvKi9cbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJlZDtcbiAgICAvKiovXG5cbiAgICB6LWluZGV4OiAyMDtcbiAgICBncmlkLWFyZWE6IPCfk507XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNjcm9sbFRvQm90dG9tQ29udGFpbmVyIC5zY3JvbGxUb0JvdHRvbVdyYXBwZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xNTAlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogc2Nyb2xsQnV0dG9uU2xpZGVJbiAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLnNjcm9sbFRvQm90dG9tQ29udGFpbmVyIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAgMCAwIC8gMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuQGtleWZyYW1lcyBzY3JvbGxCdXR0b25TbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMjBweCkgc2NhbGUoMC44KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLnNjcm9sbFRvQm90dG9tQmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC04cHg7XG4gICAgcmlnaHQ6IC04cHg7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2dyb3VuZDogIzI1NjNlYjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMzcsIDk5LCAyMzUsIDAuNCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogUmF0aW5nIG1vZGFsICovXG4ucmF0aW5nTW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBhbmltYXRpb246IG1vZGFsRmFkZUluIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWxGYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgICB9XG59XG5cbi5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MjQ7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBhbmltYXRpb246IG1vZGFsU2xpZGVJbiAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJztcbiAgICAvKiA8LSBUT0RPOiBb8J+noF1b8J+OsV0gQmV0dGVyLCBkZWZpbmUgb3RoZXIgZm9udHMgKi9cbn1cblxuQGtleWZyYW1lcyBtb2RhbFNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLnJhdGluZ01vZGFsQ29udGVudCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMjRweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zdGFycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uc3RhcnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zdGFycyBzcGFuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIxNSwgMCwgMC4xKTtcbn1cblxuLnJhdGluZ01vZGFsU3RhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuXG4udG9vbENhbGxNb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b29sQ2FsbEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWVmMmZmIDAlLCAjZjVmM2ZmIDQwJSwgI2ZlZmNjOSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLnRvb2xDYWxsSWNvbiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xufVxuXG4udG9vbENhbGxIZWFkZXJNZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi50b29sQ2FsbE1vZGFsTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udG9vbENhbGxUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxTdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQ3NTQ2Nztcbn1cblxuLnRvb2xDYWxsR3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbn1cblxuLnRvb2xDYWxsUGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQwcHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLnRvb2xDYWxsUGFuZWxUaXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnRvb2xDYWxsTGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4udG9vbENhbGxJdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi50b29sQ2FsbEl0ZW1MYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnRvb2xDYWxsSXRlbVZhbHVlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLnRvb2xDYWxsU3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udG9vbENhbGxTdW1tYXJ5TWV0YSB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsU3VtbWFyeU1ldGFCYWRnZSB7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3OSwgNzAsIDIyOSwgMC4xNSk7XG4gICAgY29sb3I6ICMzMTJlODE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50b29sQ2FsbEVtcHR5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nQ2FyZCB7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNjYmQ1ZTE7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmOGZiZmYgMCUsICNmOGZhZmMgMTAwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ0hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdCYWRnZSB7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTIpO1xuICAgIGNvbG9yOiAjMDM2OWExO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ01lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdTa2VsZXRvbkxpbmUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC43KSwgcmdiYSgyNDEsIDI0NSwgMjQ5LCAxKSwgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjcpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246IHRvb2xDYWxsUGVuZGluZ1NrZWxldG9uUHVsc2UgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uU2hvcnQge1xuICAgIHdpZHRoOiA2OCU7XG59XG5cbkBrZXlmcmFtZXMgdG9vbENhbGxQZW5kaW5nU2tlbGV0b25QdWxzZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDAlIDUwJTtcbiAgICB9XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkUm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjkpO1xufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZFJvdzpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmRSb3cgc3Ryb25nIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsSXNzdWVzIHtcbiAgICBwYWRkaW5nOiAwIDMycHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsSXNzdWVCYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cblxuLnRvb2xDYWxsSXNzdWVFcnJvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xMik7XG4gICAgY29sb3I6ICNiOTFjMWM7XG59XG5cbi50b29sQ2FsbElzc3VlV2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDE3OSwgOCwgMC4xNik7XG4gICAgY29sb3I6ICNhMTYyMDc7XG59XG5cbi50b29sQ2FsbE1vZGVGb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDMycHggMjRweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50b29sQ2FsbE1vZGVCdXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi50b29sQ2FsbE1vZGVCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnRvb2xDYWxsQ2xvY2tQYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbi50b29sQ2FsbENsb2NrTGFiZWxzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b29sQ2FsbENsb2NrUHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsQ2xvY2tTZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4udG9vbENhbGxDbG9ja01ldGEge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6ICM2NjcwODU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4udGltZW91dFRvb2xTdW1tYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4udGltZW91dFRvb2xQcmltYXJ5U2VudGVuY2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udGltZW91dFRvb2xTZWNvbmRhcnlTZW50ZW5jZSB7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25Sb3cge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50aW1lb3V0VG9vbEFjdGlvbkJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHBhZGRpbmc6IDhweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC40NTtcbn1cblxuLm1lbW9yeU1vZGFsSGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyOHB4IDMycHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmRmZGZkIDAlLCAjZjZmOWZmIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4ubWVtb3J5TW9kYWxJY29uIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjM2NmYxLCAjYTg1NWY3KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMjhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xufVxuXG4ubWVtb3J5TW9kYWxIZWFkZXJUZXh0IHtcbiAgICBmbGV4OiAxO1xufVxuXG4ubWVtb3J5TW9kYWxUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ubWVtb3J5TW9kYWxTdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiA0cHggMCAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1lbW9yeU1vZGFsU3RhdHVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tZW1vcnlTdGF0dXNEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZW1vcnlNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbn1cblxuLm1lbW9yeU1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbW9yeU1ldGFSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4ubWVtb3J5TWV0YUxhYmVsIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1lbW9yeU1ldGFWYWx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLm1lbW9yeVN0b3JlU2VjdGlvbixcbi5tZW1vcnlSZXRyaWV2ZVNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5tZW1vcnlDYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5tZW1vcnlDYXJkQ29udGVudCB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5tZW1vcnlDYXJkTWV0YSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1lbW9yeVNjb3BlQmFkZ2Uge1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI0LCA1OCwgMjM3LCAwLjEyKTtcbn1cblxuLm1lbW9yeUxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5tZW1vcnlFbXB0eVN0YXRlIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWYzYzc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZkZTY4YTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGNvbG9yOiAjOTI0MDBlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tZW1vcnlMaXN0Rm9vdGVyIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWVtb3J5U3RhdHVzU3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMTYpO1xuICAgIGNvbG9yOiAjMDQ3ODU3O1xufVxuXG4ubWVtb3J5U3RhdHVzV2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDE3OSwgOCwgMC4xNik7XG4gICAgY29sb3I6ICNhMTYyMDc7XG59XG5cbi5tZW1vcnlTdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gICAgY29sb3I6ICNiOTFjMWM7XG59XG5cbi5tZW1vcnlTdGF0dXNOZXV0cmFsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4xNSk7XG4gICAgY29sb3I6ICMxZDRlZDg7XG59XG5cbi5zZWFyY2hNb2RhbEhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xufVxuXG4uc2VsZkxlYXJuaW5nTW9kYWxIZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGZhZmMgMCUsICNmZWY5YzMgNDUlLCAjZWNmY2NiIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4uc2VsZkxlYXJuaW5nQXZhdGFyR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5zZWxmTGVhcm5pbmdBdmF0YXIge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgxNSwgMjMsIDQyLCAwLjE4KTtcbn1cblxuLnNlbGZMZWFybmluZ0F2YXRhckluaXRpYWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc2VsZkxlYXJuaW5nVGVhY2hlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZkZTY4YSAwJSwgIzg2ZWZhYyAxMDAlKTtcbn1cblxuLnNlbGZMZWFybmluZ0hlYWRlclRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2VsZkxlYXJuaW5nVGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnNlbGZMZWFybmluZ01ldGFSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YUNoaXAge1xuICAgIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zZWxmTGVhcm5pbmdDb21taXRtZW50cyB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogMTZweDtcbn1cblxuLnNlbGZMZWFybmluZ0NvbW1pdG1lbnRzTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlbGZMZWFybmluZ0Jvb2tFZGl0b3Ige1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nRW1wdHkge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NTY5O1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMTZweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLm1vZGFsQ2xvc2VCdXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICM5NGEzYjg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnRlYW1Nb2RhbEhlYWRlciB7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRlYW1IZWFkZXJQYXJ0aWNpcGFudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbUhlYWRlclByb2ZpbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnRlYW1IZWFkZXJQcm9maWxlTGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50ZWFtSGVhZGVyQXZhdGFyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLnRlYW1IZWFkZXJOYW1lIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRlYW1IZWFkZXJEaXZpZGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnNlYXJjaE1vZGFsSWNvbiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5zZWFyY2hNb2RhbFF1ZXJ5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMDIxMjQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWFyY2hNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRlYW1DaGF0Q29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi50ZWFtVG9vbENhbGxTZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4udGVhbVRvb2xDYWxsR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRlYW1Ub29sQ2FsbEhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRlYW1Ub29sQ2FsbENoaXBzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNIZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi50ZWFtVG9vbENhbGxEZXRhaWxzVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNDbGVhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjNDc1NTY5O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZWFtVG9vbENhbGxEZXRhaWxzQ2xlYXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG59XG5cbi5zZWFyY2hSZXN1bHRzTGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2VhcmNoUmVzdWx0c1JhdyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uc2VhcmNoUmVzdWx0SXRlbSB7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbn1cblxuLnNlYXJjaFJlc3VsdFVybCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjAyMTI0O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5zZWFyY2hSZXN1bHRVcmwgYSB7XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2VhcmNoUmVzdWx0VGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMCA0cHggMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSBhIHtcbiAgICBjb2xvcjogIzFhMGRhYjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNlYXJjaFJlc3VsdFNuaXBwZXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBjb2xvcjogIzRkNTE1NjtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ub1Jlc3VsdHMge1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNzA3NTdhO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRvb2xDYWxsRGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cbi5jaXRhdGlvbkRldGFpbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5jaXRhdGlvblByZXZpZXcge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuXG4uY2l0YXRpb25JZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgcCB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBzdHJvbmcge1xuICAgIGNvbG9yOiAjMzMzO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBhIHtcbiAgICBjb2xvcjogIzAwN2JmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNpdGF0aW9uRXhjZXJwdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jaXRhdGlvbkV4Y2VycHQgaDQge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNpdGF0aW9uSGludCB7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLnRvb2xDYWxsRGF0YUNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRvb2xDYWxsUGF5bG9hZENvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLnRvb2xDYWxsUGF5bG9hZEVkaXRvciA6Z2xvYmFsKC5tb25hY28tZWRpdG9yKSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciAub3ZlcmZsb3ctZ3VhcmQpLFxuLnRvb2xDYWxsUGF5bG9hZEVkaXRvciA6Z2xvYmFsKC5tb25hY28tZWRpdG9yIC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50KSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvci1iYWNrZ3JvdW5kKSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYyAhaW1wb3J0YW50O1xufVxuXG4udG9vbENhbGxEYXRhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi50b29sQ2FsbE1vZGFsIC50b29sQ2FsbERhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5yYXRpbmdJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA1KTtcbiAgICBjb2xvcjogIzBiMTIyMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ucmF0aW5nSW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwODRmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5yYXRpbmdJbnB1dFtyZWFkb25seV0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC41KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDEpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogMTJweDtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGNvbG9yOiAjMGIxMjIwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG4gICAgY29sb3I6ICMwYjEyMjA7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA4NGZmIDAlLCAjMDA2NmNjIDEwMCUpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwNzFkMSAwJSwgIzAwNTJhMyAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5kb3dubG9hZEJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xufVxuXG4uZG93bmxvYWRCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDk5ZmYgMCUsICMwMDc3ZGQgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xufVxuXG4uZG93bmxvYWRCdXR0b24gc3ZnIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmRvd25sb2FkQnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIFByaW1hcnkgY2hhdCB0b29sYmFyIGJ1dHRvbnMgKi9cbi5jaGF0QnV0dG9uLFxuLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTFweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgIzBmOGVmNSAwJSwgIzBiNmZkMCA1NiUsICMwZDVmYmIgMTAwJSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMi41cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4ycyBlYXNlLFxuICAgICAgICBib3gtc2hhZG93IDAuMnMgZWFzZSxcbiAgICAgICAgYmFja2dyb3VuZCAwLjJzIGVhc2UgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDEwcHggMjRweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4yOCksXG4gICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b246OmJlZm9yZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xMTAlO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDBkZWcsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpIDQ4JSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjQ1cyBlYXNlO1xufVxuXG4uY2hhdEJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDE0MCU7XG59XG5cbi5jaGF0QnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwZGVnLCAjMWE5YWZmIDAlLCAjMGQ3ZGU4IDU2JSwgIzExNjhjOSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS41cHgpO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMTRweCAzMHB4IHJnYmEoMTQsIDExNiwgMjE5LCAwLjM0KSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b246YWN0aXZlLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuOTg1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uY2hhdEJ1dHRvbjpmb2N1cyxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDEwcHggMjRweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4zMiksXG4gICAgICAgIDAgMCAwIDNweCByZ2JhKDU2LCAxODksIDI0OCwgMC4yOCksXG4gICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKSAhaW1wb3J0YW50O1xufVxuXG4uY2hhdEJ1dHRvbiBzdmcsXG4udXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBmaWx0ZXIgMC4ycyBlYXNlO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCkpO1xufVxuXG4uY2hhdEJ1dHRvbjpob3ZlciBzdmcsXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpIHRyYW5zbGF0ZVgoMXB4KTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjgpKTtcbn1cblxuLmNoYXRCdXR0b25UZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5jaGF0QnV0dG9uOmhvdmVyIC5jaGF0QnV0dG9uVGV4dCxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3ZlciAuY2hhdEJ1dHRvblRleHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xufVxuXG4uc2F2ZUJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNhdmVNZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zYXZlTWVudUl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMTExO1xufVxuXG4uc2F2ZU1lbnVJdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuXG4uc2F2ZU1lbnVEaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIG1hcmdpbjogNHB4IDA7XG59XG5cbi5jaGF0RmVlZGJhY2tQYW5lbCB7XG4gICAgd2lkdGg6IG1pbigyNjBweCwgMTAwJSk7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVweCk7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMyNTYzZWI7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmNoYXRGZWVkYmFja0ljb24ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWYyZmY7XG4gICAgY29sb3I6ICM2MzY2ZjE7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGVbZGF0YS1lbmFibGVkPSd0cnVlJ10gLmNoYXRGZWVkYmFja0ljb24ge1xuICAgIGJhY2tncm91bmQ6ICNlMGYyZmU7XG4gICAgY29sb3I6ICMwMjg0Yzc7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGVbZGF0YS1lbmFibGVkPSdmYWxzZSddIC5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uY2hhdEZlZWRiYWNrTWV0YSB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5jaGF0RmVlZGJhY2tMYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5jaGF0RmVlZGJhY2tEZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uY2hhdEZlZWRiYWNrSW5kaWNhdG9yIHtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvckFjdGl2ZSB7XG4gICAgY29sb3I6ICMxNjY1MzQ7XG4gICAgYmFja2dyb3VuZDogI2RjZmNlNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzRkMzk5O1xufVxuXG4uY2hhdEZlZWRiYWNrSW5kaWNhdG9ySW5hY3RpdmUge1xuICAgIGNvbG9yOiAjNzEzZjEyO1xuICAgIGJhY2tncm91bmQ6ICNmZWY5YzM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZhY2MxNTtcbn1cblxuLyogUGF1c2UvUmVzdW1lIGJ1dHRvbiB2YXJpYW50IChyZXVzZXMgLmNoYXRCdXR0b24gYmFzZSBzdHlsZXMgZm9yIERSWSkgKi9cbi5wYXVzZUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmYjM0NyAwJSwgI2ZmOGM0MiAxMDAlKSAhaW1wb3J0YW50OyAvKiBXYXJtIG9yYW5nZSBmb3IgXCJhY3RpdmUvcnVubmluZ1wiICovXG59XG5cbi5wYXVzZUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmYzA2NyAwJSwgI2ZmOWU1ZiAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2luZyB7XG4gICAgb3BhY2l0eTogMC42ICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiB3YWl0ICFpbXBvcnRhbnQ7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEgMCUsICMwNTk2NjkgMTAwJSkgIWltcG9ydGFudDsgLyogR3JlZW4gd2hlbiBwYXVzZWQgKHJlYWR5IHRvIHJlc3VtZSkgKi9cbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNlZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzM0ZDM5OSAwJSwgIzA1OTY2OSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSBzY2FsZSgxLjAyKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjM1KTtcbn1cblxuLnBhdXNlQnV0dG9uIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNlZCBzdmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNpbmcgc3ZnIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5zdG9wQnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZGMyNjI2IDAlLCAjOTkxYjFjIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbn1cblxuLnN0b3BCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmODcxNzEgMCUsICNkYzI2MjYgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnN0b3BCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cblxuLnN0b3BCdXR0b24gc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uc3RvcEJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgyNDgsIDExMywgMTEzLCAwLjgpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGJhciAqL1xuLnZvaWNlQ2FsbEluZGljYXRvckJhciB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpIDAlLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciAqL1xuLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIDAlLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4yKSAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAxOTcsIDk0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY29sb3I6ICMxMGI5ODE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbmltYXRpb246IHZvaWNlQ2FsbEljb25QdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnZvaWNlQ2FsbEluZGljYXRvciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBWb2ljZSBjYWxsIHB1bHNlIGFuaW1hdGlvbiAqL1xuLnZvaWNlQ2FsbFB1bHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHZvaWNlQ2FsbFB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdm9pY2VDYWxsSWNvblB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbFB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4zKTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgaW4gbWVzc2FnZXMgKi9cbi5jaGF0TWVzc2FnZSAudm9pY2VDYWxsSW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG5cbi5jaGF0TWVzc2FnZSAudm9pY2VDYWxsSW5kaWNhdG9yIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xufVxuXG4vKiBGZWVkYmFjayBzdGF0dXMgYmFubmVyICovXG4uZmVlZGJhY2tTdGF0dXMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMTRweCAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDMycHggcmdiYSgxNSwgMjMsIDQyLCAwLjM1KTtcbiAgICB6LWluZGV4OiAxMDAwMDsgLyogW0ZpeCB6LWluZGV4XTogRW5zdXJlIGl0J3MgYWJvdmUgdGhlIGhlYWRlciAoei01MCkgYW5kIG90aGVyIFVJIGVsZW1lbnRzICovXG4gICAgYW5pbWF0aW9uOiBmZWVkYmFja1N0YXR1c1NsaWRlSW4gMC4yOHMgZWFzZS1vdXQ7XG4gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mZWVkYmFja1N0YXR1c1N1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEgMCUsICMwNTk2NjkgMTAwJSk7XG4gICAgY29sb3I6ICNmOGZhZmM7XG59XG5cbi5mZWVkYmFja1N0YXR1c0Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWY0NDQ0IDAlLCAjZGMyNjI2IDEwMCUpO1xuICAgIGNvbG9yOiAjZmVmMmYyO1xufVxuXG5Aa2V5ZnJhbWVzIGZlZWRiYWNrU3RhdHVzU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qIE1vYmlsZSByZXNwb25zaXZlbmVzcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLkNoYXQge1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1taW4td2lkdGg6IDEwMHB4O1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZTogMzZweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoOiBtaW4oXG4gICAgICAgICAgICA4NSUsXG4gICAgICAgICAgICA1NjBweCxcbiAgICAgICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXA6IDEwcHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1mb250LXNpemU6IDE2cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDE0cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDE4cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDRweDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTJweCAxNnB4IDA7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICB9XG5cbiAgICAvKiBb44qX77iPXVxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgfVxuICAgICovXG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgYm90dG9tOiA3NnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxMXB4O1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG5cbiAgICAuc2Nyb2xsVG9Cb3R0b20ge1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxDb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLnN0YXJzIHtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnN0YXJzIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICB9XG5cbiAgICAucmF0aW5nQWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuXG4gICAgLnJhdGluZ0FjdGlvbnMgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB9XG5cbiAgICAuc2VsZkxlYXJuaW5nTW9kYWxIZWFkZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuc2VsZkxlYXJuaW5nQXZhdGFyR3JvdXAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ01ldGFSb3cge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5DaGF0IHtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZTogMzJweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoOiBtaW4oXG4gICAgICAgICAgICA5MCUsXG4gICAgICAgICAgICA1MjBweCxcbiAgICAgICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXA6IDhweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteTogMTJweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteDogMTZweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplOiA0MHB4O1xuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMTJweCAwO1xuICAgICAgICBnYXA6IDRweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIH1cblxuICAgIC8qIFvjipfvuI9dXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gICAgKi9cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiA3MnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyxcbiAgICAuZGljdGF0aW9uRXJyb3JBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cbn1cblxuLyogUmVkdWNlZCBtb3Rpb24gc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLnJhdGluZ01vZGFsLFxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQsXG4gICAgLmZlZWRiYWNrU3RhdHVzIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbixcbiAgICAvKiBb44qX77iPXSAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZywgKi9cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4vKiBFbWFpbCBtb2RhbCBzdHlsZXMgKi9cbi5lbWFpbENvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4uZW1haWxNb2RhbEhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmVtYWlsSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uZW1haWxIZWFkZXJMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmVtYWlsTWV0YWRhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4uZW1haWxGaWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5lbWFpbEZpZWxkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbWFpbEZpZWxkIHN0cm9uZyB7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5lbWFpbFJlY2lwaWVudHMge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5lbWFpbEJvZHkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5lbWFpbEJvZHkgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uZW1haWxCb2R5Q29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5lbWFpbEJvZHlDb250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbn1cblxuLmVtYWlsQm9keUNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnJvd3NlclJ1bk1vZGFsSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmYWZjIDAlLCAjZWNmZWZmIDQwJSwgI2VjZmNjYiAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZWFmZTtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJUZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5icm93c2VyUnVuSGVhZGVyU3RhdHVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5icm93c2VyUnVuSGVhZGVyTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5icm93c2VyUnVuTWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuV2FybmluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmJiZjI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmJlYjtcbiAgICBjb2xvcjogIzkyNDAwZTtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZjYTVhNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gICAgY29sb3I6ICM3ZjFkMWQ7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bkVycm9yU3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bkVycm9yU3RlcHMge1xuICAgIG1hcmdpbjogOHB4IDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuXG4uYnJvd3NlclJ1bkRlYnVnRGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJyb3dzZXJSdW5EZWJ1Z0RldGFpbHMgc3VtbWFyeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjN2YxZDFkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5icm93c2VyUnVuRGVidWdEZXRhaWxzIHByZSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY3ZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZDdhYTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uYnJvd3NlclJ1bkZhbGxiYWNrQ29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG59XG5cbi5icm93c2VyUnVuU3RhdHVzQmFubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk1KTtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FyZEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhVGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUNhcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUltYWdlLFxuLmJyb3dzZXJSdW5NZWRpYVZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBtYXgtaGVpZ2h0OiAyNjBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkxvZyB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uTG9nVGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25MaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25JdGVtIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblBlbmRpbmcge1xuICAgIG9wYWNpdHk6IDAuODI7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uUnVubmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMDgpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkNvbXBsZXRlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjIyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uRXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGUge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2JkNWUxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlUnVubmluZyB7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTQpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlQ29tcGxldGUge1xuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEyKTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25TdGF0ZUVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25NZXRhIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmOGZhZmMgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogNDhweCA0MHB4IDY0cHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgcmdiYSgyLCA2LCAyMywgMC45OCksIHJnYmEoMTUsIDIzLCA0MiwgMC45MikpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMzIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNDBweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC4zNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE0NWRlZyxcbiAgICAgICAgICAgIHZhcigtLWFnZW50LWNoYXQtYnJhbmQtY29sb3ItbGlnaHQsICM3ZGQzZmMpLFxuICAgICAgICAgICAgdmFyKC0tYWdlbnQtY2hhdC1icmFuZC1jb2xvciwgIzBlYTVlOSlcbiAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y4ZmFmYyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxOHB4IDQwcHggcmdiYSgyLCA2LCAyMywgMC42KSBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDIycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGZiZmYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwZjE3MmEgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQ1KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDE1LCAyMywgNDIsIDAuMykgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZXNzYWdlTWV0YSxcbiAgICAucGFydGljaXBhbnRMYWJlbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQsXG4gICAgLnNjcm9sbFRvQm90dG9tLFxuICAgIC5mZWVkYmFja1N0YXR1cyxcbiAgICAudm9pY2VDYWxsSW5kaWNhdG9yQmFyLFxuICAgIC52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvcHlCdXR0b25Db250YWluZXIsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmVtYWlsU3RhdHVzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKipcbiAqIFRPRE86IFvwn4yJXSBEUlkgTWFya2Rvd24gcHJpbWl0aXZlcyBzdHlsaW5nXG4gKi9cbi8qIEltYWdlIHByb21wdCBwcmV2aWV3IHN0eWxlcyAqL1xuLmltYWdlUHJvbXB0IHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uaW1hZ2VQcm9tcHRQcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNSwgMTE4LCAyNTUsIDAuMDUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCkpO1xufVxuXG4uaW1hZ2VQcm9tcHRJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1hZ2VQcm9tcHRQbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmltYWdlUHJvbXB0U3Bpbm5lciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTYzZWI7XG4gICAgYW5pbWF0aW9uOiBpbWFnZVByb21wdFNwaW5uZXIgMC45cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgaW1hZ2VQcm9tcHRTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uaW1hZ2VQcm9tcHRNZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5pbWFnZVByb21wdFByb21wdCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi5pbWFnZVByb21wdFN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4uaW1hZ2VQcm9tcHRFcnJvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICNkYzI2MjY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDM4LCAzOCwgMC4wOCk7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlclNwaW5uZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzIyZDNlZTtcbiAgICBhbmltYXRpb246IHJpY2hGZWF0dXJlU3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXJDb3B5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlclN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNDc1NTY5O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjQpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LCAyNDYsIDI1NSwgMC45NCksIHJnYmEoMjE5LCAyMzQsIDI1NCwgMC44NikpO1xuICAgIHBhZGRpbmc6IDEycHggMTNweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFRpdGxlIHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsU2VjdGlvbkxhYmVsIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxZDRlZDg7XG59XG5cbi5wcm9ncmVzc1BhbmVsU2VjdGlvbkJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uQm9keSBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdEl0ZW0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbExpc3RCdWxsZXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzI1NjNlYjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtU3Bpbm5lciB7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDM3LCA5OSwgMjM1LCAwLjI2KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjU2M2ViO1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3NQYW5lbFNwaW5uZXIgMC43NXMgbGluZWFyIGluZmluaXRlO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtQ29tcGxldGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMXB4O1xuICAgIGhlaWdodDogMTFweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTYpO1xuICAgIGNvbG9yOiAjMTU4MDNkO1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wcm9ncmVzc1BhbmVsSXRlbVRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtVGV4dCBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NQYW5lbFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcmljaEZlYXR1cmVTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIl19 */";
23006
- var styles$5 = {"copiedToClipboardMessage":"Chat-module_copiedToClipboardMessage__apCPY","Chat":"Chat-module_Chat__j2eE5","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","portal":"Chat-module_portal__uTOT8","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","actionsFaded":"Chat-module_actionsFaded__qqAVQ","actionsScrolling":"Chat-module_actionsScrolling__fIawW","chatButton":"Chat-module_chatButton__d9VgA","chatButtonText":"Chat-module_chatButtonText__RkGB-","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatChildren":"Chat-module_chatChildren__flOPK","chatMessages":"Chat-module_chatMessages__J2u2N","hasActionsAndFirstMessageIsLong":"Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ","chatMessage":"Chat-module_chatMessage__nmLaZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","messageStack":"Chat-module_messageStack__n0xNL","isMe":"Chat-module_isMe__nBtaV","messageWithMap":"Chat-module_messageWithMap__X5dr0","messageMeta":"Chat-module_messageMeta__eqCRu","messageLifecycleBadge":"Chat-module_messageLifecycleBadge__4jDDc","messageTimestamp":"Chat-module_messageTimestamp__LDhRw","messageDuration":"Chat-module_messageDuration__Y9Kg9","messageLifecycleError":"Chat-module_messageLifecycleError__m-FO-","participantLabel":"Chat-module_participantLabel__0Oo-3","isNotCompleteMessage":"Chat-module_isNotCompleteMessage__Hj2K7","NonCompleteMessageFiller":"Chat-module_NonCompleteMessageFiller__G5-Ve","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","toolCallChips":"Chat-module_toolCallChips__UWgC1","sourceCitations":"Chat-module_sourceCitations__oDtBX","citationFootnotes":"Chat-module_citationFootnotes__LAWdh","citationFootnoteItem":"Chat-module_citationFootnoteItem__JXTAX","citationFootnoteNumber":"Chat-module_citationFootnoteNumber__CMmm9","toolCallChip":"Chat-module_toolCallChip__koN18","toolCallChipOngoing":"Chat-module_toolCallChipOngoing__wKcDY","toolCallChipStatus":"Chat-module_toolCallChipStatus__I-nl9","teamToolCall":"Chat-module_teamToolCall__5F45R","transitiveToolCall":"Chat-module_transitiveToolCall__WcaaK","teamAgentChip":"Chat-module_teamAgentChip__mvgtY","transitiveAgentChip":"Chat-module_transitiveAgentChip__zNOJf","toolCallLabel":"Chat-module_toolCallLabel__q7EFf","toolCallWithError":"Chat-module_toolCallWithError__AtQqO","toolCallOrigin":"Chat-module_toolCallOrigin__-Io6Y","toolCallDetails":"Chat-module_toolCallDetails__WUFlD","toolCallData":"Chat-module_toolCallData__UauCO","toolCallChipSpinner":"Chat-module_toolCallChipSpinner__ZGTwl","toolCallSpinner":"Chat-module_toolCallSpinner__LSiK6","typingIndicator":"Chat-module_typingIndicator__S-CT-","avatar":"Chat-module_avatar__gL6bm","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","ratingStar":"Chat-module_ratingStar__rRfqC","active":"Chat-module_active__lbYL-","copyButtonContainer":"Chat-module_copyButtonContainer__Rij0U","messageControlGroup":"Chat-module_messageControlGroup__gAo4k","copyButton":"Chat-module_copyButton__DcxT5","playButton":"Chat-module_playButton__ZigYL","playButtonIcon":"Chat-module_playButtonIcon__wPErq","playButtonSpinner":"Chat-module_playButtonSpinner__Ad33i","messagePlaySpinner":"Chat-module_messagePlaySpinner__ldlvy","copiedTooltip":"Chat-module_copiedTooltip__LH81j","copiedTooltipFadeIn":"Chat-module_copiedTooltipFadeIn__QekO1","copiedTooltipLeft":"Chat-module_copiedTooltipLeft__j-S-5","copiedTooltipRight":"Chat-module_copiedTooltipRight__R-2cE","attachments":"Chat-module_attachments__m1Fts","attachment":"Chat-module_attachment__aE9hK","attachmentIcon":"Chat-module_attachmentIcon__BX3Cy","attachmentName":"Chat-module_attachmentName__aMx56","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","actionMessageButton":"Chat-module_actionMessageButton__avcbv","rating":"Chat-module_rating__soc3M","feedbackIssueButton":"Chat-module_feedbackIssueButton__9NrrF","chatInput":"Chat-module_chatInput__1Ecan","fullPageVisual":"Chat-module_fullPageVisual__zNAEy","dragOver":"Chat-module_dragOver__bkS-g","filePreviewContainer":"Chat-module_filePreviewContainer__R70hm","filePreview":"Chat-module_filePreview__kq2aX","fileIcon":"Chat-module_fileIcon__zoSKW","fileInfo":"Chat-module_fileInfo__wBLi0","fileName":"Chat-module_fileName__bBujo","fileSize":"Chat-module_fileSize__ivliq","removeFileButton":"Chat-module_removeFileButton__0gakR","inputContainer":"Chat-module_inputContainer__bPt99","attachmentButton":"Chat-module_attachmentButton__qLO47","voiceButton":"Chat-module_voiceButton__d2zlP","voiceButtonActive":"Chat-module_voiceButtonActive__Uoi3W","voiceRecordingPulse":"Chat-module_voiceRecordingPulse__y2wJ5","speechStatusBubble":"Chat-module_speechStatusBubble__qBBWI","speechStatusBubbleIn":"Chat-module_speechStatusBubbleIn__PBm-c","speechStatusBubbleDot":"Chat-module_speechStatusBubbleDot__APu53","speechStatusBubbleDotPulse":"Chat-module_speechStatusBubbleDotPulse__Guqsu","speechStatusBubbleRecording":"Chat-module_speechStatusBubbleRecording__faJs2","speechStatusBubbleProcessing":"Chat-module_speechStatusBubbleProcessing__Crbuu","speechStatusBubbleError":"Chat-module_speechStatusBubbleError__Nd-Aj","dictationPanel":"Chat-module_dictationPanel__kzbyG","dictationPanelHeader":"Chat-module_dictationPanelHeader__rHXTh","dictationPanelTitle":"Chat-module_dictationPanelTitle__sO9XH","dictationPanelToggle":"Chat-module_dictationPanelToggle__z3HMx","dictationInterimTranscript":"Chat-module_dictationInterimTranscript__eAbMI","dictationErrorPanel":"Chat-module_dictationErrorPanel__mjbM7","dictationErrorActions":"Chat-module_dictationErrorActions__K3ykb","dictationCorrectionActions":"Chat-module_dictationCorrectionActions__ssE7i","dictationCorrectionPanel":"Chat-module_dictationCorrectionPanel__5nh9M","dictationCorrectionLabel":"Chat-module_dictationCorrectionLabel__U4uzT","dictationCorrectionTextarea":"Chat-module_dictationCorrectionTextarea__5ovj9","dictationSettingsPanel":"Chat-module_dictationSettingsPanel__0gI-V","dictationFallbackNote":"Chat-module_dictationFallbackNote__919pE","uploadProgress":"Chat-module_uploadProgress__jBTKe","uploadProgressBar":"Chat-module_uploadProgressBar__Gutnt","uploadProgressFill":"Chat-module_uploadProgressFill__EgubT","dragOverlay":"Chat-module_dragOverlay__SEGoS","dragOverlayContent":"Chat-module_dragOverlayContent__gb9kF","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottomWrapper":"Chat-module_scrollToBottomWrapper__PCIu1","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollToBottomBadge":"Chat-module_scrollToBottomBadge__N6T6-","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingModalStar":"Chat-module_ratingModalStar__XkbHr","toolCallModal":"Chat-module_toolCallModal__uNaIK","toolCallHeader":"Chat-module_toolCallHeader__ZaTZF","toolCallIcon":"Chat-module_toolCallIcon__UgRKj","toolCallHeaderMeta":"Chat-module_toolCallHeaderMeta__iAL-U","toolCallModalLabel":"Chat-module_toolCallModalLabel__4dBP4","toolCallTitle":"Chat-module_toolCallTitle__jhL0A","toolCallSubtitle":"Chat-module_toolCallSubtitle__a2GIO","toolCallGrid":"Chat-module_toolCallGrid__Nfr7N","toolCallPanel":"Chat-module_toolCallPanel__kQZE9","toolCallPanelTitle":"Chat-module_toolCallPanelTitle__-7OtJ","toolCallList":"Chat-module_toolCallList__5co3s","toolCallItem":"Chat-module_toolCallItem__k7W5Z","toolCallItemLabel":"Chat-module_toolCallItemLabel__d3C1E","toolCallItemValue":"Chat-module_toolCallItemValue__cStQ0","toolCallSummary":"Chat-module_toolCallSummary__wGZwg","toolCallSummaryMeta":"Chat-module_toolCallSummaryMeta__RXiSv","toolCallSummaryMetaBadge":"Chat-module_toolCallSummaryMetaBadge__JBi-I","toolCallEmpty":"Chat-module_toolCallEmpty__bUz5v","toolCallPendingCard":"Chat-module_toolCallPendingCard__L3m7T","toolCallPendingHeader":"Chat-module_toolCallPendingHeader__U3htF","toolCallPendingTitle":"Chat-module_toolCallPendingTitle__4fwLL","toolCallPendingBadge":"Chat-module_toolCallPendingBadge__bgY3c","toolCallPendingMessage":"Chat-module_toolCallPendingMessage__grnao","toolCallPendingSkeleton":"Chat-module_toolCallPendingSkeleton__Td5Cu","toolCallPendingSkeletonLine":"Chat-module_toolCallPendingSkeletonLine__Vldel","toolCallPendingSkeletonPulse":"Chat-module_toolCallPendingSkeletonPulse__aKDNI","toolCallPendingSkeletonShort":"Chat-module_toolCallPendingSkeletonShort__FnR-X","toolCallDetailsCard":"Chat-module_toolCallDetailsCard__UJthw","toolCallDetailsCardRow":"Chat-module_toolCallDetailsCardRow__-VhfA","toolCallIssues":"Chat-module_toolCallIssues__evhYM","toolCallIssueBadge":"Chat-module_toolCallIssueBadge__Qbwdp","toolCallIssueError":"Chat-module_toolCallIssueError__LImeS","toolCallIssueWarning":"Chat-module_toolCallIssueWarning__chQDf","toolCallModeFooter":"Chat-module_toolCallModeFooter__XaRqI","toolCallModeButton":"Chat-module_toolCallModeButton__zlcca","toolCallClockPanel":"Chat-module_toolCallClockPanel__h4xZd","toolCallClockLabels":"Chat-module_toolCallClockLabels__KJGxe","toolCallClockPrimary":"Chat-module_toolCallClockPrimary__StLQ8","toolCallClockSecondary":"Chat-module_toolCallClockSecondary__O4WaT","toolCallClockMeta":"Chat-module_toolCallClockMeta__aObb7","timeoutToolSummary":"Chat-module_timeoutToolSummary__kPPvu","timeoutToolPrimarySentence":"Chat-module_timeoutToolPrimarySentence__pQfLn","timeoutToolSecondarySentence":"Chat-module_timeoutToolSecondarySentence__iH5Uc","timeoutToolActionRow":"Chat-module_timeoutToolActionRow__occir","timeoutToolActionButton":"Chat-module_timeoutToolActionButton__8yz0R","memoryModalHeader":"Chat-module_memoryModalHeader__SpZJT","memoryModalIcon":"Chat-module_memoryModalIcon__eYbli","memoryModalHeaderText":"Chat-module_memoryModalHeaderText__S6MZG","memoryModalTitle":"Chat-module_memoryModalTitle__zzbaQ","memoryModalSubtitle":"Chat-module_memoryModalSubtitle__PStci","memoryModalStatus":"Chat-module_memoryModalStatus__bmrfc","memoryStatusDot":"Chat-module_memoryStatusDot__c0oVs","memoryModalContent":"Chat-module_memoryModalContent__8E7oj","memoryMessage":"Chat-module_memoryMessage__q0pNK","memoryMetaRow":"Chat-module_memoryMetaRow__Hc-Xp","memoryMetaLabel":"Chat-module_memoryMetaLabel__LFx11","memoryMetaValue":"Chat-module_memoryMetaValue__4bILO","memoryStoreSection":"Chat-module_memoryStoreSection__qQJPN","memoryRetrieveSection":"Chat-module_memoryRetrieveSection__VbuS4","memoryCard":"Chat-module_memoryCard__-kIDN","memoryCardContent":"Chat-module_memoryCardContent__l9S4G","memoryCardMeta":"Chat-module_memoryCardMeta__K66KE","memoryScopeBadge":"Chat-module_memoryScopeBadge__T2ACc","memoryList":"Chat-module_memoryList__pUOg2","memoryEmptyState":"Chat-module_memoryEmptyState__fPrXA","memoryListFooter":"Chat-module_memoryListFooter__Y0Q2Z","memoryStatusSuccess":"Chat-module_memoryStatusSuccess__4bhfo","memoryStatusWarning":"Chat-module_memoryStatusWarning__AR6yh","memoryStatusError":"Chat-module_memoryStatusError__ZNAT6","memoryStatusNeutral":"Chat-module_memoryStatusNeutral__Fa-4M","searchModalHeader":"Chat-module_searchModalHeader__Y8V-w","selfLearningModalHeader":"Chat-module_selfLearningModalHeader__PDIt1","selfLearningAvatarGroup":"Chat-module_selfLearningAvatarGroup__jgy2k","selfLearningAvatar":"Chat-module_selfLearningAvatar__NHXKm","selfLearningAvatarInitial":"Chat-module_selfLearningAvatarInitial__cuw19","selfLearningTeacher":"Chat-module_selfLearningTeacher__fGhX8","selfLearningHeaderText":"Chat-module_selfLearningHeaderText__LTwHL","selfLearningTitle":"Chat-module_selfLearningTitle__G0SAk","selfLearningMetaRow":"Chat-module_selfLearningMetaRow__z4Tg0","selfLearningMeta":"Chat-module_selfLearningMeta__58Pet","selfLearningMetaChip":"Chat-module_selfLearningMetaChip__0go88","selfLearningCommitments":"Chat-module_selfLearningCommitments__7ECnr","selfLearningCommitmentsLabel":"Chat-module_selfLearningCommitmentsLabel__OkDO1","selfLearningBookEditor":"Chat-module_selfLearningBookEditor__CZy5T","selfLearningEmpty":"Chat-module_selfLearningEmpty__vCKHL","modalCloseButton":"Chat-module_modalCloseButton__AAfWS","teamModalHeader":"Chat-module_teamModalHeader__SB5NL","teamHeaderParticipants":"Chat-module_teamHeaderParticipants__KS7aV","teamHeaderProfile":"Chat-module_teamHeaderProfile__xRlcS","teamHeaderProfileLink":"Chat-module_teamHeaderProfileLink__fYTfT","teamHeaderAvatar":"Chat-module_teamHeaderAvatar__vXcTp","teamHeaderName":"Chat-module_teamHeaderName__ygJR9","teamHeaderDivider":"Chat-module_teamHeaderDivider__cnRMd","searchModalIcon":"Chat-module_searchModalIcon__AR5KY","searchModalQuery":"Chat-module_searchModalQuery__5x-Ra","searchModalContent":"Chat-module_searchModalContent__mWLIE","teamChatContainer":"Chat-module_teamChatContainer__xdLtU","teamToolCallSection":"Chat-module_teamToolCallSection__FH9l7","teamToolCallGroup":"Chat-module_teamToolCallGroup__PO6rl","teamToolCallHeading":"Chat-module_teamToolCallHeading__G-JSj","teamToolCallChips":"Chat-module_teamToolCallChips__hRWqh","teamToolCallDetails":"Chat-module_teamToolCallDetails__ZaTtt","teamToolCallDetailsHeader":"Chat-module_teamToolCallDetailsHeader__FPIgI","teamToolCallDetailsTitle":"Chat-module_teamToolCallDetailsTitle__50SeL","teamToolCallDetailsClear":"Chat-module_teamToolCallDetailsClear__8yvu7","searchResultsList":"Chat-module_searchResultsList__xVDUZ","searchResultsRaw":"Chat-module_searchResultsRaw__i3GkD","searchResultItem":"Chat-module_searchResultItem__bTzq5","searchResultUrl":"Chat-module_searchResultUrl__SbrH4","searchResultTitle":"Chat-module_searchResultTitle__XS7zN","searchResultSnippet":"Chat-module_searchResultSnippet__Wsun2","noResults":"Chat-module_noResults__AAv6s","citationDetails":"Chat-module_citationDetails__2v2e1","citationPreview":"Chat-module_citationPreview__rGhCR","citationIframe":"Chat-module_citationIframe__ngzFY","citationMetadata":"Chat-module_citationMetadata__DPaCF","citationExcerpt":"Chat-module_citationExcerpt__VU4BS","citationHint":"Chat-module_citationHint__5AkLx","toolCallDataContainer":"Chat-module_toolCallDataContainer__rdEzC","toolCallPayloadContainer":"Chat-module_toolCallPayloadContainer__v2yVn","toolCallPayloadEditor":"Chat-module_toolCallPayloadEditor__Hklyf","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","downloadButton":"Chat-module_downloadButton__8--bk","saveButtonContainer":"Chat-module_saveButtonContainer__lSNUJ","saveMenu":"Chat-module_saveMenu__-ph8y","saveMenuItem":"Chat-module_saveMenuItem__ISApL","saveMenuDivider":"Chat-module_saveMenuDivider__3ktTM","chatFeedbackPanel":"Chat-module_chatFeedbackPanel__gfOzk","chatFeedbackToggle":"Chat-module_chatFeedbackToggle__IeOM6","chatFeedbackIcon":"Chat-module_chatFeedbackIcon__XcB7A","chatFeedbackMeta":"Chat-module_chatFeedbackMeta__6t2be","chatFeedbackLabel":"Chat-module_chatFeedbackLabel__qQgH3","chatFeedbackDescription":"Chat-module_chatFeedbackDescription__I9bNg","chatFeedbackIndicator":"Chat-module_chatFeedbackIndicator__uHCr7","chatFeedbackIndicatorActive":"Chat-module_chatFeedbackIndicatorActive__bkw-w","chatFeedbackIndicatorInactive":"Chat-module_chatFeedbackIndicatorInactive__qMBkh","pauseButton":"Chat-module_pauseButton__eeu7K","pausing":"Chat-module_pausing__pTx8b","paused":"Chat-module_paused__j-pya","stopButton":"Chat-module_stopButton__dkPOW","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","feedbackStatus":"Chat-module_feedbackStatus__-df7l","feedbackStatusSlideIn":"Chat-module_feedbackStatusSlideIn__n6bbB","feedbackStatusSuccess":"Chat-module_feedbackStatusSuccess__Ax2q0","feedbackStatusError":"Chat-module_feedbackStatusError__dnv6d","emailContainer":"Chat-module_emailContainer__TBxXZ","emailModalHeader":"Chat-module_emailModalHeader__Z4-CJ","emailHeaderText":"Chat-module_emailHeaderText__1dR6R","emailHeaderLabel":"Chat-module_emailHeaderLabel__7iAEH","emailMetadata":"Chat-module_emailMetadata__8XXGf","emailField":"Chat-module_emailField__pcb03","emailRecipients":"Chat-module_emailRecipients__YVVys","emailBody":"Chat-module_emailBody__OBt-w","emailBodyContent":"Chat-module_emailBodyContent__-vFo2","browserRunModalHeader":"Chat-module_browserRunModalHeader__0AyeK","browserRunHeaderText":"Chat-module_browserRunHeaderText__JUbNv","browserRunHeaderStatus":"Chat-module_browserRunHeaderStatus__uu3Fi","browserRunHeaderLabel":"Chat-module_browserRunHeaderLabel__uKYCb","browserRunMeta":"Chat-module_browserRunMeta__lJkQc","browserRunWarning":"Chat-module_browserRunWarning__ojdEP","browserRunError":"Chat-module_browserRunError__aELQo","browserRunErrorSummary":"Chat-module_browserRunErrorSummary__ygz-g","browserRunErrorSteps":"Chat-module_browserRunErrorSteps__S96nl","browserRunDebugDetails":"Chat-module_browserRunDebugDetails__SZ3VT","browserRunFallbackContent":"Chat-module_browserRunFallbackContent__NYCkp","browserRunStatusBanner":"Chat-module_browserRunStatusBanner__ljIE9","browserRunMediaGrid":"Chat-module_browserRunMediaGrid__KDz3I","browserRunMediaCard":"Chat-module_browserRunMediaCard__focNP","browserRunMediaCardHeader":"Chat-module_browserRunMediaCardHeader__sOfLw","browserRunMediaTitle":"Chat-module_browserRunMediaTitle__a6Ctw","browserRunMediaCaption":"Chat-module_browserRunMediaCaption__LG8E6","browserRunMediaImage":"Chat-module_browserRunMediaImage__UI4pd","browserRunMediaVideo":"Chat-module_browserRunMediaVideo__z2RgF","browserRunActionLog":"Chat-module_browserRunActionLog__YZ0CQ","browserRunActionLogTitle":"Chat-module_browserRunActionLogTitle__XaEIW","browserRunActionList":"Chat-module_browserRunActionList__SOgfd","browserRunActionItem":"Chat-module_browserRunActionItem__1q668","browserRunActionPending":"Chat-module_browserRunActionPending__unJJt","browserRunActionRunning":"Chat-module_browserRunActionRunning__NdlRL","browserRunActionComplete":"Chat-module_browserRunActionComplete__PU36H","browserRunActionError":"Chat-module_browserRunActionError__y-cm0","browserRunActionState":"Chat-module_browserRunActionState__pkfKg","browserRunActionStateRunning":"Chat-module_browserRunActionStateRunning__L1IbZ","browserRunActionStateComplete":"Chat-module_browserRunActionStateComplete__CpVEc","browserRunActionStateError":"Chat-module_browserRunActionStateError__lU-t4","browserRunActionMeta":"Chat-module_browserRunActionMeta__df32n","emailStatus":"Chat-module_emailStatus__T4UuL","imagePrompt":"Chat-module_imagePrompt__v7-Ho","imagePromptPreview":"Chat-module_imagePromptPreview__ve5dB","imagePromptImage":"Chat-module_imagePromptImage__KjE3H","imagePromptPlaceholder":"Chat-module_imagePromptPlaceholder__b8cW6","imagePromptSpinner":"Chat-module_imagePromptSpinner__nat8r","imagePromptMeta":"Chat-module_imagePromptMeta__YwltP","imagePromptPrompt":"Chat-module_imagePromptPrompt__N1E--","imagePromptStatus":"Chat-module_imagePromptStatus__0ROQF","imagePromptError":"Chat-module_imagePromptError__x1952","richFeaturePlaceholder":"Chat-module_richFeaturePlaceholder__mXS7-","richFeaturePlaceholderSpinner":"Chat-module_richFeaturePlaceholderSpinner__ingFq","richFeatureSpinner":"Chat-module_richFeatureSpinner__eOql6","richFeaturePlaceholderCopy":"Chat-module_richFeaturePlaceholderCopy__sEgxN","richFeaturePlaceholderTitle":"Chat-module_richFeaturePlaceholderTitle__lF7rJ","richFeaturePlaceholderStatus":"Chat-module_richFeaturePlaceholderStatus__UJg09","progressPanel":"Chat-module_progressPanel__9M8h9","progressPanelTitle":"Chat-module_progressPanelTitle__rBdoY","progressPanelSection":"Chat-module_progressPanelSection__F3xUF","progressPanelSectionLabel":"Chat-module_progressPanelSectionLabel__aTPgr","progressPanelSectionBody":"Chat-module_progressPanelSectionBody__Z7zX0","progressPanelList":"Chat-module_progressPanelList__PHFeP","progressPanelListItem":"Chat-module_progressPanelListItem__7v9jN","progressPanelListBullet":"Chat-module_progressPanelListBullet__Tzvi7","progressPanelItemSpinner":"Chat-module_progressPanelItemSpinner__oJ6Az","progressPanelSpinner":"Chat-module_progressPanelSpinner__pzxP2","progressPanelItemCompleted":"Chat-module_progressPanelItemCompleted__7bJhG","progressPanelItemText":"Chat-module_progressPanelItemText__tZPIs"};
23217
+ var css_248z$5 = "@font-face{font-display:swap;font-family:OpenMojiBlack;src:url(/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}@font-face{font-display:swap;font-family:OpenMojiColor;src:url(/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}.Chat-module_copiedToClipboardMessage__apCPY{background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:1.1em;left:50%;opacity:.97;padding:10px 24px;pointer-events:none;position:fixed;top:32px;transform:translateX(-50%);z-index:9999}.Chat-module_Chat__j2eE5{--chat-message-min-width:170px;--chat-message-avatar-gap:14px;--chat-message-avatar-size:42px;--chat-message-max-width:min(72%,680px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-bubble-radius:24px;--chat-bubble-shadow:0 12px 34px rgba(15,23,42,.16);--chat-bubble-shadow-hover:0 18px 42px rgba(15,23,42,.2);--chat-bubble-border-color:hsla(0,0%,100%,.34);--chat-bubble-font-size:15px;--chat-bubble-line-height:1.62;--chat-input-visible-lines:3;--chat-input-font-size:15px;--chat-input-line-height:1.5;--chat-input-padding-y:10px;--chat-input-padding-x:12px;--chat-input-action-size:40px;--chat-input-textarea-height:calc(var(--chat-input-visible-lines)*var(--chat-input-font-size)*var(--chat-input-line-height) + var(--chat-input-padding-y)*2);display:flex;flex-direction:column;font-family:var(\n --chat-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n ),\"OpenMojiColor\",\"OpenMojiBlack\";height:100%;min-height:0;overflow:hidden;width:100%}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-max-width:54rem;--chat-article-layout-padding-inline:clamp(16px,4vw,40px)}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;height:100%;max-width:100%;min-height:0;min-width:0;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:#fff;border-bottom:1px solid rgba(15,23,36,.06);color:#0f1724;font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;transition:opacity .2s ease;width:auto;will-change:opacity;z-index:40}.Chat-module_actions__gTZ5T.Chat-module_portal__uTOT8{margin:0}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}.Chat-module_actionsFaded__qqAVQ{opacity:.3}.Chat-module_actionsScrolling__fIawW{opacity:.15;pointer-events:none}@media (max-width:900px){.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK{grid-area:💬;height:100%;min-height:0;min-width:0;width:100%;z-index:300}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{grid-area:💬;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 18px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_articleModeChatMessages__ufofT{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ{margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{justify-content:flex-start}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ{padding-top:80px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:7px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);column-gap:var(--chat-message-avatar-gap);display:flex;flex-direction:row;margin-bottom:24px;max-width:100%;min-width:0;position:relative}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL{align-items:flex-start;display:flex;flex-direction:column;max-width:var(--chat-message-max-width);min-width:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageStack__n0xNL{align-items:flex-end}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL>*{max-width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{align-items:stretch;column-gap:0;justify-content:center;margin-bottom:28px;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{align-items:stretch;margin:0 auto;max-width:min(100%,860px);width:min(100%,860px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm.Chat-module_articleModeAgentAvatar__UCKDX{display:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0{align-items:stretch}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{align-items:stretch;max-width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)))}@media (max-width:900px){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{max-width:min(92vw,640px);width:min(92vw,640px)}}.Chat-module_messageMeta__eqCRu{align-items:center;color:rgba(71,85,105,.85);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;line-height:1.4;margin:6px 8px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageMeta__eqCRu{align-self:flex-end;text-align:right}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageMeta__eqCRu{margin-left:0;margin-right:0}.Chat-module_messageLifecycleBadge__4jDDc{align-items:center;background:rgba(148,163,184,.16);border-radius:999px;color:#475569;display:inline-flex;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.Chat-module_messageTimestamp__LDhRw{letter-spacing:.02em}.Chat-module_messageDuration__Y9Kg9{opacity:.85}.Chat-module_messageLifecycleError__m-FO-{color:#b91c1c;font-size:12px;line-height:1.45;margin:4px 6px 0}.Chat-module_participantLabel__0Oo-3{color:rgba(71,85,105,.82);font-size:11.5px;font-weight:600;letter-spacing:.07em;margin:0 0 7px;text-transform:uppercase}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_participantLabel__0Oo-3{text-align:right}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isNotCompleteMessage__Hj2K7{opacity:.7;position:relative}.Chat-module_NonCompleteMessageFiller__G5-Ve{color:transparent}.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{display:none}.Chat-module_citationFootnotes__LAWdh,.Chat-module_sourceCitations__oDtBX,.Chat-module_toolCallChips__UWgC1{border-top:1px solid hsla(0,0%,49%,.28);border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.Chat-module_citationFootnotes__LAWdh{align-items:flex-start;flex-direction:column}.Chat-module_citationFootnoteItem__JXTAX{align-items:center;display:inline-flex;gap:8px;min-height:32px}.Chat-module_citationFootnoteNumber__CMmm9{color:color-mix(in srgb,var(--message-text-color,#0f172a) 78%,transparent);font-size:.84rem;font-weight:700;line-height:1;min-width:1.25rem}.Chat-module_toolCallChip__koN18{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.78) 26%);border:1px solid hsla(0,0%,49%,.3);border:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:flex;font-family:OpenMojiColor,OpenMojiBlack,Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:600;gap:8px;padding:5px 11px;transition:all .2s ease}.Chat-module_toolCallChip__koN18:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.86) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_toolCallChipOngoing__wKcDY{background:rgba(14,165,233,.1);border-color:rgba(59,130,246,.8)}.Chat-module_toolCallChipStatus__I-nl9{align-items:center;display:inline-flex;margin-left:auto}.Chat-module_teamToolCall__5F45R,.Chat-module_transitiveToolCall__WcaaK{gap:8px;justify-content:flex-start}.Chat-module_teamAgentChip__mvgtY,.Chat-module_transitiveAgentChip__zNOJf{flex-shrink:0}.Chat-module_toolCallLabel__q7EFf{flex:1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_toolCallWithError__AtQqO{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.8)}.Chat-module_toolCallOrigin__-Io6Y{font-size:.85em;font-weight:500;opacity:.75;white-space:nowrap}.Chat-module_toolCallDetails__WUFlD{margin-bottom:24px}.Chat-module_toolCallDetails__WUFlD p{margin-bottom:8px}.Chat-module_toolCallData__UauCO{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;max-height:300px;overflow-x:auto;padding:12px;word-break:break-all}.Chat-module_toolCallChipSpinner__ZGTwl{animation:Chat-module_toolCallSpinner__LSiK6 .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes Chat-module_toolCallSpinner__LSiK6{to{transform:rotate(1turn)}}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,#6b7280,hsla(0,0%,49%,.6));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:10px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:not(.Chat-module_isMe__nBtaV) .Chat-module_messageText__XgNyQ{border-bottom-left-radius:10px}.Chat-module_ratingStar__rRfqC{color:var(--star-inactive-color,#ccc);cursor:pointer;font-size:20px;transition:color .2s}.Chat-module_ratingStar__rRfqC.Chat-module_active__lbYL-{color:gold}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{aspect-ratio:1/1;flex-shrink:0;height:var(--chat-message-avatar-size);margin:0 0 4px;position:relative;width:var(--chat-message-avatar-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-md-heading-font-family:var(\n --font-barlow-condensed,\"Barlow Condensed\",var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n );--chat-md-body-font-family:inherit;--chat-md-text-color:var(--message-text-color,#0f172a);--chat-md-link-color:#2563eb;--chat-md-muted-color:var(--message-text-color,#0f172a);--chat-md-inline-code-bg:rgba(15,23,42,.16);--chat-md-inline-code-border:rgba(15,23,42,.2);--chat-md-inline-code-color:var(--message-text-color,#0f172a);--chat-md-blockquote-bg:hsla(0,0%,100%,.2);--chat-md-blockquote-border:rgba(56,189,248,.52);--chat-md-table-bg:hsla(0,0%,100%,.22);--chat-md-table-row-alt-bg:hsla(0,0%,100%,.12);--chat-md-table-head-bg:hsla(0,0%,100%,.3);--chat-md-table-border:hsla(0,0%,100%,.36);--chat-md-citation-bg:hsla(0,0%,100%,.25);--chat-md-citation-color:var(--message-text-color,#0f172a);backdrop-filter:blur(14px);background-color:var(--message-bg-color);border:1px solid var(--chat-bubble-border-color);border-radius:var(--chat-bubble-radius);box-shadow:var(--chat-bubble-shadow),inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--message-text-color);font-family:inherit;font-size:var(--chat-bubble-font-size);hyphens:auto;letter-spacing:.0025em;line-height:var(--chat-bubble-line-height);margin-bottom:6px;max-width:100%;min-width:min(var(--chat-message-min-width),100%);overflow-wrap:anywhere;padding:16px 20px;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{--chat-md-link-color:#1d4ed8;--chat-md-inline-code-bg:rgba(15,23,42,.08);--chat-md-inline-code-border:rgba(15,23,42,.16);--chat-md-blockquote-bg:rgba(148,163,184,.12);--chat-md-table-bg:rgba(248,250,252,.9);--chat-md-table-row-alt-bg:rgba(226,232,240,.45);--chat-md-table-head-bg:rgba(241,245,249,.92);--chat-md-table-border:rgba(148,163,184,.45);--chat-md-citation-bg:rgba(191,219,254,.24);backdrop-filter:none;background:transparent!important;border:0;border-radius:0;box-shadow:none;font-size:15.5px;line-height:1.75;margin-bottom:8px;min-width:0;padding:2px 0}@supports (color:color-mix(in srgb,#000 50%,#fff 50%)){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-bubble-border-color:color-mix(in srgb,var(--message-bg-color,#fff) 72%,hsla(0,0%,100%,.46) 28%);--chat-md-link-color:color-mix(in srgb,var(--message-text-color,#0f172a) 72%,#7dd3fc 28%);--chat-md-muted-color:color-mix(in srgb,var(--message-text-color,#0f172a) 84%,transparent);--chat-md-inline-code-bg:color-mix(in srgb,var(--message-bg-color,#fff) 65%,rgba(15,23,42,.2) 35%);--chat-md-inline-code-border:color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);--chat-md-blockquote-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.86) 22%);--chat-md-blockquote-border:color-mix(in srgb,var(--message-text-color,#0f172a) 34%,#7dd3fc 66%);--chat-md-table-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.9) 22%);--chat-md-table-row-alt-bg:color-mix(in srgb,var(--message-bg-color,#fff) 70%,hsla(0,0%,100%,.82) 30%);--chat-md-table-head-bg:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.94) 36%);--chat-md-table-border:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);--chat-md-citation-bg:color-mix(in srgb,var(--message-bg-color,#fff) 55%,hsla(0,0%,100%,.94) 45%);background:linear-gradient(158deg,color-mix(in srgb,var(--message-bg-color,#fff) 86%,hsla(0,0%,100%,.3) 14%),color-mix(in srgb,var(--message-bg-color,#fff) 95%,rgba(2,6,23,.08) 5%))}}.Chat-module_copyButtonContainer__Rij0U{opacity:0;pointer-events:none;position:absolute;right:12px;top:10px;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;z-index:3}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover .Chat-module_copyButtonContainer__Rij0U,.Chat-module_copyButtonContainer__Rij0U:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.Chat-module_articleModeMessageActions__h2qaG{align-items:center;border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:flex-start;margin-top:14px;padding-top:12px}.Chat-module_articleModeMessageControls__hncCw{opacity:1;pointer-events:auto;position:static;right:auto;top:auto;transform:none;z-index:auto}.Chat-module_messageControlGroup__gAo4k{align-items:center;display:flex;gap:7px;pointer-events:auto}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL{background:#f8fafc;border-color:rgba(148,163,184,.65);box-shadow:none;color:#0f172a}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:focus,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:hover,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL:hover:not(:disabled){background:#fff;border-color:rgba(100,116,139,.82);box-shadow:0 2px 8px rgba(15,23,42,.12)}.Chat-module_copyButton__DcxT5{backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.46);box-shadow:0 2px 8px rgba(15,23,42,.16);display:flex;opacity:1;padding:4px 7px;transition:all .15s,box-shadow .15s,border .15s}.Chat-module_copyButton__DcxT5,.Chat-module_playButton__ZigYL{align-items:center;background:hsla(0,0%,100%,.28);border-radius:10px;cursor:pointer;position:relative}.Chat-module_playButton__ZigYL{border:1px solid hsla(0,0%,100%,.48);color:#111;display:inline-flex;height:34px;justify-content:center;padding:0;transition:all .15s ease;width:34px}.Chat-module_playButtonIcon__wPErq{height:16px;width:16px}.Chat-module_playButtonSpinner__Ad33i{animation:Chat-module_messagePlaySpinner__ldlvy .9s linear infinite;border:2px solid rgba(0,0,0,.3);border-radius:50%;border-top-color:#111;height:16px;width:16px}.Chat-module_playButton__ZigYL:hover:not(:disabled){background:hsla(0,0%,100%,.36);border-color:hsla(0,0%,100%,.7)}.Chat-module_playButton__ZigYL:disabled{cursor:not-allowed;opacity:.6}@keyframes Chat-module_messagePlaySpinner__ldlvy{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Chat-module_copiedTooltip__LH81j{animation:Chat-module_copiedTooltipFadeIn__QekO1 .2s;background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:.98em;left:50%;margin-top:4px;max-width:220px;opacity:.97;overflow-wrap:break-word;padding:6px 16px;pointer-events:none;position:absolute;top:110%;transform:translateX(-50%);white-space:nowrap;word-break:break-word;z-index:100}.Chat-module_copiedTooltipLeft__j-S-5{left:0!important;transform:none!important}.Chat-module_copiedTooltipRight__R-2cE{left:auto!important;right:0!important;transform:none!important}@keyframes Chat-module_copiedTooltipFadeIn__QekO1{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.97)}to{opacity:.97;transform:translateX(-50%) translateY(0) scale(1)}}.Chat-module_copyButton__DcxT5:focus,.Chat-module_copyButton__DcxT5:hover{border:1px solid hsla(0,0%,100%,.76);box-shadow:0 5px 14px rgba(15,23,42,.22);opacity:1}.Chat-module_copyButton__DcxT5 svg{display:block}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:var(--chat-bubble-shadow-hover),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateY(-1.5px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP:hover{box-shadow:none;transform:none}.Chat-module_attachments__m1Fts{border-top:1px solid hsla(0,0%,49%,.28);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 12%,transparent);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_attachment__aE9hK{align-items:center;background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;color:inherit;display:flex;font-size:12.5px;gap:6px;max-width:200px;padding:7px 12px;text-decoration:none;transition:all .2s ease}.Chat-module_attachment__aE9hK:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 62%,hsla(0,0%,100%,.9) 38%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 24%,transparent);transform:translateY(-1px)}.Chat-module_attachmentIcon__BX3Cy{font-size:14px;opacity:.8}.Chat-module_attachmentName__aMx56{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.36);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.2);background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border:1px solid hsla(0,0%,49%,.9);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);border-radius:999px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 15px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:disabled{box-shadow:none;cursor:progress;opacity:.72;transform:none}.Chat-module_messageButton__mRnn-:hover{background:hsla(0,0%,100%,.3);background:color-mix(in srgb,var(--message-bg-color,#fff) 66%,hsla(0,0%,100%,.9) 34%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 26%,#7dd3fc 74%);box-shadow:0 5px 14px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:hover:disabled{background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_actionMessageButton__avcbv{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95);color:#fff}.Chat-module_actionMessageButton__avcbv:hover{background:rgba(31,41,55,.98);border-color:rgba(17,24,39,.98);box-shadow:0 4px 14px rgba(15,23,42,.32)}.Chat-module_actionMessageButton__avcbv:hover:disabled{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95)}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm{backdrop-filter:none;background:rgba(248,250,252,.9);border:1px solid rgba(148,163,184,.5);border-radius:999px;bottom:auto;min-width:0;opacity:1;padding:4px 8px;position:static;right:auto;transform:none;z-index:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm:hover{background:rgba(241,245,249,.94);border-color:rgba(100,116,139,.62);box-shadow:none;padding:4px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_feedbackIssueButton__9NrrF{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font-family:OpenMojiBlack,Noto Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:16px;justify-content:center;line-height:1;padding:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{backdrop-filter:blur(20px);background:linear-gradient(180deg,rgba(248,250,252,0),rgba(248,250,252,.9) 44%,rgba(248,250,252,.96));border-top:1px solid rgba(148,163,184,.14);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;grid-area:📝;max-width:100%;min-width:0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%;z-index:10}.Chat-module_articleModeChatInput__zBTV4{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatInput__zBTV4>:not(.Chat-module_speechStatusBubble__qBBWI):not(.Chat-module_dragOverlay__SEGoS){margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_Chat__j2eE5.Chat-module_fullPageVisual__zNAEy .Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.86) 60%,hsla(0,0%,100%,.95))}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan.Chat-module_dragOver__bkS-g{background:linear-gradient(180deg,rgba(56,189,248,.04),rgba(14,165,233,.13))}.Chat-module_filePreviewContainer__R70hm{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.Chat-module_filePreview__kq2aX{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:all .2s ease}.Chat-module_filePreview__kq2aX:hover{background:hsla(0,0%,49%,.15);border-color:hsla(0,0%,49%,.3)}.Chat-module_fileIcon__zoSKW{font-size:14px;opacity:.7}.Chat-module_fileInfo__wBLi0{display:flex;flex-direction:column;gap:2px;min-width:0}.Chat-module_fileName__bBujo{color:#000;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_fileSize__ivliq{color:#6b7280;font-size:11px}.Chat-module_removeFileButton__0gakR{align-items:center;background:rgba(255,0,0,.1);border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.Chat-module_removeFileButton__0gakR:hover{background:rgba(255,0,0,.2);transform:scale(1.1)}.Chat-module_inputContainer__bPt99{align-items:center;background:linear-gradient(150deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));border:1px solid rgba(148,163,184,.3);border-radius:26px;box-shadow:0 14px 34px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9);display:flex;gap:10px;min-width:0;padding:9px 12px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_inputContainer__bPt99:focus-within{border-color:var(--brand-color,#0ea5e9);border-color:color-mix(in srgb,var(--brand-color,#0ea5e9) 58%,rgba(15,23,42,.2) 42%);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px rgba(14,165,233,.16);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px color-mix(in srgb,var(--brand-color,#0ea5e9) 16%,transparent);transform:translateY(-1px)}.Chat-module_inputContainer__bPt99 textarea::placeholder{color:#8b9bb1;opacity:1}.Chat-module_attachmentButton__qLO47{align-items:center;background:transparent;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_attachmentButton__qLO47:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.Chat-module_attachmentButton__qLO47:disabled{cursor:not-allowed;opacity:.3}.Chat-module_voiceButton__d2zlP{align-items:center;background:transparent;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_voiceButton__d2zlP:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.Chat-module_voiceButtonActive__Uoi3W{animation:Chat-module_voiceRecordingPulse__y2wJ5 1.5s infinite;background:rgba(239,68,68,.1)!important;color:#ef4444!important}.Chat-module_speechStatusBubble__qBBWI{align-items:center;animation:Chat-module_speechStatusBubbleIn__PBm-c .2s ease-out;appearance:none;background:hsla(0,0%,100%,.95);border:1px solid rgba(15,23,42,.15);border-radius:999px;bottom:86px;box-shadow:0 12px 28px rgba(15,23,42,.18);color:#0f172a;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;max-width:min(320px,calc(100% - 48px));padding:8px 12px;position:absolute;right:24px;text-align:left;z-index:25}.Chat-module_speechStatusBubbleDot__APu53{animation:Chat-module_speechStatusBubbleDotPulse__Guqsu 1.2s ease-in-out infinite;background:#64748b;border-radius:50%;flex-shrink:0;height:8px;width:8px}.Chat-module_speechStatusBubbleRecording__faJs2{background:hsla(0,86%,97%,.97);border-color:rgba(239,68,68,.35);color:#991b1b}.Chat-module_speechStatusBubbleRecording__faJs2 .Chat-module_speechStatusBubbleDot__APu53{background:#ef4444}.Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(236,254,255,.97);border-color:rgba(14,116,144,.35);color:#155e75}.Chat-module_speechStatusBubbleProcessing__Crbuu .Chat-module_speechStatusBubbleDot__APu53{background:#0ea5e9}.Chat-module_speechStatusBubbleError__Nd-Aj{background:hsla(0,86%,97%,.98);border-color:rgba(220,38,38,.35);color:#991b1b}.Chat-module_speechStatusBubbleError__Nd-Aj .Chat-module_speechStatusBubbleDot__APu53{animation:none;background:#dc2626}.Chat-module_dictationPanel__kzbyG{background:hsla(0,0%,100%,.9);border:1px solid rgba(148,163,184,.35);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:#0f172a;display:flex;flex-direction:column;gap:10px;padding:10px 12px}.Chat-module_dictationPanelHeader__rHXTh{align-items:center;display:flex;gap:8px;justify-content:space-between}.Chat-module_dictationPanelTitle__sO9XH{color:#475569;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_dictationPanelToggle__z3HMx{background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:#334155;cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.Chat-module_dictationInterimTranscript__eAbMI{background:rgba(239,246,255,.9);border:1px dashed rgba(59,130,246,.45);border-radius:10px;color:#0c4a6e;cursor:pointer;font-size:13px;line-height:1.45;padding:8px 10px;text-align:left}.Chat-module_dictationErrorPanel__mjbM7{background:hsla(0,86%,97%,.95);border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#991b1b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.Chat-module_dictationErrorActions__K3ykb{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationCorrectionActions__ssE7i button,.Chat-module_dictationErrorActions__K3ykb button{background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.Chat-module_dictationCorrectionPanel__5nh9M{display:flex;flex-direction:column;gap:8px}.Chat-module_dictationCorrectionLabel__U4uzT{color:#334155;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.Chat-module_dictationCorrectionTextarea__5ovj9{background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:10px;color:#0f172a;font-size:13px;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical;width:100%}.Chat-module_dictationCorrectionActions__ssE7i{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationSettingsPanel__0gI-V{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.Chat-module_dictationSettingsPanel__0gI-V label{align-items:center;color:#334155;display:inline-flex;font-size:12px;gap:6px}.Chat-module_dictationFallbackNote__919pE{color:#475569;font-size:11px;line-height:1.45;margin:0}@keyframes Chat-module_speechStatusBubbleIn__PBm-c{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes Chat-module_speechStatusBubbleDotPulse__Guqsu{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}@keyframes Chat-module_voiceRecordingPulse__y2wJ5{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}to{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.Chat-module_uploadProgress__jBTKe{align-items:center;background:rgba(0,132,255,.1);border:1px solid rgba(0,132,255,.2);border-radius:8px;color:#0084ff;display:flex;font-size:13px;gap:12px;padding:8px 12px}.Chat-module_uploadProgressBar__Gutnt{background:rgba(0,132,255,.2);border-radius:2px;flex:1;height:4px;overflow:hidden}.Chat-module_uploadProgressFill__EgubT{animation:Chat-module_uploadProgress__jBTKe 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0084ff,rgba(0,132,255,.8));border-radius:2px;height:100%}@keyframes Chat-module_uploadProgress__jBTKe{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.Chat-module_dragOverlay__SEGoS{align-items:center;backdrop-filter:blur(10px);background:rgba(0,132,255,.1);border:2px dashed rgba(0,132,255,.5);border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.Chat-module_dragOverlayContent__gb9kF{align-items:center;color:#0084ff;display:flex;flex-direction:column;font-weight:600;gap:12px;text-align:center}.Chat-module_dragOverlayContent__gb9kF svg{opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;background:transparent;border:none;box-sizing:border-box;color:#0f172a;flex:1;font-family:inherit;font-size:var(--chat-input-font-size);font-weight:500;height:var(--chat-input-textarea-height);letter-spacing:.002em;line-height:var(--chat-input-line-height);margin:0;max-height:var(--chat-input-textarea-height);min-height:var(--chat-input-textarea-height);min-width:0;outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) var(--chat-input-padding-x);resize:none;touch-action:manipulation}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:#8ba0b8;opacity:.9}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;border:none;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,132,255,.25);color:#fff;display:flex;height:var(--chat-input-action-size);justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:var(--chat-input-action-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:hover{box-shadow:0 6px 16px rgba(0,132,255,.35);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:active{transform:scale(.95)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action] svg{height:20px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottomWrapper__PCIu1{align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;display:inline-flex;justify-content:center;pointer-events:all;position:relative;transform:translate(-50%,-150%);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottomBadge__N6T6-{align-items:center;background:#2563eb;border-radius:999px;box-shadow:0 2px 10px rgba(37,99,235,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;letter-spacing:.04em;min-width:32px;padding:2px 6px;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:-8px;white-space:nowrap}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;backdrop-filter:blur(8px);background-color:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:#fff;border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:#0f1724;font-family:Arial,Helvetica,sans-serif,OpenMojiColor,OpenMojiBlack;max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:#000;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingModalStar__XkbHr{cursor:pointer;font-size:24px;transition:color .2s}.Chat-module_toolCallModal__uNaIK{max-height:calc(100vh - 48px);max-width:800px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.Chat-module_toolCallHeader__ZaTZF{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff 40%,#fefcc9);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:16px;padding:24px 32px 16px}.Chat-module_toolCallIcon__UgRKj{font-size:32px}.Chat-module_toolCallHeaderMeta__iAL-U{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallModalLabel__4dBP4{color:#475467;font-size:11px;letter-spacing:.35em;margin:0;text-transform:uppercase}.Chat-module_toolCallTitle__jhL0A{color:#0f172a;font-size:24px;font-weight:600;margin:0}.Chat-module_toolCallSubtitle__a2GIO{color:#475467;font-size:13px;margin:0}.Chat-module_toolCallGrid__Nfr7N{background:#fefefe;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:24px 32px 16px}.Chat-module_toolCallPanel__kQZE9{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}.Chat-module_toolCallPanelTitle__-7OtJ{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.25em;margin:0 0 12px;text-transform:uppercase}.Chat-module_toolCallList__5co3s{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Chat-module_toolCallItem__k7W5Z{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallItemLabel__d3C1E{color:#94a3b8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.Chat-module_toolCallItemValue__cStQ0{color:#0f172a;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallSummary__wGZwg{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.Chat-module_toolCallSummaryMeta__RXiSv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_toolCallSummaryMetaBadge__JBi-I{background:rgba(79,70,229,.15);border-radius:999px;color:#312e81;font-size:12px;font-weight:600;padding:5px 12px}.Chat-module_toolCallEmpty__bUz5v{color:#94a3b8;font-size:14px;margin:0}.Chat-module_toolCallPendingCard__L3m7T{background:linear-gradient(180deg,#f8fbff,#f8fafc);border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.Chat-module_toolCallPendingHeader__U3htF{align-items:center;display:flex;gap:10px;justify-content:space-between}.Chat-module_toolCallPendingTitle__4fwLL{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_toolCallPendingBadge__bgY3c{background:rgba(14,165,233,.12);border-radius:999px;color:#0369a1;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.Chat-module_toolCallPendingMessage__grnao{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_toolCallPendingSkeleton__Td5Cu{display:flex;flex-direction:column;gap:8px}.Chat-module_toolCallPendingSkeletonLine__Vldel{animation:Chat-module_toolCallPendingSkeletonPulse__aKDNI 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(226,232,240,.7),#f1f5f9,rgba(226,232,240,.7));background-size:200% 100%;border-radius:999px;height:10px}.Chat-module_toolCallPendingSkeletonShort__FnR-X{width:68%}@keyframes Chat-module_toolCallPendingSkeletonPulse__aKDNI{0%{background-position:100% 50%}to{background-position:-100% 50%}}.Chat-module_toolCallDetailsCard__UJthw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow:hidden}.Chat-module_toolCallDetailsCardRow__-VhfA{border-top:1px solid rgba(226,232,240,.9);color:#334155;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:12px 14px}.Chat-module_toolCallDetailsCardRow__-VhfA:first-child{border-top:none}.Chat-module_toolCallDetailsCardRow__-VhfA strong{color:#0f172a}.Chat-module_toolCallIssues__evhYM{display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 16px}.Chat-module_toolCallIssueBadge__Qbwdp{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.Chat-module_toolCallIssueError__LImeS{background:rgba(239,68,68,.12);color:#b91c1c}.Chat-module_toolCallIssueWarning__chQDf{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_toolCallModeFooter__XaRqI{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 32px 24px}.Chat-module_toolCallModeButton__zlcca{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.Chat-module_toolCallModeButton__zlcca:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.Chat-module_toolCallClockPanel__h4xZd{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.Chat-module_toolCallClockLabels__KJGxe{text-align:center}.Chat-module_toolCallClockPrimary__StLQ8{color:#0f172a;font-size:2em;font-weight:700}.Chat-module_toolCallClockSecondary__O4WaT{color:#475467}.Chat-module_toolCallClockMeta__aObb7{color:#667085;font-size:.9em;margin-top:5px}.Chat-module_timeoutToolSummary__kPPvu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.Chat-module_timeoutToolPrimarySentence__pQfLn{color:#0f172a;font-size:15px;font-weight:600;line-height:1.5;margin:0}.Chat-module_timeoutToolSecondarySentence__iH5Uc{color:#475467;font-size:13px;line-height:1.5;margin:6px 0 0}.Chat-module_timeoutToolActionRow__occir{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_timeoutToolActionButton__8yz0R{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,background-color .2s ease}.Chat-module_timeoutToolActionButton__8yz0R:hover{background:#f1f5f9;border-color:#94a3b8}.Chat-module_timeoutToolActionButton__8yz0R:disabled{cursor:default;opacity:.45}.Chat-module_memoryModalHeader__SpZJT{align-items:flex-start;background:linear-gradient(180deg,#fdfdfd,#f6f9ff);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:28px 32px 16px}.Chat-module_memoryModalIcon__eYbli{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:18px;box-shadow:0 18px 28px rgba(15,23,42,.18);color:#fff;display:inline-flex;font-size:24px;height:52px;justify-content:center;width:52px}.Chat-module_memoryModalHeaderText__S6MZG{flex:1}.Chat-module_memoryModalTitle__zzbaQ{color:#0f172a;font-size:22px;font-weight:600;margin:0}.Chat-module_memoryModalSubtitle__PStci{color:#475467;font-size:14px;margin:4px 0 0}.Chat-module_memoryModalStatus__bmrfc{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:6px 14px;white-space:nowrap}.Chat-module_memoryStatusDot__c0oVs{background:currentColor;border-radius:50%;display:inline-block;height:8px;width:8px}.Chat-module_memoryModalContent__8E7oj{background:#fff;display:flex;flex-direction:column;gap:16px;padding:24px 32px 32px}.Chat-module_memoryMessage__q0pNK{color:#0f172a;font-size:15px;font-weight:500;margin:0}.Chat-module_memoryMetaRow__Hc-Xp{align-items:center;color:#475467;display:flex;font-size:13px;justify-content:space-between}.Chat-module_memoryMetaLabel__LFx11{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_memoryMetaValue__4bILO{color:#0f172a;font-weight:600}.Chat-module_memoryRetrieveSection__VbuS4,.Chat-module_memoryStoreSection__qQJPN{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryCard__-kIDN{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px rgba(15,23,42,.08);padding:18px}.Chat-module_memoryCardContent__l9S4G{color:#0f172a;font-size:14px;line-height:1.6;overflow-wrap:break-word;white-space:pre-wrap}.Chat-module_memoryCardMeta__K66KE{align-items:center;color:#94a3b8;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.Chat-module_memoryScopeBadge__T2ACc{background:rgba(124,58,237,.12);border-radius:999px;color:#0f172a;font-size:11px;font-weight:700;padding:3px 10px}.Chat-module_memoryList__pUOg2{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryEmptyState__fPrXA{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-weight:500;padding:16px}.Chat-module_memoryListFooter__Y0Q2Z{color:#475467;font-size:13px;text-align:center}.Chat-module_memoryStatusSuccess__4bhfo{background:rgba(16,185,129,.16);color:#047857}.Chat-module_memoryStatusWarning__AR6yh{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_memoryStatusError__ZNAT6{background:rgba(239,68,68,.15);color:#b91c1c}.Chat-module_memoryStatusNeutral__Fa-4M{background:rgba(96,165,250,.15);color:#1d4ed8}.Chat-module_searchModalHeader__Y8V-w{align-items:center;background:#fdfdfd;border-bottom:1px solid #eee;display:flex;gap:16px;padding:24px 72px 24px 32px}.Chat-module_selfLearningModalHeader__PDIt1{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef9c3 45%,#ecfccb);border-bottom:1px solid #e2e8f0;gap:18px}.Chat-module_selfLearningAvatarGroup__jgy2k{align-items:center;display:flex;gap:10px}.Chat-module_selfLearningAvatar__NHXKm{align-items:center;background:#e2e8f0;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 10px 20px rgba(15,23,42,.18);color:#0f172a;display:inline-flex;font-size:18px;font-weight:600;height:48px;justify-content:center;letter-spacing:.02em;width:48px}.Chat-module_selfLearningAvatarInitial__cuw19{line-height:1}.Chat-module_selfLearningTeacher__fGhX8{background:linear-gradient(135deg,#fde68a,#86efac)}.Chat-module_selfLearningHeaderText__LTwHL{display:flex;flex-direction:column;gap:6px;text-align:left}.Chat-module_selfLearningTitle__G0SAk{color:#0f172a;font-size:20px;font-weight:600;margin:0}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:12px}.Chat-module_selfLearningMeta__58Pet{color:#64748b;font-size:13px}.Chat-module_selfLearningMetaChip__0go88{background:#e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;font-weight:600;padding:4px 10px}.Chat-module_selfLearningCommitments__7ECnr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.Chat-module_selfLearningCommitmentsLabel__OkDO1{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_selfLearningBookEditor__CZy5T{border-radius:12px;margin-top:12px;overflow:hidden}.Chat-module_selfLearningEmpty__vCKHL{color:#475569;font-size:13px;margin-top:12px}.Chat-module_modalCloseButton__AAfWS{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 16px rgba(15,23,42,.08);color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px;z-index:1}.Chat-module_modalCloseButton__AAfWS:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0f172a;transform:translateY(-1px)}.Chat-module_modalCloseButton__AAfWS:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.Chat-module_teamModalHeader__SB5NL{flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderParticipants__KS7aV{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderProfile__xRlcS{align-items:center;color:inherit;display:inline-flex;gap:12px;text-decoration:none}.Chat-module_teamHeaderProfileLink__fYTfT:hover{color:#0f172a}.Chat-module_teamHeaderAvatar__vXcTp{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.08);height:40px;width:40px}.Chat-module_teamHeaderName__ygJR9{color:#0f172a;font-size:18px;font-weight:600}.Chat-module_teamHeaderDivider__cnRMd{color:#94a3b8;font-size:14px;font-weight:600}.Chat-module_searchModalIcon__AR5KY{align-items:center;color:#475569;display:inline-flex;font-size:24px;justify-content:center}.Chat-module_searchModalQuery__5x-Ra{color:#202124!important;font-size:22px!important;font-weight:500!important;margin:0!important;text-align:left!important}.Chat-module_searchModalContent__mWLIE{background:#fff;max-height:60vh;overflow-y:auto;padding:24px 32px}.Chat-module_teamChatContainer__xdLtU{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:20px;overflow:hidden}.Chat-module_teamToolCallSection__FH9l7{display:flex;flex-direction:column;gap:16px}.Chat-module_teamToolCallGroup__PO6rl{display:flex;flex-direction:column;gap:8px}.Chat-module_teamToolCallHeading__G-JSj{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_teamToolCallChips__hRWqh{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_teamToolCallDetails__ZaTtt{background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:16px}.Chat-module_teamToolCallDetailsHeader__FPIgI{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.Chat-module_teamToolCallDetailsTitle__50SeL{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;gap:6px}.Chat-module_teamToolCallDetailsClear__8yvu7{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.4);border-radius:999px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.Chat-module_teamToolCallDetailsClear__8yvu7:hover{background:rgba(148,163,184,.35)}.Chat-module_searchResultsList__xVDUZ{display:flex;flex-direction:column;gap:28px;text-align:left}.Chat-module_searchResultsRaw__i3GkD{max-width:650px;text-align:left}.Chat-module_searchResultItem__bTzq5{max-width:650px}.Chat-module_searchResultUrl__SbrH4{color:#202124;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_searchResultUrl__SbrH4 a{color:#202124;text-decoration:none}.Chat-module_searchResultTitle__XS7zN{font-size:20px!important;font-weight:400!important;line-height:1.3;margin:0 0 4px!important}.Chat-module_searchResultTitle__XS7zN a{color:#1a0dab;text-decoration:none}.Chat-module_searchResultTitle__XS7zN a:hover{text-decoration:underline}.Chat-module_searchResultSnippet__Wsun2{color:#4d5156;font-size:14px;line-height:1.58;margin:0}.Chat-module_noResults__AAv6s{color:#70757a;font-style:italic;padding:40px;text-align:center}.Chat-module_citationDetails__2v2e1,.Chat-module_toolCallDetails__WUFlD{margin:20px 0;text-align:left}.Chat-module_citationPreview__rGhCR{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;margin-top:16px;overflow:hidden}.Chat-module_citationIframe__ngzFY{border:none;display:block;height:60vh;min-height:400px;width:100%}.Chat-module_citationMetadata__DPaCF{background:#f8f8f8;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.Chat-module_citationMetadata__DPaCF p{font-size:.9em;margin:8px 0}.Chat-module_citationMetadata__DPaCF strong{color:#333}.Chat-module_citationMetadata__DPaCF a{color:#007bff;text-decoration:none;word-break:break-all}.Chat-module_citationMetadata__DPaCF a:hover{text-decoration:underline}.Chat-module_citationExcerpt__VU4BS{background:#fff;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.Chat-module_citationExcerpt__VU4BS h4{color:#333;font-size:1em;margin:0 0 12px}.Chat-module_citationHint__5AkLx{font-size:.85em;margin-top:8px;opacity:.7}.Chat-module_toolCallDataContainer__rdEzC{background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:15px;max-height:300px;overflow-y:auto;padding:12px}.Chat-module_toolCallPayloadContainer__v2yVn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .monaco-scrollable-element,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .overflow-guard,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor-background{background:#f8fafc!important}.Chat-module_toolCallData__UauCO{font-size:.85em;margin:0;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallModal__uNaIK .Chat-module_toolCallData__UauCO{background:#f8fafc;color:#0f172a}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:#0b1220;font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:#0084ff;box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,#0084ff,#06c);color:#fff}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,#0071d1,#0052a3);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_downloadButton__8--bk{align-items:center;background:linear-gradient(135deg,#0084ff,#06c);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,132,255,.2);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.Chat-module_downloadButton__8--bk:hover{background:linear-gradient(135deg,#09f,#07d);box-shadow:0 4px 16px rgba(0,132,255,.3);transform:translateY(-2px)}.Chat-module_downloadButton__8--bk:active{box-shadow:0 2px 8px rgba(0,132,255,.2);transform:translateY(0)}.Chat-module_downloadButton__8--bk svg{flex-shrink:0}.Chat-module_downloadButton__8--bk span{font-weight:600}.Chat-module_chatButton__d9VgA,.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(18px)!important;background:linear-gradient(140deg,#0f8ef5,#0b6fd0 56%,#0d5fbb)!important;border:1px solid hsla(0,0%,100%,.24)!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(14,116,219,.28),inset 0 1px 0 hsla(0,0%,100%,.2)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-family:inherit!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;letter-spacing:.02em!important;line-height:1.2!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:11px 16px!important;position:relative!important;touch-action:manipulation!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;user-select:none!important}.Chat-module_chatButton__d9VgA:before,.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.26) 48%,transparent);content:\"\";height:100%;left:-110%;position:absolute;top:0;transition:left .45s ease;width:75%}.Chat-module_chatButton__d9VgA:hover:before,.Chat-module_useTemplateButton__xcJNR:hover:before{left:140%}.Chat-module_chatButton__d9VgA:hover:not(:disabled),.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(140deg,#1a9aff,#0d7de8 56%,#1168c9)!important;box-shadow:0 14px 30px rgba(14,116,219,.34),inset 0 1px 0 hsla(0,0%,100%,.2)!important;transform:translateY(-1.5px)}.Chat-module_chatButton__d9VgA:active,.Chat-module_useTemplateButton__xcJNR:active{transform:translateY(0) scale(.985);transition:transform .1s ease}.Chat-module_chatButton__d9VgA:focus,.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 10px 24px rgba(14,116,219,.32),0 0 0 3px rgba(56,189,248,.28),inset 0 1px 0 hsla(0,0%,100%,.22)!important;outline:none}.Chat-module_chatButton__d9VgA svg,.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.24));flex-shrink:0;height:16px;opacity:1;transition:transform .2s ease,filter .2s ease;width:16px}.Chat-module_chatButton__d9VgA:hover svg,.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transform:scale(1.08) translateX(1px)}.Chat-module_chatButtonText__RkGB-{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .2s ease;white-space:nowrap}.Chat-module_chatButton__d9VgA:hover .Chat-module_chatButtonText__RkGB-,.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_chatButtonText__RkGB-{transform:translateX(1px)}.Chat-module_saveButtonContainer__lSNUJ{display:inline-block;position:relative}.Chat-module_saveMenu__-ph8y{background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);left:0;min-width:120px;position:absolute;top:100%;z-index:10}.Chat-module_saveMenuItem__ISApL{background:none;border:none;color:#111;cursor:pointer;display:block;padding:8px 16px;text-align:left;width:100%}.Chat-module_saveMenuItem__ISApL:hover{background-color:#f0f0f0}.Chat-module_saveMenuDivider__3ktTM{background-color:#ddd;height:1px;margin:4px 0}.Chat-module_chatFeedbackPanel__gfOzk{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;padding:6px 8px;width:min(260px,100%)}.Chat-module_chatFeedbackToggle__IeOM6{align-items:center;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.Chat-module_chatFeedbackToggle__IeOM6:hover{background:#f5f5f5;transform:translateY(-.5px)}.Chat-module_chatFeedbackToggle__IeOM6:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.Chat-module_chatFeedbackIcon__XcB7A{background:#eef2ff;border-radius:10px;color:#6366f1;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .2s ease,color .2s ease;width:34px}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=true] .Chat-module_chatFeedbackIcon__XcB7A{background:#e0f2fe;color:#0284c7}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=false] .Chat-module_chatFeedbackIcon__XcB7A{background:#f3f4f6;color:#94a3b8}.Chat-module_chatFeedbackMeta__6t2be{display:flex;flex:1;flex-direction:column;gap:2px}.Chat-module_chatFeedbackLabel__qQgH3{color:#0f172a;font-size:.85rem;font-weight:600}.Chat-module_chatFeedbackDescription__I9bNg{color:#64748b;font-size:.75rem}.Chat-module_chatFeedbackIndicator__uHCr7{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.Chat-module_chatFeedbackIndicatorActive__bkw-w{background:#dcfce7;border:1px solid #34d399;color:#166534}.Chat-module_chatFeedbackIndicatorInactive__qMBkh{background:#fef9c3;border:1px solid #facc15;color:#713f12}.Chat-module_pauseButton__eeu7K{background:linear-gradient(135deg,#ffb347,#ff8c42)!important}.Chat-module_pauseButton__eeu7K:hover:not(:disabled){background:linear-gradient(135deg,#ffc067,#ff9e5f)!important}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b{cursor:wait!important;opacity:.6!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya{background:linear-gradient(135deg,#10b981,#059669)!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:0 8px 24px rgba(16,185,129,.35);transform:translateY(-2px) scale(1.02)}.Chat-module_pauseButton__eeu7K svg{transition:transform .3s ease}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya svg{transform:scale(1.1)}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b svg{opacity:.8}.Chat-module_stopButton__dkPOW{background:linear-gradient(135deg,#dc2626,#991b1c)!important;color:#fefefe!important}.Chat-module_stopButton__dkPOW:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#dc2626)!important}.Chat-module_stopButton__dkPOW:disabled{cursor:not-allowed!important;opacity:.6!important}.Chat-module_stopButton__dkPOW svg{transition:transform .3s ease}.Chat-module_stopButton__dkPOW:focus-visible{outline:2px solid hsla(0,91%,71%,.8);outline-offset:2px}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_feedbackStatus__-df7l{word-wrap:break-word;animation:Chat-module_feedbackStatusSlideIn__n6bbB .28s ease-out;backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 32px rgba(15,23,42,.35);font-weight:500;max-width:340px;padding:14px 22px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.Chat-module_feedbackStatusSuccess__Ax2q0{background:linear-gradient(135deg,#10b981,#059669);color:#f8fafc}.Chat-module_feedbackStatusError__dnv6d{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fef2f2}@keyframes Chat-module_feedbackStatusSlideIn__n6bbB{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_Chat__j2eE5{--chat-message-min-width:100px;--chat-message-avatar-size:36px;--chat-message-max-width:min(85%,560px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:10px;--chat-input-font-size:16px;--chat-input-padding-y:14px;--chat-input-padding-x:18px;--chat-input-action-size:44px}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-padding-inline:clamp(24px,6vw,36px)}.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{margin-bottom:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{border-radius:0;font-size:15px;line-height:1.68;padding:2px 0}.Chat-module_articleModeMessageActions__h2qaG{gap:8px;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:76px;font-size:11px;max-width:calc(100% - 28px);padding:7px 11px;right:14px}.Chat-module_dictationSettingsPanel__0gI-V{grid-template-columns:minmax(0,1fr)}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}.Chat-module_selfLearningModalHeader__PDIt1{align-items:flex-start;flex-direction:column}.Chat-module_selfLearningAvatarGroup__jgy2k{justify-content:flex-start}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:flex-start}}@media (max-width:480px){.Chat-module_Chat__j2eE5{--chat-message-min-width:80px;--chat-message-avatar-size:32px;--chat-message-max-width:min(90%,520px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:8px;--chat-input-padding-y:12px;--chat-input-padding-x:16px;--chat-input-action-size:40px}.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:72px;max-width:calc(100% - 20px);right:10px}.Chat-module_dictationCorrectionActions__ssE7i,.Chat-module_dictationErrorActions__K3ykb{flex-direction:column}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_feedbackStatus__-df7l,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatButton__d9VgA,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}.Chat-module_emailContainer__TBxXZ{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.Chat-module_emailModalHeader__Z4-CJ{background:#f8fafc}.Chat-module_emailHeaderText__1dR6R{display:flex;flex-direction:column;gap:2px}.Chat-module_emailHeaderLabel__7iAEH{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_emailMetadata__8XXGf{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:16px;padding:18px 20px}.Chat-module_emailField__pcb03{display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:8px}.Chat-module_emailField__pcb03:last-child{margin-bottom:0}.Chat-module_emailField__pcb03 strong{color:#64748b;font-weight:600;min-width:60px}.Chat-module_emailRecipients__YVVys{color:#0f172a;word-break:break-word}.Chat-module_emailBody__OBt-w{text-align:left}.Chat-module_emailBody__OBt-w strong{color:#64748b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.Chat-module_emailBodyContent__-vFo2{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);line-height:1.6;max-height:400px;overflow-y:auto;padding:22px}.Chat-module_emailBodyContent__-vFo2 p{margin:0 0 12px}.Chat-module_emailBodyContent__-vFo2 p:last-child{margin-bottom:0}.Chat-module_browserRunModalHeader__0AyeK{background:linear-gradient(135deg,#f8fafc,#ecfeff 40%,#ecfccb);border-bottom:1px solid #dbeafe}.Chat-module_browserRunHeaderText__JUbNv{display:flex;flex-direction:column;gap:2px}.Chat-module_browserRunHeaderStatus__uu3Fi{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_browserRunHeaderLabel__uKYCb{color:#475569;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_browserRunMeta__lJkQc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:18px;padding:16px 18px}.Chat-module_browserRunWarning__ojdEP{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;color:#92400e;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunError__aELQo{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#7f1d1d;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunErrorSummary__ygz-g{font-size:14px;line-height:1.5;margin:0}.Chat-module_browserRunErrorSteps__S96nl{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px}.Chat-module_browserRunDebugDetails__SZ3VT{margin-top:10px}.Chat-module_browserRunDebugDetails__SZ3VT summary{color:#7f1d1d;cursor:pointer;font-weight:600}.Chat-module_browserRunDebugDetails__SZ3VT pre{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;line-height:1.45;margin:10px 0 0;max-height:220px;overflow:auto;padding:10px}.Chat-module_browserRunFallbackContent__NYCkp{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.Chat-module_browserRunStatusBanner__ljIE9{background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.28);border-radius:14px;color:#334155;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.Chat-module_browserRunMediaGrid__KDz3I{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.Chat-module_browserRunMediaCard__focNP{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;padding:12px}.Chat-module_browserRunMediaCardHeader__sOfLw{display:flex;flex-direction:column;gap:4px}.Chat-module_browserRunMediaTitle__a6Ctw{color:#0f172a;font-size:14px;font-weight:600;margin:0}.Chat-module_browserRunMediaCaption__LG8E6{color:#475569;font-size:12px;line-height:1.5;margin:0}.Chat-module_browserRunMediaImage__UI4pd,.Chat-module_browserRunMediaVideo__z2RgF{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:260px;object-fit:contain;width:100%}.Chat-module_browserRunActionLog__YZ0CQ{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:18px;padding:14px 16px}.Chat-module_browserRunActionLogTitle__XaEIW{color:#64748b;font-size:13px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.Chat-module_browserRunActionList__SOgfd{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.Chat-module_browserRunActionItem__1q668{align-items:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:12px;color:#0f172a;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:10px 12px}.Chat-module_browserRunActionPending__unJJt{opacity:.82}.Chat-module_browserRunActionRunning__NdlRL{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.35)}.Chat-module_browserRunActionComplete__PU36H{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.Chat-module_browserRunActionError__y-cm0{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.24)}.Chat-module_browserRunActionState__pkfKg{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:10px;width:10px}.Chat-module_browserRunActionStateRunning__L1IbZ{background:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.14)}.Chat-module_browserRunActionStateComplete__CpVEc{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.Chat-module_browserRunActionStateError__lU-t4{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.Chat-module_browserRunActionMeta__df32n{color:#64748b;font-size:12px;font-weight:600;margin-left:auto}@media print{.Chat-module_Chat__j2eE5{background:transparent!important;box-shadow:none!important;color:#f8fafc!important;min-height:auto!important;padding:0!important}.Chat-module_chatMainFlow__--8FE{gap:0!important;min-height:auto!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background:linear-gradient(150deg,rgba(2,6,23,.98),rgba(15,23,42,.92))!important;border:1px solid rgba(56,189,248,.32)!important;border-radius:40px!important;box-shadow:inset 0 40px 80px rgba(0,0,0,.35)!important;padding:48px 40px 64px!important;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{break-inside:avoid;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{background:linear-gradient(145deg,var(--agent-chat-brand-color-light,#7dd3fc),var(--agent-chat-brand-color,#0ea5e9))!important;border:1px solid hsla(0,0%,100%,.35)!important;border-radius:32px!important;box-shadow:inset 0 18px 40px rgba(2,6,23,.6)!important;color:#f8fafc!important;padding:18px 22px!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{background:#f8fbff!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:inset 0 10px 30px rgba(15,23,42,.3)!important;color:#0f172a!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{border:1px solid hsla(0,0%,100%,.35)!important}.Chat-module_messageMeta__eqCRu,.Chat-module_participantLabel__0Oo-3{color:rgba(226,232,240,.8)!important}.Chat-module_actions__gTZ5T,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ button,.Chat-module_copyButtonContainer__Rij0U,.Chat-module_feedbackStatus__-df7l,.Chat-module_scrollToBottom__nzxdZ,.Chat-module_voiceCallIndicatorBar__N2sWN,.Chat-module_voiceCallIndicator__tsaaG{display:none!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N>:last-child{padding-bottom:100px!important}}.Chat-module_emailStatus__T4UuL{color:#0f172a;font-weight:600;text-transform:capitalize}.Chat-module_imagePrompt__v7-Ho{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,49%,.35);border-radius:18px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:16px;padding:12px}.Chat-module_imagePromptPreview__ve5dB{background:linear-gradient(180deg,rgba(15,118,255,.05),hsla(0,0%,100%,.4));border:1px dashed hsla(0,0%,49%,.3);border-radius:14px;min-height:160px;overflow:hidden;position:relative}.Chat-module_imagePromptImage__KjE3H{display:block;height:100%;object-fit:cover;width:100%}.Chat-module_imagePromptPlaceholder__b8cW6{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Chat-module_imagePromptSpinner__nat8r{animation:Chat-module_imagePromptSpinner__nat8r .9s linear infinite;border:3px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#2563eb;height:36px;width:36px}@keyframes Chat-module_imagePromptSpinner__nat8r{to{transform:rotate(1turn)}}.Chat-module_imagePromptMeta__YwltP{display:flex;flex-direction:column;gap:4px}.Chat-module_imagePromptPrompt__N1E--{color:#111;font-size:13px;font-weight:500;overflow-wrap:anywhere}.Chat-module_imagePromptStatus__0ROQF{color:#6b7280;font-size:11px}.Chat-module_imagePromptError__x1952{align-items:center;background:rgba(220,38,38,.08);color:#dc2626;display:flex;font-size:12px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.Chat-module_richFeaturePlaceholder__mXS7-{align-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(59,130,246,.25);border-radius:18px;display:flex;gap:12px;margin-bottom:16px;margin-top:16px;padding:12px 14px}.Chat-module_richFeaturePlaceholderSpinner__ingFq{animation:Chat-module_richFeatureSpinner__eOql6 .8s linear infinite;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:#22d3ee;height:32px;width:32px}.Chat-module_richFeaturePlaceholderCopy__sEgxN{display:flex;flex-direction:column}.Chat-module_richFeaturePlaceholderTitle__lF7rJ{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_richFeaturePlaceholderStatus__UJg09{color:#475569;font-size:11px}.Chat-module_progressPanel__9M8h9{background:linear-gradient(180deg,rgba(239,246,255,.94),rgba(219,234,254,.86));border:1px solid rgba(59,130,246,.24);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;margin-top:10px;padding:12px 13px}.Chat-module_progressPanelTitle__rBdoY{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.Chat-module_progressPanelTitle__rBdoY p{margin:0}.Chat-module_progressPanelSection__F3xUF{display:flex;flex-direction:column;gap:4px}.Chat-module_progressPanelSectionLabel__aTPgr{color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_progressPanelSectionBody__Z7zX0{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelSectionBody__Z7zX0 p{margin:0}.Chat-module_progressPanelList__PHFeP{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.Chat-module_progressPanelListItem__7v9jN{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto auto 1fr}.Chat-module_progressPanelListBullet__Tzvi7{color:#2563eb;font-size:14px;line-height:1.2;margin-top:2px}.Chat-module_progressPanelItemSpinner__oJ6Az{animation:Chat-module_progressPanelSpinner__pzxP2 .75s linear infinite;border:2px solid rgba(37,99,235,.26);border-radius:9999px;border-top-color:#2563eb;height:11px;margin-top:3px;width:11px}.Chat-module_progressPanelItemCompleted__7bJhG{align-items:center;background:rgba(34,197,94,.16);border-radius:9999px;color:#15803d;display:inline-flex;font-size:9px;font-weight:700;height:11px;justify-content:center;line-height:1;margin-top:2px;width:11px}.Chat-module_progressPanelItemText__tZPIs{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelItemText__tZPIs p{margin:0}@keyframes Chat-module_progressPanelSpinner__pzxP2{to{transform:rotate(1turn)}}@keyframes Chat-module_richFeatureSpinner__eOql6{to{transform:rotate(1turn)}}\n/*# sourceMappingURL=data:application/json;base64,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RixDQUR6RixxQ0FBMEMsQ0FEMUMsa0JBQW1CLENBSW5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsUUFBUyxDQVBULGtCQUFtQixDQURuQixlQUFnQixDQUtoQixpQkFJSixDQUVBLHVDQUdJLGFBQWMsQ0FGZCxjQUFlLENBQ2YsZUFBZ0IsQ0FFaEIsZUFDSixDQUVBLHlDQUNJLFFBQ0osQ0FFQSx5Q0FDSSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLE9BQ0osQ0FFQSw4Q0FLSSxhQUFjLENBSmQsY0FBZSxDQUdmLGVBQWdCLENBRmhCLG9CQUFzQixDQUN0Qix3QkFHSixDQUVBLDZDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZ0JBQ0osQ0FFQSwrQ0FDSSxRQUNKLENBRUEsc0NBSUksWUFBYSxDQUNiLHFCQUFzQixDQUN0QixPQUFRLENBTFIsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBSUosQ0FFQSwwQ0FHSSxzQkFBdUIsQ0FGdkIsWUFBYSxDQUdiLE9BQVEsQ0FGUixtQ0FHSixDQUVBLDRDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZUFBZ0IsQ0FDaEIsY0FDSixDQUVBLDZDQU1JLHNFQUFxRCxDQURyRCxvQ0FBeUIsQ0FGekIsb0JBQXFCLENBRXJCLHdCQUF5QixDQUh6QixXQUFZLENBS1osY0FBZSxDQU5mLFVBT0osQ0FFQSwrQ0FFSSxrQkFBbUIsQ0FNbkIsOEJBQW1DLENBRG5DLG9CQUFxQixDQUVyQixhQUFjLENBUmQsbUJBQW9CLENBU3BCLGFBQWMsQ0FFZCxlQUFnQixDQVBoQixXQUFZLENBRlosc0JBQXVCLENBUXZCLGFBQWMsQ0FMZCxjQUFlLENBRmYsVUFTSixDQUVBLDBDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZ0JBQ0osQ0FFQSw0Q0FDSSxRQUNKLENBRUEsbURBQ0ksR0FDSSx1QkFDSixDQUNKLENBRUEsaURBQ0ksR0FDSSx1QkFDSixDQUNKIiwiZmlsZSI6IkNoYXQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlCbGFjayc7XG4gICAgc3JjOiB1cmwoJy9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpOyAvKiA8LSBUT0RPOiBb8J+QseKAjfCfmoBdIER5bmFtaWNhbGx5IGxvYWQgZnJvbSAvc2VydmVycy50cyAqL1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcic7XG4gICAgc3JjOiB1cmwoJy9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbi5jb3BpZWRUb0NsaXBib2FyZE1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMycHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgb3BhY2l0eTogMC45NztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4uQ2hhdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBmb250LWZhbWlseTogdmFyKFxuICAgICAgICAgICAgLS1jaGF0LWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZilcbiAgICAgICAgKSxcbiAgICAgICAgJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjayc7XG5cbiAgICAtLWNoYXQtbWVzc2FnZS1taW4td2lkdGg6IDE3MHB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXA6IDE0cHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDQycHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoOiBtaW4oXG4gICAgICAgIDcyJSxcbiAgICAgICAgNjgwcHgsXG4gICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgKTtcbiAgICAtLWNoYXQtYnViYmxlLXJhZGl1czogMjRweDtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdzogMCAxMnB4IDM0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdy1ob3ZlcjogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjIpO1xuICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIC0tY2hhdC1idWJibGUtZm9udC1zaXplOiAxNXB4O1xuICAgIC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgLS1jaGF0LWlucHV0LXZpc2libGUtbGluZXM6IDM7XG4gICAgLS1jaGF0LWlucHV0LWZvbnQtc2l6ZTogMTVweDtcbiAgICAtLWNoYXQtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxMHB4O1xuICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDEycHg7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplOiA0MHB4O1xuICAgIC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgIHZhcigtLWNoYXQtaW5wdXQtdmlzaWJsZS1saW5lcykgKiB2YXIoLS1jaGF0LWlucHV0LWZvbnQtc2l6ZSkgKiB2YXIoLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0KSArXG4gICAgICAgICAgICAoMiAqIHZhcigtLWNoYXQtaW5wdXQtcGFkZGluZy15KSlcbiAgICApO1xufVxuXG4uY29uc3RyYWluZWRBcnRpY2xlVmlzdWFsIHtcbiAgICAtLWNoYXQtYXJ0aWNsZS1sYXlvdXQtbWF4LXdpZHRoOiA1NHJlbTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1sYXlvdXQtcGFkZGluZy1pbmxpbmU6IGNsYW1wKDE2cHgsIDR2dywgNDBweCk7XG59XG5cbi5jaGF0TWFpbkZsb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAn8J+fpicgbWluLWNvbnRlbnRcbiAgICAgICAgJ/CfkqwnIDFmclxuICAgICAgICAn8J+TnScgbWluLWNvbnRlbnRcbiAgICAgICAgLyAxZnI7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgY29sb3I6ICMwZjE3MjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDM2LCAwLjA2KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLlRhc2tzSW5Qcm9ncmVzcyB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7XG4gICAgbWFyZ2luOiA4cHggMTZweDtcbn1cblxuLmFjdGlvbnMge1xuICAgIGdyaWQtYXJlYTog8J+SrDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIHotaW5kZXg6IDQwO1xuICAgIGFsaWduLXNlbGY6IHNlbGYtc3RhcnQ7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDE2cHggMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLmFjdGlvbnMucG9ydGFsIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hY3Rpb25zLmxlZnQge1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1zdGFydDtcbn1cblxuLmFjdGlvbnMucmlnaHQge1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7XG59XG5cbi5hY3Rpb25zRmFkZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuLmFjdGlvbnNTY3JvbGxpbmcge1xuICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIExhcmdlIHRhYmxldCBhbmQgc21hbGwgZGVza3RvcCBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBNZWRpdW0gc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDE0cHggMThweCAwO1xuICAgICAgICBnYXA6IDdweDtcbiAgICB9XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRDaGlsZHJlbiB7XG4gICAgZ3JpZC1hcmVhOiDwn5KsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICB6LWluZGV4OiAzMDA7XG59XG5cbi8qIENoYXQgbWVzc2FnZXMgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDI4cHggMjRweCAxOHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0TWVzc2FnZXMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2Uge1xuICAgIHdpZHRoOiBtaW4odmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGgpLCAxMDAlKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0TWVzc2FnZXMgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VTdGFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhhc0FjdGlvbnNBbmRGaXJzdE1lc3NhZ2VJc0xvbmcge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xufVxuXG4vKiBDdXN0b20gc2Nyb2xsYmFyIHN0eWxpbmcgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAwLCAxMTYsIDEzOSwgMC41NSk7XG59XG5cbi8qIEluZGl2aWR1YWwgY2hhdCBtZXNzYWdlICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VTdGFjayB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVN0YWNrID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSB7XG4gICAgY29sdW1uLWdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICB3aWR0aDogbWluKDEwMCUsIDg2MHB4KTtcbiAgICBtYXgtd2lkdGg6IG1pbigxMDAlLCA4NjBweCk7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIuYXJ0aWNsZU1vZGVBZ2VudEF2YXRhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lc3NhZ2VXaXRoTWFwIHtcbiAgICAvKiBtYXJrZXIgY2xhc3MgYXBwbGllZCB0byBtYXAgbWVzc2FnZXMgc28gdGhleSBjYW4gc3RyZXRjaCB3aWRlci4gKi9cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCAubWVzc2FnZVN0YWNrIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogbWluKDkwdncsIDkyMHB4LCBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKSk7XG4gICAgbWF4LXdpZHRoOiBtaW4oOTB2dywgOTIwcHgsIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAgLm1lc3NhZ2VTdGFjayB7XG4gICAgICAgIHdpZHRoOiBtaW4oOTJ2dywgNjQwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IG1pbig5MnZ3LCA2NDBweCk7XG4gICAgfVxufVxuXG4ubWVzc2FnZU1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA2cHggOHB4IDA7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VNZXRhIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VNZXRhIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZXNzYWdlTGlmZWN5Y2xlQmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTYpO1xuICAgIGNvbG9yOiAjNDc1NTY5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWVzc2FnZVRpbWVzdGFtcCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLm1lc3NhZ2VEdXJhdGlvbiB7XG4gICAgb3BhY2l0eTogMC44NTtcbn1cblxuLm1lc3NhZ2VMaWZlY3ljbGVFcnJvciB7XG4gICAgbWFyZ2luOiA0cHggNnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjYjkxYzFjO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4ucGFydGljaXBhbnRMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODIpO1xuICAgIG1hcmdpbjogMCAwIDdweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAucGFydGljaXBhbnRMYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgbWVzc2FnZVNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLmlzTm90Q29tcGxldGVNZXNzYWdlIHtcbiAgICAvKi9cbiAgICBvdXRsaW5lOiAxcHggZG90dGVkICNmZjAwMDAgIWltcG9ydGFudDtcbiAgICAvKiovXG5cbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uTm9uQ29tcGxldGVNZXNzYWdlRmlsbGVyIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEVuaGFuY2VkIGxvYWRpbmcgc3RhdGVzIGZvciBtZXNzYWdlcyAqL1xuLmlzTm90Q29tcGxldGVNZXNzYWdlIC5tZXNzYWdlVGV4dDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDhweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNiksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiBsb2FkaW5nUHVsc2UgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UuaXNOb3RDb21wbGV0ZU1lc3NhZ2UgLm1lc3NhZ2VUZXh0OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2xDYWxsQ2hpcHMsXG4uc291cmNlQ2l0YXRpb25zLFxuLmNpdGF0aW9uRm9vdG5vdGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yOCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE0JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uY2l0YXRpb25Gb290bm90ZXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaXRhdGlvbkZvb3Rub3RlSXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xufVxuXG4uY2l0YXRpb25Gb290bm90ZU51bWJlciB7XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSA3OCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLnRvb2xDYWxsQ2hpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNXB4IDExcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbn1cblxuLnRvb2xDYWxsQ2hpcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDM2JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE0KTtcbn1cblxuLnRvb2xDYWxsQ2hpcE9uZ29pbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMSk7XG59XG5cbi50b29sQ2FsbENoaXBTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50ZWFtVG9vbENhbGwsXG4udHJhbnNpdGl2ZVRvb2xDYWxsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50ZWFtQWdlbnRDaGlwLFxuLnRyYW5zaXRpdmVBZ2VudENoaXAge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9vbENhbGxMYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRvb2xDYWxsV2l0aEVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjEyKTtcbn1cblxuLnRvb2xDYWxsT3JpZ2luIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvb2xDYWxsRGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRvb2xDYWxsRGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi50b29sQ2FsbENoaXBTcGlubmVyIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogdG9vbENhbGxTcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHRvb2xDYWxsU3Bpbm5lciB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nUHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMik7XG4gICAgfVxufVxuXG4vKiBUeXBpbmcgaW5kaWNhdG9yIGZvciBBSSBtZXNzYWdlcyAqL1xuLnR5cGluZ0luZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMTJweCA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFvjipfvuI9dXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmNmZiO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbn1cbiovXG5cbi50eXBpbmdCdWJibGUge1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG59XG5cbi50eXBpbmdEb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50eXBpbmdEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2YjcyODAgMCUsIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC42KSAxMDAlKTtcbiAgICBhbmltYXRpb246IHR5cGluZ0JvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbn1cblxuQGtleWZyYW1lcyB0eXBpbmdCb3VuY2Uge1xuICAgIDAlLFxuICAgIDgwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVRleHQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZTpub3QoLmlzTWUpIC5tZXNzYWdlVGV4dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbn1cblxuLnJhdGluZ1N0YXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICBjb2xvcjogdmFyKC0tc3Rhci1pbmFjdGl2ZS1jb2xvciwgI2NjYyk7XG59XG5cbi5yYXRpbmdTdGFyLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmQ3MDA7XG59XG5cbi8qIFNlbmRlciBBdmF0YXIgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFvjipfvuI9dXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXZhdGFyLWJnLWNvbG9yLCAjZWVmNmZiKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWc6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuKi9cblxuLyogTWVzc2FnZSB0ZXh0IGJ1YmJsZSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNoYXQtYnViYmxlLXJhZGl1cyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogbWluKHZhcigtLWNoYXQtbWVzc2FnZS1taW4td2lkdGgpLCAxMDAlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWJ1YmJsZS1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYnViYmxlLXNoYWRvdyksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQpO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWJ1YmJsZS1mb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMjVlbTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgLS1jaGF0LW1kLWhlYWRpbmctZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1mb250LWJhcmxvdy1jb25kZW5zZWQsXG4gICAgICAgICdCYXJsb3cgQ29uZGVuc2VkJyxcbiAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZilcbiAgICApO1xuICAgIC0tY2hhdC1tZC1ib2R5LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIC0tY2hhdC1tZC10ZXh0LWNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpO1xuICAgIC0tY2hhdC1tZC1saW5rLWNvbG9yOiAjMjU2M2ViO1xuICAgIC0tY2hhdC1tZC1tdXRlZC1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlcjogcmdiYSgxNSwgMjMsIDQyLCAwLjIpO1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJvcmRlcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtaGVhZC1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNik7XG4gICAgLS1jaGF0LW1kLWNpdGF0aW9uLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIGZvbnQtc2l6ZTogMTUuNXB4O1xuICAgIC0tY2hhdC1tZC1saW5rLWNvbG9yOiAjMWQ0ZWQ4O1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1iZzogcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJnOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1iZzogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNDUpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiByZ2JhKDI0MSwgMjQ1LCAyNDksIDAuOTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1ib3JkZXI6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40NSk7XG4gICAgLS1jaGF0LW1kLWNpdGF0aW9uLWJnOiByZ2JhKDE5MSwgMjE5LCAyNTQsIDAuMjQpO1xufVxuXG5Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCA1MCUsICNmZmYgNTAlKSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE1OGRlZyxcbiAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA4NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxNCUpLFxuICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDk1JSwgcmdiYSgyLCA2LCAyMywgMC4wOCkgNSUpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzIlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KSAyOCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLWxpbmstY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDcyJSwgIzdkZDNmYyAyOCUpO1xuICAgICAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDg0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NSUsIHJnYmEoMTUsIDIzLCA0MiwgMC4yKSAzNSUpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDIyJVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDM0JSwgIzdkZDNmYyA2NiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyMiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDcwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44MikgMzAlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSAzNiVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLXRhYmxlLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDU1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0NSUpO1xuICAgIH1cbn1cblxuLyogQ29weSBidXR0b24gc3R5bGVzICovXG4uY29weUJ1dHRvbkNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTJweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIgLmNvcHlCdXR0b25Db250YWluZXIsXG4uY29weUJ1dHRvbkNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4IDEycHg7XG59XG5cbi5hcnRpY2xlTW9kZU1lc3NhZ2VDb250cm9scyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lc3NhZ2VDb250cm9sR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLmNvcHlCdXR0b24sXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAucGxheUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC42NSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAuY29weUJ1dHRvbjpob3Zlcixcbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIC5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjgyKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbn1cblxuLmNvcHlCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDRweCA3cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cywgYm94LXNoYWRvdyAwLjE1cywgYm9yZGVyIDAuMTVzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbn1cblxuLnBsYXlCdXR0b24ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40OCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogIzExMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnBsYXlCdXR0b25JY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5wbGF5QnV0dG9uU3Bpbm5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzExMTtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VQbGF5U3Bpbm5lciAwLjlzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi5wbGF5QnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuQGtleWZyYW1lcyBtZXNzYWdlUGxheVNwaW5uZXIge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uY29waWVkVG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDExMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6ICMyMjI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC45OGVtO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgICBvcGFjaXR5OiAwLjk3O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBhbmltYXRpb246IGNvcGllZFRvb2x0aXBGYWRlSW4gMC4ycztcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmNvcGllZFRvb2x0aXBMZWZ0IHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jb3BpZWRUb29sdGlwUmlnaHQge1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBSZW1vdmVkIHJpZ2h0LWFsaWduZWQgb3ZlcnJpZGUgdG8ga2VlcCB0b29sdGlwIHBvc2l0aW9uIHN0YWJsZSAqL1xuXG5Aa2V5ZnJhbWVzIGNvcGllZFRvb2x0aXBGYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg4cHgpIHNjYWxlKDAuOTcpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLmNvcHlCdXR0b246aG92ZXIsXG4uY29weUJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc2KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjIyKTtcbn1cblxuLmNvcHlCdXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogTWFya2Rvd24gcHJpbWl0aXZlcyBhcmUgaW50ZW50aW9uYWxseSBjZW50cmFsaXplZCBpbiBgTWFya2Rvd25Db250ZW50Lm1vZHVsZS5jc3NgLiAqL1xuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYnViYmxlLXNoYWRvdy1ob3ZlciksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNXB4KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qIEF0dGFjaG1lbnRzIHN0eWxlcyAqL1xuLmF0dGFjaG1lbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMjgpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDEyJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uYXR0YWNobWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDdweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTYlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmF0dGFjaG1lbnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDYyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDM4JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyNCUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5hdHRhY2htZW50SWNvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLmF0dGFjaG1lbnROYW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIE1lc3NhZ2UgYnV0dG9ucyBjb250YWluZXIgKi9cbi5tZXNzYWdlQnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA5cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM2KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxNCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLyogSW5kaXZpZHVhbCBtZXNzYWdlIGJ1dHRvbiAqL1xuLm1lc3NhZ2VCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyMiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC45KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE4JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBwcm9ncmVzcztcbiAgICBvcGFjaXR5OiAwLjcyO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzNCUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMjYlLCAjN2RkM2ZjIDc0JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE0KTtcbn1cblxuLm1lc3NhZ2VCdXR0b246aG92ZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyMiUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NSwgNjUsIDgxLCAwLjkyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzEsIDQxLCA1NSwgMC45NSk7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5hY3Rpb25NZXNzYWdlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMxLCA0MSwgNTUsIDAuOTgpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNywgMjQsIDM5LCAwLjk4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zMik7XG59XG5cbi5hY3Rpb25NZXNzYWdlQnV0dG9uOmhvdmVyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU1LCA2NSwgODEsIDAuOTIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgzMSwgNDEsIDU1LCAwLjk1KTtcbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFya2Rvd24gc3R5bGVzIGZyb20gYnV0dG9uIGNvbnRlbnQgKi9cbi5tZXNzYWdlQnV0dG9uIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ubWVzc2FnZUJ1dHRvbiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tZXNzYWdlQnV0dG9uIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFJhdGluZyBzeXN0ZW0gKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC04cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMnB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcuYXJ0aWNsZU1vZGVSYXRpbmcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlOmhvdmVyIC5yYXRpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nLmFydGljbGVNb2RlUmF0aW5nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MSwgMjQ1LCAyNDksIDAuOTQpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjYyKTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mZWVkYmFja0lzc3VlQnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuTW9qaUJsYWNrJywgJ05vdG8gRW1vamknLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBDaGF0IGlucHV0IGFyZWEgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgei1pbmRleDogMTA7XG4gICAgZ3JpZC1hcmVhOiDwn5OdO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygyMHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMCkgMCUsXG4gICAgICAgIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KSA0NCUsXG4gICAgICAgIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45NikgMTAwJVxuICAgICk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0SW5wdXQge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRJbnB1dCA+IDpub3QoLnNwZWVjaFN0YXR1c0J1YmJsZSk6bm90KC5kcmFnT3ZlcmxheSkge1xuICAgIHdpZHRoOiBtaW4odmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGgpLCAxMDAlKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uQ2hhdC5mdWxsUGFnZVZpc3VhbCAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIDAlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDYwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAxMDAlXG4gICAgKTtcbn1cblxuLyogRmlsZSB1cGxvYWQgZHJhZy1hbmQtZHJvcCBzdHlsZXMgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dC5kcmFnT3ZlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMDQpIDAlLCByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMykgMTAwJSk7XG59XG5cbi8qIEZpbGUgcHJldmlldyBjb250YWluZXIgKi9cbi5maWxlUHJldmlld0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBJbmRpdmlkdWFsIGZpbGUgcHJldmlldyAqL1xuLmZpbGVQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZVByZXZpZXc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xNSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG59XG5cbi5maWxlSWNvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmZpbGVJbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uZmlsZU5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4uZmlsZVNpemUge1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLnJlbW92ZUZpbGVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiAjZmY0NDQ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJlbW92ZUZpbGVCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLyogSW5wdXQgY29udGFpbmVyIGZvciB0ZXh0YXJlYSBhbmQgYnV0dG9ucyAqL1xuLmlucHV0Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpIDAlLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTQpIDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAzNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMiksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmlucHV0Q29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSk7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KSwgMCAwIDAgNHB4IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjE2KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSkgNTglLCByZ2JhKDE1LCAyMywgNDIsIDAuMikgNDIlKTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpLFxuICAgICAgICAwIDAgMCA0cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSAxNiUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5pbnB1dENvbnRhaW5lciB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOGI5YmIxO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIEF0dGFjaG1lbnQgYnV0dG9uICovXG4uYXR0YWNobWVudEJ1dHRvbiB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXR0YWNobWVudEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLmF0dGFjaG1lbnRCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBWb2ljZSBCdXR0b24gKi9cbi52b2ljZUJ1dHRvbiB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm9pY2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi52b2ljZUJ1dHRvbkFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZWY0NDQ0ICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiB2b2ljZVJlY29yZGluZ1B1bHNlIDEuNXMgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IDg2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IG1pbigzMjBweCwgY2FsYygxMDAlIC0gNDhweCkpO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgMC4xNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHotaW5kZXg6IDI1O1xuICAgIGFuaW1hdGlvbjogc3BlZWNoU3RhdHVzQnViYmxlSW4gMC4ycyBlYXNlLW91dDtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzY0NzQ4YjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbmltYXRpb246IHNwZWVjaFN0YXR1c0J1YmJsZURvdFB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI0MiwgMjQyLCAwLjk3KTtcbiAgICBjb2xvcjogIzk5MWIxYjtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVJlY29yZGluZyAuc3BlZWNoU3RhdHVzQnViYmxlRG90IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlUHJvY2Vzc2luZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0LCAxMTYsIDE0NCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzYsIDI1NCwgMjU1LCAwLjk3KTtcbiAgICBjb2xvcjogIzE1NWU3NTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3NpbmcgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZUVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjIwLCAzOCwgMzgsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45OCk7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciAuc3BlZWNoU3RhdHVzQnViYmxlRG90IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLmRpY3RhdGlvblBhbmVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5kaWN0YXRpb25QYW5lbEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblBhbmVsVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLmRpY3RhdGlvblBhbmVsVG9nZ2xlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkludGVyaW1UcmFuc2NyaXB0IHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDI0NiwgMjU1LCAwLjkpO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMwYzRhNmU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkVycm9yUGFuZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjIwLCAzOCwgMzgsIDAuMjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45NSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gICAgY29sb3I6ICM5OTFiMWI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5kaWN0YXRpb25FcnJvckFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uRXJyb3JBY3Rpb25zIGJ1dHRvbixcbi5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyBidXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25QYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uQ29ycmVjdGlvbkxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uVGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogOHB4IDEycHg7XG59XG5cbi5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbn1cblxuLmRpY3RhdGlvbkZhbGxiYWNrTm90ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuQGtleWZyYW1lcyBzcGVlY2hTdGF0dXNCdWJibGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHNjYWxlKDAuOTgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3BlZWNoU3RhdHVzQnViYmxlRG90UHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Mik7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlUmVjb3JkaW5nUHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMCwgMCwgMC40KTtcbiAgICB9XG4gICAgNzAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAwLCAwLCAwKTtcbiAgICB9XG59XG5cbi8qIFVwbG9hZCBwcm9ncmVzcyBpbmRpY2F0b3IgKi9cbi51cGxvYWRQcm9ncmVzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzAwODRmZjtcbn1cblxuLnVwbG9hZFByb2dyZXNzQmFyIHtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51cGxvYWRQcm9ncmVzc0ZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDg0ZmYsIHJnYmEoMCwgMTMyLCAyNTUsIDAuOCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBhbmltYXRpb246IHVwbG9hZFByb2dyZXNzIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdXBsb2FkUHJvZ3Jlc3Mge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG59XG5cbi8qIERyYWcgb3ZlcmxheSAqL1xuLmRyYWdPdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMSk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEoMCwgMTMyLCAyNTUsIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZHJhZ092ZXJsYXlDb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgY29sb3I6ICMwMDg0ZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kcmFnT3ZlcmxheUNvbnRlbnQgc3ZnIHtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIENoYXQgaW5wdXQgZmllbGQgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jaGF0LWlucHV0LXBhZGRpbmcteSkgdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodCk7XG4gICAgbWluLWhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWNoYXQtaW5wdXQtZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcmVzaXplOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgLyogRm9jdXMgaXMgaGFuZGxlZCBieSAuaW5wdXRDb250YWluZXIgKi9cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOGJhMGI4O1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLyogQ2hhdCBzZW5kIGJ1dHRvbiAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddIHtcbiAgICB3aWR0aDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWluLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjI1KTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ106aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjM1KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddIHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uIGltZyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogU2Nyb2xsIHRvIGJvdHRvbSBidXR0b24gKi9cblxuLnNjcm9sbFRvQm90dG9tQ29udGFpbmVyIHtcbiAgICAvKi9cbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJlZDtcbiAgICAvKiovXG5cbiAgICB6LWluZGV4OiAyMDtcbiAgICBncmlkLWFyZWE6IPCfk507XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNjcm9sbFRvQm90dG9tQ29udGFpbmVyIC5zY3JvbGxUb0JvdHRvbVdyYXBwZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xNTAlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogc2Nyb2xsQnV0dG9uU2xpZGVJbiAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLnNjcm9sbFRvQm90dG9tQ29udGFpbmVyIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAgMCAwIC8gMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuQGtleWZyYW1lcyBzY3JvbGxCdXR0b25TbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMjBweCkgc2NhbGUoMC44KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLnNjcm9sbFRvQm90dG9tQmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC04cHg7XG4gICAgcmlnaHQ6IC04cHg7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2dyb3VuZDogIzI1NjNlYjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMzcsIDk5LCAyMzUsIDAuNCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogUmF0aW5nIG1vZGFsICovXG4ucmF0aW5nTW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBhbmltYXRpb246IG1vZGFsRmFkZUluIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWxGYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgICB9XG59XG5cbi5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MjQ7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBhbmltYXRpb246IG1vZGFsU2xpZGVJbiAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJztcbiAgICAvKiA8LSBUT0RPOiBb8J+noF1b8J+OsV0gQmV0dGVyLCBkZWZpbmUgb3RoZXIgZm9udHMgKi9cbn1cblxuQGtleWZyYW1lcyBtb2RhbFNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLnJhdGluZ01vZGFsQ29udGVudCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMjRweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zdGFycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uc3RhcnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zdGFycyBzcGFuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIxNSwgMCwgMC4xKTtcbn1cblxuLnJhdGluZ01vZGFsU3RhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuXG4udG9vbENhbGxNb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b29sQ2FsbEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWVmMmZmIDAlLCAjZjVmM2ZmIDQwJSwgI2ZlZmNjOSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLnRvb2xDYWxsSWNvbiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xufVxuXG4udG9vbENhbGxIZWFkZXJNZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi50b29sQ2FsbE1vZGFsTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udG9vbENhbGxUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxTdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQ3NTQ2Nztcbn1cblxuLnRvb2xDYWxsR3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbn1cblxuLnRvb2xDYWxsUGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQwcHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLnRvb2xDYWxsUGFuZWxUaXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnRvb2xDYWxsTGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4udG9vbENhbGxJdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi50b29sQ2FsbEl0ZW1MYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnRvb2xDYWxsSXRlbVZhbHVlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLnRvb2xDYWxsU3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udG9vbENhbGxTdW1tYXJ5TWV0YSB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsU3VtbWFyeU1ldGFCYWRnZSB7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3OSwgNzAsIDIyOSwgMC4xNSk7XG4gICAgY29sb3I6ICMzMTJlODE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50b29sQ2FsbEVtcHR5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nQ2FyZCB7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNjYmQ1ZTE7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmOGZiZmYgMCUsICNmOGZhZmMgMTAwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ0hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdCYWRnZSB7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTIpO1xuICAgIGNvbG9yOiAjMDM2OWExO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ01lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdTa2VsZXRvbkxpbmUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC43KSwgcmdiYSgyNDEsIDI0NSwgMjQ5LCAxKSwgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjcpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246IHRvb2xDYWxsUGVuZGluZ1NrZWxldG9uUHVsc2UgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uU2hvcnQge1xuICAgIHdpZHRoOiA2OCU7XG59XG5cbkBrZXlmcmFtZXMgdG9vbENhbGxQZW5kaW5nU2tlbGV0b25QdWxzZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDAlIDUwJTtcbiAgICB9XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkUm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjkpO1xufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZFJvdzpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmRSb3cgc3Ryb25nIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsSXNzdWVzIHtcbiAgICBwYWRkaW5nOiAwIDMycHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsSXNzdWVCYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cblxuLnRvb2xDYWxsSXNzdWVFcnJvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xMik7XG4gICAgY29sb3I6ICNiOTFjMWM7XG59XG5cbi50b29sQ2FsbElzc3VlV2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDE3OSwgOCwgMC4xNik7XG4gICAgY29sb3I6ICNhMTYyMDc7XG59XG5cbi50b29sQ2FsbE1vZGVGb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDMycHggMjRweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50b29sQ2FsbE1vZGVCdXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi50b29sQ2FsbE1vZGVCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnRvb2xDYWxsQ2xvY2tQYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbi50b29sQ2FsbENsb2NrTGFiZWxzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b29sQ2FsbENsb2NrUHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsQ2xvY2tTZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4udG9vbENhbGxDbG9ja01ldGEge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6ICM2NjcwODU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4udGltZW91dFRvb2xTdW1tYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4udGltZW91dFRvb2xQcmltYXJ5U2VudGVuY2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udGltZW91dFRvb2xTZWNvbmRhcnlTZW50ZW5jZSB7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25Sb3cge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50aW1lb3V0VG9vbEFjdGlvbkJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHBhZGRpbmc6IDhweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC40NTtcbn1cblxuLm1lbW9yeU1vZGFsSGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyOHB4IDMycHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmRmZGZkIDAlLCAjZjZmOWZmIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4ubWVtb3J5TW9kYWxJY29uIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjM2NmYxLCAjYTg1NWY3KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMjhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xufVxuXG4ubWVtb3J5TW9kYWxIZWFkZXJUZXh0IHtcbiAgICBmbGV4OiAxO1xufVxuXG4ubWVtb3J5TW9kYWxUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ubWVtb3J5TW9kYWxTdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiA0cHggMCAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1lbW9yeU1vZGFsU3RhdHVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tZW1vcnlTdGF0dXNEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZW1vcnlNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbn1cblxuLm1lbW9yeU1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbW9yeU1ldGFSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4ubWVtb3J5TWV0YUxhYmVsIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1lbW9yeU1ldGFWYWx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLm1lbW9yeVN0b3JlU2VjdGlvbixcbi5tZW1vcnlSZXRyaWV2ZVNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5tZW1vcnlDYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5tZW1vcnlDYXJkQ29udGVudCB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5tZW1vcnlDYXJkTWV0YSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1lbW9yeVNjb3BlQmFkZ2Uge1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI0LCA1OCwgMjM3LCAwLjEyKTtcbn1cblxuLm1lbW9yeUxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5tZW1vcnlFbXB0eVN0YXRlIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWYzYzc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZkZTY4YTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGNvbG9yOiAjOTI0MDBlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tZW1vcnlMaXN0Rm9vdGVyIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWVtb3J5U3RhdHVzU3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMTYpO1xuICAgIGNvbG9yOiAjMDQ3ODU3O1xufVxuXG4ubWVtb3J5U3RhdHVzV2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDE3OSwgOCwgMC4xNik7XG4gICAgY29sb3I6ICNhMTYyMDc7XG59XG5cbi5tZW1vcnlTdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gICAgY29sb3I6ICNiOTFjMWM7XG59XG5cbi5tZW1vcnlTdGF0dXNOZXV0cmFsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4xNSk7XG4gICAgY29sb3I6ICMxZDRlZDg7XG59XG5cbi5zZWFyY2hNb2RhbEhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xufVxuXG4uc2VsZkxlYXJuaW5nTW9kYWxIZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGZhZmMgMCUsICNmZWY5YzMgNDUlLCAjZWNmY2NiIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4uc2VsZkxlYXJuaW5nQXZhdGFyR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5zZWxmTGVhcm5pbmdBdmF0YXIge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgxNSwgMjMsIDQyLCAwLjE4KTtcbn1cblxuLnNlbGZMZWFybmluZ0F2YXRhckluaXRpYWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc2VsZkxlYXJuaW5nVGVhY2hlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZkZTY4YSAwJSwgIzg2ZWZhYyAxMDAlKTtcbn1cblxuLnNlbGZMZWFybmluZ0hlYWRlclRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2VsZkxlYXJuaW5nVGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnNlbGZMZWFybmluZ01ldGFSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YUNoaXAge1xuICAgIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zZWxmTGVhcm5pbmdDb21taXRtZW50cyB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogMTZweDtcbn1cblxuLnNlbGZMZWFybmluZ0NvbW1pdG1lbnRzTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlbGZMZWFybmluZ0Jvb2tFZGl0b3Ige1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nRW1wdHkge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NTY5O1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMTZweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLm1vZGFsQ2xvc2VCdXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICM5NGEzYjg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnRlYW1Nb2RhbEhlYWRlciB7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRlYW1IZWFkZXJQYXJ0aWNpcGFudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbUhlYWRlclByb2ZpbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnRlYW1IZWFkZXJQcm9maWxlTGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50ZWFtSGVhZGVyQXZhdGFyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLnRlYW1IZWFkZXJOYW1lIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRlYW1IZWFkZXJEaXZpZGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLnNlYXJjaE1vZGFsSWNvbiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5zZWFyY2hNb2RhbFF1ZXJ5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMDIxMjQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWFyY2hNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRlYW1DaGF0Q29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi50ZWFtVG9vbENhbGxTZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4udGVhbVRvb2xDYWxsR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRlYW1Ub29sQ2FsbEhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRlYW1Ub29sQ2FsbENoaXBzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNIZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi50ZWFtVG9vbENhbGxEZXRhaWxzVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNDbGVhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjNDc1NTY5O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi50ZWFtVG9vbENhbGxEZXRhaWxzQ2xlYXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG59XG5cbi5zZWFyY2hSZXN1bHRzTGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2VhcmNoUmVzdWx0c1JhdyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uc2VhcmNoUmVzdWx0SXRlbSB7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbn1cblxuLnNlYXJjaFJlc3VsdFVybCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjAyMTI0O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5zZWFyY2hSZXN1bHRVcmwgYSB7XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2VhcmNoUmVzdWx0VGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMCA0cHggMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSBhIHtcbiAgICBjb2xvcjogIzFhMGRhYjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNlYXJjaFJlc3VsdFNuaXBwZXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBjb2xvcjogIzRkNTE1NjtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ub1Jlc3VsdHMge1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNzA3NTdhO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRvb2xDYWxsRGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cbi5jaXRhdGlvbkRldGFpbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5jaXRhdGlvblByZXZpZXcge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuXG4uY2l0YXRpb25JZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgcCB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBzdHJvbmcge1xuICAgIGNvbG9yOiAjMzMzO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBhIHtcbiAgICBjb2xvcjogIzAwN2JmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNpdGF0aW9uRXhjZXJwdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jaXRhdGlvbkV4Y2VycHQgaDQge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNpdGF0aW9uSGludCB7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLnRvb2xDYWxsRGF0YUNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRvb2xDYWxsUGF5bG9hZENvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLnRvb2xDYWxsUGF5bG9hZEVkaXRvciA6Z2xvYmFsKC5tb25hY28tZWRpdG9yKSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciAub3ZlcmZsb3ctZ3VhcmQpLFxuLnRvb2xDYWxsUGF5bG9hZEVkaXRvciA6Z2xvYmFsKC5tb25hY28tZWRpdG9yIC5tb25hY28tc2Nyb2xsYWJsZS1lbGVtZW50KSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvci1iYWNrZ3JvdW5kKSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYyAhaW1wb3J0YW50O1xufVxuXG4udG9vbENhbGxEYXRhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi50b29sQ2FsbE1vZGFsIC50b29sQ2FsbERhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5yYXRpbmdJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA1KTtcbiAgICBjb2xvcjogIzBiMTIyMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ucmF0aW5nSW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwODRmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5yYXRpbmdJbnB1dFtyZWFkb25seV0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC41KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDEpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogMTJweDtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGNvbG9yOiAjMGIxMjIwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG4gICAgY29sb3I6ICMwYjEyMjA7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA4NGZmIDAlLCAjMDA2NmNjIDEwMCUpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwNzFkMSAwJSwgIzAwNTJhMyAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5kb3dubG9hZEJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xufVxuXG4uZG93bmxvYWRCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDk5ZmYgMCUsICMwMDc3ZGQgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xufVxuXG4uZG93bmxvYWRCdXR0b24gc3ZnIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmRvd25sb2FkQnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIFByaW1hcnkgY2hhdCB0b29sYmFyIGJ1dHRvbnMgKi9cbi5jaGF0QnV0dG9uLFxuLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTFweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgIzBmOGVmNSAwJSwgIzBiNmZkMCA1NiUsICMwZDVmYmIgMTAwJSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMi41cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjJzIGVhc2UgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4yOCksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b246OmJlZm9yZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xMTAlO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDBkZWcsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpIDQ4JSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjQ1cyBlYXNlO1xufVxuXG4uY2hhdEJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDE0MCU7XG59XG5cbi5jaGF0QnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwZGVnLCAjMWE5YWZmIDAlLCAjMGQ3ZGU4IDU2JSwgIzExNjhjOSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS41cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAzMHB4IHJnYmEoMTQsIDExNiwgMjE5LCAwLjM0KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b246YWN0aXZlLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuOTg1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uY2hhdEJ1dHRvbjpmb2N1cyxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4zMiksIDAgMCAwIDNweCByZ2JhKDU2LCAxODksIDI0OCwgMC4yOCksXG4gICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKSAhaW1wb3J0YW50O1xufVxuXG4uY2hhdEJ1dHRvbiBzdmcsXG4udXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBmaWx0ZXIgMC4ycyBlYXNlO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNCkpO1xufVxuXG4uY2hhdEJ1dHRvbjpob3ZlciBzdmcsXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpIHRyYW5zbGF0ZVgoMXB4KTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjgpKTtcbn1cblxuLmNoYXRCdXR0b25UZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5jaGF0QnV0dG9uOmhvdmVyIC5jaGF0QnV0dG9uVGV4dCxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3ZlciAuY2hhdEJ1dHRvblRleHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xufVxuXG4uc2F2ZUJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNhdmVNZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zYXZlTWVudUl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMTExO1xufVxuXG4uc2F2ZU1lbnVJdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuXG4uc2F2ZU1lbnVEaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIG1hcmdpbjogNHB4IDA7XG59XG5cbi5jaGF0RmVlZGJhY2tQYW5lbCB7XG4gICAgd2lkdGg6IG1pbigyNjBweCwgMTAwJSk7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVweCk7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMyNTYzZWI7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmNoYXRGZWVkYmFja0ljb24ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWYyZmY7XG4gICAgY29sb3I6ICM2MzY2ZjE7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGVbZGF0YS1lbmFibGVkPSd0cnVlJ10gLmNoYXRGZWVkYmFja0ljb24ge1xuICAgIGJhY2tncm91bmQ6ICNlMGYyZmU7XG4gICAgY29sb3I6ICMwMjg0Yzc7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGVbZGF0YS1lbmFibGVkPSdmYWxzZSddIC5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uY2hhdEZlZWRiYWNrTWV0YSB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5jaGF0RmVlZGJhY2tMYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5jaGF0RmVlZGJhY2tEZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uY2hhdEZlZWRiYWNrSW5kaWNhdG9yIHtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvckFjdGl2ZSB7XG4gICAgY29sb3I6ICMxNjY1MzQ7XG4gICAgYmFja2dyb3VuZDogI2RjZmNlNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzRkMzk5O1xufVxuXG4uY2hhdEZlZWRiYWNrSW5kaWNhdG9ySW5hY3RpdmUge1xuICAgIGNvbG9yOiAjNzEzZjEyO1xuICAgIGJhY2tncm91bmQ6ICNmZWY5YzM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZhY2MxNTtcbn1cblxuLyogUGF1c2UvUmVzdW1lIGJ1dHRvbiB2YXJpYW50IChyZXVzZXMgLmNoYXRCdXR0b24gYmFzZSBzdHlsZXMgZm9yIERSWSkgKi9cbi5wYXVzZUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmYjM0NyAwJSwgI2ZmOGM0MiAxMDAlKSAhaW1wb3J0YW50OyAvKiBXYXJtIG9yYW5nZSBmb3IgXCJhY3RpdmUvcnVubmluZ1wiICovXG59XG5cbi5wYXVzZUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmYzA2NyAwJSwgI2ZmOWU1ZiAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2luZyB7XG4gICAgb3BhY2l0eTogMC42ICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiB3YWl0ICFpbXBvcnRhbnQ7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEgMCUsICMwNTk2NjkgMTAwJSkgIWltcG9ydGFudDsgLyogR3JlZW4gd2hlbiBwYXVzZWQgKHJlYWR5IHRvIHJlc3VtZSkgKi9cbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNlZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzM0ZDM5OSAwJSwgIzA1OTY2OSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSBzY2FsZSgxLjAyKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjM1KTtcbn1cblxuLnBhdXNlQnV0dG9uIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNlZCBzdmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNpbmcgc3ZnIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5zdG9wQnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZGMyNjI2IDAlLCAjOTkxYjFjIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbn1cblxuLnN0b3BCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmODcxNzEgMCUsICNkYzI2MjYgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnN0b3BCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cblxuLnN0b3BCdXR0b24gc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uc3RvcEJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgyNDgsIDExMywgMTEzLCAwLjgpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGJhciAqL1xuLnZvaWNlQ2FsbEluZGljYXRvckJhciB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpIDAlLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciAqL1xuLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIDAlLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4yKSAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAxOTcsIDk0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY29sb3I6ICMxMGI5ODE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbmltYXRpb246IHZvaWNlQ2FsbEljb25QdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnZvaWNlQ2FsbEluZGljYXRvciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBWb2ljZSBjYWxsIHB1bHNlIGFuaW1hdGlvbiAqL1xuLnZvaWNlQ2FsbFB1bHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHZvaWNlQ2FsbFB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdm9pY2VDYWxsSWNvblB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbFB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4zKTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgaW4gbWVzc2FnZXMgKi9cbi5jaGF0TWVzc2FnZSAudm9pY2VDYWxsSW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG5cbi5jaGF0TWVzc2FnZSAudm9pY2VDYWxsSW5kaWNhdG9yIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xufVxuXG4vKiBGZWVkYmFjayBzdGF0dXMgYmFubmVyICovXG4uZmVlZGJhY2tTdGF0dXMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMTRweCAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDMycHggcmdiYSgxNSwgMjMsIDQyLCAwLjM1KTtcbiAgICB6LWluZGV4OiAxMDAwMDsgLyogW0ZpeCB6LWluZGV4XTogRW5zdXJlIGl0J3MgYWJvdmUgdGhlIGhlYWRlciAoei01MCkgYW5kIG90aGVyIFVJIGVsZW1lbnRzICovXG4gICAgYW5pbWF0aW9uOiBmZWVkYmFja1N0YXR1c1NsaWRlSW4gMC4yOHMgZWFzZS1vdXQ7XG4gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mZWVkYmFja1N0YXR1c1N1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEgMCUsICMwNTk2NjkgMTAwJSk7XG4gICAgY29sb3I6ICNmOGZhZmM7XG59XG5cbi5mZWVkYmFja1N0YXR1c0Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWY0NDQ0IDAlLCAjZGMyNjI2IDEwMCUpO1xuICAgIGNvbG9yOiAjZmVmMmYyO1xufVxuXG5Aa2V5ZnJhbWVzIGZlZWRiYWNrU3RhdHVzU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qIE1vYmlsZSByZXNwb25zaXZlbmVzcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLkNoYXQge1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1taW4td2lkdGg6IDEwMHB4O1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZTogMzZweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoOiBtaW4oXG4gICAgICAgICAgICA4NSUsXG4gICAgICAgICAgICA1NjBweCxcbiAgICAgICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXA6IDEwcHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1mb250LXNpemU6IDE2cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDE0cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDE4cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDRweDtcbiAgICB9XG5cbiAgICAuY29uc3RyYWluZWRBcnRpY2xlVmlzdWFsIHtcbiAgICAgICAgLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lOiBjbGFtcCgyNHB4LCA2dncsIDM2cHgpO1xuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDE2cHggMDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VTdGFjayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2VUZXh0IHtcbiAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjg7XG4gICAgfVxuXG4gICAgLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgfVxuXG4gICAgLyogW+OKl++4j11cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIH1cbiAgICAqL1xuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbiAgICAuc3BlZWNoU3RhdHVzQnViYmxlIHtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIGJvdHRvbTogNzZweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyOHB4KTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBwYWRkaW5nOiA3cHggMTFweDtcbiAgICB9XG5cbiAgICAuZGljdGF0aW9uU2V0dGluZ3NQYW5lbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMTZweDtcbiAgICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5zdGFycyB7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5zdGFycyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLnJhdGluZ0FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ01vZGFsSGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ0F2YXRhckdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zZWxmTGVhcm5pbmdNZXRhUm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aDogODBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDMycHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgOTAlLFxuICAgICAgICAgICAgNTIwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiA4cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDEycHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDE2cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDBweDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogOHB4IDEycHggMDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgfVxuXG4gICAgLyogW+OKl++4j11cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIH1cbiAgICAqL1xuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiA3MnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyxcbiAgICAuZGljdGF0aW9uRXJyb3JBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cbn1cblxuLyogUmVkdWNlZCBtb3Rpb24gc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLnJhdGluZ01vZGFsLFxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQsXG4gICAgLmZlZWRiYWNrU3RhdHVzIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbixcbiAgICAvKiBb44qX77iPXSAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZywgKi9cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4vKiBFbWFpbCBtb2RhbCBzdHlsZXMgKi9cbi5lbWFpbENvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4uZW1haWxNb2RhbEhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmVtYWlsSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uZW1haWxIZWFkZXJMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmVtYWlsTWV0YWRhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4uZW1haWxGaWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5lbWFpbEZpZWxkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbWFpbEZpZWxkIHN0cm9uZyB7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5lbWFpbFJlY2lwaWVudHMge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5lbWFpbEJvZHkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5lbWFpbEJvZHkgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uZW1haWxCb2R5Q29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5lbWFpbEJvZHlDb250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbn1cblxuLmVtYWlsQm9keUNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnJvd3NlclJ1bk1vZGFsSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmYWZjIDAlLCAjZWNmZWZmIDQwJSwgI2VjZmNjYiAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZWFmZTtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJUZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5icm93c2VyUnVuSGVhZGVyU3RhdHVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5icm93c2VyUnVuSGVhZGVyTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5icm93c2VyUnVuTWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuV2FybmluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmJiZjI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmJlYjtcbiAgICBjb2xvcjogIzkyNDAwZTtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZjYTVhNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gICAgY29sb3I6ICM3ZjFkMWQ7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bkVycm9yU3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bkVycm9yU3RlcHMge1xuICAgIG1hcmdpbjogOHB4IDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuXG4uYnJvd3NlclJ1bkRlYnVnRGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJyb3dzZXJSdW5EZWJ1Z0RldGFpbHMgc3VtbWFyeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjN2YxZDFkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5icm93c2VyUnVuRGVidWdEZXRhaWxzIHByZSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY3ZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZDdhYTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uYnJvd3NlclJ1bkZhbGxiYWNrQ29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG59XG5cbi5icm93c2VyUnVuU3RhdHVzQmFubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk1KTtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FyZEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhVGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUNhcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUltYWdlLFxuLmJyb3dzZXJSdW5NZWRpYVZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBtYXgtaGVpZ2h0OiAyNjBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkxvZyB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uTG9nVGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25MaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25JdGVtIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblBlbmRpbmcge1xuICAgIG9wYWNpdHk6IDAuODI7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uUnVubmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMDgpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkNvbXBsZXRlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjIyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uRXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGUge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2JkNWUxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlUnVubmluZyB7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTQpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlQ29tcGxldGUge1xuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEyKTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25TdGF0ZUVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25NZXRhIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmOGZhZmMgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogNDhweCA0MHB4IDY0cHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgcmdiYSgyLCA2LCAyMywgMC45OCksIHJnYmEoMTUsIDIzLCA0MiwgMC45MikpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMzIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNDBweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC4zNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE0NWRlZyxcbiAgICAgICAgICAgIHZhcigtLWFnZW50LWNoYXQtYnJhbmQtY29sb3ItbGlnaHQsICM3ZGQzZmMpLFxuICAgICAgICAgICAgdmFyKC0tYWdlbnQtY2hhdC1icmFuZC1jb2xvciwgIzBlYTVlOSlcbiAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y4ZmFmYyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxOHB4IDQwcHggcmdiYSgyLCA2LCAyMywgMC42KSBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDIycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGZiZmYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwZjE3MmEgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQ1KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDE1LCAyMywgNDIsIDAuMykgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZXNzYWdlTWV0YSxcbiAgICAucGFydGljaXBhbnRMYWJlbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQsXG4gICAgLnNjcm9sbFRvQm90dG9tLFxuICAgIC5mZWVkYmFja1N0YXR1cyxcbiAgICAudm9pY2VDYWxsSW5kaWNhdG9yQmFyLFxuICAgIC52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvcHlCdXR0b25Db250YWluZXIsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmVtYWlsU3RhdHVzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKipcbiAqIFRPRE86IFvwn4yJXSBEUlkgTWFya2Rvd24gcHJpbWl0aXZlcyBzdHlsaW5nXG4gKi9cbi8qIEltYWdlIHByb21wdCBwcmV2aWV3IHN0eWxlcyAqL1xuLmltYWdlUHJvbXB0IHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uaW1hZ2VQcm9tcHRQcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNSwgMTE4LCAyNTUsIDAuMDUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCkpO1xufVxuXG4uaW1hZ2VQcm9tcHRJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1hZ2VQcm9tcHRQbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmltYWdlUHJvbXB0U3Bpbm5lciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTYzZWI7XG4gICAgYW5pbWF0aW9uOiBpbWFnZVByb21wdFNwaW5uZXIgMC45cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgaW1hZ2VQcm9tcHRTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uaW1hZ2VQcm9tcHRNZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5pbWFnZVByb21wdFByb21wdCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi5pbWFnZVByb21wdFN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4uaW1hZ2VQcm9tcHRFcnJvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICNkYzI2MjY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDM4LCAzOCwgMC4wOCk7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlclNwaW5uZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzIyZDNlZTtcbiAgICBhbmltYXRpb246IHJpY2hGZWF0dXJlU3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXJDb3B5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlclN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNDc1NTY5O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjQpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LCAyNDYsIDI1NSwgMC45NCksIHJnYmEoMjE5LCAyMzQsIDI1NCwgMC44NikpO1xuICAgIHBhZGRpbmc6IDEycHggMTNweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFRpdGxlIHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsU2VjdGlvbkxhYmVsIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxZDRlZDg7XG59XG5cbi5wcm9ncmVzc1BhbmVsU2VjdGlvbkJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uQm9keSBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdEl0ZW0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbExpc3RCdWxsZXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzI1NjNlYjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtU3Bpbm5lciB7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDM3LCA5OSwgMjM1LCAwLjI2KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjU2M2ViO1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3NQYW5lbFNwaW5uZXIgMC43NXMgbGluZWFyIGluZmluaXRlO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtQ29tcGxldGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMXB4O1xuICAgIGhlaWdodDogMTFweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTYpO1xuICAgIGNvbG9yOiAjMTU4MDNkO1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wcm9ncmVzc1BhbmVsSXRlbVRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtVGV4dCBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NQYW5lbFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcmljaEZlYXR1cmVTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIl19 */";
23218
+ var styles$5 = {"copiedToClipboardMessage":"Chat-module_copiedToClipboardMessage__apCPY","Chat":"Chat-module_Chat__j2eE5","constrainedArticleVisual":"Chat-module_constrainedArticleVisual__0axxM","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","portal":"Chat-module_portal__uTOT8","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","actionsFaded":"Chat-module_actionsFaded__qqAVQ","actionsScrolling":"Chat-module_actionsScrolling__fIawW","chatButton":"Chat-module_chatButton__d9VgA","chatButtonText":"Chat-module_chatButtonText__RkGB-","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatChildren":"Chat-module_chatChildren__flOPK","chatMessages":"Chat-module_chatMessages__J2u2N","articleModeChatMessages":"Chat-module_articleModeChatMessages__ufofT","chatMessage":"Chat-module_chatMessage__nmLaZ","articleModeAgentMessage":"Chat-module_articleModeAgentMessage__Y79L7","messageStack":"Chat-module_messageStack__n0xNL","hasActionsAndFirstMessageIsLong":"Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isMe":"Chat-module_isMe__nBtaV","avatar":"Chat-module_avatar__gL6bm","articleModeAgentAvatar":"Chat-module_articleModeAgentAvatar__UCKDX","messageWithMap":"Chat-module_messageWithMap__X5dr0","messageMeta":"Chat-module_messageMeta__eqCRu","messageLifecycleBadge":"Chat-module_messageLifecycleBadge__4jDDc","messageTimestamp":"Chat-module_messageTimestamp__LDhRw","messageDuration":"Chat-module_messageDuration__Y9Kg9","messageLifecycleError":"Chat-module_messageLifecycleError__m-FO-","participantLabel":"Chat-module_participantLabel__0Oo-3","isNotCompleteMessage":"Chat-module_isNotCompleteMessage__Hj2K7","NonCompleteMessageFiller":"Chat-module_NonCompleteMessageFiller__G5-Ve","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","toolCallChips":"Chat-module_toolCallChips__UWgC1","sourceCitations":"Chat-module_sourceCitations__oDtBX","citationFootnotes":"Chat-module_citationFootnotes__LAWdh","citationFootnoteItem":"Chat-module_citationFootnoteItem__JXTAX","citationFootnoteNumber":"Chat-module_citationFootnoteNumber__CMmm9","toolCallChip":"Chat-module_toolCallChip__koN18","toolCallChipOngoing":"Chat-module_toolCallChipOngoing__wKcDY","toolCallChipStatus":"Chat-module_toolCallChipStatus__I-nl9","teamToolCall":"Chat-module_teamToolCall__5F45R","transitiveToolCall":"Chat-module_transitiveToolCall__WcaaK","teamAgentChip":"Chat-module_teamAgentChip__mvgtY","transitiveAgentChip":"Chat-module_transitiveAgentChip__zNOJf","toolCallLabel":"Chat-module_toolCallLabel__q7EFf","toolCallWithError":"Chat-module_toolCallWithError__AtQqO","toolCallOrigin":"Chat-module_toolCallOrigin__-Io6Y","toolCallDetails":"Chat-module_toolCallDetails__WUFlD","toolCallData":"Chat-module_toolCallData__UauCO","toolCallChipSpinner":"Chat-module_toolCallChipSpinner__ZGTwl","toolCallSpinner":"Chat-module_toolCallSpinner__LSiK6","typingIndicator":"Chat-module_typingIndicator__S-CT-","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","ratingStar":"Chat-module_ratingStar__rRfqC","active":"Chat-module_active__lbYL-","articleModeAgentMessageText":"Chat-module_articleModeAgentMessageText__vBlIP","copyButtonContainer":"Chat-module_copyButtonContainer__Rij0U","articleModeMessageActions":"Chat-module_articleModeMessageActions__h2qaG","articleModeMessageControls":"Chat-module_articleModeMessageControls__hncCw","messageControlGroup":"Chat-module_messageControlGroup__gAo4k","copyButton":"Chat-module_copyButton__DcxT5","playButton":"Chat-module_playButton__ZigYL","playButtonIcon":"Chat-module_playButtonIcon__wPErq","playButtonSpinner":"Chat-module_playButtonSpinner__Ad33i","messagePlaySpinner":"Chat-module_messagePlaySpinner__ldlvy","copiedTooltip":"Chat-module_copiedTooltip__LH81j","copiedTooltipFadeIn":"Chat-module_copiedTooltipFadeIn__QekO1","copiedTooltipLeft":"Chat-module_copiedTooltipLeft__j-S-5","copiedTooltipRight":"Chat-module_copiedTooltipRight__R-2cE","attachments":"Chat-module_attachments__m1Fts","attachment":"Chat-module_attachment__aE9hK","attachmentIcon":"Chat-module_attachmentIcon__BX3Cy","attachmentName":"Chat-module_attachmentName__aMx56","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","actionMessageButton":"Chat-module_actionMessageButton__avcbv","rating":"Chat-module_rating__soc3M","articleModeRating":"Chat-module_articleModeRating__dwZqm","feedbackIssueButton":"Chat-module_feedbackIssueButton__9NrrF","chatInput":"Chat-module_chatInput__1Ecan","articleModeChatInput":"Chat-module_articleModeChatInput__zBTV4","speechStatusBubble":"Chat-module_speechStatusBubble__qBBWI","dragOverlay":"Chat-module_dragOverlay__SEGoS","fullPageVisual":"Chat-module_fullPageVisual__zNAEy","dragOver":"Chat-module_dragOver__bkS-g","filePreviewContainer":"Chat-module_filePreviewContainer__R70hm","filePreview":"Chat-module_filePreview__kq2aX","fileIcon":"Chat-module_fileIcon__zoSKW","fileInfo":"Chat-module_fileInfo__wBLi0","fileName":"Chat-module_fileName__bBujo","fileSize":"Chat-module_fileSize__ivliq","removeFileButton":"Chat-module_removeFileButton__0gakR","inputContainer":"Chat-module_inputContainer__bPt99","attachmentButton":"Chat-module_attachmentButton__qLO47","voiceButton":"Chat-module_voiceButton__d2zlP","voiceButtonActive":"Chat-module_voiceButtonActive__Uoi3W","voiceRecordingPulse":"Chat-module_voiceRecordingPulse__y2wJ5","speechStatusBubbleIn":"Chat-module_speechStatusBubbleIn__PBm-c","speechStatusBubbleDot":"Chat-module_speechStatusBubbleDot__APu53","speechStatusBubbleDotPulse":"Chat-module_speechStatusBubbleDotPulse__Guqsu","speechStatusBubbleRecording":"Chat-module_speechStatusBubbleRecording__faJs2","speechStatusBubbleProcessing":"Chat-module_speechStatusBubbleProcessing__Crbuu","speechStatusBubbleError":"Chat-module_speechStatusBubbleError__Nd-Aj","dictationPanel":"Chat-module_dictationPanel__kzbyG","dictationPanelHeader":"Chat-module_dictationPanelHeader__rHXTh","dictationPanelTitle":"Chat-module_dictationPanelTitle__sO9XH","dictationPanelToggle":"Chat-module_dictationPanelToggle__z3HMx","dictationInterimTranscript":"Chat-module_dictationInterimTranscript__eAbMI","dictationErrorPanel":"Chat-module_dictationErrorPanel__mjbM7","dictationErrorActions":"Chat-module_dictationErrorActions__K3ykb","dictationCorrectionActions":"Chat-module_dictationCorrectionActions__ssE7i","dictationCorrectionPanel":"Chat-module_dictationCorrectionPanel__5nh9M","dictationCorrectionLabel":"Chat-module_dictationCorrectionLabel__U4uzT","dictationCorrectionTextarea":"Chat-module_dictationCorrectionTextarea__5ovj9","dictationSettingsPanel":"Chat-module_dictationSettingsPanel__0gI-V","dictationFallbackNote":"Chat-module_dictationFallbackNote__919pE","uploadProgress":"Chat-module_uploadProgress__jBTKe","uploadProgressBar":"Chat-module_uploadProgressBar__Gutnt","uploadProgressFill":"Chat-module_uploadProgressFill__EgubT","dragOverlayContent":"Chat-module_dragOverlayContent__gb9kF","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottomWrapper":"Chat-module_scrollToBottomWrapper__PCIu1","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollToBottomBadge":"Chat-module_scrollToBottomBadge__N6T6-","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingModalStar":"Chat-module_ratingModalStar__XkbHr","toolCallModal":"Chat-module_toolCallModal__uNaIK","toolCallHeader":"Chat-module_toolCallHeader__ZaTZF","toolCallIcon":"Chat-module_toolCallIcon__UgRKj","toolCallHeaderMeta":"Chat-module_toolCallHeaderMeta__iAL-U","toolCallModalLabel":"Chat-module_toolCallModalLabel__4dBP4","toolCallTitle":"Chat-module_toolCallTitle__jhL0A","toolCallSubtitle":"Chat-module_toolCallSubtitle__a2GIO","toolCallGrid":"Chat-module_toolCallGrid__Nfr7N","toolCallPanel":"Chat-module_toolCallPanel__kQZE9","toolCallPanelTitle":"Chat-module_toolCallPanelTitle__-7OtJ","toolCallList":"Chat-module_toolCallList__5co3s","toolCallItem":"Chat-module_toolCallItem__k7W5Z","toolCallItemLabel":"Chat-module_toolCallItemLabel__d3C1E","toolCallItemValue":"Chat-module_toolCallItemValue__cStQ0","toolCallSummary":"Chat-module_toolCallSummary__wGZwg","toolCallSummaryMeta":"Chat-module_toolCallSummaryMeta__RXiSv","toolCallSummaryMetaBadge":"Chat-module_toolCallSummaryMetaBadge__JBi-I","toolCallEmpty":"Chat-module_toolCallEmpty__bUz5v","toolCallPendingCard":"Chat-module_toolCallPendingCard__L3m7T","toolCallPendingHeader":"Chat-module_toolCallPendingHeader__U3htF","toolCallPendingTitle":"Chat-module_toolCallPendingTitle__4fwLL","toolCallPendingBadge":"Chat-module_toolCallPendingBadge__bgY3c","toolCallPendingMessage":"Chat-module_toolCallPendingMessage__grnao","toolCallPendingSkeleton":"Chat-module_toolCallPendingSkeleton__Td5Cu","toolCallPendingSkeletonLine":"Chat-module_toolCallPendingSkeletonLine__Vldel","toolCallPendingSkeletonPulse":"Chat-module_toolCallPendingSkeletonPulse__aKDNI","toolCallPendingSkeletonShort":"Chat-module_toolCallPendingSkeletonShort__FnR-X","toolCallDetailsCard":"Chat-module_toolCallDetailsCard__UJthw","toolCallDetailsCardRow":"Chat-module_toolCallDetailsCardRow__-VhfA","toolCallIssues":"Chat-module_toolCallIssues__evhYM","toolCallIssueBadge":"Chat-module_toolCallIssueBadge__Qbwdp","toolCallIssueError":"Chat-module_toolCallIssueError__LImeS","toolCallIssueWarning":"Chat-module_toolCallIssueWarning__chQDf","toolCallModeFooter":"Chat-module_toolCallModeFooter__XaRqI","toolCallModeButton":"Chat-module_toolCallModeButton__zlcca","toolCallClockPanel":"Chat-module_toolCallClockPanel__h4xZd","toolCallClockLabels":"Chat-module_toolCallClockLabels__KJGxe","toolCallClockPrimary":"Chat-module_toolCallClockPrimary__StLQ8","toolCallClockSecondary":"Chat-module_toolCallClockSecondary__O4WaT","toolCallClockMeta":"Chat-module_toolCallClockMeta__aObb7","timeoutToolSummary":"Chat-module_timeoutToolSummary__kPPvu","timeoutToolPrimarySentence":"Chat-module_timeoutToolPrimarySentence__pQfLn","timeoutToolSecondarySentence":"Chat-module_timeoutToolSecondarySentence__iH5Uc","timeoutToolActionRow":"Chat-module_timeoutToolActionRow__occir","timeoutToolActionButton":"Chat-module_timeoutToolActionButton__8yz0R","memoryModalHeader":"Chat-module_memoryModalHeader__SpZJT","memoryModalIcon":"Chat-module_memoryModalIcon__eYbli","memoryModalHeaderText":"Chat-module_memoryModalHeaderText__S6MZG","memoryModalTitle":"Chat-module_memoryModalTitle__zzbaQ","memoryModalSubtitle":"Chat-module_memoryModalSubtitle__PStci","memoryModalStatus":"Chat-module_memoryModalStatus__bmrfc","memoryStatusDot":"Chat-module_memoryStatusDot__c0oVs","memoryModalContent":"Chat-module_memoryModalContent__8E7oj","memoryMessage":"Chat-module_memoryMessage__q0pNK","memoryMetaRow":"Chat-module_memoryMetaRow__Hc-Xp","memoryMetaLabel":"Chat-module_memoryMetaLabel__LFx11","memoryMetaValue":"Chat-module_memoryMetaValue__4bILO","memoryStoreSection":"Chat-module_memoryStoreSection__qQJPN","memoryRetrieveSection":"Chat-module_memoryRetrieveSection__VbuS4","memoryCard":"Chat-module_memoryCard__-kIDN","memoryCardContent":"Chat-module_memoryCardContent__l9S4G","memoryCardMeta":"Chat-module_memoryCardMeta__K66KE","memoryScopeBadge":"Chat-module_memoryScopeBadge__T2ACc","memoryList":"Chat-module_memoryList__pUOg2","memoryEmptyState":"Chat-module_memoryEmptyState__fPrXA","memoryListFooter":"Chat-module_memoryListFooter__Y0Q2Z","memoryStatusSuccess":"Chat-module_memoryStatusSuccess__4bhfo","memoryStatusWarning":"Chat-module_memoryStatusWarning__AR6yh","memoryStatusError":"Chat-module_memoryStatusError__ZNAT6","memoryStatusNeutral":"Chat-module_memoryStatusNeutral__Fa-4M","searchModalHeader":"Chat-module_searchModalHeader__Y8V-w","selfLearningModalHeader":"Chat-module_selfLearningModalHeader__PDIt1","selfLearningAvatarGroup":"Chat-module_selfLearningAvatarGroup__jgy2k","selfLearningAvatar":"Chat-module_selfLearningAvatar__NHXKm","selfLearningAvatarInitial":"Chat-module_selfLearningAvatarInitial__cuw19","selfLearningTeacher":"Chat-module_selfLearningTeacher__fGhX8","selfLearningHeaderText":"Chat-module_selfLearningHeaderText__LTwHL","selfLearningTitle":"Chat-module_selfLearningTitle__G0SAk","selfLearningMetaRow":"Chat-module_selfLearningMetaRow__z4Tg0","selfLearningMeta":"Chat-module_selfLearningMeta__58Pet","selfLearningMetaChip":"Chat-module_selfLearningMetaChip__0go88","selfLearningCommitments":"Chat-module_selfLearningCommitments__7ECnr","selfLearningCommitmentsLabel":"Chat-module_selfLearningCommitmentsLabel__OkDO1","selfLearningBookEditor":"Chat-module_selfLearningBookEditor__CZy5T","selfLearningEmpty":"Chat-module_selfLearningEmpty__vCKHL","modalCloseButton":"Chat-module_modalCloseButton__AAfWS","teamModalHeader":"Chat-module_teamModalHeader__SB5NL","teamHeaderParticipants":"Chat-module_teamHeaderParticipants__KS7aV","teamHeaderProfile":"Chat-module_teamHeaderProfile__xRlcS","teamHeaderProfileLink":"Chat-module_teamHeaderProfileLink__fYTfT","teamHeaderAvatar":"Chat-module_teamHeaderAvatar__vXcTp","teamHeaderName":"Chat-module_teamHeaderName__ygJR9","teamHeaderDivider":"Chat-module_teamHeaderDivider__cnRMd","searchModalIcon":"Chat-module_searchModalIcon__AR5KY","searchModalQuery":"Chat-module_searchModalQuery__5x-Ra","searchModalContent":"Chat-module_searchModalContent__mWLIE","teamChatContainer":"Chat-module_teamChatContainer__xdLtU","teamToolCallSection":"Chat-module_teamToolCallSection__FH9l7","teamToolCallGroup":"Chat-module_teamToolCallGroup__PO6rl","teamToolCallHeading":"Chat-module_teamToolCallHeading__G-JSj","teamToolCallChips":"Chat-module_teamToolCallChips__hRWqh","teamToolCallDetails":"Chat-module_teamToolCallDetails__ZaTtt","teamToolCallDetailsHeader":"Chat-module_teamToolCallDetailsHeader__FPIgI","teamToolCallDetailsTitle":"Chat-module_teamToolCallDetailsTitle__50SeL","teamToolCallDetailsClear":"Chat-module_teamToolCallDetailsClear__8yvu7","searchResultsList":"Chat-module_searchResultsList__xVDUZ","searchResultsRaw":"Chat-module_searchResultsRaw__i3GkD","searchResultItem":"Chat-module_searchResultItem__bTzq5","searchResultUrl":"Chat-module_searchResultUrl__SbrH4","searchResultTitle":"Chat-module_searchResultTitle__XS7zN","searchResultSnippet":"Chat-module_searchResultSnippet__Wsun2","noResults":"Chat-module_noResults__AAv6s","citationDetails":"Chat-module_citationDetails__2v2e1","citationPreview":"Chat-module_citationPreview__rGhCR","citationIframe":"Chat-module_citationIframe__ngzFY","citationMetadata":"Chat-module_citationMetadata__DPaCF","citationExcerpt":"Chat-module_citationExcerpt__VU4BS","citationHint":"Chat-module_citationHint__5AkLx","toolCallDataContainer":"Chat-module_toolCallDataContainer__rdEzC","toolCallPayloadContainer":"Chat-module_toolCallPayloadContainer__v2yVn","toolCallPayloadEditor":"Chat-module_toolCallPayloadEditor__Hklyf","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","downloadButton":"Chat-module_downloadButton__8--bk","saveButtonContainer":"Chat-module_saveButtonContainer__lSNUJ","saveMenu":"Chat-module_saveMenu__-ph8y","saveMenuItem":"Chat-module_saveMenuItem__ISApL","saveMenuDivider":"Chat-module_saveMenuDivider__3ktTM","chatFeedbackPanel":"Chat-module_chatFeedbackPanel__gfOzk","chatFeedbackToggle":"Chat-module_chatFeedbackToggle__IeOM6","chatFeedbackIcon":"Chat-module_chatFeedbackIcon__XcB7A","chatFeedbackMeta":"Chat-module_chatFeedbackMeta__6t2be","chatFeedbackLabel":"Chat-module_chatFeedbackLabel__qQgH3","chatFeedbackDescription":"Chat-module_chatFeedbackDescription__I9bNg","chatFeedbackIndicator":"Chat-module_chatFeedbackIndicator__uHCr7","chatFeedbackIndicatorActive":"Chat-module_chatFeedbackIndicatorActive__bkw-w","chatFeedbackIndicatorInactive":"Chat-module_chatFeedbackIndicatorInactive__qMBkh","pauseButton":"Chat-module_pauseButton__eeu7K","pausing":"Chat-module_pausing__pTx8b","paused":"Chat-module_paused__j-pya","stopButton":"Chat-module_stopButton__dkPOW","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","feedbackStatus":"Chat-module_feedbackStatus__-df7l","feedbackStatusSlideIn":"Chat-module_feedbackStatusSlideIn__n6bbB","feedbackStatusSuccess":"Chat-module_feedbackStatusSuccess__Ax2q0","feedbackStatusError":"Chat-module_feedbackStatusError__dnv6d","emailContainer":"Chat-module_emailContainer__TBxXZ","emailModalHeader":"Chat-module_emailModalHeader__Z4-CJ","emailHeaderText":"Chat-module_emailHeaderText__1dR6R","emailHeaderLabel":"Chat-module_emailHeaderLabel__7iAEH","emailMetadata":"Chat-module_emailMetadata__8XXGf","emailField":"Chat-module_emailField__pcb03","emailRecipients":"Chat-module_emailRecipients__YVVys","emailBody":"Chat-module_emailBody__OBt-w","emailBodyContent":"Chat-module_emailBodyContent__-vFo2","browserRunModalHeader":"Chat-module_browserRunModalHeader__0AyeK","browserRunHeaderText":"Chat-module_browserRunHeaderText__JUbNv","browserRunHeaderStatus":"Chat-module_browserRunHeaderStatus__uu3Fi","browserRunHeaderLabel":"Chat-module_browserRunHeaderLabel__uKYCb","browserRunMeta":"Chat-module_browserRunMeta__lJkQc","browserRunWarning":"Chat-module_browserRunWarning__ojdEP","browserRunError":"Chat-module_browserRunError__aELQo","browserRunErrorSummary":"Chat-module_browserRunErrorSummary__ygz-g","browserRunErrorSteps":"Chat-module_browserRunErrorSteps__S96nl","browserRunDebugDetails":"Chat-module_browserRunDebugDetails__SZ3VT","browserRunFallbackContent":"Chat-module_browserRunFallbackContent__NYCkp","browserRunStatusBanner":"Chat-module_browserRunStatusBanner__ljIE9","browserRunMediaGrid":"Chat-module_browserRunMediaGrid__KDz3I","browserRunMediaCard":"Chat-module_browserRunMediaCard__focNP","browserRunMediaCardHeader":"Chat-module_browserRunMediaCardHeader__sOfLw","browserRunMediaTitle":"Chat-module_browserRunMediaTitle__a6Ctw","browserRunMediaCaption":"Chat-module_browserRunMediaCaption__LG8E6","browserRunMediaImage":"Chat-module_browserRunMediaImage__UI4pd","browserRunMediaVideo":"Chat-module_browserRunMediaVideo__z2RgF","browserRunActionLog":"Chat-module_browserRunActionLog__YZ0CQ","browserRunActionLogTitle":"Chat-module_browserRunActionLogTitle__XaEIW","browserRunActionList":"Chat-module_browserRunActionList__SOgfd","browserRunActionItem":"Chat-module_browserRunActionItem__1q668","browserRunActionPending":"Chat-module_browserRunActionPending__unJJt","browserRunActionRunning":"Chat-module_browserRunActionRunning__NdlRL","browserRunActionComplete":"Chat-module_browserRunActionComplete__PU36H","browserRunActionError":"Chat-module_browserRunActionError__y-cm0","browserRunActionState":"Chat-module_browserRunActionState__pkfKg","browserRunActionStateRunning":"Chat-module_browserRunActionStateRunning__L1IbZ","browserRunActionStateComplete":"Chat-module_browserRunActionStateComplete__CpVEc","browserRunActionStateError":"Chat-module_browserRunActionStateError__lU-t4","browserRunActionMeta":"Chat-module_browserRunActionMeta__df32n","emailStatus":"Chat-module_emailStatus__T4UuL","imagePrompt":"Chat-module_imagePrompt__v7-Ho","imagePromptPreview":"Chat-module_imagePromptPreview__ve5dB","imagePromptImage":"Chat-module_imagePromptImage__KjE3H","imagePromptPlaceholder":"Chat-module_imagePromptPlaceholder__b8cW6","imagePromptSpinner":"Chat-module_imagePromptSpinner__nat8r","imagePromptMeta":"Chat-module_imagePromptMeta__YwltP","imagePromptPrompt":"Chat-module_imagePromptPrompt__N1E--","imagePromptStatus":"Chat-module_imagePromptStatus__0ROQF","imagePromptError":"Chat-module_imagePromptError__x1952","richFeaturePlaceholder":"Chat-module_richFeaturePlaceholder__mXS7-","richFeaturePlaceholderSpinner":"Chat-module_richFeaturePlaceholderSpinner__ingFq","richFeatureSpinner":"Chat-module_richFeatureSpinner__eOql6","richFeaturePlaceholderCopy":"Chat-module_richFeaturePlaceholderCopy__sEgxN","richFeaturePlaceholderTitle":"Chat-module_richFeaturePlaceholderTitle__lF7rJ","richFeaturePlaceholderStatus":"Chat-module_richFeaturePlaceholderStatus__UJg09","progressPanel":"Chat-module_progressPanel__9M8h9","progressPanelTitle":"Chat-module_progressPanelTitle__rBdoY","progressPanelSection":"Chat-module_progressPanelSection__F3xUF","progressPanelSectionLabel":"Chat-module_progressPanelSectionLabel__aTPgr","progressPanelSectionBody":"Chat-module_progressPanelSectionBody__Z7zX0","progressPanelList":"Chat-module_progressPanelList__PHFeP","progressPanelListItem":"Chat-module_progressPanelListItem__7v9jN","progressPanelListBullet":"Chat-module_progressPanelListBullet__Tzvi7","progressPanelItemSpinner":"Chat-module_progressPanelItemSpinner__oJ6Az","progressPanelSpinner":"Chat-module_progressPanelSpinner__pzxP2","progressPanelItemCompleted":"Chat-module_progressPanelItemCompleted__7bJhG","progressPanelItemText":"Chat-module_progressPanelItemText__tZPIs"};
23007
23219
  styleInject(css_248z$5);
23008
23220
 
23009
23221
  /**
@@ -23013,7 +23225,7 @@ styleInject(css_248z$5);
23013
23225
  */
23014
23226
  function ChatActionsBar(props) {
23015
23227
  var _a;
23016
- const { actionsRef, actionsContainer, messages, participants, title, onReset, resetRequiresConfirmation = true, onUseTemplate, extraActions, saveFormats, isSaveButtonEnabled, shouldFadeActions, shouldDisableActions, onButtonClick, } = props;
23228
+ const { actionsRef, actionsContainer, messages, participants, title, onReset, resetRequiresConfirmation = true, onUseTemplate, extraActions, saveFormats, isSaveButtonEnabled, shouldFadeActions, shouldDisableActions, chatUiTranslations, onButtonClick, } = props;
23017
23229
  const [showSaveMenu, setShowSaveMenu] = useState(false);
23018
23230
  useEffect(() => {
23019
23231
  const handleKeyDown = (event) => {
@@ -23059,7 +23271,7 @@ function ChatActionsBar(props) {
23059
23271
  return;
23060
23272
  }
23061
23273
  void onReset();
23062
- }), children: [jsx(ResetIcon, {}), jsx("span", { className: styles$5.chatButtonText, children: "New chat" })] })), isSaveButtonEnabled && messages.length !== 0 && (jsxs("div", { className: styles$5.saveButtonContainer, children: [jsxs("button", { className: classNames(styles$5.chatButton), onClick: onButtonClick(() => setShowSaveMenu((v) => !v)), "aria-haspopup": "true", "aria-expanded": showSaveMenu, children: [jsx(SaveIcon, { size: 18 }), jsx("span", { className: styles$5.chatButtonText, children: "Save" })] }), showSaveMenu && (jsx("div", { className: styles$5.saveMenu, children: getChatSaveFormatDefinitions(saveFormats).map((formatDefinition) => (jsx("button", { className: styles$5.saveMenuItem, onClick: () => handleDownload(formatDefinition.formatName), children: formatDefinition.label }, formatDefinition.formatName))) }))] })), onUseTemplate && (jsxs("button", { className: classNames(styles$5.useTemplateButton), onClick: onButtonClick(onUseTemplate), children: [jsx("span", { className: styles$5.chatButtonText, children: "Use this template" }), jsx(TemplateIcon, { size: 16 })] })), extraActions] }));
23274
+ }), children: [jsx(ResetIcon, {}), jsx("span", { className: styles$5.chatButtonText, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.newChatButtonLabel) || 'New chat' })] })), isSaveButtonEnabled && messages.length !== 0 && (jsxs("div", { className: styles$5.saveButtonContainer, children: [jsxs("button", { className: classNames(styles$5.chatButton), onClick: onButtonClick(() => setShowSaveMenu((v) => !v)), "aria-haspopup": "true", "aria-expanded": showSaveMenu, children: [jsx(SaveIcon, { size: 18 }), jsx("span", { className: styles$5.chatButtonText, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.saveButtonLabel) || 'Save' })] }), showSaveMenu && (jsx("div", { className: styles$5.saveMenu, children: getChatSaveFormatDefinitions(saveFormats).map((formatDefinition) => (jsx("button", { className: styles$5.saveMenuItem, onClick: () => handleDownload(formatDefinition.formatName), children: formatDefinition.label }, formatDefinition.formatName))) }))] })), onUseTemplate && (jsxs("button", { className: classNames(styles$5.useTemplateButton), onClick: onButtonClick(onUseTemplate), children: [jsx("span", { className: styles$5.chatButtonText, children: "Use this template" }), jsx(TemplateIcon, { size: 16 })] })), extraActions] }));
23063
23275
  if (actionsContainer) {
23064
23276
  return createPortal(actionsContent, actionsContainer);
23065
23277
  }
@@ -24436,13 +24648,19 @@ function ChatInputArea(props) {
24436
24648
  if (soundSystem) {
24437
24649
  /* not await */ soundSystem.play('message_send');
24438
24650
  }
24439
- await onMessage(messageContent, attachments);
24651
+ // Capture content before optimistically clearing the textarea
24652
+ const contentToSend = messageContent;
24653
+ const attachmentsToSend = attachments;
24654
+ // Optimistically clear the textarea immediately on send,
24655
+ // without waiting for the server to confirm receipt.
24656
+ // On server failure the error state is shown in the chat — the text is not restored.
24440
24657
  setMessageContent('');
24441
24658
  setUploadedFiles([]);
24442
24659
  onChange === null || onChange === void 0 ? void 0 : onChange('');
24443
24660
  if (wasTextareaFocused) {
24444
24661
  textareaElement.focus();
24445
24662
  }
24663
+ await onMessage(contentToSend, attachmentsToSend);
24446
24664
  }
24447
24665
  catch (error) {
24448
24666
  if (!(error instanceof Error)) {
@@ -28908,7 +29126,7 @@ function getSafeReferenceCommitmentFallback(commitmentType, originalContent) {
28908
29126
  * @private @@@
28909
29127
  */
28910
29128
  async function createAgentModelRequirementsWithCommitments(agentSource, modelName, options) {
28911
- var _a;
29129
+ var _a, _b, _c;
28912
29130
  const agentReferenceResolver = options === null || options === void 0 ? void 0 : options.agentReferenceResolver;
28913
29131
  // Parse the agent source to extract commitments
28914
29132
  const parseResult = parseAgentSourceWithCommitments(agentSource);
@@ -28976,6 +29194,36 @@ async function createAgentModelRequirementsWithCommitments(agentSource, modelNam
28976
29194
  if (commitment.type === 'CLOSED' && i !== filteredCommitments.length - 1) {
28977
29195
  continue;
28978
29196
  }
29197
+ // For TEAM commitments, pre-resolve teammate profiles if a resolver is provided
29198
+ // and store them in metadata before the commitment is applied.
29199
+ const profileResolver = (_a = options === null || options === void 0 ? void 0 : options.teammateProfileResolver) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.agentReferenceResolver;
29200
+ if (commitment.type === 'TEAM' && (profileResolver === null || profileResolver === void 0 ? void 0 : profileResolver.resolveTeammateProfile)) {
29201
+ try {
29202
+ const parsedTeammates = parseTeamCommitmentContent(commitmentContent, { strict: false });
29203
+ const preResolved = {
29204
+ ...(_b = requirements._metadata) === null || _b === void 0 ? void 0 : _b.preResolvedTeammateProfiles,
29205
+ };
29206
+ for (const teammate of parsedTeammates) {
29207
+ if (preResolved[teammate.url]) {
29208
+ continue;
29209
+ }
29210
+ const profile = await profileResolver.resolveTeammateProfile(teammate.url);
29211
+ if (profile) {
29212
+ preResolved[teammate.url] = profile;
29213
+ }
29214
+ }
29215
+ requirements = {
29216
+ ...requirements,
29217
+ _metadata: {
29218
+ ...requirements._metadata,
29219
+ preResolvedTeammateProfiles: preResolved,
29220
+ },
29221
+ };
29222
+ }
29223
+ catch (error) {
29224
+ console.warn('Failed to pre-resolve teammate profiles for TEAM commitment:', error);
29225
+ }
29226
+ }
28979
29227
  const definition = getCommitmentDefinition(commitment.type);
28980
29228
  if (definition) {
28981
29229
  try {
@@ -29071,7 +29319,7 @@ async function createAgentModelRequirementsWithCommitments(agentSource, modelNam
29071
29319
  // Add example interactions to the system message
29072
29320
  const examples = [];
29073
29321
  // 1. Initial message as an example agent response
29074
- const initialMessage = (_a = parseResult.commitments.find((c) => c.type === 'INITIAL MESSAGE')) === null || _a === void 0 ? void 0 : _a.content;
29322
+ const initialMessage = (_c = parseResult.commitments.find((c) => c.type === 'INITIAL MESSAGE')) === null || _c === void 0 ? void 0 : _c.content;
29075
29323
  if (initialMessage) {
29076
29324
  examples.push(`Agent: ${initialMessage}`);
29077
29325
  }
@@ -35799,13 +36047,23 @@ function decodeChatStreamWhitespaceFromTransport(content) {
35799
36047
  */
35800
36048
  function mergeToolCalls(existingToolCalls, incomingToolCalls) {
35801
36049
  if (!existingToolCalls || existingToolCalls.length === 0) {
35802
- return incomingToolCalls ? [...incomingToolCalls] : [];
36050
+ return incomingToolCalls ? deduplicatePreparationToolCalls([...incomingToolCalls]) : [];
35803
36051
  }
35804
36052
  if (!incomingToolCalls || incomingToolCalls.length === 0) {
35805
36053
  return [...existingToolCalls];
35806
36054
  }
35807
36055
  const mergedToolCalls = [...existingToolCalls];
35808
36056
  for (const incomingToolCall of incomingToolCalls) {
36057
+ if (isAssistantPreparationToolCall(incomingToolCall)) {
36058
+ // A new preparation phase always replaces any previous assistant_preparation tool
36059
+ // call, regardless of phase argument, so only one chip is ever shown at a time.
36060
+ const existingPreparationIndex = mergedToolCalls.findIndex(isAssistantPreparationToolCall);
36061
+ if (existingPreparationIndex !== -1) {
36062
+ mergedToolCalls.splice(existingPreparationIndex, 1);
36063
+ }
36064
+ mergedToolCalls.push(incomingToolCall);
36065
+ continue;
36066
+ }
35809
36067
  const incomingIdentity = getToolCallIdentity(incomingToolCall);
35810
36068
  const existingIndex = mergedToolCalls.findIndex((existingToolCall) => getToolCallIdentity(existingToolCall) === incomingIdentity);
35811
36069
  if (existingIndex === -1) {
@@ -35917,6 +36175,30 @@ function serializeValueForMerge(value) {
35917
36175
  return String(value);
35918
36176
  }
35919
36177
  }
36178
+ /**
36179
+ * Ensures at most one `assistant_preparation` tool call survives in the list,
36180
+ * keeping the last occurrence so the most recent preparation phase is shown.
36181
+ *
36182
+ * @param toolCalls - Mutable list to deduplicate in-place.
36183
+ * @returns The same array after removing redundant preparation entries.
36184
+ * @private helper of `mergeToolCalls`
36185
+ */
36186
+ function deduplicatePreparationToolCalls(toolCalls) {
36187
+ let lastPreparationIndex = -1;
36188
+ for (let index = toolCalls.length - 1; index >= 0; index--) {
36189
+ if (!isAssistantPreparationToolCall(toolCalls[index])) {
36190
+ continue;
36191
+ }
36192
+ if (lastPreparationIndex === -1) {
36193
+ lastPreparationIndex = index;
36194
+ }
36195
+ else {
36196
+ // Remove earlier duplicate — keep only the last (most recent) one.
36197
+ toolCalls.splice(index, 1);
36198
+ }
36199
+ }
36200
+ return toolCalls;
36201
+ }
35920
36202
 
35921
36203
  /**
35922
36204
  * Parses one failed remote agent response into a structured error.
@@ -38143,6 +38425,111 @@ function buildCitationKey(citation, origin) {
38143
38425
  return `${origin.label}:${citation.id}:${citation.source}`;
38144
38426
  }
38145
38427
 
38428
+ /**
38429
+ * Seconds in one minute.
38430
+ *
38431
+ * @private utility of `<Chat/>`
38432
+ */
38433
+ const SECONDS_IN_MINUTE = 60;
38434
+ /**
38435
+ * Minutes in one hour.
38436
+ *
38437
+ * @private utility of `<Chat/>`
38438
+ */
38439
+ const MINUTES_IN_HOUR = 60;
38440
+ /**
38441
+ * Hours in one day.
38442
+ *
38443
+ * @private utility of `<Chat/>`
38444
+ */
38445
+ const HOURS_IN_DAY$1 = 24;
38446
+ /**
38447
+ * Formats one tool-call timestamp into shared locale-aware labels.
38448
+ *
38449
+ * @param date - Timestamp to format.
38450
+ * @param options - Optional locale and relative-time reference point.
38451
+ * @returns Shared labels consumed by tool-call chips and modals.
38452
+ *
38453
+ * @private utility of `<Chat/>`
38454
+ */
38455
+ function formatToolCallDateTime(date, options = {}) {
38456
+ const normalizedLocale = normalizeToolCallLocale(options.locale);
38457
+ const currentDate = options.currentDate || null;
38458
+ return {
38459
+ localTimeLabel: new Intl.DateTimeFormat(normalizedLocale, {
38460
+ hour: 'numeric',
38461
+ minute: '2-digit',
38462
+ }).format(date),
38463
+ localDateLabel: new Intl.DateTimeFormat(normalizedLocale, {
38464
+ dateStyle: 'medium',
38465
+ }).format(date),
38466
+ localDateTimeLabel: new Intl.DateTimeFormat(normalizedLocale, {
38467
+ dateStyle: 'medium',
38468
+ timeStyle: 'medium',
38469
+ }).format(date),
38470
+ relativeTimeLabel: currentDate ? formatRelativeToolCallTime(date, currentDate, normalizedLocale) : null,
38471
+ };
38472
+ }
38473
+ /**
38474
+ * Normalizes optional locale input before it is passed into `Intl`.
38475
+ *
38476
+ * @param locale - Potential BCP-47 locale string.
38477
+ * @returns Sanitized locale or `undefined` for runtime defaults.
38478
+ *
38479
+ * @private utility of `<Chat/>`
38480
+ */
38481
+ function normalizeToolCallLocale(locale) {
38482
+ if (typeof locale !== 'string') {
38483
+ return undefined;
38484
+ }
38485
+ const normalizedLocale = locale.trim();
38486
+ return normalizedLocale || undefined;
38487
+ }
38488
+ /**
38489
+ * Builds one localized relative-time label for tool-call timestamps.
38490
+ *
38491
+ * @param date - Target timestamp.
38492
+ * @param currentDate - Reference timestamp used for comparison.
38493
+ * @param locale - Sanitized locale passed to `Intl.RelativeTimeFormat`.
38494
+ * @returns Relative label or `null` when both timestamps are equal.
38495
+ *
38496
+ * @private utility of `<Chat/>`
38497
+ */
38498
+ function formatRelativeToolCallTime(date, currentDate, locale) {
38499
+ const millisecondsDifference = date.getTime() - currentDate.getTime();
38500
+ if (!Number.isFinite(millisecondsDifference) || millisecondsDifference === 0) {
38501
+ return null;
38502
+ }
38503
+ const secondsDifference = Math.round(millisecondsDifference / 1000);
38504
+ const absoluteSecondsDifference = Math.abs(secondsDifference);
38505
+ const formatter = new Intl.RelativeTimeFormat(locale, {
38506
+ numeric: 'auto',
38507
+ });
38508
+ if (absoluteSecondsDifference < SECONDS_IN_MINUTE) {
38509
+ return formatter.format(secondsDifference, 'second');
38510
+ }
38511
+ if (absoluteSecondsDifference < SECONDS_IN_MINUTE * MINUTES_IN_HOUR) {
38512
+ return formatter.format(Math.round(secondsDifference / SECONDS_IN_MINUTE), 'minute');
38513
+ }
38514
+ if (absoluteSecondsDifference < HOURS_IN_DAY$1 * MINUTES_IN_HOUR * SECONDS_IN_MINUTE) {
38515
+ return formatter.format(Math.round(secondsDifference / (SECONDS_IN_MINUTE * MINUTES_IN_HOUR)), 'hour');
38516
+ }
38517
+ return formatter.format(Math.round(secondsDifference / (HOURS_IN_DAY$1 * MINUTES_IN_HOUR * SECONDS_IN_MINUTE)), 'day');
38518
+ }
38519
+
38520
+ /**
38521
+ * Applies `{placeholder}` values to one tool-call translation template.
38522
+ *
38523
+ * @param template - Template from the host application or fallback copy.
38524
+ * @param variables - Placeholder values keyed by variable name.
38525
+ * @returns Formatted string ready for rendering.
38526
+ *
38527
+ * @private utility of `<Chat/>`
38528
+ */
38529
+ function formatToolCallTranslationTemplate(template, variables) {
38530
+ return Object.entries(variables).reduce((formatted, [key, value]) => formatted.replace(new RegExp(`\\{${key}\\}`, 'g'), String(value)), template);
38531
+ }
38532
+
38146
38533
  /**
38147
38534
  * Tool names handled by timeout-specific chat presentation.
38148
38535
  *
@@ -38185,14 +38572,6 @@ const DAY_IN_SECONDS = HOURS_IN_DAY * HOUR_IN_SECONDS;
38185
38572
  * @private internal timeout-chat constant
38186
38573
  */
38187
38574
  const SECONDS_VISIBILITY_THRESHOLD_SECONDS = 3 * MINUTE_IN_SECONDS;
38188
- /**
38189
- * Shared relative-time formatter for timeout labels.
38190
- *
38191
- * @private internal timeout-chat singleton
38192
- */
38193
- const timeoutRelativeTimeFormatter = new Intl.RelativeTimeFormat(undefined, {
38194
- numeric: 'auto',
38195
- });
38196
38575
  /**
38197
38576
  * Determines whether a tool name belongs to the timeout commitment.
38198
38577
  *
@@ -38208,7 +38587,7 @@ function isTimeoutToolCallName(toolName) {
38208
38587
  */
38209
38588
  function resolveTimeoutToolCallPresentation(options) {
38210
38589
  var _a, _b, _c, _d, _e, _f, _g, _h;
38211
- const { toolCallName, args, resultRaw } = options;
38590
+ const { toolCallName, args, resultRaw, locale } = options;
38212
38591
  if (!isTimeoutToolCallName(toolCallName)) {
38213
38592
  return null;
38214
38593
  }
@@ -38226,6 +38605,9 @@ function resolveTimeoutToolCallPresentation(options) {
38226
38605
  const dueAtRaw = (_h = (_g = normalizeStringValue(resultObject === null || resultObject === void 0 ? void 0 : resultObject.dueAt)) !== null && _g !== void 0 ? _g : normalizeStringValue(args.dueAt)) !== null && _h !== void 0 ? _h : null;
38227
38606
  const dueAtDate = dueAtRaw ? parseDateValue(dueAtRaw) : null;
38228
38607
  const effectiveCurrentDate = options.currentDate || new Date();
38608
+ const dueAtLabels = dueAtDate
38609
+ ? formatToolCallDateTime(dueAtDate, { locale, currentDate: effectiveCurrentDate })
38610
+ : null;
38229
38611
  return {
38230
38612
  action,
38231
38613
  status,
@@ -38237,14 +38619,9 @@ function resolveTimeoutToolCallPresentation(options) {
38237
38619
  localTimezone: resolveLocalTimezone(),
38238
38620
  compactDurationLabel: milliseconds !== null ? formatTimeoutDurationCompact(milliseconds) : null,
38239
38621
  humanDurationLabel: milliseconds !== null ? formatTimeoutDurationHuman(milliseconds) : null,
38240
- relativeDueLabel: dueAtDate ? formatTimeoutRelativeDueLabel(dueAtDate, effectiveCurrentDate) : null,
38241
- localDueTimeLabel: dueAtDate
38242
- ? dueAtDate.toLocaleTimeString([], {
38243
- hour: '2-digit',
38244
- minute: '2-digit',
38245
- })
38246
- : null,
38247
- localDueDateLabel: dueAtDate ? dueAtDate.toLocaleDateString() : null,
38622
+ relativeDueLabel: (dueAtLabels === null || dueAtLabels === void 0 ? void 0 : dueAtLabels.relativeTimeLabel) || null,
38623
+ localDueTimeLabel: (dueAtLabels === null || dueAtLabels === void 0 ? void 0 : dueAtLabels.localTimeLabel) || null,
38624
+ localDueDateLabel: (dueAtLabels === null || dueAtLabels === void 0 ? void 0 : dueAtLabels.localDateLabel) || null,
38248
38625
  };
38249
38626
  }
38250
38627
  /**
@@ -38252,58 +38629,68 @@ function resolveTimeoutToolCallPresentation(options) {
38252
38629
  *
38253
38630
  * @private internal utility of `<Chat/>`
38254
38631
  */
38255
- function buildTimeoutToolCallChipLabel(presentation) {
38632
+ function buildTimeoutToolCallChipLabel(presentation, translations) {
38256
38633
  if (presentation.action === 'cancel') {
38257
38634
  if (presentation.status === 'cancelled') {
38258
- return 'Timeout cancelled';
38635
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutChipCancelledLabel) || 'Timeout cancelled';
38259
38636
  }
38260
38637
  if (presentation.status === 'not_found') {
38261
- return 'Timeout inactive';
38638
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutChipInactiveLabel) || 'Timeout inactive';
38262
38639
  }
38263
- return 'Timeout update';
38640
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutChipUpdatedLabel) || 'Timeout update';
38264
38641
  }
38265
- if (presentation.compactDurationLabel) {
38266
- return `Timeout: ${presentation.compactDurationLabel}`;
38642
+ if (presentation.localDueTimeLabel) {
38643
+ return formatToolCallTranslationTemplate((translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutChipLabel) || 'Timeout: {time}', {
38644
+ time: presentation.localDueTimeLabel,
38645
+ });
38267
38646
  }
38268
38647
  if (presentation.relativeDueLabel) {
38269
38648
  return `Scheduled: ${presentation.relativeDueLabel}`;
38270
38649
  }
38271
- return 'Timeout scheduled';
38650
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutChipFallbackLabel) || 'Timeout scheduled';
38272
38651
  }
38273
38652
  /**
38274
38653
  * Builds the primary timeout sentence shown in default modal view.
38275
38654
  *
38276
38655
  * @private internal utility of `<Chat/>`
38277
38656
  */
38278
- function buildTimeoutToolPrimarySentence(presentation) {
38657
+ function buildTimeoutToolPrimarySentence(presentation, translations) {
38279
38658
  if (presentation.action === 'cancel') {
38280
38659
  if (presentation.status === 'cancelled') {
38281
- return 'The timeout has been cancelled.';
38660
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutPrimaryCancelledLabel) || 'The timeout has been cancelled.';
38282
38661
  }
38283
38662
  if (presentation.status === 'not_found') {
38284
- return 'This timeout was already inactive.';
38663
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutPrimaryInactiveLabel) || 'This timeout was already inactive.';
38285
38664
  }
38286
- return 'The timeout status has been updated.';
38665
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutPrimaryUpdatedLabel) || 'The timeout status has been updated.';
38666
+ }
38667
+ if (presentation.localDueTimeLabel) {
38668
+ return formatToolCallTranslationTemplate((translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutPrimaryScheduledLabel) || 'Scheduled for {time}.', {
38669
+ time: presentation.localDueTimeLabel,
38670
+ });
38287
38671
  }
38288
38672
  if (presentation.humanDurationLabel) {
38289
- return `Will retry in ${presentation.humanDurationLabel}.`;
38673
+ return formatToolCallTranslationTemplate((translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutSecondaryDurationLabel) || 'Will retry in {duration}.', {
38674
+ duration: presentation.humanDurationLabel,
38675
+ });
38290
38676
  }
38291
38677
  if (presentation.relativeDueLabel) {
38292
38678
  return `Scheduled ${presentation.relativeDueLabel}.`;
38293
38679
  }
38294
- return 'The timeout has been scheduled.';
38680
+ return (translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutPrimaryFallbackLabel) || 'The timeout has been scheduled.';
38295
38681
  }
38296
38682
  /**
38297
38683
  * Builds one default-view scheduling sentence with local-time and relative context.
38298
38684
  *
38299
38685
  * @private internal utility of `<Chat/>`
38300
38686
  */
38301
- function buildTimeoutToolScheduleSentence(presentation) {
38302
- if (!presentation.localDueTimeLabel) {
38687
+ function buildTimeoutToolScheduleSentence(presentation, translations) {
38688
+ if (presentation.action === 'cancel' || !presentation.humanDurationLabel) {
38303
38689
  return null;
38304
38690
  }
38305
- const relativeSuffix = presentation.relativeDueLabel ? ` (${presentation.relativeDueLabel})` : '';
38306
- return `Scheduled for ${presentation.localDueTimeLabel} local time${relativeSuffix}.`;
38691
+ return formatToolCallTranslationTemplate((translations === null || translations === void 0 ? void 0 : translations.toolCallTimeoutSecondaryDurationLabel) || 'Will retry in {duration}.', {
38692
+ duration: presentation.humanDurationLabel,
38693
+ });
38307
38694
  }
38308
38695
  /**
38309
38696
  * Converts timeout duration into compact chip-safe text.
@@ -38363,29 +38750,6 @@ function formatTimeoutDurationHuman(milliseconds) {
38363
38750
  }
38364
38751
  return `${formatTimeoutUnit(days, 'day')} ${formatTimeoutUnit(hours, 'hour')}`;
38365
38752
  }
38366
- /**
38367
- * Formats timeout date into relative text (`in 5 minutes`, `2 hours ago`).
38368
- *
38369
- * @private internal timeout-chat helper
38370
- */
38371
- function formatTimeoutRelativeDueLabel(dueAtDate, currentDate) {
38372
- const millisecondsDifference = dueAtDate.getTime() - currentDate.getTime();
38373
- const secondsDifference = Math.round(millisecondsDifference / SECOND_IN_MILLISECONDS);
38374
- const absoluteSecondsDifference = Math.abs(secondsDifference);
38375
- if (absoluteSecondsDifference < MINUTE_IN_SECONDS) {
38376
- return timeoutRelativeTimeFormatter.format(secondsDifference, 'second');
38377
- }
38378
- if (absoluteSecondsDifference < HOUR_IN_SECONDS) {
38379
- const minutesDifference = Math.round(secondsDifference / MINUTE_IN_SECONDS);
38380
- return timeoutRelativeTimeFormatter.format(minutesDifference, 'minute');
38381
- }
38382
- if (absoluteSecondsDifference < DAY_IN_SECONDS) {
38383
- const hoursDifference = Math.round(secondsDifference / HOUR_IN_SECONDS);
38384
- return timeoutRelativeTimeFormatter.format(hoursDifference, 'hour');
38385
- }
38386
- const daysDifference = Math.round(secondsDifference / DAY_IN_SECONDS);
38387
- return timeoutRelativeTimeFormatter.format(daysDifference, 'day');
38388
- }
38389
38753
  /**
38390
38754
  * Formats one pluralized timeout unit.
38391
38755
  *
@@ -38444,6 +38808,20 @@ function resolveLocalTimezone() {
38444
38808
  * Note: [💞] Ignore a discrepancy between file name and entity name
38445
38809
  */
38446
38810
 
38811
+ /**
38812
+ * Formats a Date as a locale-aware short time string (e.g. "5:30 PM" or "17:30").
38813
+ *
38814
+ * @param date - Date to format.
38815
+ * @param locale - Optional BCP-47 locale string (e.g. `"en"`, `"cs"`).
38816
+ * When omitted the browser/OS default locale is used.
38817
+ * @returns Formatted time string such as `"5:30 PM"` or `"17:30"`.
38818
+ *
38819
+ * @private utility of `<Chat/>`
38820
+ */
38821
+ function formatToolCallLocalTime(date, locale) {
38822
+ return formatToolCallDateTime(date, { locale }).localTimeLabel;
38823
+ }
38824
+
38447
38825
  /**
38448
38826
  * Synthetic tool name used for wallet-credential chips in chat UI.
38449
38827
  *
@@ -38690,7 +39068,7 @@ function buildToolCallChipText(chipletInfo) {
38690
39068
  * @private utility of `<Chat/>` [🧠] Maybe public?
38691
39069
  */
38692
39070
  const TOOL_TITLES = {
38693
- [ASSISTANT_PREPARATION_TOOL_CALL_NAME]: { title: 'Preparing agent', emoji: '...' },
39071
+ [ASSISTANT_PREPARATION_TOOL_CALL_NAME]: { title: 'Preparing agent', emoji: '' },
38694
39072
  [WALLET_CREDENTIAL_TOOL_CALL_NAME]: { title: 'Credential used', emoji: '🔐' },
38695
39073
  'self-learning': { title: 'self-learning', emoji: '🧠' },
38696
39074
  retrieve_user_memory: { title: 'Reading memory', emoji: '🧠' },
@@ -38717,22 +39095,27 @@ const TOOL_TITLES = {
38717
39095
  send_email: { title: 'Sending email', emoji: '📧' },
38718
39096
  useEmail: { title: 'Sending email', emoji: '📧' },
38719
39097
  spawn_agent: { title: 'Spawning agent', emoji: '🧬' },
38720
- project_list_files: { title: 'Listing project files', emoji: '🧑‍💻' },
38721
- project_read_file: { title: 'Reading project file', emoji: '🧑‍💻' },
38722
- project_upsert_file: { title: 'Writing project file', emoji: '🧑‍💻' },
38723
- project_delete_file: { title: 'Deleting project file', emoji: '🧑‍💻' },
38724
- project_create_branch: { title: 'Creating project branch', emoji: '🧑‍💻' },
38725
- project_create_pull_request: { title: 'Creating pull request', emoji: '🧑‍💻' },
39098
+ project_list_files: { title: 'Listing project files', emoji: '📂' },
39099
+ project_read_file: { title: 'Reading project file', emoji: '📄' },
39100
+ project_upsert_file: { title: 'Writing project file', emoji: '✏️' },
39101
+ project_delete_file: { title: 'Deleting project file', emoji: '🗑️' },
39102
+ project_create_branch: { title: 'Creating project branch', emoji: '🍴' },
39103
+ project_create_pull_request: { title: 'Creating pull request', emoji: '🔀' },
38726
39104
  // Add more tools here as needed
38727
39105
  };
38728
39106
  /**
38729
39107
  * Gets the chiplet information including text and agent data (for team tools).
38730
39108
  *
39109
+ * @param toolCall - Tool call to build chiplet info for.
39110
+ * @param locale - Optional BCP-47 locale string used to format time labels.
39111
+ * @param titleOverrides - Optional localized titles keyed by tool name.
39112
+ * @param chipTranslations - Optional localized chip templates for time-related tools.
39113
+ *
38731
39114
  * @private [🧠] Maybe public?
38732
39115
  */
38733
- function getToolCallChipletInfo(toolCall) {
39116
+ function getToolCallChipletInfo(toolCall, locale, titleOverrides, chipTranslations) {
38734
39117
  const toolInfo = TOOL_TITLES[toolCall.name];
38735
- const baseTitle = (toolInfo === null || toolInfo === void 0 ? void 0 : toolInfo.title) || toolCall.name;
39118
+ const baseTitle = (titleOverrides === null || titleOverrides === void 0 ? void 0 : titleOverrides[toolCall.name]) || (toolInfo === null || toolInfo === void 0 ? void 0 : toolInfo.title) || toolCall.name;
38736
39119
  const emoji = (toolInfo === null || toolInfo === void 0 ? void 0 : toolInfo.emoji) || '🛠️';
38737
39120
  const args = parseToolCallArguments(toolCall);
38738
39121
  const isTimeTool = toolCall.name === 'get_current_time' || toolCall.name === 'useTime';
@@ -38746,6 +39129,7 @@ function getToolCallChipletInfo(toolCall) {
38746
39129
  args,
38747
39130
  resultRaw,
38748
39131
  currentDate: new Date(),
39132
+ locale,
38749
39133
  })
38750
39134
  : null;
38751
39135
  const walletCredentialResult = parseWalletCredentialToolCallResult(resultRaw);
@@ -38770,7 +39154,9 @@ function getToolCallChipletInfo(toolCall) {
38770
39154
  const resultDate = getToolCallResultDate(resultRaw);
38771
39155
  if (resultDate) {
38772
39156
  return {
38773
- text: `${emoji} ${resultDate.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`,
39157
+ text: `${emoji} ${formatToolCallTranslationTemplate((chipTranslations === null || chipTranslations === void 0 ? void 0 : chipTranslations.toolCallTimeChipLabel) || '{time}', {
39158
+ time: formatToolCallLocalTime(resultDate, locale),
39159
+ })}`,
38774
39160
  };
38775
39161
  }
38776
39162
  }
@@ -38791,7 +39177,7 @@ function getToolCallChipletInfo(toolCall) {
38791
39177
  }
38792
39178
  if (isTimeoutTool && timeoutPresentation) {
38793
39179
  return {
38794
- text: `${emoji} ${buildTimeoutToolCallChipLabel(timeoutPresentation)}`,
39180
+ text: `${emoji} ${buildTimeoutToolCallChipLabel(timeoutPresentation, chipTranslations)}`,
38795
39181
  };
38796
39182
  }
38797
39183
  if (args.query) {
@@ -40217,23 +40603,25 @@ function resolveTeamAgentChipData(toolCall, teammates, chipletInfo, teamAgentPro
40217
40603
  /**
40218
40604
  * Resolves the compact lifecycle badge label rendered below durable chat messages.
40219
40605
  *
40606
+ * Completed messages intentionally return `null` so the UI stays focused on active or exceptional states.
40607
+ *
40220
40608
  * @private internal helper of `<ChatMessageItem/>`
40221
40609
  */
40222
- function resolveMessageLifecycleLabel(message) {
40610
+ function resolveMessageLifecycleLabel(message, chatUiTranslations) {
40223
40611
  if (message.sender === 'USER' && message.lifecycleState === 'queued') {
40224
- return 'Sending';
40612
+ return (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.lifecycleSending) || 'Sending';
40225
40613
  }
40226
40614
  switch (message.lifecycleState) {
40227
40615
  case 'queued':
40228
- return 'Queued';
40616
+ return (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.lifecycleQueued) || 'Queued';
40229
40617
  case 'running':
40230
- return 'Running';
40618
+ return (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.lifecycleRunning) || 'Running';
40231
40619
  case 'failed':
40232
- return 'Failed';
40620
+ return (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.lifecycleFailed) || 'Failed';
40233
40621
  case 'cancelled':
40234
- return 'Cancelled';
40622
+ return (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.lifecycleCancelled) || 'Cancelled';
40235
40623
  case 'completed':
40236
- return 'Completed';
40624
+ return null;
40237
40625
  default:
40238
40626
  return null;
40239
40627
  }
@@ -40250,19 +40638,41 @@ function buildToolCallChipKey(toolCall, options) {
40250
40638
  }
40251
40639
  return baseKey;
40252
40640
  }
40641
+ /**
40642
+ * Tool calls that should stay available in message data but never render as chips under the message.
40643
+ *
40644
+ * @private internal helper of `<ChatMessageItem/>`
40645
+ */
40646
+ const HIDDEN_TOOL_CALL_CHIP_NAMES = new Set(['agent_progress']);
40647
+ /**
40648
+ * Determines whether one tool call should render as a chip under the message.
40649
+ *
40650
+ * @private internal helper of `<ChatMessageItem/>`
40651
+ */
40652
+ function shouldRenderToolCallChip(toolCall) {
40653
+ return !HIDDEN_TOOL_CALL_CHIP_NAMES.has(toolCall.name);
40654
+ }
40253
40655
  /**
40254
40656
  * Converts ongoing tool calls into chip entries consumed by the UI.
40255
40657
  *
40256
40658
  * @private internal helper of `<ChatMessageItem/>`
40257
40659
  */
40258
- function buildOngoingToolCallChips(toolCalls, teammates, teamAgentProfiles) {
40660
+ function buildOngoingToolCallChips(toolCalls, teammates, teamAgentProfiles, locale, toolTitles, chatUiTranslations) {
40259
40661
  if (!toolCalls || toolCalls.length === 0) {
40260
40662
  return [];
40261
40663
  }
40262
40664
  const entries = new Map();
40263
40665
  for (const toolCall of toolCalls) {
40264
- const key = buildToolCallChipKey(toolCall);
40265
- const chipletInfo = getToolCallChipletInfo(toolCall);
40666
+ if (!shouldRenderToolCallChip(toolCall)) {
40667
+ continue;
40668
+ }
40669
+ // All assistant_preparation tool calls share a single stable chip key so that
40670
+ // duplicate preparation phases (e.g. "Creating knowledge base" followed by
40671
+ // "Preparing AgentKit agent") are collapsed into one chip in the UI.
40672
+ const key = isAssistantPreparationToolCall(toolCall)
40673
+ ? `tool-snapshot:${ASSISTANT_PREPARATION_TOOL_CALL_NAME}`
40674
+ : buildToolCallChipKey(toolCall);
40675
+ const chipletInfo = getToolCallChipletInfo(toolCall, locale, toolTitles, chatUiTranslations);
40266
40676
  const label = buildToolCallChipText(chipletInfo);
40267
40677
  const teamAgentData = resolveTeamAgentChipData(toolCall, teammates, chipletInfo, teamAgentProfiles);
40268
40678
  const toolCallState = resolveToolCallState(toolCall);
@@ -40282,12 +40692,15 @@ function buildOngoingToolCallChips(toolCalls, teammates, teamAgentProfiles) {
40282
40692
  *
40283
40693
  * @private internal helper of `<ChatMessageItem/>`
40284
40694
  */
40285
- function buildFinalToolCallChips(completedToolCalls, transitiveToolCalls, teammates, teamAgentProfiles) {
40695
+ function buildFinalToolCallChips(completedToolCalls, transitiveToolCalls, teammates, teamAgentProfiles, locale, toolTitles, chatUiTranslations) {
40286
40696
  const entries = [];
40287
40697
  if (completedToolCalls && completedToolCalls.length > 0) {
40288
40698
  for (const toolCall of completedToolCalls) {
40699
+ if (!shouldRenderToolCallChip(toolCall)) {
40700
+ continue;
40701
+ }
40289
40702
  const key = buildToolCallChipKey(toolCall);
40290
- const chipletInfo = getToolCallChipletInfo(toolCall);
40703
+ const chipletInfo = getToolCallChipletInfo(toolCall, locale, toolTitles, chatUiTranslations);
40291
40704
  const label = buildToolCallChipText(chipletInfo);
40292
40705
  const teamAgentData = resolveTeamAgentChipData(toolCall, teammates, chipletInfo, teamAgentProfiles);
40293
40706
  entries.push({
@@ -40302,7 +40715,7 @@ function buildFinalToolCallChips(completedToolCalls, transitiveToolCalls, teamma
40302
40715
  const walletCredentialToolCalls = createDeduplicatedWalletCredentialToolCalls(completedToolCalls);
40303
40716
  for (const walletCredentialToolCall of walletCredentialToolCalls) {
40304
40717
  const walletKey = buildToolCallChipKey(walletCredentialToolCall);
40305
- const walletChipletInfo = getToolCallChipletInfo(walletCredentialToolCall);
40718
+ const walletChipletInfo = getToolCallChipletInfo(walletCredentialToolCall, locale, toolTitles, chatUiTranslations);
40306
40719
  const walletLabel = buildToolCallChipText(walletChipletInfo);
40307
40720
  entries.push({
40308
40721
  key: walletKey,
@@ -40317,7 +40730,7 @@ function buildFinalToolCallChips(completedToolCalls, transitiveToolCalls, teamma
40317
40730
  if (transitiveToolCalls && transitiveToolCalls.length > 0) {
40318
40731
  for (const transitive of transitiveToolCalls) {
40319
40732
  const key = buildToolCallChipKey(transitive.toolCall, { originLabel: transitive.origin.label });
40320
- const chipletInfo = getToolCallChipletInfo(transitive.toolCall);
40733
+ const chipletInfo = getToolCallChipletInfo(transitive.toolCall, locale, toolTitles, chatUiTranslations);
40321
40734
  const label = buildToolCallChipText(chipletInfo);
40322
40735
  const agentData = {
40323
40736
  url: transitive.origin.url || 'about:blank',
@@ -40400,6 +40813,24 @@ function dedupeToolCalls(toolCalls) {
40400
40813
  function hasToolCallErrors(toolCall) {
40401
40814
  return Array.isArray(toolCall.errors) && toolCall.errors.length > 0;
40402
40815
  }
40816
+ /**
40817
+ * Default template used for assistant response-duration metadata.
40818
+ *
40819
+ * @private internal helper of `<ChatMessageItem/>`
40820
+ */
40821
+ const DEFAULT_ANSWER_DURATION_LABEL = '{duration} to answer';
40822
+ /**
40823
+ * Resolves one localized assistant response-duration label.
40824
+ *
40825
+ * @param durationLabel - Compact duration text such as `3.3s`.
40826
+ * @param timingTranslations - Optional translation overrides from the host application.
40827
+ * @returns Final label rendered next to the timestamp.
40828
+ * @private internal helper of `<ChatMessageItem/>`
40829
+ */
40830
+ function formatAnswerDurationLabel(durationLabel, timingTranslations) {
40831
+ const template = (timingTranslations === null || timingTranslations === void 0 ? void 0 : timingTranslations.answerDurationLabel) || DEFAULT_ANSWER_DURATION_LABEL;
40832
+ return template.replace(/\{duration\}/g, durationLabel);
40833
+ }
40403
40834
  /**
40404
40835
  * Renders a single chat message item with avatar, content, buttons, and rating.
40405
40836
  *
@@ -40410,7 +40841,7 @@ const ChatMessageItem = memo(
40410
40841
  // Or make normal function from this?
40411
40842
  (props) => {
40412
40843
  var _a;
40413
- const { message, participant, participants, isLastMessage, onMessage, onActionButton, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode = 'stars', feedbackTranslations, onCopy, onCreateAgent, teammates, teamAgentProfiles, onToolCallClick, onCitationClick, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, } = props;
40844
+ const { message, participant, participants, isLastMessage, onMessage, onActionButton, onQuickMessageButton, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode = 'stars', feedbackTranslations, timingTranslations, chatLocale, onCopy, onCreateAgent, toolTitles, teammates, teamAgentProfiles, CHAT_VISUAL_MODE = 'BUBBLE_MODE', onToolCallClick, onCitationClick, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, chatUiTranslations, } = props;
40414
40845
  const { isComplete = true,
40415
40846
  // <- TODO: Destruct all `messages` properties like `isComplete`
40416
40847
  } = message;
@@ -40484,9 +40915,10 @@ const ChatMessageItem = memo(
40484
40915
  // Note: Do not hide tooltip on mouse leave, it will be hidden by clicking outside
40485
40916
  };
40486
40917
  const isMe = participant === null || participant === void 0 ? void 0 : participant.isMe;
40487
- const timingDisplay = getChatMessageTimingDisplay(message);
40918
+ const isAgentArticleMode = CHAT_VISUAL_MODE === 'ARTICLE_MODE' && !isMe;
40919
+ const timingDisplay = getChatMessageTimingDisplay(message, chatLocale);
40488
40920
  const shouldShowTiming = Boolean(isComplete && timingDisplay);
40489
- const lifecycleBadgeLabel = resolveMessageLifecycleLabel(message);
40921
+ const lifecycleBadgeLabel = resolveMessageLifecycleLabel(message, chatUiTranslations);
40490
40922
  const shouldShowMessageMeta = Boolean(shouldShowTiming || lifecycleBadgeLabel);
40491
40923
  const shouldShowParticipantLabel = (participants || []).some((entry) => entry.name === 'TEAMMATE');
40492
40924
  const participantLabel = (participant === null || participant === void 0 ? void 0 : participant.fullname) || (participant === null || participant === void 0 ? void 0 : participant.name);
@@ -40536,13 +40968,21 @@ const ChatMessageItem = memo(
40536
40968
  const [pendingActionButtonIndex, setPendingActionButtonIndex] = useState(null);
40537
40969
  const [consumedActionButtonIndexes, setConsumedActionButtonIndexes] = useState(() => new Set());
40538
40970
  const isReportIssueFeedbackMode = feedbackMode === 'report_issue';
40539
- const ongoingToolCallChips = useMemo(() => buildOngoingToolCallChips(message.ongoingToolCalls, teammates, teamAgentProfiles), [message.ongoingToolCalls, teammates, teamAgentProfiles]);
40540
- const finalToolCallChips = useMemo(() => buildFinalToolCallChips(completedToolCalls, transitiveToolCalls, teammates, teamAgentProfiles), [completedToolCalls, transitiveToolCalls, teammates, teamAgentProfiles]);
40971
+ const ongoingToolCallChips = useMemo(() => buildOngoingToolCallChips(message.ongoingToolCalls, teammates, teamAgentProfiles, chatLocale, toolTitles, chatUiTranslations), [message.ongoingToolCalls, teammates, teamAgentProfiles, chatLocale, toolTitles, chatUiTranslations]);
40972
+ const finalToolCallChips = useMemo(() => buildFinalToolCallChips(completedToolCalls, transitiveToolCalls, teammates, teamAgentProfiles, chatLocale, toolTitles, chatUiTranslations), [
40973
+ completedToolCalls,
40974
+ transitiveToolCalls,
40975
+ teammates,
40976
+ teamAgentProfiles,
40977
+ chatLocale,
40978
+ toolTitles,
40979
+ chatUiTranslations,
40980
+ ]);
40541
40981
  const toolCallChips = isComplete ? finalToolCallChips : ongoingToolCallChips;
40542
40982
  const toolCallChipCount = toolCallChips.length;
40543
40983
  const renderableButtons = useMemo(() => buttons.reduce((nextButtons, button, buttonIndex) => {
40544
40984
  if (button.type === 'message') {
40545
- if (onMessage) {
40985
+ if (onQuickMessageButton || onMessage) {
40546
40986
  nextButtons.push({ button, buttonIndex });
40547
40987
  }
40548
40988
  return nextButtons;
@@ -40552,11 +40992,103 @@ const ChatMessageItem = memo(
40552
40992
  }
40553
40993
  nextButtons.push({ button, buttonIndex });
40554
40994
  return nextButtons;
40555
- }, []), [buttons, consumedActionButtonIndexes, onActionButton, onMessage]);
40995
+ }, []), [buttons, consumedActionButtonIndexes, onActionButton, onMessage, onQuickMessageButton]);
40556
40996
  const shouldShowButtons = isLastMessage && renderableButtons.length > 0;
40557
40997
  const speechPlaybackEnabled = isSpeechPlaybackEnabled !== null && isSpeechPlaybackEnabled !== void 0 ? isSpeechPlaybackEnabled : true;
40558
40998
  const shouldShowPlayButton = speechPlaybackEnabled && trimmedMessageContent.length > 0;
40559
40999
  const playButtonTitle = audioError !== null && audioError !== void 0 ? audioError : (isAudioPlaying ? 'Pause message playback' : 'Read message aloud');
41000
+ const messageActionsLayout = isAgentArticleMode ? 'article-footer' : 'bubble-overlay';
41001
+ const shouldRenderCopyAndPlayControls = Boolean(isCopyButtonEnabled && isComplete);
41002
+ const shouldRenderFeedbackControls = Boolean(isFeedbackEnabled && feedbackMode !== 'off' && isComplete);
41003
+ const shouldRenderArticleActionsBar = messageActionsLayout === 'article-footer' &&
41004
+ (shouldRenderCopyAndPlayControls || shouldRenderFeedbackControls);
41005
+ /**
41006
+ * Renders the optional message utility buttons used for copy/read actions.
41007
+ *
41008
+ * @returns Message utility controls or `null` when disabled.
41009
+ * @private
41010
+ */
41011
+ const renderMessageReadAndCopyControls = () => {
41012
+ if (!shouldRenderCopyAndPlayControls) {
41013
+ return null;
41014
+ }
41015
+ return (jsx("div", { className: classNames(styles$5.copyButtonContainer, messageActionsLayout === 'article-footer' && styles$5.articleModeMessageControls), children: jsxs("div", { className: styles$5.messageControlGroup, children: [shouldShowPlayButton && (jsx("button", { type: "button", className: styles$5.playButton, title: playButtonTitle, "aria-label": playButtonTitle, onClick: (event) => {
41016
+ event.stopPropagation();
41017
+ void handlePlayMessage();
41018
+ }, disabled: isAudioLoading, children: isAudioLoading ? (jsx("span", { className: styles$5.playButtonSpinner, "aria-hidden": "true" })) : isAudioPlaying ? (jsx(Pause, { className: styles$5.playButtonIcon, "aria-hidden": "true" })) : (jsx(Play, { className: styles$5.playButtonIcon, "aria-hidden": "true" })) })), jsxs("button", { className: styles$5.copyButton, title: "Copy message", onClick: async (e) => {
41019
+ e.stopPropagation();
41020
+ if (navigator.clipboard && window.ClipboardItem) {
41021
+ const clipboardItems = {};
41022
+ if (contentWithoutButtonsRef.current) {
41023
+ const html = contentWithoutButtonsRef.current.innerHTML;
41024
+ clipboardItems['text/html'] = new Blob([html], {
41025
+ type: 'text/html',
41026
+ });
41027
+ }
41028
+ if (contentWithoutButtonsRef.current) {
41029
+ const plain = contentWithoutButtonsRef.current.innerText;
41030
+ clipboardItems['text/plain'] = new Blob([plain], {
41031
+ type: 'text/plain',
41032
+ });
41033
+ }
41034
+ await navigator.clipboard.write([new window.ClipboardItem(clipboardItems)]);
41035
+ setCopied(true);
41036
+ setTimeout(() => setCopied(false), 2000);
41037
+ // Tooltip positioning logic
41038
+ setTimeout(() => {
41039
+ const tooltip = copyTooltipRef.current;
41040
+ if (tooltip) {
41041
+ const rect = tooltip.getBoundingClientRect();
41042
+ if (rect.left < 8) {
41043
+ setTooltipAlign('left');
41044
+ }
41045
+ else if (rect.right > window.innerWidth - 8) {
41046
+ setTooltipAlign('right');
41047
+ }
41048
+ else {
41049
+ setTooltipAlign('center');
41050
+ }
41051
+ }
41052
+ }, 10);
41053
+ if (typeof onCopy === 'function') {
41054
+ onCopy();
41055
+ }
41056
+ }
41057
+ else {
41058
+ throw new Error(`Your browser does not support copying to clipboard: navigator.clipboard && window.ClipboardItem.`);
41059
+ }
41060
+ }, children: [jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: [jsx("rect", { x: "7", y: "7", width: "10", height: "14", rx: "2", fill: "#fff", stroke: "#bbb", strokeWidth: "1.5" }), jsx("rect", { x: "3", y: "3", width: "10", height: "14", rx: "2", fill: "#fff", stroke: "#bbb", strokeWidth: "1.5" })] }), copied && (jsx("span", { ref: copyTooltipRef, className: styles$5.copiedTooltip +
41061
+ (tooltipAlign === 'left'
41062
+ ? ' ' + styles$5.copiedTooltipLeft
41063
+ : tooltipAlign === 'right'
41064
+ ? ' ' + styles$5.copiedTooltipRight
41065
+ : ''), children: "Copied!" }))] })] }) }));
41066
+ };
41067
+ /**
41068
+ * Renders feedback controls for one completed message.
41069
+ *
41070
+ * @returns Feedback controls or `null` when disabled.
41071
+ * @private
41072
+ */
41073
+ const renderMessageFeedbackControls = () => {
41074
+ if (!shouldRenderFeedbackControls) {
41075
+ return null;
41076
+ }
41077
+ return (jsx("div", { className: classNames(styles$5.rating, messageActionsLayout === 'article-footer' && styles$5.articleModeRating), onMouseEnter: isReportIssueFeedbackMode
41078
+ ? undefined
41079
+ : () => {
41080
+ setExpandedMessageId(message.id || message.content /* <-[💃] */);
41081
+ }, onMouseLeave: isReportIssueFeedbackMode
41082
+ ? undefined
41083
+ : () => {
41084
+ setExpandedMessageId(null);
41085
+ setLocalHoveredRating(0);
41086
+ }, children: isReportIssueFeedbackMode ? (jsx("button", { type: "button", onClick: () => handleRating(message, 1), className: styles$5.feedbackIssueButton, "aria-label": (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonAriaLabel) || 'Report issue with this response', title: (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonTitle) || 'Report issue', children: "\u26A0" })) : isExpanded ? ([1, 2, 3, 4, 5].map((star) => (jsx("span", { onClick: () => handleRating(message, star), onMouseEnter: () => setLocalHoveredRating(star), className: classNames(styles$5.ratingStar, star <= (localHoveredRating || currentRating || 0) && styles$5.active), style: {
41087
+ '--star-inactive-color': mode === 'LIGHT' ? '#ccc' : '#555',
41088
+ }, children: "\u2B50" }, star)))) : (jsx("span", { onClick: () => handleRating(message, currentRating || 1), className: classNames(styles$5.ratingStar, currentRating && styles$5.active), style: {
41089
+ '--star-inactive-color': mode === 'LIGHT' ? '#888' : '#666',
41090
+ }, children: "\u2B50" })) }));
41091
+ };
40560
41092
  /**
40561
41093
  * Executes one quick action button and marks it consumed after a successful run.
40562
41094
  *
@@ -40727,7 +41259,7 @@ const ChatMessageItem = memo(
40727
41259
  }
40728
41260
  toolCallChipCountRef.current = toolCallChipCount;
40729
41261
  }, [soundSystem, toolCallChipCount]);
40730
- return (jsxs("div", { className: classNames(styles$5.chatMessage, isMe && styles$5.isMe, !isComplete && styles$5.isNotCompleteMessage, hasMapSegment && styles$5.messageWithMap, chatCssClassNames.chatMessage, isMe ? chatCssClassNames.userMessage : chatCssClassNames.agentResponse), onClick: () => {
41262
+ return (jsxs("div", { className: classNames(styles$5.chatMessage, isMe && styles$5.isMe, !isComplete && styles$5.isNotCompleteMessage, hasMapSegment && styles$5.messageWithMap, isAgentArticleMode && styles$5.articleModeAgentMessage, chatCssClassNames.chatMessage, isMe ? chatCssClassNames.userMessage : chatCssClassNames.agentResponse), onClick: () => {
40731
41263
  console.group('💬', message.content);
40732
41264
  console.info('message', message);
40733
41265
  console.info('participant', participant);
@@ -40735,7 +41267,7 @@ const ChatMessageItem = memo(
40735
41267
  console.info('participant avatarSrc', avatarSrc);
40736
41268
  console.info('participant color', { color, colorOfText });
40737
41269
  console.groupEnd();
40738
- }, children: [avatarSrc && (jsxs("div", { ref: avatarRef, className: classNames(styles$5.avatar, chatCssClassNames.messageAvatar, isMe ? chatCssClassNames.userAvatar : chatCssClassNames.agentAvatar), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onClick: showTooltip, children: [jsx("div", { style: {
41270
+ }, children: [avatarSrc && (jsxs("div", { ref: avatarRef, className: classNames(styles$5.avatar, isAgentArticleMode && styles$5.articleModeAgentAvatar, chatCssClassNames.messageAvatar, isMe ? chatCssClassNames.userAvatar : chatCssClassNames.agentAvatar), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onClick: showTooltip, children: [jsx("div", { style: {
40739
41271
  width: '100%',
40740
41272
  height: '100%',
40741
41273
  aspectRatio: '1 / 1',
@@ -40746,62 +41278,10 @@ const ChatMessageItem = memo(
40746
41278
  borderRadius: '50%',
40747
41279
  backgroundPosition: '50% 20%',
40748
41280
  '--avatar-bg-color': color.toHex(), // <- TODO: Maybe remove these deprecated CSS variables
40749
- } }), isAvatarTooltipVisible && (participant === null || participant === void 0 ? void 0 : participant.agentSource) && avatarTooltipPosition && (jsx(AvatarProfileTooltip, { ref: tooltipRef, agentSource: participant.agentSource, position: avatarTooltipPosition }))] })), jsxs("div", { className: classNames(styles$5.messageStack, chatCssClassNames.messageStack), children: [shouldShowParticipantLabel && participantLabel && (jsx("div", { className: styles$5.participantLabel, children: participantLabel })), jsxs("div", { className: classNames(styles$5.messageText, chatCssClassNames.messageContent), style: {
40750
- '--message-bg-color': color.toHex(),
40751
- '--message-text-color': colorOfText.toHex(),
40752
- }, children: [isCopyButtonEnabled && isComplete && (jsx("div", { className: styles$5.copyButtonContainer, children: jsxs("div", { className: styles$5.messageControlGroup, children: [shouldShowPlayButton && (jsx("button", { type: "button", className: styles$5.playButton, title: playButtonTitle, "aria-label": playButtonTitle, onClick: (event) => {
40753
- event.stopPropagation();
40754
- void handlePlayMessage();
40755
- }, disabled: isAudioLoading, children: isAudioLoading ? (jsx("span", { className: styles$5.playButtonSpinner, "aria-hidden": "true" })) : isAudioPlaying ? (jsx(Pause, { className: styles$5.playButtonIcon, "aria-hidden": "true" })) : (jsx(Play, { className: styles$5.playButtonIcon, "aria-hidden": "true" })) })), jsxs("button", { className: styles$5.copyButton, title: "Copy message", onClick: async (e) => {
40756
- e.stopPropagation();
40757
- if (navigator.clipboard && window.ClipboardItem) {
40758
- const clipboardItems = {};
40759
- if (contentWithoutButtonsRef.current) {
40760
- const html = contentWithoutButtonsRef.current.innerHTML;
40761
- clipboardItems['text/html'] = new Blob([html], {
40762
- type: 'text/html',
40763
- });
40764
- }
40765
- if (contentWithoutButtonsRef.current) {
40766
- const plain = contentWithoutButtonsRef.current.innerText;
40767
- clipboardItems['text/plain'] = new Blob([plain], {
40768
- type: 'text/plain',
40769
- });
40770
- }
40771
- await navigator.clipboard.write([
40772
- new window.ClipboardItem(clipboardItems),
40773
- ]);
40774
- setCopied(true);
40775
- setTimeout(() => setCopied(false), 2000);
40776
- // Tooltip positioning logic
40777
- setTimeout(() => {
40778
- const tooltip = copyTooltipRef.current;
40779
- if (tooltip) {
40780
- const rect = tooltip.getBoundingClientRect();
40781
- if (rect.left < 8) {
40782
- setTooltipAlign('left');
40783
- }
40784
- else if (rect.right > window.innerWidth - 8) {
40785
- setTooltipAlign('right');
40786
- }
40787
- else {
40788
- setTooltipAlign('center');
40789
- }
40790
- }
40791
- }, 10);
40792
- if (typeof onCopy === 'function') {
40793
- onCopy();
40794
- }
40795
- }
40796
- else {
40797
- throw new Error(`Your browser does not support copying to clipboard: navigator.clipboard && window.ClipboardItem.`);
40798
- }
40799
- }, children: [jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: [jsx("rect", { x: "7", y: "7", width: "10", height: "14", rx: "2", fill: "#fff", stroke: "#bbb", strokeWidth: "1.5" }), jsx("rect", { x: "3", y: "3", width: "10", height: "14", rx: "2", fill: "#fff", stroke: "#bbb", strokeWidth: "1.5" })] }), copied && (jsx("span", { ref: copyTooltipRef, className: styles$5.copiedTooltip +
40800
- (tooltipAlign === 'left'
40801
- ? ' ' + styles$5.copiedTooltipLeft
40802
- : tooltipAlign === 'right'
40803
- ? ' ' + styles$5.copiedTooltipRight
40804
- : ''), children: "Copied!" }))] })] }) })), message.isVoiceCall && (jsx("div", { className: styles$5.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), message.content === LOADING_INTERACTIVE_IMAGE ? (jsx(Fragment, {})) : (jsxs(Fragment, { children: [jsx("div", { ref: contentWithoutButtonsRef, children: contentSegments.map((segment, segmentIndex) => {
41281
+ } }), isAvatarTooltipVisible && (participant === null || participant === void 0 ? void 0 : participant.agentSource) && avatarTooltipPosition && (jsx(AvatarProfileTooltip, { ref: tooltipRef, agentSource: participant.agentSource, position: avatarTooltipPosition }))] })), jsxs("div", { className: classNames(styles$5.messageStack, chatCssClassNames.messageStack), children: [shouldShowParticipantLabel && participantLabel && (jsx("div", { className: styles$5.participantLabel, children: participantLabel })), jsxs("div", { className: classNames(styles$5.messageText, isAgentArticleMode && styles$5.articleModeAgentMessageText, chatCssClassNames.messageContent), style: {
41282
+ '--message-bg-color': isAgentArticleMode ? '#ffffff' : color.toHex(),
41283
+ '--message-text-color': isAgentArticleMode ? '#0f172a' : colorOfText.toHex(),
41284
+ }, children: [!shouldRenderArticleActionsBar && renderMessageReadAndCopyControls(), message.isVoiceCall && (jsx("div", { className: styles$5.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), message.content === LOADING_INTERACTIVE_IMAGE ? (jsx(Fragment, {})) : (jsxs(Fragment, { children: [jsx("div", { ref: contentWithoutButtonsRef, children: contentSegments.map((segment, segmentIndex) => {
40805
41285
  if (segment.type === 'text') {
40806
41286
  return (jsx(MarkdownContent, { content: segment.content, onCreateAgent: onCreateAgent }, `text-${segmentIndex}`));
40807
41287
  }
@@ -40818,27 +41298,14 @@ const ChatMessageItem = memo(
40818
41298
  }) }), streamingFeaturePlaceholderKind && (jsx(StreamingFeaturePlaceholder, { kind: streamingFeaturePlaceholderKind }))] })), message.attachments && message.attachments.length > 0 && (jsx("div", { className: styles$5.attachments, children: message.attachments.map((attachment, index) => (jsxs("a", { href: attachment.url, target: "_blank", rel: "noopener noreferrer", className: styles$5.attachment, title: attachment.name, children: [jsx("span", { className: styles$5.attachmentIcon, children: "\uD83D\uDCCE" }), jsx("span", { className: styles$5.attachmentName, children: attachment.name })] }, index))) })), toolCallChips.length > 0 && (jsx("div", { className: styles$5.toolCallChips, children: toolCallChips.map((chip) => renderToolCallChip(chip, onToolCallClick)) })), citationFootnoteRenderModel.footnotes.length > 0 && (jsx("div", { className: styles$5.citationFootnotes, children: citationFootnoteRenderModel.footnotes.map((footnote) => (jsxs("div", { className: styles$5.citationFootnoteItem, children: [jsx("span", { className: styles$5.citationFootnoteNumber, children: footnote.number }), jsx(SourceChip, { citation: footnote.citation, onClick: onCitationClick, isCitationIdVisible: false })] }, `citation-footnote-${footnote.number}-${footnote.citation.source}`))) })), transitiveCitations.length > 0 && (jsx("div", { className: styles$5.sourceCitations, children: transitiveCitations.map((citation, index) => (jsx(SourceChip, { citation: citation, suffix: `by ${citation.origin.label}`, onClick: onCitationClick }, `team-source-${citation.source}-${index}`))) })), shouldShowButtons && (jsx("div", { className: styles$5.messageButtons, children: renderableButtons.map(({ button, buttonIndex }) => (jsx("button", { type: "button", className: classNames(styles$5.messageButton, button.type === 'action' && styles$5.actionMessageButton), onClick: (event) => {
40819
41299
  event.stopPropagation();
40820
41300
  if (button.type === 'message') {
40821
- if (onMessage) {
40822
- void onMessage(button.message);
41301
+ const quickMessageHandler = onQuickMessageButton || onMessage;
41302
+ if (quickMessageHandler) {
41303
+ void quickMessageHandler(button.message);
40823
41304
  }
40824
41305
  return;
40825
41306
  }
40826
41307
  void handleActionButtonClick(buttonIndex, button.code);
40827
- }, disabled: button.type === 'action' && pendingActionButtonIndex === buttonIndex, title: button.type === 'action' ? 'Runs an action in your browser' : undefined, children: jsx(MarkdownContent, { content: button.text }) }, buttonIndex))) })), isFeedbackEnabled && feedbackMode !== 'off' && isComplete && (jsx("div", { className: styles$5.rating, onMouseEnter: isReportIssueFeedbackMode
40828
- ? undefined
40829
- : () => {
40830
- setExpandedMessageId(message.id || message.content /* <-[💃] */);
40831
- }, onMouseLeave: isReportIssueFeedbackMode
40832
- ? undefined
40833
- : () => {
40834
- setExpandedMessageId(null);
40835
- setLocalHoveredRating(0);
40836
- }, children: isReportIssueFeedbackMode ? (jsx("button", { type: "button", onClick: () => handleRating(message, 1), className: styles$5.feedbackIssueButton, "aria-label": (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonAriaLabel) ||
40837
- 'Report issue with this response', title: (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonTitle) || 'Report issue', children: "\u26A0" })) : isExpanded ? ([1, 2, 3, 4, 5].map((star) => (jsx("span", { onClick: () => handleRating(message, star), onMouseEnter: () => setLocalHoveredRating(star), className: classNames(styles$5.ratingStar, star <= (localHoveredRating || currentRating || 0) && styles$5.active), style: {
40838
- '--star-inactive-color': mode === 'LIGHT' ? '#ccc' : '#555',
40839
- }, children: "\u2B50" }, star)))) : (jsx("span", { onClick: () => handleRating(message, currentRating || 1), className: classNames(styles$5.ratingStar, currentRating && styles$5.active), style: {
40840
- '--star-inactive-color': mode === 'LIGHT' ? '#888' : '#666',
40841
- }, children: "\u2B50" })) }))] }), shouldShowMessageMeta && (jsxs("div", { className: styles$5.messageMeta, title: shouldShowTiming && timingDisplay ? timingDisplay.fullLabel : undefined, children: [lifecycleBadgeLabel && (jsx("span", { className: styles$5.messageLifecycleBadge, children: lifecycleBadgeLabel })), shouldShowTiming && timingDisplay && (jsxs(Fragment, { children: [jsx("span", { className: styles$5.messageTimestamp, children: timingDisplay.timeLabel }), !isMe && timingDisplay.durationLabel && (jsxs("span", { className: styles$5.messageDuration, children: ["(", timingDisplay.durationLabel, " to answer)"] }))] }))] })), message.lifecycleError && (jsx("div", { className: styles$5.messageLifecycleError, children: message.lifecycleError }))] })] }));
41308
+ }, disabled: button.type === 'action' && pendingActionButtonIndex === buttonIndex, title: button.type === 'action' ? 'Runs an action in your browser' : undefined, children: jsx(MarkdownContent, { content: button.text }) }, buttonIndex))) })), !shouldRenderArticleActionsBar && renderMessageFeedbackControls(), shouldRenderArticleActionsBar && (jsxs("div", { className: styles$5.articleModeMessageActions, children: [renderMessageReadAndCopyControls(), renderMessageFeedbackControls()] }))] }), shouldShowMessageMeta && (jsxs("div", { className: styles$5.messageMeta, title: shouldShowTiming && timingDisplay ? timingDisplay.fullLabel : undefined, children: [lifecycleBadgeLabel && (jsx("span", { className: styles$5.messageLifecycleBadge, children: lifecycleBadgeLabel })), shouldShowTiming && timingDisplay && (jsxs(Fragment, { children: [jsx("span", { className: styles$5.messageTimestamp, children: timingDisplay.timeLabel }), !isMe && timingDisplay.durationLabel && (jsxs("span", { className: styles$5.messageDuration, children: ["(", formatAnswerDurationLabel(timingDisplay.durationLabel, timingTranslations), ")"] }))] }))] })), message.lifecycleError && (jsx("div", { className: styles$5.messageLifecycleError, children: message.lifecycleError }))] })] }));
40842
41309
  }, (prev, next) => {
40843
41310
  var _a, _b, _c, _d;
40844
41311
  if (prev.message.id !== next.message.id) {
@@ -40901,6 +41368,9 @@ const ChatMessageItem = memo(
40901
41368
  if (prev.onMessage !== next.onMessage) {
40902
41369
  return false;
40903
41370
  }
41371
+ if (prev.onQuickMessageButton !== next.onQuickMessageButton) {
41372
+ return false;
41373
+ }
40904
41374
  if (prev.setExpandedMessageId !== next.setExpandedMessageId) {
40905
41375
  return false;
40906
41376
  }
@@ -40934,6 +41404,9 @@ const ChatMessageItem = memo(
40934
41404
  if (prev.onCitationClick !== next.onCitationClick) {
40935
41405
  return false;
40936
41406
  }
41407
+ if (prev.CHAT_VISUAL_MODE !== next.CHAT_VISUAL_MODE) {
41408
+ return false;
41409
+ }
40937
41410
  return prev.mode === next.mode;
40938
41411
  });
40939
41412
  ChatMessageItem.displayName = 'ChatMessageItem';
@@ -40944,7 +41417,7 @@ ChatMessageItem.displayName = 'ChatMessageItem';
40944
41417
  * @private component of `<Chat/>`
40945
41418
  */
40946
41419
  function ChatMessageList(props) {
40947
- const { messages, participants, expandedMessageId, messageRatings, setExpandedMessageId, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode, feedbackTranslations, onCopy, onMessage, onActionButton, onCreateAgent, toolTitles, teammates, onToolCallClick, onCitationClick, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, teamAgentProfiles, setChatMessagesElement, onScroll, chatMessagesClassName, hasActions, } = props;
41420
+ const { messages, participants, expandedMessageId, messageRatings, setExpandedMessageId, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode, feedbackTranslations, timingTranslations, chatLocale, onCopy, onMessage, onActionButton, onQuickMessageButton, onCreateAgent, toolTitles, teammates, onToolCallClick, onCitationClick, CHAT_VISUAL_MODE, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, teamAgentProfiles, setChatMessagesElement, onScroll, chatMessagesClassName, hasActions, chatUiTranslations, } = props;
40948
41421
  const firstMessage = messages[0];
40949
41422
  const firstMsgContent = (firstMessage === null || firstMessage === void 0 ? void 0 : firstMessage.content) || '';
40950
41423
  const firstMsgLines = firstMsgContent.split(/\r?\n/).length;
@@ -40956,7 +41429,7 @@ function ChatMessageList(props) {
40956
41429
  const isLastMessage = index === messages.length - 1;
40957
41430
  const isExpanded = expandedMessageId === message.id;
40958
41431
  const currentRating = messageRatings.get(message.id || message.content /* <-[??] */) || 0;
40959
- return (jsx(ChatMessageItem, { message: message, participant: participant, participants: participants, isLastMessage: isLastMessage, onMessage: onMessage, onActionButton: onActionButton, setExpandedMessageId: setExpandedMessageId, isExpanded: isExpanded, currentRating: currentRating, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, onCopy: onCopy, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, onToolCallClick: onToolCallClick, onCitationClick: onCitationClick, soundSystem: soundSystem, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId }, resolveRenderedMessageKey(message)));
41432
+ return (jsx(ChatMessageItem, { message: message, participant: participant, participants: participants, isLastMessage: isLastMessage, onMessage: onMessage, onActionButton: onActionButton, onQuickMessageButton: onQuickMessageButton, setExpandedMessageId: setExpandedMessageId, isExpanded: isExpanded, currentRating: currentRating, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, timingTranslations: timingTranslations, chatLocale: chatLocale, onCopy: onCopy, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, CHAT_VISUAL_MODE: CHAT_VISUAL_MODE, onToolCallClick: onToolCallClick, onCitationClick: onCitationClick, soundSystem: soundSystem, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatUiTranslations: chatUiTranslations }, resolveRenderedMessageKey(message)));
40960
41433
  }), jsx("div", { style: { height: 100 } })] }));
40961
41434
  }
40962
41435
  /**
@@ -41107,7 +41580,7 @@ const TOOL_CALL_REPORT_FILENAME_UNSAFE_CHARACTER_PATTERN = /[^a-zA-Z0-9_-]/g;
41107
41580
  function renderAdvancedToolCallDetails(options) {
41108
41581
  const { toolCall } = options;
41109
41582
  const header = resolveAdvancedToolCallHeader(options);
41110
- const payloadSections = createAdvancedToolCallPayloadSections(toolCall);
41583
+ const payloadSections = createAdvancedToolCallPayloadSections(toolCall, options.availableTools);
41111
41584
  return (jsxs(Fragment, { children: [jsxs("header", { className: styles$5.toolCallHeader, children: [jsx("span", { className: styles$5.toolCallIcon, "aria-hidden": "true", children: header.emoji }), jsxs("div", { className: styles$5.toolCallHeaderMeta, children: [jsx("p", { className: styles$5.toolCallModalLabel, children: "Advanced" }), jsx("h3", { className: styles$5.toolCallTitle, children: header.title }), jsxs("p", { className: styles$5.toolCallSubtitle, children: [header.subtitle, " \u00B7 ", resolveToolCallState(toolCall).toLowerCase()] })] })] }), jsx("div", { className: styles$5.toolCallGrid, children: payloadSections.map((payloadSection) => (jsxs("section", { className: styles$5.toolCallPanel, children: [jsx("p", { className: styles$5.toolCallPanelTitle, children: payloadSection.title }), renderAdvancedToolCallPayload({
41112
41585
  toolCall,
41113
41586
  sectionId: payloadSection.id,
@@ -41127,7 +41600,7 @@ function renderAdvancedToolCallDetails(options) {
41127
41600
  function createAdvancedToolCallReportMarkdown(options) {
41128
41601
  const { toolCall } = options;
41129
41602
  const header = resolveAdvancedToolCallHeader(options);
41130
- const payloadSections = createAdvancedToolCallPayloadSections(toolCall);
41603
+ const payloadSections = createAdvancedToolCallPayloadSections(toolCall, options.availableTools);
41131
41604
  const reportLines = [
41132
41605
  '# Tool call report',
41133
41606
  '',
@@ -41176,7 +41649,7 @@ function createAdvancedToolCallReportFilename(toolCall) {
41176
41649
  */
41177
41650
  function resolveAdvancedToolCallHeader(options) {
41178
41651
  const { toolCall, toolTitles } = options;
41179
- const chipletInfo = getToolCallChipletInfo(toolCall);
41652
+ const chipletInfo = getToolCallChipletInfo(toolCall, undefined, toolTitles);
41180
41653
  const toolMetadata = TOOL_TITLES[toolCall.name];
41181
41654
  return {
41182
41655
  emoji: (toolMetadata === null || toolMetadata === void 0 ? void 0 : toolMetadata.emoji) || extractLeadingEmoji$1(chipletInfo.text) || '🛠️',
@@ -41188,10 +41661,11 @@ function resolveAdvancedToolCallHeader(options) {
41188
41661
  * Builds the shared payload sections shown in advanced view and exported reports.
41189
41662
  *
41190
41663
  * @param toolCall - Tool call currently selected in the modal.
41664
+ * @param availableTools - Optional list of tools that were available during the turn.
41191
41665
  * @returns Ordered list of payload sections.
41192
41666
  * @private function of ChatToolCallModal
41193
41667
  */
41194
- function createAdvancedToolCallPayloadSections(toolCall) {
41668
+ function createAdvancedToolCallPayloadSections(toolCall, availableTools) {
41195
41669
  var _a, _b, _c, _d, _e, _f, _g, _h;
41196
41670
  const parsedArguments = parseToolCallArguments(toolCall);
41197
41671
  const parsedResult = parseToolCallResult(toolCall.result);
@@ -41205,6 +41679,7 @@ function createAdvancedToolCallPayloadSections(toolCall) {
41205
41679
  { id: 'logs', title: 'Streamed logs', payload: (_a = toolCall.logs) !== null && _a !== void 0 ? _a : [] },
41206
41680
  { id: 'result', title: 'Output payload', payload: toolCall.result },
41207
41681
  { id: 'raw-model', title: 'Model payload', payload: toolCall.rawToolCall },
41682
+ { id: 'available-tools', title: 'Available tools', payload: availableTools !== null && availableTools !== void 0 ? availableTools : [] },
41208
41683
  { id: 'event', title: 'Full event', payload: toolCall },
41209
41684
  ];
41210
41685
  if (isTimeoutToolCallName(toolCall.name)) {
@@ -41799,11 +42274,9 @@ const DEFAULT_TIMEOUT_SNOOZE_DURATION_MILLISECONDS = 5 * 60 * 1000;
41799
42274
  * @private internal utility of `<ChatToolCallModal/>`
41800
42275
  */
41801
42276
  function renderToolCallClockPanel(options) {
41802
- const { date, relativeLabel, timezoneLabel } = options;
41803
- return (jsxs("div", { className: styles$5.toolCallClockPanel, children: [jsx(ClockIcon, { date: date, size: 150 }), jsxs("div", { className: styles$5.toolCallClockLabels, children: [jsx("div", { className: styles$5.toolCallClockPrimary, children: date.toLocaleTimeString([], {
41804
- hour: '2-digit',
41805
- minute: '2-digit',
41806
- }) }), jsx("div", { className: styles$5.toolCallClockSecondary, children: date.toLocaleDateString() }), relativeLabel && jsxs("div", { className: styles$5.toolCallClockMeta, children: ["(", relativeLabel, ")"] }), timezoneLabel && jsx("div", { className: styles$5.toolCallClockMeta, children: timezoneLabel })] })] }));
42277
+ const { date, relativeLabel, timezoneLabel, locale } = options;
42278
+ const formattedDateTime = formatToolCallDateTime(date, { locale });
42279
+ return (jsxs("div", { className: styles$5.toolCallClockPanel, children: [jsx(ClockIcon, { date: date, size: 150 }), jsxs("div", { className: styles$5.toolCallClockLabels, children: [jsx("div", { className: styles$5.toolCallClockPrimary, children: formattedDateTime.localTimeLabel }), jsx("div", { className: styles$5.toolCallClockSecondary, children: formattedDateTime.localDateLabel }), relativeLabel && jsxs("div", { className: styles$5.toolCallClockMeta, children: ["(", relativeLabel, ")"] }), timezoneLabel && jsx("div", { className: styles$5.toolCallClockMeta, children: timezoneLabel })] })] }));
41807
42280
  }
41808
42281
  /**
41809
42282
  * Copies one quick action command to clipboard when supported.
@@ -41948,7 +42421,7 @@ function renderRunBrowserToolCall(options) {
41948
42421
  * @private function of ChatToolCallModal
41949
42422
  */
41950
42423
  function renderToolCallDetails(options) {
41951
- const { toolCall, toolTitles, agentParticipant, buttonColor, onRequestAdvancedView } = options;
42424
+ const { toolCall, toolTitles, agentParticipant, buttonColor, onRequestAdvancedView, locale, chatUiTranslations } = options;
41952
42425
  const resultRaw = parseToolCallResult(toolCall.result);
41953
42426
  const args = parseToolCallArguments(toolCall);
41954
42427
  const toolCallDate = getToolCallTimestamp(toolCall);
@@ -42013,14 +42486,30 @@ function renderToolCallDetails(options) {
42013
42486
  const timeResultDate = getToolCallResultDate(resultRaw);
42014
42487
  const displayDate = timeResultDate || toolCallDate;
42015
42488
  const isValidDate = !!displayDate && !isNaN(displayDate.getTime());
42016
- const relativeLabel = toolCallDate ? `called ${moment(toolCallDate).fromNow()}` : null;
42017
- return (jsxs(Fragment, { children: [jsxs("div", { className: styles$5.searchModalHeader, children: [jsx("span", { className: styles$5.searchModalIcon, children: "\u23F0" }), jsx("h3", { className: styles$5.searchModalQuery, children: "Time at call" })] }), jsxs("div", { className: styles$5.searchModalContent, children: [isValidDate && displayDate ? (renderToolCallClockPanel({
42489
+ const toolCallDateLabels = toolCallDate
42490
+ ? formatToolCallDateTime(toolCallDate, { locale, currentDate: new Date() })
42491
+ : null;
42492
+ const relativeLabel = (toolCallDateLabels === null || toolCallDateLabels === void 0 ? void 0 : toolCallDateLabels.relativeTimeLabel) && (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeRelativeLabel)
42493
+ ? formatToolCallTranslationTemplate(chatUiTranslations.toolCallTimeRelativeLabel, {
42494
+ relative: toolCallDateLabels.relativeTimeLabel,
42495
+ })
42496
+ : (toolCallDateLabels === null || toolCallDateLabels === void 0 ? void 0 : toolCallDateLabels.relativeTimeLabel)
42497
+ ? formatToolCallTranslationTemplate('Called {relative}', {
42498
+ relative: toolCallDateLabels.relativeTimeLabel,
42499
+ })
42500
+ : null;
42501
+ const timezoneArg = typeof args.timezone === 'string' && args.timezone.trim() ? args.timezone.trim() : null;
42502
+ const timezoneLabel = timezoneArg
42503
+ ? `${(chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutTimezoneLabel) || 'Timezone:'} ${timezoneArg}`
42504
+ : null;
42505
+ return (jsxs(Fragment, { children: [jsxs("div", { className: styles$5.searchModalHeader, children: [jsx("span", { className: styles$5.searchModalIcon, children: "\u23F0" }), jsx("h3", { className: styles$5.searchModalQuery, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeTitle) || 'Time at call' })] }), jsxs("div", { className: styles$5.searchModalContent, children: [isValidDate && displayDate ? (renderToolCallClockPanel({
42018
42506
  date: displayDate,
42019
42507
  relativeLabel,
42020
- timezoneLabel: typeof args.timezone === 'string' && args.timezone.trim()
42021
- ? `Timezone: ${args.timezone.trim()}`
42022
- : null,
42023
- })) : (jsx("p", { className: styles$5.toolCallEmpty, children: "Unknown time" })), jsxs("div", { className: styles$5.toolCallDetails, children: [jsx("p", { children: jsx("strong", { children: "Timestamp of call:" }) }), jsx("div", { className: styles$5.toolCallDataContainer, children: jsx("pre", { className: styles$5.toolCallData, children: toolCallDate ? toolCallDate.toLocaleString() : 'Unknown' }) })] })] })] }));
42508
+ timezoneLabel,
42509
+ locale,
42510
+ })) : (jsx("p", { className: styles$5.toolCallEmpty, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeUnknown) || 'Unknown time' })), jsxs("div", { className: styles$5.toolCallDetails, children: [jsx("p", { children: jsx("strong", { children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeTimestampLabel) || 'Timestamp of call:' }) }), jsx("div", { className: styles$5.toolCallDataContainer, children: jsx("pre", { className: styles$5.toolCallData, children: (toolCallDateLabels === null || toolCallDateLabels === void 0 ? void 0 : toolCallDateLabels.localDateTimeLabel) ||
42511
+ (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeUnknown) ||
42512
+ 'Unknown time' }) })] })] })] }));
42024
42513
  }
42025
42514
  if (isTimeout) {
42026
42515
  const timeoutPresentation = resolveTimeoutToolCallPresentation({
@@ -42028,36 +42517,42 @@ function renderToolCallDetails(options) {
42028
42517
  args,
42029
42518
  resultRaw,
42030
42519
  currentDate: new Date(),
42520
+ locale,
42031
42521
  });
42032
42522
  const clockDate = (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.dueAtDate) || toolCallDate;
42033
42523
  const isValidClockDate = !!clockDate && !Number.isNaN(clockDate.getTime());
42034
42524
  const title = (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.action) === 'cancel'
42035
42525
  ? timeoutPresentation.status === 'cancelled'
42036
- ? 'Timeout cancelled'
42037
- : 'Timeout update'
42038
- : 'Timeout scheduled';
42526
+ ? (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutCancelledTitle) || 'Timeout cancelled'
42527
+ : (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutUpdateTitle) || 'Timeout update'
42528
+ : (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutTitle) || 'Timeout scheduled';
42039
42529
  const primarySentence = timeoutPresentation
42040
- ? buildTimeoutToolPrimarySentence(timeoutPresentation)
42041
- : 'Timeout details are still loading.';
42042
- const scheduleSentence = timeoutPresentation ? buildTimeoutToolScheduleSentence(timeoutPresentation) : null;
42530
+ ? buildTimeoutToolPrimarySentence(timeoutPresentation, chatUiTranslations)
42531
+ : (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutLoadingMessage) || 'Timeout details are still loading.';
42532
+ const scheduleSentence = timeoutPresentation
42533
+ ? buildTimeoutToolScheduleSentence(timeoutPresentation, chatUiTranslations)
42534
+ : null;
42043
42535
  const cancelCommand = (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.timeoutId) && timeoutPresentation.action !== 'cancel'
42044
42536
  ? createCancelTimeoutQuickActionCommand(timeoutPresentation.timeoutId)
42045
42537
  : null;
42046
42538
  const snoozeCommand = createSnoozeTimeoutQuickActionCommand((timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.message) || undefined);
42539
+ const timezoneLine = (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.localTimezone)
42540
+ ? `${(chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutTimezoneLabel) || 'Timezone:'} ${timeoutPresentation.localTimezone}`
42541
+ : null;
42047
42542
  return (jsxs(Fragment, { children: [jsxs("div", { className: styles$5.searchModalHeader, children: [jsx("span", { className: styles$5.searchModalIcon, children: "\u23F1\uFE0F" }), jsx("h3", { className: styles$5.searchModalQuery, children: title })] }), jsxs("div", { className: styles$5.searchModalContent, children: [isValidClockDate && clockDate ? (renderToolCallClockPanel({
42048
42543
  date: clockDate,
42049
42544
  relativeLabel: (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.relativeDueLabel) || null,
42050
- timezoneLabel: (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.localTimezone)
42051
- ? `Timezone: ${timeoutPresentation.localTimezone}`
42052
- : null,
42053
- })) : (jsx("p", { className: styles$5.toolCallEmpty, children: "Scheduled time is unavailable." })), jsxs("div", { className: styles$5.timeoutToolSummary, children: [jsx("p", { className: styles$5.timeoutToolPrimarySentence, children: primarySentence }), scheduleSentence && jsx("p", { className: styles$5.timeoutToolSecondarySentence, children: scheduleSentence }), (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.localDueDateLabel) && (jsxs("p", { className: styles$5.timeoutToolSecondarySentence, children: ["Date: ", timeoutPresentation.localDueDateLabel] })), (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.message) && (jsxs("p", { className: styles$5.timeoutToolSecondarySentence, children: ["Message: ", timeoutPresentation.message] }))] }), jsxs("div", { className: styles$5.timeoutToolActionRow, role: "group", "aria-label": "Timeout quick actions", children: [jsx("button", { type: "button", className: styles$5.timeoutToolActionButton, onClick: () => {
42545
+ timezoneLabel: timezoneLine,
42546
+ locale,
42547
+ })) : (jsx("p", { className: styles$5.toolCallEmpty, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutUnavailableMessage) || 'Scheduled time is unavailable.' })), jsxs("div", { className: styles$5.timeoutToolSummary, children: [jsx("p", { className: styles$5.timeoutToolPrimarySentence, children: primarySentence }), scheduleSentence && jsx("p", { className: styles$5.timeoutToolSecondarySentence, children: scheduleSentence }), (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.localDueDateLabel) && (jsxs("p", { className: styles$5.timeoutToolSecondarySentence, children: [(chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutDateLabel) || 'Date:', ' ', timeoutPresentation.localDueDateLabel] })), (timeoutPresentation === null || timeoutPresentation === void 0 ? void 0 : timeoutPresentation.message) && (jsxs("p", { className: styles$5.timeoutToolSecondarySentence, children: [(chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutMessageLabel) || 'Message:', ' ', timeoutPresentation.message] }))] }), jsxs("div", { className: styles$5.timeoutToolActionRow, role: "group", "aria-label": (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutActionGroupLabel) || 'Timeout quick actions', children: [jsx("button", { type: "button", className: styles$5.timeoutToolActionButton, onClick: () => {
42054
42548
  if (!cancelCommand) {
42055
42549
  return;
42056
42550
  }
42057
42551
  copyTimeoutQuickActionCommand(cancelCommand);
42058
- }, disabled: !cancelCommand, "aria-label": "Cancel timeout", children: "Cancel" }), jsx("button", { type: "button", className: styles$5.timeoutToolActionButton, onClick: () => {
42552
+ }, disabled: !cancelCommand, "aria-label": (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutCancelAriaLabel) || 'Cancel timeout', children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutCancelButton) || 'Cancel' }), jsx("button", { type: "button", className: styles$5.timeoutToolActionButton, onClick: () => {
42059
42553
  copyTimeoutQuickActionCommand(snoozeCommand);
42060
- }, "aria-label": "Snooze timeout", children: "Snooze" }), onRequestAdvancedView && (jsx("button", { type: "button", className: styles$5.timeoutToolActionButton, onClick: onRequestAdvancedView, "aria-label": "View advanced timeout details", children: "View advanced" }))] })] })] }));
42554
+ }, "aria-label": (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutSnoozeAriaLabel) || 'Snooze timeout', children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutSnoozeButton) || 'Snooze' }), onRequestAdvancedView && (jsx("button", { type: "button", className: styles$5.timeoutToolActionButton, onClick: onRequestAdvancedView, "aria-label": (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutViewAdvancedAriaLabel) ||
42555
+ 'View advanced timeout details', children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallTimeoutViewAdvancedButton) || 'View advanced' }))] })] })] }));
42061
42556
  }
42062
42557
  if (isEmail) {
42063
42558
  const to = args.to || [];
@@ -42073,7 +42568,7 @@ function renderToolCallDetails(options) {
42073
42568
  const status = typeof (emailResult === null || emailResult === void 0 ? void 0 : emailResult.status) === 'string' ? emailResult.status : null;
42074
42569
  return (jsxs(Fragment, { children: [jsxs("div", { className: classNames(styles$5.searchModalHeader, styles$5.emailModalHeader), children: [jsx("span", { className: styles$5.searchModalIcon, children: jsx(EmailIcon, { size: 26 }) }), jsxs("div", { className: styles$5.emailHeaderText, children: [jsx("span", { className: styles$5.emailHeaderLabel, children: "Email" }), jsx("h3", { className: styles$5.searchModalQuery, children: subject })] })] }), jsx("div", { className: styles$5.searchModalContent, children: jsxs("div", { className: styles$5.emailContainer, children: [jsxs("div", { className: styles$5.emailMetadata, children: [jsxs("div", { className: styles$5.emailField, children: [jsx("strong", { children: "From:" }), jsx("span", { className: styles$5.emailRecipients, children: from })] }), jsxs("div", { className: styles$5.emailField, children: [jsx("strong", { children: "To:" }), jsx("span", { className: styles$5.emailRecipients, children: recipients.join(', ') })] }), ccRecipients.length > 0 && (jsxs("div", { className: styles$5.emailField, children: [jsx("strong", { children: "CC:" }), jsx("span", { className: styles$5.emailRecipients, children: ccRecipients.join(', ') })] })), jsxs("div", { className: styles$5.emailField, children: [jsx("strong", { children: "Subject:" }), jsx("span", { children: subject })] }), status && (jsxs("div", { className: styles$5.emailField, children: [jsx("strong", { children: "Status:" }), jsx("span", { className: styles$5.emailStatus, children: status })] }))] }), jsxs("div", { className: styles$5.emailBody, children: [jsx("strong", { children: "Message:" }), jsx("div", { className: styles$5.emailBodyContent, children: jsx(MarkdownContent, { content: body }) })] })] }) })] }));
42075
42570
  }
42076
- const chipletInfo = getToolCallChipletInfo(toolCall);
42571
+ const chipletInfo = getToolCallChipletInfo(toolCall, locale, toolTitles, chatUiTranslations);
42077
42572
  const toolMetadata = TOOL_TITLES[toolCall.name];
42078
42573
  const headerEmoji = (toolMetadata === null || toolMetadata === void 0 ? void 0 : toolMetadata.emoji) || extractLeadingEmoji(chipletInfo.text) || '🛠️';
42079
42574
  const headerTitle = (toolTitles === null || toolTitles === void 0 ? void 0 : toolTitles[toolCall.name]) || (toolMetadata === null || toolMetadata === void 0 ? void 0 : toolMetadata.title) || chipletInfo.text || toolCall.name;
@@ -42765,7 +43260,7 @@ function TeamToolCallModalContent(options) {
42765
43260
  },
42766
43261
  ];
42767
43262
  return (jsxs(Fragment, { children: [jsx("div", { className: classNames(styles$5.searchModalHeader, styles$5.teamModalHeader), children: jsxs("div", { className: styles$5.teamHeaderParticipants, children: [jsx(TeamHeaderProfile, { label: resolvedAgentLabel, avatarSrc: resolvedAgentAvatar, fallbackColor: resolvedAgentHeaderColor }), jsx("span", { className: styles$5.teamHeaderDivider, children: "talking with" }), jsx(TeamHeaderProfile, { label: resolvedTeammateLabel, avatarSrc: resolvedTeammateAvatar, fallbackColor: "#0ea5e9", href: teammateLink })] }) }), jsxs("div", { className: styles$5.searchModalContent, children: [messages.length > 0 ? (jsx("div", { className: styles$5.teamChatContainer, children: jsx(MockedChat, { title: `Chat between ${resolvedAgentLabel} and ${resolvedTeammateLabel}`, messages: messages, participants: participants, isResettable: false, isPausable: false, isSaveButtonEnabled: false, isCopyButtonEnabled: false, visual: "STANDALONE", delayConfig: FAST_FLOW }) })) : (jsx("div", { className: styles$5.noResults, children: "No teammate conversation available." })), (hasTeamToolCalls || hasTeamCitations) && (jsxs("div", { className: styles$5.teamToolCallSection, children: [hasTeamToolCalls && (jsxs("div", { className: styles$5.teamToolCallGroup, children: [jsx("div", { className: styles$5.teamToolCallHeading, children: "Actions" }), jsx("div", { className: styles$5.teamToolCallChips, children: teamToolCalls.map((toolCallEntry, index) => {
42768
- const chipletInfo = getToolCallChipletInfo(toolCallEntry.toolCall);
43263
+ const chipletInfo = getToolCallChipletInfo(toolCallEntry.toolCall, undefined, toolTitles);
42769
43264
  const chipletText = buildToolCallChipText(chipletInfo);
42770
43265
  return (jsxs("button", { className: styles$5.completedToolCall, onClick: () => {
42771
43266
  onSelectTeamToolCall(toolCallEntry);
@@ -42784,7 +43279,7 @@ function TeamToolCallModalContent(options) {
42784
43279
  * @private component of `<Chat/>`
42785
43280
  */
42786
43281
  function ChatToolCallModal(props) {
42787
- const { isOpen, toolCall, toolCallIdentity, onClose, toolTitles, agentParticipant, buttonColor, teamAgentProfiles, } = props;
43282
+ const { isOpen, toolCall, toolCallIdentity, onClose, toolTitles, agentParticipant, buttonColor, teamAgentProfiles, chatUiTranslations, locale, availableTools, } = props;
42788
43283
  const [teamProfiles, setTeamProfiles] = useState({});
42789
43284
  const [selectedTeamToolCall, setSelectedTeamToolCall] = useState(null);
42790
43285
  const [viewMode, setViewMode] = useState('simple');
@@ -42916,6 +43411,7 @@ function ChatToolCallModal(props) {
42916
43411
  const modalContent = viewMode === 'advanced' ? (renderAdvancedToolCallDetails({
42917
43412
  toolCall: focusedToolCall,
42918
43413
  toolTitles,
43414
+ availableTools,
42919
43415
  })) : (teamResult === null || teamResult === void 0 ? void 0 : teamResult.teammate) ? (jsx(TeamToolCallModalContent, { teamResult: teamResult, toolCallDate: toolCallDate, teamToolCallSummary: teamToolCallSummary, selectedTeamToolCall: selectedTeamToolCall, onSelectTeamToolCall: setSelectedTeamToolCall, onClearSelectedTeamToolCall: () => {
42920
43416
  setSelectedTeamToolCall(null);
42921
43417
  }, teamProfiles: teamProfiles, toolTitles: toolTitles, agentParticipant: agentParticipant, buttonColor: buttonColor })) : (renderToolCallDetails({
@@ -42926,18 +43422,22 @@ function ChatToolCallModal(props) {
42926
43422
  onRequestAdvancedView: () => {
42927
43423
  setViewMode('advanced');
42928
43424
  },
43425
+ locale,
43426
+ chatUiTranslations,
42929
43427
  }));
42930
43428
  return (jsx("div", { className: styles$5.ratingModal, onClick: (event) => {
42931
43429
  if (event.target === event.currentTarget) {
42932
43430
  onClose();
42933
43431
  }
42934
- }, children: jsxs("div", { ref: modalDialogRef, className: classNames(styles$5.ratingModalContent, styles$5.toolCallModal), role: "dialog", "aria-modal": "true", "aria-label": "Tool call details", tabIndex: -1, children: [jsx("button", { type: "button", className: styles$5.modalCloseButton, onClick: onClose, "aria-label": "Close tool call details", children: jsx(CloseIcon, {}) }), modalContent, jsxs("div", { className: styles$5.toolCallModeFooter, children: [viewMode === 'advanced' && (jsxs(Fragment, { children: [jsx("button", { type: "button", className: styles$5.toolCallModeButton, onClick: () => {
43432
+ }, children: jsxs("div", { ref: modalDialogRef, className: classNames(styles$5.ratingModalContent, styles$5.toolCallModal), role: "dialog", "aria-modal": "true", "aria-label": (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallModalTitle) || 'Tool call details', tabIndex: -1, children: [jsx("button", { type: "button", className: styles$5.modalCloseButton, onClick: onClose, "aria-label": (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallModalCloseLabel) || 'Close tool call details', children: jsx(CloseIcon, {}) }), modalContent, jsxs("div", { className: styles$5.toolCallModeFooter, children: [viewMode === 'advanced' && (jsxs(Fragment, { children: [jsx("button", { type: "button", className: styles$5.toolCallModeButton, onClick: () => {
42935
43433
  void handleAdvancedToolCallReportExport('clipboard');
42936
- }, children: "Copy" }), jsx("button", { type: "button", className: styles$5.toolCallModeButton, onClick: () => {
43434
+ }, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallModalCopyLabel) || 'Copy' }), jsx("button", { type: "button", className: styles$5.toolCallModeButton, onClick: () => {
42937
43435
  void handleAdvancedToolCallReportExport('file');
42938
- }, children: "Save" })] })), jsx("button", { type: "button", className: styles$5.toolCallModeButton, onClick: () => {
43436
+ }, children: (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallModalSaveLabel) || 'Save' })] })), jsx("button", { type: "button", className: styles$5.toolCallModeButton, onClick: () => {
42939
43437
  setViewMode((previous) => (previous === 'simple' ? 'advanced' : 'simple'));
42940
- }, children: viewMode === 'simple' ? 'Advanced' : 'Simple' })] })] }) }));
43438
+ }, children: viewMode === 'simple'
43439
+ ? (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallModalAdvancedLabel) || 'Advanced'
43440
+ : (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.toolCallModalSimpleLabel) || 'Simple' })] })] }) }));
42941
43441
  }
42942
43442
 
42943
43443
  /**
@@ -42996,7 +43496,7 @@ function isLatestMessageVisible(chatMessagesElement, messageSelector) {
42996
43496
  * @public exported from `@promptbook/components`
42997
43497
  */
42998
43498
  function Chat(props) {
42999
- const { title = 'Chat', messages, onChange, onMessage, onActionButton, onReset, resetRequiresConfirmation = true, onFeedback, feedbackMode = 'stars', feedbackTranslations, onFileUpload, speechRecognition, placeholderMessageContent, defaultMessage, enterBehavior, resolveEnterBehavior, children, className, style, isAiTextHumanizedAndPromptbookified = true, isVoiceCalling = false, isFocusedOnLoad, participants = [], extraActions, actionsContainer, saveFormats, isSaveButtonEnabled = true, isCopyButtonEnabled = true, buttonColor: buttonColorRaw, onUseTemplate, onCreateAgent, toolTitles, teammates, teamAgentProfiles, visual, effectConfigs, soundSystem, speechRecognitionLanguage, isSpeechPlaybackEnabled = true, elevenLabsVoiceId, } = props;
43499
+ const { title = 'Chat', messages, onChange, onMessage, onActionButton, onQuickMessageButton, onReset, resetRequiresConfirmation = true, onFeedback, feedbackMode = 'stars', feedbackTranslations, timingTranslations, onFileUpload, chatLocale, speechRecognition, placeholderMessageContent, defaultMessage, enterBehavior, resolveEnterBehavior, children, className, style, isAiTextHumanizedAndPromptbookified = true, isVoiceCalling = false, isFocusedOnLoad, participants = [], extraActions, actionsContainer, saveFormats, isSaveButtonEnabled = true, isCopyButtonEnabled = true, buttonColor: buttonColorRaw, onUseTemplate, onCreateAgent, toolTitles, teammates, teamAgentProfiles, visual, CHAT_VISUAL_MODE = 'BUBBLE_MODE', effectConfigs, soundSystem, speechRecognitionLanguage, isSpeechPlaybackEnabled = true, elevenLabsVoiceId, chatUiTranslations, } = props;
43000
43500
  const buttonColor = useMemo(() => Color.from(buttonColorRaw || '#0066cc'), [buttonColorRaw]);
43001
43501
  const agentParticipant = useMemo(() => participants.find((participant) => participant.name === 'AGENT'), [participants]);
43002
43502
  const postprocessedMessages = useMemo(() => {
@@ -43080,6 +43580,27 @@ function Chat(props) {
43080
43580
  const [selectedCitation, setSelectedCitation] = useState(null);
43081
43581
  const [mode] = useState('LIGHT');
43082
43582
  const selectedToolCall = useMemo(() => resolveToolCallFromChatMessages(postprocessedMessages, (selectedToolCallState === null || selectedToolCallState === void 0 ? void 0 : selectedToolCallState.identity) || null, (selectedToolCallState === null || selectedToolCallState === void 0 ? void 0 : selectedToolCallState.fallbackToolCall) || null), [postprocessedMessages, selectedToolCallState]);
43583
+ const selectedMessageAvailableTools = useMemo(() => {
43584
+ var _a;
43585
+ const identity = selectedToolCallState === null || selectedToolCallState === void 0 ? void 0 : selectedToolCallState.identity;
43586
+ if (!identity) {
43587
+ return undefined;
43588
+ }
43589
+ for (let index = postprocessedMessages.length - 1; index >= 0; index -= 1) {
43590
+ const message = postprocessedMessages[index];
43591
+ const candidateToolCalls = [
43592
+ ...(message.toolCalls || []),
43593
+ ...(message.completedToolCalls || []),
43594
+ ...(message.ongoingToolCalls || []),
43595
+ ];
43596
+ for (const candidateToolCall of candidateToolCalls) {
43597
+ if (getToolCallIdentity(candidateToolCall) === identity) {
43598
+ return ((_a = message.prompt) === null || _a === void 0 ? void 0 : _a.availableTools) || message.availableTools;
43599
+ }
43600
+ }
43601
+ }
43602
+ return undefined;
43603
+ }, [postprocessedMessages, selectedToolCallState]);
43083
43604
  useEffect(() => {
43084
43605
  handleMessagesChange(isStreamingAgentMessage);
43085
43606
  const animationFrame = requestAnimationFrame(() => {
@@ -43113,66 +43634,11 @@ function Chat(props) {
43113
43634
  (isSaveButtonEnabled && postprocessedMessages.length !== 0) ||
43114
43635
  !!onUseTemplate ||
43115
43636
  !!extraActions;
43116
- const previousMessagesLengthRef = useRef(messages.length);
43117
- const streamingMessageIdRef = useRef(null);
43118
- const streamingMessageContentRef = useRef(null);
43119
- useEffect(() => {
43120
- if (!soundSystem || messages.length === 0) {
43121
- return;
43122
- }
43123
- const lastMessage = messages[messages.length - 1];
43124
- if (!lastMessage) {
43125
- return;
43126
- }
43127
- if (messages.length > previousMessagesLengthRef.current) {
43128
- if (lastMessage.sender !== 'USER') {
43129
- if (lastMessage.isComplete) {
43130
- /* not await */ soundSystem.play('message_receive');
43131
- }
43132
- else {
43133
- /* not await */ soundSystem.play('message_typing');
43134
- }
43135
- }
43136
- }
43137
- else if (messages.length === previousMessagesLengthRef.current && lastMessage.sender !== 'USER') {
43138
- if (lastMessage.isComplete) {
43139
- /* not await */ soundSystem.play('message_receive');
43140
- }
43141
- }
43142
- previousMessagesLengthRef.current = messages.length;
43143
- }, [messages, soundSystem]);
43144
- useEffect(() => {
43145
- var _a, _b;
43146
- if (!soundSystem) {
43147
- streamingMessageIdRef.current = null;
43148
- streamingMessageContentRef.current = null;
43149
- return;
43150
- }
43151
- if (postprocessedMessages.length === 0) {
43152
- streamingMessageIdRef.current = null;
43153
- streamingMessageContentRef.current = null;
43154
- return;
43155
- }
43156
- const lastMessage = postprocessedMessages[postprocessedMessages.length - 1];
43157
- if (!lastMessage || lastMessage.sender === 'USER' || lastMessage.isComplete) {
43158
- streamingMessageIdRef.current = null;
43159
- streamingMessageContentRef.current = null;
43160
- return;
43161
- }
43162
- const lastMessageId = (_a = lastMessage.id) !== null && _a !== void 0 ? _a : null;
43163
- if (streamingMessageIdRef.current !== lastMessageId) {
43164
- streamingMessageIdRef.current = lastMessageId;
43165
- streamingMessageContentRef.current = lastMessage.content;
43166
- return;
43167
- }
43168
- if (streamingMessageContentRef.current !== lastMessage.content) {
43169
- streamingMessageContentRef.current = lastMessage.content;
43170
- (_b = soundSystem.vibrate) === null || _b === void 0 ? void 0 : _b.call(soundSystem, 'message_stream_chunk');
43171
- }
43172
- }, [postprocessedMessages, soundSystem]);
43637
+ const isConstrainedArticleMode = CHAT_VISUAL_MODE === 'ARTICLE_MODE' && visual === 'FULL_PAGE';
43638
+ useChatCompleteNotification(messages, soundSystem);
43173
43639
  return (jsxs(Fragment, { children: [feedbackStatus && (jsx("div", { className: classNames(styles$5.feedbackStatus, feedbackStatus.variant === 'success'
43174
43640
  ? styles$5.feedbackStatusSuccess
43175
- : styles$5.feedbackStatusError), "aria-live": "polite", role: "status", children: feedbackStatus.message })), effectConfigs && effectConfigs.length > 0 && (jsx(ChatEffectsSystem, { messages: postprocessedMessages, effectConfigs: effectConfigs, soundSystem: soundSystem })), jsx("div", { className: classNames(className, styles$5.Chat, visual === 'STANDALONE' && styles$5.standaloneVisual, visual === 'FULL_PAGE' && styles$5.fullPageVisual, getChatCssClassName('Chat'), chatCssClassNames.chat), style, children: jsxs("div", { className: classNames(className, styles$5.chatMainFlow, getChatCssClassName('chatMainFlow'), chatCssClassNames.chatMainFlow), children: [children && jsx("div", { className: classNames(styles$5.chatChildren), children: children }), shouldShowScrollToBottom && (jsx("div", { className: styles$5.scrollToBottomContainer, children: jsxs("div", { className: styles$5.scrollToBottomWrapper, children: [jsx(SolidArrowButton, { "data-button-type": "custom", direction: "down", iconSize: 33, className: classNames(styles$5.scrollToBottom, scrollToBottomCssClassName), onClick: handleButtonClick(scrollToBottom), "aria-label": ariaLabel, title: ariaLabel }), badgeLabel && (jsx("span", { className: styles$5.scrollToBottomBadge, "aria-live": "polite", role: "status", children: badgeLabel }))] }) })), isVoiceCalling && (jsx("div", { className: styles$5.voiceCallIndicatorBar, children: jsxs("div", { className: styles$5.voiceCallIndicator, children: [jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }), jsx("span", { children: "Voice call active" }), jsx("div", { className: styles$5.voiceCallPulse })] }) })), jsx(ChatActionsBar, { actionsRef: actionsRef, actionsContainer: actionsContainer, messages: postprocessedMessages, participants: participants, title: title, onReset: onReset, resetRequiresConfirmation: resetRequiresConfirmation, onUseTemplate: onUseTemplate, extraActions: extraActions, saveFormats: saveFormats, isSaveButtonEnabled: isSaveButtonEnabled, shouldFadeActions: shouldFadeActions, shouldDisableActions: shouldDisableActions, onButtonClick: handleButtonClick }), jsx(ChatMessageList, { messages: postprocessedMessages, participants: participants, expandedMessageId: expandedMessageId, messageRatings: messageRatings, setExpandedMessageId: setExpandedMessageId, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, onCopy: handleCopy, onMessage: onMessage, onActionButton: onActionButton, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, soundSystem: soundSystem, onToolCallClick: (toolCall) => {
43641
+ : styles$5.feedbackStatusError), "aria-live": "polite", role: "status", children: feedbackStatus.message })), effectConfigs && effectConfigs.length > 0 && (jsx(ChatEffectsSystem, { messages: postprocessedMessages, effectConfigs: effectConfigs, soundSystem: soundSystem })), jsx("div", { className: classNames(className, styles$5.Chat, visual === 'STANDALONE' && styles$5.standaloneVisual, visual === 'FULL_PAGE' && styles$5.fullPageVisual, isConstrainedArticleMode && styles$5.constrainedArticleVisual, getChatCssClassName('Chat'), chatCssClassNames.chat), style, children: jsxs("div", { className: classNames(className, styles$5.chatMainFlow, getChatCssClassName('chatMainFlow'), chatCssClassNames.chatMainFlow), children: [children && jsx("div", { className: classNames(styles$5.chatChildren), children: children }), shouldShowScrollToBottom && (jsx("div", { className: styles$5.scrollToBottomContainer, children: jsxs("div", { className: styles$5.scrollToBottomWrapper, children: [jsx(SolidArrowButton, { "data-button-type": "custom", direction: "down", iconSize: 33, className: classNames(styles$5.scrollToBottom, scrollToBottomCssClassName), onClick: handleButtonClick(scrollToBottom), "aria-label": ariaLabel, title: ariaLabel }), badgeLabel && (jsx("span", { className: styles$5.scrollToBottomBadge, "aria-live": "polite", role: "status", children: badgeLabel }))] }) })), isVoiceCalling && (jsx("div", { className: styles$5.voiceCallIndicatorBar, children: jsxs("div", { className: styles$5.voiceCallIndicator, children: [jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }), jsx("span", { children: "Voice call active" }), jsx("div", { className: styles$5.voiceCallPulse })] }) })), jsx(ChatActionsBar, { actionsRef: actionsRef, actionsContainer: actionsContainer, messages: postprocessedMessages, participants: participants, title: title, onReset: onReset, resetRequiresConfirmation: resetRequiresConfirmation, onUseTemplate: onUseTemplate, extraActions: extraActions, saveFormats: saveFormats, isSaveButtonEnabled: isSaveButtonEnabled, shouldFadeActions: shouldFadeActions, shouldDisableActions: shouldDisableActions, chatUiTranslations: chatUiTranslations, onButtonClick: handleButtonClick }), jsx(ChatMessageList, { messages: postprocessedMessages, participants: participants, expandedMessageId: expandedMessageId, messageRatings: messageRatings, setExpandedMessageId: setExpandedMessageId, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, timingTranslations: timingTranslations, chatLocale: chatLocale, onCopy: handleCopy, onMessage: onMessage, onActionButton: onActionButton, onQuickMessageButton: onQuickMessageButton, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, CHAT_VISUAL_MODE: CHAT_VISUAL_MODE, soundSystem: soundSystem, onToolCallClick: (toolCall) => {
43176
43642
  setSelectedToolCallState({
43177
43643
  identity: getToolCallIdentity(toolCall),
43178
43644
  fallbackToolCall: toolCall,
@@ -43181,10 +43647,10 @@ function Chat(props) {
43181
43647
  }, onCitationClick: (citation) => {
43182
43648
  setSelectedCitation(citation);
43183
43649
  setCitationModalOpen(true);
43184
- }, setChatMessagesElement: setChatMessagesElement, onScroll: handleChatScroll, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatMessagesClassName: classNames(getChatCssClassName('chatMessages'), chatCssClassNames.chatMessages), hasActions: hasActions }), onMessage && (jsx(ChatInputArea, { onMessage: onMessage, onChange: onChange, onFileUpload: onFileUpload, speechRecognition: speechRecognition, speechRecognitionLanguage: speechRecognitionLanguage, defaultMessage: defaultMessage, enterBehavior: enterBehavior, resolveEnterBehavior: resolveEnterBehavior, placeholderMessageContent: placeholderMessageContent, isFocusedOnLoad: isFocusedOnLoad, isMobile: isMobileFromHook, isVoiceCalling: isVoiceCalling, participants: participants, buttonColor: buttonColor, soundSystem: soundSystem, onButtonClick: handleButtonClick, chatInputClassName: classNames(getChatCssClassName('chatInput'), chatCssClassNames.chatInput) }))] }) }), jsx(ChatToolCallModal, { isOpen: toolCallModalOpen, toolCall: selectedToolCall, toolCallIdentity: (selectedToolCallState === null || selectedToolCallState === void 0 ? void 0 : selectedToolCallState.identity) || null, onClose: () => {
43650
+ }, setChatMessagesElement: setChatMessagesElement, onScroll: handleChatScroll, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatUiTranslations: chatUiTranslations, chatMessagesClassName: classNames(isConstrainedArticleMode && styles$5.articleModeChatMessages, getChatCssClassName('chatMessages'), chatCssClassNames.chatMessages), hasActions: hasActions }), onMessage && (jsx(ChatInputArea, { onMessage: onMessage, onChange: onChange, onFileUpload: onFileUpload, speechRecognition: speechRecognition, speechRecognitionLanguage: speechRecognitionLanguage, defaultMessage: defaultMessage, enterBehavior: enterBehavior, resolveEnterBehavior: resolveEnterBehavior, placeholderMessageContent: placeholderMessageContent || (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.inputPlaceholder), isFocusedOnLoad: isFocusedOnLoad, isMobile: isMobileFromHook, isVoiceCalling: isVoiceCalling, participants: participants, buttonColor: buttonColor, soundSystem: soundSystem, onButtonClick: handleButtonClick, chatInputClassName: classNames(isConstrainedArticleMode && styles$5.articleModeChatInput, getChatCssClassName('chatInput'), chatCssClassNames.chatInput) }))] }) }), jsx(ChatToolCallModal, { isOpen: toolCallModalOpen, toolCall: selectedToolCall, toolCallIdentity: (selectedToolCallState === null || selectedToolCallState === void 0 ? void 0 : selectedToolCallState.identity) || null, onClose: () => {
43185
43651
  setToolCallModalOpen(false);
43186
43652
  setSelectedToolCallState(null);
43187
- }, toolTitles: toolTitles, agentParticipant: agentParticipant, buttonColor: buttonColor, teamAgentProfiles: teamAgentProfiles }), jsx(ChatCitationModal, { isOpen: citationModalOpen, citation: selectedCitation, participants: participants, soundSystem: soundSystem, onClose: () => setCitationModalOpen(false) }), jsx(ChatRatingModal, { isOpen: ratingModalOpen, selectedMessage: selectedMessage, postprocessedMessages: postprocessedMessages, messages: messages, hoveredRating: hoveredRating, messageRatings: messageRatings, textRating: textRating, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, mode: mode, isMobile: isMobileFromHook, onClose: () => setRatingModalOpen(false), setHoveredRating: setHoveredRating, setMessageRatings: setMessageRatings, setSelectedMessage: setSelectedMessage, setTextRating: setTextRating, submitRating: submitRating })] }));
43653
+ }, toolTitles: toolTitles, agentParticipant: agentParticipant, buttonColor: buttonColor, teamAgentProfiles: teamAgentProfiles, chatUiTranslations: chatUiTranslations, locale: chatLocale, availableTools: selectedMessageAvailableTools }), jsx(ChatCitationModal, { isOpen: citationModalOpen, citation: selectedCitation, participants: participants, soundSystem: soundSystem, onClose: () => setCitationModalOpen(false) }), jsx(ChatRatingModal, { isOpen: ratingModalOpen, selectedMessage: selectedMessage, postprocessedMessages: postprocessedMessages, messages: messages, hoveredRating: hoveredRating, messageRatings: messageRatings, textRating: textRating, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, mode: mode, isMobile: isMobileFromHook, onClose: () => setRatingModalOpen(false), setHoveredRating: setHoveredRating, setMessageRatings: setMessageRatings, setSelectedMessage: setSelectedMessage, setTextRating: setTextRating, submitRating: submitRating })] }));
43188
43654
  }
43189
43655
 
43190
43656
  /**
@@ -43257,6 +43723,9 @@ class ChatPersistence {
43257
43723
  return serializableMessages.map((message) => ({
43258
43724
  ...message,
43259
43725
  createdAt: message.createdAt,
43726
+ // Clear transient streaming state so stale "Preparing agent" chips are not
43727
+ // shown after a page reload — the streaming session is gone at that point.
43728
+ ongoingToolCalls: message.isComplete === true ? message.ongoingToolCalls : undefined,
43260
43729
  }));
43261
43730
  }
43262
43731
  catch (error) {