@clien-ai/mcp 0.3.0 → 0.5.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/CHANGELOG.md +105 -0
- package/README.md +32 -7
- package/dist/auth/oauth.js +69 -39
- package/dist/auth/oauth.js.map +1 -1
- package/dist/server.js +37 -9
- package/dist/server.js.map +1 -1
- package/dist/tools/collections.js +262 -23
- package/dist/tools/collections.js.map +1 -1
- package/dist/tools/interview.js +77 -6
- package/dist/tools/interview.js.map +1 -1
- package/dist/tools/output-schemas.js +130 -0
- package/dist/tools/output-schemas.js.map +1 -0
- package/dist/tools/personas.js +195 -25
- package/dist/tools/personas.js.map +1 -1
- package/dist/tools/projects.js +56 -11
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/registry.js +141 -58
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/report-digest.js +640 -0
- package/dist/tools/report-digest.js.map +1 -0
- package/dist/tools/reports.js +78 -6
- package/dist/tools/reports.js.map +1 -1
- package/dist/tools/research.js +249 -1
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/scoped-research.js +86 -22
- package/dist/tools/scoped-research.js.map +1 -1
- package/dist/tools/status.js +41 -5
- package/dist/tools/status.js.map +1 -1
- package/dist/util/single-flight.js +63 -0
- package/dist/util/single-flight.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `outputSchema` declarations (FUL-243) — the SANCTIONED machine-readable channel.
|
|
3
|
+
*
|
|
4
|
+
* MCP 2025-06-18 (the version this server negotiates) introduced `outputSchema`
|
|
5
|
+
* on a tool advert plus `structuredContent` on a tool result. Before FUL-243 we
|
|
6
|
+
* declared `outputSchema` on 0 of 20 tools and shipped every structured payload
|
|
7
|
+
* down `_meta` — a channel a host is not obliged to surface and Claude Code drops
|
|
8
|
+
* outright. These schemas open the supported path.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ THE CONTRACT IS BINDING. Per spec, if a tool declares an `outputSchema` then
|
|
11
|
+
* its result MUST include `structuredContent` conforming to it. That obligation is
|
|
12
|
+
* met structurally, not by discipline: `defineTool` in `registry.ts` fills
|
|
13
|
+
* `structuredContent` from the handler's `_meta` for exactly the tools that carry a
|
|
14
|
+
* schema here, so declaring one cannot be separated from honouring it. (Error
|
|
15
|
+
* results are exempt per spec, and take the throw path that never reaches the
|
|
16
|
+
* filler.)
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ WHY THESE SCHEMAS ARE PERMISSIVE, AND MUST STAY THAT WAY. Everything in this
|
|
19
|
+
* package parses report and entity payloads LENIENTLY on purpose — `.optional()`,
|
|
20
|
+
* `.catch()`, `.passthrough()` everywhere — so a backend that reshapes or drops a
|
|
21
|
+
* field degrades THAT FIELD rather than the whole response (FUL-183/184). A strict
|
|
22
|
+
* output schema would undo all of it at the last inch: a client validating a
|
|
23
|
+
* required field the backend just stopped sending turns a soft, still-useful
|
|
24
|
+
* degradation into a hard tool failure. That is a strictly worse bug than the
|
|
25
|
+
* invisible-data one this change fixes.
|
|
26
|
+
*
|
|
27
|
+
* So the rule for every schema below: `required` names ONLY what the handler
|
|
28
|
+
* itself guarantees — a field it throws without, or one it computes locally and
|
|
29
|
+
* always sets. Anything sourced from the backend is optional, and every object
|
|
30
|
+
* carries `additionalProperties: true` so a backend that ADDS a field stays valid.
|
|
31
|
+
*
|
|
32
|
+
* These are hand-written JSON Schema rather than generated from Zod, unlike the
|
|
33
|
+
* input adverts: the `_meta` payloads are raw backend shapes (`Persona`,
|
|
34
|
+
* `ReportResponse`, the collection rows), not Zod schemas we own, so there is
|
|
35
|
+
* nothing to generate FROM. `__tests__/agent-visible-output.test.ts`
|
|
36
|
+
* pins the declaration↔`structuredContent` invariant instead (its
|
|
37
|
+
* `outputSchema ↔ structuredContent contract` block).
|
|
38
|
+
*/
|
|
39
|
+
/** JSON Schema for an open-ended object we make no promises about. */
|
|
40
|
+
const ANY_OBJECT = { type: 'object', additionalProperties: true };
|
|
41
|
+
/**
|
|
42
|
+
* A value we constrain NOT AT ALL (an empty schema accepts anything).
|
|
43
|
+
*
|
|
44
|
+
* Used for `report_data`, and deliberately not `{ type: ['object','null'] }`.
|
|
45
|
+
* `getReport` keeps the RAW backend payload when Zod rejects it — never drop
|
|
46
|
+
* report data on drift — so a drifted `reportData` that is an array or a string
|
|
47
|
+
* genuinely reaches `structuredContent`. Under a type constraint, a strict client
|
|
48
|
+
* would then reject an otherwise-successful result and the user would lose the
|
|
49
|
+
* report at exactly the moment the fail-soft path was supposed to save it.
|
|
50
|
+
* Constraining the type here would convert this module's stated fail-soft stance
|
|
51
|
+
* into the hard failure it exists to prevent.
|
|
52
|
+
*/
|
|
53
|
+
const ANYTHING = {};
|
|
54
|
+
/** An array of open-ended objects — every collection payload we return. */
|
|
55
|
+
const ANY_OBJECT_ARRAY = { type: 'array', items: ANY_OBJECT };
|
|
56
|
+
/**
|
|
57
|
+
* The `{ limit, offset, total }` envelope every paginated list returns.
|
|
58
|
+
*
|
|
59
|
+
* Nothing is `required` AND the three fields carry no `type`. The handlers copy
|
|
60
|
+
* the server's pagination through with `??` (`json?.pagination ?? {limit,offset,total}`,
|
|
61
|
+
* and `resolvePagination` in collections.ts) — a nullish fallback, not a type
|
|
62
|
+
* check — so a backend that answers `{"total": "20"}` produces a perfectly usable
|
|
63
|
+
* result whose `structuredContent` would fail a `type: number` assertion. Every
|
|
64
|
+
* field here is backend-sourced, so by this module's own rule none of it may be
|
|
65
|
+
* constrained. The object shape stays so the field names remain discoverable.
|
|
66
|
+
*/
|
|
67
|
+
const PAGINATION = {
|
|
68
|
+
type: 'object',
|
|
69
|
+
properties: {
|
|
70
|
+
limit: {},
|
|
71
|
+
offset: {},
|
|
72
|
+
total: {},
|
|
73
|
+
},
|
|
74
|
+
additionalProperties: true,
|
|
75
|
+
};
|
|
76
|
+
function objectSchema(properties, required) {
|
|
77
|
+
return { type: 'object', properties, required, additionalProperties: true };
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A `{ <key>: <rows>, pagination }` list envelope.
|
|
81
|
+
*
|
|
82
|
+
* The collection key is `required` because the handlers guarantee it: each one
|
|
83
|
+
* either maps a rows array or throws. `pagination` is not — `list_reports` has
|
|
84
|
+
* none, and a reshaped envelope must not invalidate a usable list.
|
|
85
|
+
*/
|
|
86
|
+
function listSchema(collectionKey, withPagination = true) {
|
|
87
|
+
const properties = { [collectionKey]: ANY_OBJECT_ARRAY };
|
|
88
|
+
if (withPagination)
|
|
89
|
+
properties.pagination = PAGINATION;
|
|
90
|
+
return objectSchema(properties, [collectionKey]);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* `get_persona` → `{ persona }`.
|
|
94
|
+
*
|
|
95
|
+
* `persona.id` is `required` because `getPersona` throws when the response has no
|
|
96
|
+
* id — so a successful result always has one. Every other field comes from the
|
|
97
|
+
* app's `toPersona` mapper and is therefore optional here: `@clien-ai/mcp` ships
|
|
98
|
+
* on its own release cycle and a published client routinely meets an app deploy
|
|
99
|
+
* older or newer than itself (the skew FUL-237 already had to design around), so
|
|
100
|
+
* requiring a backend-sourced field would make normal version skew a hard failure.
|
|
101
|
+
*/
|
|
102
|
+
export const GET_PERSONA_OUTPUT_SCHEMA = objectSchema({ persona: objectSchema({ id: {} }, ['id']) }, ['persona']);
|
|
103
|
+
/**
|
|
104
|
+
* `get_report` → `{ job_id, status, report_data }`.
|
|
105
|
+
*
|
|
106
|
+
* `job_id` and `status` are `required` because the handler sets both itself
|
|
107
|
+
* (`job_id` is the validated input echoed back; `status` defaults to 'complete').
|
|
108
|
+
* `report_data` is UNCONSTRAINED and NOT required — a job can legitimately carry
|
|
109
|
+
* markdown with no structured payload, and the handler also passes the RAW payload
|
|
110
|
+
* through when Zod rejects it (which can be an array or a string, not just an
|
|
111
|
+
* object). Asserting any shape there would convert exactly the backend drift we
|
|
112
|
+
* deliberately tolerate into a tool failure. `id` on the entity schemas is
|
|
113
|
+
* `required` but untyped for the same reason: the handler guarantees the field is
|
|
114
|
+
* PRESENT (it throws otherwise), not that the backend typed it as a string.
|
|
115
|
+
*/
|
|
116
|
+
export const GET_REPORT_OUTPUT_SCHEMA = objectSchema({
|
|
117
|
+
job_id: { type: 'string' },
|
|
118
|
+
status: { type: 'string' },
|
|
119
|
+
report_data: ANYTHING,
|
|
120
|
+
}, ['job_id', 'status']);
|
|
121
|
+
/** `get_interview` → `{ interview }`. `id` guaranteed: the handler throws without it. */
|
|
122
|
+
export const GET_INTERVIEW_OUTPUT_SCHEMA = objectSchema({ interview: objectSchema({ id: {} }, ['id']) }, ['interview']);
|
|
123
|
+
export const LIST_PERSONAS_OUTPUT_SCHEMA = listSchema('personas');
|
|
124
|
+
export const LIST_PROJECTS_OUTPUT_SCHEMA = listSchema('projects');
|
|
125
|
+
export const LIST_INTERVIEWS_OUTPUT_SCHEMA = listSchema('interviews');
|
|
126
|
+
export const LIST_COMPETITORS_OUTPUT_SCHEMA = listSchema('competitors');
|
|
127
|
+
export const LIST_COMMUNITY_SIGNALS_OUTPUT_SCHEMA = listSchema('communitySignals');
|
|
128
|
+
/** `list_reports` returns no pagination envelope — the endpoint takes `limit` only. */
|
|
129
|
+
export const LIST_REPORTS_OUTPUT_SCHEMA = listSchema('jobs', false);
|
|
130
|
+
//# sourceMappingURL=output-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../../src/tools/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,sEAAsE;AACtE,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAW,CAAA;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,QAAQ,GAAG,EAAW,CAAA;AAE5B,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAW,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;IACD,oBAAoB,EAAE,IAAI;CAClB,CAAA;AAEV,SAAS,YAAY,CACnB,UAAmC,EACnC,QAAkB;IAElB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAA;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,aAAqB,EAAE,cAAc,GAAG,IAAI;IAC9D,MAAM,UAAU,GAA4B,EAAE,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACjF,IAAI,cAAc;QAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAA;IACtD,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CACnD,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAC7C,CAAC,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAClD;IACE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,WAAW,EAAE,QAAQ;CACtB,EACD,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CACrD,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAC/C,CAAC,WAAW,CAAC,CACd,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AACjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;AACrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;AACvE,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAClF,uFAAuF;AACvF,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA"}
|
package/dist/tools/personas.js
CHANGED
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
import { z } from 'zod';
|
|
66
66
|
import { ToolError } from './errors.js';
|
|
67
67
|
import { deprecatedAlias } from './param-aliases.js';
|
|
68
|
-
import { apiCall, categorizeFetchError, truncate, } from './research.js';
|
|
68
|
+
import { apiCall, categorizeFetchError, truncate, collapseWhitespace, safeInline, clipReceiptQuote, RECEIPT_QUOTE_MAX, } from './research.js';
|
|
69
69
|
const PERSONAS_FETCH_TIMEOUT_MS = 30_000;
|
|
70
70
|
// Caps re-declared locally: the @clien-ai/mcp package is published separately
|
|
71
71
|
// and cannot import from the Next.js app. Kept in sync with `CreatePersonaSchema`
|
|
@@ -458,12 +458,18 @@ export async function generatePersona(input, deps) {
|
|
|
458
458
|
: sources.length > 0
|
|
459
459
|
? ` Grounded in ${sources.length} real source${sources.length === 1 ? '' : 's'} (user voice from forums + Stack Exchange).`
|
|
460
460
|
: ' No matching real-world evidence was found, so it was generated from the brief.';
|
|
461
|
+
// FUL-243: render the GENERATED profile, not just a confirmation line. This
|
|
462
|
+
// tool's whole output is content the caller did not supply — the model wrote
|
|
463
|
+
// the background, company, industry, size and location — so a one-line receipt
|
|
464
|
+
// that points at `_meta.persona` means the agent cannot read what it just paid
|
|
465
|
+
// a credit to create. (`create_persona` / `update_persona` keep their
|
|
466
|
+
// confirmation lines: those only echo fields the agent itself passed in.)
|
|
461
467
|
return {
|
|
462
468
|
content: [
|
|
463
469
|
{
|
|
464
470
|
type: 'text',
|
|
465
|
-
text: `Generated persona
|
|
466
|
-
|
|
471
|
+
text: `Generated persona in project ${projectId} — debited 1 credit.` +
|
|
472
|
+
`${groundingNote}${insightsNote}\n\n${renderPersonaProfile(persona, persona.id)}`,
|
|
467
473
|
},
|
|
468
474
|
],
|
|
469
475
|
_meta: { persona, sources },
|
|
@@ -602,9 +608,14 @@ export async function enrichPersona(input, deps) {
|
|
|
602
608
|
const enriched = Array.isArray(json?.enriched) ? json.enriched : [];
|
|
603
609
|
const balance = typeof json?.balance === 'number' ? json.balance : null;
|
|
604
610
|
const remaining = balance !== null ? ` ${balance} credit${balance === 1 ? '' : 's'} remaining.` : '';
|
|
611
|
+
// FUL-243: on a real enrichment, render the resulting profile — the filled
|
|
612
|
+
// fields are model-written content the agent has no other way to read (the
|
|
613
|
+
// `_meta.persona` it used to be pointed at is dropped by Claude Code). The
|
|
614
|
+
// no-op branch stays a one-liner: nothing changed, so there is nothing new
|
|
615
|
+
// to show.
|
|
605
616
|
const text = enriched.length > 0
|
|
606
|
-
? `Enriched persona
|
|
607
|
-
|
|
617
|
+
? `Enriched persona (id: ${persona.id}) — filled ${enriched.join(', ')}. ` +
|
|
618
|
+
`Debited 1 credit.${remaining}\n\n${renderPersonaProfile(persona, personaId)}`
|
|
608
619
|
: `Persona "${persona.name ?? personaId}" (id: ${persona.id}) was already fully populated — ` +
|
|
609
620
|
'nothing enriched, no credit charged. Pass `refresh` to regenerate specific fields.';
|
|
610
621
|
return {
|
|
@@ -622,12 +633,13 @@ export async function enrichPersona(input, deps) {
|
|
|
622
633
|
// are read-only over the existing bearer endpoints — zero credit cost, zero side
|
|
623
634
|
// effects — mirroring `list_reports`/`get_report`.
|
|
624
635
|
//
|
|
625
|
-
// NOTE: this is the entity-discovery surface, NOT the grounding surface
|
|
626
|
-
//
|
|
627
|
-
// `
|
|
628
|
-
//
|
|
629
|
-
// (`
|
|
630
|
-
//
|
|
636
|
+
// NOTE: this is the entity-discovery surface, NOT the grounding surface — with
|
|
637
|
+
// one exception. FUL-208: `toPersona` now maps the M5b identity columns, so both
|
|
638
|
+
// tools return FLAT `persona.seniority` / `persona.careerPath` strings when the
|
|
639
|
+
// run populated them (absent otherwise; read-only — see `update_persona`). Forum
|
|
640
|
+
// grounding (`sources[]`) and the report-level `identityProvenance` are still
|
|
641
|
+
// `report_data.personas[]` only, read via `get_report` — and the shape differs
|
|
642
|
+
// there: the same two leaf names are NESTED under `identityPriors`.
|
|
631
643
|
const LIST_LIMIT_MAX = 100;
|
|
632
644
|
const LIST_LIMIT_DEFAULT = 20;
|
|
633
645
|
export const ListPersonasInputSchema = z.object({
|
|
@@ -664,9 +676,164 @@ export const GetPersonaInputSchema = z.object({
|
|
|
664
676
|
.describe('UUID of the persona to fetch. Get it from a `list_personas` entry (or a ' +
|
|
665
677
|
'persona\'s `_meta.persona.id`). Rejected with a 404 if you do not own it. ' +
|
|
666
678
|
'Returns the persona ENTITY (name, role, company, industry, etc.) for ' +
|
|
667
|
-
'discovery/correction
|
|
668
|
-
'
|
|
679
|
+
'discovery/correction, including read-only `seniority` / `careerPath` when ' +
|
|
680
|
+
'the persona has identity grounding. Forum sources and `identityProvenance` ' +
|
|
681
|
+
'live in `report_data`, read them via `get_report`.'),
|
|
669
682
|
});
|
|
683
|
+
/**
|
|
684
|
+
* Render a persona's FULL profile into readable text (FUL-243).
|
|
685
|
+
*
|
|
686
|
+
* Before this, `get_persona` returned ONE line — name, role, company, id — and
|
|
687
|
+
* pointed at `_meta.persona` for everything else. `_meta` is an optional host
|
|
688
|
+
* channel that Claude Code drops, so an agent about to interview a persona could
|
|
689
|
+
* not read the persona: no background, no industry, no location, no lock state.
|
|
690
|
+
* The whole profile now lands in the text, which every host delivers.
|
|
691
|
+
*
|
|
692
|
+
* Written as compact labelled lines rather than a JSON dump: the reader is a
|
|
693
|
+
* model, and labelled prose costs fewer tokens than pretty-printed JSON while
|
|
694
|
+
* staying unambiguous. Empty fields are OMITTED rather than rendered as "none" —
|
|
695
|
+
* a blank `industry` is unknown, and printing "Industry: none" would assert
|
|
696
|
+
* something the API never said.
|
|
697
|
+
*
|
|
698
|
+
* ⚠️ `includeInInsights` is deliberately NOT rendered. It is a phantom field on
|
|
699
|
+
* `interface Persona`: a write-path input on the app (`!ephemeral` on POST) that
|
|
700
|
+
* no response ever maps back out, as the FUL-240 coupling test records. Rendering
|
|
701
|
+
* it would print an insights/ephemeral claim derived from a value that is always
|
|
702
|
+
* `undefined` — inventing a fact in agent-visible text, which is the exact bug
|
|
703
|
+
* class this change exists to fix. (FUL-242 removes the field outright.)
|
|
704
|
+
*
|
|
705
|
+
* The closing caveat mirrors `list_competitors`: it makes a reader UNDER-trust
|
|
706
|
+
* the record. Almost nothing here is evidence — with one exception since FUL-208.
|
|
707
|
+
* `seniority` / `careerPath` ARE identity grounding and are rendered above, but
|
|
708
|
+
* they are aggregate-calibrated rather than span-receipted, so the caveat names
|
|
709
|
+
* them explicitly as un-citable instead of claiming the record carries no
|
|
710
|
+
* grounding at all. Everything else still lives on `report_data`.
|
|
711
|
+
*/
|
|
712
|
+
export function renderPersonaProfile(persona, fallbackId) {
|
|
713
|
+
const id = persona.id ?? fallbackId;
|
|
714
|
+
const role = persona.role ? `, ${persona.role}` : '';
|
|
715
|
+
const company = persona.company ? ` at ${persona.company}` : '';
|
|
716
|
+
const header = `Persona "${persona.name ?? fallbackId}"${role}${company}`;
|
|
717
|
+
const lines = [header, `id: ${id}`];
|
|
718
|
+
if (persona.projectId)
|
|
719
|
+
lines.push(`project_id: ${persona.projectId}`);
|
|
720
|
+
// Profile attributes on one line — these are what an interviewer needs to
|
|
721
|
+
// frame a question, and they read better grouped than as five stanzas.
|
|
722
|
+
const attributes = [
|
|
723
|
+
persona.industry && `Industry: ${persona.industry}`,
|
|
724
|
+
persona.companySize && `Company size: ${persona.companySize}`,
|
|
725
|
+
persona.location && `Location: ${persona.location}`,
|
|
726
|
+
].filter(Boolean);
|
|
727
|
+
if (attributes.length > 0)
|
|
728
|
+
lines.push(attributes.join(' · '));
|
|
729
|
+
// Provenance and mutability. `isLocked` is rendered whenever the API states it
|
|
730
|
+
// (`=== true` / `=== false`, not truthiness) because "locked" and "unknown" are
|
|
731
|
+
// genuinely different answers to "can I edit this?" — and an agent that assumes
|
|
732
|
+
// editable will meet a 403 from `update_persona`.
|
|
733
|
+
const stateBits = [
|
|
734
|
+
persona.source && `Source: ${persona.source}`,
|
|
735
|
+
persona.enhancementStatus && `Enhancement: ${persona.enhancementStatus}`,
|
|
736
|
+
persona.isLocked === true
|
|
737
|
+
? 'LOCKED — read-only (subscription limit); `update_persona` and `enrich_persona` will be refused'
|
|
738
|
+
: persona.isLocked === false
|
|
739
|
+
? 'Editable'
|
|
740
|
+
: null,
|
|
741
|
+
persona.validationJobId && `From research job: ${persona.validationJobId}`,
|
|
742
|
+
].filter(Boolean);
|
|
743
|
+
if (stateBits.length > 0)
|
|
744
|
+
lines.push(stateBits.join(' · '));
|
|
745
|
+
// FUL-208 identity priors, rendered as their OWN line rather than folded into
|
|
746
|
+
// the attributes above. They differ in KIND from `industry`/`location`: those
|
|
747
|
+
// are plain profile fields, whereas these are agent-written and calibrated
|
|
748
|
+
// against an aggregate people distribution. Mixing them in would flatten that
|
|
749
|
+
// distinction exactly where the closing caveat has to speak about it precisely.
|
|
750
|
+
// Rendered here — not left to `_meta` — because `_meta` is the channel Claude
|
|
751
|
+
// Code drops, which is the whole reason this renderer exists.
|
|
752
|
+
const identity = [
|
|
753
|
+
persona.seniority && `Seniority: ${persona.seniority}`,
|
|
754
|
+
persona.careerPath && `Career path: ${persona.careerPath}`,
|
|
755
|
+
].filter(Boolean);
|
|
756
|
+
if (identity.length > 0)
|
|
757
|
+
lines.push(identity.join(' · '));
|
|
758
|
+
if (persona.description)
|
|
759
|
+
lines.push(`\nBackground:\n${persona.description}`);
|
|
760
|
+
// Receipts only when the response actually carried them. Their ABSENCE is not
|
|
761
|
+
// rendered as "no receipts": `GET /api/personas/{id}` is an entity read and is
|
|
762
|
+
// not the grounding surface, so a missing `sources` here means "not returned by
|
|
763
|
+
// this endpoint", never "this persona is ungrounded". The caveat below covers it.
|
|
764
|
+
//
|
|
765
|
+
// Read through `Array.isArray` rather than the declared type: `Persona` mirrors
|
|
766
|
+
// a backend shape we do not control, so a reshaped `sources` that is not an
|
|
767
|
+
// array would throw on `.map` and take the whole `get_persona` result with it.
|
|
768
|
+
// Everything else here is a string read that degrades to "omitted"; this is the
|
|
769
|
+
// one field that could crash, so it gets the same treatment as the digest's
|
|
770
|
+
// defensive accessors.
|
|
771
|
+
//
|
|
772
|
+
// FUL-247: each receipt now carries its VERBATIM QUOTE, truncated. Before this,
|
|
773
|
+
// every agent-visible surface printed a receipt as `platform — url` only, so a
|
|
774
|
+
// receipt was a POINTER, not evidence: an agent could see that a source existed
|
|
775
|
+
// and where it pointed, but could not read what it said without fetching the URL
|
|
776
|
+
// itself — which most hosts cannot do. The quote is the only part of a receipt
|
|
777
|
+
// that actually grounds anything.
|
|
778
|
+
//
|
|
779
|
+
// Truncated rather than printed whole because a persona can carry many sources
|
|
780
|
+
// and forum posts run long; one rambling comment must not crowd out the other
|
|
781
|
+
// receipts. `truncate` appends `…`, so a clipped quote is visibly clipped and
|
|
782
|
+
// never reads as a complete sentence the source did not say.
|
|
783
|
+
const sources = Array.isArray(persona.sources) ? persona.sources : [];
|
|
784
|
+
if (sources.length > 0) {
|
|
785
|
+
const receipts = sources.map((source, i) => {
|
|
786
|
+
const platform = source?.platform ?? 'unknown platform';
|
|
787
|
+
const url = source?.url ?? '(no url)';
|
|
788
|
+
// `typeof === 'string'`, not truthiness: `truncate` reads `.length` and
|
|
789
|
+
// calls `.slice`, so a backend that reshaped `quote` to a number would
|
|
790
|
+
// throw and take the ENTIRE persona result with it — the one field on this
|
|
791
|
+
// record that could crash it, alongside `sources` itself. The digest's
|
|
792
|
+
// receipt renderer already reads this field through a defensive `str()`
|
|
793
|
+
// accessor; this matches it rather than trusting the declared type.
|
|
794
|
+
//
|
|
795
|
+
// `collapseWhitespace` BEFORE truncating: a newline inside a verbatim forum
|
|
796
|
+
// quote would end this receipt's line early and let the remainder forge a
|
|
797
|
+
// sibling ` N. platform — url` entry.
|
|
798
|
+
//
|
|
799
|
+
// FUL-252 routes this through `clipReceiptQuote` with an EMPTY span list
|
|
800
|
+
// rather than leaving it on `truncate`. That is a deliberate no-op today —
|
|
801
|
+
// with no spans the helper returns the head clip, byte for byte — and the
|
|
802
|
+
// point is that the two receipt surfaces now share one clipping function
|
|
803
|
+
// instead of agreeing by convention. The list is empty because it must be:
|
|
804
|
+
// `GET /api/personas/{id}` returns no claim spine, so no verified span is
|
|
805
|
+
// knowable here. Should this endpoint ever start carrying claims, the fix is
|
|
806
|
+
// to pass them, not to write a second clipper.
|
|
807
|
+
const rawQuote = typeof source?.quote === 'string' ? collapseWhitespace(source.quote) : '';
|
|
808
|
+
const quote = rawQuote ? `\n "${clipReceiptQuote(rawQuote, [], RECEIPT_QUOTE_MAX)}"` : '';
|
|
809
|
+
return ` ${i + 1}. ${platform} — ${url}${quote}`;
|
|
810
|
+
});
|
|
811
|
+
lines.push(`\nSource receipts carried on this record (${sources.length}):\n${receipts.join('\n')}`);
|
|
812
|
+
}
|
|
813
|
+
// The receipts clause has to branch on whether receipts were ACTUALLY printed,
|
|
814
|
+
// and that is a correctness point rather than polish. Only ONE of this
|
|
815
|
+
// renderer's three call sites carries `sources` on the wire: `generate_persona`
|
|
816
|
+
// (`POST /api/personas/ai-generate`, the FUL-96 shape). `get_persona`
|
|
817
|
+
// (`GET /api/personas/{id}`) and `enrich_persona` both read rows that never
|
|
818
|
+
// join `persona_sources`, so their receipt block is empty. A single fixed
|
|
819
|
+
// sentence therefore cannot be true on all three: telling a reader to "read
|
|
820
|
+
// them with `get_report`" is right where nothing was printed, and a flat
|
|
821
|
+
// contradiction directly beneath a list of receipts and their quotes.
|
|
822
|
+
const receiptsClause = sources.length > 0
|
|
823
|
+
? 'The forum receipts above — including their quotes — are the real thing, carried on this ' +
|
|
824
|
+
'response; you do not need `get_report` to read them. What `get_report` adds is the CLAIM ' +
|
|
825
|
+
'SPINE: which specific claim each receipt was accepted as evidence for, and its span ' +
|
|
826
|
+
'verification. `identityProvenance` lives there too.'
|
|
827
|
+
: 'Forum receipts (`sources[]`) and `identityProvenance` are NOT returned by this read — ' +
|
|
828
|
+
'their absence here means "not returned", never "this persona is ungrounded". They live ' +
|
|
829
|
+
'on `report_data.personas[]`; read them with `get_report`.';
|
|
830
|
+
lines.push('\nTRUST: this is the persona ENTITY. Seniority and career path are the ONE piece of ' +
|
|
831
|
+
'grounding it carries, and they are aggregate-calibrated, never span-receipted — there is ' +
|
|
832
|
+
'no source to follow for them, so do not cite them as evidence; `get_report` nests them ' +
|
|
833
|
+
`under \`identityPriors\`. ${receiptsClause} Treat every other field above as unverified ` +
|
|
834
|
+
'profile data until checked there; an absent field here means "not returned", not "empty".');
|
|
835
|
+
return lines.join('\n');
|
|
836
|
+
}
|
|
670
837
|
export async function listPersonas(input, deps) {
|
|
671
838
|
const parsed = ListPersonasInputSchema.safeParse(input);
|
|
672
839
|
if (!parsed.success) {
|
|
@@ -706,8 +873,20 @@ export async function listPersonas(input, deps) {
|
|
|
706
873
|
}
|
|
707
874
|
else {
|
|
708
875
|
const lines = personas.map((p) => {
|
|
709
|
-
|
|
710
|
-
|
|
876
|
+
// FUL-253: `name` and `role` are user-written free text and reached this
|
|
877
|
+
// LINE-STRUCTURED render fully raw — not even truncated. A newline in either
|
|
878
|
+
// ends the row early and lets the remainder pose as a sibling
|
|
879
|
+
// `- Someone (Role) — id: <uuid>` entry: a persona that does not exist,
|
|
880
|
+
// carrying an id an agent will then hand to `get_persona`,
|
|
881
|
+
// `interview_persona` or `update_persona`. `renderPersonaProfile` in this
|
|
882
|
+
// file has been guarded since FUL-247; this list was the one that was missed.
|
|
883
|
+
// Caps match `list_projects`, the identical row shape — not `NAME_MAX` /
|
|
884
|
+
// `ROLE_MAX`, which advertise what the API ACCEPTS, not what an index of up
|
|
885
|
+
// to 100 rows should spend on one line.
|
|
886
|
+
const name = safeInline(p.name, 100) ?? '(unnamed)';
|
|
887
|
+
const roleText = safeInline(p.role, 100);
|
|
888
|
+
const role = roleText ? ` (${roleText})` : '';
|
|
889
|
+
return `- ${name}${role} — id: ${safeInline(p.id, 60) ?? 'unknown'}`;
|
|
711
890
|
});
|
|
712
891
|
const shown = offset + personas.length;
|
|
713
892
|
const more = shown < total ? `\n\n${total - shown} more not shown — page with offset=${shown}.` : '';
|
|
@@ -751,17 +930,8 @@ export async function getPersona(input, deps) {
|
|
|
751
930
|
if (!persona?.id) {
|
|
752
931
|
throw new PersonaToolError('Persona fetch returned no persona; the operation may not have succeeded.');
|
|
753
932
|
}
|
|
754
|
-
const role = persona.role ? `, ${persona.role}` : '';
|
|
755
|
-
const company = persona.company ? ` at ${persona.company}` : '';
|
|
756
933
|
return {
|
|
757
|
-
content: [
|
|
758
|
-
{
|
|
759
|
-
type: 'text',
|
|
760
|
-
text: `Persona "${persona.name ?? personaId}"${role}${company} (id: ${persona.id})` +
|
|
761
|
-
`${persona.projectId ? ` in project ${persona.projectId}` : ''}. ` +
|
|
762
|
-
'Full fields are in `_meta.persona`.',
|
|
763
|
-
},
|
|
764
|
-
],
|
|
934
|
+
content: [{ type: 'text', text: renderPersonaProfile(persona, personaId) }],
|
|
765
935
|
_meta: { persona },
|
|
766
936
|
};
|
|
767
937
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/tools/personas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/tools/personas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,eAAe,CAAA;AAEtB,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAExC,8EAA8E;AAC9E,kFAAkF;AAClF,gFAAgF;AAChF,+EAA+E;AAC/E,+BAA+B;AAC/B,MAAM,QAAQ,GAAG,GAAG,CAAA;AACpB,MAAM,QAAQ,GAAG,GAAG,CAAA;AACpB,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,MAAM,eAAe,GAAG,IAAI,CAAA;AAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,YAAY,GAAG,GAAG,CAAA;AAExB,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;CACnB,CAAA;AAEV,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,qFAAqF;QACrF,wFAAwF;QACxF,4FAA4F;QAC5F,mEAAmE,CACtE;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,QAAQ,SAAS,CAAC;SACtD,QAAQ,CACP,iFAAiF,CAClF;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,QAAQ,SAAS,CAAC;SACtD,QAAQ,CACP,6EAA6E,CAC9E;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,WAAW,EAAE,yBAAyB,WAAW,SAAS,CAAC;SAC/D,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,eAAe,EAAE,6BAA6B,eAAe,SAAS,CAAC;SAC3E,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE;QACvE,iFAAiF,CACpF;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,gBAAgB,EAAE,8BAA8B,gBAAgB,SAAS,CAAC;SAC9E,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,YAAY,EAAE,0BAA0B,YAAY,SAAS,CAAC;SAClE,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,YAAY,EAAE,0BAA0B,YAAY,SAAS,CAAC;SAClE,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,4EAA4E;QAC1E,8EAA8E;QAC9E,gFAAgF,CACnF;IACH,2EAA2E;IAC3E,SAAS,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,WAAW,EAAE,eAAe,CAC1B,cAAc,EACd,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,gBAAgB,SAAS,CAAC,CACzF;CACF,CAAC,CAAA;AA+EF,MAAM,OAAO,gBAAiB,SAAQ,SAAS;CAAG;AAElD,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3F,CAAC;AAED,SAAS,OAAO,CAAC,IAAqB;IACpC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAA;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,SAAS,CAAI,KAAoB,EAAE,SAAiB,EAAE,KAAa;IAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CACxB,qBAAqB,SAAS,0BAA0B,SAAS,KAAK;YACpE,8BAA8B,KAAK,MAAM,CAC5C,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,gBAAgB,CAC7B,QAAqB,EACrB,IAAqB,EACrB,MAAc,EACd,OAA+B;IAE/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAC3E,MAAM,IAAI,gBAAgB,CACxB,+EAA+E,CAChF,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,GAA6C,IAAI,CAAA;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACjE,MAAM,IAAI,gBAAgB,CACxB,aAAa,MAAM,wEAAwE,CAC5F,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,gBAAgB,CACxB,OAAO,EAAE,QAAQ;YACf,aAAa,MAAM,6CAA6C;gBAC9D,+CAA+C,CACpD,CAAA;IACH,CAAC;IACD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,MAAM,EAAE,KAAK;QAAE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACtF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,gBAAgB,CAAC,aAAa,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,MAAM,IAAI,gBAAgB,CAAC,aAAa,MAAM,UAAU,QAAQ,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAc,EACd,IAAqB;IAErB,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,EACJ,UAAU,EAAE,YAAY,EACxB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EAAE,WAAW,EACzB,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,GAAG,MAAM,CAAC,IAAI,CAAA;IACf,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAUN,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IACxC,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACjD,IAAI,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAC7D,IAAI,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAC7D,IAAI,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEpD,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE;YACrD,IAAI;YACJ,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,yBAAyB,GAAG,IAAI,kGAAkG,CAC3K,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAE1E,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAiC,CAAA;IACtF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,gFAAgF,CACjF,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,qDAAqD;QACvD,CAAC,CAAC,EAAE,CAAA;IACN,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,oBAAoB,OAAO,CAAC,IAAI,IAAI,IAAI,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,SAAS,OAAO,CAAC,EAAE,IAAI;oBACzF,cAAc,SAAS,IAAI,YAAY,EAAE;aAC5C;SACF;QACD,KAAK,EAAE,EAAE,OAAO,EAAE;KACnB,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,MAAM,iCAAiC,GAAG,MAAM,CAAA;AAEhD,wDAAwD;AACxD,6EAA6E;AAC7E,MAAM,sBAAsB,GAAG,IAAI,CAAA;AAEnC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;IAC3B,iBAAiB,EAAE,oBAAoB;IACvC,gBAAgB,EAAE,oBAAoB;CAC9B,CAAA;AAEV,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,qFAAqF;QACrF,wFAAwF;QACxF,2FAA2F,CAC9F;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,QAAQ,SAAS,CAAC;SACtD,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,QAAQ,SAAS,CAAC;SACtD,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,WAAW,EAAE,yBAAyB,WAAW,SAAS,CAAC;SAC/D,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F,CAC5F;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,YAAY,EAAE,0BAA0B,YAAY,SAAS,CAAC;SAClE,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IAClF,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,gBAAgB,EAAE,8BAA8B,gBAAgB,SAAS,CAAC;SAC9E,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,GAAG,CACF,sBAAsB,EACtB,oCAAoC,sBAAsB,SAAS,CACpE;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF;QACrF,qFAAqF,CACxF;IACH,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,uFAAuF;QACrF,sDAAsD,CACzD;IACH,kBAAkB,EAAE,CAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,yFAAyF;QACvF,uFAAuF;QACvF,0FAA0F;QAC1F,0FAA0F,CAC7F;IACH,2EAA2E;IAC3E,SAAS,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,WAAW,EAAE,eAAe,CAC1B,cAAc,EACd,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,gBAAgB,SAAS,CAAC,CACzF;IACD,iBAAiB,EAAE,eAAe,CAChC,oBAAoB,EACpB,CAAC;SACE,MAAM,EAAE;SACR,GAAG,CACF,sBAAsB,EACtB,mCAAmC,sBAAsB,SAAS,CACnE,CACJ;IACD,gBAAgB,EAAE,eAAe,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACrE,CAAC,CAAA;AAYF;;;;GAIG;AACH,KAAK,UAAU,wBAAwB,CACrC,QAAqB,EACrB,IAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,GAA6B,IAAI,CAAA;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAE9B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9E,MAAM,MAAM,GACV,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,8BAA8B,CAAA;QACpC,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;YAC9C,MAAM,IAAI,gBAAgB,CACxB,yDAAyD,OAAO,gBAAgB,QAAQ,GAAG;gBACzF,IAAI,MAAM,0BAA0B,MAAM,GAAG,CAChD,CAAA;QACH,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,2DAA2D,MAAM,GAAG,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAC3E,MAAM,IAAI,gBAAgB,CACxB,+EAA+E,CAChF,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CACxB,wEAAwE;YACtE,+CAA+C,CAClD,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,gBAAgB,CACxB,uDAAuD,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;YAC9F,kDAAkD,CACrD,CAAA;IACH,CAAC;IACD,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAc,EACd,IAAqB;IAErB,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,EACJ,UAAU,EAAE,YAAY,EACxB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,WAAW,EACzB,kBAAkB,EAAE,iBAAiB,EACrC,SAAS,EACT,kBAAkB,EAAE,gBAAgB,GACrC,GAAG,MAAM,CAAC,IAAI,CAAA;IACf,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAUN,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC1D,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACjD,IAAI,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACpD,IAAI,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAC7D,IAAI,iBAAiB,KAAK,SAAS;QAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAE/E,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,2BAA2B,EAAE;YACjE,IAAI;YACJ,SAAS,EAAE,iCAAiC;SAC7C,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,0CAA0C,iCAAiC,GAAG,IAAI,KAAK;gBACrF,+FAA+F,CAClG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEhE,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAiC,CAAA;IACtF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,qDAAqD;QACvD,CAAC,CAAC,EAAE,CAAA;IACN,6EAA6E;IAC7E,gFAAgF;IAChF,wDAAwD;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,MAAM,aAAa,GACjB,gBAAgB,KAAK,KAAK;QACxB,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,6CAA6C;YAC3H,CAAC,CAAC,iFAAiF,CAAA;IACzF,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,+EAA+E;IAC/E,sEAAsE;IACtE,0EAA0E;IAC1E,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,gCAAgC,SAAS,sBAAsB;oBAC/D,GAAG,aAAa,GAAG,YAAY,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE;aACpF;SACF;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;KAC5B,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,kFAAkF;AAClF,8EAA8E;AAE9E,MAAM,+BAA+B,GAAG,MAAM,CAAA;AAE9C,iFAAiF;AACjF,kFAAkF;AAClF,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,CAAU,CAAA;AAEpG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,YAAY;IACvB,iBAAiB,EAAE,oBAAoB;CAC/B,CAAA;AAEV,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,qFAAqF;QACrF,4EAA4E;QAC5E,yFAAyF;QACzF,2CAA2C,CAC9C;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAChC,QAAQ,EAAE;SACV,QAAQ,CACP,wFAAwF;QACtF,mFAAmF;QACnF,yFAAyF;QACzF,oFAAoF;QACpF,sEAAsE,CACzE;IACH,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,GAAG,CACF,sBAAsB,EACtB,oCAAoC,sBAAsB,SAAS,CACpE;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,yFAAyF;QACvF,kFAAkF,CACrF;IACH,2EAA2E;IAC3E,SAAS,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,iBAAiB,EAAE,eAAe,CAChC,oBAAoB,EACpB,CAAC;SACE,MAAM,EAAE;SACR,GAAG,CACF,sBAAsB,EACtB,mCAAmC,sBAAsB,SAAS,CACnE,CACJ;CACF,CAAC,CAAA;AAWF;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAqB,EACrB,IAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,GAA6B,IAAI,CAAA;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAE9B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9E,MAAM,MAAM,GACV,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,8BAA8B,CAAA;QACpC,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;YAC9C,MAAM,IAAI,gBAAgB,CACxB,uDAAuD,OAAO,gBAAgB,QAAQ,GAAG;gBACvF,IAAI,MAAM,0BAA0B,MAAM,GAAG,CAChD,CAAA;QACH,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,yDAAyD,MAAM,GAAG,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAC3E,MAAM,IAAI,gBAAgB,CACxB,+EAA+E,CAChF,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxD,MAAM,IAAI,gBAAgB,CACxB,kGAAkG,CACnG,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CACxB,sEAAsE;YACpE,0FAA0F,CAC7F,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,gBAAgB,CACxB,uDAAuD,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;YAC9F,kDAAkD,CACrD,CAAA;IACH,CAAC;IACD,MAAM,IAAI,gBAAgB,CAAC,kCAAkC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAc,EACd,IAAqB;IAErB,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,EACJ,UAAU,EAAE,YAAY,EACxB,OAAO,EACP,kBAAkB,EAAE,iBAAiB,GACtC,GAAG,MAAM,CAAC,IAAI,CAAA;IACf,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAIN,EAAE,SAAS,EAAE,CAAA;IACjB,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACjD,IAAI,iBAAiB,KAAK,SAAS;QAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAE/E,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,yBAAyB,EAAE;YAC/D,IAAI;YACJ,SAAS,EAAE,+BAA+B;SAC3C,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,yCAAyC,+BAA+B,GAAG,IAAI,KAAK;gBAClF,qGAAqG,CACxG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE9D,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAiC,CAAA;IACtF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,+EAA+E,CAChF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IACpG,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,WAAW;IACX,MAAM,IAAI,GACR,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,yBAAyB,OAAO,CAAC,EAAE,cAAc,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxE,oBAAoB,SAAS,OAAO,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QAChF,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,IAAI,SAAS,UAAU,OAAO,CAAC,EAAE,kCAAkC;YAC3F,oFAAoF,CAAA;IAE1F,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;KACtC,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,iFAAiF;AACjF,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,8EAA8E;AAC9E,+EAA+E;AAC/E,oEAAoE;AAEpE,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,0EAA0E;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,0FAA0F,CAC7F;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,cAAc,CAAC;SACnB,QAAQ,EAAE;SACV,OAAO,CAAC,kBAAkB,CAAC;SAC3B,QAAQ,CACP,2CAA2C,cAAc,aAAa,kBAAkB,KAAK;QAC3F,6BAA6B,CAChC;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,mEAAmE;QACjE,uEAAuE;QACvE,gDAAgD,CACnD;CACJ,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,0EAA0E;QACxE,4EAA4E;QAC5E,uEAAuE;QACvE,4EAA4E;QAC5E,6EAA6E;QAC7E,oDAAoD,CACvD;CACJ,CAAC,CAAA;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,UAAkB;IACvE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,UAAU,CAAA;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,MAAM,MAAM,GAAG,YAAY,OAAO,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,GAAG,OAAO,EAAE,CAAA;IAEzE,MAAM,KAAK,GAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC7C,IAAI,OAAO,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAErE,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,QAAQ,IAAI,aAAa,OAAO,CAAC,QAAQ,EAAE;QACnD,OAAO,CAAC,WAAW,IAAI,iBAAiB,OAAO,CAAC,WAAW,EAAE;QAC7D,OAAO,CAAC,QAAQ,IAAI,aAAa,OAAO,CAAC,QAAQ,EAAE;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAE7D,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,kDAAkD;IAClD,MAAM,SAAS,GAAG;QAChB,OAAO,CAAC,MAAM,IAAI,WAAW,OAAO,CAAC,MAAM,EAAE;QAC7C,OAAO,CAAC,iBAAiB,IAAI,gBAAgB,OAAO,CAAC,iBAAiB,EAAE;QACxE,OAAO,CAAC,QAAQ,KAAK,IAAI;YACvB,CAAC,CAAC,gGAAgG;YAClG,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,IAAI;QACV,OAAO,CAAC,eAAe,IAAI,sBAAsB,OAAO,CAAC,eAAe,EAAE;KAC3E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAE3D,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,QAAQ,GAAG;QACf,OAAO,CAAC,SAAS,IAAI,cAAc,OAAO,CAAC,SAAS,EAAE;QACtD,OAAO,CAAC,UAAU,IAAI,gBAAgB,OAAO,CAAC,UAAU,EAAE;KAC3D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzD,IAAI,OAAO,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IAE5E,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,kFAAkF;IAClF,EAAE;IACF,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,uBAAuB;IACvB,EAAE;IACF,gFAAgF;IAChF,+EAA+E;IAC/E,gFAAgF;IAChF,iFAAiF;IACjF,+EAA+E;IAC/E,kCAAkC;IAClC,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,6DAA6D;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,kBAAkB,CAAA;YACvD,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,UAAU,CAAA;YACrC,wEAAwE;YACxE,uEAAuE;YACvE,2EAA2E;YAC3E,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,EAAE;YACF,4EAA4E;YAC5E,0EAA0E;YAC1E,uCAAuC;YACvC,EAAE;YACF,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,6EAA6E;YAC7E,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7F,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CACR,6CAA6C,OAAO,CAAC,MAAM,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAA;IACH,CAAC;IAED,+EAA+E;IAC/E,uEAAuE;IACvE,gFAAgF;IAChF,sEAAsE;IACtE,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,cAAc,GAClB,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,0FAA0F;YAC1F,2FAA2F;YAC3F,sFAAsF;YACtF,qDAAqD;QACvD,CAAC,CAAC,wFAAwF;YACxF,yFAAyF;YACzF,2DAA2D,CAAA;IAEjE,KAAK,CAAC,IAAI,CACR,sFAAsF;QACpF,2FAA2F;QAC3F,yFAAyF;QACzF,6BAA6B,cAAc,+CAA+C;QAC1F,2FAA2F,CAC9F,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAc,EACd,IAAqB;IAErB,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KACvB,CAAC,CAAA;IAEF,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE;YACxE,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,oCAAoC,yBAAyB,GAAG,IAAI,2BAA2B,CAChG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,CAAA;IAEzE,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAgC,CAAA;IACrF,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,IAAI,EAAE,UAAU,EAAE,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAA;IAExD,IAAI,IAAY,CAAA;IAChB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI;YACF,MAAM,GAAG,CAAC;gBACR,CAAC,CAAC,yBAAyB,MAAM,eAAe,SAAS,YAAY,KAAK,IAAI;gBAC9E,CAAC,CAAC,0BAA0B,SAAS,sDAAsD,CAAA;IACjG,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,yEAAyE;YACzE,6EAA6E;YAC7E,8DAA8D;YAC9D,wEAAwE;YACxE,2DAA2D;YAC3D,0EAA0E;YAC1E,8EAA8E;YAC9E,yEAAyE;YACzE,4EAA4E;YAC5E,wCAAwC;YACxC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,WAAW,CAAA;YACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7C,OAAO,KAAK,IAAI,GAAG,IAAI,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAA;QACtE,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QACtC,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,KAAK,sCAAsC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACpG,IAAI;YACF,SAAS,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM;gBAC1G,6GAA6G,CAAA;IACjH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;KAC9E,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAc,EACd,IAAqB;IAErB,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,SAAS,EAAE,EAAE;YACjE,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,yBAAyB,GAAG,IAAI,2BAA2B,CACpG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;YACpD,QAAQ,EACN,mEAAmE;gBACnE,mDAAmD;SACtD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA8B,CAAA;IACnF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,CAC3E,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3E,KAAK,EAAE,EAAE,OAAO,EAAE;KACnB,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,kFAAkF;AAClF,iFAAiF;AACjF,0BAA0B;AAC1B,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,4EAA4E;AAE5E;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,aAAa;IAC3B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAA;AAEV,gFAAgF;AAChF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAyC,CAAA;AAE9F,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,WAAW,EAAE,cAAc,EAAW,CAAA;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,2EAA2E;QACzE,2EAA2E,CAC9E;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,QAAQ,SAAS,CAAC;SACtD,QAAQ,EAAE;SACV,QAAQ,CAAC,2BAA2B,CAAC;IACxC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,QAAQ,SAAS,CAAC;SACtD,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,WAAW,EAAE,yBAAyB,WAAW,SAAS,CAAC;SAC/D,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,eAAe,EAAE,6BAA6B,eAAe,SAAS,CAAC;SAC3E,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,gBAAgB,EAAE,8BAA8B,gBAAgB,SAAS,CAAC;SAC9E,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,YAAY,EAAE,0BAA0B,YAAY,SAAS,CAAC;SAClE,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,YAAY,EAAE,0BAA0B,YAAY,SAAS,CAAC;SAClE,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,2EAA2E;IAC3E,WAAW,EAAE,eAAe,CAC1B,cAAc,EACd,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,6BAA6B,gBAAgB,SAAS,CAAC,CACzF;CACF,CAAC,CAAA;AAQF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAc,EACd,IAAqB;IAErB,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAEtD,6EAA6E;IAC7E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,IAAI,GAA2B,EAAE,CAAA;IACvC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAA;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,gBAAgB,CACxB,uDAAuD;YACrD,YAAY,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC9C,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,SAAS,EAAE,EAAE;YACnE,IAAI;YACJ,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,yBAAyB,GAAG,IAAI,KAAK;gBAC3E,kFAAkF,CACrF,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACvD,QAAQ,EACN,sEAAsE;gBACtE,mDAAmD;SACtD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAiC,CAAA;IACtF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,2EAA2E,CAC5E,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,oBAAoB,OAAO,CAAC,IAAI,IAAI,SAAS,UAAU,OAAO,CAAC,EAAE,MAAM;oBACvE,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC;aACxE;SACF;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE;KAC3C,CAAA;AACH,CAAC"}
|