@memberjunction/ng-conversations 5.48.0 → 5.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +10 -0
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +74 -14
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +76 -5
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +314 -161
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +7 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js +45 -23
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts +16 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js +439 -351
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts +25 -3
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
- package/dist/lib/components/export/export-modal.component.js +172 -34
- package/dist/lib/components/export/export-modal.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +6 -1
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +21 -3
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +58 -1
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +390 -224
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +36 -1
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +102 -4
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.js +2 -2
- package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.js.map +1 -1
- package/dist/lib/components/realtime/media/realtime-media-surface.component.js +2 -2
- package/dist/lib/components/realtime/media/realtime-media-surface.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +14 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +38 -5
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/slots/slot-interfaces.d.ts +23 -1
- package/dist/lib/components/slots/slot-interfaces.d.ts.map +1 -1
- package/dist/lib/components/slots/slot-interfaces.js.map +1 -1
- package/dist/lib/directives/chat-slot.directive.d.ts +10 -2
- package/dist/lib/directives/chat-slot.directive.d.ts.map +1 -1
- package/dist/lib/directives/chat-slot.directive.js.map +1 -1
- package/dist/lib/models/lazy-artifact-info.d.ts +8 -7
- package/dist/lib/models/lazy-artifact-info.d.ts.map +1 -1
- package/dist/lib/models/lazy-artifact-info.js +12 -11
- package/dist/lib/models/lazy-artifact-info.js.map +1 -1
- package/dist/lib/services/export.service.d.ts +149 -0
- package/dist/lib/services/export.service.d.ts.map +1 -1
- package/dist/lib/services/export.service.js +270 -36
- package/dist/lib/services/export.service.js.map +1 -1
- package/package.json +29 -29
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ The widget exposes three layers of extension:
|
|
|
10
10
|
|
|
11
11
|
| Surface | What it lets you do |
|
|
12
12
|
|---|---|
|
|
13
|
-
| **
|
|
13
|
+
| **7 named slots** (`mjChatSlot` directive) | Replace the `header`, `emptyState`, `agentPresence`, `messageRenderer`, `messageExtra`, or `demonstrationSurface` regions with your own templates — or ADD to the default header with `headerActions` (renders inside the default header's action strip, after the stock buttons; suppressed when a full `header` replacement is projected). Three consumption modes: project an ad-hoc template, wrap the exported default for containment, or subclass the default. |
|
|
14
14
|
| **Before/After cancelable events** | `(beforeAgentTurn)`, `(beforeToolInvoked)`, `(beforeResponseFormSubmitted)` let you observe AND veto (`event.Cancel = true`) before the action runs. Plus informational `(sessionStarted)` / `(sessionChannelStateChanged)` / `(sessionEnded)` for realtime lifecycle. |
|
|
15
15
|
| **`--mj-chat-*` design tokens** | Override bubble colors, composer chrome, character accents, and voice-state hues via standard CSS custom-property overrides. Defaults adapt to dark mode through semantic `--mj-*` tokens. |
|
|
16
16
|
|
|
@@ -111,6 +111,104 @@ The chat area handles message display, input, and agent interactions:
|
|
|
111
111
|
</mj-conversation-chat-area>
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
+
#### Feature toggles
|
|
115
|
+
|
|
116
|
+
Embedding products (white-labeled end-user apps, embedded widgets) can pare the chat surface down through the component contract — no CSS overrides on internal class names. All default to `true`, so existing consumers are unaffected. Set to `false` to remove the feature entirely (the affordance is not rendered, not merely disabled):
|
|
117
|
+
|
|
118
|
+
| Input | Gates |
|
|
119
|
+
|---|---|
|
|
120
|
+
| `allowMentions` | MASTER switch for the composer's mention/command triggers (`@` agents, `#` entities, `/` skills). When `false`, all are off regardless of the per-type flags below |
|
|
121
|
+
| `allowAgentMentions` | The `@` agent/user mention trigger (under `allowMentions`). Set `false` on a surface pinned to a default agent that wants `/` skills but not `@` — an `@` overrides the pinned agent in message routing |
|
|
122
|
+
| `allowEntityMentions` | The `#` entity/query mention trigger (under `allowMentions`) |
|
|
123
|
+
| `allowSkillCommands` | The `/` skill-command trigger (under `allowMentions`) |
|
|
124
|
+
| `allowAttachments` | The file-attachment button |
|
|
125
|
+
| `allowPlanMode` | The composer's Plan Mode toggle button |
|
|
126
|
+
| `allowRealtime` | The composer's real-time voice (co-agent) launcher button |
|
|
127
|
+
| `showEmptyFill` | The message list's built-in "No messages yet" filler |
|
|
128
|
+
| `showLoadingState` | The centered loading spinner (loading still short-circuits rendering, so hiding it does not flash the empty state) |
|
|
129
|
+
| `showAgentPicker` | The agent picker |
|
|
130
|
+
| `showAgentModePicker` | The agent-mode picker |
|
|
131
|
+
| `showExportButton` | The conversation export button |
|
|
132
|
+
| `showShareButton` | The conversation share button |
|
|
133
|
+
| `showArtifactIndicator` | The artifact indicator |
|
|
134
|
+
| `showAgentRunDetails` | The per-message agent run-details section — the expander header AND its grid (run ID, step/token counts, **$ cost**) — developer/observability data most end-user surfaces hide. The gear button that opens the panel is itself hidden when nothing would be left in it (no run details, no associated tasks, and no delete/pin/rating overflow), so an end-user surface gets no dead control rather than one that opens an empty popup |
|
|
135
|
+
| `showReactions` | The per-message reaction buttons (like / comment) |
|
|
136
|
+
| `showMessageRating` | The per-message thumbs rating control |
|
|
137
|
+
| `allowPinning` | Message pinning (per-message pin button, header pin chip, pinned-messages panel) |
|
|
138
|
+
| `allowMessageEdit` | The per-message edit button (owner's own messages) |
|
|
139
|
+
| `allowMessageDelete` | The per-message delete button (owner's own messages) |
|
|
140
|
+
| `showSuggestedPrompts` | The empty-state's built-in suggested-prompt chips |
|
|
141
|
+
| `showDateNavigation` | The message list's sticky date header + jump-to-date navigation |
|
|
142
|
+
|
|
143
|
+
```html
|
|
144
|
+
<!-- e.g. a minimal, single-agent end-user surface -->
|
|
145
|
+
<mj-conversation-chat-area
|
|
146
|
+
[conversationId]="conversationId"
|
|
147
|
+
[allowPlanMode]="false"
|
|
148
|
+
[allowRealtime]="false"
|
|
149
|
+
[showEmptyFill]="false"
|
|
150
|
+
[showAgentPicker]="false">
|
|
151
|
+
</mj-conversation-chat-area>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
#### Header customization
|
|
155
|
+
|
|
156
|
+
Beyond the boolean toggles, the header's Export button is re-brandable and the action strip is extensible:
|
|
157
|
+
|
|
158
|
+
- `exportButtonLabel` (default `'Export'`) and `exportButtonIcon` (default `'fas fa-download'`) — relabel/re-icon the Export button (e.g. a white-label "Download").
|
|
159
|
+
- The **`headerActions` slot** adds host buttons INSIDE the default header's action strip, after the stock buttons — unlike the `header` slot, which replaces the whole header (and therefore suppresses `headerActions`). Context carries the conversation, its ID, and `isProcessing`. Use `mjButton variant="flat" size="sm"` for visual parity:
|
|
160
|
+
|
|
161
|
+
```html
|
|
162
|
+
<mj-conversation-chat-area [conversationId]="conversationId">
|
|
163
|
+
<ng-template mjChatSlot="headerActions" let-conversation let-isProcessing="isProcessing">
|
|
164
|
+
<button mjButton variant="flat" size="sm" [disabled]="isProcessing" (click)="printConversation(conversation)">
|
|
165
|
+
<i class="fas fa-print"></i>
|
|
166
|
+
<span class="btn-label">Print</span>
|
|
167
|
+
</button>
|
|
168
|
+
</ng-template>
|
|
169
|
+
</mj-conversation-chat-area>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### Branded export
|
|
173
|
+
|
|
174
|
+
Branding applies to **every** export format. HTML gets the full treatment (theme colors, an inlined logo, the title, and a trademark footer); JSON/markdown/text carry the title and trademark, markdown also references the logo, and JSON emits a `branding` block. Supply `exportBranding` on the chat area (forwarded to the export modal, where it defaults the "Include branding" checkbox on):
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
// ExportBranding (from the export service)
|
|
178
|
+
{
|
|
179
|
+
brandTokens?: Record<string, string>; // HTML only: ':root{}' block baked into the file; when omitted
|
|
180
|
+
// and includeTheme is on, DEFAULT_EXPORT_THEME_TOKENS are
|
|
181
|
+
// auto-snapshotted from the live document at export time
|
|
182
|
+
logoUrl?: string; // HTML: inlined as a data URI above the title (raw URL on fetch
|
|
183
|
+
// failure); markdown: referenced by URL; JSON: carried as a string
|
|
184
|
+
title?: string; // overrides the document title (defaults to the conversation name)
|
|
185
|
+
trademark?: string; // short attribution line rendered at the foot of every format
|
|
186
|
+
// (styled HTML footer, markdown/text trailer, JSON branding field)
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Color theming (`brandTokens`) is HTML-only — it has no meaning in the data/plain-text formats, and those formats never serialize the tokens. Without branding the exported file is unchanged from previous releases: the HTML stylesheet reads `var(--mj-…, legacyHex)` so every color resolves to the exact prior value when no `:root` block is emitted, and JSON/markdown/text are byte-identical to before. Programmatic consumers can build export content without a download via `ExportService.BuildExportContent(...)` and snapshot the live theme via `ExportService.SnapshotBrandTokens()`.
|
|
191
|
+
|
|
192
|
+
Two gating rules are worth knowing:
|
|
193
|
+
|
|
194
|
+
- **`includeCSS` is an HTML-only concern.** In HTML the logo and the trademark footer each need their stylesheet rule, so both are suppressed when `includeCSS` is false — an unstyled full-size logo is worse than none. The `title` override has no stylesheet dependency and always applies. Markdown/text/JSON ignore `includeCSS` entirely.
|
|
195
|
+
- **The theme snapshot captures a CHOSEN mode, not the live one.** `ExportOptions.themeMode` (`'light'` | `'dark'`, default `'light'`; surfaced as a Theme dropdown in the modal) decides which palette is baked in. Without it, exporting from a dark session put dark text on the export's white page. The exported `body` carries `--mj-bg-page` and `--mj-text-primary`, so a dark export is coherent rather than inverted.
|
|
196
|
+
- **`includeTheme` gates only the token AUTO-SNAPSHOT.** An explicitly supplied `brandTokens` map, plus `logoUrl` / `title` / `trademark`, apply whenever `branding` is present. In the modal, "Include branding" is the single user-facing switch for all of it, and it sits with the general options because it affects every format — not just HTML.
|
|
197
|
+
|
|
198
|
+
`trademark` and `title` are **not** markdown-escaped; a value containing `_`, `]`, `)`, or a newline can break the surrounding markdown. Supply plain text (the HTML and JSON paths are escaped).
|
|
199
|
+
#### Assistant identity
|
|
200
|
+
|
|
201
|
+
White-label hosts can brand the AI side of the message feed through the component contract (no CSS on `.message-sender` / `.avatar-circle` internals). Both default to `null` — the engine-resolved agent identity, today's behavior:
|
|
202
|
+
|
|
203
|
+
| Input | Overrides |
|
|
204
|
+
|---|---|
|
|
205
|
+
| `assistantDisplayName` | The display name on AI messages (e.g. a per-tenant persona like "Betty the Teacher"). Display-only: internal logic such as the conversation-manager check keeps comparing the real agent name |
|
|
206
|
+
| `assistantAvatarUrl` | The AI message avatar — an image replaces the agent's Font Awesome icon |
|
|
207
|
+
|
|
208
|
+
These complement `agentCharacterConfig`, which drives only the `agentPresence` strip — the two inputs extend the same identity into every message bubble. Runtime changes propagate to already-rendered messages (branding configs that resolve after first render, per-conversation persona switches), and a broken/whitespace avatar URL degrades to the agent icon rather than a broken-image glyph.
|
|
209
|
+
|
|
210
|
+
**Scope — what the override deliberately does NOT cover:** the run-details expander header and its record link (they describe the *real* agent's diagnostics), the role tooltip (the agent record's `Description`), and realtime session cards. Hosts needing those surfaces hidden from end users gate them with `showAgentRunDetails` / their own chrome rather than relabeling internal data.
|
|
211
|
+
|
|
114
212
|
### Chat Overlay
|
|
115
213
|
|
|
116
214
|
A floating chat panel (bottom-right corner) that wraps the chat area for persistent agent access across the application. Collapses to a bubble icon, expands to a full chat panel.
|
|
@@ -67,6 +67,8 @@ export declare class CollectionsFullViewComponent extends BaseAngularComponent i
|
|
|
67
67
|
showSortDropdown: boolean;
|
|
68
68
|
activeArtifactId: string | null;
|
|
69
69
|
private itemCountMap;
|
|
70
|
+
/** Normalized OwnerID → friendly display name (FirstName LastName when available, else Users.Name) */
|
|
71
|
+
private ownerNameMap;
|
|
70
72
|
isSelectMode: boolean;
|
|
71
73
|
PageSize: number;
|
|
72
74
|
CurrentPage: number;
|
|
@@ -132,6 +134,14 @@ export declare class CollectionsFullViewComponent extends BaseAngularComponent i
|
|
|
132
134
|
* DB state immediately (cache invalidation is async relative to Save/Delete resolving).
|
|
133
135
|
*/
|
|
134
136
|
private loadItemCounts;
|
|
137
|
+
/**
|
|
138
|
+
* Batch-load friendly display names for the visible collections' owners.
|
|
139
|
+
* The denormalized Collection.Owner view field is Users.Name, which is often
|
|
140
|
+
* the raw email — prefer "FirstName LastName" when the user record has them.
|
|
141
|
+
*/
|
|
142
|
+
private loadOwnerNames;
|
|
143
|
+
/** Friendly owner label for a collection: resolved display name, else the denormalized Owner field. */
|
|
144
|
+
private getOwnerDisplayName;
|
|
135
145
|
private loadUserPermissions;
|
|
136
146
|
private loadCurrentCollectionPermission;
|
|
137
147
|
private loadArtifacts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections-full-view.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/collection/collections-full-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAgB,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAwC,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAA8B,MAAM,+BAA+B,CAAC;AAC1I,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;;AAGnI;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"collections-full-view.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/collection/collections-full-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAgB,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAwC,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAA8B,MAAM,+BAA+B,CAAC;AAC1I,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;;AAGnI;;;GAGG;AACH,qBAorDa,4BAA6B,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;IAoH/F,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IAxHJ,aAAa,EAAG,MAAM,CAAC;IACvB,WAAW,EAAG,QAAQ,CAAC;IACtB,mBAAmB;sBACb,MAAM,GAAG,IAAI;oBACf,MAAM,GAAG,IAAI;OACtB;IAEL,uFAAuF;IAC7E,yBAAyB;wBAAsC,MAAM;OAAM;IAE9E,WAAW,EAAE,kBAAkB,EAAE,CAAM;IACvC,gBAAgB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,uBAAuB,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAM;IAC/F,mBAAmB,EAAE,kBAAkB,EAAE,CAAM;IAC/C,wBAAwB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,uBAAuB,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAM;IACvG,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IACtD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,iBAAiB,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEpD,eAAe,EAAE,OAAO,CAAS;IACjC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAS;IAErC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAa;IAC/D,gBAAgB,EAAE,OAAO,CAAS;IAClC,iBAAiB,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAGpD,QAAQ,EAAE,kBAAkB,CAAU;IACtC,MAAM,EAAE,gBAAgB,CAAU;IAClC,SAAS,EAAE,mBAAmB,CAAS;IACvC,WAAW,EAAE,MAAM,CAAM;IAEhC,iFAAiF;IACjF,IAAW,eAAe,IAAI,MAAM,CAInC;IAED,qGAAqG;IACrG,IAAW,iBAAiB,IAAI,MAAM,CAIrC;IAEM,YAAY,EAAE,kBAAkB,EAAE,CAAM;IACxC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACvC,eAAe,EAAE,OAAO,CAAS;IACjC,gBAAgB,EAAE,OAAO,CAAS;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9C,OAAO,CAAC,YAAY,CAAkC;IACtD,sGAAsG;IACtG,OAAO,CAAC,YAAY,CAAkC;IAC/C,YAAY,EAAE,OAAO,CAAS;IAG9B,QAAQ,EAAE,MAAM,CAAM;IACtB,WAAW,EAAE,MAAM,CAAK;IAE/B,iEAAiE;IACjE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,iCAAiC;IACjC,IAAI,UAAU,IAAI,kBAAkB,EAAE,CAGrC;IAED,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO;IAK5C,eAAe,EAAE,OAAO,CAAS;IACjC,mBAAmB,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAkB;IAC/D,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEzD,6EAA6E;IACtE,eAAe,EAAE,OAAO,CAAS;IACjC,oBAAoB,EAAE,OAAO,CAAS;IACtC,WAAW,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,kBAAkB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAElF,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,mGAAmG;IAC5F,cAAc,EAAE,MAAM,EAAE,CAAM;IACrC,kGAAkG;IAC3F,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE9C,mDAAmD;IAC5C,mBAAmB,EAAE,OAAO,CAAS;IAE5C,wFAAwF;IACjF,cAAc,EAAE,kBAAkB,EAAE,CAAM;IACjD,OAAO,CAAC,kBAAkB,CAA8C;IACjE,cAAc,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,kBAAkB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAC9E,aAAa,EAAE,OAAO,CAAQ;IAErC,+FAA+F;IACxF,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,kBAAkB,CAAC;QAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAM;IAE1F,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,4BAA4B,CAAS;gBAGnC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,oBAAoB,EACnC,eAAe,EAAE,sBAAsB,EACvC,iBAAiB,EAAE,2BAA2B,EAC9C,mBAAmB,EAAE,mBAAmB,EACxC,GAAG,EAAE,iBAAiB;IAIhC,QAAQ;IA4BR,WAAW;IAKX;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAwBlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAS1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAuCjB,eAAe;IA2C7B;;;;OAIG;YACW,cAAc;IA6C5B;;;;OAIG;YACW,cAAc;IAkC5B,uGAAuG;IACvG,OAAO,CAAC,mBAAmB;YAQb,mBAAmB;YAgBnB,+BAA+B;YAgB/B,aAAa;IAmBrB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D,UAAU,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9D,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEnE,OAAO,IAAI,IAAI;IAIT,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7D,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YA8BvD,yBAAyB;IAmDjC,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtE,eAAe,IAAI,IAAI;IAKjB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE,wBAAwB,IAAI,IAAI;IAI1B,cAAc,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,uBAAuB,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C3G,YAAY,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,uBAAuB,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAAG,IAAI;YAM5E,kBAAkB;IA0ChC,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAShD,SAAS,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IASlD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAYjD,cAAc,IAAI,OAAO;IAQzB,gBAAgB,IAAI,OAAO;IAQ3B,eAAe,IAAI,OAAO;IAQ1B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAM3C,eAAe,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3C,qBAAqB,IAAI,IAAI;IAM7B,sBAAsB,IAAI,IAAI;IAM9B,qBAAqB,IAAI,IAAI;IAM7B,uBAAuB,IAAI,IAAI;IAM/B;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAM1D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0C5B;;OAEG;IACH,OAAO,CAAC,SAAS;IA4BjB;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAMlD;;;;OAIG;IACI,gBAAgB,IAAI,IAAI;IAU/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAkBhD;;OAEG;IACI,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAiB3C;;OAEG;IACI,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAM7E;;OAEG;IACI,SAAS,IAAI,IAAI;IAQxB;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD5C;;OAEG;YACW,sBAAsB;IAIpC;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IAiBtE;;;OAGG;IACI,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IAK5E;;OAEG;IACH,OAAO,CAAC,QAAQ;IAchB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACI,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAqBnD;;;;;OAKG;IACI,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA8BzD;;OAEG;IACI,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAe3E,yDAAyD;IACzD,OAAO,CAAC,wBAAwB;IAYzB,gBAAgB,IAAI,IAAI;IAO/B,4FAA4F;IACrF,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMnC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM3C,mHAAmH;YACrG,eAAe;IAkC7B,yFAAyF;IACzF,OAAO,CAAC,qBAAqB;IAqB7B;;;;OAIG;IACU,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDhF,0CAA0C;IACnC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwChD;;;;OAIG;YACW,sBAAsB;YAUtB,6BAA6B;IA0B3C,uCAAuC;IAEhC,WAAW,IAAI,IAAI;IAU1B,OAAO,CAAC,WAAW;IAInB,4FAA4F;IAC5F,OAAO,CAAC,qBAAqB;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAwB7B,kFAAkF;IAC3E,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASlE,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAYjE,aAAa,IAAI,IAAI;IAK5B,OAAO,CAAC,YAAY;IAIpB,oDAAoD;IAC7C,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAS5E,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAO/E,+EAA+E;IACxE,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAU/D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAMlE,gGAAgG;IAChG,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,sBAAsB;YAahB,kBAAkB;IAUhC;;;;OAIG;YACW,WAAW;YAoCX,sBAAsB;YAiBtB,2BAA2B;YAW3B,kBAAkB;IAanB,kBAAkB,CAAC,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrE,eAAe,IAAI,IAAI;IAIvB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAIpD,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAI3D,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAQ3E,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAMvE,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ9B,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMhC,aAAa,IAAI,IAAI;IAIf,UAAU,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D,aAAa,IAAI,IAAI;IAWrB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKjC,UAAU,IAAI,IAAI;IAKzB,iEAAiE;IACpD,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;yCA/1DhC,4BAA4B;2CAA5B,4BAA4B;CA63DxC"}
|