@cyanheads/secedgar-mcp-server 0.15.13 → 0.15.14
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/AGENTS.md +8 -6
- package/CLAUDE.md +8 -6
- package/Dockerfile +3 -3
- package/README.md +2 -2
- package/changelog/0.15.x/0.15.14.md +31 -0
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/company-search.tool.js +8 -10
- package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-holders.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +7 -5
- package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-filing.tool.js +59 -33
- package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-financials.tool.js +11 -8
- package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js +22 -20
- package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +9 -11
- package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +11 -12
- package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js +8 -10
- package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +6 -4
- package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +30 -35
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +3 -8
- package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-filings.tool.js +117 -59
- package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
- package/dist/services/edgar/call-scope.d.ts +41 -0
- package/dist/services/edgar/call-scope.d.ts.map +1 -0
- package/dist/services/edgar/call-scope.js +53 -0
- package/dist/services/edgar/call-scope.js.map +1 -0
- package/dist/services/edgar/edgar-api-service.d.ts +80 -50
- package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
- package/dist/services/edgar/edgar-api-service.js +483 -211
- package/dist/services/edgar/edgar-api-service.js.map +1 -1
- package/dist/services/edgar/filing-to-text.d.ts +53 -14
- package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
- package/dist/services/edgar/filing-to-text.js +181 -33
- package/dist/services/edgar/filing-to-text.js.map +1 -1
- package/dist/services/edgar/submissions-archive.d.ts +6 -3
- package/dist/services/edgar/submissions-archive.d.ts.map +1 -1
- package/dist/services/edgar/submissions-archive.js +6 -3
- package/dist/services/edgar/submissions-archive.js.map +1 -1
- package/package.json +4 -4
- package/server.json +3 -3
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
9
9
|
import { JsonRpcErrorCode, McpError, notFound, validationError, } from '@cyanheads/mcp-ts-core/errors';
|
|
10
10
|
import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
|
|
11
|
+
import { CallScope } from '../../../services/edgar/call-scope.js';
|
|
11
12
|
import { cleanDisplayName, getEdgarApiService, quartersInRange, } from '../../../services/edgar/edgar-api-service.js';
|
|
12
13
|
import { filingToExtract } from '../../../services/edgar/filing-to-text.js';
|
|
13
14
|
import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-archive.js';
|
|
@@ -20,11 +21,37 @@ import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-arch
|
|
|
20
21
|
const EFTS_FULLTEXT_FLOOR = '2001-01-01';
|
|
21
22
|
/** Last day the archive arms serve when a range is split at {@link EFTS_FULLTEXT_FLOOR}. */
|
|
22
23
|
const ARCHIVE_ERA_END = '2000-12-31';
|
|
24
|
+
/** First day of EDGAR's archives — where a lone pre-2001 `filed_before` starts. */
|
|
25
|
+
const EDGAR_ARCHIVE_START = '1993-01-01';
|
|
26
|
+
/**
|
|
27
|
+
* The inclusive filing-date window a call searches, or `undefined` when no bound
|
|
28
|
+
* was given (`""` counts as absent). EFTS honors a custom range only with both
|
|
29
|
+
* ends — `startdt` or `enddt` alone returns the same hits as no dates — so a lone
|
|
30
|
+
* bound is paired here, before routing: `filed_after` runs through today (UTC,
|
|
31
|
+
* read per call), and `filed_before` starts where its route's coverage does —
|
|
32
|
+
* the full-text floor from 2001 on, the archive start before it (#185). `filled`
|
|
33
|
+
* marks a window the caller did not spell out, which the full-text path then
|
|
34
|
+
* discloses in `effectiveQuery`.
|
|
35
|
+
*/
|
|
36
|
+
function dateWindow(filedAfter, filedBefore) {
|
|
37
|
+
if (filedAfter && filedBefore) {
|
|
38
|
+
return { startDate: filedAfter, endDate: filedBefore, filled: false };
|
|
39
|
+
}
|
|
40
|
+
if (filedAfter) {
|
|
41
|
+
return { startDate: filedAfter, endDate: new Date().toISOString().slice(0, 10), filled: true };
|
|
42
|
+
}
|
|
43
|
+
if (filedBefore) {
|
|
44
|
+
const startDate = filedBefore < EFTS_FULLTEXT_FLOOR ? EDGAR_ARCHIVE_START : EFTS_FULLTEXT_FLOOR;
|
|
45
|
+
return { startDate, endDate: filedBefore, filled: true };
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
23
49
|
/**
|
|
24
50
|
* Cap on quarterly full-index files fetched in one unscoped pre-2001 browse.
|
|
25
51
|
* Each `master.idx` is a multi-MB whole-quarter download and is not
|
|
26
52
|
* form-filterable server-side, so this arm is the heaviest — the cap bounds it
|
|
27
|
-
* hard,
|
|
53
|
+
* hard. When older quarters go unscanned, `effectiveQuery` and the notice name the
|
|
54
|
+
* quarters read and `total_is_exact` / `dataset.truncated` turn false / true.
|
|
28
55
|
*/
|
|
29
56
|
const FULL_INDEX_QUARTER_SCAN_CAP = 8;
|
|
30
57
|
/**
|
|
@@ -172,10 +199,10 @@ function stripToken(query, token) {
|
|
|
172
199
|
* a silently-broadened search misleads, and a stripped token can leave EFTS
|
|
173
200
|
* with a blank query it rejects (#61).
|
|
174
201
|
*/
|
|
175
|
-
async function resolveEntityTargeting(query, ctx) {
|
|
202
|
+
async function resolveEntityTargeting(query, ctx, scope) {
|
|
176
203
|
const tickerMatch = query.match(/\bticker:(\S+)/i);
|
|
177
204
|
if (tickerMatch?.[1]) {
|
|
178
|
-
const resolved = await getEdgarApiService().resolveCik(tickerMatch[1]);
|
|
205
|
+
const resolved = await getEdgarApiService().resolveCik(tickerMatch[1], scope);
|
|
179
206
|
const match = Array.isArray(resolved) ? resolved[0] : resolved;
|
|
180
207
|
if (!match?.cik) {
|
|
181
208
|
throw validationError(`Entity targeting token 'ticker:${tickerMatch[1]}' does not resolve to a known company.`, { reason: 'unresolved_ticker', ...ctx.recoveryFor('unresolved_ticker') });
|
|
@@ -341,7 +368,7 @@ async function finishAssembledResult(ctx, args) {
|
|
|
341
368
|
* (period_ending, ticker, file_description, matched_documents, sic, location) are left
|
|
342
369
|
* null for a uniform archive-row shape.
|
|
343
370
|
*/
|
|
344
|
-
async function collectSubmissionsRows(ctx, args) {
|
|
371
|
+
async function collectSubmissionsRows(ctx, scope, args) {
|
|
345
372
|
const api = getEdgarApiService();
|
|
346
373
|
// A `cik:` targeting token is only shape-validated (1-10 digits), never checked
|
|
347
374
|
// against the ticker cache, so a well-formed filing-agent/transmitter CIK reaches
|
|
@@ -350,12 +377,12 @@ async function collectSubmissionsRows(ctx, args) {
|
|
|
350
377
|
// error — no raw SEC URL (#93). A registrant that 404s is an EDGAR-side problem
|
|
351
378
|
// and propagates unchanged, same reasoning as #55 and #76. The lookup is confined
|
|
352
379
|
// to this pre-2001 arm (already multi-fetch) so the EFTS path stays untouched.
|
|
353
|
-
const resolved = await api.resolveCik(args.entityCik);
|
|
380
|
+
const resolved = await api.resolveCik(args.entityCik, scope);
|
|
354
381
|
const cacheMatch = Array.isArray(resolved) ? resolved[0] : resolved;
|
|
355
382
|
const isBareCikFallback = !cacheMatch?.name && !cacheMatch?.ticker;
|
|
356
383
|
let submissions;
|
|
357
384
|
try {
|
|
358
|
-
submissions = await api.getSubmissions(args.entityCik);
|
|
385
|
+
submissions = await api.getSubmissions(args.entityCik, scope);
|
|
359
386
|
}
|
|
360
387
|
catch (err) {
|
|
361
388
|
if (isBareCikFallback && err instanceof McpError && err.code === JsonRpcErrorCode.NotFound) {
|
|
@@ -393,11 +420,7 @@ async function collectSubmissionsRows(ctx, args) {
|
|
|
393
420
|
};
|
|
394
421
|
pushBlock(submissions.filings.recent);
|
|
395
422
|
// Older filings live in the archive pages covering the requested pre-2001 range.
|
|
396
|
-
const walk = new SubmissionsArchiveWalk(api, submissions, {
|
|
397
|
-
filedAfter: args.startDate,
|
|
398
|
-
filedBefore: args.endDate,
|
|
399
|
-
order: 'newest-first',
|
|
400
|
-
});
|
|
423
|
+
const walk = new SubmissionsArchiveWalk(api, submissions, { filedAfter: args.startDate, filedBefore: args.endDate, order: 'newest-first' }, scope);
|
|
401
424
|
for await (const { block } of walk)
|
|
402
425
|
pushBlock(block);
|
|
403
426
|
return { rows, scanTruncated: walk.truncated };
|
|
@@ -412,8 +435,11 @@ async function collectSubmissionsRows(ctx, args) {
|
|
|
412
435
|
* filer and the subject company — so lines collapse to one row per accession,
|
|
413
436
|
* keeping the first line's `cik` and `company_name`; the index carries no
|
|
414
437
|
* filer/subject role to choose by (#124).
|
|
438
|
+
*
|
|
439
|
+
* Quarters are read newest first, so a capped browse covers the end of its range;
|
|
440
|
+
* `quarterCap` names that slice, which `effectiveQuery` and the notice disclose.
|
|
415
441
|
*/
|
|
416
|
-
async function collectFullIndexRows(args) {
|
|
442
|
+
async function collectFullIndexRows(scope, args) {
|
|
417
443
|
const api = getEdgarApiService();
|
|
418
444
|
const quarters = quartersInRange(args.startDate, args.endDate);
|
|
419
445
|
const quarterLimit = Math.min(quarters.length, FULL_INDEX_QUARTER_SCAN_CAP);
|
|
@@ -424,7 +450,7 @@ async function collectFullIndexRows(args) {
|
|
|
424
450
|
const quarter = quarters[i];
|
|
425
451
|
if (!quarter)
|
|
426
452
|
break;
|
|
427
|
-
const entries = await api.fetchFullIndexQuarter(quarter.year, quarter.quarter);
|
|
453
|
+
const entries = await api.fetchFullIndexQuarter(quarter.year, quarter.quarter, scope);
|
|
428
454
|
for (const entry of entries) {
|
|
429
455
|
if (entry.filingDate < args.startDate || entry.filingDate > args.endDate)
|
|
430
456
|
continue;
|
|
@@ -449,7 +475,25 @@ async function collectFullIndexRows(args) {
|
|
|
449
475
|
});
|
|
450
476
|
}
|
|
451
477
|
}
|
|
452
|
-
|
|
478
|
+
// A quarter past the limit exists only when the cap bound.
|
|
479
|
+
const newestUnread = quarters[quarterLimit];
|
|
480
|
+
const newest = quarters[0];
|
|
481
|
+
const oldestRead = quarters[quarterLimit - 1];
|
|
482
|
+
const oldest = quarters.at(-1);
|
|
483
|
+
if (!newestUnread || !newest || !oldestRead || !oldest)
|
|
484
|
+
return { rows, scanTruncated };
|
|
485
|
+
const label = (q) => `${q.year}Q${q.quarter}`;
|
|
486
|
+
const quarterEnd = ['03-31', '06-30', '09-30', '12-31'][newestUnread.quarter - 1];
|
|
487
|
+
return {
|
|
488
|
+
rows,
|
|
489
|
+
scanTruncated,
|
|
490
|
+
quarterCap: {
|
|
491
|
+
read: `${label(oldestRead)}–${label(newest)}`,
|
|
492
|
+
range: `${label(oldest)}–${label(newest)}`,
|
|
493
|
+
count: quarters.length,
|
|
494
|
+
olderEnd: `${newestUnread.year}-${quarterEnd}`,
|
|
495
|
+
},
|
|
496
|
+
};
|
|
453
497
|
}
|
|
454
498
|
/**
|
|
455
499
|
* Read candidate filings and keep the ones whose text satisfies the query — the
|
|
@@ -469,11 +513,11 @@ async function collectFullIndexRows(args) {
|
|
|
469
513
|
* asked for. Documents are fetched concurrently; `EdgarApiService`'s throttle
|
|
470
514
|
* serializes them at the configured request rate, which is the real cost.
|
|
471
515
|
*/
|
|
472
|
-
async function scanFilingText(ctx, candidates, parsed) {
|
|
516
|
+
async function scanFilingText(ctx, scope, candidates, parsed) {
|
|
473
517
|
const api = getEdgarApiService();
|
|
474
518
|
const targets = candidates.slice(0, DOCUMENT_SCAN_CAP);
|
|
475
519
|
const outcomes = await Promise.all(targets.map(async (row) => {
|
|
476
|
-
const text = await api.tryGetFilingDocument(row.cik ?? '', row.accession_number, `${row.accession_number}.txt
|
|
520
|
+
const text = await api.tryGetFilingDocument(row.cik ?? '', row.accession_number, `${row.accession_number}.txt`, scope);
|
|
477
521
|
if (text === null)
|
|
478
522
|
return null;
|
|
479
523
|
return matchesLocalQuery(filingToExtract(text), parsed) ? row : null;
|
|
@@ -495,7 +539,7 @@ async function scanFilingText(ctx, candidates, parsed) {
|
|
|
495
539
|
* is always fetched from offset 0 regardless of the caller's `offset`, which
|
|
496
540
|
* addresses the merged list instead.
|
|
497
541
|
*/
|
|
498
|
-
async function fetchEftsRows(args) {
|
|
542
|
+
async function fetchEftsRows(scope, args) {
|
|
499
543
|
const response = await getEdgarApiService().searchFilings({
|
|
500
544
|
query: args.query,
|
|
501
545
|
forms: args.forms,
|
|
@@ -504,7 +548,7 @@ async function fetchEftsRows(args) {
|
|
|
504
548
|
endDate: args.endDate,
|
|
505
549
|
from: 0,
|
|
506
550
|
size: 100,
|
|
507
|
-
});
|
|
551
|
+
}, scope);
|
|
508
552
|
return {
|
|
509
553
|
rows: collapseEftsHits(response.hits.hits),
|
|
510
554
|
totalIsExact: windowHoldsEveryMatch(response, 0),
|
|
@@ -521,7 +565,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
521
565
|
enrichment: {
|
|
522
566
|
effectiveQuery: z
|
|
523
567
|
.string()
|
|
524
|
-
.describe('The query as executed:
|
|
568
|
+
.describe('The query as executed: "(entity scope: CIK …)" for a ticker:/cik: token, "(browse: forms …)" for a forms-only browse, a pre-2001 range\'s archive route and dates (and quarters read, if the full-index cap bound), and "(filed <after> to <before>)" for a full-text search given one bound.'),
|
|
525
569
|
notice: z
|
|
526
570
|
.string()
|
|
527
571
|
.optional()
|
|
@@ -534,12 +578,6 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
534
578
|
cap: z.number().optional().describe('The limit cap applied.'),
|
|
535
579
|
},
|
|
536
580
|
errors: [
|
|
537
|
-
{
|
|
538
|
-
reason: 'invalid_date_range',
|
|
539
|
-
code: JsonRpcErrorCode.ValidationError,
|
|
540
|
-
when: 'Only one of filed_after or filed_before was provided',
|
|
541
|
-
recovery: 'Provide both filed_after and filed_before, or omit both to search all dates.',
|
|
542
|
-
},
|
|
543
581
|
{
|
|
544
582
|
reason: 'unresolved_ticker',
|
|
545
583
|
code: JsonRpcErrorCode.ValidationError,
|
|
@@ -571,7 +609,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
571
609
|
reason: 'pre2001_full_text_unscoped',
|
|
572
610
|
code: JsonRpcErrorCode.ValidationError,
|
|
573
611
|
when: 'A date range reaching before 2001-01-01 carries free-text terms with no entity scope — no pre-2001 full-text index exists, and nothing bounds a local scan',
|
|
574
|
-
recovery: 'Add ticker: or cik: entity scope to the query, drop the text terms
|
|
612
|
+
recovery: 'Add ticker: or cik: entity scope to the query, drop the text terms and browse by form type (forms: ["10-K"]) and date, or, for a range that reaches 2001, start the range at 2001-01-01.',
|
|
575
613
|
},
|
|
576
614
|
{
|
|
577
615
|
reason: 'rate_limited',
|
|
@@ -584,8 +622,8 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
584
622
|
{
|
|
585
623
|
reason: 'sec_unreachable',
|
|
586
624
|
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
587
|
-
when:
|
|
588
|
-
recovery: 'Retry the same call in a minute — SEC EDGAR
|
|
625
|
+
when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent",
|
|
626
|
+
recovery: 'Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.',
|
|
589
627
|
retryable: true,
|
|
590
628
|
thrownBy: 'service',
|
|
591
629
|
},
|
|
@@ -601,7 +639,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
601
639
|
.describe('Full-text search query. Supports: exact phrases ("material weakness"), boolean operators (revenue OR income), exclusion (-preliminary), wildcard suffix (account*), entity targeting (ticker:AAPL or cik:320193 in the query). Terms are AND\'d by default.'),
|
|
602
640
|
])
|
|
603
641
|
.optional()
|
|
604
|
-
.describe('Full-text search query. Optional — omit (or pass "") to browse by form type and/or entity instead, e.g. every S-1 in a date window, or a company\'s filings via ticker:/cik:. A date range alone is not a valid search; pair it with forms or entity targeting. The EFTS index that serves free text starts at 2001-01-01; a date range reaching earlier needs ticker:/cik: entity scope, which lets the tool read that entity\'s filings and match the terms locally (bounded to 50 documents, a few seconds at SEC\'s request rate), or drop the text terms
|
|
642
|
+
.describe('Full-text search query. Optional — omit (or pass "") to browse by form type and/or entity instead, e.g. every S-1 in a date window, or a company\'s filings via ticker:/cik:. A date range alone is not a valid search; pair it with forms or entity targeting. The EFTS index that serves free text starts at 2001-01-01; a date range reaching earlier needs ticker:/cik: entity scope, which lets the tool read that entity\'s filings and match the terms locally (bounded to 50 documents, a few seconds at SEC\'s request rate), or drop the text terms and browse by form type (forms) and date. When present, supports exact phrases ("material weakness"), boolean operators (revenue OR income), exclusion (-preliminary), wildcard suffix (account*), and entity targeting (ticker:AAPL or cik:320193 in the query); terms are AND\'d by default. A multi-class share ticker resolves in either form — ticker:BRK-B and ticker:BRK.B scope to the same issuer. The pre-2001 local scan honors the same phrase / OR / exclusion / wildcard syntax.'),
|
|
605
643
|
forms: z
|
|
606
644
|
.array(z.string())
|
|
607
645
|
.optional()
|
|
@@ -615,7 +653,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
615
653
|
.describe('YYYY-MM-DD'),
|
|
616
654
|
])
|
|
617
655
|
.optional()
|
|
618
|
-
.describe('Only include filings filed on or after this date (YYYY-MM-DD).
|
|
656
|
+
.describe('Only include filings filed on or after this date (YYYY-MM-DD). Use alone or with filed_before; alone, the search runs through today (UTC).'),
|
|
619
657
|
filed_before: z
|
|
620
658
|
.union([
|
|
621
659
|
z.literal(''),
|
|
@@ -625,7 +663,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
625
663
|
.describe('YYYY-MM-DD'),
|
|
626
664
|
])
|
|
627
665
|
.optional()
|
|
628
|
-
.describe('Only include filings filed on or before this date (YYYY-MM-DD).
|
|
666
|
+
.describe('Only include filings filed on or before this date (YYYY-MM-DD). Use alone or with filed_after; alone, the search starts at 2001-01-01, or at 1993-01-01 (the archive start) for a date before 2001.'),
|
|
629
667
|
limit: z.number().int().min(1).max(100).default(20).describe('Results per page. Max 100.'),
|
|
630
668
|
offset: z
|
|
631
669
|
.number()
|
|
@@ -742,10 +780,6 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
742
780
|
.describe('Dataframe of every filing assembled (the full-text window, or the full pre-2001 match set). Absent when the rows fit inline, canvas is unavailable, or staging failed.'),
|
|
743
781
|
}),
|
|
744
782
|
async handler(input, ctx) {
|
|
745
|
-
// Validate date range: both or neither
|
|
746
|
-
if ((input.filed_after && !input.filed_before) || (!input.filed_after && input.filed_before)) {
|
|
747
|
-
throw ctx.fail('invalid_date_range', 'Both filed_after and filed_before are required when filtering by date.');
|
|
748
|
-
}
|
|
749
783
|
// Browse mode (#79): EFTS accepts a forms-only or entity-scoped request with no
|
|
750
784
|
// full-text term, but rejects one with neither ("Blank search not valid"). Guard
|
|
751
785
|
// the both-absent shape here — checked against the RAW query/forms (before the
|
|
@@ -757,49 +791,61 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
757
791
|
// Resolve ticker:/cik: entity targeting → stripped query + CIK for the
|
|
758
792
|
// server-side ciks param. Throws typed validation errors on bad tokens (#61).
|
|
759
793
|
// Default to '' so a browse request (undefined query) resolves cleanly.
|
|
760
|
-
const
|
|
794
|
+
const scope = new CallScope(ctx.signal);
|
|
795
|
+
const { query, entityCik } = await resolveEntityTargeting(input.query ?? '', ctx, scope);
|
|
761
796
|
const api = getEdgarApiService();
|
|
762
797
|
// Date-based routing at the EFTS full-text floor (2001-01-01). EFTS only
|
|
763
798
|
// indexes filings from 2001, so a range reaching earlier is served from the
|
|
764
799
|
// archives — entirely, or (when it also reaches 2001 onward) as the older half
|
|
765
|
-
// of a two-source merge split at the floor (#77, #87).
|
|
766
|
-
|
|
767
|
-
const
|
|
800
|
+
// of a two-source merge split at the floor (#77, #87). A lone bound is paired
|
|
801
|
+
// first, so it routes exactly as the equivalent explicit pair would (#185).
|
|
802
|
+
const dates = dateWindow(input.filed_after, input.filed_before);
|
|
768
803
|
const hasFreeText = query.trim().length > 0;
|
|
769
|
-
if (
|
|
804
|
+
if (dates && dates.startDate < EFTS_FULLTEXT_FLOOR) {
|
|
805
|
+
const { startDate, endDate } = dates;
|
|
770
806
|
const straddles = endDate >= EFTS_FULLTEXT_FLOOR;
|
|
771
807
|
const archiveEnd = straddles ? ARCHIVE_ERA_END : endDate;
|
|
772
808
|
// Free text before 2001 is matched by reading documents, which only an entity
|
|
773
809
|
// scope bounds. Unscoped, the pre-2001 half of the range cannot be served at
|
|
774
|
-
// all — reject rather than answer half a range and call it the answer.
|
|
810
|
+
// all — reject rather than answer half a range and call it the answer. Starting
|
|
811
|
+
// at the floor is a way out only for a range that reaches it.
|
|
775
812
|
if (hasFreeText && !entityCik) {
|
|
776
|
-
|
|
813
|
+
const ways = straddles
|
|
814
|
+
? `Add ticker:/cik: entity scope to match those filings by reading them, drop the text terms and browse by form type (forms: ["10-K"]) and date, or start the range at ${EFTS_FULLTEXT_FLOOR}.`
|
|
815
|
+
: 'Add ticker:/cik: entity scope to match those filings by reading them, or drop the text terms and browse by form type (forms: ["10-K"]) and date.';
|
|
816
|
+
throw ctx.fail('pre2001_full_text_unscoped', `Full-text search is unavailable before ${EFTS_FULLTEXT_FLOOR} (where the EFTS index starts), so the ${startDate}..${archiveEnd} part of this range has no index to search. ${ways}`, straddles
|
|
817
|
+
? undefined
|
|
818
|
+
: {
|
|
819
|
+
recovery: {
|
|
820
|
+
hint: 'Add ticker: or cik: entity scope to the query, or drop the text terms and browse by form type (forms: ["10-K"]) and date.',
|
|
821
|
+
},
|
|
822
|
+
});
|
|
777
823
|
}
|
|
778
824
|
let archive;
|
|
779
825
|
let scan;
|
|
780
826
|
if (entityCik) {
|
|
781
|
-
archive = await collectSubmissionsRows(ctx, {
|
|
827
|
+
archive = await collectSubmissionsRows(ctx, scope, {
|
|
782
828
|
entityCik,
|
|
783
829
|
forms: input.forms,
|
|
784
830
|
startDate,
|
|
785
831
|
endDate: archiveEnd,
|
|
786
832
|
});
|
|
787
833
|
if (hasFreeText) {
|
|
788
|
-
const scanned = await scanFilingText(ctx, sortRows(archive.rows, input.sort), parseLocalQuery(query));
|
|
834
|
+
const scanned = await scanFilingText(ctx, scope, sortRows(archive.rows, input.sort), parseLocalQuery(query));
|
|
789
835
|
archive = { rows: scanned.rows, scanTruncated: archive.scanTruncated };
|
|
790
836
|
scan = scanned.scan;
|
|
791
837
|
}
|
|
792
838
|
}
|
|
793
839
|
else {
|
|
794
840
|
// Unscoped + no free text → forms are guaranteed present by the missing_criteria guard.
|
|
795
|
-
archive = await collectFullIndexRows({
|
|
841
|
+
archive = await collectFullIndexRows(scope, {
|
|
796
842
|
forms: input.forms ?? [],
|
|
797
843
|
startDate,
|
|
798
844
|
endDate: archiveEnd,
|
|
799
845
|
});
|
|
800
846
|
}
|
|
801
847
|
const efts = straddles
|
|
802
|
-
? await fetchEftsRows({
|
|
848
|
+
? await fetchEftsRows(scope, {
|
|
803
849
|
query,
|
|
804
850
|
forms: input.forms,
|
|
805
851
|
entityCik,
|
|
@@ -828,6 +874,15 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
828
874
|
const windowNote = efts && eftsWindowIncomplete
|
|
829
875
|
? ` The ${EFTS_FULLTEXT_FLOOR}-onward side contributed the ${efts.rows.length} filings of one 100-document window of its ${efts.totalDocuments} matching documents, so the merged rows jump from the end of that window straight to ${ARCHIVE_ERA_END} — search ${EFTS_FULLTEXT_FLOOR} to ${endDate} on its own to page through the rest.`
|
|
830
876
|
: '';
|
|
877
|
+
// A capped full-index browse covers only the newest quarters of its range, which
|
|
878
|
+
// the stated dates alone would hide.
|
|
879
|
+
const { quarterCap } = archive;
|
|
880
|
+
const quarterRead = quarterCap
|
|
881
|
+
? `; quarters read ${quarterCap.read} of ${quarterCap.range}`
|
|
882
|
+
: '';
|
|
883
|
+
const quarterNote = quarterCap
|
|
884
|
+
? ` The full-index browse read the newest ${FULL_INDEX_QUARTER_SCAN_CAP} of the ${quarterCap.count} quarters in range, ${quarterCap.read}; end the range at ${quarterCap.olderEnd} to read the older ones.`
|
|
885
|
+
: '';
|
|
831
886
|
return await finishAssembledResult(ctx, {
|
|
832
887
|
matched: [...archive.rows, ...(efts?.rows ?? [])],
|
|
833
888
|
totalIsExact: !archiveIncomplete && !eftsWindowIncomplete,
|
|
@@ -844,11 +899,11 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
844
899
|
source: straddles ? 'efts+archive' : entityCik ? 'submissions' : 'full-index',
|
|
845
900
|
},
|
|
846
901
|
effectiveQuery: straddles
|
|
847
|
-
? `${hasFreeText ? `${query} ` : ''}(split at ${EFTS_FULLTEXT_FLOOR}: ${scopeNote}${formsNote}, ${startDate} to ${endDate})`
|
|
848
|
-
: `${hasFreeText ? `${query} ` : ''}(pre-2001 archive: ${scopeNote}${formsNote}, ${startDate} to ${endDate})`,
|
|
902
|
+
? `${hasFreeText ? `${query} ` : ''}(split at ${EFTS_FULLTEXT_FLOOR}: ${scopeNote}${formsNote}, ${startDate} to ${endDate}${quarterRead})`
|
|
903
|
+
: `${hasFreeText ? `${query} ` : ''}(pre-2001 archive: ${scopeNote}${formsNote}, ${startDate} to ${endDate}${quarterRead})`,
|
|
849
904
|
coverageNote: straddles
|
|
850
|
-
? `Merged across the ${EFTS_FULLTEXT_FLOOR} boundary — filings from ${EFTS_FULLTEXT_FLOOR} on come from the full-text index, earlier ones from ${archiveSource}. Read each row's source; the EFTS-only fields (period_ending, ticker, file_description, matched_documents, sic, location) are null on archive rows.${windowNote}${scanNote}`
|
|
851
|
-
: `Served from ${archiveSource} — full-text search covers 2001-present only.${scanNote}`,
|
|
905
|
+
? `Merged across the ${EFTS_FULLTEXT_FLOOR} boundary — filings from ${EFTS_FULLTEXT_FLOOR} on come from the full-text index, earlier ones from ${archiveSource}. Read each row's source; the EFTS-only fields (period_ending, ticker, file_description, matched_documents, sic, location) are null on archive rows.${windowNote}${quarterNote}${scanNote}`
|
|
906
|
+
: `Served from ${archiveSource} — full-text search covers 2001-present only.${quarterNote}${scanNote}`,
|
|
852
907
|
zeroHitCriteria: [
|
|
853
908
|
...(hasFreeText ? [`"${query}"`] : []),
|
|
854
909
|
...(entityCik ? [`CIK ${entityCik}`] : []),
|
|
@@ -869,11 +924,11 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
869
924
|
query,
|
|
870
925
|
forms: input.forms,
|
|
871
926
|
ciks: entityCik ? [entityCik] : undefined,
|
|
872
|
-
startDate:
|
|
873
|
-
endDate:
|
|
927
|
+
startDate: dates?.startDate,
|
|
928
|
+
endDate: dates?.endDate,
|
|
874
929
|
from: fetchFrom,
|
|
875
930
|
size: fetchSize,
|
|
876
|
-
});
|
|
931
|
+
}, scope);
|
|
877
932
|
// EFTS scopes by the server-side `ciks` param (set above when entity targeting
|
|
878
933
|
// was used), so no client-side CIK post-filter is involved. A search with terms
|
|
879
934
|
// answers one hit per matching document, so the window collapses to one row per
|
|
@@ -917,8 +972,8 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
917
972
|
queryParams: {
|
|
918
973
|
query,
|
|
919
974
|
forms: input.forms,
|
|
920
|
-
filed_after:
|
|
921
|
-
filed_before:
|
|
975
|
+
filed_after: dates?.startDate,
|
|
976
|
+
filed_before: dates?.endDate,
|
|
922
977
|
entity_cik: entityCik,
|
|
923
978
|
source: 'efts',
|
|
924
979
|
},
|
|
@@ -934,9 +989,13 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
934
989
|
resultCount: results.length,
|
|
935
990
|
datasetName: dataset?.name,
|
|
936
991
|
});
|
|
937
|
-
const
|
|
992
|
+
const searched = entityCik
|
|
938
993
|
? `${query ? `${query} ` : ''}(entity scope: CIK ${entityCik})`
|
|
939
994
|
: query || (input.forms?.length ? `(browse: forms ${input.forms.join(', ')})` : '');
|
|
995
|
+
// A window the caller spelled out is already in their arguments; a filled one is not.
|
|
996
|
+
const effectiveQuery = dates?.filled
|
|
997
|
+
? `${searched} (filed ${dates.startDate} to ${dates.endDate})`
|
|
998
|
+
: searched;
|
|
940
999
|
ctx.enrich.echo(effectiveQuery);
|
|
941
1000
|
if (totalDocuments === 0) {
|
|
942
1001
|
// Genuine no-match — EFTS returned zero hits. Echo all active criteria; on the
|
|
@@ -949,9 +1008,8 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
|
|
|
949
1008
|
criteria.push(`entity CIK ${entityCik}`);
|
|
950
1009
|
if (input.forms?.length)
|
|
951
1010
|
criteria.push(`forms [${input.forms.join(', ')}]`);
|
|
952
|
-
if (
|
|
953
|
-
criteria.push(`dates ${
|
|
954
|
-
}
|
|
1011
|
+
if (dates)
|
|
1012
|
+
criteria.push(`dates ${dates.startDate} to ${dates.endDate}`);
|
|
955
1013
|
const criteriaText = criteria.length > 0 ? criteria.join(', ') : 'the given criteria';
|
|
956
1014
|
ctx.enrich.notice(`No filings matched ${criteriaText}. Broaden the query, remove the form filter, or widen the date range.`);
|
|
957
1015
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-filings.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-filings.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-filings.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-filings.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC,4FAA4F;AAC5F,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,mFAAmF;AACnF,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC;;;;;;;;;GASG;AACH,SAAS,UAAU,CACjB,UAA8B,EAC9B,WAA+B;IAE/B,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,WAAW,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAChG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO;AACT,CAAC;AAED;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,iFAAiF;AACjF,MAAM,wBAAwB,GAAG,gEAAgE,CAAC;AAqFlG;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAe;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC;QAC7D,MAAM,QAAQ,GAAsB,QAAQ;YAC1C,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,gBAAgB,EAAE,SAAS;YAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;YAC9B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;YAClC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;YAChD,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC3C,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAClC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC;YAClC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI;YACtD,iBAAiB,EAAE,QAAQ;YAC3B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAClC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAChD,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,QAAsB,EAAE,IAAY;IACjE,OAAO,CACL,IAAI,KAAK,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;QACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CACtC,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,GAAc;IACpC,OAAO;QACL,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;QACtE,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;QAClB,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACjD,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/E,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI;YAC/B,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACnF,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvD,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO;QACL,GAAG,GAAG;QACN,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,MAAM;YAC9C,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxD,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,UAAkB,EAAE,cAAwB;IAC/D,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,qBAAqB,CAC5B,KAA0C;IAE1C,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,WAAmB;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtF,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,8EAA8E;AAC9E,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,sBAAsB,CACnC,KAAa,EACb,GAAY,EACZ,KAAgB;IAEhB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAChB,MAAM,eAAe,CACnB,kCAAkC,WAAW,CAAC,CAAC,CAAC,wCAAwC,EACxF,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,eAAe,CACnB,+BAA+B,QAAQ,CAAC,CAAC,CAAC,8CAA8C,EACxF,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAUD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;;YAC5C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;AAC5E,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAkB;IACzD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CACf,IAAiB,EACjB,IAA0D;IAE1D,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7B,IAAI,KAAK,iBAAiB;QACxB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAY,EACZ,IAaC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE3C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,IAAI,OAES,CAAC;IACd,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;YACrD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YAC7B,UAAU,EAAE,yBAAyB;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;SACV,CAAC,CAAC;QACH,IAAI,UAAU;YAAE,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzE,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,+EAA+E;QAC/E,kFAAkF;QAClF,MAAM,MAAM,GAAG;YACb,WAAW,IAAI,CAAC,MAAM,iBAAiB,KAAK,oDAAoD;SACjG,CAAC;QACF,IAAI,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QACxE,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACxD,8EAA8E;QAC9E,2EAA2E;QAC3E,iFAAiF;QACjF,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvD,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEhE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK;QACL,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,eAAe,EAAE,IAAI,CAAC,cAAc;QACpC,OAAO;QACP,iBAAiB,EAAE,gBAAgB;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAAY,EACZ,KAAgB,EAChB,IAKC;IAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,gFAAgF;IAChF,kFAAkF;IAClF,gFAAgF;IAChF,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAEnE,IAAI,WAA2D,CAAC;IAChE,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,iBAAiB,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC3F,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACtE,MAAM,QAAQ,CACZ,gCAAgC,IAAI,CAAC,SAAS,2IAA2I,EACzL,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EACtE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1D,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvE,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,SAAS;YACjD,IAAI,CAAC,IAAI,CAAC;gBACR,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE;gBAChD,IAAI,EAAE,IAAI,IAAI,IAAI;gBAClB,WAAW,EAAE,UAAU;gBACvB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,WAAW;gBACzB,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,iFAAiF;IACjF,MAAM,IAAI,GAAG,IAAI,sBAAsB,CACrC,GAAG,EACH,WAAW,EACX,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAChF,KAAK,CACN,CAAC;IACF,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI;QAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAAgB,EAChB,IAIC;IAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;IAErD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,MAAM;QACpB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO;gBAAE,SAAS;YACnF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;gBAAE,SAAS;YAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC;gBACR,gBAAgB,EAAE,KAAK,CAAC,eAAe;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,WAAW,EAAE,KAAK,CAAC,UAAU;gBAC7B,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,KAAK,CAAC,WAAW;gBAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACvF,MAAM,KAAK,GAAG,CAAC,CAAoC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACjF,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO;QACL,IAAI;QACJ,aAAa;QACb,UAAU,EAAE;YACV,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7C,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;YAC1C,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,IAAI,UAAU,EAAE;SAC/C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAY,EACZ,KAAgB,EAChB,UAAuB,EACvB,MAAkB;IAElB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CACzC,GAAG,CAAC,GAAG,IAAI,EAAE,EACb,GAAG,CAAC,gBAAgB,EACpB,GAAG,GAAG,CAAC,gBAAgB,MAAM,EAC7B,KAAK,CACN,CAAC;QACF,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAoB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACtE,MAAM,IAAI,GAAgB;QACxB,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;KAC3C,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAC1B,KAAgB,EAChB,IAMC;IAED,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC,aAAa,CACvD;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QACnD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,GAAG;KACV,EACD,KAAK,CACN,CAAC;IACF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAC/D,WAAW,EACT,8yBAA8yB;IAChzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAE9E,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,iBAAiB;IACjB,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CACP,+RAA+R,CAChS;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wHAAwH,CACzH;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,gGAAgG,CACjG;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACxE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC9D;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,4EAA4E;YAClF,QAAQ,EACN,6FAA6F;YAC/F,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,gEAAgE;YACtE,QAAQ,EACN,0FAA0F;YAC5F,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,+FAA+F;YACrG,QAAQ,EACN,mHAAmH;YACrH,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,6FAA6F;YACnG,QAAQ,EACN,gJAAgJ;SACnJ;QACD;YACE,MAAM,EAAE,4BAA4B;YACpC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,4JAA4J;YAClK,QAAQ,EACN,0LAA0L;SAC7L;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,yIAAyI;YAC/I,QAAQ,EACN,0HAA0H;YAC5H,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,kcAAkc;YACxc,QAAQ,EACN,wIAAwI;YAC1I,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;iBAC/B,QAAQ,CACP,6PAA6P,CAC9P;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,8/BAA8/B,CAC//B;QACH,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,4pBAA4pB,CAC7pB;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;iBACnD,QAAQ,CAAC,YAAY,CAAC;SAC1B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,4IAA4I,CAC7I;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;iBACnD,QAAQ,CAAC,YAAY,CAAC;SAC1B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,qMAAqM,CACtM;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1F,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,8yCAA8yC,CAC/yC;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;aAC1D,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,CACP,i0BAAi0B,CACl0B;KACJ,CAAC;IACF,qFAAqF;IACrF,YAAY,EAAE;QACZ,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,OAAO;KACpB;IAED,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,8SAA8S,CAC/S;QACH,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,CACP,oSAAoS,CACrS;QACH,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wMAAwM,CACzM;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAClF,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4EAA4E,CAC7E;YACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC/E,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gHAAgH,CACjH;YACH,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CAAC,yDAAyD,CAAC;YACtE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACxE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0KAA0K,CAC3K;YACH,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0GAA0G,CAC3G;YACH,iBAAiB,EAAE,CAAC;iBACjB,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CACP,sEAAsE,CACvE;gBACH,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,mGAAmG,CACpG;aACJ,CAAC;iBACD,QAAQ,CAAC,qDAAqD,CAAC,CACnE;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,wHAAwH,CACzH;YACH,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;iBAC3C,QAAQ,EAAE;iBACV,QAAQ,CACP,sQAAsQ,CACvQ;SACJ,CAAC;aACD,QAAQ,CACP,4KAA4K,CAC7K,CACJ;aACA,QAAQ,CAAC,mBAAmB,CAAC;QAChC,iBAAiB,EAAE,CAAC;aACjB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,EAAE;aACV,QAAQ,CACP,+KAA+K,CAChL;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC/E,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CACP,wGAAwG,CACzG;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,yKAAyK,CAC1K;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,mGAAmG,CACpG;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC7D,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,CACP,oHAAoH,CACrH;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,wKAAwK,CACzK;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,gFAAgF;QAChF,iFAAiF;QACjF,+EAA+E;QAC/E,mFAAmF;QACnF,8EAA8E;QAC9E,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACjD,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,8EAA8E;QAC9E,wEAAwE;QACxE,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QAEjC,yEAAyE;QACzE,4EAA4E;QAC5E,+EAA+E;QAC/E,8EAA8E;QAC9E,4EAA4E;QAC5E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACnD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,SAAS,GAAG,OAAO,IAAI,mBAAmB,CAAC;YACjD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YAEzD,8EAA8E;YAC9E,6EAA6E;YAC7E,gFAAgF;YAChF,8DAA8D;YAC9D,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,SAAS;oBACpB,CAAC,CAAC,uKAAuK,mBAAmB,GAAG;oBAC/L,CAAC,CAAC,kJAAkJ,CAAC;gBACvJ,MAAM,GAAG,CAAC,IAAI,CACZ,4BAA4B,EAC5B,0CAA0C,mBAAmB,0CAA0C,SAAS,KAAK,UAAU,+CAA+C,IAAI,EAAE,EACpL,SAAS;oBACP,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC;wBACE,QAAQ,EAAE;4BACR,IAAI,EAAE,2HAA2H;yBAClI;qBACF,CACN,CAAC;YACJ,CAAC;YAED,IAAI,OAAoB,CAAC;YACzB,IAAI,IAA6B,CAAC;YAClC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE;oBACjD,SAAS;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS;oBACT,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,GAAG,EACH,KAAK,EACL,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAClC,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;oBACF,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;oBACvE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wFAAwF;gBACxF,OAAO,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE;oBAC1C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;oBACxB,SAAS;oBACT,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,SAAS;gBACpB,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE;oBACzB,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS;oBACT,SAAS,EAAE,mBAAmB;oBAC9B,OAAO;iBACR,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,gFAAgF;YAChF,iFAAiF;YACjF,mEAAmE;YACnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC;YAC3E,MAAM,oBAAoB,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAEtE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACvE,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,gCAAgC,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI;gBACnB,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,UAAU,wCAAwC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,4IAA4I;gBAC3S,CAAC,CAAC,EAAE,CAAC;YACP,wFAAwF;YACxF,mFAAmF;YACnF,uFAAuF;YACvF,uFAAuF;YACvF,mDAAmD;YACnD,MAAM,UAAU,GACd,IAAI,IAAI,oBAAoB;gBAC1B,CAAC,CAAC,QAAQ,mBAAmB,gCAAgC,IAAI,CAAC,IAAI,CAAC,MAAM,8CAA8C,IAAI,CAAC,cAAc,wFAAwF,eAAe,aAAa,mBAAmB,OAAO,OAAO,uCAAuC;gBAC1U,CAAC,CAAC,EAAE,CAAC;YACT,iFAAiF;YACjF,qCAAqC;YACrC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC/B,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,mBAAmB,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,KAAK,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,0CAA0C,2BAA2B,WAAW,UAAU,CAAC,KAAK,uBAAuB,UAAU,CAAC,IAAI,sBAAsB,UAAU,CAAC,QAAQ,0BAA0B;gBAC3M,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE;gBACtC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBACjD,YAAY,EAAE,CAAC,iBAAiB,IAAI,CAAC,oBAAoB;gBACzD,cAAc,EAAE,IAAI,EAAE,cAAc;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,WAAW,EAAE;oBACX,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACtC,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,SAAS;oBACtB,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;iBAC9E;gBACD,cAAc,EAAE,SAAS;oBACvB,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,mBAAmB,KAAK,SAAS,GAAG,SAAS,KAAK,SAAS,OAAO,OAAO,GAAG,WAAW,GAAG;oBAC1I,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,sBAAsB,SAAS,GAAG,SAAS,KAAK,SAAS,OAAO,OAAO,GAAG,WAAW,GAAG;gBAC7H,YAAY,EAAE,SAAS;oBACrB,CAAC,CAAC,qBAAqB,mBAAmB,4BAA4B,mBAAmB,wDAAwD,aAAa,uJAAuJ,UAAU,GAAG,WAAW,GAAG,QAAQ,EAAE;oBAC1V,CAAC,CAAC,eAAe,aAAa,gDAAgD,WAAW,GAAG,QAAQ,EAAE;gBACxG,eAAe,EAAE;oBACf,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,SAAS,SAAS,OAAO,OAAO,EAAE;iBACnC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;QACxE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,aAAa,CACtC;YACE,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACzC,SAAS,EAAE,KAAK,EAAE,SAAS;YAC3B,OAAO,EAAE,KAAK,EAAE,OAAO;YACvB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB,EACD,KAAK,CACN,CAAC;QAEF,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,mFAAmF;QACnF,mFAAmF;QACnF,+EAA+E;QAC/E,mFAAmF;QACnF,0BAA0B;QAC1B,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,gBAAgB,CAAC;QACtE,kEAAkE;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QAE5F,kFAAkF;QAClF,oFAAoF;QACpF,gFAAgF;QAChF,uEAAuE;QACvE,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE7C,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,IAAI,OAES,CAAC;QACd,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,gFAAgF;QAChF,sDAAsD;QACtD,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,8EAA8E;YAC9E,0CAA0C;YAC1C,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC;YAClC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;gBACrD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC3B,UAAU,EAAE,yBAAyB;gBACrC,WAAW,EAAE;oBACX,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,EAAE,SAAS;oBAC7B,YAAY,EAAE,KAAK,EAAE,OAAO;oBAC5B,UAAU,EAAE,SAAS;oBACrB,MAAM,EAAE,MAAM;iBACf;gBACD,SAAS;aACV,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;QACzE,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACtC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,cAAc;YACd,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,WAAW,EAAE,OAAO,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,sBAAsB,SAAS,GAAG;YAC/D,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,sFAAsF;QACtF,MAAM,cAAc,GAAG,KAAK,EAAE,MAAM;YAClC,CAAC,CAAC,GAAG,QAAQ,WAAW,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,OAAO,GAAG;YAC9D,CAAC,CAAC,QAAQ,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,+EAA+E;YAC/E,+EAA+E;YAC/E,sBAAsB;YACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACvC,IAAI,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,sBAAsB,YAAY,uEAAuE,CAC1G,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,kFAAkF;YAClF,wBAAwB;YACxB,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,aAAa;gBACX,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,KAAK,+BAA+B;gBAC9E,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,cAAc,+FAA+F,CAC1J,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,iFAAiF;YACjF,mFAAmF;YACnF,oFAAoF;YACpF,2EAA2E;YAC3E,sFAAsF;YACtF,MAAM,YAAY,GAAG,SAAS;gBAC5B,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,iJAAiJ,CAAC;YACtJ,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,CAAC,cAAc;gBACb,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,uCAAuC;gBAC5F,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,6CAA6C,gBAAgB,OAAO,cAAc,aAAa,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,8DAA8D,YAAY,GAAG,CAAC;gBACzQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,gFAAgF;YAChF,6DAA6D;YAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,SAAS;oBACrB,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,2FAA2F,CAAC;gBAChG,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;gBACtE,QAAQ,CAAC,IAAI,CACX,aAAa;oBACX,CAAC,CAAC,SAAS;wBACT,CAAC,CAAC,kCAAkC,IAAI,CAAC,MAAM,OAAO,OAAO,MAAM,KAAK,qBAAqB;wBAC7F,CAAC,CAAC,4BAA4B,IAAI,CAAC,MAAM,wBAAwB,KAAK,CAAC,MAAM,OAAO,OAAO,yBAAyB;oBACtH,CAAC,CAAC,SAAS;wBACT,CAAC,CAAC,4CAA4C,gBAAgB,OAAO,cAAc,yBAAyB,KAAK,qBAAqB;wBACtI,CAAC,CAAC,sCAAsC,gBAAgB,kCAAkC,KAAK,CAAC,MAAM,OAAO,cAAc,iIAAiI,CACjQ,CAAC;YACJ,CAAC;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,GAAG,EAAE,KAAK,CAAC,KAAK;gBAChB,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,KAAK;YACL,cAAc,EAAE,YAAY;YAC5B,eAAe,EAAE,cAAc;YAC/B,OAAO;YACP,iBAAiB,EAAE,gBAAgB;YACnC,OAAO;SACR,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc;YACrC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;gBACpC,CAAC,CAAC,4CAA4C;gBAC9C,CAAC,CAAC,mDAAmD,CAAC;QAC1D,MAAM,SAAS,GACb,MAAM,CAAC,eAAe,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC;QAC7H,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,aAAa,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,EAAE,MAAM;gBACzC,CAAC,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACnH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YACtE,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,GAAG,MAAM,MAAM,CAAC,CAAC,YAAY,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,gBAAgB,GAAG,CAC3I,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;iBAClD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;gBACnC,CAAC,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,6DAA6D;gBACrI,CAAC,CAAC,wCAAwC,CAAC;YAC7C,KAAK,CAAC,IAAI,CACR,8BAA8B,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,uBAAuB,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,UAAU,mIAAmI,CACnR,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS;gBAC5C,CAAC,CAAC,+DAA+D;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,aAAa,yCAAyC,CACpK,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The scope one tool call's SEC requests run under: the caller's
|
|
3
|
+
* cancellation signal and the call's failure budget (#179). Built once per tool
|
|
4
|
+
* call from `ctx.signal` and passed to every `EdgarApiService` method that reaches
|
|
5
|
+
* SEC, which takes it as a required parameter.
|
|
6
|
+
* @module services/edgar/call-scope
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The most time one tool call may spend on SEC failing it: waits on attempts that
|
|
10
|
+
* got no response or a 5xx, retry backoff, and the idle wait a body stalled on
|
|
11
|
+
* (#179). Healthy progress never counts — pacer queue time, answered requests, a
|
|
12
|
+
* body still arriving — so no call SEC keeps answering with a 2xx is cut. Each attempt's
|
|
13
|
+
* header wait and each body-idle wait is the lesser of its own 15 s cap and the
|
|
14
|
+
* budget left; once it is spent no further attempt or backoff starts. Under the
|
|
15
|
+
* MCP SDK client's 60 s default request timeout with room for the response.
|
|
16
|
+
*/
|
|
17
|
+
export declare const CALL_FAILURE_BUDGET_MS = 40000;
|
|
18
|
+
/**
|
|
19
|
+
* One tool call's hold on SEC. `signal` is the caller's: once it fires, every SEC
|
|
20
|
+
* request the call has queued, in flight, reading a body, or sleeping a backoff
|
|
21
|
+
* ends with its reason, unretried and unclassified. The budget is charged by the
|
|
22
|
+
* service as SEC fails the call, and only by the service.
|
|
23
|
+
*/
|
|
24
|
+
export declare class CallScope {
|
|
25
|
+
#private;
|
|
26
|
+
readonly signal: AbortSignal;
|
|
27
|
+
constructor(signal: AbortSignal);
|
|
28
|
+
/**
|
|
29
|
+
* A scope for work several calls await — the ticker-index load: a full budget of
|
|
30
|
+
* its own and a signal that never fires, so one waiter's cancel ends only its own
|
|
31
|
+
* wait.
|
|
32
|
+
*/
|
|
33
|
+
static unowned(): CallScope;
|
|
34
|
+
/** Budget left, in ms; 0 once spent. */
|
|
35
|
+
get remainingMs(): number;
|
|
36
|
+
/** Failure time charged so far, in ms. */
|
|
37
|
+
get spentMs(): number;
|
|
38
|
+
/** Charge `ms` of time SEC spent failing this call. */
|
|
39
|
+
charge(ms: number): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=call-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-scope.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/call-scope.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAK7C;;;;;GAKG;AACH,qBAAa,SAAS;;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAG7B,YAAY,MAAM,EAAE,WAAW,EAE9B;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,IAAI,SAAS,CAE1B;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,0CAA0C;IAC1C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,uDAAuD;IACvD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEvB;CACF"}
|