@prisma/migrate 6.6.0-dev.10 → 6.6.0-dev.101

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 (167) hide show
  1. package/dist/CLI.js +3 -3
  2. package/dist/Migrate.js +9 -6
  3. package/dist/SchemaEngine.js +0 -28
  4. package/dist/SchemaEngineCLI.js +29 -0
  5. package/dist/{utils/getSchemaPathAndPrint.js → SchemaEngineWasm.js} +8 -8
  6. package/dist/bin.js +52 -50
  7. package/dist/chunk-23DZXSTI.js +62 -0
  8. package/dist/{chunk-WWAWV7DQ.js → chunk-2ESYSVXG.js} +3 -27
  9. package/dist/{chunk-LKTTJWFT.js → chunk-2R6DII47.js} +5 -5
  10. package/dist/chunk-33LPBNDX.js +1399 -0
  11. package/dist/{chunk-MKK3GSDF.js → chunk-344G2PKM.js} +9 -9
  12. package/dist/{chunk-V3ZMNXZC.js → chunk-5LKIRKDL.js} +307 -382
  13. package/dist/{chunk-LOGAFLCN.js → chunk-5R44VVVX.js} +29 -29
  14. package/dist/{chunk-DJMFXNR4.js → chunk-74LUB4XX.js} +56 -57
  15. package/dist/{chunk-GG54LOYV.js → chunk-A4FQW4A5.js} +54 -50
  16. package/dist/{chunk-RP2N6UXA.js → chunk-AI6DH66U.js} +6 -6
  17. package/dist/{chunk-A6PMXMMT.js → chunk-AUGZZ6RT.js} +105 -13
  18. package/dist/{chunk-G2XUUMKH.js → chunk-B4SUSDC2.js} +31 -39
  19. package/dist/{chunk-N3KYWSX2.js → chunk-CCFFDJW6.js} +63 -49
  20. package/dist/{chunk-N4XTKFY6.js → chunk-CLSF7VUT.js} +42 -38
  21. package/dist/{chunk-IR55GBON.js → chunk-CU5UT2ED.js} +19 -18
  22. package/dist/{chunk-CQZFVAXC.js → chunk-CYEVXXRH.js} +51 -47
  23. package/dist/{chunk-W2SZNLK4.js → chunk-EJG7GKM7.js} +37 -39
  24. package/dist/{chunk-5PSO7BDO.js → chunk-EJUXYFV3.js} +15 -15
  25. package/dist/{chunk-KS7IEA6Z.js → chunk-HIDSEBVV.js} +55 -54
  26. package/dist/{chunk-ZOEKRXDP.js → chunk-I3LT2PO3.js} +35 -57
  27. package/dist/{chunk-MCWCB2AX.js → chunk-IINN7QUV.js} +170 -643
  28. package/dist/chunk-IK3BVD3Y.js +233 -0
  29. package/dist/{chunk-255BRND3.js → chunk-KRQEFTDT.js} +6 -6
  30. package/dist/{chunk-HCBZB4XC.js → chunk-KW633S3Y.js} +56 -52
  31. package/dist/{chunk-VVKOFN3Y.js → chunk-LLO7YF56.js} +44 -46
  32. package/dist/{chunk-VZ23KD5C.js → chunk-NGQA5JTN.js} +8 -10
  33. package/dist/{chunk-MATFO4ZW.js → chunk-OEWQACEH.js} +38 -39
  34. package/dist/chunk-PQKZ53DW.js +76 -0
  35. package/dist/{chunk-5GVIOOXU.js → chunk-QTXX5BQZ.js} +393 -533
  36. package/dist/{chunk-EGPJABTW.js → chunk-QVMYNWAN.js} +257 -103
  37. package/dist/{chunk-2B4IAB6L.js → chunk-RPOUM5FT.js} +392 -532
  38. package/dist/{chunk-V5TUSOJX.js → chunk-SQKGZVG3.js} +45 -45
  39. package/dist/chunk-URKH6SE2.js +479 -0
  40. package/dist/{chunk-DLLXDCI2.js → chunk-VAJ4VX67.js} +5 -6
  41. package/dist/{chunk-WI2A2TQE.js → chunk-XO3EJLOT.js} +100 -92
  42. package/dist/{chunk-Q3ZLC44N.js → chunk-YBS5GSRF.js} +64 -69
  43. package/dist/{chunk-OCQGHQED.js → chunk-YBX7R3MT.js} +12 -12
  44. package/dist/chunk-YSWLN2IJ.js +890 -0
  45. package/dist/commands/DbCommand.js +3 -3
  46. package/dist/commands/DbDrop.js +4 -5
  47. package/dist/commands/DbExecute.js +10 -7
  48. package/dist/commands/DbPull.js +17 -12
  49. package/dist/commands/DbPush.js +12 -10
  50. package/dist/commands/DbSeed.js +4 -5
  51. package/dist/commands/MigrateCommand.js +3 -3
  52. package/dist/commands/MigrateDeploy.js +14 -12
  53. package/dist/commands/MigrateDev.js +17 -15
  54. package/dist/commands/MigrateDiff.js +13 -10
  55. package/dist/commands/MigrateReset.js +16 -14
  56. package/dist/commands/MigrateResolve.js +12 -10
  57. package/dist/commands/MigrateStatus.js +12 -10
  58. package/dist/index.js +58 -57
  59. package/dist/internals/src/Generator.d.ts +23 -5
  60. package/dist/internals/src/WasmSchemaEngineLoader.d.ts +5 -0
  61. package/dist/internals/src/cli/checkUnsupportedDataProxy.d.ts +12 -17
  62. package/dist/internals/src/cli/checkUnsupportedSchemaEngineWasm.d.ts +22 -0
  63. package/dist/internals/src/cli/directoryConfig.d.ts +7 -0
  64. package/dist/internals/src/cli/getSchema.d.ts +3 -28
  65. package/dist/internals/src/cli/hashes.d.ts +1 -2
  66. package/dist/internals/src/cli/schemaContext.d.ts +59 -0
  67. package/dist/internals/src/client/getClientEngineType.d.ts +1 -1
  68. package/dist/internals/src/convertCredentials.d.ts +1 -1
  69. package/dist/internals/src/engine-commands/getConfig.d.ts +1 -5
  70. package/dist/internals/src/engine-commands/getDmmf.d.ts +3 -6
  71. package/dist/internals/src/engine-commands/lintSchema.d.ts +1 -1
  72. package/dist/internals/src/errorReporting.d.ts +0 -1
  73. package/dist/internals/src/get-generators/getGenerators.d.ts +22 -9
  74. package/dist/internals/src/get-generators/utils/binaryTypeToEngineType.d.ts +1 -1
  75. package/dist/internals/src/get-generators/utils/engineTypeToBinaryType.d.ts +1 -1
  76. package/dist/internals/src/get-generators/utils/fixBinaryTargets.d.ts +1 -1
  77. package/dist/internals/src/get-generators/utils/getBinaryPathsByVersion.d.ts +1 -1
  78. package/dist/internals/src/get-generators/utils/getEngineVersionForGenerator.d.ts +1 -1
  79. package/dist/internals/src/get-generators/utils/printGeneratorConfig.d.ts +1 -1
  80. package/dist/internals/src/index.d.ts +10 -8
  81. package/dist/internals/src/migrateTypes.d.ts +63 -0
  82. package/dist/internals/src/panic.d.ts +1 -4
  83. package/dist/internals/src/resolvePkg.d.ts +7 -0
  84. package/dist/internals/src/types.d.ts +1 -1
  85. package/dist/internals/src/utils/extractPreviewFeatures.d.ts +2 -2
  86. package/dist/internals/src/utils/getEnvPaths.d.ts +1 -1
  87. package/dist/internals/src/utils/parseEnvValue.d.ts +1 -1
  88. package/dist/internals/src/utils/schemaFileInput.d.ts +0 -4
  89. package/dist/internals/src/utils/toSchemasContainer.d.ts +2 -3
  90. package/dist/internals/src/wasm.d.ts +3 -1
  91. package/dist/migrate/src/Migrate.d.ts +18 -7
  92. package/dist/migrate/src/SchemaEngine.d.ts +20 -50
  93. package/dist/migrate/src/SchemaEngineCLI.d.ts +139 -0
  94. package/dist/migrate/src/SchemaEngineWasm.d.ts +134 -0
  95. package/dist/migrate/src/commands/DbExecute.d.ts +1 -1
  96. package/dist/migrate/src/commands/DbPull.d.ts +1 -1
  97. package/dist/migrate/src/commands/DbPush.d.ts +1 -1
  98. package/dist/migrate/src/commands/MigrateDeploy.d.ts +1 -1
  99. package/dist/migrate/src/commands/MigrateDev.d.ts +1 -1
  100. package/dist/migrate/src/commands/MigrateDiff.d.ts +1 -1
  101. package/dist/migrate/src/commands/MigrateReset.d.ts +1 -1
  102. package/dist/migrate/src/commands/MigrateResolve.d.ts +1 -1
  103. package/dist/migrate/src/commands/MigrateStatus.d.ts +1 -1
  104. package/dist/migrate/src/index.d.ts +2 -2
  105. package/dist/migrate/src/types.d.ts +19 -19
  106. package/dist/migrate/src/utils/createMigration.d.ts +21 -0
  107. package/dist/migrate/src/utils/ensureDatabaseExists.d.ts +4 -6
  108. package/dist/migrate/src/utils/introspectSql.d.ts +3 -2
  109. package/dist/migrate/src/utils/listMigrations.d.ts +9 -0
  110. package/dist/migrate/src/utils/printDatasources.d.ts +1 -1
  111. package/dist/migrate/src/utils/seed.d.ts +0 -2
  112. package/dist/migrate/src/views/handleViewsIO.d.ts +2 -2
  113. package/dist/{multipart-parser-54WEFGGN-NLZG56KM.js → multipart-parser-ASKQAOL4-WZ47HU6G.js} +92 -125
  114. package/dist/{multipart-parser-NDLECNMN.js → multipart-parser-QCI3Y5IB.js} +66 -68
  115. package/dist/types.js +1 -1
  116. package/dist/{typescript-WN4QH2CP.js → typescript-2LKASCMC.js} +33 -33
  117. package/dist/{typescript-AILDXN3I.js → typescript-H3AVJ6KX.js} +32 -32
  118. package/dist/utils/byline.js +1 -1
  119. package/dist/utils/captureStdout.js +3 -3
  120. package/dist/utils/countModelsAndTypes.js +1 -1
  121. package/dist/utils/createMigration.js +27 -0
  122. package/dist/utils/customColors.js +1 -1
  123. package/dist/utils/ensureDatabaseExists.js +7 -7
  124. package/dist/utils/errors.js +1 -1
  125. package/dist/utils/flagErrors.js +1 -1
  126. package/dist/utils/getDatabaseVersionSafe.js +10 -5
  127. package/dist/utils/handleEvaluateDataloss.js +1 -1
  128. package/dist/utils/introspectSql.js +10 -5
  129. package/dist/utils/isSchemaEmpty.js +1 -1
  130. package/dist/utils/listMigrations.js +25 -0
  131. package/dist/utils/now.js +1 -1
  132. package/dist/utils/printDatasource.js +1 -1
  133. package/dist/utils/printDatasources.js +5 -5
  134. package/dist/utils/printFiles.js +5 -5
  135. package/dist/utils/printIntrospectedSchema.js +1 -1
  136. package/dist/utils/printMigrationId.js +1 -1
  137. package/dist/utils/promptForMigrationName.js +3 -3
  138. package/dist/utils/removeSchemaFiles.js +1 -1
  139. package/dist/utils/replaceOrAddDatasource.js +1 -1
  140. package/dist/utils/replaceOrAddDatasource.test.js +1 -1
  141. package/dist/utils/saveSchemaFiles.js +1 -1
  142. package/dist/utils/seed.js +4 -7
  143. package/dist/utils/setupCockroach.js +3 -3
  144. package/dist/utils/setupMSSQL.js +1478 -707
  145. package/dist/utils/setupMongo.js +553 -552
  146. package/dist/utils/setupMysql.js +508 -563
  147. package/dist/utils/setupPostgres.js +3 -3
  148. package/dist/utils/spinner.js +4 -3
  149. package/dist/utils/test-handlePanic.js +1 -30
  150. package/dist/utils/unixSocket.js +1 -1
  151. package/dist/views/handleViewsIO.js +3 -3
  152. package/package.json +12 -11
  153. package/dist/chunk-GKDFIHM2.js +0 -45
  154. package/dist/chunk-J46BJQHT.js +0 -268
  155. package/dist/chunk-KOF4LGTS.js +0 -1817
  156. package/dist/chunk-YYPMC5FN.js +0 -1407
  157. package/dist/internals/src/get-generators/generatorResolvers/generatorResolvers.d.ts +0 -15
  158. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/auto-installation/findPrismaClientDir.d.ts +0 -6
  159. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/auto-installation/getPackageCmd.d.ts +0 -9
  160. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/auto-installation/runPackageCmd.d.ts +0 -8
  161. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/checkTypeScriptVersion.d.ts +0 -6
  162. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/isYarnUsed.d.ts +0 -1
  163. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/resolve.d.ts +0 -20
  164. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/semverLt.d.ts +0 -7
  165. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/prismaClientResolver.d.ts +0 -20
  166. package/dist/internals/src/get-generators/utils/check-feature-flags/checkFeatureFlags.d.ts +0 -8
  167. package/dist/migrate/src/utils/getSchemaPathAndPrint.d.ts +0 -10
@@ -26,24 +26,53 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_V5TUSOJX_exports = {};
30
- __export(chunk_V5TUSOJX_exports, {
29
+ var chunk_SQKGZVG3_exports = {};
30
+ __export(chunk_SQKGZVG3_exports, {
31
31
  DbDrop: () => DbDrop
32
32
  });
33
- module.exports = __toCommonJS(chunk_V5TUSOJX_exports);
33
+ module.exports = __toCommonJS(chunk_SQKGZVG3_exports);
34
34
  var import_chunk_IHDN3L3R = require("./chunk-IHDN3L3R.js");
35
35
  var import_chunk_3WC4XD74 = require("./chunk-3WC4XD74.js");
36
- var import_chunk_GKDFIHM2 = require("./chunk-GKDFIHM2.js");
37
36
  var import_chunk_QOPTDDIH = require("./chunk-QOPTDDIH.js");
38
- var import_chunk_DJMFXNR4 = require("./chunk-DJMFXNR4.js");
37
+ var import_chunk_74LUB4XX = require("./chunk-74LUB4XX.js");
39
38
  var import_chunk_SKRR5WT4 = require("./chunk-SKRR5WT4.js");
40
- var import_chunk_WWAWV7DQ = require("./chunk-WWAWV7DQ.js");
41
39
  var import_internals = require("@prisma/internals");
42
40
  var import_prompts = __toESM(require("prompts"));
43
- var _DbDrop = class _DbDrop2 {
41
+ var DbDrop = class _DbDrop {
44
42
  static new() {
45
- return new _DbDrop2();
43
+ return new _DbDrop();
46
44
  }
45
+ static help = (0, import_internals.format)(`
46
+ ${process.platform === "win32" ? "" : "\u{1F4A3} "}Drop the database
47
+
48
+ ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.yellow)("WARNING"))} ${(0, import_chunk_SKRR5WT4.bold)(
49
+ `Prisma db drop is currently in Preview (${(0, import_internals.link)("https://pris.ly/d/preview")}).
50
+ There may be bugs and it's not recommended to use it in production environments.`
51
+ )}
52
+ ${(0, import_chunk_SKRR5WT4.dim)("When using any of the subcommands below you need to explicitly opt-in via the --preview-feature flag.")}
53
+
54
+ ${(0, import_chunk_SKRR5WT4.bold)("Usage")}
55
+
56
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop [options] --preview-feature
57
+
58
+ ${(0, import_chunk_SKRR5WT4.bold)("Options")}
59
+
60
+ -h, --help Display this help message
61
+ --config Custom path to your Prisma config file
62
+ --schema Custom path to your Prisma schema
63
+ -f, --force Skip the confirmation prompt
64
+
65
+ ${(0, import_chunk_SKRR5WT4.bold)("Examples")}
66
+
67
+ Drop the database
68
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature
69
+
70
+ Specify a schema
71
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --schema=./schema.prisma
72
+
73
+ Use --force to skip the confirmation prompt
74
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --force
75
+ `);
47
76
  async parse(argv, config) {
48
77
  const args = (0, import_internals.arg)(argv, {
49
78
  "--help": Boolean,
@@ -58,7 +87,6 @@ var _DbDrop = class _DbDrop2 {
58
87
  if ((0, import_internals.isError)(args)) {
59
88
  return this.help(args.message);
60
89
  }
61
- await (0, import_internals.checkUnsupportedDataProxy)("db drop", args, config.schema, true);
62
90
  if (args["--help"]) {
63
91
  return this.help();
64
92
  }
@@ -66,8 +94,12 @@ var _DbDrop = class _DbDrop2 {
66
94
  throw new import_chunk_IHDN3L3R.PreviewFlagError();
67
95
  }
68
96
  await (0, import_internals.loadEnvFile)({ schemaPath: args["--schema"], printMessage: true, config });
69
- const { schemaPath } = await (0, import_chunk_GKDFIHM2.getSchemaPathAndPrint)(args["--schema"], config.schema);
70
- const datasourceInfo = await (0, import_chunk_DJMFXNR4.getDatasourceInfo)({ schemaPath, throwIfEnvError: true });
97
+ const schemaContext = await (0, import_internals.loadSchemaContext)({
98
+ schemaPathFromArg: args["--schema"],
99
+ schemaPathFromConfig: config.schema
100
+ });
101
+ (0, import_internals.checkUnsupportedDataProxy)({ cmd: "db drop", schemaContext });
102
+ const datasourceInfo = (0, import_chunk_74LUB4XX.parseDatasourceInfo)(schemaContext.primaryDatasource);
71
103
  (0, import_chunk_QOPTDDIH.printDatasource)({ datasourceInfo });
72
104
  process.stdout.write("\n");
73
105
  if (!args["--force"]) {
@@ -100,40 +132,8 @@ ${(0, import_chunk_SKRR5WT4.red)("All data will be lost")}.`
100
132
  if (error) {
101
133
  return new import_internals.HelpError(`
102
134
  ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.red)(`!`))} ${error}
103
- ${_DbDrop2.help}`);
135
+ ${_DbDrop.help}`);
104
136
  }
105
- return _DbDrop2.help;
137
+ return _DbDrop.help;
106
138
  }
107
139
  };
108
- (0, import_chunk_WWAWV7DQ.__publicField)(_DbDrop, "help", (0, import_internals.format)(`
109
- ${process.platform === "win32" ? "" : "\u{1F4A3} "}Drop the database
110
-
111
- ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.yellow)("WARNING"))} ${(0, import_chunk_SKRR5WT4.bold)(
112
- `Prisma db drop is currently in Preview (${(0, import_internals.link)("https://pris.ly/d/preview")}).
113
- There may be bugs and it's not recommended to use it in production environments.`
114
- )}
115
- ${(0, import_chunk_SKRR5WT4.dim)("When using any of the subcommands below you need to explicitly opt-in via the --preview-feature flag.")}
116
-
117
- ${(0, import_chunk_SKRR5WT4.bold)("Usage")}
118
-
119
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop [options] --preview-feature
120
-
121
- ${(0, import_chunk_SKRR5WT4.bold)("Options")}
122
-
123
- -h, --help Display this help message
124
- --config Custom path to your Prisma config file
125
- --schema Custom path to your Prisma schema
126
- -f, --force Skip the confirmation prompt
127
-
128
- ${(0, import_chunk_SKRR5WT4.bold)("Examples")}
129
-
130
- Drop the database
131
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature
132
-
133
- Specify a schema
134
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --schema=./schema.prisma
135
-
136
- Use --force to skip the confirmation prompt
137
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --force
138
- `));
139
- var DbDrop = _DbDrop;
@@ -0,0 +1,479 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_URKH6SE2_exports = {};
30
+ __export(chunk_URKH6SE2_exports, {
31
+ cli_cursor_default: () => cli_cursor_default,
32
+ eastAsianWidth: () => eastAsianWidth,
33
+ stringWidth: () => stringWidth,
34
+ stripAnsi: () => stripAnsi
35
+ });
36
+ module.exports = __toCommonJS(chunk_URKH6SE2_exports);
37
+ var import_node_process = __toESM(require("node:process"));
38
+ var import_node_process2 = __toESM(require("node:process"));
39
+ var copyProperty = (to, from, property, ignoreNonConfigurable) => {
40
+ if (property === "length" || property === "prototype") {
41
+ return;
42
+ }
43
+ if (property === "arguments" || property === "caller") {
44
+ return;
45
+ }
46
+ const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
47
+ const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);
48
+ if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
49
+ return;
50
+ }
51
+ Object.defineProperty(to, property, fromDescriptor);
52
+ };
53
+ var canCopyProperty = function(toDescriptor, fromDescriptor) {
54
+ return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
55
+ };
56
+ var changePrototype = (to, from) => {
57
+ const fromPrototype = Object.getPrototypeOf(from);
58
+ if (fromPrototype === Object.getPrototypeOf(to)) {
59
+ return;
60
+ }
61
+ Object.setPrototypeOf(to, fromPrototype);
62
+ };
63
+ var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
64
+ ${fromBody}`;
65
+ var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
66
+ var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
67
+ var changeToString = (to, from, name) => {
68
+ const withName = name === "" ? "" : `with ${name.trim()}() `;
69
+ const newToString = wrappedToString.bind(null, withName, from.toString());
70
+ Object.defineProperty(newToString, "name", toStringName);
71
+ const { writable, enumerable, configurable } = toStringDescriptor;
72
+ Object.defineProperty(to, "toString", { value: newToString, writable, enumerable, configurable });
73
+ };
74
+ function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
75
+ const { name } = to;
76
+ for (const property of Reflect.ownKeys(from)) {
77
+ copyProperty(to, from, property, ignoreNonConfigurable);
78
+ }
79
+ changePrototype(to, from);
80
+ changeToString(to, from, name);
81
+ return to;
82
+ }
83
+ var calledFunctions = /* @__PURE__ */ new WeakMap();
84
+ var onetime = (function_, options = {}) => {
85
+ if (typeof function_ !== "function") {
86
+ throw new TypeError("Expected a function");
87
+ }
88
+ let returnValue;
89
+ let callCount = 0;
90
+ const functionName = function_.displayName || function_.name || "<anonymous>";
91
+ const onetime2 = function(...arguments_) {
92
+ calledFunctions.set(onetime2, ++callCount);
93
+ if (callCount === 1) {
94
+ returnValue = function_.apply(this, arguments_);
95
+ function_ = void 0;
96
+ } else if (options.throw === true) {
97
+ throw new Error(`Function \`${functionName}\` can only be called once`);
98
+ }
99
+ return returnValue;
100
+ };
101
+ mimicFunction(onetime2, function_);
102
+ calledFunctions.set(onetime2, callCount);
103
+ return onetime2;
104
+ };
105
+ onetime.callCount = (function_) => {
106
+ if (!calledFunctions.has(function_)) {
107
+ throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
108
+ }
109
+ return calledFunctions.get(function_);
110
+ };
111
+ var onetime_default = onetime;
112
+ var signals = [];
113
+ signals.push("SIGHUP", "SIGINT", "SIGTERM");
114
+ if (process.platform !== "win32") {
115
+ signals.push(
116
+ "SIGALRM",
117
+ "SIGABRT",
118
+ "SIGVTALRM",
119
+ "SIGXCPU",
120
+ "SIGXFSZ",
121
+ "SIGUSR2",
122
+ "SIGTRAP",
123
+ "SIGSYS",
124
+ "SIGQUIT",
125
+ "SIGIOT"
126
+ // should detect profiler and enable/disable accordingly.
127
+ // see #21
128
+ // 'SIGPROF'
129
+ );
130
+ }
131
+ if (process.platform === "linux") {
132
+ signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
133
+ }
134
+ var processOk = (process5) => !!process5 && typeof process5 === "object" && typeof process5.removeListener === "function" && typeof process5.emit === "function" && typeof process5.reallyExit === "function" && typeof process5.listeners === "function" && typeof process5.kill === "function" && typeof process5.pid === "number" && typeof process5.on === "function";
135
+ var kExitEmitter = Symbol.for("signal-exit emitter");
136
+ var global = globalThis;
137
+ var ObjectDefineProperty = Object.defineProperty.bind(Object);
138
+ var Emitter = class {
139
+ emitted = {
140
+ afterExit: false,
141
+ exit: false
142
+ };
143
+ listeners = {
144
+ afterExit: [],
145
+ exit: []
146
+ };
147
+ count = 0;
148
+ id = Math.random();
149
+ constructor() {
150
+ if (global[kExitEmitter]) {
151
+ return global[kExitEmitter];
152
+ }
153
+ ObjectDefineProperty(global, kExitEmitter, {
154
+ value: this,
155
+ writable: false,
156
+ enumerable: false,
157
+ configurable: false
158
+ });
159
+ }
160
+ on(ev, fn) {
161
+ this.listeners[ev].push(fn);
162
+ }
163
+ removeListener(ev, fn) {
164
+ const list = this.listeners[ev];
165
+ const i = list.indexOf(fn);
166
+ if (i === -1) {
167
+ return;
168
+ }
169
+ if (i === 0 && list.length === 1) {
170
+ list.length = 0;
171
+ } else {
172
+ list.splice(i, 1);
173
+ }
174
+ }
175
+ emit(ev, code, signal) {
176
+ if (this.emitted[ev]) {
177
+ return false;
178
+ }
179
+ this.emitted[ev] = true;
180
+ let ret = false;
181
+ for (const fn of this.listeners[ev]) {
182
+ ret = fn(code, signal) === true || ret;
183
+ }
184
+ if (ev === "exit") {
185
+ ret = this.emit("afterExit", code, signal) || ret;
186
+ }
187
+ return ret;
188
+ }
189
+ };
190
+ var SignalExitBase = class {
191
+ };
192
+ var signalExitWrap = (handler) => {
193
+ return {
194
+ onExit(cb, opts) {
195
+ return handler.onExit(cb, opts);
196
+ },
197
+ load() {
198
+ return handler.load();
199
+ },
200
+ unload() {
201
+ return handler.unload();
202
+ }
203
+ };
204
+ };
205
+ var SignalExitFallback = class extends SignalExitBase {
206
+ onExit() {
207
+ return () => {
208
+ };
209
+ }
210
+ load() {
211
+ }
212
+ unload() {
213
+ }
214
+ };
215
+ var SignalExit = class extends SignalExitBase {
216
+ // "SIGHUP" throws an `ENOSYS` error on Windows,
217
+ // so use a supported signal instead
218
+ /* c8 ignore start */
219
+ #hupSig = process2.platform === "win32" ? "SIGINT" : "SIGHUP";
220
+ /* c8 ignore stop */
221
+ #emitter = new Emitter();
222
+ #process;
223
+ #originalProcessEmit;
224
+ #originalProcessReallyExit;
225
+ #sigListeners = {};
226
+ #loaded = false;
227
+ constructor(process5) {
228
+ super();
229
+ this.#process = process5;
230
+ this.#sigListeners = {};
231
+ for (const sig of signals) {
232
+ this.#sigListeners[sig] = () => {
233
+ const listeners = this.#process.listeners(sig);
234
+ let { count } = this.#emitter;
235
+ const p = process5;
236
+ if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
237
+ count += p.__signal_exit_emitter__.count;
238
+ }
239
+ if (listeners.length === count) {
240
+ this.unload();
241
+ const ret = this.#emitter.emit("exit", null, sig);
242
+ const s = sig === "SIGHUP" ? this.#hupSig : sig;
243
+ if (!ret)
244
+ process5.kill(process5.pid, s);
245
+ }
246
+ };
247
+ }
248
+ this.#originalProcessReallyExit = process5.reallyExit;
249
+ this.#originalProcessEmit = process5.emit;
250
+ }
251
+ onExit(cb, opts) {
252
+ if (!processOk(this.#process)) {
253
+ return () => {
254
+ };
255
+ }
256
+ if (this.#loaded === false) {
257
+ this.load();
258
+ }
259
+ const ev = opts?.alwaysLast ? "afterExit" : "exit";
260
+ this.#emitter.on(ev, cb);
261
+ return () => {
262
+ this.#emitter.removeListener(ev, cb);
263
+ if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
264
+ this.unload();
265
+ }
266
+ };
267
+ }
268
+ load() {
269
+ if (this.#loaded) {
270
+ return;
271
+ }
272
+ this.#loaded = true;
273
+ this.#emitter.count += 1;
274
+ for (const sig of signals) {
275
+ try {
276
+ const fn = this.#sigListeners[sig];
277
+ if (fn)
278
+ this.#process.on(sig, fn);
279
+ } catch (_) {
280
+ }
281
+ }
282
+ this.#process.emit = (ev, ...a) => {
283
+ return this.#processEmit(ev, ...a);
284
+ };
285
+ this.#process.reallyExit = (code) => {
286
+ return this.#processReallyExit(code);
287
+ };
288
+ }
289
+ unload() {
290
+ if (!this.#loaded) {
291
+ return;
292
+ }
293
+ this.#loaded = false;
294
+ signals.forEach((sig) => {
295
+ const listener = this.#sigListeners[sig];
296
+ if (!listener) {
297
+ throw new Error("Listener not defined for signal: " + sig);
298
+ }
299
+ try {
300
+ this.#process.removeListener(sig, listener);
301
+ } catch (_) {
302
+ }
303
+ });
304
+ this.#process.emit = this.#originalProcessEmit;
305
+ this.#process.reallyExit = this.#originalProcessReallyExit;
306
+ this.#emitter.count -= 1;
307
+ }
308
+ #processReallyExit(code) {
309
+ if (!processOk(this.#process)) {
310
+ return 0;
311
+ }
312
+ this.#process.exitCode = code || 0;
313
+ this.#emitter.emit("exit", this.#process.exitCode, null);
314
+ return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
315
+ }
316
+ #processEmit(ev, ...args) {
317
+ const og = this.#originalProcessEmit;
318
+ if (ev === "exit" && processOk(this.#process)) {
319
+ if (typeof args[0] === "number") {
320
+ this.#process.exitCode = args[0];
321
+ }
322
+ const ret = og.call(this.#process, ev, ...args);
323
+ this.#emitter.emit("exit", this.#process.exitCode, null);
324
+ return ret;
325
+ } else {
326
+ return og.call(this.#process, ev, ...args);
327
+ }
328
+ }
329
+ };
330
+ var process2 = globalThis.process;
331
+ var {
332
+ /**
333
+ * Called when the process is exiting, whether via signal, explicit
334
+ * exit, or running out of stuff to do.
335
+ *
336
+ * If the global process object is not suitable for instrumentation,
337
+ * then this will be a no-op.
338
+ *
339
+ * Returns a function that may be used to unload signal-exit.
340
+ */
341
+ onExit,
342
+ /**
343
+ * Load the listeners. Likely you never need to call this, unless
344
+ * doing a rather deep integration with signal-exit functionality.
345
+ * Mostly exposed for the benefit of testing.
346
+ *
347
+ * @internal
348
+ */
349
+ load,
350
+ /**
351
+ * Unload the listeners. Likely you never need to call this, unless
352
+ * doing a rather deep integration with signal-exit functionality.
353
+ * Mostly exposed for the benefit of testing.
354
+ *
355
+ * @internal
356
+ */
357
+ unload
358
+ } = signalExitWrap(processOk(process2) ? new SignalExit(process2) : new SignalExitFallback());
359
+ var terminal = import_node_process2.default.stderr.isTTY ? import_node_process2.default.stderr : import_node_process2.default.stdout.isTTY ? import_node_process2.default.stdout : void 0;
360
+ var restoreCursor = terminal ? onetime_default(() => {
361
+ onExit(() => {
362
+ terminal.write("\x1B[?25h");
363
+ }, { alwaysLast: true });
364
+ }) : () => {
365
+ };
366
+ var restore_cursor_default = restoreCursor;
367
+ var isHidden = false;
368
+ var cliCursor = {};
369
+ cliCursor.show = (writableStream = import_node_process.default.stderr) => {
370
+ if (!writableStream.isTTY) {
371
+ return;
372
+ }
373
+ isHidden = false;
374
+ writableStream.write("\x1B[?25h");
375
+ };
376
+ cliCursor.hide = (writableStream = import_node_process.default.stderr) => {
377
+ if (!writableStream.isTTY) {
378
+ return;
379
+ }
380
+ restore_cursor_default();
381
+ isHidden = true;
382
+ writableStream.write("\x1B[?25l");
383
+ };
384
+ cliCursor.toggle = (force, writableStream) => {
385
+ if (force !== void 0) {
386
+ isHidden = force;
387
+ }
388
+ if (isHidden) {
389
+ cliCursor.show(writableStream);
390
+ } else {
391
+ cliCursor.hide(writableStream);
392
+ }
393
+ };
394
+ var cli_cursor_default = cliCursor;
395
+ function ansiRegex({ onlyFirst = false } = {}) {
396
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
397
+ const pattern = [
398
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
399
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
400
+ ].join("|");
401
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
402
+ }
403
+ var regex = ansiRegex();
404
+ function stripAnsi(string) {
405
+ if (typeof string !== "string") {
406
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
407
+ }
408
+ return string.replace(regex, "");
409
+ }
410
+ function isAmbiguous(x) {
411
+ return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
412
+ }
413
+ function isFullWidth(x) {
414
+ return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
415
+ }
416
+ function isWide(x) {
417
+ return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101631 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129673 || x >= 129679 && x <= 129734 || x >= 129742 && x <= 129756 || x >= 129759 && x <= 129769 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
418
+ }
419
+ function validate(codePoint) {
420
+ if (!Number.isSafeInteger(codePoint)) {
421
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
422
+ }
423
+ }
424
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
425
+ validate(codePoint);
426
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
427
+ return 2;
428
+ }
429
+ return 1;
430
+ }
431
+ var emoji_regex_default = () => {
432
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
433
+ };
434
+ var segmenter = new Intl.Segmenter();
435
+ var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
436
+ function stringWidth(string, options = {}) {
437
+ if (typeof string !== "string" || string.length === 0) {
438
+ return 0;
439
+ }
440
+ const {
441
+ ambiguousIsNarrow = true,
442
+ countAnsiEscapeCodes = false
443
+ } = options;
444
+ if (!countAnsiEscapeCodes) {
445
+ string = stripAnsi(string);
446
+ }
447
+ if (string.length === 0) {
448
+ return 0;
449
+ }
450
+ let width = 0;
451
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
452
+ for (const { segment: character } of segmenter.segment(string)) {
453
+ const codePoint = character.codePointAt(0);
454
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
455
+ continue;
456
+ }
457
+ if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
458
+ continue;
459
+ }
460
+ if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
461
+ continue;
462
+ }
463
+ if (codePoint >= 55296 && codePoint <= 57343) {
464
+ continue;
465
+ }
466
+ if (codePoint >= 65024 && codePoint <= 65039) {
467
+ continue;
468
+ }
469
+ if (defaultIgnorableCodePointRegex.test(character)) {
470
+ continue;
471
+ }
472
+ if (emoji_regex_default().test(character)) {
473
+ width += 2;
474
+ continue;
475
+ }
476
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
477
+ }
478
+ return width;
479
+ }
@@ -16,16 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_DLLXDCI2_exports = {};
20
- __export(chunk_DLLXDCI2_exports, {
19
+ var chunk_VAJ4VX67_exports = {};
20
+ __export(chunk_VAJ4VX67_exports, {
21
21
  CaptureStdout: () => CaptureStdout
22
22
  });
23
- module.exports = __toCommonJS(chunk_DLLXDCI2_exports);
24
- var import_chunk_WWAWV7DQ = require("./chunk-WWAWV7DQ.js");
23
+ module.exports = __toCommonJS(chunk_VAJ4VX67_exports);
25
24
  var CaptureStdout = class {
25
+ _capturedText;
26
+ _orig_stdout_write;
26
27
  constructor() {
27
- (0, import_chunk_WWAWV7DQ.__publicField)(this, "_capturedText");
28
- (0, import_chunk_WWAWV7DQ.__publicField)(this, "_orig_stdout_write");
29
28
  this._capturedText = [];
30
29
  this._orig_stdout_write = null;
31
30
  }