@xona-labs/xpay 0.2.24 → 0.2.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/CHANGELOG.md +101 -78
  2. package/README.md +71 -69
  3. package/SKILL.md +22 -22
  4. package/dist/agenc/api.d.ts +8 -8
  5. package/dist/agenc/api.js +11 -11
  6. package/dist/agenc/hire.d.ts +4 -4
  7. package/dist/agenc/hire.js +17 -17
  8. package/dist/agenc/price.d.ts +1 -1
  9. package/dist/agenc/price.js +1 -1
  10. package/dist/biometric/index.d.ts +3 -3
  11. package/dist/biometric/index.js +6 -6
  12. package/dist/cli/accounts.d.ts +1 -1
  13. package/dist/cli/accounts.js +1 -1
  14. package/dist/cli/agenc.d.ts +2 -2
  15. package/dist/cli/agenc.js +4 -4
  16. package/dist/cli/balance.d.ts +1 -1
  17. package/dist/cli/balance.js +4 -4
  18. package/dist/cli/bento.d.ts +3 -3
  19. package/dist/cli/bento.js +8 -8
  20. package/dist/cli/bento.js.map +1 -1
  21. package/dist/cli/biometric.d.ts +1 -1
  22. package/dist/cli/biometric.js +8 -8
  23. package/dist/cli/common.js +6 -6
  24. package/dist/cli/common.js.map +1 -1
  25. package/dist/cli/discover.d.ts +2 -2
  26. package/dist/cli/discover.js +4 -4
  27. package/dist/cli/guardrail.d.ts +1 -1
  28. package/dist/cli/guardrail.js +3 -3
  29. package/dist/cli/index.d.ts +2 -2
  30. package/dist/cli/index.js +12 -12
  31. package/dist/cli/init.d.ts +1 -1
  32. package/dist/cli/init.js +2 -2
  33. package/dist/cli/magicblock.d.ts +1 -1
  34. package/dist/cli/magicblock.js +4 -4
  35. package/dist/cli/mcp-server.d.ts +2 -2
  36. package/dist/cli/mcp-server.d.ts.map +1 -1
  37. package/dist/cli/mcp-server.js +25 -22
  38. package/dist/cli/mcp-server.js.map +1 -1
  39. package/dist/cli/pay.d.ts +1 -1
  40. package/dist/cli/pay.js +1 -1
  41. package/dist/cli/report.d.ts +2 -2
  42. package/dist/cli/report.js +4 -4
  43. package/dist/cli/report.js.map +1 -1
  44. package/dist/cli/sana.d.ts +1 -1
  45. package/dist/cli/sana.js +3 -3
  46. package/dist/cli/shop.d.ts +1 -1
  47. package/dist/cli/shop.js +1 -1
  48. package/dist/cli/swap.d.ts +1 -1
  49. package/dist/cli/swap.js +3 -3
  50. package/dist/cli/token.d.ts +2 -2
  51. package/dist/cli/token.js +2 -2
  52. package/dist/cli/trade.d.ts +2 -2
  53. package/dist/cli/trade.js +8 -8
  54. package/dist/cli/trade.js.map +1 -1
  55. package/dist/cli/transfer.d.ts +1 -1
  56. package/dist/cli/transfer.js +1 -1
  57. package/dist/cli/x.d.ts +1 -1
  58. package/dist/cli/x.js +1 -1
  59. package/dist/cli/zauth.d.ts +1 -1
  60. package/dist/cli/zauth.js +5 -5
  61. package/dist/discover/cache.js +1 -1
  62. package/dist/discover/index.d.ts +2 -2
  63. package/dist/discover/index.js +6 -6
  64. package/dist/discover/orbitx402.d.ts +2 -2
  65. package/dist/discover/orbitx402.js +1 -1
  66. package/dist/discover/payai.js +1 -1
  67. package/dist/do/index.d.ts +2 -2
  68. package/dist/do/index.js +1 -1
  69. package/dist/guardrail/index.d.ts +4 -4
  70. package/dist/guardrail/index.js +14 -14
  71. package/dist/guardrail/index.js.map +1 -1
  72. package/dist/index.d.ts +7 -7
  73. package/dist/index.js +2 -2
  74. package/dist/magicblock/client.d.ts +2 -2
  75. package/dist/magicblock/client.js +4 -4
  76. package/dist/profile/index.d.ts +3 -3
  77. package/dist/profile/index.js +3 -3
  78. package/dist/profile/storage.d.ts +1 -1
  79. package/dist/profile/storage.js +4 -4
  80. package/dist/profile/types.d.ts +6 -6
  81. package/dist/profile/types.js +1 -1
  82. package/dist/report/index.d.ts +1 -1
  83. package/dist/report/index.js +2 -2
  84. package/dist/sana/tools.js +8 -8
  85. package/dist/signers/raw-evm.d.ts +1 -1
  86. package/dist/signers/raw-evm.js +5 -5
  87. package/dist/signers/raw-solana.d.ts +1 -1
  88. package/dist/signers/raw-solana.js +4 -4
  89. package/dist/swap/index.d.ts +6 -6
  90. package/dist/swap/index.js +12 -12
  91. package/dist/token/index.d.ts +8 -8
  92. package/dist/token/index.js +14 -14
  93. package/dist/token/rwa.d.ts +3 -3
  94. package/dist/token/rwa.js +3 -3
  95. package/dist/tools/index.d.ts +15 -1
  96. package/dist/tools/index.d.ts.map +1 -1
  97. package/dist/tools/index.js +71 -31
  98. package/dist/tools/index.js.map +1 -1
  99. package/dist/trading/discovery.d.ts +6 -6
  100. package/dist/trading/discovery.js +7 -7
  101. package/dist/trading/index.d.ts +6 -6
  102. package/dist/trading/index.js +13 -13
  103. package/dist/transfer/index.d.ts +4 -4
  104. package/dist/transfer/index.js +8 -8
  105. package/dist/types.d.ts +7 -7
  106. package/dist/use/index.d.ts +5 -5
  107. package/dist/use/index.js +20 -20
  108. package/dist/wallet/index.d.ts +2 -2
  109. package/dist/wallet/index.js +3 -3
  110. package/dist/x402/evm-payment.d.ts +4 -4
  111. package/dist/x402/evm-payment.js +6 -6
  112. package/dist/x402/extract.d.ts +1 -1
  113. package/dist/x402/extract.js +1 -1
  114. package/dist/x402/svm-payment.d.ts +2 -2
  115. package/dist/x402/svm-payment.js +2 -2
  116. package/dist/zauth/index.d.ts +4 -4
  117. package/dist/zauth/index.js +5 -5
  118. package/package.json +4 -3
@@ -1,19 +1,19 @@
1
1
  /**
2
- * Solana token discovery Jupiter Token API v2.
2
+ * Solana token discovery - Jupiter Token API v2.
3
3
  *
4
4
  * Keyless read-only search by ticker, name, or mint address. Returns live
5
- * market data (price, mcap, liquidity) plus Jupiter's verification flag
5
+ * market data (price, mcap, liquidity) plus Jupiter's verification flag -
6
6
  * the main scam signal agents must check before swapping (anyone can mint a
7
7
  * token reusing a real project's ticker).
8
8
  */
9
- /** Wrapped-SOL mint Jupiter's sentinel for native SOL (wraps/unwraps automatically). */
9
+ /** Wrapped-SOL mint - Jupiter's sentinel for native SOL (wraps/unwraps automatically). */
10
10
  export declare const NATIVE_SOL_MINT = "So11111111111111111111111111111111111111112";
11
11
  export interface TokenInfo {
12
12
  mint: string;
13
13
  symbol: string;
14
14
  name: string;
15
15
  decimals: number;
16
- /** Jupiter verification unverified tokens can be scams reusing a real ticker. */
16
+ /** Jupiter verification - unverified tokens can be scams reusing a real ticker. */
17
17
  verified: boolean;
18
18
  usdPrice?: number;
19
19
  mcap?: number;
@@ -32,21 +32,21 @@ export interface TokenApiOptions {
32
32
  /** Optional Jupiter API key for higher rate limits (env: JUPITER_API_KEY). */
33
33
  apiKey?: string;
34
34
  }
35
- /** Thrown when a bare ticker matches several plausible tokens retry with the exact mint. */
35
+ /** Thrown when a bare ticker matches several plausible tokens - retry with the exact mint. */
36
36
  export declare class AmbiguousTokenError extends Error {
37
37
  readonly candidates: TokenInfo[];
38
38
  constructor(input: string, candidates: TokenInfo[]);
39
39
  }
40
40
  /**
41
41
  * Search tokens by ticker, name, or mint. Ranked verified-first, then by
42
- * liquidity. Read-only no wallet, no signing.
42
+ * liquidity. Read-only - no wallet, no signing.
43
43
  */
44
44
  export declare function findTokens(query: string, opts?: TokenApiOptions & {
45
45
  limit?: number;
46
46
  }): Promise<TokenInfo[]>;
47
47
  /**
48
48
  * Deterministic single-token resolution for trading. Accepts a symbol or a
49
- * mint address; never silently picks between plausible candidates throws
49
+ * mint address; never silently picks between plausible candidates - throws
50
50
  * {@link AmbiguousTokenError} instead so the caller can pass the exact mint.
51
51
  */
52
52
  export declare function resolveTradeToken(input: string, opts?: TokenApiOptions): Promise<TokenInfo>;
@@ -65,7 +65,7 @@ export interface EnrichedTokenBalance {
65
65
  /**
66
66
  * Label and price wallet balances via one batched Jupiter lookup (comma-
67
67
  * separated mints, max 100). Unknown mints get their real symbol/name; every
68
- * priceable token gets `usdPrice`/`usdValue`. Never throws on any Jupiter
68
+ * priceable token gets `usdPrice`/`usdValue`. Never throws - on any Jupiter
69
69
  * failure the input balances are returned unchanged (a balance display must
70
70
  * not break because a market-data API hiccuped).
71
71
  */
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Solana token discovery Jupiter Token API v2.
2
+ * Solana token discovery - Jupiter Token API v2.
3
3
  *
4
4
  * Keyless read-only search by ticker, name, or mint address. Returns live
5
- * market data (price, mcap, liquidity) plus Jupiter's verification flag
5
+ * market data (price, mcap, liquidity) plus Jupiter's verification flag -
6
6
  * the main scam signal agents must check before swapping (anyone can mint a
7
7
  * token reusing a real project's ticker).
8
8
  */
@@ -10,23 +10,23 @@ import { Connection, PublicKey } from "@solana/web3.js";
10
10
  import { getMint } from "@solana/spl-token";
11
11
  import { SOLANA_TOKENS } from "../transfer/index.js";
12
12
  const DEFAULT_ENDPOINT = "https://api.jup.ag";
13
- /** Wrapped-SOL mint Jupiter's sentinel for native SOL (wraps/unwraps automatically). */
13
+ /** Wrapped-SOL mint - Jupiter's sentinel for native SOL (wraps/unwraps automatically). */
14
14
  export const NATIVE_SOL_MINT = "So11111111111111111111111111111111111111112";
15
- /** Thrown when a bare ticker matches several plausible tokens retry with the exact mint. */
15
+ /** Thrown when a bare ticker matches several plausible tokens - retry with the exact mint. */
16
16
  export class AmbiguousTokenError extends Error {
17
17
  candidates;
18
18
  constructor(input, candidates) {
19
19
  const list = candidates
20
20
  .map((c) => ` ${c.symbol} (${c.name}) mint ${c.mint}${c.verified ? " [verified]" : " [UNVERIFIED]"} liquidity $${Math.round(c.liquidity ?? 0).toLocaleString()}`)
21
21
  .join("\n");
22
- super(`Token "${input}" is ambiguous pass the exact mint address of the one you mean:\n${list}`);
22
+ super(`Token "${input}" is ambiguous - pass the exact mint address of the one you mean:\n${list}`);
23
23
  this.name = "AmbiguousTokenError";
24
24
  this.candidates = candidates;
25
25
  }
26
26
  }
27
27
  /**
28
28
  * Search tokens by ticker, name, or mint. Ranked verified-first, then by
29
- * liquidity. Read-only no wallet, no signing.
29
+ * liquidity. Read-only - no wallet, no signing.
30
30
  */
31
31
  export async function findTokens(query, opts = {}) {
32
32
  const raw = await searchJupiter(query, opts);
@@ -46,7 +46,7 @@ export async function findTokens(query, opts = {}) {
46
46
  }
47
47
  /**
48
48
  * Deterministic single-token resolution for trading. Accepts a symbol or a
49
- * mint address; never silently picks between plausible candidates throws
49
+ * mint address; never silently picks between plausible candidates - throws
50
50
  * {@link AmbiguousTokenError} instead so the caller can pass the exact mint.
51
51
  */
52
52
  export async function resolveTradeToken(input, opts = {}) {
@@ -57,7 +57,7 @@ export async function resolveTradeToken(input, opts = {}) {
57
57
  return { ...(info ?? fallbackToken(NATIVE_SOL_MINT, 9)), symbol: "SOL", verified: true };
58
58
  }
59
59
  // Well-known symbols pin to a canonical mint (avoids the ~20 lookalike
60
- // "BONK"s Jupiter returns) then still fetch live data by that mint.
60
+ // "BONK"s Jupiter returns) - then still fetch live data by that mint.
61
61
  const pinned = SOLANA_TOKENS[key] ?? Object.values(SOLANA_TOKENS).find((t) => t.symbol.toUpperCase() === key);
62
62
  if (pinned) {
63
63
  const [info] = await searchJupiter(pinned.mint, opts);
@@ -87,16 +87,16 @@ export async function resolveTradeToken(input, opts = {}) {
87
87
  throw new AmbiguousTokenError(input, sorted.slice(0, 5));
88
88
  }
89
89
  if (symbolMatches.length > 0) {
90
- // Only unverified candidates never auto-trade those by ticker.
90
+ // Only unverified candidates - never auto-trade those by ticker.
91
91
  throw new AmbiguousTokenError(input, symbolMatches.sort((a, b) => (b.liquidity ?? 0) - (a.liquidity ?? 0)).slice(0, 5));
92
92
  }
93
- throw new Error(`Unknown token "${input}" no exact ticker match on Jupiter. ` +
93
+ throw new Error(`Unknown token "${input}" - no exact ticker match on Jupiter. ` +
94
94
  `Try \`xpay token find ${input}\` to search, or pass the mint address directly.`);
95
95
  }
96
96
  /**
97
97
  * Label and price wallet balances via one batched Jupiter lookup (comma-
98
98
  * separated mints, max 100). Unknown mints get their real symbol/name; every
99
- * priceable token gets `usdPrice`/`usdValue`. Never throws on any Jupiter
99
+ * priceable token gets `usdPrice`/`usdValue`. Never throws - on any Jupiter
100
100
  * failure the input balances are returned unchanged (a balance display must
101
101
  * not break because a market-data API hiccuped).
102
102
  */
@@ -186,7 +186,7 @@ export async function jupiterFetch(url, apiKey, init) {
186
186
  reason = body?.error ?? body?.errorMessage ?? "";
187
187
  }
188
188
  catch { /* no body */ }
189
- throw new Error(`Jupiter API ${res.status} ${res.statusText}${reason ? ` ${reason}` : ""}` +
189
+ throw new Error(`Jupiter API ${res.status} ${res.statusText}${reason ? ` - ${reason}` : ""}` +
190
190
  (res.status === 429 ? " (rate-limited; set JUPITER_API_KEY for higher limits)" : ""));
191
191
  }
192
192
  return res.json();
@@ -198,7 +198,7 @@ function numOrUndef(v) {
198
198
  function fallbackToken(mint, decimals) {
199
199
  return { mint, symbol: mint.slice(0, 6) + "…", name: "", decimals, verified: false };
200
200
  }
201
- /** Last resort for mints Jupiter has never indexed decimals from chain, no price. */
201
+ /** Last resort for mints Jupiter has never indexed - decimals from chain, no price. */
202
202
  async function onChainToken(mint) {
203
203
  const rpc = process.env.XPAY_SOLANA_RPC ?? "https://solana-mainnet.g.alchemy.com/v2/Ug5mqBVIbSHoa8ZHgTUSJ";
204
204
  try {
@@ -207,7 +207,7 @@ async function onChainToken(mint) {
207
207
  return fallbackToken(mint, info.decimals);
208
208
  }
209
209
  catch {
210
- throw new Error(`Token mint ${mint} not found on Jupiter or on-chain check the address.`);
210
+ throw new Error(`Token mint ${mint} not found on Jupiter or on-chain - check the address.`);
211
211
  }
212
212
  }
213
213
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * RWA (real-world asset) discovery on Solana Jupiter Token API v2.
2
+ * RWA (real-world asset) discovery on Solana - Jupiter Token API v2.
3
3
  *
4
4
  * "RWA" covers every tokenized off-chain asset: equities, ETFs, treasuries,
5
5
  * commodities, private credit. What is actually TRADABLE on Solana DEXes
@@ -12,7 +12,7 @@
12
12
  * so it is pinned here explicitly).
13
13
  *
14
14
  * Permissioned funds (BlackRock BUIDL, Ondo OUSG) exist on Solana but are
15
- * KYC-gated: unverified on Jupiter, zero DEX liquidity, not swappable they
15
+ * KYC-gated: unverified on Jupiter, zero DEX liquidity, not swappable - they
16
16
  * are deliberately excluded.
17
17
  *
18
18
  * Jupiter's tag ENDPOINT rejects `rwa`/`stocks`/`xstocks` as queries (only
@@ -34,7 +34,7 @@ export interface RwaFindOptions extends TokenApiOptions {
34
34
  category?: RwaCategory;
35
35
  /** Max results. Default 20. */
36
36
  limit?: number;
37
- /** Include unverified tokens (excluded by default same scam caveat as any ticker). */
37
+ /** Include unverified tokens (excluded by default - same scam caveat as any ticker). */
38
38
  includeUnverified?: boolean;
39
39
  }
40
40
  /**
package/dist/token/rwa.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * RWA (real-world asset) discovery on Solana Jupiter Token API v2.
2
+ * RWA (real-world asset) discovery on Solana - Jupiter Token API v2.
3
3
  *
4
4
  * "RWA" covers every tokenized off-chain asset: equities, ETFs, treasuries,
5
5
  * commodities, private credit. What is actually TRADABLE on Solana DEXes
@@ -12,7 +12,7 @@
12
12
  * so it is pinned here explicitly).
13
13
  *
14
14
  * Permissioned funds (BlackRock BUIDL, Ondo OUSG) exist on Solana but are
15
- * KYC-gated: unverified on Jupiter, zero DEX liquidity, not swappable they
15
+ * KYC-gated: unverified on Jupiter, zero DEX liquidity, not swappable - they
16
16
  * are deliberately excluded.
17
17
  *
18
18
  * Jupiter's tag ENDPOINT rejects `rwa`/`stocks`/`xstocks` as queries (only
@@ -28,7 +28,7 @@ import { searchTokens } from "./index.js";
28
28
  * its top-100 between runs.
29
29
  */
30
30
  const SWEEP_QUERIES = ["xstock", "Ondo Tokenized", "tokenized", "treasury", "remora"];
31
- /** Ondo USDY treasury-backed yieldcoin, tagged yield/yb on Jupiter rather than rwa. */
31
+ /** Ondo USDY - treasury-backed yieldcoin, tagged yield/yb on Jupiter rather than rwa. */
32
32
  const USDY_MINT = "A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6";
33
33
  const CACHE_TTL_MS = 5 * 60_000;
34
34
  let sweepCache;
@@ -21,9 +21,23 @@ export interface ClaudeToolDef {
21
21
  input_schema: Record<string, unknown>;
22
22
  }
23
23
  export interface ToolOptions {
24
- /** Sana API key when present, registers sana_* tools alongside xpay_* tools. */
24
+ /** Sana API key - when present, registers sana_* tools alongside xpay_* tools. */
25
25
  sanaApiKey?: string;
26
26
  }
27
+ /** MCP tool annotations (readOnly / openWorld / destructive hints). */
28
+ export interface ToolAnnotations {
29
+ readOnlyHint: boolean;
30
+ openWorldHint: boolean;
31
+ destructiveHint: boolean;
32
+ }
33
+ /**
34
+ * Annotations for every tool the MCP server exposes, keyed by tool name.
35
+ * Kept out of the vendor tool defs (forClaude/forOpenAI/forGemini) because
36
+ * provider APIs reject unknown fields; the MCP server merges these into its
37
+ * ListTools response. Includes the three bento tools registered directly in
38
+ * mcp-server.ts.
39
+ */
40
+ export declare const TOOL_ANNOTATIONS: Record<string, ToolAnnotations>;
27
41
  /** Anthropic Claude tool definitions. */
28
42
  export declare function forClaude(xpay: XPay, opts?: ToolOptions): ToolBundle<ClaudeToolDef>;
29
43
  /** OpenAI function-calling tool definitions (derived from the Claude shape). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AA4BxC,MAAM,WAAW,UAAU,CAAC,IAAI;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,CAiwBvF;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;;qCAnxBD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAgyB9E;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;qCAnyBD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAizB9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AA4BxC,MAAM,WAAW,UAAU,CAAC,IAAI;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B;AASD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA0B5D,CAAC;AAEF,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,CAiwBvF;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;;qCAp0BD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAi1B9E;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;qCAp1BD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAk2B9E"}
@@ -20,6 +20,46 @@ import { SHOP_BASE, fetchShopQuote, fetchShopLensQuote, resolveLensImageUrl, com
20
20
  import { findRwaTokens } from "../token/rwa.js";
21
21
  /** Base URL for xona's paid X (Twitter) data endpoints (x402-gated). */
22
22
  const XDATA_BASE = process.env.XPAY_XDATA_ENDPOINT ?? "https://api.xona-agent.com";
23
+ /** Fetches or computes only - no payment, no signing, no state change. */
24
+ const READ = { readOnlyHint: true, openWorldHint: false, destructiveHint: false };
25
+ /** Spends from the wallet: settles an irreversible on-chain payment and/or calls an external system. */
26
+ const SPEND = { readOnlyHint: false, openWorldHint: true, destructiveHint: true };
27
+ /** Writes local profile config only - reversible, nothing leaves the machine. */
28
+ const LOCAL_CONFIG = { readOnlyHint: false, openWorldHint: false, destructiveHint: false };
29
+ /**
30
+ * Annotations for every tool the MCP server exposes, keyed by tool name.
31
+ * Kept out of the vendor tool defs (forClaude/forOpenAI/forGemini) because
32
+ * provider APIs reject unknown fields; the MCP server merges these into its
33
+ * ListTools response. Includes the three bento tools registered directly in
34
+ * mcp-server.ts.
35
+ */
36
+ export const TOOL_ANNOTATIONS = {
37
+ xpay_discover: READ,
38
+ xpay_use: SPEND,
39
+ xpay_do: SPEND,
40
+ xpay_transfer: SPEND,
41
+ xpay_balance: READ,
42
+ xpay_report: READ,
43
+ xpay_guardrail: READ,
44
+ xpay_token_find: READ,
45
+ xpay_swap: SPEND,
46
+ xpay_trending_tokens: READ,
47
+ xpay_trade_quote: READ,
48
+ xpay_trade: SPEND,
49
+ xpay_x_user: SPEND,
50
+ xpay_x_posts: SPEND,
51
+ xpay_zauth_reposcan: SPEND,
52
+ xpay_zauth_scan_status: READ,
53
+ xpay_rwa_find: READ,
54
+ xpay_shop_quote: READ,
55
+ xpay_shop_search: SPEND,
56
+ xpay_shop_lens_quote: READ,
57
+ xpay_shop_lens: SPEND,
58
+ xpay_agenc_status: READ,
59
+ xpay_bento_status: READ,
60
+ xpay_bento_enable: LOCAL_CONFIG,
61
+ xpay_bento_disable: LOCAL_CONFIG,
62
+ };
23
63
  /** Anthropic Claude tool definitions. */
24
64
  export function forClaude(xpay, opts = {}) {
25
65
  const tools = [
@@ -27,7 +67,7 @@ export function forClaude(xpay, opts = {}) {
27
67
  name: "xpay_discover",
28
68
  description: "Find paid HTTP services across the agentic-commerce catalog (PayAI + others). " +
29
69
  "Returns ranked candidates with price, network, and payment recipient. " +
30
- "Results may include AgenC marketplace agent listings (metadata.source === 'agenc') " +
70
+ "Results may include AgenC marketplace agent listings (metadata.source === 'agenc') - " +
31
71
  "those are priced in SOL lamports and execute as on-chain escrow hires, not HTTP calls. " +
32
72
  "When the user asks specifically about the AgenC marketplace, pass sources: ['agenc'] " +
33
73
  "(optionally with no query) to list ALL its listings instead of the few slots it gets " +
@@ -49,12 +89,12 @@ export function forClaude(xpay, opts = {}) {
49
89
  {
50
90
  name: "xpay_use",
51
91
  description: "Call a specific resource from the catalog. Handles x402 payment automatically. " +
52
- "Prefer passing the full `resource` object returned by xpay_discover it includes " +
92
+ "Prefer passing the full `resource` object returned by xpay_discover - it includes " +
53
93
  "pre-fetched payment requirements so payment goes through without a probe round-trip. " +
54
94
  "Fall back to `resourceUrl` only when you have a URL but no catalog entry. " +
55
95
  "If the resource is an AgenC marketplace listing it executes as a Solana escrow hire " +
56
96
  "instead: SOL is escrowed on-chain and the result is a hire receipt (task PDA + tx " +
57
- "signature), NOT an HTTP response the provider works asynchronously; poll progress " +
97
+ "signature), NOT an HTTP response - the provider works asynchronously; poll progress " +
58
98
  "with xpay_agenc_status.",
59
99
  input_schema: {
60
100
  type: "object",
@@ -119,7 +159,7 @@ export function forClaude(xpay, opts = {}) {
119
159
  },
120
160
  {
121
161
  name: "xpay_report",
122
- description: "Comprehensive USDC activity report for the wallet totals, net flow, daily timeline, top counterparties, and biggest transactions. " +
162
+ description: "Comprehensive USDC activity report for the wallet - totals, net flow, daily timeline, top counterparties, and biggest transactions. " +
123
163
  "Powered by OrbitX402 (on-chain data fetched server-side, no RPC exposed). " +
124
164
  "Use this instead of history for a full picture of spending and income.",
125
165
  input_schema: {
@@ -144,10 +184,10 @@ export function forClaude(xpay, opts = {}) {
144
184
  },
145
185
  {
146
186
  name: "xpay_token_find",
147
- description: "Find Solana tokens by ticker, name, or mint address (Jupiter registry). Read-only no " +
187
+ description: "Find Solana tokens by ticker, name, or mint address (Jupiter registry). Read-only - no " +
148
188
  "wallet, no spending. Returns mint, price, market cap, liquidity, and a `verified` flag. " +
149
189
  "ALWAYS check `verified` before suggesting a swap: unverified tokens can be scams reusing a " +
150
- "real token's ticker. This tool alone answers price/info questions only proceed to a swap " +
190
+ "real token's ticker. This tool alone answers price/info questions - only proceed to a swap " +
151
191
  "if the user explicitly asked to trade, and then use the xpay_swap tool with the chosen mint " +
152
192
  "(do NOT write code or call DEX APIs yourself).",
153
193
  input_schema: {
@@ -161,17 +201,17 @@ export function forClaude(xpay, opts = {}) {
161
201
  },
162
202
  {
163
203
  name: "xpay_swap",
164
- description: "THE ONLY way to swap tokens a single tool call that quotes, signs, and executes inside the " +
204
+ description: "THE ONLY way to swap tokens - a single tool call that quotes, signs, and executes inside the " +
165
205
  "user's own xpay wallet via Jupiter (Solana only). NEVER write code or scripts (Python/JS/curl) " +
166
206
  "to swap, and never call Jupiter or DEX APIs directly: custom code bypasses the user's guardrail " +
167
207
  "caps and token-verification safety, and has no access to the wallet key anyway. When the user " +
168
- "actually wants to swap, this one tool call does everything (quote + sign + execute) but " +
208
+ "actually wants to swap, this one tool call does everything (quote + sign + execute) - but " +
169
209
  "xpay_token_find alone answers informational questions; do NOT follow it with a swap unless the " +
170
210
  "user asked to trade. Swaps are irreversible and guardrail caps are enforced before signing. Before calling, show the " +
171
211
  "user: the input amount + USD value, the expected output amount, and the output token's mint + " +
172
- "verification status and get their explicit approval. Never swap unprompted, and never swap " +
212
+ "verification status - and get their explicit approval. Never swap unprompted, and never swap " +
173
213
  "into an unverified token without the user confirming the exact mint. Ambiguous tickers return " +
174
- "an error listing candidate mints pass the exact mint to disambiguate.",
214
+ "an error listing candidate mints - pass the exact mint to disambiguate.",
175
215
  input_schema: {
176
216
  type: "object",
177
217
  properties: {
@@ -189,7 +229,7 @@ export function forClaude(xpay, opts = {}) {
189
229
  "fun.noxa.fi memecoin scene) right now, with price, market cap, 24h volume, and the token's " +
190
230
  "contract address. FREE, read-only, no wallet. Use this to answer 'what's hot on Robinhood " +
191
231
  "Chain' and to get the exact contract address to pass to xpay_trade. Pass newOnly:true for " +
192
- "the freshest launches (higher risk). This is Robinhood *Chain* on-chain data unrelated to " +
232
+ "the freshest launches (higher risk). This is Robinhood *Chain* on-chain data - unrelated to " +
193
233
  "the Robinhood brokerage app or stock trading.",
194
234
  input_schema: {
195
235
  type: "object",
@@ -201,7 +241,7 @@ export function forClaude(xpay, opts = {}) {
201
241
  },
202
242
  {
203
243
  name: "xpay_trade_quote",
204
- description: "Quote a Robinhood Chain trade WITHOUT executing no signing, no funds moved, no guardrail. " +
244
+ description: "Quote a Robinhood Chain trade WITHOUT executing - no signing, no funds moved, no guardrail. " +
205
245
  "Buy a token with native ETH or sell it back to ETH, routed through Uniswap V3 (NOXA Fun " +
206
246
  "pools). Returns expected output, min output after slippage, pool fee, USD estimate, and " +
207
247
  "whether the token is a verified NOXA launch. Use this to preview a trade before calling " +
@@ -220,16 +260,16 @@ export function forClaude(xpay, opts = {}) {
220
260
  },
221
261
  {
222
262
  name: "xpay_trade",
223
- description: "Trade tokens on Robinhood Chain (Arbitrum L2) via Uniswap V3 quotes, signs, and executes " +
263
+ description: "Trade tokens on Robinhood Chain (Arbitrum L2) via Uniswap V3 - quotes, signs, and executes " +
224
264
  "in ONE call from the user's own xpay wallet. Buy a memecoin with native ETH, or sell it back " +
225
265
  "to ETH (v1 supports ETH↔token only). This is distinct from xpay_swap, which is Solana/Jupiter. " +
226
- "NEVER write code or call DEX/router contracts yourself custom code bypasses the guardrail and " +
266
+ "NEVER write code or call DEX/router contracts yourself - custom code bypasses the guardrail and " +
227
267
  "has no wallet key. Trades are IRREVERSIBLE; guardrail caps are enforced before signing. Before " +
228
268
  "calling: show the user the input amount + USD value, expected output, the token's contract " +
229
269
  "address, and whether it's a verified NOXA launch (unverified tokens can be scams reusing a " +
230
- "ticker) and get explicit approval. Prefer passing the exact contract address from " +
270
+ "ticker) - and get explicit approval. Prefer passing the exact contract address from " +
231
271
  "xpay_trending_tokens over a symbol (memecoin tickers aren't unique). Fund the wallet with ETH " +
232
- "on Robinhood Chain first (bridge via Across or Uniswap) the wallet pays its own gas here.",
272
+ "on Robinhood Chain first (bridge via Across or Uniswap) - the wallet pays its own gas here.",
233
273
  input_schema: {
234
274
  type: "object",
235
275
  properties: {
@@ -243,8 +283,8 @@ export function forClaude(xpay, opts = {}) {
243
283
  },
244
284
  {
245
285
  name: "xpay_x_user",
246
- description: "Realtime X (Twitter) profile lookup followers, bio, verification status. This is a PAID " +
247
- "call (~$0.01 USDC from the wallet via x402, at cost no markup); guardrail caps apply. " +
286
+ description: "Realtime X (Twitter) profile lookup - followers, bio, verification status. This is a PAID " +
287
+ "call (~$0.01 USDC from the wallet via x402, at cost - no markup); guardrail caps apply. " +
248
288
  "Great for due diligence on a token's or project's X account before a swap. Don't spam it: " +
249
289
  "results barely change minute to minute, so one call per account per conversation is enough.",
250
290
  input_schema: {
@@ -258,7 +298,7 @@ export function forClaude(xpay, opts = {}) {
258
298
  {
259
299
  name: "xpay_x_posts",
260
300
  description: "Recent posts from an X (Twitter) account (up to 10, excludes retweets/replies) with " +
261
- "engagement metrics. PAID call (~$0.06 USDC from the wallet via x402, at cost no markup); " +
301
+ "engagement metrics. PAID call (~$0.06 USDC from the wallet via x402, at cost - no markup); " +
262
302
  "guardrail caps apply. Use for checking what a project/account is actually saying right now " +
263
303
  "(e.g. before swapping into their token). One call per account per conversation is enough.",
264
304
  input_schema: {
@@ -272,11 +312,11 @@ export function forClaude(xpay, opts = {}) {
272
312
  },
273
313
  {
274
314
  name: "xpay_zauth_reposcan",
275
- description: "Repository security scan via zauth (partner) scans a git repo for code provenance and " +
315
+ description: "Repository security scan via zauth (partner) - scans a git repo for code provenance and " +
276
316
  "vulnerabilities. PAID call (~$0.05 USDC from the wallet via x402; guardrail caps apply). " +
277
317
  "Scans can take a while: if the response still says status \"scanning\", check later with " +
278
318
  "xpay_zauth_scan_status using the returned sessionToken (the long JWT string, NOT the short " +
279
- "scanId the token is valid ~1 hour). Do NOT call this tool again for the same repo, that " +
319
+ "scanId - the token is valid ~1 hour). Do NOT call this tool again for the same repo, that " +
280
320
  "pays for a second scan. Results are informational: report them to the user, never " +
281
321
  "auto-remediate or trigger further payments based on findings.",
282
322
  input_schema: {
@@ -290,15 +330,15 @@ export function forClaude(xpay, opts = {}) {
290
330
  {
291
331
  name: "xpay_zauth_scan_status",
292
332
  description: "Check a running zauth repo scan by sessionToken (returned by xpay_zauth_reposcan). " +
293
- "FREE, read-only, no wallet always use this to follow up on a pending scan instead of " +
333
+ "FREE, read-only, no wallet - always use this to follow up on a pending scan instead of " +
294
334
  "re-calling xpay_zauth_reposcan, which would pay again. Pass the sessionToken (the long " +
295
- "JWT starting with \"eyJ\"), NOT the scanId the scanId is rejected with a 401.",
335
+ "JWT starting with \"eyJ\"), NOT the scanId - the scanId is rejected with a 401.",
296
336
  input_schema: {
297
337
  type: "object",
298
338
  properties: {
299
339
  sessionToken: {
300
340
  type: "string",
301
- description: "sessionToken from a pending xpay_zauth_reposcan result the long JWT string " +
341
+ description: "sessionToken from a pending xpay_zauth_reposcan result - the long JWT string " +
302
342
  "(starts with \"eyJ\"), not the scanId. Valid ~1 hour after the scan started.",
303
343
  },
304
344
  },
@@ -497,7 +537,7 @@ export function forClaude(xpay, opts = {}) {
497
537
  const sources = input.sources;
498
538
  return xpay.discover({
499
539
  query: input.query,
500
- // Browsing a single catalog implies "show me what's there" don't
540
+ // Browsing a single catalog implies "show me what's there" - don't
501
541
  // truncate to the mixed-results default.
502
542
  limit: input.limit ?? (sources?.length === 1 ? 50 : 5),
503
543
  networks: input.network ? [input.network] : undefined,
@@ -505,7 +545,7 @@ export function forClaude(xpay, opts = {}) {
505
545
  });
506
546
  },
507
547
  xpay_use: async (input) => {
508
- // Prefer the full resource object from xpay_discover it carries
548
+ // Prefer the full resource object from xpay_discover - it carries
509
549
  // pre-fetched accepts[] so we take the catalog path (no probe round-trip).
510
550
  if (input.resource && typeof input.resource === "object") {
511
551
  const parsed = ResourceSchema.safeParse(input.resource);
@@ -513,7 +553,7 @@ export function forClaude(xpay, opts = {}) {
513
553
  return xpay.use(parsed.data, { body: input.body });
514
554
  }
515
555
  }
516
- // Fallback: only a URL was provided probe the resource for a 402 challenge.
556
+ // Fallback: only a URL was provided - probe the resource for a 402 challenge.
517
557
  const url = input.resourceUrl;
518
558
  if (!url)
519
559
  throw new Error("xpay_use: provide either `resource` (full object from xpay_discover) or `resourceUrl`");
@@ -544,13 +584,13 @@ export function forClaude(xpay, opts = {}) {
544
584
  continue;
545
585
  const signer = xpay.wallet.signer(n);
546
586
  if (typeof signer.tokenBalances === "function") {
547
- // Full token breakdown same path as the CLI. Solana balances are
587
+ // Full token breakdown - same path as the CLI. Solana balances are
548
588
  // enriched via Jupiter: unknown mints get real symbols/names, and
549
589
  // priceable tokens carry usdPrice/usdValue.
550
590
  const raw = await signer.tokenBalances().catch(() => []);
551
591
  let tokens = n === "solana" ? await enrichTokenBalances(raw) : raw;
552
592
  // Robinhood Chain: the signer only knows a hardcoded token list, so
553
- // pull the wallet's full ERC-20 holdings from the chain explorer
593
+ // pull the wallet's full ERC-20 holdings from the chain explorer -
554
594
  // this is how memecoins bought via xpay_trade show up. Native ETH
555
595
  // still comes from the signer.
556
596
  if (n === "robinhood") {
@@ -635,7 +675,7 @@ export function forClaude(xpay, opts = {}) {
635
675
  });
636
676
  if (!isScanPending(result.data))
637
677
  return { ...result, data: compactScanReport(result.data) };
638
- // Paid + scan kicked off poll the free status endpoint for a while.
678
+ // Paid + scan kicked off - poll the free status endpoint for a while.
639
679
  // Poll responses don't echo the sessionToken, so keep the kickoff's
640
680
  // copy and re-attach it if the scan outlives our window.
641
681
  const sessionToken = result.data.sessionToken;
@@ -646,7 +686,7 @@ export function forClaude(xpay, opts = {}) {
646
686
  data: {
647
687
  ...data,
648
688
  sessionToken,
649
- note: "Scan still running check later with xpay_zauth_scan_status, passing this " +
689
+ note: "Scan still running - check later with xpay_zauth_scan_status, passing this " +
650
690
  "sessionToken (the long JWT, NOT the scanId). Do not re-run xpay_zauth_reposcan " +
651
691
  "for this repo; that pays again.",
652
692
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAC;AAElE,wEAAwE;AACxE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;AAyBnF,0EAA0E;AAC1E,MAAM,IAAI,GAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AACnG,wGAAwG;AACxG,MAAM,KAAK,GAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AACnG,iFAAiF;AACjF,MAAM,YAAY,GAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AAE5G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoC;IAC/D,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,KAAK;IAChB,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,mBAAmB,EAAE,KAAK;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,oBAAoB,EAAE,IAAI;IAC1B,cAAc,EAAE,KAAK;IACrB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,YAAY;IAC/B,kBAAkB,EAAE,YAAY;CACjC,CAAC;AAEF,yCAAyC;AACzC,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,OAAoB,EAAE;IAC1D,MAAM,KAAK,GAAoB;QAC7B;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,gFAAgF;gBAChF,wEAAwE;gBACxE,uFAAuF;gBACvF,yFAAyF;gBACzF,uFAAuF;gBACvF,uFAAuF;gBACvF,mBAAmB;YACrB,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4EAA4E,EAAE;oBACpH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;oBACxF,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;wBACvD,WAAW,EAAE,yFAAyF;qBACvG;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,iFAAiF;gBACjF,oFAAoF;gBACpF,uFAAuF;gBACvF,4EAA4E;gBAC5E,sFAAsF;gBACtF,oFAAoF;gBACpF,sFAAsF;gBACtF,yBAAyB;YAC3B,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,uDAAuD;4BACvD,wEAAwE;qBAC3E;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,iFAAiF;qBACpF;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;iBAChF;aACF;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EACT,mEAAmE;gBACnE,yDAAyD;gBACzD,iFAAiF;gBACjF,4CAA4C;YAC9C,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,8FAA8F;gBAC9F,wGAAwG;gBACxG,wGAAwG;gBACxG,sFAAsF;gBACtF,iFAAiF;YACnF,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,gDAAgD,EAAE;oBAC3F,EAAE,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,iDAAiD,EAAE;oBAC5F,KAAK,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,mFAAmF,EAAE;oBAC9H,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,wCAAwC,EAAE;oBACnF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uFAAuF,EAAE;iBACnI;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;aAC3B;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,sEAAsE;gBACtE,oFAAoF;YACtF,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;iBAC5G;aACF;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,sIAAsI;gBACtI,4EAA4E;gBAC5E,wEAAwE;YAC1E,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;wBACpC,WAAW,EAAE,iCAAiC;qBAC/C;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wCAAwC;qBACtD;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,+EAA+E;YAC5F,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;SACjD;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,yFAAyF;gBACzF,0FAA0F;gBAC1F,6FAA6F;gBAC7F,6FAA6F;gBAC7F,8FAA8F;gBAC9F,gDAAgD;YAClD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACpF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBACnE;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,+FAA+F;gBAC/F,iGAAiG;gBACjG,kGAAkG;gBAClG,gGAAgG;gBAChG,4FAA4F;gBAC5F,iGAAiG;gBACjG,uHAAuH;gBACvH,gGAAgG;gBAChG,+FAA+F;gBAC/F,gGAAgG;gBAChG,yEAAyE;YAC3E,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;oBAC7F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;oBAClG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mFAAmF,EAAE;oBACxH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mFAAmF,EAAE;iBAClI;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;aACnC;SACF;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACT,2FAA2F;gBAC3F,6FAA6F;gBAC7F,4FAA4F;gBAC5F,4FAA4F;gBAC5F,8FAA8F;gBAC9F,+CAA+C;YACjD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uDAAuD,EAAE;oBAClG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBACnE;aACF;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,8FAA8F;gBAC9F,0FAA0F;gBAC1F,0FAA0F;gBAC1F,0FAA0F;gBAC1F,0FAA0F;gBAC1F,+BAA+B;YACjC,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;oBAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;oBACtG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;oBACrG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;iBAC7F;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;aACnC;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,6FAA6F;gBAC7F,+FAA+F;gBAC/F,iGAAiG;gBACjG,kGAAkG;gBAClG,iGAAiG;gBACjG,6FAA6F;gBAC7F,6FAA6F;gBAC7F,sFAAsF;gBACtF,gGAAgG;gBAChG,6FAA6F;YAC/F,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;oBAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;oBACtG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;oBACrG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;iBAC7F;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;aACnC;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,4FAA4F;gBAC5F,0FAA0F;gBAC1F,4FAA4F;gBAC5F,6FAA6F;YAC/F,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;iBACtF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,sFAAsF;gBACtF,6FAA6F;gBAC7F,6FAA6F;gBAC7F,2FAA2F;YAC7F,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACrF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;iBAC7E;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EACT,0FAA0F;gBAC1F,2FAA2F;gBAC3F,2FAA2F;gBAC3F,6FAA6F;gBAC7F,4FAA4F;gBAC5F,oFAAoF;gBACpF,+DAA+D;YACjE,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6DAA6D,EAAE;iBACxG;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,qFAAqF;gBACrF,yFAAyF;gBACzF,yFAAyF;gBACzF,iFAAiF;YACnF,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,+EAA+E;4BAC/E,8EAA8E;qBACjF;iBACF;gBACD,QAAQ,EAAE,CAAC,cAAc,CAAC;aAC3B;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,qFAAqF;gBACrF,uFAAuF;gBACvF,0FAA0F;gBAC1F,uFAAuF;gBACvF,wFAAwF;gBACxF,yFAAyF;gBACzF,0FAA0F;gBAC1F,6EAA6E;YAC/E,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2FAA2F;qBACzG;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;wBAC9B,WAAW,EAAE,6EAA6E;qBAC3F;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBACnE;aACF;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,0FAA0F;gBAC1F,wFAAwF;gBACxF,2FAA2F;gBAC3F,0FAA0F;gBAC1F,qFAAqF;YACvF,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;oBACtG,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACtE,WAAW,EAAE,4EAA4E;qBAC1F;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,8FAA8F;gBAC9F,0FAA0F;gBAC1F,uFAAuF;gBACvF,yFAAyF;gBACzF,4FAA4F;gBAC5F,4FAA4F;gBAC5F,2FAA2F;gBAC3F,yDAAyD;YAC3D,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;oBACvF,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACtE,WAAW,EAAE,8DAA8D;qBAC5E;oBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC/D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC/D,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC;wBAC7D,WAAW,EAAE,wBAAwB;qBACtC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;wBACzF,WAAW,EAAE,qCAAqC;qBACnD;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;iBAC/E;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACT,4FAA4F;gBAC5F,4FAA4F;gBAC5F,0FAA0F;gBAC1F,2FAA2F;gBAC3F,oBAAoB;YACtB,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gFAAgF;qBAC9F;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;wBAC1B,WAAW,EAAE,uFAAuF;qBACrG;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACtE,WAAW,EAAE,kFAAkF;qBAChG;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,sFAAsF;gBACtF,2EAA2E;gBAC3E,sFAAsF;gBACtF,sFAAsF;gBACtF,0FAA0F;gBAC1F,sFAAsF;gBACtF,wFAAwF;gBACxF,uFAAuF;gBACvF,2FAA2F;gBAC3F,wFAAwF;gBACxF,yFAAyF;gBACzF,yFAAyF;gBACzF,iFAAiF;YACnF,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sDAAsD;qBACpE;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4FAA4F;qBAC1G;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uFAAuF;qBACrG;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;wBAC1B,WAAW,EAAE,0FAA0F;qBACxG;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qFAAqF;qBACnG;oBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC/D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC/D,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC;wBAC7D,WAAW,EAAE,wBAAwB;qBACtC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;wBACzF,WAAW,EAAE,qCAAqC;qBACnD;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBAClE,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACtE,WAAW,EAAE,kFAAkF;qBAChG;iBACF;gBACD,0EAA0E;gBAC1E,0EAA0E;aAC3E;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EACT,0EAA0E;gBAC1E,0EAA0E;gBAC1E,4FAA4F;gBAC5F,qFAAqF;YACvF,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;iBAClF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF,CAAC;IAEF,MAAM,QAAQ,GAA0C;QACtD,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAA+B,CAAC;YACtD,OAAO,IAAI,CAAC,QAAQ,CAAC;gBACnB,KAAK,EAAE,KAAK,CAAC,KAA2B;gBACxC,mEAAmE;gBACnE,yCAAyC;gBACzC,KAAK,EAAG,KAAK,CAAC,KAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,kEAAkE;YAClE,2EAA2E;YAC3E,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAe,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,8EAA8E;YAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,WAAqB,CAAC;YACxC,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAe,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAe,EAAE,CAAC;QAEjE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7B,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAG,KAAK,CAAC,MAAiB;YAChC,EAAE,EAAO,KAAK,CAAC,EAAiB;YAChC,qEAAqE;YACrE,oDAAoD;YACpD,KAAK,EAAI,KAAK,CAAC,KAA2B;YAC1C,OAAO,EAAE,KAAK,CAAC,OAA6B;YAC5C,OAAO,EAAE,KAAK,CAAC,OAA8B;SAC9C,CAAC;QAEJ,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,uDAAuD;YACvD,yEAAyE;YACzE,uCAAuC;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO;gBAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAiB,CAAC;gBAC3B,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvF,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,IAAI,eAAe,GAAG,CAAC,CAAC;YAExB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAErC,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBAC/C,mEAAmE;oBACnE,kEAAkE;oBAClE,4CAA4C;oBAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACzD,IAAI,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnE,oEAAoE;oBACpE,mEAAmE;oBACnE,kEAAkE;oBAClE,+BAA+B;oBAC/B,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;wBACtB,MAAM,MAAM,GAAI,GAAqC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAChF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACzD,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAkB,CAAC;oBACrD,CAAC;oBACD,UAAU,CAAC,CAAC,CAAC,GAAG;wBACd,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACzB,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,MAAM,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;4BAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,QAAQ,EAAG,CAA2B,CAAC,QAAQ;4BAC/C,QAAQ,EAAG,CAA2B,CAAC,QAAQ;4BAC/C,QAAQ,EAAG,CAA4B,CAAC,QAAQ;yBACjD,CAAC,CAAC;qBACJ,CAAC;oBACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;wBACvB,8DAA8D;wBAC9D,oDAAoD;wBACpD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;4BACvE,eAAe,IAAI,CAAC,CAAC,OAAO,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;wBAC/C,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;wBACvC,CAAC,CAAC,CAAC,CAAC;oBACN,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACxG,eAAe,IAAI,IAAI,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QACzC,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC;YACV,MAAM,EAAG,KAAK,CAAC,MAAyC,IAAI,QAAQ;YACpE,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC;QAEJ,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS;QAE1C,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAe,EAAE;YACrC,KAAK,EAAG,KAAK,CAAC,KAAgB,IAAI,EAAE;SACrC,CAAC;QAEJ,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACzB,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,KAAK,CAAC,MAAgB;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAc;YAC1B,EAAE,EAAE,KAAK,CAAC,EAAY;YACtB,WAAW,EAAE,KAAK,CAAC,WAAiC;SACrD,CAAC;QAEJ,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAG,KAAK,CAAC,KAAgB,IAAI,EAAE,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAChC,IAAI,CAAC,UAAU,CAAC;YACd,MAAM,EAAE,KAAK,CAAC,MAAgB;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAc;YAC1B,EAAE,EAAE,KAAK,CAAC,EAAY;YACtB,WAAW,EAAE,KAAK,CAAC,WAAiC;SACrD,CAAC;QAEJ,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC1B,IAAI,CAAC,KAAK,CAAC;YACT,MAAM,EAAE,KAAK,CAAC,MAAgB;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAc;YAC1B,EAAE,EAAE,KAAK,CAAC,EAAY;YACtB,WAAW,EAAE,KAAK,CAAC,WAAiC;SACrD,CAAC;QAEJ,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,UAAU,SAAS,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAgB,EAAE;SACzC,CAAC;QAEJ,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,UAAU,UAAU,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,KAA2B,EAAE;SACnF,CAAC;QAEJ,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,UAAU,gBAAgB,EAAE;gBAChE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAiB,EAAE;aAC3C,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5F,sEAAsE;YACtE,oEAAoE;YACpE,yDAAyD;YACzD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO;oBACL,GAAG,MAAM;oBACT,IAAI,EAAE;wBACJ,GAAI,IAAgC;wBACpC,YAAY;wBACZ,IAAI,EACF,6EAA6E;4BAC7E,iFAAiF;4BACjF,iCAAiC;qBACpC;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,CAAC;QAED,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACtC,iBAAiB,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,YAAsB,CAAC,CAAC;QAExE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7B,aAAa,CAAC;YACZ,KAAK,EAAE,KAAK,CAAC,KAA2B;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAmC;YACnD,KAAK,EAAG,KAAK,CAAC,KAAgB,IAAI,EAAE;SACrC,CAAC;QAEJ,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC/B,cAAc,CAAC;YACb,KAAK,EAAE,KAAK,CAAC,KAAe;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAoC;SACzD,CAAC;QAEJ,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAqB;gBAC/B,KAAK,EAAE,KAAK,CAAC,KAAe;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAoC;gBACxD,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,IAAI,EAAE,KAAK,CAAC,IAA0B;gBACtC,KAAK,EAAE,KAAK,CAAC,KAA2B;aACzC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,cAAc,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,CAAC;QAED,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACpC,kBAAkB,CAAC;YACjB,SAAS,EAAE,KAAK,CAAC,SAAmB;YACpC,IAAI,EAAE,KAAK,CAAC,IAA0B;YACtC,YAAY,EAAE,KAAK,CAAC,YAAoC;SACzD,CAAC;QAEJ,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,oEAAoE;YACpE,uEAAuE;YACvE,4DAA4D;YAC5D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC;gBACxD,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,UAAU,EAAE,KAAK,CAAC,UAAgC;gBAClD,YAAY,EAAE,KAAK,CAAC,YAAkC;aACvD,CAAC,CAAC;YACH,MAAM,MAAM,GAAmB;gBAC7B,SAAS;gBACT,IAAI,EAAE,KAAK,CAAC,IAA0B;gBACtC,CAAC,EAAE,KAAK,CAAC,CAAuB;gBAChC,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,SAAS,EAAE,KAAK,CAAC,SAA+B;gBAChD,IAAI,EAAE,KAAK,CAAC,IAA0B;gBACtC,KAAK,EAAE,KAAK,CAAC,KAA2B;gBACxC,YAAY,EAAE,KAAK,CAAC,YAAoC;aACzD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,YAAY,EAAE;gBAC3D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,qEAAqE;YACrE,qEAAqE;YACrE,OAAO;gBACL,GAAG,MAAM;gBACT,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,OAAiB,CAAC;KAC5E,CAAC;IAEF,gDAAgD;IAChD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO;YACL,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YAChC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;SAC5C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,YAAY;aAC3B;SACF,CAAC,CAAC;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,KAAK,EAAE;YACL;gBACE,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,YAAY;iBAC3B,CAAC,CAAC;aACJ;SACF;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC"}