@atxp/server 0.7.2 → 0.7.4

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 (59) hide show
  1. package/dist/atxpContext.d.ts +6 -0
  2. package/dist/atxpContext.d.ts.map +1 -0
  3. package/dist/core/index.d.ts +4 -0
  4. package/dist/core/index.d.ts.map +1 -0
  5. package/dist/core/mcp.d.ts +7 -0
  6. package/dist/core/mcp.d.ts.map +1 -0
  7. package/dist/core/oauth.d.ts +11 -0
  8. package/dist/core/oauth.d.ts.map +1 -0
  9. package/dist/core/token.d.ts +7 -0
  10. package/dist/core/token.d.ts.map +1 -0
  11. package/dist/getResource.d.ts +4 -0
  12. package/dist/getResource.d.ts.map +1 -0
  13. package/dist/index.cjs +12 -106
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +3 -6
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +12 -106
  18. package/dist/index.js.map +1 -1
  19. package/dist/node/getRawBody.d.ts +3 -0
  20. package/dist/node/getRawBody.d.ts.map +1 -0
  21. package/dist/node/http.d.ts +11 -0
  22. package/dist/node/http.d.ts.map +1 -0
  23. package/dist/node/index.d.ts +4 -0
  24. package/dist/node/index.d.ts.map +1 -0
  25. package/dist/node/oauth.d.ts +11 -0
  26. package/dist/node/oauth.d.ts.map +1 -0
  27. package/dist/node/token.d.ts +8 -0
  28. package/dist/node/token.d.ts.map +1 -0
  29. package/dist/oAuthMetadata.d.ts +4 -0
  30. package/dist/oAuthMetadata.d.ts.map +1 -0
  31. package/dist/paymentDestination.d.ts +31 -0
  32. package/dist/paymentDestination.d.ts.map +1 -0
  33. package/dist/paymentDestination.js +9 -73
  34. package/dist/paymentDestination.js.map +1 -1
  35. package/dist/paymentServer.d.ts +42 -0
  36. package/dist/paymentServer.d.ts.map +1 -0
  37. package/dist/protectedResourceMetadata.d.ts +3 -0
  38. package/dist/protectedResourceMetadata.d.ts.map +1 -0
  39. package/dist/requirePayment.d.ts +3 -0
  40. package/dist/requirePayment.d.ts.map +1 -0
  41. package/dist/requirePayment.js +3 -33
  42. package/dist/requirePayment.js.map +1 -1
  43. package/dist/serverConfig.d.ts +10 -0
  44. package/dist/serverConfig.d.ts.map +1 -0
  45. package/dist/serverTestHelpers.d.ts +1 -2
  46. package/dist/serverTestHelpers.d.ts.map +1 -0
  47. package/dist/serverTestHelpers.js +5 -10
  48. package/dist/serverTestHelpers.js.map +1 -1
  49. package/dist/types.d.ts +60 -0
  50. package/dist/types.d.ts.map +1 -0
  51. package/dist/webapi/index.d.ts +4 -0
  52. package/dist/webapi/index.d.ts.map +1 -0
  53. package/dist/webapi/mcp.d.ts +8 -0
  54. package/dist/webapi/mcp.d.ts.map +1 -0
  55. package/dist/webapi/oauth.d.ts +10 -0
  56. package/dist/webapi/oauth.d.ts.map +1 -0
  57. package/dist/webapi/token.d.ts +7 -0
  58. package/dist/webapi/token.d.ts.map +1 -0
  59. package/package.json +2 -2
@@ -0,0 +1,6 @@
1
+ import { ATXPConfig, TokenCheck } from "./types.js";
2
+ export declare function getATXPConfig(): ATXPConfig | null;
3
+ export declare function getATXPResource(): URL | null;
4
+ export declare function atxpAccountId(): string | null;
5
+ export declare function withATXPContext(config: ATXPConfig, resource: URL, tokenInfo: Pick<TokenCheck, 'token' | 'data'> | null, next: () => void): Promise<void>;
6
+ //# sourceMappingURL=atxpContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atxpContext.d.ts","sourceRoot":"","sources":["../src/atxpContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWpD,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAGjD;AAED,wBAAgB,eAAe,IAAI,GAAG,GAAG,IAAI,CAG5C;AAGD,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAG7C;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9J"}
@@ -0,0 +1,4 @@
1
+ export { checkTokenCore } from './token.js';
2
+ export { createOAuthChallengeResponseCore } from './oauth.js';
3
+ export { parseMcpRequestsCore } from './mcp.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ATXPConfig } from "../types.js";
2
+ /**
3
+ * Core platform-agnostic MCP request parsing logic
4
+ * Takes parsed JSON and request metadata instead of platform-specific request objects
5
+ */
6
+ export declare function parseMcpRequestsCore(config: ATXPConfig, requestUrl: URL, method: string, parsedBody: unknown): unknown[];
7
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,GAClB,OAAO,EAAE,CAoCX"}
@@ -0,0 +1,11 @@
1
+ import { TokenCheck } from "../types.js";
2
+ /**
3
+ * Core platform-agnostic OAuth challenge response creation
4
+ * Returns the response data instead of writing to platform-specific response objects
5
+ */
6
+ export declare function createOAuthChallengeResponseCore(tokenCheck: TokenCheck): {
7
+ status: number;
8
+ headers: Record<string, string>;
9
+ body: string;
10
+ } | null;
11
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/core/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,UAAU,GAAG;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CA6CP"}
@@ -0,0 +1,7 @@
1
+ import { ATXPConfig, TokenCheck } from "../types.js";
2
+ /**
3
+ * Core platform-agnostic token checking logic
4
+ * Takes an authorization header string instead of platform-specific request objects
5
+ */
6
+ export declare function checkTokenCore(config: ATXPConfig, resourceURL: URL, authorizationHeader: string | null): Promise<TokenCheck>;
7
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/core/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AAEnE;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,GAAG,EAChB,mBAAmB,EAAE,MAAM,GAAG,IAAI,GACjC,OAAO,CAAC,UAAU,CAAC,CAqCrB"}
@@ -0,0 +1,4 @@
1
+ import { ATXPConfig } from "./types.js";
2
+ export declare function getPath(url: URL): string;
3
+ export declare function getResource(config: ATXPConfig, requestUrl: URL, headers?: Record<string, string | string[] | undefined>): URL;
4
+ //# sourceMappingURL=getResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResource.d.ts","sourceRoot":"","sources":["../src/getResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAGxC;AAqBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAe7H"}
package/dist/index.cjs CHANGED
@@ -386,43 +386,13 @@ async function parseMcpRequestsWebApi(config, request) {
386
386
  }
387
387
  }
388
388
 
389
- // Cache for payment destinations to avoid repeated HTTP calls
390
- // Key is "userId:amount:currency", value is cached destinations
391
- const destinationCache = new Map();
392
- // Cache duration: 5 minutes
393
- const CACHE_DURATION_MS = 5 * 60 * 1000;
394
389
  /**
395
390
  * Get payment destinations for a user, with caching to avoid repeated HTTP calls.
396
391
  * This is an internal helper function used by requirePayment.
397
392
  */
398
- async function getCachedPaymentDestinations(config, user, amount, currency) {
399
- const cacheKey = `${user}:${amount.toString()}:${currency}`;
400
- const cached = destinationCache.get(cacheKey);
401
- const now = Date.now();
402
- // Return cached destinations if still valid
403
- if (cached && (now - cached.timestamp) < CACHE_DURATION_MS) {
404
- config.logger.debug(`Using cached payment destinations for user ${user}`);
405
- return cached.destinations;
406
- }
407
- // Fetch fresh destinations
408
- config.logger.debug(`Fetching payment destinations for user ${user}`);
393
+ async function getPaymentDestinations(config, user, amount, currency) {
409
394
  const fundingAmount = { amount, currency };
410
- let paymentAddresses;
411
- if ('destinations' in config.paymentDestination && typeof config.paymentDestination.destinations === 'function') {
412
- paymentAddresses = await config.paymentDestination.destinations(fundingAmount, user);
413
- }
414
- else {
415
- // Fallback to single destination wrapped in array
416
- const singleAddress = await config.paymentDestination.destination(fundingAmount, user);
417
- paymentAddresses = [singleAddress];
418
- }
419
- // Cache the result
420
- destinationCache.set(cacheKey, {
421
- destinations: paymentAddresses,
422
- timestamp: now
423
- });
424
- config.logger.debug(`Cached ${paymentAddresses.length} payment destinations for user ${user}`);
425
- return paymentAddresses;
395
+ return await config.paymentDestination.destinations(fundingAmount);
426
396
  }
427
397
  async function requirePayment(paymentConfig) {
428
398
  const config = getATXPConfig();
@@ -439,7 +409,7 @@ async function requirePayment(paymentConfig) {
439
409
  ? config.minimumPayment
440
410
  : paymentConfig.price;
441
411
  // Get payment destinations (with caching)
442
- const paymentAddresses = await getCachedPaymentDestinations(config, user, paymentAmount, config.currency);
412
+ const paymentAddresses = await getPaymentDestinations(config, user, paymentAmount, config.currency);
443
413
  // Always use multi-destination format
444
414
  const charge = {
445
415
  destinations: paymentAddresses.map(addr => ({
@@ -483,16 +453,11 @@ class ChainPaymentDestination {
483
453
  this.address = address;
484
454
  this.network = network;
485
455
  }
486
- async destination(_fundingAmount, _buyerAddress) {
487
- return {
488
- destination: this.address,
489
- network: this.network
490
- };
491
- }
492
- async destinations(fundingAmount, buyerAddress) {
493
- // Return single destination as array for backwards compatibility
494
- const dest = await this.destination(fundingAmount, buyerAddress);
495
- return [dest];
456
+ async destinations(_fundingAmount) {
457
+ return [{
458
+ destination: this.address,
459
+ network: this.network
460
+ }];
496
461
  }
497
462
  }
498
463
  function parseConnectionString(connectionString) {
@@ -512,69 +477,8 @@ class ATXPPaymentDestination {
512
477
  this.fetchFn = opts?.fetchFn ?? fetch.bind(globalThis);
513
478
  this.logger = opts?.logger ?? new common.ConsoleLogger({ prefix: '[atxp-payment-destination]' });
514
479
  }
515
- async destination(fundingAmount, buyerAddress) {
516
- this.logger.debug(`Getting payment destination for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
517
- const url = new URL(`${this.accountServerURL}/destination`);
518
- url.searchParams.set('connectionToken', this.token);
519
- url.searchParams.set('buyerAddress', buyerAddress);
520
- url.searchParams.set('amount', fundingAmount.amount.toString());
521
- // Add currency parameter if provided
522
- if (fundingAmount.currency) {
523
- url.searchParams.set('currency', fundingAmount.currency);
524
- }
525
- this.logger.debug(`Making request to: ${url.toString()}`);
526
- const response = await this.fetchFn(url.toString(), {
527
- method: 'GET',
528
- headers: {
529
- 'Accept': 'application/json',
530
- },
531
- });
532
- if (!response.ok) {
533
- const text = await response.text();
534
- this.logger.error(`/destination failed: ${response.status} ${response.statusText} ${text}`);
535
- throw new Error(`ATXPPaymentDestination: /destination failed: ${response.status} ${response.statusText} ${text}`);
536
- }
537
- const json = await response.json();
538
- if (!json?.destination) {
539
- this.logger.error('/destination did not return destination');
540
- throw new Error('ATXPPaymentDestination: /destination did not return destination');
541
- }
542
- const networkFromResponse = json.network;
543
- if (!networkFromResponse) {
544
- this.logger.error('/destination did not return network');
545
- throw new Error('ATXPPaymentDestination: /destination did not return network');
546
- }
547
- // Map network values if needed
548
- // The accounts service might return 'ethereum' for Base wallets, but the payment system expects 'base'
549
- let network;
550
- switch (networkFromResponse) {
551
- case 'ethereum':
552
- network = 'base'; // Base is an Ethereum L2
553
- break;
554
- case 'base':
555
- network = 'base'; // Already correct
556
- break;
557
- case 'base_sepolia':
558
- network = 'base_sepolia';
559
- break;
560
- case 'world_sepolia':
561
- network = 'world_sepolia';
562
- break;
563
- case 'solana':
564
- network = 'solana';
565
- break;
566
- default:
567
- this.logger.warn(`Unknown network: ${networkFromResponse}, defaulting to base`);
568
- network = 'base';
569
- }
570
- this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network}`);
571
- return {
572
- destination: json.destination,
573
- network
574
- };
575
- }
576
- async destinations(fundingAmount, buyerAddress) {
577
- this.logger.debug(`Getting payment destinations for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
480
+ async destinations(fundingAmount) {
481
+ this.logger.debug(`Getting payment destinations for buyer: ${fundingAmount.currency}`);
578
482
  const url = new URL(`${this.accountServerURL}/addresses`);
579
483
  // Add currency parameter if provided
580
484
  if (fundingAmount.currency) {
@@ -618,6 +522,8 @@ class ATXPPaymentDestination {
618
522
  case 'world':
619
523
  case 'world_sepolia':
620
524
  case 'solana':
525
+ case 'atxp_base':
526
+ case 'atxp_base_sepolia':
621
527
  network = networkFromItem;
622
528
  break;
623
529
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/atxpContext.ts","../src/core/token.ts","../src/core/oauth.ts","../src/core/mcp.ts","../src/node/token.ts","../src/node/oauth.ts","../src/node/getRawBody.ts","../src/node/http.ts","../src/webapi/token.ts","../src/webapi/oauth.ts","../src/webapi/mcp.ts","../src/requirePayment.ts","../src/paymentDestination.ts","../src/paymentServer.ts","../src/serverConfig.ts","../src/getResource.ts","../src/oAuthMetadata.ts","../src/protectedResourceMetadata.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TokenProblem","AsyncLocalStorage","sendProtectedResourceMetadata","sendOAuthMetadata","parseMcpMessages","isJSONRPCRequest","contentType","paymentRequiredError","ConsoleLogger","DEFAULT_AUTHORIZATION_SERVER","MemoryOAuthDb","OAuthResourceClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqDYA;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPWA,oBAAY,KAAZA,oBAAY,GAAA,EAAA,CAAA,CAAA;;ACjDxB,MAAM,cAAc,GAAG,IAAIC,6BAAiB,EAAsB;SAQlD,aAAa,GAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,MAAM,IAAI,IAAI;AAChC;SAEgB,eAAe,GAAA;AAC7B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,QAAQ,IAAI,IAAI;AAClC;AAEA;SACgB,aAAa,GAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI;AACxC;AAEA;AACO,eAAe,eAAe,CAAC,MAAkB,EAAE,QAAa,EAAE,SAAoD,EAAE,IAAgB,EAAA;AAC7I,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,wBAAA,EAA2B,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,CAAA,CAAE,CAAC;IAEhF,IAAG,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;AACnC,QAAA,IAAG,SAAS,CAAC,KAAK,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,SAAS,CAAC,KAAM;AAC7B,gBAAA,WAAW,EAAE;aACd;;;AAGD,YAAA,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC;QACtE;aAAO;AACL,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,qJAAA,CAAuJ,CAAC;AAC3K,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;QACtE;IACF;AAEA,IAAA,MAAM,GAAG,GAAG;AACV,QAAA,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;QAClC,MAAM;QACN;KACD;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACtC;;ACnDA;;;AAGG;AACI,eAAe,cAAc,CAClC,MAAkB,EAClB,WAAgB,EAChB,mBAAkC,EAAA;AAElC,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACrC,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI;AAC7B,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ;IACrC,MAAM,4BAA4B,GAAG,CAAA,EAAG,QAAQ,KAAK,IAAI,CAAA,qCAAA,EAAwC,QAAQ,CAAA,CAAE;AAE3G,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,MAAM,EAAE,KAAc;AACtB,QAAA,mBAAmB,EAAE,4BAA4B;KAClD;;IAGD,IAAI,CAAC,mBAAmB,EAAE;AACxB,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAED,oBAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;IAC9E;IACA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC9C,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAEA,oBAAY,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;IAC5F;IAEA,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE9C,IAAA,IAAI;AACF,QAAA,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;AAE1F,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;AAC/B,YAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAEA,oBAAY,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;QAC7E;QAEA,OAAO;AACL,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,IAAI,EAAE,mBAAmB;YACzB,KAAK;SACN;IACH;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,KAAK,CAAA,CAAE,CAAC;AACjE,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAEA,oBAAY,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;IAChF;AACF;;AC7CA;;;AAGG;AACG,SAAU,gCAAgC,CAAC,UAAsB,EAAA;AAKrE,IAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,QAAA,OAAO,IAAI;IACb;IAEA,IAAI,MAAM,GAAG,GAAG;IAChB,IAAI,IAAI,GAAkE,EAAE;;AAG5E,IAAA,QAAQ,UAAU,CAAC,OAAO;QACxB,KAAKA,oBAAY,CAAC,QAAQ;YACxB;QACF,KAAKA,oBAAY,CAAC,sBAAsB;YACtC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qDAAqD,EAAE;YAC7G;QACF,KAAKA,oBAAY,CAAC,aAAa;YAC7B,IAAI,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;YAC3E;QACF,KAAKA,oBAAY,CAAC,gBAAgB;YAChC,IAAI,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,4CAA4C,EAAE;YAClG;QACF,KAAKA,oBAAY,CAAC,oBAAoB;YACpC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;YACjF;QACF,KAAKA,oBAAY,CAAC,gBAAgB;YAChC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,mCAAmC,EAAE;YACxF;;AAMJ,IAAA,MAAM,eAAe,GAAG,CAAA,0BAAA,EAA6B,UAAU,CAAC,mBAAmB,GAAG;IAEtF,OAAO;QACL,MAAM;AACN,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;KAC1B;AACH;;ACrDA;;;AAGG;AACG,SAAU,oBAAoB,CAClC,MAAkB,EAClB,UAAe,EACf,MAAc,EACd,UAAmB,EAAA;IAEnB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;AAC9C,QAAA,OAAO,EAAE;IACX;;;AAIA,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,CAAA,EAAG,SAAS,CAAA,QAAA,CAAU,EAAE;QACzD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAA,gCAAA,EAAmC,SAAS,CAAA,0BAAA,CAA4B,CAAC;AAClH,QAAA,OAAO,EAAE;IACX;IAEA,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACjD,QAAA,OAAO,EAAE;IACX;;AAGA,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;;AAE7B,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,IAC1B,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAC9B,GAAG,CAAC,OAAO,KAAK,KAAK;AACrB,YAAA,GAAG,CAAC,MAAM;AACV,YAAA,GAAG,CAAC,EAAE,KAAK,SAAS,CACrB;IACH;SAAO;;QAEL,MAAM,IAAI,GAAG,UAA+D;AAC5E,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;YAClE,OAAO,CAAC,IAAI,CAAC;QACf;IACF;AAEA,IAAA,OAAO,EAAE;AACX;;AC3CA;;;AAGG;AACI,eAAe,UAAU,CAAC,MAAkB,EAAE,WAAgB,EAAE,GAAoB,EAAA;;IAEzF,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;;IAG7D,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC;AACjE;;ACTA;;;AAGG;AACG,SAAU,kBAAkB,CAAC,GAAmB,EAAE,UAAsB,EAAA;;AAE5E,IAAA,MAAM,YAAY,GAAG,gCAAgC,CAAC,UAAU,CAAC;IAEjE,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;;AAGA,IAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC5D,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,CAAC;AACF,IAAA,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;AAClC,IAAA,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;AAE1B,IAAA,OAAO,IAAI;AACb;AAEM,SAAUE,+BAA6B,CAAC,GAAmB,EAAE,QAA0C,EAAA;IAC3G,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,KAAK;IACd;AACA,IAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,IAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;IAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,IAAA,OAAO,IAAI;AACb;AAEM,SAAUC,mBAAiB,CAAC,GAAmB,EAAE,QAA0C,EAAA;IAC/F,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,KAAK;IACd;AACA,IAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,IAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;IAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,IAAA,OAAO,IAAI;AACb;;AC3CA;AACA,SAAS,SAAS,CAAC,IAAY,EAAA;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAA,CAAE,CAAC;IACjD;IAEA,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,IAAA,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE;AAE5C,IAAA,MAAM,WAAW,GAA2B;AAC1C,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI,GAAG,IAAI;AACjB,QAAA,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;AACxB,QAAA,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;KAChC;AAED,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD;AAEO,eAAe,UAAU,CAAC,GAAoB,EAAE,QAAgB,EAAE,OAAe,EAAA;;IAEtF,MAAM,MAAM,GAAa,EAAE;IAC3B,IAAI,SAAS,GAAG,CAAC;AACjB,IAAA,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;AAEvC,IAAA,WAAW,MAAM,KAAK,IAAI,GAAG,EAAE;AAC7B,QAAA,SAAS,IAAI,KAAK,CAAC,MAAM;AACzB,QAAA,IAAI,SAAS,GAAG,YAAY,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAA,CAAE,CAAC;QACvE;AACA,QAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB;IAEA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,IAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAA0B,CAAC;AAClD;;AChCA;AACA;AAEA;AACA,MAAM,oBAAoB,GAAG,KAAK;AAElC;;;AAGG;AACI,eAAe,gBAAgB,CAAC,MAAkB,EAAE,UAAe,EAAE,GAAoB,EAAE,UAAoB,EAAA;AACpH,IAAA,UAAU,GAAG,UAAU,IAAI,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;;AAG9D,IAAA,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC;;AAG5F,IAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,QAAA,OAAO,EAAE;IACX;;IAGA,MAAM,QAAQ,GAAG,MAAMC,uBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;AAElE,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAIC,yBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;AACvC,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,QAAA,EAAW,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA,wCAAA,CAA0C,CAAC;IAC7G;AAEA,IAAA,OAAO,QAAQ;AACjB;AAEO,eAAe,SAAS,CAAC,GAAoB,EAAE,MAAc,EAAA;AAClE,IAAA,IAAI;QACF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;QAEtC,IAAI,QAAQ,GAAG,OAAO;QACtB,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAGC,sBAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO;QACnD;QACA,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC;AAClE,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC;AACtC,QAAA,OAAO,SAAS;IAClB;AACF;;ACnDA;;;AAGG;AACI,eAAe,gBAAgB,CACpC,MAAkB,EAClB,WAAgB,EAChB,OAAgB,EAAA;;IAGhB,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;;IAGhE,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC;AACjE;;ACbA;;;AAGG;AACG,SAAU,wBAAwB,CAAC,UAAsB,EAAA;;AAE7D,IAAA,MAAM,YAAY,GAAG,gCAAgC,CAAC,UAAU,CAAC;IAEjE,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,IAAI;IACb;;AAGA,IAAA,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;QACrC,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,OAAO,EAAE,YAAY,CAAC;AACvB,KAAA,CAAC;AACJ;AAEM,SAAU,6BAA6B,CAAC,QAA0C,EAAA;IACtF,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC5C,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE;AACjB;AACF,KAAA,CAAC;AACJ;AAEM,SAAU,iBAAiB,CAAC,QAA0C,EAAA;IAC1E,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC5C,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE;AACjB;AACF,KAAA,CAAC;AACJ;;AC3CA;;;AAGG;AACI,eAAe,sBAAsB,CAC1C,MAAkB,EAClB,OAAgB,EAAA;IAEhB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AAEvC,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;QACjC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;AAGnC,QAAA,OAAO,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAqB;IACjG;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;AAC3G,QAAA,OAAO,EAAE;IACX;AACF;;ACtBA;AACA;AACA,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG5B;AAEJ;AACA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;AAEvC;;;AAGG;AACH,eAAe,4BAA4B,CACzC,MAAkB,EAClB,IAAY,EACZ,MAAiB,EACjB,QAAkB,EAAA;AAElB,IAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7C,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;;AAGtB,IAAA,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,iBAAiB,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,2CAAA,EAA8C,IAAI,CAAA,CAAE,CAAC;QACzE,OAAO,MAAM,CAAC,YAAY;IAC5B;;IAGA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,uCAAA,EAA0C,IAAI,CAAA,CAAE,CAAC;AAErE,IAAA,MAAM,aAAa,GAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE;AACzD,IAAA,IAAI,gBAAkC;AAEtC,IAAA,IAAI,cAAc,IAAI,MAAM,CAAC,kBAAkB,IAAI,OAAO,MAAM,CAAC,kBAAkB,CAAC,YAAY,KAAK,UAAU,EAAE;AAC/G,QAAA,gBAAgB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;IACtF;SAAO;;AAEL,QAAA,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC;AACtF,QAAA,gBAAgB,GAAG,CAAC,aAAa,CAAC;IACpC;;AAGA,IAAA,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE;AAC7B,QAAA,YAAY,EAAE,gBAAgB;AAC9B,QAAA,SAAS,EAAE;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,OAAA,EAAU,gBAAgB,CAAC,MAAM,CAAA,+BAAA,EAAkC,IAAI,CAAA,CAAE,CAAC;AAC9F,IAAA,OAAO,gBAAgB;AACzB;AAEO,eAAe,cAAc,CAAC,aAAmC,EAAA;AACtE,IAAA,MAAM,MAAM,GAAG,aAAa,EAAE;IAC9B,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;IACpC;AACA,IAAA,MAAM,IAAI,GAAG,aAAa,EAAE;IAC5B,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;AACpC,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IAClC;;AAGA,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK;UAClG,MAAM,CAAC;AACT,UAAE,aAAa,CAAC,KAAK;;AAGvB,IAAA,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CACzD,MAAM,EACN,IAAI,EACJ,aAAa,EACb,MAAM,CAAC,QAAQ,CAChB;;AAGD,IAAA,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,KAAK;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,CAAC,WAAW;AACzB,YAAA,MAAM,EAAE,aAAa,CAAC,KAAK;AAC5B,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B;AAED,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,SAAA,EAAY,aAAa,CAAC,KAAK,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,4BAA4B,IAAI,CAAA,CAAE,CAAC;IAEvH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;AAChE,IAAA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC1B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,QAAA,EAAW,aAAa,CAAC,KAAK,CAAA,YAAA,EAAe,IAAI,CAAA,CAAE,CAAC;QACvE;IACF;IAEA,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,oBAAoB,IAAI;IACtE,IAAI,iBAAiB,EAAE;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,0BAAA,EAA6B,iBAAiB,CAAA,CAAE,CAAC;QACpE,MAAMC,2BAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,aAAa,CAAC;IAC7E;;AAGA,IAAA,MAAM,cAAc,GAAG;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,KAAK;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,MAAM,EAAE,aAAa;AACtB,SAAA,CAAC;KACH;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IACjF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,SAAS,CAAA,CAAE,CAAC;IAC1D,MAAMA,2BAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;AACrE;;MC1Ga,uBAAuB,CAAA;IAClC,WAAA,CACmB,OAAe,EACf,OAAgB,EAAA;QADhB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;IACvB;AAEH,IAAA,MAAM,WAAW,CAAC,cAA6B,EAAE,aAAqB,EAAA;QACpE,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,OAAO,EAAE,IAAI,CAAC;SACf;IACH;AAEA,IAAA,MAAM,YAAY,CAAC,aAA4B,EAAE,YAAoB,EAAA;;QAEnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC;IACf;AACD;AAED,SAAS,qBAAqB,CAAC,gBAAwB,EAAA;AACrD,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC;AACrC,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAAmB;AACtC,IAAA,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;IAC5D,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;IACvF;AACA,IAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;AAC1B;MAEa,sBAAsB,CAAA;IAMjC,WAAA,CAAY,gBAAwB,EAAE,IAA+C,EAAA;QACnF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,CAAC;AACjE,QAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAIC,oBAAa,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAC3F;AAEA,IAAA,MAAM,WAAW,CAAC,aAA4B,EAAE,YAAoB,EAAA;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,uCAAA,EAA0C,YAAY,aAAa,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,aAAa,CAAC,QAAQ,CAAA,CAAE,CAAC;QAEjJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAA,YAAA,CAAc,CAAC;QAC3D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AAClD,QAAA,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;;AAE/D,QAAA,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC1D;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;AAClD,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE;AACP,gBAAA,QAAQ,EAAE,kBAAkB;AAC7B,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAA,CAAE,CAAC;AAC3F,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,6CAAA,EAAgD,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC;QACnH;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmE;AACnG,QAAA,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC;AAC5D,YAAA,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC;QACpF;AAEA,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO;QACxC,IAAI,CAAC,mBAAmB,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC;AACxD,YAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;QAChF;;;AAIA,QAAA,IAAI,OAAgB;QACpB,QAAQ,mBAAmB;AACzB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,GAAG,MAAM,CAAC;gBACjB;AACF,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,GAAG,MAAM,CAAC;gBACjB;AACF,YAAA,KAAK,cAAc;gBACjB,OAAO,GAAG,cAAc;gBACxB;AACF,YAAA,KAAK,eAAe;gBAClB,OAAO,GAAG,eAAe;gBACzB;AACF,YAAA,KAAK,QAAQ;gBACX,OAAO,GAAG,QAAQ;gBAClB;AACF,YAAA;gBACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,iBAAA,EAAoB,mBAAmB,CAAA,oBAAA,CAAsB,CAAC;gBAC/E,OAAO,GAAG,MAAM;;AAGpB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,sCAAA,EAAyC,IAAI,CAAC,WAAW,CAAA,IAAA,EAAO,OAAO,CAAA,CAAE,CAAC;QAC5F,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B;SACD;IACH;AAEA,IAAA,MAAM,YAAY,CAAC,aAA4B,EAAE,YAAoB,EAAA;QACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,wCAAA,EAA2C,YAAY,aAAa,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,aAAa,CAAC,QAAQ,CAAA,CAAE,CAAC;QAElJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAA,UAAA,CAAY,CAAC;;AAGzD,QAAA,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC1D;;AAGA,QAAA,MAAM,UAAU,GAAG,CAAA,MAAA,EAAS,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAE9E,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;AAClD,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE;AACP,gBAAA,eAAe,EAAE,UAAU;AAC3B,gBAAA,QAAQ,EAAE,kBAAkB;AAC7B,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAA,CAAE,CAAC;AACzF,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,2CAAA,EAA8C,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC;QACjH;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAsE;AACtG,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC;AAC5D,YAAA,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC;QACpF;QAEA,MAAM,SAAS,GAAqB,EAAE;AACtC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACvB,YAAA,MAAM,eAAe,GAAG,IAAI,EAAE,OAAO;YACrC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,EAAE;AACtC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC;gBAClD;YACF;;AAGA,YAAA,IAAI,OAAgB;YACpB,QAAQ,eAAe;AACrB,gBAAA,KAAK,UAAU;AACb,oBAAA,OAAO,GAAG,MAAM,CAAC;oBACjB;AACF,gBAAA,KAAK,MAAM;AACX,gBAAA,KAAK,cAAc;AACnB,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,eAAe;AACpB,gBAAA,KAAK,QAAQ;oBACX,OAAO,GAAG,eAAe;oBACzB;AACF,gBAAA;oBACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,iBAAA,EAAoB,eAAe,CAAA,UAAA,CAAY,CAAC;oBACjE;;YAGJ,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,OAAO;gBACzB;AACD,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;QACxE;QAEA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAC,MAAM,CAAA,qBAAA,CAAuB,CAAC;AAC9E,QAAA,OAAO,SAAS;IAClB;AACD;;AC5MD;;;;;;;;;;;;AAYG;MACU,iBAAiB,CAAA;IAC5B,WAAA,CACmB,MAA8B,EAC9B,MAAc,EACd,OAAA,GAAqB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;QAF3C,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,OAAO,GAAP,OAAO;AAG1B,QAAA,IAAA,CAAA,MAAM,GAAG,OAAM,aAAqB,KAA6B;AAC/D,YAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;AAC/E,YAAA,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAA+B;AACrE,YAAA,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE;gBACjC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAC;YAC/C;AAAO,iBAAA,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE;gBACxC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAC;YAChD;iBAAO;AACL,gBAAA,MAAM,GAAG,GAAG,CAAA,uBAAA,EAA0B,cAAc,CAAC,MAAM,4CAA4C;AACvG,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;AAC3D,gBAAA,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;YACtB;AACF,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,oBAAoB,GAAG,OAAM,MAAc,KAAqB;AAC9D,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC;AAC3E,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmB;AACnD,YAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,4DAAA,EAA+D,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;AAClG,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,CAAA,4DAAA,EAA+D,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;YACnG;AACA,YAAA,IAAG,CAAC,IAAI,CAAC,EAAE,EAAE;AACX,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,oDAAA,CAAsD,CAAC;YACzE;YACA,OAAO,IAAI,CAAC,EAAE;AAChB,QAAA,CAAC;AAED;;;;;;;;;;;;;;;;AAgBG;QACO,IAAA,CAAA,WAAW,GAAG,OAAM,MAAsB,EAAE,IAAY,EAAE,IAAa,KAAuB;YACtG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,MAAM;AACN,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE;AACjB,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AAC1B,aAAA,CAAC;AACF,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC;IA1DD;AA2DD;;ACtEM,MAAM,cAAc,GAAkE;AAC3F,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,QAAQ,EAAE,MAAe;AACzB,IAAA,MAAM,EAAEC,mCAA4B;AACpC,IAAA,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;;AAGV,SAAU,iBAAiB,CAAC,IAAc,EAAA;AAC9C,IAAA,IAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,QAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;IACnD;;AAGA,IAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;AAC/D,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACvD;;AAGA,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,GAAG,cAAc;AACjB,QAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;KAClD;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,IAAIC,oBAAa,EAAE;IAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,IAAIC,0BAAmB,CAAC;AACtE,QAAA,EAAE,EAAE,OAAO;QACX,qBAAqB,EAAE,YAAY,CAAC,SAAS;QAC7C,UAAU,EAAE,YAAY,CAAC,SAAS;AACnC,KAAA,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,IAAIH,oBAAa,EAAE;AACzD,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAEtG,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAC;AAC5D,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD;;AC5CM,SAAU,OAAO,CAAC,GAAQ,EAAA;AAC9B,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACjD,IAAA,OAAO,QAAQ;AACjB;AAEA,SAAS,sBAAsB,CAAC,OAAsD,EAAE,eAAuB,EAAA;;IAE7G,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC;IACnF,IAAI,cAAc,EAAE;AAClB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc;QAChF,OAAO,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO;IAC/C;;IAGA,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAC5F,IAAI,iBAAiB,EAAE;AACrB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB;QACzF,OAAO,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO;IAC/C;;AAGA,IAAA,OAAO,eAAe;AACxB;SAEgB,WAAW,CAAC,MAAkB,EAAE,UAAe,EAAE,OAAuD,EAAA;AACtH,IAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,QAAA,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;IACjC;IAEA,MAAM,gBAAgB,GAAG,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ;AAC7G,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,GAAG,gBAAgB,GAAG,QAAQ;AAC/D,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAA,EAAG,UAAU,CAAC,QAAQ,CAAA,CAAE,CAAC;AAE5E,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;;AAE7B,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAErG,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAA,EAAG,YAAY,CAAA,CAAE,CAAC;AAC1E,IAAA,OAAO,QAAQ;AACjB;;ACrCO,eAAe,gBAAgB,CAAC,MAAkB,EAAE,UAAe,EAAA;AACxE,IAAA,IAAI,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;AAC9C,QAAA,IAAI;AACF,YAAA,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9F,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;gBACzD,wBAAwB,EAAE,UAAU,CAAC,wBAAwB;gBAC7D,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;gBACvD,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,qCAAqC,EAAE,UAAU,CAAC,qCAAqC;gBACvF,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;gBACvD,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;gBACnD,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;gBACzD,6CAA6C,EAAE,UAAU,CAAC,6CAA6C;gBACvG,gCAAgC,EAAE,UAAU,CAAC,gCAAgC;gBAC7E,gBAAgB,EAAE,UAAU,CAAC;aAC9B;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,uDAAA,EAA0D,MAAM,CAAC,MAAM,CAAA,EAAA,EAAK,KAAK,CAAA,CAAE,CAAC;AACxG,YAAA,MAAM,KAAK;QACb;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,sBAAsB,CAAC,MAAkB,EAAE,UAAe,EAAA;AACjE,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACnD,OAAO,IAAI,KAAK,yCAAyC;AAC3D;;SC/BgB,4BAA4B,CAAC,MAAkB,EAAE,UAAe,EAAE,OAAuD,EAAA;IACvI,IAAI,kCAAkC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;QACzD,OAAO;YACL,QAAQ;YACR,aAAa,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACtD,YAAA,qBAAqB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;AACpC,YAAA,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACpC;IACH;AACA,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,kCAAkC,CAAC,MAAkB,EAAE,UAAe,EAAE,OAAuD,EAAA;AACtI,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE;AAC7D,QAAA,OAAO,KAAK;IACd;IACA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AACzD,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AACtC,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACrD,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,YAAY,KAAK,CAAA,EAAG,SAAS,CAAA,QAAA,CAAU,EAAE;AAC3C,QAAA,OAAO,IAAI;IACb;AACA,IAAA,OAAO,KAAK;AACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/atxpContext.ts","../src/core/token.ts","../src/core/oauth.ts","../src/core/mcp.ts","../src/node/token.ts","../src/node/oauth.ts","../src/node/getRawBody.ts","../src/node/http.ts","../src/webapi/token.ts","../src/webapi/oauth.ts","../src/webapi/mcp.ts","../src/requirePayment.ts","../src/paymentDestination.ts","../src/paymentServer.ts","../src/serverConfig.ts","../src/getResource.ts","../src/oAuthMetadata.ts","../src/protectedResourceMetadata.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TokenProblem","AsyncLocalStorage","sendProtectedResourceMetadata","sendOAuthMetadata","parseMcpMessages","isJSONRPCRequest","contentType","paymentRequiredError","ConsoleLogger","DEFAULT_AUTHORIZATION_SERVER","MemoryOAuthDb","OAuthResourceClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqDYA;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPWA,oBAAY,KAAZA,oBAAY,GAAA,EAAA,CAAA,CAAA;;ACjDxB,MAAM,cAAc,GAAG,IAAIC,6BAAiB,EAAsB;SAQlD,aAAa,GAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,MAAM,IAAI,IAAI;AAChC;SAEgB,eAAe,GAAA;AAC7B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,QAAQ,IAAI,IAAI;AAClC;AAEA;SACgB,aAAa,GAAA;AAC3B,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;AACzC,IAAA,OAAO,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI;AACxC;AAEA;AACO,eAAe,eAAe,CAAC,MAAkB,EAAE,QAAa,EAAE,SAAoD,EAAE,IAAgB,EAAA;AAC7I,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,wBAAA,EAA2B,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,CAAA,CAAE,CAAC;IAEhF,IAAG,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;AACnC,QAAA,IAAG,SAAS,CAAC,KAAK,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,SAAS,CAAC,KAAM;AAC7B,gBAAA,WAAW,EAAE;aACd;;;AAGD,YAAA,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC;QACtE;aAAO;AACL,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,qJAAA,CAAuJ,CAAC;AAC3K,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;QACtE;IACF;AAEA,IAAA,MAAM,GAAG,GAAG;AACV,QAAA,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI;QAClC,MAAM;QACN;KACD;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AACtC;;ACnDA;;;AAGG;AACI,eAAe,cAAc,CAClC,MAAkB,EAClB,WAAgB,EAChB,mBAAkC,EAAA;AAElC,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACrC,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI;AAC7B,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ;IACrC,MAAM,4BAA4B,GAAG,CAAA,EAAG,QAAQ,KAAK,IAAI,CAAA,qCAAA,EAAwC,QAAQ,CAAA,CAAE;AAE3G,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,MAAM,EAAE,KAAc;AACtB,QAAA,mBAAmB,EAAE,4BAA4B;KAClD;;IAGD,IAAI,CAAC,mBAAmB,EAAE;AACxB,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAED,oBAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;IAC9E;IACA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC9C,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAEA,oBAAY,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;IAC5F;IAEA,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AAE9C,IAAA,IAAI;AACF,QAAA,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;AAE1F,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;AAC/B,YAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAEA,oBAAY,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;QAC7E;QAEA,OAAO;AACL,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,IAAI,EAAE,mBAAmB;YACzB,KAAK;SACN;IACH;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,KAAK,CAAA,CAAE,CAAC;AACjE,QAAA,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAEA,oBAAY,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;IAChF;AACF;;AC7CA;;;AAGG;AACG,SAAU,gCAAgC,CAAC,UAAsB,EAAA;AAKrE,IAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,QAAA,OAAO,IAAI;IACb;IAEA,IAAI,MAAM,GAAG,GAAG;IAChB,IAAI,IAAI,GAAkE,EAAE;;AAG5E,IAAA,QAAQ,UAAU,CAAC,OAAO;QACxB,KAAKA,oBAAY,CAAC,QAAQ;YACxB;QACF,KAAKA,oBAAY,CAAC,sBAAsB;YACtC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qDAAqD,EAAE;YAC7G;QACF,KAAKA,oBAAY,CAAC,aAAa;YAC7B,IAAI,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;YAC3E;QACF,KAAKA,oBAAY,CAAC,gBAAgB;YAChC,IAAI,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,4CAA4C,EAAE;YAClG;QACF,KAAKA,oBAAY,CAAC,oBAAoB;YACpC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;YACjF;QACF,KAAKA,oBAAY,CAAC,gBAAgB;YAChC,MAAM,GAAG,GAAG;YACZ,IAAI,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,mCAAmC,EAAE;YACxF;;AAMJ,IAAA,MAAM,eAAe,GAAG,CAAA,0BAAA,EAA6B,UAAU,CAAC,mBAAmB,GAAG;IAEtF,OAAO;QACL,MAAM;AACN,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;KAC1B;AACH;;ACrDA;;;AAGG;AACG,SAAU,oBAAoB,CAClC,MAAkB,EAClB,UAAe,EACf,MAAc,EACd,UAAmB,EAAA;IAEnB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;AAC9C,QAAA,OAAO,EAAE;IACX;;;AAIA,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,CAAA,EAAG,SAAS,CAAA,QAAA,CAAU,EAAE;QACzD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAA,gCAAA,EAAmC,SAAS,CAAA,0BAAA,CAA4B,CAAC;AAClH,QAAA,OAAO,EAAE;IACX;IAEA,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACjD,QAAA,OAAO,EAAE;IACX;;AAGA,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;;AAE7B,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,IAC1B,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAC9B,GAAG,CAAC,OAAO,KAAK,KAAK;AACrB,YAAA,GAAG,CAAC,MAAM;AACV,YAAA,GAAG,CAAC,EAAE,KAAK,SAAS,CACrB;IACH;SAAO;;QAEL,MAAM,IAAI,GAAG,UAA+D;AAC5E,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;YAClE,OAAO,CAAC,IAAI,CAAC;QACf;IACF;AAEA,IAAA,OAAO,EAAE;AACX;;AC3CA;;;AAGG;AACI,eAAe,UAAU,CAAC,MAAkB,EAAE,WAAgB,EAAE,GAAoB,EAAA;;IAEzF,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;;IAG7D,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC;AACjE;;ACTA;;;AAGG;AACG,SAAU,kBAAkB,CAAC,GAAmB,EAAE,UAAsB,EAAA;;AAE5E,IAAA,MAAM,YAAY,GAAG,gCAAgC,CAAC,UAAU,CAAC;IAEjE,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;;AAGA,IAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC5D,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3B,IAAA,CAAC,CAAC;AACF,IAAA,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;AAClC,IAAA,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;AAE1B,IAAA,OAAO,IAAI;AACb;AAEM,SAAUE,+BAA6B,CAAC,GAAmB,EAAE,QAA0C,EAAA;IAC3G,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,KAAK;IACd;AACA,IAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,IAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;IAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,IAAA,OAAO,IAAI;AACb;AAEM,SAAUC,mBAAiB,CAAC,GAAmB,EAAE,QAA0C,EAAA;IAC/F,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,KAAK;IACd;AACA,IAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,IAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;IAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,IAAA,OAAO,IAAI;AACb;;AC3CA;AACA,SAAS,SAAS,CAAC,IAAY,EAAA;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAA,CAAE,CAAC;IACjD;IAEA,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,IAAA,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE;AAE5C,IAAA,MAAM,WAAW,GAA2B;AAC1C,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI,GAAG,IAAI;AACjB,QAAA,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;AACxB,QAAA,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;KAChC;AAED,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD;AAEO,eAAe,UAAU,CAAC,GAAoB,EAAE,QAAgB,EAAE,OAAe,EAAA;;IAEtF,MAAM,MAAM,GAAa,EAAE;IAC3B,IAAI,SAAS,GAAG,CAAC;AACjB,IAAA,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;AAEvC,IAAA,WAAW,MAAM,KAAK,IAAI,GAAG,EAAE;AAC7B,QAAA,SAAS,IAAI,KAAK,CAAC,MAAM;AACzB,QAAA,IAAI,SAAS,GAAG,YAAY,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAA,CAAE,CAAC;QACvE;AACA,QAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB;IAEA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,IAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAA0B,CAAC;AAClD;;AChCA;AACA;AAEA;AACA,MAAM,oBAAoB,GAAG,KAAK;AAElC;;;AAGG;AACI,eAAe,gBAAgB,CAAC,MAAkB,EAAE,UAAe,EAAE,GAAoB,EAAE,UAAoB,EAAA;AACpH,IAAA,UAAU,GAAG,UAAU,IAAI,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;;AAG9D,IAAA,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC;;AAG5F,IAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,QAAA,OAAO,EAAE;IACX;;IAGA,MAAM,QAAQ,GAAG,MAAMC,uBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;AAElE,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAIC,yBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;AACvC,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,QAAA,EAAW,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA,wCAAA,CAA0C,CAAC;IAC7G;AAEA,IAAA,OAAO,QAAQ;AACjB;AAEO,eAAe,SAAS,CAAC,GAAoB,EAAE,MAAc,EAAA;AAClE,IAAA,IAAI;QACF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;QAEtC,IAAI,QAAQ,GAAG,OAAO;QACtB,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAGC,sBAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO;QACnD;QACA,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC;AAClE,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC;AACtC,QAAA,OAAO,SAAS;IAClB;AACF;;ACnDA;;;AAGG;AACI,eAAe,gBAAgB,CACpC,MAAkB,EAClB,WAAgB,EAChB,OAAgB,EAAA;;IAGhB,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;;IAGhE,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC;AACjE;;ACbA;;;AAGG;AACG,SAAU,wBAAwB,CAAC,UAAsB,EAAA;;AAE7D,IAAA,MAAM,YAAY,GAAG,gCAAgC,CAAC,UAAU,CAAC;IAEjE,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,IAAI;IACb;;AAGA,IAAA,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;QACrC,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,OAAO,EAAE,YAAY,CAAC;AACvB,KAAA,CAAC;AACJ;AAEM,SAAU,6BAA6B,CAAC,QAA0C,EAAA;IACtF,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC5C,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE;AACjB;AACF,KAAA,CAAC;AACJ;AAEM,SAAU,iBAAiB,CAAC,QAA0C,EAAA;IAC1E,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC5C,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE;AACjB;AACF,KAAA,CAAC;AACJ;;AC3CA;;;AAGG;AACI,eAAe,sBAAsB,CAC1C,MAAkB,EAClB,OAAgB,EAAA;IAEhB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AAEvC,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;QACjC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;AAGnC,QAAA,OAAO,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAqB;IACjG;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;AAC3G,QAAA,OAAO,EAAE;IACX;AACF;;ACtBA;;;AAGG;AACH,eAAe,sBAAsB,CACnC,MAAkB,EAClB,IAAY,EACZ,MAAiB,EACjB,QAAkB,EAAA;AAElB,IAAA,MAAM,aAAa,GAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE;IACzD,OAAO,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,aAAa,CAAC;AACpE;AAEO,eAAe,cAAc,CAAC,aAAmC,EAAA;AACtE,IAAA,MAAM,MAAM,GAAG,aAAa,EAAE;IAC9B,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;IACpC;AACA,IAAA,MAAM,IAAI,GAAG,aAAa,EAAE;IAC5B,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;AACpC,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IAClC;;AAGA,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK;UAClG,MAAM,CAAC;AACT,UAAE,aAAa,CAAC,KAAK;;AAGvB,IAAA,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CACnD,MAAM,EACN,IAAI,EACJ,aAAa,EACb,MAAM,CAAC,QAAQ,CAChB;;AAGD,IAAA,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,KAAK;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,CAAC,WAAW;AACzB,YAAA,MAAM,EAAE,aAAa,CAAC,KAAK;AAC5B,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B;AAED,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,SAAA,EAAY,aAAa,CAAC,KAAK,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,4BAA4B,IAAI,CAAA,CAAE,CAAC;IAEvH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;AAChE,IAAA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC1B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,QAAA,EAAW,aAAa,CAAC,KAAK,CAAA,YAAA,EAAe,IAAI,CAAA,CAAE,CAAC;QACvE;IACF;IAEA,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,oBAAoB,IAAI;IACtE,IAAI,iBAAiB,EAAE;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,0BAAA,EAA6B,iBAAiB,CAAA,CAAE,CAAC;QACpE,MAAMC,2BAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,aAAa,CAAC;IAC7E;;AAGA,IAAA,MAAM,cAAc,GAAG;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,KAAK;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,MAAM,EAAE,aAAa;AACtB,SAAA,CAAC;KACH;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IACjF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,SAAS,CAAA,CAAE,CAAC;IAC1D,MAAMA,2BAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;AACrE;;MCpEa,uBAAuB,CAAA;IAClC,WAAA,CACmB,OAAe,EACf,OAAgB,EAAA;QADhB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;IACvB;IAEH,MAAM,YAAY,CAAC,cAA6B,EAAA;AAC9C,QAAA,OAAO,CAAC;gBACN,WAAW,EAAE,IAAI,CAAC,OAAO;gBACzB,OAAO,EAAE,IAAI,CAAC;AACf,aAAA,CAAC;IACJ;AACD;AAED,SAAS,qBAAqB,CAAC,gBAAwB,EAAA;AACrD,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC;AACrC,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAAmB;AACtC,IAAA,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;IAC5D,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;IACvF;AACA,IAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;AAC1B;MAEa,sBAAsB,CAAA;IAMjC,WAAA,CAAY,gBAAwB,EAAE,IAA+C,EAAA;QACnF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,CAAC;AACjE,QAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAIC,oBAAa,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAC3F;IAEA,MAAM,YAAY,CAAC,aAA4B,EAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,wCAAA,EAA2C,aAAa,CAAC,QAAQ,CAAA,CAAE,CAAC;QAEtF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAA,UAAA,CAAY,CAAC;;AAGzD,QAAA,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC1D;;AAGA,QAAA,MAAM,UAAU,GAAG,CAAA,MAAA,EAAS,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAE9E,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;AAClD,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE;AACP,gBAAA,eAAe,EAAE,UAAU;AAC3B,gBAAA,QAAQ,EAAE,kBAAkB;AAC7B,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAA,CAAE,CAAC;AACzF,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,2CAAA,EAA8C,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC;QACjH;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAsE;AACtG,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC;AAC5D,YAAA,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC;QACpF;QAEA,MAAM,SAAS,GAAqB,EAAE;AACtC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACvB,YAAA,MAAM,eAAe,GAAG,IAAI,EAAE,OAAO;YACrC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,EAAE;AACtC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC;gBAClD;YACF;;AAGA,YAAA,IAAI,OAAgB;YACpB,QAAQ,eAAe;AACrB,gBAAA,KAAK,UAAU;AACb,oBAAA,OAAO,GAAG,MAAM,CAAC;oBACjB;AACF,gBAAA,KAAK,MAAM;AACX,gBAAA,KAAK,cAAc;AACnB,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,eAAe;AACpB,gBAAA,KAAK,QAAQ;AACb,gBAAA,KAAK,WAAW;AAChB,gBAAA,KAAK,mBAAmB;oBACtB,OAAO,GAAG,eAAe;oBACzB;AACF,gBAAA;oBACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,iBAAA,EAAoB,eAAe,CAAA,UAAA,CAAY,CAAC;oBACjE;;YAGJ,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,OAAO;gBACzB;AACD,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;QACxE;QAEA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAC,MAAM,CAAA,qBAAA,CAAuB,CAAC;AAC9E,QAAA,OAAO,SAAS;IAClB;AACD;;AChID;;;;;;;;;;;;AAYG;MACU,iBAAiB,CAAA;IAC5B,WAAA,CACmB,MAA8B,EAC9B,MAAc,EACd,OAAA,GAAqB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;QAF3C,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,OAAO,GAAP,OAAO;AAG1B,QAAA,IAAA,CAAA,MAAM,GAAG,OAAM,aAAqB,KAA6B;AAC/D,YAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;AAC/E,YAAA,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAA+B;AACrE,YAAA,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE;gBACjC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAC;YAC/C;AAAO,iBAAA,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE;gBACxC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAC;YAChD;iBAAO;AACL,gBAAA,MAAM,GAAG,GAAG,CAAA,uBAAA,EAA0B,cAAc,CAAC,MAAM,4CAA4C;AACvG,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;AAC3D,gBAAA,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;YACtB;AACF,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,oBAAoB,GAAG,OAAM,MAAc,KAAqB;AAC9D,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC;AAC3E,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmB;AACnD,YAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,4DAAA,EAA+D,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;AAClG,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,CAAA,4DAAA,EAA+D,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;YACnG;AACA,YAAA,IAAG,CAAC,IAAI,CAAC,EAAE,EAAE;AACX,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,oDAAA,CAAsD,CAAC;YACzE;YACA,OAAO,IAAI,CAAC,EAAE;AAChB,QAAA,CAAC;AAED;;;;;;;;;;;;;;;;AAgBG;QACO,IAAA,CAAA,WAAW,GAAG,OAAM,MAAsB,EAAE,IAAY,EAAE,IAAa,KAAuB;YACtG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,MAAM;AACN,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE;AACjB,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AAC1B,aAAA,CAAC;AACF,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC;IA1DD;AA2DD;;ACtEM,MAAM,cAAc,GAAkE;AAC3F,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,QAAQ,EAAE,MAAe;AACzB,IAAA,MAAM,EAAEC,mCAA4B;AACpC,IAAA,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;;AAGV,SAAU,iBAAiB,CAAC,IAAc,EAAA;AAC9C,IAAA,IAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,QAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;IACnD;;AAGA,IAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;AAC/D,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACvD;;AAGA,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,GAAG,cAAc;AACjB,QAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;KAClD;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE;IAChD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,IAAIC,oBAAa,EAAE;IAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,IAAIC,0BAAmB,CAAC;AACtE,QAAA,EAAE,EAAE,OAAO;QACX,qBAAqB,EAAE,YAAY,CAAC,SAAS;QAC7C,UAAU,EAAE,YAAY,CAAC,SAAS;AACnC,KAAA,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,IAAIH,oBAAa,EAAE;AACzD,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAEtG,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAC;AAC5D,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD;;AC5CM,SAAU,OAAO,CAAC,GAAQ,EAAA;AAC9B,IAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACjD,IAAA,OAAO,QAAQ;AACjB;AAEA,SAAS,sBAAsB,CAAC,OAAsD,EAAE,eAAuB,EAAA;;IAE7G,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC;IACnF,IAAI,cAAc,EAAE;AAClB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc;QAChF,OAAO,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO;IAC/C;;IAGA,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAC5F,IAAI,iBAAiB,EAAE;AACrB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB;QACzF,OAAO,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO;IAC/C;;AAGA,IAAA,OAAO,eAAe;AACxB;SAEgB,WAAW,CAAC,MAAkB,EAAE,UAAe,EAAE,OAAuD,EAAA;AACtH,IAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,QAAA,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;IACjC;IAEA,MAAM,gBAAgB,GAAG,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ;AAC7G,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,GAAG,gBAAgB,GAAG,QAAQ;AAC/D,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAA,EAAG,UAAU,CAAC,QAAQ,CAAA,CAAE,CAAC;AAE5E,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;;AAE7B,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAErG,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,UAAU,CAAC,IAAI,CAAA,EAAG,YAAY,CAAA,CAAE,CAAC;AAC1E,IAAA,OAAO,QAAQ;AACjB;;ACrCO,eAAe,gBAAgB,CAAC,MAAkB,EAAE,UAAe,EAAA;AACxE,IAAA,IAAI,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;AAC9C,QAAA,IAAI;AACF,YAAA,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9F,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;gBACzD,wBAAwB,EAAE,UAAU,CAAC,wBAAwB;gBAC7D,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;gBACvD,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,qCAAqC,EAAE,UAAU,CAAC,qCAAqC;gBACvF,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;gBACvD,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;gBACnD,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;gBACzD,6CAA6C,EAAE,UAAU,CAAC,6CAA6C;gBACvG,gCAAgC,EAAE,UAAU,CAAC,gCAAgC;gBAC7E,gBAAgB,EAAE,UAAU,CAAC;aAC9B;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,uDAAA,EAA0D,MAAM,CAAC,MAAM,CAAA,EAAA,EAAK,KAAK,CAAA,CAAE,CAAC;AACxG,YAAA,MAAM,KAAK;QACb;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,sBAAsB,CAAC,MAAkB,EAAE,UAAe,EAAA;AACjE,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACnD,OAAO,IAAI,KAAK,yCAAyC;AAC3D;;SC/BgB,4BAA4B,CAAC,MAAkB,EAAE,UAAe,EAAE,OAAuD,EAAA;IACvI,IAAI,kCAAkC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;QACzD,OAAO;YACL,QAAQ;YACR,aAAa,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACtD,YAAA,qBAAqB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;AACpC,YAAA,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACpC;IACH;AACA,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,kCAAkC,CAAC,MAAkB,EAAE,UAAe,EAAE,OAAuD,EAAA;AACtI,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE;AAC7D,QAAA,OAAO,KAAK;IACd;IACA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AACzD,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AACtC,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACrD,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,YAAY,KAAK,CAAA,EAAG,SAAS,CAAA,QAAA,CAAU,EAAE;AAC3C,QAAA,OAAO,IAAI;IACb;AACA,IAAA,OAAO,KAAK;AACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -14,15 +14,13 @@ type PaymentAddress = {
14
14
  network: Network;
15
15
  };
16
16
  interface PaymentDestination {
17
- destination(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress>;
18
- destinations?(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
17
+ destinations(fundingAmount: FundingAmount): Promise<PaymentAddress[]>;
19
18
  }
20
19
  declare class ChainPaymentDestination implements PaymentDestination {
21
20
  private readonly address;
22
21
  private readonly network;
23
22
  constructor(address: string, network: Network);
24
- destination(_fundingAmount: FundingAmount, _buyerAddress: string): Promise<PaymentAddress>;
25
- destinations(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
23
+ destinations(_fundingAmount: FundingAmount): Promise<PaymentAddress[]>;
26
24
  }
27
25
  declare class ATXPPaymentDestination implements PaymentDestination {
28
26
  private accountServerURL;
@@ -33,8 +31,7 @@ declare class ATXPPaymentDestination implements PaymentDestination {
33
31
  fetchFn?: FetchLike;
34
32
  logger?: Logger;
35
33
  });
36
- destination(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress>;
37
- destinations(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
34
+ destinations(fundingAmount: FundingAmount): Promise<PaymentAddress[]>;
38
35
  }
39
36
 
40
37
  type McpMethod = 'notifications/cancelled' | 'initialize' | 'ping' | 'notifications/progress' | 'resources/list' | 'resources/templates/list' | 'resources/read' | 'notifications/resources/list_changed' | 'resources/subscribe' | 'resources/unsubscribe' | 'notifications/resources/updated' | 'prompts/list' | 'prompts/get' | 'notifications/prompts/list_changed' | 'tools/list' | 'tools/call' | 'notifications/tools/list_changed' | 'logging/setLevel' | 'notifications/message' | 'sampling/createMessage' | 'elicitation/create' | 'completion/complete' | 'roots/list' | 'notifications/roots/list_changed';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,kBAAkB,EAClB,gBAAgB,IAAI,oBAAoB,EACxC,SAAS,IAAI,aAAa,EAC1B,6BAA6B,IAAI,iCAAiC,EAClE,iBAAiB,IAAI,qBAAqB,GAC3C,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,mCAAmC,EACnC,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,KAAK,QAAQ,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC"}
package/dist/index.js CHANGED
@@ -365,43 +365,13 @@ async function parseMcpRequestsWebApi(config, request) {
365
365
  }
366
366
  }
367
367
 
368
- // Cache for payment destinations to avoid repeated HTTP calls
369
- // Key is "userId:amount:currency", value is cached destinations
370
- const destinationCache = new Map();
371
- // Cache duration: 5 minutes
372
- const CACHE_DURATION_MS = 5 * 60 * 1000;
373
368
  /**
374
369
  * Get payment destinations for a user, with caching to avoid repeated HTTP calls.
375
370
  * This is an internal helper function used by requirePayment.
376
371
  */
377
- async function getCachedPaymentDestinations(config, user, amount, currency) {
378
- const cacheKey = `${user}:${amount.toString()}:${currency}`;
379
- const cached = destinationCache.get(cacheKey);
380
- const now = Date.now();
381
- // Return cached destinations if still valid
382
- if (cached && (now - cached.timestamp) < CACHE_DURATION_MS) {
383
- config.logger.debug(`Using cached payment destinations for user ${user}`);
384
- return cached.destinations;
385
- }
386
- // Fetch fresh destinations
387
- config.logger.debug(`Fetching payment destinations for user ${user}`);
372
+ async function getPaymentDestinations(config, user, amount, currency) {
388
373
  const fundingAmount = { amount, currency };
389
- let paymentAddresses;
390
- if ('destinations' in config.paymentDestination && typeof config.paymentDestination.destinations === 'function') {
391
- paymentAddresses = await config.paymentDestination.destinations(fundingAmount, user);
392
- }
393
- else {
394
- // Fallback to single destination wrapped in array
395
- const singleAddress = await config.paymentDestination.destination(fundingAmount, user);
396
- paymentAddresses = [singleAddress];
397
- }
398
- // Cache the result
399
- destinationCache.set(cacheKey, {
400
- destinations: paymentAddresses,
401
- timestamp: now
402
- });
403
- config.logger.debug(`Cached ${paymentAddresses.length} payment destinations for user ${user}`);
404
- return paymentAddresses;
374
+ return await config.paymentDestination.destinations(fundingAmount);
405
375
  }
406
376
  async function requirePayment(paymentConfig) {
407
377
  const config = getATXPConfig();
@@ -418,7 +388,7 @@ async function requirePayment(paymentConfig) {
418
388
  ? config.minimumPayment
419
389
  : paymentConfig.price;
420
390
  // Get payment destinations (with caching)
421
- const paymentAddresses = await getCachedPaymentDestinations(config, user, paymentAmount, config.currency);
391
+ const paymentAddresses = await getPaymentDestinations(config, user, paymentAmount, config.currency);
422
392
  // Always use multi-destination format
423
393
  const charge = {
424
394
  destinations: paymentAddresses.map(addr => ({
@@ -462,16 +432,11 @@ class ChainPaymentDestination {
462
432
  this.address = address;
463
433
  this.network = network;
464
434
  }
465
- async destination(_fundingAmount, _buyerAddress) {
466
- return {
467
- destination: this.address,
468
- network: this.network
469
- };
470
- }
471
- async destinations(fundingAmount, buyerAddress) {
472
- // Return single destination as array for backwards compatibility
473
- const dest = await this.destination(fundingAmount, buyerAddress);
474
- return [dest];
435
+ async destinations(_fundingAmount) {
436
+ return [{
437
+ destination: this.address,
438
+ network: this.network
439
+ }];
475
440
  }
476
441
  }
477
442
  function parseConnectionString(connectionString) {
@@ -491,69 +456,8 @@ class ATXPPaymentDestination {
491
456
  this.fetchFn = opts?.fetchFn ?? fetch.bind(globalThis);
492
457
  this.logger = opts?.logger ?? new ConsoleLogger({ prefix: '[atxp-payment-destination]' });
493
458
  }
494
- async destination(fundingAmount, buyerAddress) {
495
- this.logger.debug(`Getting payment destination for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
496
- const url = new URL(`${this.accountServerURL}/destination`);
497
- url.searchParams.set('connectionToken', this.token);
498
- url.searchParams.set('buyerAddress', buyerAddress);
499
- url.searchParams.set('amount', fundingAmount.amount.toString());
500
- // Add currency parameter if provided
501
- if (fundingAmount.currency) {
502
- url.searchParams.set('currency', fundingAmount.currency);
503
- }
504
- this.logger.debug(`Making request to: ${url.toString()}`);
505
- const response = await this.fetchFn(url.toString(), {
506
- method: 'GET',
507
- headers: {
508
- 'Accept': 'application/json',
509
- },
510
- });
511
- if (!response.ok) {
512
- const text = await response.text();
513
- this.logger.error(`/destination failed: ${response.status} ${response.statusText} ${text}`);
514
- throw new Error(`ATXPPaymentDestination: /destination failed: ${response.status} ${response.statusText} ${text}`);
515
- }
516
- const json = await response.json();
517
- if (!json?.destination) {
518
- this.logger.error('/destination did not return destination');
519
- throw new Error('ATXPPaymentDestination: /destination did not return destination');
520
- }
521
- const networkFromResponse = json.network;
522
- if (!networkFromResponse) {
523
- this.logger.error('/destination did not return network');
524
- throw new Error('ATXPPaymentDestination: /destination did not return network');
525
- }
526
- // Map network values if needed
527
- // The accounts service might return 'ethereum' for Base wallets, but the payment system expects 'base'
528
- let network;
529
- switch (networkFromResponse) {
530
- case 'ethereum':
531
- network = 'base'; // Base is an Ethereum L2
532
- break;
533
- case 'base':
534
- network = 'base'; // Already correct
535
- break;
536
- case 'base_sepolia':
537
- network = 'base_sepolia';
538
- break;
539
- case 'world_sepolia':
540
- network = 'world_sepolia';
541
- break;
542
- case 'solana':
543
- network = 'solana';
544
- break;
545
- default:
546
- this.logger.warn(`Unknown network: ${networkFromResponse}, defaulting to base`);
547
- network = 'base';
548
- }
549
- this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network}`);
550
- return {
551
- destination: json.destination,
552
- network
553
- };
554
- }
555
- async destinations(fundingAmount, buyerAddress) {
556
- this.logger.debug(`Getting payment destinations for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
459
+ async destinations(fundingAmount) {
460
+ this.logger.debug(`Getting payment destinations for buyer: ${fundingAmount.currency}`);
557
461
  const url = new URL(`${this.accountServerURL}/addresses`);
558
462
  // Add currency parameter if provided
559
463
  if (fundingAmount.currency) {
@@ -597,6 +501,8 @@ class ATXPPaymentDestination {
597
501
  case 'world':
598
502
  case 'world_sepolia':
599
503
  case 'solana':
504
+ case 'atxp_base':
505
+ case 'atxp_base_sepolia':
600
506
  network = networkFromItem;
601
507
  break;
602
508
  default: