// Do not edit this file manually. It is generated by `scripts/generate-identifier-regex.ts`.
/*
Reason to disable eslint rules:
  - no-misleading-character-class: This rule is disabled because it will check if a combining mark (\p{M}) is following a base character. It is possible that an identifier char is not following a base character.
  - regexp/no-misleading-unicode-character: The regexp plugin uses Intl.Segmenter to check whether a grapheme cluster can be represented by multiple code points and then report if there is such case. It is possible that two consecutive identifier chars may form a GC, but the intention here is to explicitly form a character set from the given character sets
  - regexp/no-obscure-range: The regexps in this file are soup of "obscure" Unicode characters.
  - regexp/use-ignore-case: This rule is disabled because if we used ignoreCase, the regex will depend on the runtime's Unicode support, which may cause different behavior in different environments.
*/

/* eslint no-misleading-character-class: off, regexp/no-obscure-range: off, regexp/no-misleading-unicode-character: off, regexp/use-ignore-case: off */

// ## Character categories
// Big ugly regular expressions that match characters in the ID_Start / ID_Continue
// binary properties. These are only applied when a character is found
// to actually have a code point larger than 0x80.
// Generated by `scripts/generate-identifier-regex.ts`.
/* prettier-ignore */
export const bmpIdentifierStart = /[\p{ID_Start}\u088f\u0c5c\u0cdc\ua7ce\ua7cf\ua7d2\ua7d4\ua7f1]/u;
/* prettier-ignore */
export const bmpIdentifier = /[\p{ID_Continue}\u088f\u0c5c\u0cdc\ua7ce\ua7cf\ua7d2\ua7d4\ua7f1\u1acf-\u1add\u1ae0-\u1aeb]/u;

// These are a run-length and offset-encoded representation of the
// >0xffff code points that are a valid part of identifiers. The
// offset starts at 0x10000, and each pair of numbers represents an
// offset to the next range, and then a size of the range. They were
// generated by `scripts/generate-identifier-regex.ts`.
/* prettier-ignore */
export const supplementaryIdentifierStartCodes = [2368,25,1388,2,3817,43,20677,24,3,24,287,4,6146,7,1290,21,98,114,22734,30,2,2,2,1,2,6,3,4,10,1,53307,5,5987,11,21763,4297];
/* prettier-ignore */
export const supplementaryIdentifierCodes = [3834,1,3173,7,633,9,51450,0,3,0,8,1,6,0];
