@vscode/chat-lib 0.55.2026062514 → 0.56.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/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts +1 -0
- package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/extension/byok/node/openAIEndpoint.js +23 -2
- package/dist/src/_internal/extension/byok/node/openAIEndpoint.js.map +1 -1
- package/dist/src/_internal/extension/conversation/common/languageModelAccess.d.ts +21 -0
- package/dist/src/_internal/extension/conversation/common/languageModelAccess.d.ts.map +1 -1
- package/dist/src/_internal/extension/conversation/common/languageModelAccess.js +56 -0
- package/dist/src/_internal/extension/conversation/common/languageModelAccess.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +29 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +4 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +11 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +57 -3
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +56 -2
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +36 -44
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +23 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +124 -30
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +10 -16
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +13 -19
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +11 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +50 -15
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +6 -0
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +1 -0
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +6 -0
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.js +12 -1
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/modelMetadataFetcher.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/modelMetadataFetcher.js +6 -3
- package/dist/src/_internal/platform/endpoint/node/modelMetadataFetcher.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js +60 -11
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
- package/dist/src/_internal/platform/git/common/gitService.d.ts +1 -0
- package/dist/src/_internal/platform/git/common/gitService.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +98 -15
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +141 -11
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
- package/dist/src/_internal/platform/otel/common/otelConfig.d.ts +33 -6
- package/dist/src/_internal/platform/otel/common/otelConfig.d.ts.map +1 -1
- package/dist/src/_internal/platform/otel/common/otelConfig.js +78 -28
- package/dist/src/_internal/platform/otel/common/otelConfig.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +7 -0
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +11 -2
- package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +1 -0
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/_internal/vscodeTypes.d.ts +1 -0
- package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
- package/dist/src/_internal/vscodeTypes.js +4 -3
- package/dist/src/_internal/vscodeTypes.js.map +1 -1
- package/dist/src/package.json +162 -47
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nextEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { DocumentId } from '../../../platform/inlineEdits/common/dataTypes/documentId';
|
|
1
2
|
import { LanguageContextResponse } from '../../../platform/inlineEdits/common/dataTypes/languageContext';
|
|
2
3
|
import * as xtabPromptOptions from '../../../platform/inlineEdits/common/dataTypes/xtabPromptOptions';
|
|
3
|
-
import { AggressivenessLevel, CurrentFileOptions, PromptOptions } from '../../../platform/inlineEdits/common/dataTypes/xtabPromptOptions';
|
|
4
|
+
import { AggressivenessLevel, CurrentFileOptions, GlobalBudgetOptions, PromptOptions } from '../../../platform/inlineEdits/common/dataTypes/xtabPromptOptions';
|
|
4
5
|
import { StatelessNextEditDocument } from '../../../platform/inlineEdits/common/statelessNextEditProvider';
|
|
5
6
|
import { IXtabHistoryEntry } from '../../../platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker';
|
|
6
7
|
import { Result } from '../../../util/common/result';
|
|
@@ -23,7 +24,25 @@ export declare class PromptPieces {
|
|
|
23
24
|
readonly computeTokens: (s: string) => number;
|
|
24
25
|
readonly opts: PromptOptions;
|
|
25
26
|
readonly neighborSnippets?: readonly INeighborFileSnippet[] | undefined;
|
|
26
|
-
|
|
27
|
+
/**
|
|
28
|
+
* A cascade result computed by the caller (the provider, which runs the
|
|
29
|
+
* cascade first so it can clip `currentFile` last to `currentFileBudget +
|
|
30
|
+
* finalSurplus`). When provided, {@link getUserPrompt} renders these
|
|
31
|
+
* snippets instead of running the cascade itself, guaranteeing the surplus
|
|
32
|
+
* used to size the current file matches the snippets that end up in the
|
|
33
|
+
* prompt. Only honored when `opts.globalBudget` is set.
|
|
34
|
+
*/
|
|
35
|
+
readonly precomputedCascade?: CascadeResult | undefined;
|
|
36
|
+
constructor(currentDocument: CurrentDocument, editWindowLinesRange: OffsetRange, areaAroundEditWindowLinesRange: OffsetRange, activeDoc: StatelessNextEditDocument, xtabHistory: readonly IXtabHistoryEntry[], taggedCurrentDocLines: readonly string[], areaAroundCodeToEdit: string, langCtx: LanguageContextResponse | undefined, aggressivenessLevel: AggressivenessLevel, lintErrors: LintErrors, computeTokens: (s: string) => number, opts: PromptOptions, neighborSnippets?: readonly INeighborFileSnippet[] | undefined,
|
|
37
|
+
/**
|
|
38
|
+
* A cascade result computed by the caller (the provider, which runs the
|
|
39
|
+
* cascade first so it can clip `currentFile` last to `currentFileBudget +
|
|
40
|
+
* finalSurplus`). When provided, {@link getUserPrompt} renders these
|
|
41
|
+
* snippets instead of running the cascade itself, guaranteeing the surplus
|
|
42
|
+
* used to size the current file matches the snippets that end up in the
|
|
43
|
+
* prompt. Only honored when `opts.globalBudget` is set.
|
|
44
|
+
*/
|
|
45
|
+
precomputedCascade?: CascadeResult | undefined);
|
|
27
46
|
}
|
|
28
47
|
export interface UserPromptResult {
|
|
29
48
|
readonly prompt: string;
|
|
@@ -32,6 +51,41 @@ export interface UserPromptResult {
|
|
|
32
51
|
readonly neighborSnippetsResult: AppendNeighborFileSnippetsResult | undefined;
|
|
33
52
|
}
|
|
34
53
|
export declare function getUserPrompt(promptPieces: PromptPieces): UserPromptResult;
|
|
54
|
+
export interface CascadeResult {
|
|
55
|
+
readonly codeSnippets: string;
|
|
56
|
+
readonly documents: Set<DocumentId>;
|
|
57
|
+
readonly neighborSnippetsResult: AppendNeighborFileSnippetsResult | undefined;
|
|
58
|
+
readonly editDiffHistory: string;
|
|
59
|
+
readonly nDiffsInPrompt: number;
|
|
60
|
+
readonly diffTokensInPrompt: number;
|
|
61
|
+
/**
|
|
62
|
+
* Budget left unused after the last part in `order` ran. The provider adds it
|
|
63
|
+
* to the current file's clip budget (`currentFileBudget + finalSurplus`) so the
|
|
64
|
+
* current file, which is clipped last, reuses whatever the cascade left unused.
|
|
65
|
+
*/
|
|
66
|
+
readonly finalSurplus: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Single-pool budget cascade across prompt parts, modeled after completions-core's
|
|
70
|
+
* `CascadingPromptFactory`. For each part in `globalBudget.order`, allocate
|
|
71
|
+
* `surplus + totalTokens * shares[part]` and run that sub-builder with the override.
|
|
72
|
+
* Unspent budget cascades to the next part.
|
|
73
|
+
*
|
|
74
|
+
* The cascade starts with surplus `0` and renders only the parts in `order`.
|
|
75
|
+
* `currentFile` is not rendered here (it is clipped separately by the caller) and
|
|
76
|
+
* `lintOptions` is excluded entirely; both keep their own per-part caps for
|
|
77
|
+
* clipping. Whatever budget is unused after the last part is returned as
|
|
78
|
+
* {@link CascadeResult.finalSurplus}; the provider adds it to the current file's
|
|
79
|
+
* clip budget so the current file reuses the leftover (it is clipped last).
|
|
80
|
+
*
|
|
81
|
+
* Sub-builders are invoked using existing helpers so behavior of each individual
|
|
82
|
+
* part is unchanged. Each sub-builder reports `tokensConsumed` using the same
|
|
83
|
+
* internal accounting it uses to make budget decisions (paged-clipping line cost,
|
|
84
|
+
* raw-snippet cost for appenders, diff-entry cost for history). The cascade uses
|
|
85
|
+
* that reported value to compute `surplus`, which keeps the cascade aligned with
|
|
86
|
+
* how each part actually charges against its budget.
|
|
87
|
+
*/
|
|
88
|
+
export declare function runGlobalBudgetCascade(activeDoc: StatelessNextEditDocument, xtabHistory: readonly IXtabHistoryEntry[], langCtx: LanguageContextResponse | undefined, computeTokens: (s: string) => number, opts: PromptOptions, neighborSnippets: readonly INeighborFileSnippet[] | undefined, globalBudget: GlobalBudgetOptions): CascadeResult;
|
|
35
89
|
export declare function truncateCode(lines: string[], fromBeginning: boolean, maxTokens: number): [number, number];
|
|
36
90
|
export declare const N_LINES_ABOVE = 2;
|
|
37
91
|
export declare const N_LINES_BELOW = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptCrafting.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDD"}
|
|
1
|
+
{"version":3,"file":"promptCrafting.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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AC,wBAAwB,CAAC;QACjE,kBAAkB,EAAE,iBAAiB,CAAC,wBAAwB,CAAC;KAC/D,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDD"}
|
|
@@ -39,6 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
exports.ClippedDocument = exports.N_LINES_AS_CONTEXT = exports.N_LINES_BELOW = exports.N_LINES_ABOVE = exports.PromptPieces = void 0;
|
|
41
41
|
exports.getUserPrompt = getUserPrompt;
|
|
42
|
+
exports.runGlobalBudgetCascade = runGlobalBudgetCascade;
|
|
42
43
|
exports.truncateCode = truncateCode;
|
|
43
44
|
exports.expandRangeToPageRange = expandRangeToPageRange;
|
|
44
45
|
exports.clipPreservingRange = clipPreservingRange;
|
|
@@ -57,7 +58,16 @@ const promptCraftingUtils_1 = require("./promptCraftingUtils");
|
|
|
57
58
|
const recentFilesForPrompt_1 = require("./recentFilesForPrompt");
|
|
58
59
|
const tags_1 = require("./tags");
|
|
59
60
|
class PromptPieces {
|
|
60
|
-
constructor(currentDocument, editWindowLinesRange, areaAroundEditWindowLinesRange, activeDoc, xtabHistory, taggedCurrentDocLines, areaAroundCodeToEdit, langCtx, aggressivenessLevel, lintErrors, computeTokens, opts, neighborSnippets
|
|
61
|
+
constructor(currentDocument, editWindowLinesRange, areaAroundEditWindowLinesRange, activeDoc, xtabHistory, taggedCurrentDocLines, areaAroundCodeToEdit, langCtx, aggressivenessLevel, lintErrors, computeTokens, opts, neighborSnippets,
|
|
62
|
+
/**
|
|
63
|
+
* A cascade result computed by the caller (the provider, which runs the
|
|
64
|
+
* cascade first so it can clip `currentFile` last to `currentFileBudget +
|
|
65
|
+
* finalSurplus`). When provided, {@link getUserPrompt} renders these
|
|
66
|
+
* snippets instead of running the cascade itself, guaranteeing the surplus
|
|
67
|
+
* used to size the current file matches the snippets that end up in the
|
|
68
|
+
* prompt. Only honored when `opts.globalBudget` is set.
|
|
69
|
+
*/
|
|
70
|
+
precomputedCascade) {
|
|
61
71
|
this.currentDocument = currentDocument;
|
|
62
72
|
this.editWindowLinesRange = editWindowLinesRange;
|
|
63
73
|
this.areaAroundEditWindowLinesRange = areaAroundEditWindowLinesRange;
|
|
@@ -71,11 +81,12 @@ class PromptPieces {
|
|
|
71
81
|
this.computeTokens = computeTokens;
|
|
72
82
|
this.opts = opts;
|
|
73
83
|
this.neighborSnippets = neighborSnippets;
|
|
84
|
+
this.precomputedCascade = precomputedCascade;
|
|
74
85
|
}
|
|
75
86
|
}
|
|
76
87
|
exports.PromptPieces = PromptPieces;
|
|
77
88
|
function getUserPrompt(promptPieces) {
|
|
78
|
-
const { activeDoc, xtabHistory, taggedCurrentDocLines, areaAroundCodeToEdit, langCtx, aggressivenessLevel, lintErrors, computeTokens, opts, neighborSnippets } = promptPieces;
|
|
89
|
+
const { activeDoc, xtabHistory, taggedCurrentDocLines, areaAroundCodeToEdit, langCtx, aggressivenessLevel, lintErrors, computeTokens, opts, neighborSnippets, precomputedCascade } = promptPieces;
|
|
79
90
|
const currentFileContent = taggedCurrentDocLines.join('\n');
|
|
80
91
|
let recentlyViewedCodeSnippets;
|
|
81
92
|
let docsInPrompt;
|
|
@@ -84,7 +95,10 @@ function getUserPrompt(promptPieces) {
|
|
|
84
95
|
let nDiffsInPrompt;
|
|
85
96
|
let diffTokensInPrompt;
|
|
86
97
|
if (opts.globalBudget !== undefined) {
|
|
87
|
-
|
|
98
|
+
// Reuse a cascade the caller already ran (the provider runs it first so it can
|
|
99
|
+
// clip the current file last from `finalSurplus`), or run it now for callers
|
|
100
|
+
// that set a global budget without precomputing (e.g. tests).
|
|
101
|
+
const cascade = precomputedCascade ?? runGlobalBudgetCascade(activeDoc, xtabHistory, langCtx, computeTokens, opts, neighborSnippets, opts.globalBudget);
|
|
88
102
|
recentlyViewedCodeSnippets = cascade.codeSnippets;
|
|
89
103
|
docsInPrompt = cascade.documents;
|
|
90
104
|
neighborSnippetsResult = cascade.neighborSnippetsResult;
|
|
@@ -175,18 +189,22 @@ ${tags_1.PromptTags.EDIT_HISTORY.end}`;
|
|
|
175
189
|
* `surplus + totalTokens * shares[part]` and run that sub-builder with the override.
|
|
176
190
|
* Unspent budget cascades to the next part.
|
|
177
191
|
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
192
|
+
* The cascade starts with surplus `0` and renders only the parts in `order`.
|
|
193
|
+
* `currentFile` is not rendered here (it is clipped separately by the caller) and
|
|
194
|
+
* `lintOptions` is excluded entirely; both keep their own per-part caps for
|
|
195
|
+
* clipping. Whatever budget is unused after the last part is returned as
|
|
196
|
+
* {@link CascadeResult.finalSurplus}; the provider adds it to the current file's
|
|
197
|
+
* clip budget so the current file reuses the leftover (it is clipped last).
|
|
181
198
|
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
199
|
+
* Sub-builders are invoked using existing helpers so behavior of each individual
|
|
200
|
+
* part is unchanged. Each sub-builder reports `tokensConsumed` using the same
|
|
201
|
+
* internal accounting it uses to make budget decisions (paged-clipping line cost,
|
|
202
|
+
* raw-snippet cost for appenders, diff-entry cost for history). The cascade uses
|
|
203
|
+
* that reported value to compute `surplus`, which keeps the cascade aligned with
|
|
204
|
+
* how each part actually charges against its budget.
|
|
187
205
|
*/
|
|
188
206
|
function runGlobalBudgetCascade(activeDoc, xtabHistory, langCtx, computeTokens, opts, neighborSnippets, globalBudget) {
|
|
189
|
-
|
|
207
|
+
xtabPromptOptions_1.GlobalBudgetOptions.validate(globalBudget);
|
|
190
208
|
const recentlyViewedSnippets = [];
|
|
191
209
|
const langCtxSnippets = [];
|
|
192
210
|
const neighborOutSnippets = [];
|
|
@@ -239,6 +257,11 @@ function runGlobalBudgetCascade(activeDoc, xtabHistory, langCtx, computeTokens,
|
|
|
239
257
|
default:
|
|
240
258
|
(0, assert_1.assertNever)(part);
|
|
241
259
|
}
|
|
260
|
+
// The conservation guarantee (current file + cascade <= totalTokens) relies
|
|
261
|
+
// on every sub-builder reporting `0 <= tokensConsumed <= budget`. Surface a
|
|
262
|
+
// violation (never silently clamp `tokensConsumed` down — that would hide
|
|
263
|
+
// real overspend and let the prompt exceed the pool).
|
|
264
|
+
(0, assert_1.softAssert)(tokensConsumed >= 0 && tokensConsumed <= budget, `globalBudget part '${part}' reported tokensConsumed=${tokensConsumed} outside [0, ${budget}]`);
|
|
242
265
|
surplus = Math.max(0, budget - tokensConsumed);
|
|
243
266
|
}
|
|
244
267
|
const codeSnippets = [...recentlyViewedSnippets, ...langCtxSnippets, ...neighborOutSnippets].join('\n\n');
|
|
@@ -249,40 +272,9 @@ function runGlobalBudgetCascade(activeDoc, xtabHistory, langCtx, computeTokens,
|
|
|
249
272
|
editDiffHistory,
|
|
250
273
|
nDiffsInPrompt,
|
|
251
274
|
diffTokensInPrompt,
|
|
275
|
+
finalSurplus: surplus,
|
|
252
276
|
};
|
|
253
277
|
}
|
|
254
|
-
/**
|
|
255
|
-
* Validate {@link GlobalBudgetOptions} since it is runtime-configurable
|
|
256
|
-
* (e.g. via experiments). Catches misconfigurations that would otherwise
|
|
257
|
-
* cause silent, hard-to-debug behavior:
|
|
258
|
-
* - duplicate parts in `order` (would render the same part twice)
|
|
259
|
-
* - missing share for any part in `order`
|
|
260
|
-
* - shares not summing to ~1 across `order` (would over/under-allocate)
|
|
261
|
-
* - `neighborFiles` ordered before `recentlyViewedDocuments` (the former
|
|
262
|
-
* consults `docsInPrompt` populated by the latter)
|
|
263
|
-
*/
|
|
264
|
-
function validateGlobalBudget(globalBudget) {
|
|
265
|
-
const seen = new Set();
|
|
266
|
-
for (const part of globalBudget.order) {
|
|
267
|
-
if (seen.has(part)) {
|
|
268
|
-
throw new Error(`globalBudget.order contains duplicate part '${part}'`);
|
|
269
|
-
}
|
|
270
|
-
seen.add(part);
|
|
271
|
-
if (typeof globalBudget.shares[part] !== 'number') {
|
|
272
|
-
throw new Error(`globalBudget.shares is missing entry for '${part}'`);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
const recentIdx = globalBudget.order.indexOf('recentlyViewedDocuments');
|
|
276
|
-
const neighborIdx = globalBudget.order.indexOf('neighborFiles');
|
|
277
|
-
if (recentIdx !== -1 && neighborIdx !== -1 && neighborIdx < recentIdx) {
|
|
278
|
-
throw new Error(`globalBudget.order must place 'recentlyViewedDocuments' before 'neighborFiles'`);
|
|
279
|
-
}
|
|
280
|
-
const sharesSum = globalBudget.order.reduce((sum, part) => sum + globalBudget.shares[part], 0);
|
|
281
|
-
const epsilon = 1e-3;
|
|
282
|
-
if (Math.abs(sharesSum - 1) > epsilon) {
|
|
283
|
-
throw new Error(`globalBudget.shares across order must sum to ~1, got ${sharesSum}`);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
278
|
function wrapInBackticks(content) {
|
|
287
279
|
return `\`\`\`\n${content}\n\`\`\``;
|
|
288
280
|
}
|