fdb2 1.0.38 → 1.0.40

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 (64) hide show
  1. package/README.md +8 -1
  2. package/bin/fdb2.js +78 -3
  3. package/dist/public/explorer.css +403 -380
  4. package/dist/public/explorer.js +1294 -737
  5. package/dist/public/index.js +242 -16
  6. package/dist/public/layout.js +1 -1
  7. package/dist/scripts/verify-db-support.cjs +239 -0
  8. package/dist/server/core/dialect.d.ts +9 -0
  9. package/dist/server/core/dialect.d.ts.map +1 -1
  10. package/dist/server/core/dialect.js +24 -9
  11. package/dist/server/core/dialect.js.map +1 -1
  12. package/dist/server/core/dialect.ts +29 -9
  13. package/dist/server/core/schema/__tests__/ddl-emitter.test.ts +7 -3
  14. package/dist/server/core/schema/ddl-emitter.d.ts.map +1 -1
  15. package/dist/server/core/schema/ddl-emitter.js +32 -12
  16. package/dist/server/core/schema/ddl-emitter.js.map +1 -1
  17. package/dist/server/core/schema/ddl-emitter.ts +34 -11
  18. package/dist/server/index.d.ts.map +1 -1
  19. package/dist/server/index.js +83 -6
  20. package/dist/server/index.js.map +1 -1
  21. package/dist/server/index.ts +87 -6
  22. package/dist/server/model/ddl-spec.d.ts +9 -0
  23. package/dist/server/model/ddl-spec.d.ts.map +1 -1
  24. package/dist/server/model/ddl-spec.ts +9 -0
  25. package/dist/server/service/connection.service.d.ts +8 -0
  26. package/dist/server/service/connection.service.d.ts.map +1 -1
  27. package/dist/server/service/connection.service.js +75 -17
  28. package/dist/server/service/connection.service.js.map +1 -1
  29. package/dist/server/service/connection.service.ts +74 -17
  30. package/dist/server/service/database/base.service.d.ts +45 -0
  31. package/dist/server/service/database/base.service.d.ts.map +1 -1
  32. package/dist/server/service/database/base.service.js +120 -7
  33. package/dist/server/service/database/base.service.js.map +1 -1
  34. package/dist/server/service/database/base.service.ts +143 -8
  35. package/dist/server/service/database/cockroachdb.service.d.ts +9 -0
  36. package/dist/server/service/database/cockroachdb.service.d.ts.map +1 -1
  37. package/dist/server/service/database/cockroachdb.service.js +67 -56
  38. package/dist/server/service/database/cockroachdb.service.js.map +1 -1
  39. package/dist/server/service/database/cockroachdb.service.ts +66 -57
  40. package/dist/server/service/database/database.service.d.ts +3 -221
  41. package/dist/server/service/database/database.service.d.ts.map +1 -1
  42. package/dist/server/service/database/database.service.js +66 -24
  43. package/dist/server/service/database/database.service.js.map +1 -1
  44. package/dist/server/service/database/database.service.ts +69 -23
  45. package/dist/server/service/database/mongodb.service.d.ts +58 -3
  46. package/dist/server/service/database/mongodb.service.d.ts.map +1 -1
  47. package/dist/server/service/database/mongodb.service.js +251 -54
  48. package/dist/server/service/database/mongodb.service.js.map +1 -1
  49. package/dist/server/service/database/mongodb.service.ts +275 -60
  50. package/dist/server/service/database/mssql.service.d.ts +8 -0
  51. package/dist/server/service/database/mssql.service.d.ts.map +1 -1
  52. package/dist/server/service/database/mssql.service.js +41 -36
  53. package/dist/server/service/database/mssql.service.js.map +1 -1
  54. package/dist/server/service/database/mssql.service.ts +45 -40
  55. package/dist/server/service/database/oracle.service.d.ts +24 -0
  56. package/dist/server/service/database/oracle.service.d.ts.map +1 -1
  57. package/dist/server/service/database/oracle.service.js +146 -106
  58. package/dist/server/service/database/oracle.service.js.map +1 -1
  59. package/dist/server/service/database/oracle.service.ts +145 -105
  60. package/dist/server/service/database/sqlite.service.js +1 -1
  61. package/dist/server/service/database/sqlite.service.js.map +1 -1
  62. package/dist/server/service/database/sqlite.service.ts +1 -1
  63. package/package.json +8 -8
  64. package/scripts/verify-db-support.cjs +239 -0
@@ -38,6 +38,7 @@ const http = __importStar(require("node:http"));
38
38
  const https = __importStar(require("node:https"));
39
39
  const connection_service_1 = require("./service/connection.service");
40
40
  const database_service_1 = require("./service/database/database.service");
41
+ const dialect_1 = require("./core/dialect");
41
42
  // 远程代理相关常量
42
43
  const REMOTE_ID_SEP = '::';
43
44
  const REMOTE_TOKEN_HEADER = 'x-db-tool-token';
@@ -381,6 +382,45 @@ async function handleDatabaseRoutes(pathname, body, headers) {
381
382
  const result = await databaseService.getTableInfo(id, database, table);
382
383
  return result;
383
384
  }
385
+ // ---- 文档型(MongoDB)索引与聚合:统一走方言 service,未实现的方言会明确报错 ----
386
+ // /api/database/getIndexes
387
+ if (pathname === '/api/database/getIndexes') {
388
+ const { id, database, table } = body;
389
+ if (!id || !database || !table)
390
+ throw Error('Missing parameters: id, database, table');
391
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
392
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type);
393
+ return await dbService.getIndexes(dataSource, database, table);
394
+ }
395
+ // /api/database/createIndex
396
+ if (pathname === '/api/database/createIndex') {
397
+ const { id, database, table, keys, options } = body;
398
+ if (!id || !database || !table || !keys)
399
+ throw Error('Missing parameters: id, database, table, keys');
400
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
401
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type);
402
+ const name = await dbService.createIndex(dataSource, database, table, keys, options);
403
+ return { success: true, name };
404
+ }
405
+ // /api/database/dropIndex
406
+ if (pathname === '/api/database/dropIndex') {
407
+ const { id, database, table, indexName } = body;
408
+ if (!id || !database || !table || !indexName)
409
+ throw Error('Missing parameters: id, database, table, indexName');
410
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
411
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type);
412
+ await dbService.dropIndex(dataSource, database, table, indexName);
413
+ return { success: true };
414
+ }
415
+ // /api/database/aggregate
416
+ if (pathname === '/api/database/aggregate') {
417
+ const { id, database, table, pipeline } = body;
418
+ if (!id || !database || !table || !pipeline)
419
+ throw Error('Missing parameters: id, database, table, pipeline');
420
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
421
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type);
422
+ return await dbService.aggregate(dataSource, database, table, pipeline);
423
+ }
384
424
  // /api/database/getTableData
385
425
  if (pathname === '/api/database/getTableData') {
386
426
  const { id, database, table, page = 1, pageSize = 100, where, orderBy } = body;
@@ -594,6 +634,13 @@ async function handleDatabaseRoutes(pathname, body, headers) {
594
634
  // 获取数据库服务实例以使用正确的语法
595
635
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
596
636
  const dbService = databaseService['getDatabaseService'](dataSource.options.type);
637
+ // 文档型(MongoDB):直接插入文档,不拼 INSERT SQL
638
+ if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
639
+ const result = Array.isArray(data)
640
+ ? await dbService.bulkInsert(dataSource, database, table, data)
641
+ : await dbService.insertDocument(dataSource, database, table, data);
642
+ return { success: true, result };
643
+ }
597
644
  // 获取表的列信息,用于过滤自增字段
598
645
  const columns = await dbService.getColumns(dataSource, database, table);
599
646
  const sql = generateInsertSQL(dataSource.options.type, table, data, dbService, columns);
@@ -602,24 +649,42 @@ async function handleDatabaseRoutes(pathname, body, headers) {
602
649
  }
603
650
  // /api/database/updateData
604
651
  if (pathname === '/api/database/updateData') {
605
- const { id, database, table, data, where } = body;
606
- if (!id || !database || !table || !data || !where)
652
+ const { id, database, table, data, where, docId } = body;
653
+ if (!id || !database || !table || !data)
607
654
  throw Error('Missing parameters');
608
655
  // 获取数据库服务实例以使用正确的语法
609
656
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
610
657
  const dbService = databaseService['getDatabaseService'](dataSource.options.type);
658
+ // 文档型(MongoDB):按 _id 更新,不拼 UPDATE SQL
659
+ if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
660
+ if (!docId)
661
+ throw Error('Missing parameters: docId');
662
+ await dbService.updateDocument(dataSource, database, table, docId, data);
663
+ return { success: true };
664
+ }
665
+ if (!where)
666
+ throw Error('Missing parameters');
611
667
  const sql = generateUpdateSQL(dataSource.options.type, table, data, where, dbService);
612
668
  const result = await databaseService.executeQuery(id, sql, database);
613
669
  return { sql, result };
614
670
  }
615
671
  // /api/database/deleteData
616
672
  if (pathname === '/api/database/deleteData') {
617
- const { id, database, table, where } = body;
618
- if (!id || !database || !table || !where)
673
+ const { id, database, table, where, docId } = body;
674
+ if (!id || !database || !table)
619
675
  throw Error('Missing parameters');
620
676
  // 获取数据库服务实例以使用正确的语法
621
677
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
622
678
  const dbService = databaseService['getDatabaseService'](dataSource.options.type);
679
+ // 文档型(MongoDB):按 _id 删除,不拼 DELETE SQL
680
+ if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
681
+ if (!docId)
682
+ throw Error('Missing parameters: docId');
683
+ await dbService.deleteDocument(dataSource, database, table, docId);
684
+ return { success: true };
685
+ }
686
+ if (!where)
687
+ throw Error('Missing parameters');
623
688
  const sql = generateDeleteSQL(dataSource.options.type, table, where, dbService);
624
689
  const result = await databaseService.executeQuery(id, sql, database);
625
690
  return { success: true, sql, result };
@@ -634,9 +699,15 @@ async function handleDatabaseRoutes(pathname, body, headers) {
634
699
  const table = parts[5];
635
700
  if (!id || !database || !table)
636
701
  throw Error('Missing parameters');
637
- // 使用数据库服务生成正确的TRUNCATE语法
702
+ // 获取数据库服务实例以使用正确的语法
638
703
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
639
704
  const dbService = databaseService['getDatabaseService'](dataSource.options.type);
705
+ // 文档型(MongoDB):deleteMany({}),无 TRUNCATE 语法
706
+ if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
707
+ const deleted = await dbService.truncateCollection(dataSource, database, table);
708
+ return { success: true, deleted };
709
+ }
710
+ // 使用数据库服务生成正确的TRUNCATE语法
640
711
  const sql = `TRUNCATE TABLE ${dbService['quoteIdentifier'](table)}`;
641
712
  const result = await databaseService.executeQuery(id, sql, database);
642
713
  return { success: true, sql, result };
@@ -651,9 +722,15 @@ async function handleDatabaseRoutes(pathname, body, headers) {
651
722
  const table = parts[5];
652
723
  if (!id || !database || !table)
653
724
  throw Error('Missing parameters');
654
- // 使用数据库服务生成正确的DROP语法
725
+ // 获取数据库服务实例以使用正确的语法
655
726
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
656
727
  const dbService = databaseService['getDatabaseService'](dataSource.options.type);
728
+ // 文档型(MongoDB):collection.drop(),无 DROP TABLE 语法
729
+ if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
730
+ await dbService.dropTable(dataSource, database, table);
731
+ return { success: true };
732
+ }
733
+ // 使用数据库服务生成正确的DROP语法
657
734
  const sql = `DROP TABLE ${dbService['quoteIdentifier'](table)}`;
658
735
  const result = await databaseService.executeQuery(id, sql, database);
659
736
  return { success: true, sql, result };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwQA,oDA8iBC;AAtzBD,gDAAkC;AAClC,kDAAoC;AACpC,qEAAiE;AACjE,0EAAsE;AACtE,4CAA6C;AAE7C,WAAW;AACX,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAC9C,gDAAgD;AAChD,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C,oCAAoC;AACpC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS;IACxC,6BAA6B;IAC7B,6BAA6B;IAC7B,yCAAyC;CAC1C,CAAC,CAAC;AAEH,yCAAyC;AACzC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAS;IAC/C,8BAA8B;IAC9B,6BAA6B;IAC7B,6BAA6B;IAC7B,gCAAgC;IAChC,gCAAgC;IAChC,8BAA8B;IAC9B,yCAAyC;CAC1C,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAS;IACnC,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC1C,CAAC;AAED,iCAAiC;AACjC,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAS;IAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC3G,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,IAAS;IAC3D,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;AACzD,CAAC;AAED,8CAA8C;AAC9C,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,KAAK,UAAU,iBAAiB,CAC9B,GAAW,EACX,IAAS,EACT,OAA+B,EAC/B,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,CAAC;IACV,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,GAAW,EACX,IAAS,EACT,OAA+B,EAC/B,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CACrB;YACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YACtD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE;SAC1D,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;gBACnC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC;oBACxD,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,UAAU,CACvB,GAAW,EACX,IAAS,EACT,OAA+B,EAC/B,SAAiB;IAEjB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,qBAAqB;AACrB,SAAS,kBAAkB,CAAC,SAAc;IACxC,MAAM,OAAO,GAA2B,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IAC9C,IAAI,KAAK;QAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8CAA8C;AAC9C,KAAK,UAAU,aAAa,CAAC,SAAc,EAAE,YAAoB,EAAE,QAAgB,EAAE,IAAS;IAC5F,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC3G,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,oDAAoD;QACpD,iCAAiC;QACjC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;QACxB,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,IAAI,GAAG,UAAU,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACvG,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,EAAE,IAAI,CAAC;AACnB,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,sBAAsB,CAAC,SAAc;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,IAAI,8BAA8B,EAAE,EAAE,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9G,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED,qCAAqC;AACrC,KAAK,UAAU,6BAA6B;IAC1C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAC3D,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CACtG,CAAC;IACF,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,gCAAgC;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,QAAQ;gBAAE,SAAS,CAAC,YAAY;YAC/D,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,iBAAiB;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,IAAI;gBACP,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,IAAI,CAAC,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uBAAuB;AACvB,KAAK,UAAU,oBAAoB,CAAC,IAAS;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,IAAI,8BAA8B,EAAE,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACzG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,UAAU;AACV,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,EAAE,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,kCAAe,EAAE,CAAC;AAG9C,YAAY;AACL,KAAK,UAAU,oBAAoB,CAAC,QAAgB,EAAE,IAAS,EAAE,OAAa;IACnF,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAClD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,KAAK,8BAA8B,EAAE,CAAC;YAChD,wCAAwC;YACxC,IAAI,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC5C,OAAO,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YACrD,CAAC;YACD,OAAO,MAAM,6BAA6B,EAAE,CAAC;QAC/C,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,KAAK,8BAA8B,IAAI,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpF,OAAO,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,uCAAuC;QACvC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,IAAI,QAAQ,KAAK,+BAA+B;wBAAE,OAAO,IAAI,CAAC,CAAC,aAAa;oBAC5E,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,QAAQ,KAAK,6BAA6B,EAAE,CAAC;YAC/C,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,8BAA8B;QAC9B,IAAI,QAAQ,KAAK,6BAA6B,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,KAAK,gCAAgC,EAAE,CAAC;YAClD,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,KAAK,gCAAgC,EAAE,CAAC;YAClD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,EAAE;gBAAE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9C,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+BAA+B;QAC/B,IAAI,QAAQ,KAAK,8BAA8B,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,EAAE;gBAAE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gCAAgC;QAChC,IAAI,QAAQ,KAAK,+BAA+B,EAAE,CAAC;YACjD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wDAAwD;QAExD,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YAC5C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACvF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAC3F,OAAO,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,KAAK,2BAA2B,EAAE,CAAC;YAC7C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YACpD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACtG,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAC3F,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;gBAAE,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAChH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAC3F,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC/C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC9G,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAC3F,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1E,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC/E,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACvG,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG;gBAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gCAAgC;QAChC,IAAI,QAAQ,KAAK,+BAA+B,EAAE,CAAC;YACjD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,EAAE;gBAAE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9C,MAAM,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0CAA0C;QAC1C,IAAI,QAAQ,KAAK,yCAAyC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,yBAAyB,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+BAA+B;QAC/B,IAAI,QAAQ,KAAK,8BAA8B,EAAE,CAAC;YAChD,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,yBAAyB;QACzB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;YAC/C,IAAI,CAAC,EAAE;gBAAE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,wBAAwB;QACxB,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACzC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YACrD,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACrG,MAAM,eAAe,CAAC,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,yBAAyB;QACzB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,yBAAyB;QACzB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,wBAAwB;QACxB,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACzC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY;gBAAE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,gCAAgC;QAChC,IAAI,QAAQ,KAAK,+BAA+B,EAAE,CAAC;YACjD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAC7D,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAEvF,SAAS;YACT,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,qCAAqC;QACrC,IAAI,QAAQ,KAAK,oCAAoC,EAAE,CAAC;YACtD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAEvF,qBAAqB;YACrB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5F,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,qCAAqC;QACrC,IAAI,QAAQ,KAAK,oCAAoC,EAAE,CAAC;YACtD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAEvF,qBAAqB;YACrB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5F,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,sCAAsC;QACtC,IAAI,QAAQ,KAAK,qCAAqC,EAAE,CAAC;YACvD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAEvF,sBAAsB;YACtB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7F,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,KAAK,sCAAsC,EAAE,CAAC;YACxD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAEvF,uBAAuB;YACvB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9F,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,oDAAoD;QACpD,IAAI,QAAQ,KAAK,iCAAiC,EAAE,CAAC;YACnD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,sEAAsE;QACtE,IAAI,QAAQ,KAAK,kCAAkC,EAAE,CAAC;YACpD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wDAAwD;QACxD,IAAI,QAAQ,KAAK,kCAAkC,EAAE,CAAC;YACpD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,mEAAmE;QACnE,IAAI,QAAQ,KAAK,iCAAiC,EAAE,CAAC;YACnD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC/C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACtF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,0DAA0D;QAC1D,IAAI,QAAQ,KAAK,iCAAiC,EAAE,CAAC;YACnD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC/C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACtF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YAC5C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE3E,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAE3F,oCAAoC;YACpC,IAAI,IAAA,qBAAW,EAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBAChC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;oBAC/D,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YAED,mBAAmB;YACnB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAExE,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YAC5C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACzD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE3E,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAE3F,sCAAsC;YACtC,IAAI,IAAA,qBAAW,EAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClE,IAAI,CAAC,KAAK;oBAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACrD,MAAM,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAChG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YAC5C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACnD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAElE,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAE3F,sCAAsC;YACtC,IAAI,IAAA,qBAAW,EAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClE,IAAI,CAAC,KAAK;oBAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACrD,MAAM,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAE9C,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,mDAAmD;QACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAElE,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAE3F,4CAA4C;YAC5C,IAAI,IAAA,qBAAW,EAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAChF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACpC,CAAC;YAED,yBAAyB;YACzB,MAAM,GAAG,GAAG,kBAAkB,SAAS,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;gBAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAElE,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAE3F,iDAAiD;YACjD,IAAI,IAAA,qBAAW,EAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClE,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAED,qBAAqB;YACrB,MAAM,GAAG,GAAG,cAAc,SAAS,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,yBAAyB;QACzB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,kCAAkC;QAClC,IAAI,QAAQ,KAAK,iCAAiC,EAAE,CAAC;YACnD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAE7F,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YAC5C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YACpD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU;gBAAE,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAExH,4BAA4B;YAC5B,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAC3F,oEAAoE;YACpE,oDAAoD;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,mEAAmE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnG,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,SAAS,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACnG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,yBAAyB;QACzB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAE7F,0BAA0B;YAC1B,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,aAAa,SAAS,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,8BAA8B;QAC9B,IAAI,QAAQ,KAAK,6BAA6B,EAAE,CAAC;YAC/C,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACjE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,KAAK,sCAAsC,EAAE,CAAC;YACxD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;YAC7C,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa;gBAAE,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAEvG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,KAAK,EAAE,MAAM;YAAE,KAAK,CAAC,OAAO,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACvD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,OAAO;AACP,SAAS,YAAY,CAAC,IAAW;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,kBAAkB;YAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACtG,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;YAC1C,CAAC;YACD,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAGD,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,IAAS,EAAE,SAAc,EAAE,OAAe;IACtG,mBAAmB;IACnB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,YAAY,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YAC5D,+BAA+B;YAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACvC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5E,OAAO,eAAe,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,aAAa,aAAa,YAAY,IAAI,CAAC;AAC5G,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,IAAS,EAAE,KAAU,EAAE,SAAc;IACjG,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;SAC1F,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;QACrD,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7E,CAAC,CAAC;SACD,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjB,OAAO,UAAU,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,SAAS,UAAU,WAAW,GAAG,CAAC;AACjG,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,KAAU,EAAE,SAAc;IACtF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;QACrD,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7E,CAAC,CAAC;SACD,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjB,OAAO,eAAe,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,WAAW,GAAG,CAAC;AACrF,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,KAAU;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACrD,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;QACnE,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,mBAAmB;YACnB,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAClD,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC"}
@@ -2,6 +2,7 @@ import * as http from "node:http";
2
2
  import * as https from "node:https";
3
3
  import { ConnectionService } from './service/connection.service';
4
4
  import { DatabaseService } from './service/database/database.service';
5
+ import { dataModelOf } from './core/dialect';
5
6
 
6
7
  // 远程代理相关常量
7
8
  const REMOTE_ID_SEP = '::';
@@ -372,6 +373,46 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
372
373
  return result;
373
374
  }
374
375
 
376
+ // ---- 文档型(MongoDB)索引与聚合:统一走方言 service,未实现的方言会明确报错 ----
377
+
378
+ // /api/database/getIndexes
379
+ if (pathname === '/api/database/getIndexes') {
380
+ const { id, database, table } = body;
381
+ if (!id || !database || !table) throw Error('Missing parameters: id, database, table');
382
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
383
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
384
+ return await dbService.getIndexes(dataSource, database, table);
385
+ }
386
+
387
+ // /api/database/createIndex
388
+ if (pathname === '/api/database/createIndex') {
389
+ const { id, database, table, keys, options } = body;
390
+ if (!id || !database || !table || !keys) throw Error('Missing parameters: id, database, table, keys');
391
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
392
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
393
+ const name = await dbService.createIndex(dataSource, database, table, keys, options);
394
+ return { success: true, name };
395
+ }
396
+
397
+ // /api/database/dropIndex
398
+ if (pathname === '/api/database/dropIndex') {
399
+ const { id, database, table, indexName } = body;
400
+ if (!id || !database || !table || !indexName) throw Error('Missing parameters: id, database, table, indexName');
401
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
402
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
403
+ await dbService.dropIndex(dataSource, database, table, indexName);
404
+ return { success: true };
405
+ }
406
+
407
+ // /api/database/aggregate
408
+ if (pathname === '/api/database/aggregate') {
409
+ const { id, database, table, pipeline } = body;
410
+ if (!id || !database || !table || !pipeline) throw Error('Missing parameters: id, database, table, pipeline');
411
+ const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
412
+ const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
413
+ return await dbService.aggregate(dataSource, database, table, pipeline);
414
+ }
415
+
375
416
  // /api/database/getTableData
376
417
  if (pathname === '/api/database/getTableData') {
377
418
  const { id, database, table, page = 1, pageSize = 100, where, orderBy } = body;
@@ -597,6 +638,14 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
597
638
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
598
639
  const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
599
640
 
641
+ // 文档型(MongoDB):直接插入文档,不拼 INSERT SQL
642
+ if (dataModelOf(dataSource.options.type as string) === 'document') {
643
+ const result = Array.isArray(data)
644
+ ? await dbService.bulkInsert(dataSource, database, table, data)
645
+ : await dbService.insertDocument(dataSource, database, table, data);
646
+ return { success: true, result };
647
+ }
648
+
600
649
  // 获取表的列信息,用于过滤自增字段
601
650
  const columns = await dbService.getColumns(dataSource, database, table);
602
651
 
@@ -607,13 +656,21 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
607
656
 
608
657
  // /api/database/updateData
609
658
  if (pathname === '/api/database/updateData') {
610
- const { id, database, table, data, where } = body;
611
- if (!id || !database || !table || !data || !where) throw Error('Missing parameters');
659
+ const { id, database, table, data, where, docId } = body;
660
+ if (!id || !database || !table || !data) throw Error('Missing parameters');
612
661
 
613
662
  // 获取数据库服务实例以使用正确的语法
614
663
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
615
664
  const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
616
665
 
666
+ // 文档型(MongoDB):按 _id 更新,不拼 UPDATE SQL
667
+ if (dataModelOf(dataSource.options.type as string) === 'document') {
668
+ if (!docId) throw Error('Missing parameters: docId');
669
+ await dbService.updateDocument(dataSource, database, table, docId, data);
670
+ return { success: true };
671
+ }
672
+ if (!where) throw Error('Missing parameters');
673
+
617
674
  const sql = generateUpdateSQL(dataSource.options.type as string, table, data, where, dbService);
618
675
  const result = await databaseService.executeQuery(id, sql, database);
619
676
  return { sql, result };
@@ -621,13 +678,21 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
621
678
 
622
679
  // /api/database/deleteData
623
680
  if (pathname === '/api/database/deleteData') {
624
- const { id, database, table, where } = body;
625
- if (!id || !database || !table || !where) throw Error('Missing parameters');
681
+ const { id, database, table, where, docId } = body;
682
+ if (!id || !database || !table) throw Error('Missing parameters');
626
683
 
627
684
  // 获取数据库服务实例以使用正确的语法
628
685
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
629
686
  const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
630
687
 
688
+ // 文档型(MongoDB):按 _id 删除,不拼 DELETE SQL
689
+ if (dataModelOf(dataSource.options.type as string) === 'document') {
690
+ if (!docId) throw Error('Missing parameters: docId');
691
+ await dbService.deleteDocument(dataSource, database, table, docId);
692
+ return { success: true };
693
+ }
694
+ if (!where) throw Error('Missing parameters');
695
+
631
696
  const sql = generateDeleteSQL(dataSource.options.type as string, table, where, dbService);
632
697
  const result = await databaseService.executeQuery(id, sql, database);
633
698
  return { success: true, sql, result };
@@ -642,9 +707,17 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
642
707
  const table = parts[5];
643
708
  if (!id || !database || !table) throw Error('Missing parameters');
644
709
 
645
- // 使用数据库服务生成正确的TRUNCATE语法
710
+ // 获取数据库服务实例以使用正确的语法
646
711
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
647
712
  const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
713
+
714
+ // 文档型(MongoDB):deleteMany({}),无 TRUNCATE 语法
715
+ if (dataModelOf(dataSource.options.type as string) === 'document') {
716
+ const deleted = await dbService.truncateCollection(dataSource, database, table);
717
+ return { success: true, deleted };
718
+ }
719
+
720
+ // 使用数据库服务生成正确的TRUNCATE语法
648
721
  const sql = `TRUNCATE TABLE ${dbService['quoteIdentifier'](table)}`;
649
722
  const result = await databaseService.executeQuery(id, sql, database);
650
723
  return { success: true, sql, result };
@@ -659,9 +732,17 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
659
732
  const table = parts[5];
660
733
  if (!id || !database || !table) throw Error('Missing parameters');
661
734
 
662
- // 使用数据库服务生成正确的DROP语法
735
+ // 获取数据库服务实例以使用正确的语法
663
736
  const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
664
737
  const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
738
+
739
+ // 文档型(MongoDB):collection.drop(),无 DROP TABLE 语法
740
+ if (dataModelOf(dataSource.options.type as string) === 'document') {
741
+ await dbService.dropTable(dataSource, database, table);
742
+ return { success: true };
743
+ }
744
+
745
+ // 使用数据库服务生成正确的DROP语法
665
746
  const sql = `DROP TABLE ${dbService['quoteIdentifier'](table)}`;
666
747
  const result = await databaseService.executeQuery(id, sql, database);
667
748
  return { success: true, sql, result };
@@ -144,6 +144,11 @@ export interface DdlCapability {
144
144
  columnComment: boolean;
145
145
  /** native=原生 ALTER;rebuild=需重建表(SQLite);unsupported=不支持(MongoDB) */
146
146
  alterStrategy: 'native' | 'rebuild' | 'unsupported';
147
+ /**
148
+ * 建表路径:sql=生成并执行 CREATE TABLE DDL(默认);
149
+ * driver=方言无模式、无 CREATE TABLE 语法,走驱动原生调用建集合(MongoDB),忽略列定义。
150
+ */
151
+ createStrategy?: 'sql' | 'driver';
147
152
  quoteStyle: 'backtick' | 'double' | 'bracket';
148
153
  }
149
154
  /** 预览结果:纯计算,不触碰数据库(建表场景无 diff,changeSet 为 null) */
@@ -151,6 +156,8 @@ export interface DdlPreview {
151
156
  statements: string[];
152
157
  preview: string;
153
158
  changeSet: TableChangeSet | null;
159
+ /** 非致命的计划级错误(如方言不支持建表/改表、表已存在)。带回前端用于禁用 UI 与提示,而非抛错 */
160
+ error?: string | null;
154
161
  }
155
162
  /** 执行结果 */
156
163
  export interface DdlExecuteResult {
@@ -159,5 +166,7 @@ export interface DdlExecuteResult {
159
166
  conflict?: {
160
167
  reason: string;
161
168
  };
169
+ /** 驱动原生路径执行(无模式方言建集合):无 SQL 语句但已实际创建,statements 恒为空,前端不得按"无修改"处理 */
170
+ native?: boolean;
162
171
  }
163
172
  //# sourceMappingURL=ddl-spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddl-spec.d.ts","sourceRoot":"","sources":["../../../server/model/ddl-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl-spec.d.ts","sourceRoot":"","sources":["../../../server/model/ddl-spec.ts"],"names":[],"mappings":"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"}
@@ -157,6 +157,11 @@ export interface DdlCapability {
157
157
  columnComment: boolean;
158
158
  /** native=原生 ALTER;rebuild=需重建表(SQLite);unsupported=不支持(MongoDB) */
159
159
  alterStrategy: 'native' | 'rebuild' | 'unsupported';
160
+ /**
161
+ * 建表路径:sql=生成并执行 CREATE TABLE DDL(默认);
162
+ * driver=方言无模式、无 CREATE TABLE 语法,走驱动原生调用建集合(MongoDB),忽略列定义。
163
+ */
164
+ createStrategy?: 'sql' | 'driver';
160
165
  quoteStyle: 'backtick' | 'double' | 'bracket';
161
166
  }
162
167
 
@@ -165,6 +170,8 @@ export interface DdlPreview {
165
170
  statements: string[];
166
171
  preview: string;
167
172
  changeSet: TableChangeSet | null;
173
+ /** 非致命的计划级错误(如方言不支持建表/改表、表已存在)。带回前端用于禁用 UI 与提示,而非抛错 */
174
+ error?: string | null;
168
175
  }
169
176
 
170
177
  /** 执行结果 */
@@ -172,4 +179,6 @@ export interface DdlExecuteResult {
172
179
  statements: string[];
173
180
  /** 执行时后端重新读取的实时结构与前端 baseline 不一致时拒绝执行(409) */
174
181
  conflict?: { reason: string };
182
+ /** 驱动原生路径执行(无模式方言建集合):无 SQL 语句但已实际创建,statements 恒为空,前端不得按"无修改"处理 */
183
+ native?: boolean;
175
184
  }
@@ -83,6 +83,14 @@ export declare class ConnectionService {
83
83
  * 创建TypeORM数据源
84
84
  */
85
85
  private createTypeORMDataSource;
86
+ /**
87
+ * 驱动就绪检查。
88
+ *
89
+ * 某些方言依赖未随默认依赖安装的原生/可选驱动(如 SAP HANA 的 @sap/hana-client)。
90
+ * 若缺失,TypeORM 会抛出 "Cannot find module ..." 这类含义不明的错误,
91
+ * 这里提前给出可执行的安装提示。
92
+ */
93
+ private assertDriverAvailable;
86
94
  /**
87
95
  * 创建临时数据库连接
88
96
  * 用于同步操作中的目标数据库连接
@@ -1 +1 @@
1
- {"version":3,"file":"connection.service.d.ts","sourceRoot":"","sources":["../../../server/service/connection.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAU7D;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAsC;IAE/D;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA+C;;IAMzE;;OAEG;IACG,IAAI;IAIV;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAatD;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKrE;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB5E;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBjG;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpE;;;;;OAKG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgC7E,uCAAuC;YACzB,wBAAwB;IAuBtC,2CAA2C;YAC7B,SAAS;IAUvB,4BAA4B;YACd,cAAc;IAS5B;;OAEG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE;;OAEG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C;;OAEG;YACW,uBAAuB;IAUrC;;;OAGG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsFzB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"connection.service.d.ts","sourceRoot":"","sources":["../../../server/service/connection.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAU7D;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAsC;IAE/D;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA+C;;IAMzE;;OAEG;IACG,IAAI;IAIV;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAatD;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKrE;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB5E;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBjG;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BpE;;;;;OAKG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgC7E,uCAAuC;YACzB,wBAAwB;IAuBtC,2CAA2C;YAC7B,SAAS;IAUvB,4BAA4B;YACd,cAAc;IAS5B;;OAEG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE;;OAEG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C;;OAEG;YACW,uBAAuB;IAWrC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;;OAGG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2GzB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}