@prisma/internals 6.19.0 → 6.20.0-integration-next.2

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 (116) hide show
  1. package/dist/{chunk-GMW36QQF.js → chunk-22HIO2UL.js} +7 -7
  2. package/dist/{chunk-C7SAKLK2.js → chunk-24ZPBDBI.js} +11 -11
  3. package/dist/{chunk-D7OTFXCP.js → chunk-2Q43C56O.js} +5 -5
  4. package/dist/{chunk-SOKSKSEX.js → chunk-2UPB3LSW.js} +14 -20
  5. package/dist/{chunk-I6WLABB2.js → chunk-3WXUQZS7.js} +14 -5
  6. package/dist/{chunk-Y7XBA7JY.js → chunk-3ZWEK4N6.js} +5 -5
  7. package/dist/{chunk-RS2R7COT.js → chunk-5I4ERIIY.js} +3 -9
  8. package/dist/{chunk-F2OZV76L.js → chunk-5MHUYAV3.js} +9 -9
  9. package/dist/{chunk-HO5HRHFZ.js → chunk-5W3BSMTH.js} +3 -6
  10. package/dist/{chunk-TBR6SNKL.js → chunk-73HXEN2A.js} +5 -5
  11. package/dist/{chunk-FHZ5QJLR.js → chunk-AL7ZUBHY.js} +5 -5
  12. package/dist/{chunk-WFNB7VRA.js → chunk-ARC7TW3L.js} +4 -14
  13. package/dist/{chunk-CCLAMTCA.js → chunk-B2BNIZB2.js} +7 -8
  14. package/dist/{chunk-UQUWZJVN.js → chunk-BM3JIFQT.js} +7 -7
  15. package/dist/{chunk-2GUGGLPK.js → chunk-BMMRL7AY.js} +38 -94
  16. package/dist/{chunk-HFFWZTVM.js → chunk-BUQN4WLU.js} +7 -9
  17. package/dist/{chunk-AP3F7M3T.js → chunk-C5YUUOQW.js} +12 -12
  18. package/dist/{chunk-HHG4DGHC.js → chunk-CGLLQXZE.js} +11 -12
  19. package/dist/chunk-DYV47NUW.js +796 -0
  20. package/dist/{chunk-IDINCQMN.js → chunk-FF7OLLBP.js} +12 -784
  21. package/dist/{chunk-4CGPN5SR.js → chunk-GJSFP4V4.js} +3 -9
  22. package/dist/{chunk-4JCVHBYR.js → chunk-GL7OANR6.js} +5 -5
  23. package/dist/{chunk-OAT7ZJED.js → chunk-H5STSTVK.js} +7 -20
  24. package/dist/{chunk-FYZCPL2Z.js → chunk-HNRMSI3R.js} +5 -8
  25. package/dist/{chunk-JTS4UPHJ.js → chunk-IQLWIY62.js} +5 -5
  26. package/dist/{chunk-LU7NT333.js → chunk-K5SXCDBM.js} +11 -11
  27. package/dist/{chunk-5IQ5L5E4.js → chunk-KGES6NIS.js} +38 -94
  28. package/dist/{chunk-NVNI2SRU.js → chunk-KNNTV7IN.js} +687 -213
  29. package/dist/{chunk-LFFCR67R.js → chunk-LA5QBRTU.js} +14 -20
  30. package/dist/{chunk-5AI4FIZ3.js → chunk-MEOOYUIZ.js} +10 -10
  31. package/dist/{chunk-TQFONRJP.js → chunk-MLFKBBDL.js} +5 -5
  32. package/dist/{chunk-7QC5VORA.js → chunk-MYLPCGTT.js} +5 -5
  33. package/dist/{chunk-LV27YCGC.js → chunk-NCYLUGLI.js} +11 -11
  34. package/dist/{chunk-EYVG6XQS.js → chunk-OKVM3CW4.js} +3 -39
  35. package/dist/{chunk-JOIIWB3U.js → chunk-QOZ7USPD.js} +193 -159
  36. package/dist/{chunk-BVJP43JS.js → chunk-QSVWJ2S2.js} +13 -784
  37. package/dist/{chunk-WYQJ4JWO.js → chunk-S3KGFJ2G.js} +12 -12
  38. package/dist/{chunk-75BIJ5PX.js → chunk-SMJRM3EM.js} +9 -9
  39. package/dist/{chunk-FGU7IK4W.js → chunk-SQI3K6L7.js} +8 -9
  40. package/dist/{chunk-AX5N26KG.js → chunk-TGA7DC5A.js} +14 -9
  41. package/dist/{chunk-QJ3QPUM5.js → chunk-VFZCLI5X.js} +5 -5
  42. package/dist/{chunk-E4H6V3Z4.js → chunk-VHE2A7YV.js} +11 -11
  43. package/dist/{chunk-UHI6VYFX.js → chunk-WJKBKH3Y.js} +5 -5
  44. package/dist/{chunk-TZJROXB3.js → chunk-WSZXPLJQ.js} +4 -4
  45. package/dist/{chunk-PHFQSMQF.js → chunk-WU6O3W6S.js} +5 -5
  46. package/dist/{chunk-E6MOBIU5.js → chunk-ZKAM5JVB.js} +5 -5
  47. package/dist/cli/checkUnsupportedDataProxy.js +53 -60
  48. package/dist/cli/getGeneratorSuccessMessage.js +2 -3
  49. package/dist/cli/getSchema.d.ts +1 -15
  50. package/dist/cli/getSchema.js +4 -5
  51. package/dist/cli/hashes.js +4 -4
  52. package/dist/cli/schemaContext.d.ts +1 -3
  53. package/dist/cli/schemaContext.js +53 -60
  54. package/dist/engine-commands/errorHelpers.js +4 -4
  55. package/dist/engine-commands/formatSchema.js +52 -59
  56. package/dist/engine-commands/getConfig.d.ts +0 -1
  57. package/dist/engine-commands/getConfig.js +13 -13
  58. package/dist/engine-commands/getDmmf.js +10 -10
  59. package/dist/engine-commands/getEngineVersion.js +6 -9
  60. package/dist/engine-commands/getEnginesInfo.d.ts +0 -1
  61. package/dist/engine-commands/getEnginesInfo.js +7 -9
  62. package/dist/engine-commands/index.js +64 -71
  63. package/dist/engine-commands/lintSchema.js +9 -9
  64. package/dist/engine-commands/mergeSchemas.js +10 -10
  65. package/dist/engine-commands/queryEngineCommons.js +6 -6
  66. package/dist/engine-commands/validate.js +10 -10
  67. package/dist/errorReporting.js +6 -6
  68. package/dist/get-generators/getGenerators.d.ts +0 -1
  69. package/dist/get-generators/getGenerators.js +55 -62
  70. package/dist/get-generators/utils/binaryTypeToEngineType.js +2 -2
  71. package/dist/get-generators/utils/engineTypeToBinaryType.js +2 -2
  72. package/dist/get-generators/utils/getBinaryPathsByVersion.js +6 -5
  73. package/dist/getPackedPackage.js +4 -3
  74. package/dist/index.d.ts +1 -10
  75. package/dist/index.js +95 -112
  76. package/dist/{multipart-parser-3AFJFP6K.js → multipart-parser-UV3WZSWW.js} +6 -6
  77. package/dist/resolveBinary.js +8 -7
  78. package/dist/schemaEngineCommands.js +9 -8
  79. package/dist/sendPanic.js +4 -4
  80. package/dist/utils/drawBox.js +2 -2
  81. package/dist/utils/fs-functional.js +10 -10
  82. package/dist/utils/fs-utils.js +8 -8
  83. package/dist/utils/getVersionFromPackageJson.js +3 -3
  84. package/dist/utils/handlePanic.js +6 -6
  85. package/dist/utils/link.js +2 -2
  86. package/dist/utils/missingDatasource.js +3 -3
  87. package/dist/utils/missingGeneratorMessage.js +5 -5
  88. package/dist/utils/serializeQueryEngineName.js +2 -2
  89. package/dist/wasm.js +5 -5
  90. package/package.json +15 -16
  91. package/dist/chunk-3FP46GUV.js +0 -471
  92. package/dist/chunk-46ABODUM.js +0 -186
  93. package/dist/chunk-6TTRTZXU.js +0 -37
  94. package/dist/chunk-D4VDA2TZ.js +0 -66
  95. package/dist/chunk-DZYINYAA.js +0 -68
  96. package/dist/chunk-ERSH2BQA.js +0 -58
  97. package/dist/chunk-PZMRR772.js +0 -41
  98. package/dist/chunk-T2PM5TKT.js +0 -55
  99. package/dist/cli/checkUnsupportedSchemaEngineWasm.d.ts +0 -22
  100. package/dist/cli/checkUnsupportedSchemaEngineWasm.js +0 -135
  101. package/dist/client/getClientEngineType.d.ts +0 -7
  102. package/dist/client/getClientEngineType.js +0 -26
  103. package/dist/dotenvExpand.d.ts +0 -35
  104. package/dist/dotenvExpand.js +0 -25
  105. package/dist/utils/cloudflareD1.d.ts +0 -5
  106. package/dist/utils/cloudflareD1.js +0 -27
  107. package/dist/utils/getEnvPaths.d.ts +0 -14
  108. package/dist/utils/getEnvPaths.js +0 -29
  109. package/dist/utils/handleEngineLoadingErrors.d.ts +0 -8
  110. package/dist/utils/handleEngineLoadingErrors.js +0 -27
  111. package/dist/utils/load.d.ts +0 -6
  112. package/dist/utils/load.js +0 -28
  113. package/dist/utils/loadEnvFile.d.ts +0 -10
  114. package/dist/utils/loadEnvFile.js +0 -30
  115. package/dist/utils/tryLoadEnvs.d.ts +0 -25
  116. package/dist/utils/tryLoadEnvs.js +0 -30
@@ -26,49 +26,44 @@ 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_2GUGGLPK_exports = {};
30
- __export(chunk_2GUGGLPK_exports, {
29
+ var chunk_BMMRL7AY_exports = {};
30
+ __export(chunk_BMMRL7AY_exports, {
31
31
  checkUnsupportedDataProxy: () => checkUnsupportedDataProxy,
32
- checkUnsupportedSchemaEngineWasm: () => checkUnsupportedSchemaEngineWasm,
33
- forbiddenCmdFlagWithSchemaEngineWasm: () => forbiddenCmdFlagWithSchemaEngineWasm,
34
32
  forbiddenCmdWithDataProxyFlagMessage: () => forbiddenCmdWithDataProxyFlagMessage,
35
33
  formatSchema: () => formatSchema,
36
34
  getBinaryTargetForCurrentPlatform: () => import_get_platform2.getBinaryTargetForCurrentPlatform,
37
35
  getGenerator: () => getGenerator,
38
36
  getGenerators: () => getGenerators,
39
- getNodeAPIName: () => import_get_platform2.getNodeAPIName,
40
37
  knownBinaryTargets: () => knownBinaryTargets,
41
38
  loadSchemaContext: () => loadSchemaContext,
42
39
  processSchemaResult: () => processSchemaResult,
43
40
  skipIndex: () => skipIndex
44
41
  });
45
- module.exports = __toCommonJS(chunk_2GUGGLPK_exports);
46
- var import_chunk_X3P4J7WW = require("./chunk-X3P4J7WW.js");
42
+ module.exports = __toCommonJS(chunk_BMMRL7AY_exports);
47
43
  var import_chunk_LRU47BGE = require("./chunk-LRU47BGE.js");
48
44
  var import_chunk_X77CS5RK = require("./chunk-X77CS5RK.js");
49
- var import_chunk_F2OZV76L = require("./chunk-F2OZV76L.js");
50
- var import_chunk_RS2R7COT = require("./chunk-RS2R7COT.js");
45
+ var import_chunk_5MHUYAV3 = require("./chunk-5MHUYAV3.js");
46
+ var import_chunk_X3P4J7WW = require("./chunk-X3P4J7WW.js");
51
47
  var import_chunk_GXW4NTU2 = require("./chunk-GXW4NTU2.js");
52
48
  var import_chunk_5FJ3MENK = require("./chunk-5FJ3MENK.js");
53
- var import_chunk_7QC5VORA = require("./chunk-7QC5VORA.js");
54
- var import_chunk_AX5N26KG = require("./chunk-AX5N26KG.js");
55
- var import_chunk_46ABODUM = require("./chunk-46ABODUM.js");
56
- var import_chunk_I6WLABB2 = require("./chunk-I6WLABB2.js");
49
+ var import_chunk_MYLPCGTT = require("./chunk-MYLPCGTT.js");
50
+ var import_chunk_TGA7DC5A = require("./chunk-TGA7DC5A.js");
51
+ var import_chunk_3WXUQZS7 = require("./chunk-3WXUQZS7.js");
57
52
  var import_chunk_CRVLHWC5 = require("./chunk-CRVLHWC5.js");
58
- var import_chunk_SOKSKSEX = require("./chunk-SOKSKSEX.js");
59
- var import_chunk_LV27YCGC = require("./chunk-LV27YCGC.js");
60
- var import_chunk_TBR6SNKL = require("./chunk-TBR6SNKL.js");
61
- var import_chunk_E4H6V3Z4 = require("./chunk-E4H6V3Z4.js");
62
- var import_chunk_EYVG6XQS = require("./chunk-EYVG6XQS.js");
63
- var import_chunk_FHZ5QJLR = require("./chunk-FHZ5QJLR.js");
64
- var import_chunk_ZJWZK45Z = require("./chunk-ZJWZK45Z.js");
53
+ var import_chunk_ZKAM5JVB = require("./chunk-ZKAM5JVB.js");
54
+ var import_chunk_K5SXCDBM = require("./chunk-K5SXCDBM.js");
55
+ var import_chunk_2UPB3LSW = require("./chunk-2UPB3LSW.js");
56
+ var import_chunk_NCYLUGLI = require("./chunk-NCYLUGLI.js");
57
+ var import_chunk_AL7ZUBHY = require("./chunk-AL7ZUBHY.js");
58
+ var import_chunk_OKVM3CW4 = require("./chunk-OKVM3CW4.js");
65
59
  var import_chunk_2B26F5N3 = require("./chunk-2B26F5N3.js");
66
60
  var import_chunk_XKZ6CBLA = require("./chunk-XKZ6CBLA.js");
67
61
  var import_chunk_LMVSIVKQ = require("./chunk-LMVSIVKQ.js");
68
62
  var import_chunk_BPDMLM32 = require("./chunk-BPDMLM32.js");
69
63
  var import_chunk_IOIAK7V7 = require("./chunk-IOIAK7V7.js");
64
+ var import_chunk_QSVWJ2S2 = require("./chunk-QSVWJ2S2.js");
65
+ var import_chunk_ZJWZK45Z = require("./chunk-ZJWZK45Z.js");
70
66
  var import_chunk_PG5FDKSF = require("./chunk-PG5FDKSF.js");
71
- var import_chunk_BVJP43JS = require("./chunk-BVJP43JS.js");
72
67
  var import_chunk_4VNS5WPM = require("./chunk-4VNS5WPM.js");
73
68
  var import_path = __toESM(require("path"));
74
69
  var import_debug = __toESM(require("@prisma/debug"));
@@ -77,32 +72,11 @@ var import_engines = require("@prisma/engines");
77
72
  var import_get_platform = require("@prisma/get-platform");
78
73
  var import_path2 = __toESM(require("path"));
79
74
  var import_get_platform2 = require("@prisma/get-platform");
80
- var forbiddenCmdFlagWithSchemaEngineWasm = ({ cmd, flag }) => `
81
- Passing the ${(0, import_chunk_PG5FDKSF.green)(`${flag}`)} flag to the ${(0, import_chunk_PG5FDKSF.green)(`prisma ${cmd}`)} command is not supported when
82
- defining an ${(0, import_chunk_PG5FDKSF.green)(`adapter`)} in Prisma config file (e.g., ${(0, import_chunk_PG5FDKSF.green)(`\`prisma.config.ts\``)}).
83
-
84
- More information about this limitation: ${(0, import_chunk_I6WLABB2.link)("https://pris.ly/d/schema-engine-limitations")}
85
- `;
86
- function checkUnsupportedSchemaEngineWasm({
87
- cmd,
88
- config,
89
- args,
90
- flags
91
- }) {
92
- if (config.engine !== "js") {
93
- return;
94
- }
95
- for (const flag of flags) {
96
- if (args[flag] !== void 0) {
97
- throw new Error(forbiddenCmdFlagWithSchemaEngineWasm({ cmd, flag }));
98
- }
99
- }
100
- }
101
75
  var debug = (0, import_debug.default)("prisma:format");
102
76
  async function formatSchema({ schemas }, inputFormattingOptions) {
103
77
  if (process.env.FORCE_PANIC_PRISMA_SCHEMA) {
104
78
  handleFormatPanic(() => {
105
- import_chunk_FHZ5QJLR.prismaSchemaWasm.debug_panic();
79
+ import_chunk_AL7ZUBHY.prismaSchemaWasm.debug_panic();
106
80
  });
107
81
  }
108
82
  const defaultFormattingOptions = {
@@ -119,10 +93,10 @@ async function formatSchema({ schemas }, inputFormattingOptions) {
119
93
  const { formattedMultipleSchemas, lintDiagnostics } = handleFormatPanic(() => {
120
94
  const formattedMultipleSchemasRaw = formatWasm(JSON.stringify(schemas), documentFormattingParams);
121
95
  const formattedMultipleSchemas2 = JSON.parse(formattedMultipleSchemasRaw);
122
- const lintDiagnostics2 = (0, import_chunk_TBR6SNKL.lintSchema)({ schemas: formattedMultipleSchemas2 });
96
+ const lintDiagnostics2 = (0, import_chunk_ZKAM5JVB.lintSchema)({ schemas: formattedMultipleSchemas2 });
123
97
  return { formattedMultipleSchemas: formattedMultipleSchemas2, lintDiagnostics: lintDiagnostics2 };
124
98
  });
125
- const lintWarnings = (0, import_chunk_TBR6SNKL.getLintWarningsAsText)(lintDiagnostics);
99
+ const lintWarnings = (0, import_chunk_ZKAM5JVB.getLintWarningsAsText)(lintDiagnostics);
126
100
  if (lintWarnings && import_chunk_ZJWZK45Z.logger_exports.should.warn()) {
127
101
  console.warn(lintWarnings);
128
102
  }
@@ -149,7 +123,7 @@ function handleFormatPanic(tryCb) {
149
123
  }
150
124
  }
151
125
  function formatWasm(schema, documentFormattingParams) {
152
- const formattedSchema = import_chunk_FHZ5QJLR.prismaSchemaWasm.format(schema, JSON.stringify(documentFormattingParams));
126
+ const formattedSchema = import_chunk_AL7ZUBHY.prismaSchemaWasm.format(schema, JSON.stringify(documentFormattingParams));
153
127
  return formattedSchema;
154
128
  }
155
129
  async function loadSchemaContext({
@@ -157,39 +131,37 @@ async function loadSchemaContext({
157
131
  schemaPathFromConfig,
158
132
  schemaEngineConfig,
159
133
  printLoadMessage = true,
160
- ignoreEnvVarErrors = false,
161
134
  allowNull = false,
162
135
  schemaPathArgumentName = "--schema",
163
136
  cwd = process.cwd()
164
137
  } = {}) {
165
138
  let schemaResult = null;
166
139
  if (allowNull) {
167
- schemaResult = await (0, import_chunk_EYVG6XQS.getSchemaWithPathOptional)(schemaPathFromArg, schemaPathFromConfig, {
140
+ schemaResult = await (0, import_chunk_OKVM3CW4.getSchemaWithPathOptional)(schemaPathFromArg, schemaPathFromConfig, {
168
141
  argumentName: schemaPathArgumentName,
169
142
  cwd
170
143
  });
171
144
  if (!schemaResult) return null;
172
145
  } else {
173
- schemaResult = await (0, import_chunk_EYVG6XQS.getSchemaWithPath)(schemaPathFromArg, schemaPathFromConfig, {
146
+ schemaResult = await (0, import_chunk_OKVM3CW4.getSchemaWithPath)(schemaPathFromArg, schemaPathFromConfig, {
174
147
  argumentName: schemaPathArgumentName,
175
148
  cwd
176
149
  });
177
150
  }
178
- return processSchemaResult({ schemaResult, schemaEngineConfig, printLoadMessage, ignoreEnvVarErrors, cwd });
151
+ return processSchemaResult({ schemaResult, schemaEngineConfig, printLoadMessage, cwd });
179
152
  }
180
153
  async function processSchemaResult({
181
154
  schemaResult,
182
155
  schemaEngineConfig,
183
156
  printLoadMessage = true,
184
- ignoreEnvVarErrors = false,
185
157
  cwd = process.cwd()
186
158
  }) {
187
159
  const loadedFromPathForLogMessages = import_path.default.relative(cwd, schemaResult.schemaPath);
188
160
  const schemaRootDir = schemaResult.schemaRootDir || cwd;
189
161
  if (printLoadMessage) {
190
- (0, import_chunk_EYVG6XQS.printSchemaLoadedMessage)(loadedFromPathForLogMessages);
162
+ (0, import_chunk_OKVM3CW4.printSchemaLoadedMessage)(loadedFromPathForLogMessages);
191
163
  }
192
- const configFromPsl = await (0, import_chunk_SOKSKSEX.getConfig)({ datamodel: schemaResult.schemas, ignoreEnvVarErrors });
164
+ const configFromPsl = await (0, import_chunk_2UPB3LSW.getConfig)({ datamodel: schemaResult.schemas });
193
165
  const datasourceFromPsl = configFromPsl.datasources.at(0);
194
166
  const primaryDatasource = (0, import_chunk_XKZ6CBLA.z)(schemaEngineConfig).with({ engine: "classic" }, ({ datasource }) => {
195
167
  const { url, directUrl, shadowDatabaseUrl } = datasource;
@@ -222,7 +194,7 @@ function getPrimaryDatasourceDirectory(primaryDatasource) {
222
194
  }
223
195
  return null;
224
196
  }
225
- var import_p_map = (0, import_chunk_4VNS5WPM.__toESM)((0, import_chunk_BVJP43JS.require_p_map)());
197
+ var import_p_map = (0, import_chunk_4VNS5WPM.__toESM)((0, import_chunk_QSVWJ2S2.require_p_map)());
226
198
  var debug2 = (0, import_debug2.default)("prisma:getGenerators");
227
199
  async function getGenerators(options) {
228
200
  if (options.registry === void 0 && options.providerAliases !== void 0) {
@@ -247,28 +219,27 @@ async function getGenerators(options) {
247
219
  binaryPathsOverride,
248
220
  generatorNames = [],
249
221
  postinstall,
250
- noEngine,
251
222
  allowNoModels = true,
252
223
  typedSql
253
224
  } = options;
254
- const schemaContext = !options.schemaContext && schemaPath ? await loadSchemaContext({ schemaPathFromArg: schemaPath, ignoreEnvVarErrors: true }) : options.schemaContext;
225
+ const schemaContext = !options.schemaContext && schemaPath ? await loadSchemaContext({ schemaPathFromArg: schemaPath }) : options.schemaContext;
255
226
  if (!schemaContext) {
256
227
  throw new Error(`no schema provided for getGenerators`);
257
228
  }
258
229
  if (!schemaContext.primaryDatasource) {
259
- throw new Error(import_chunk_7QC5VORA.missingDatasource);
230
+ throw new Error(import_chunk_MYLPCGTT.missingDatasource);
260
231
  }
261
232
  (0, import_chunk_5FJ3MENK.printConfigWarnings)(schemaContext.warnings);
262
233
  const previewFeatures = (0, import_chunk_CRVLHWC5.extractPreviewFeatures)(schemaContext.generators);
263
- const dmmf = await (0, import_chunk_LV27YCGC.getDMMF)({
234
+ const dmmf = await (0, import_chunk_NCYLUGLI.getDMMF)({
264
235
  datamodel: schemaContext.schemaFiles,
265
236
  previewFeatures
266
237
  });
267
238
  if (dmmf.datamodel.models.length === 0 && !allowNoModels) {
268
239
  if (schemaContext.primaryDatasource.provider === "mongodb") {
269
- throw new Error(import_chunk_AX5N26KG.missingModelMessageMongoDB);
240
+ throw new Error(import_chunk_TGA7DC5A.missingModelMessageMongoDB);
270
241
  }
271
- throw new Error(import_chunk_AX5N26KG.missingModelMessage);
242
+ throw new Error(import_chunk_TGA7DC5A.missingModelMessage);
272
243
  }
273
244
  const generatorConfigs = filterGenerators(overrideGenerators || schemaContext.generators, generatorNames);
274
245
  await validateGenerators(generatorConfigs);
@@ -311,8 +282,7 @@ You need to define \`output\` in the generator block in the schema file.`
311
282
  fromEnvVar: null
312
283
  };
313
284
  }
314
- const datamodel = (0, import_chunk_E4H6V3Z4.mergeSchemas)({ schemas: schemaContext.schemaFiles });
315
- const envPaths = await (0, import_chunk_46ABODUM.getEnvPaths)(schemaContext.schemaPath, { cwd: generatorConfig.output.value });
285
+ const datamodel = (0, import_chunk_K5SXCDBM.mergeSchemas)({ schemas: schemaContext.schemaFiles });
316
286
  const options2 = {
317
287
  datamodel,
318
288
  datasources: schemaContext.datasources,
@@ -324,9 +294,7 @@ You need to define \`output\` in the generator block in the schema file.`
324
294
  version: version2 || import_engines.enginesVersion,
325
295
  // this version makes no sense anymore and should be ignored
326
296
  postinstall,
327
- noEngine,
328
297
  allowNoModels,
329
- envPaths,
330
298
  typedSql
331
299
  };
332
300
  generatorInstance.setOptions(options2);
@@ -370,18 +338,16 @@ generator gen {
370
338
  }
371
339
  const generatorBinaryTargets = g.options?.generator?.binaryTargets;
372
340
  if (generatorBinaryTargets && generatorBinaryTargets.length > 0) {
373
- for (const binaryTarget2 of generatorBinaryTargets) {
374
- if (!neededVersions[neededVersion].binaryTargets.find((object) => object.value === binaryTarget2.value)) {
375
- neededVersions[neededVersion].binaryTargets.push(binaryTarget2);
341
+ for (const binaryTarget of generatorBinaryTargets) {
342
+ if (!neededVersions[neededVersion].binaryTargets.find((object) => object.value === binaryTarget.value)) {
343
+ neededVersions[neededVersion].binaryTargets.push(binaryTarget);
376
344
  }
377
345
  }
378
346
  }
379
347
  }
380
348
  }
381
- const queryEngineBinaryType = (0, import_engines.getCliQueryEngineBinaryType)();
382
- const queryEngineType = (0, import_chunk_RS2R7COT.binaryTypeToEngineType)(queryEngineBinaryType);
383
349
  debug2("neededVersions", JSON.stringify(neededVersions, null, 2));
384
- const { binaryPathsByVersion, binaryTarget } = await (0, import_chunk_F2OZV76L.getBinaryPathsByVersion)({
350
+ const { binaryPathsByVersion } = await (0, import_chunk_5MHUYAV3.getBinaryPathsByVersion)({
385
351
  neededVersions,
386
352
  // We're lazily computing the binary target here, to avoid printing the
387
353
  // `Prisma failed to detect the libssl/openssl version to use` warning
@@ -402,17 +368,6 @@ generator gen {
402
368
  const generatorBinaryPaths = (0, import_chunk_GXW4NTU2.pick)(binaryPaths ?? {}, generator.manifest.requiresEngines);
403
369
  debug2({ generatorBinaryPaths });
404
370
  generator.setBinaryPaths(generatorBinaryPaths);
405
- if (engineVersion !== version2 && generator.options && generator.manifest.requiresEngines.includes(queryEngineType) && generatorBinaryPaths[queryEngineType] && generatorBinaryPaths[queryEngineType]?.[binaryTarget]) {
406
- const customDmmf = await (0, import_chunk_LV27YCGC.getDMMF)({
407
- datamodel: schemaContext.schemaFiles,
408
- previewFeatures
409
- });
410
- const options2 = { ...generator.options, dmmf: customDmmf };
411
- debug2("generator.manifest.prettyName", generator.manifest.prettyName);
412
- debug2("options", options2);
413
- debug2("options.generator.binaryTargets", options2.generator.binaryTargets);
414
- generator.setOptions(options2);
415
- }
416
371
  }
417
372
  }
418
373
  return generators;
@@ -437,17 +392,6 @@ var oldToNewBinaryTargetsMapping = {
437
392
  async function validateGenerators(generators) {
438
393
  const binaryTarget = await (0, import_get_platform.getBinaryTargetForCurrentPlatform)();
439
394
  for (const generator of generators) {
440
- if (generator.config.platforms) {
441
- throw new Error(
442
- `The \`platforms\` field on the generator definition is deprecated. Please rename it to \`binaryTargets\`.`
443
- );
444
- }
445
- if (generator.config.pinnedBinaryTargets) {
446
- throw new Error(
447
- `The \`pinnedBinaryTargets\` field on the generator definition is deprecated.
448
- Please use the PRISMA_QUERY_ENGINE_BINARY env var instead to pin the binary target.`
449
- );
450
- }
451
395
  if (generator.binaryTargets) {
452
396
  const binaryTargets2 = generator.binaryTargets && generator.binaryTargets.length > 0 ? generator.binaryTargets : [{ fromEnvVar: null, value: "native" }];
453
397
  const resolvedBinaryTargets = binaryTargets2.flatMap((object) => (0, import_chunk_IOIAK7V7.parseBinaryTargetsEnvValue)(object)).map((p) => p === "native" ? binaryTarget : p);
@@ -511,7 +455,7 @@ var forbiddenCmdWithDataProxyFlagMessage = (command) => `
511
455
  Using an Accelerate URL is not supported for this CLI command ${(0, import_chunk_PG5FDKSF.green)(`prisma ${command}`)} yet.
512
456
  Please use a direct connection to your database via the datasource \`directUrl\` setting.
513
457
 
514
- More information about this limitation: ${(0, import_chunk_I6WLABB2.link)("https://pris.ly/d/accelerate-limitations")}
458
+ More information about this limitation: ${(0, import_chunk_3WXUQZS7.link)("https://pris.ly/d/accelerate-limitations")}
515
459
  `;
516
460
  function checkUnsupportedDataProxy({
517
461
  cmd,
@@ -524,7 +468,7 @@ function checkUnsupportedDataProxy({
524
468
  }
525
469
  }
526
470
  if (!schemaContext?.primaryDatasource) return;
527
- const url = (0, import_chunk_SOKSKSEX.resolveUrl)((0, import_chunk_SOKSKSEX.getEffectiveUrl)(schemaContext.primaryDatasource));
471
+ const url = (0, import_chunk_2UPB3LSW.resolveUrl)((0, import_chunk_2UPB3LSW.getEffectiveUrl)(schemaContext.primaryDatasource));
528
472
  if (url?.startsWith("prisma://")) {
529
473
  throw new Error(forbiddenCmdWithDataProxyFlagMessage(cmd));
530
474
  }
@@ -26,14 +26,14 @@ var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create(__g
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_HFFWZTVM_exports = {};
30
- __export(chunk_HFFWZTVM_exports, {
29
+ var chunk_BUQN4WLU_exports = {};
30
+ __export(chunk_BUQN4WLU_exports, {
31
31
  sendPanic: () => sendPanic
32
32
  });
33
- module.exports = __toCommonJS(chunk_HFFWZTVM_exports);
33
+ module.exports = __toCommonJS(chunk_BUQN4WLU_exports);
34
34
  var import_chunk_KDHESRKE = require("./chunk-KDHESRKE.js");
35
35
  var import_chunk_XKZ6CBLA = require("./chunk-XKZ6CBLA.js");
36
- var import_chunk_5AI4FIZ3 = require("./chunk-5AI4FIZ3.js");
36
+ var import_chunk_MEOOYUIZ = require("./chunk-MEOOYUIZ.js");
37
37
  var import_chunk_4VNS5WPM = require("./chunk-4VNS5WPM.js");
38
38
  var import_node_util = require("node:util");
39
39
  var import_get_platform = require("@prisma/get-platform");
@@ -1808,14 +1808,12 @@ async function sendPanic({
1808
1808
  sqlDump: void 0,
1809
1809
  dbVersion
1810
1810
  };
1811
- const signedUrl = await (0, import_chunk_5AI4FIZ3.createErrorReport)(params);
1812
- const id = await (0, import_chunk_5AI4FIZ3.makeErrorReportCompleted)(signedUrl);
1811
+ const signedUrl = await (0, import_chunk_MEOOYUIZ.createErrorReport)(params);
1812
+ const id = await (0, import_chunk_MEOOYUIZ.makeErrorReportCompleted)(signedUrl);
1813
1813
  return id;
1814
1814
  }
1815
1815
  function getCommand() {
1816
- if (process.argv[2] === "introspect") {
1817
- return "introspect";
1818
- } else if (process.argv[2] === "db" && process.argv[3] === "pull") {
1816
+ if (process.argv[2] === "db" && process.argv[3] === "pull") {
1819
1817
  return "db pull";
1820
1818
  }
1821
1819
  return process.argv.slice(2).join(" ");
@@ -26,17 +26,17 @@ 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_AP3F7M3T_exports = {};
30
- __export(chunk_AP3F7M3T_exports, {
29
+ var chunk_C5YUUOQW_exports = {};
30
+ __export(chunk_C5YUUOQW_exports, {
31
31
  ValidateError: () => ValidateError,
32
32
  validate: () => validate
33
33
  });
34
- module.exports = __toCommonJS(chunk_AP3F7M3T_exports);
35
- var import_chunk_TZJROXB3 = require("./chunk-TZJROXB3.js");
36
- var import_chunk_C47SCASR = require("./chunk-C47SCASR.js");
34
+ module.exports = __toCommonJS(chunk_C5YUUOQW_exports);
35
+ var import_chunk_WSZXPLJQ = require("./chunk-WSZXPLJQ.js");
37
36
  var import_chunk_R6QH57HZ = require("./chunk-R6QH57HZ.js");
38
- var import_chunk_D7OTFXCP = require("./chunk-D7OTFXCP.js");
39
- var import_chunk_Y7XBA7JY = require("./chunk-Y7XBA7JY.js");
37
+ var import_chunk_C47SCASR = require("./chunk-C47SCASR.js");
38
+ var import_chunk_2Q43C56O = require("./chunk-2Q43C56O.js");
39
+ var import_chunk_3ZWEK4N6 = require("./chunk-3ZWEK4N6.js");
40
40
  var import_chunk_5DBOS77Y = require("./chunk-5DBOS77Y.js");
41
41
  var import_chunk_XKZ6CBLA = require("./chunk-XKZ6CBLA.js");
42
42
  var import_chunk_LMVSIVKQ = require("./chunk-LMVSIVKQ.js");
@@ -59,25 +59,25 @@ ${detailsHeader} ${message}`;
59
59
  }).exhaustive();
60
60
  const errorMessageWithContext = `${constructedErrorMessage}
61
61
  [Context: validate]`;
62
- super((0, import_chunk_D7OTFXCP.addVersionDetailsToErrorMessage)(errorMessageWithContext));
62
+ super((0, import_chunk_2Q43C56O.addVersionDetailsToErrorMessage)(errorMessageWithContext));
63
63
  this.name = "ValidateError";
64
64
  }
65
65
  };
66
66
  function validate(options) {
67
- const debugErrorType = (0, import_chunk_TZJROXB3.createDebugErrorType)(debug, "validateWasm");
67
+ const debugErrorType = (0, import_chunk_WSZXPLJQ.createDebugErrorType)(debug, "validateWasm");
68
68
  debug(`Using validate Wasm`);
69
69
  const validateEither = (0, import_function.pipe)(
70
70
  (0, import_chunk_5DBOS77Y.tryCatch)(
71
71
  () => {
72
72
  if (process.env.FORCE_PANIC_QUERY_ENGINE_GET_DMMF) {
73
73
  debug("Triggering a Rust panic...");
74
- import_chunk_Y7XBA7JY.prismaSchemaWasm.debug_panic();
74
+ import_chunk_3ZWEK4N6.prismaSchemaWasm.debug_panic();
75
75
  }
76
76
  const params = JSON.stringify({
77
77
  prismaSchema: options.schemas,
78
78
  noColor: Boolean(process.env.NO_COLOR)
79
79
  });
80
- import_chunk_Y7XBA7JY.prismaSchemaWasm.validate(params);
80
+ import_chunk_3ZWEK4N6.prismaSchemaWasm.validate(params);
81
81
  },
82
82
  (e) => ({
83
83
  type: "wasm-error",
@@ -109,7 +109,7 @@ function validate(options) {
109
109
  return panic;
110
110
  }
111
111
  const errorOutput = e.error.message;
112
- return new ValidateError((0, import_chunk_TZJROXB3.parseQueryEngineError)({ errorOutput, reason: e.reason }));
112
+ return new ValidateError((0, import_chunk_WSZXPLJQ.parseQueryEngineError)({ errorOutput, reason: e.reason }));
113
113
  }).exhaustive();
114
114
  throw error;
115
115
  }
@@ -16,11 +16,11 @@ 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_HHG4DGHC_exports = {};
20
- __export(chunk_HHG4DGHC_exports, {
19
+ var chunk_CGLLQXZE_exports = {};
20
+ __export(chunk_CGLLQXZE_exports, {
21
21
  drawBox: () => drawBox
22
22
  });
23
- module.exports = __toCommonJS(chunk_HHG4DGHC_exports);
23
+ module.exports = __toCommonJS(chunk_CGLLQXZE_exports);
24
24
  var import_chunk_PG5FDKSF = require("./chunk-PG5FDKSF.js");
25
25
  function isFullwidthCodePoint(codePoint) {
26
26
  if (!Number.isInteger(codePoint)) {
@@ -141,7 +141,7 @@ function assembleStyles() {
141
141
  styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
142
142
  Object.defineProperties(styles, {
143
143
  rgbToAnsi256: {
144
- value: (red, green, blue) => {
144
+ value(red, green, blue) {
145
145
  if (red === green && green === blue) {
146
146
  if (red < 8) {
147
147
  return 16;
@@ -156,7 +156,7 @@ function assembleStyles() {
156
156
  enumerable: false
157
157
  },
158
158
  hexToRgb: {
159
- value: (hex) => {
159
+ value(hex) {
160
160
  const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
161
161
  if (!matches) {
162
162
  return [0, 0, 0];
@@ -181,7 +181,7 @@ function assembleStyles() {
181
181
  enumerable: false
182
182
  },
183
183
  ansi256ToAnsi: {
184
- value: (code) => {
184
+ value(code) {
185
185
  if (code < 8) {
186
186
  return 30 + code;
187
187
  }
@@ -310,10 +310,9 @@ function sliceAnsi(string, begin, end) {
310
310
  }
311
311
  function ansiRegex({ onlyFirst = false } = {}) {
312
312
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
313
- const pattern = [
314
- `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
315
- "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
316
- ].join("|");
313
+ const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
314
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
315
+ const pattern = `${osc}|${csi}`;
317
316
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
318
317
  }
319
318
  var regex = ansiRegex();
@@ -330,7 +329,7 @@ function isFullWidth(x) {
330
329
  return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
331
330
  }
332
331
  function isWide(x) {
333
- 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;
332
+ 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 <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || 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 <= 128728 || 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 <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
334
333
  }
335
334
  function validate(codePoint) {
336
335
  if (!Number.isSafeInteger(codePoint)) {
@@ -345,7 +344,7 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
345
344
  return 1;
346
345
  }
347
346
  var emoji_regex_default = () => {
348
- 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;
347
+ 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-\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-\uDED8\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\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\uDD3C-\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-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\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\uDE70]|\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\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;
349
348
  };
350
349
  var segmenter = new Intl.Segmenter();
351
350
  var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;