From 35e052a88b3cc3b49da8494fa2d31ccd5deeaef0 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Fri, 6 Oct 2023 10:52:22 -0400 Subject: [PATCH 1/2] Replace confusing `new T[] { ... }` optimization with collection expressions We rely heavily on the compiler rewriting: ```C# ReadOnlySpan span = new T[] { /* const data */ }; ``` into variants that don't actually allocate and instead blit the data into the assembly data section and create a span that points directly to that data. But the syntax is very confusing and looks like it allocates on every use. Now that we have collection expressions and they handle the same optimizations (and more), we can avoid the confusion and simplify the code by switching to use them. This does so for all the uses I could find with some greping around. --- .../src/System/EETypePtr.cs | 6 +- .../Common/src/System/HexConverter.cs | 6 +- .../src/System/Net/CaseInsensitiveAscii.cs | 5 +- .../Http/aspnetcore/Http2/Hpack/Huffman.cs | 12 ++-- .../Cryptography/Asn1/OaepParamsAsn.xml.cs | 6 +- .../Cryptography/Asn1/Pbkdf2Params.xml.cs | 2 +- .../Cryptography/Asn1/Pkcs12/MacData.xml.cs | 2 +- .../Cryptography/Asn1/PssParamsAsn.xml.cs | 8 +-- .../Asn1/Rc2CbcParameters.manual.cs | 6 +- .../Cryptography/Asn1/X509ExtensionAsn.xml.cs | 2 +- .../Cryptography/RsaPaddingProcessor.cs | 50 ++++++------- .../src/DependencyContextJsonReader.cs | 2 +- .../src/System/Configuration/XmlUtil.cs | 6 +- .../src/System/ConsolePal.Unix.cs | 6 +- .../src/System/Data/Filter/Operators.cs | 6 +- .../src/System/Data/SQLTypes/SQLDateTime.cs | 6 +- .../src/System/Data/SQLTypes/SQLDecimal.cs | 31 ++++---- .../src/System/Data/SQLTypes/SQLGuid.cs | 2 +- .../src/System/Xml/XPathNodePointer.cs | 6 +- .../src/System/Drawing/KnownColorTable.cs | 12 ++-- .../src/System/Formats/Asn1/WellKnownOids.cs | 6 +- .../Formats/Cbor/HalfHelpers.netstandard.cs | 14 ++-- .../DeflateManaged/InflaterManaged.cs | 26 +++---- .../src/System/IO/Hashing/Crc32.Table.cs | 6 +- .../src/System/IO/Hashing/Crc64.Table.cs | 6 +- .../src/System/IO/Hashing/XxHashShared.cs | 6 +- .../src/System/Net/Http/WinHttpAuthHelper.cs | 10 +-- .../SocketsHttpHandler/Http2Connection.cs | 2 +- .../Http/SocketsHttpHandler/Http2Stream.cs | 2 +- .../src/System/Net/Base64Stream.cs | 6 +- .../src/System/Net/Mime/QEncodedStream.cs | 6 +- .../System/Net/Mime/QuotedPrintableStream.cs | 6 +- .../Compression/WebSocketInflater.cs | 2 +- .../Numerics/Tensors/TensorPrimitives.cs | 6 +- .../src/System/Buffers/Text/Base64Decoder.cs | 6 +- .../Text/FormattingHelpers.CountDigits.cs | 18 ++--- .../System.Private.CoreLib/src/System/Char.cs | 6 +- .../src/System/Collections/HashHelpers.cs | 6 +- .../src/System/Convert.Base64.cs | 6 +- .../src/System/DateTime.cs | 10 ++- .../src/System/Decimal.DecCalc.cs | 15 ++-- .../System/Diagnostics/Tracing/EventSource.cs | 6 +- .../CalendricalCalculationsHelper.cs | 20 +++--- .../Globalization/CharUnicodeInfoData.cs | 72 +++++++++---------- .../System/Globalization/CompareInfo.Icu.cs | 6 +- .../EastAsianLunisolarCalendar.cs | 4 +- .../System/Globalization/GregorianCalendar.cs | 4 +- .../System/Globalization/HebrewCalendar.cs | 12 ++-- .../src/System/Globalization/HijriCalendar.cs | 2 +- .../src/System/Globalization/IcuLocaleData.cs | 19 +++-- .../Globalization/IcuLocaleData.generator.cs | 36 +++++----- .../System/Globalization/OrdinalCasing.Icu.cs | 6 +- .../System/Globalization/PersianCalendar.cs | 2 +- .../System.Private.CoreLib/src/System/Math.cs | 9 +-- .../src/System/MathF.cs | 5 +- .../src/System/Net/WebUtility.cs | 6 +- .../src/System/Number.BigInteger.cs | 18 ++--- .../src/System/Number.Grisu3.cs | 24 +++---- .../Number.NumberToFloatingPointBits.cs | 10 +-- .../src/System/Numerics/BitOperations.cs | 12 ++-- .../AssemblyNameHelpers.StrongName.cs | 2 +- .../Helpers/CharacterFrequencyHelper.cs | 6 +- .../Text/EncoderLatin1BestFitFallback.Data.cs | 6 +- .../src/System/Text/EncodingData.cs | 36 +++++----- .../src/System/Text/Rune.cs | 6 +- .../src/System/Text/UTF8Encoding.cs | 2 +- .../Serialization/Json/XmlJsonReader.cs | 6 +- .../Runtime/Serialization/ObjectToIdCache.cs | 6 +- .../src/System/Text/Base64Encoding.cs | 6 +- .../src/System/Xml/UniqueId.cs | 6 +- .../src/System/Xml/XmlUTF8TextReader.cs | 6 +- .../src/System/Xml/XPath/XNodeNavigator.cs | 5 +- .../src/System/Xml/Base64Decoder.cs | 6 +- .../src/System/Xml/BinaryXml/SqlUtils.cs | 10 +-- .../System/Xml/BinaryXml/XmlBinaryReader.cs | 5 +- .../System/Xml/Core/ReadOnlyTernaryTree.cs | 12 ++-- .../src/System/Xml/Schema/XsdBuilder.cs | 10 +-- .../src/System/Xml/Schema/XsdDateTime.cs | 8 +-- .../src/System/Xml/XmlCharType.cs | 6 +- .../src/System/Xml/XmlEncoding.cs | 60 ++++------------ .../System/Xml/Xsl/Runtime/NumberFormatter.cs | 4 +- .../src/System/Xml/Xsl/XPath/XPathParser.cs | 6 +- .../src/System/Xml/Xsl/XPathConvert.cs | 5 +- .../System/Reflection/Metadata/BlobReader.cs | 2 +- .../Internal/HasCustomAttributeTag.cs | 6 +- .../HasCustomDebugInformationTag.cs | 6 +- .../PortableExecutable/PEBuilder.cs | 6 +- .../TypeLoading/General/HashHelpers.cs | 6 +- .../src/System/Numerics/BigNumber.cs | 2 +- .../src/Internal/Cryptography/PkcsHelpers.cs | 2 +- .../Cryptography/Pkcs/Asn1/EssCertIdV2.xml.cs | 2 +- .../Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs | 2 +- .../Pkcs/Asn1/Rfc3161TstInfo.xml.cs | 2 +- .../Cryptography/CapiHelper.Windows.cs | 6 +- .../SHAHashProvider.Browser.Managed.cs | 15 ++-- .../Asn1/BasicConstraintsAsn.xml.cs | 2 +- .../Asn1/TbsCertificateAsn.xml.cs | 2 +- .../RSAPkcs1X509SignatureGenerator.cs | 2 +- .../StorePal.macOS.ExportPal.cs | 6 +- .../X509AuthorityKeyIdentifierExtension.cs | 2 +- .../src/Data/Tools/EncodingDataGenerator.cs | 30 ++++---- .../src/System/Text/EncodingTable.Data.cs | 30 ++++---- .../src/System/Text/ISCIIEncoding.cs | 18 ++--- .../src/System/Text/ISO2022Encoding.cs | 12 ++-- ...em.Numerics.BitOperations.netstandard20.cs | 6 +- .../Text/Unicode/UnicodeHelpers.generated.cs | 6 +- .../src/System/Text/Json/JsonConstants.cs | 2 +- .../src/System/Text/Json/JsonHelpers.Date.cs | 4 +- .../Json/Writer/JsonWriterHelper.Escaping.cs | 6 +- .../RegexCaseEquivalences.Data.cs | 18 ++--- .../Text/RegularExpressions/RegexCharClass.cs | 6 +- .../Text/RegularExpressions/RegexParser.cs | 6 +- .../RegularExpressions/RegexPrefixAnalyzer.cs | 12 ++-- .../Symbolic/UnicodeCategoryRanges.cs | 62 ++++++++-------- .../tools/DataTable.cs | 12 ++-- 115 files changed, 567 insertions(+), 585 deletions(-) diff --git a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/EETypePtr.cs b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/EETypePtr.cs index b15d747007844..ef62b320751d5 100644 --- a/src/coreclr/nativeaot/System.Private.CoreLib/src/System/EETypePtr.cs +++ b/src/coreclr/nativeaot/System.Private.CoreLib/src/System/EETypePtr.cs @@ -342,8 +342,8 @@ internal CorElementType CorElementType { get { - ReadOnlySpan map = new byte[] - { + ReadOnlySpan map = + [ default, (byte)CorElementType.ELEMENT_TYPE_VOID, // EETypeElementType.Void (byte)CorElementType.ELEMENT_TYPE_BOOLEAN, // EETypeElementType.Boolean @@ -377,7 +377,7 @@ internal CorElementType CorElementType default, default, default - }; + ]; // Verify last element of the map Debug.Assert((byte)CorElementType.ELEMENT_TYPE_FNPTR == map[(int)EETypeElementType.FunctionPointer]); diff --git a/src/libraries/Common/src/System/HexConverter.cs b/src/libraries/Common/src/System/HexConverter.cs index ccce1cb691f10..4fd450a9e5486 100644 --- a/src/libraries/Common/src/System/HexConverter.cs +++ b/src/libraries/Common/src/System/HexConverter.cs @@ -422,8 +422,8 @@ public static bool IsHexLowerChar(int c) } /// Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. - public static ReadOnlySpan CharToHexLookup => new byte[] - { + public static ReadOnlySpan CharToHexLookup => + [ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 15 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 31 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 47 @@ -440,6 +440,6 @@ public static bool IsHexLowerChar(int c) 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 223 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 239 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF // 255 - }; + ]; } } diff --git a/src/libraries/Common/src/System/Net/CaseInsensitiveAscii.cs b/src/libraries/Common/src/System/Net/CaseInsensitiveAscii.cs index f16b3154ede89..807057b62efbc 100644 --- a/src/libraries/Common/src/System/Net/CaseInsensitiveAscii.cs +++ b/src/libraries/Common/src/System/Net/CaseInsensitiveAscii.cs @@ -11,7 +11,8 @@ internal sealed class CaseInsensitiveAscii : IEqualityComparer, IComparer { // ASCII char ToLower table internal static readonly CaseInsensitiveAscii StaticInstance = new CaseInsensitiveAscii(); - internal static ReadOnlySpan AsciiToLower => new byte[] { + internal static ReadOnlySpan AsciiToLower => + [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, @@ -38,7 +39,7 @@ internal sealed class CaseInsensitiveAscii : IEqualityComparer, IComparer 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 - }; + ]; // ASCII string case insensitive hash function public int GetHashCode(object myObject) diff --git a/src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/Huffman.cs b/src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/Huffman.cs index d311dabd514f8..b23b7e63529d8 100644 --- a/src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/Huffman.cs +++ b/src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/Huffman.cs @@ -11,8 +11,8 @@ internal static class Huffman { // HPack static huffman code. see: https://httpwg.org/specs/rfc7541.html#huffman.code // Stored into two tables to optimize its initialization and memory consumption. - private static ReadOnlySpan EncodingTableCodes => new uint[257] - { + private static ReadOnlySpan EncodingTableCodes => // 257 + [ 0b11111111_11000000_00000000_00000000, 0b11111111_11111111_10110000_00000000, 0b11111111_11111111_11111110_00100000, @@ -270,10 +270,10 @@ internal static class Huffman 0b11111111_11111111_11111110_00000000, 0b11111111_11111111_11111011_10000000, 0b11111111_11111111_11111111_11111100, - }; + ]; - private static ReadOnlySpan EncodingTableBitLengths => new byte[257] - { + private static ReadOnlySpan EncodingTableBitLengths => // 257 + [ 13, 23, 28, @@ -531,7 +531,7 @@ internal static class Huffman 27, 26, 30 - }; + ]; private static readonly ushort[] s_decodingTree = GenerateDecodingLookupTree(); diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/OaepParamsAsn.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/OaepParamsAsn.xml.cs index 482bd6d89dcc7..e5fd252adc10c 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/OaepParamsAsn.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/OaepParamsAsn.xml.cs @@ -11,11 +11,11 @@ namespace System.Security.Cryptography.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct OaepParamsAsn { - private static ReadOnlySpan DefaultHashFunc => new byte[] { 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00 }; + private static ReadOnlySpan DefaultHashFunc => [0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00]; - private static ReadOnlySpan DefaultMaskGenFunc => new byte[] { 0x30, 0x16, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x08, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00 }; + private static ReadOnlySpan DefaultMaskGenFunc => [0x30, 0x16, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x08, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00]; - private static ReadOnlySpan DefaultPSourceFunc => new byte[] { 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x09, 0x04, 0x00 }; + private static ReadOnlySpan DefaultPSourceFunc => [0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x09, 0x04, 0x00]; internal System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn HashFunc; internal System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn MaskGenFunc; diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pbkdf2Params.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pbkdf2Params.xml.cs index 78ec90c00fb63..310c1e275ee09 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pbkdf2Params.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pbkdf2Params.xml.cs @@ -11,7 +11,7 @@ namespace System.Security.Cryptography.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct Pbkdf2Params { - private static ReadOnlySpan DefaultPrf => new byte[] { 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x07, 0x05, 0x00 }; + private static ReadOnlySpan DefaultPrf => [0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x07, 0x05, 0x00]; internal System.Security.Cryptography.Asn1.Pbkdf2SaltChoice Salt; internal int IterationCount; diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs index 25b6042299ada..4c6f189ddbec3 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs @@ -11,7 +11,7 @@ namespace System.Security.Cryptography.Asn1.Pkcs12 [StructLayout(LayoutKind.Sequential)] internal partial struct MacData { - private static ReadOnlySpan DefaultIterationCount => new byte[] { 0x02, 0x01, 0x01 }; + private static ReadOnlySpan DefaultIterationCount => [0x02, 0x01, 0x01]; internal System.Security.Cryptography.Asn1.DigestInfoAsn Mac; internal ReadOnlyMemory MacSalt; diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs index c14b284d19d3f..ba9cc5d087f15 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs @@ -11,13 +11,13 @@ namespace System.Security.Cryptography.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct PssParamsAsn { - private static ReadOnlySpan DefaultHashAlgorithm => new byte[] { 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00 }; + private static ReadOnlySpan DefaultHashAlgorithm => [0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00]; - private static ReadOnlySpan DefaultMaskGenAlgorithm => new byte[] { 0x30, 0x16, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x08, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00 }; + private static ReadOnlySpan DefaultMaskGenAlgorithm => [0x30, 0x16, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x08, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00]; - private static ReadOnlySpan DefaultSaltLength => new byte[] { 0x02, 0x01, 0x14 }; + private static ReadOnlySpan DefaultSaltLength => [0x02, 0x01, 0x14]; - private static ReadOnlySpan DefaultTrailerField => new byte[] { 0x02, 0x01, 0x01 }; + private static ReadOnlySpan DefaultTrailerField => [0x02, 0x01, 0x01]; internal System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn HashAlgorithm; internal System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn MaskGenAlgorithm; diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Rc2CbcParameters.manual.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Rc2CbcParameters.manual.cs index eade371efe4f6..46f0cec08c6bd 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Rc2CbcParameters.manual.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Rc2CbcParameters.manual.cs @@ -12,8 +12,8 @@ namespace System.Security.Cryptography.Asn1 // smallest supported by .NET that's not really a problem. internal partial struct Rc2CbcParameters { - private static ReadOnlySpan Rc2EkbEncoding => new byte[] - { + private static ReadOnlySpan Rc2EkbEncoding => + [ 0xbd, 0x56, 0xea, 0xf2, 0xa2, 0xf1, 0xac, 0x2a, 0xb0, 0x93, 0xd1, 0x9c, 0x1b, 0x33, 0xfd, 0xd0, 0x30, 0x04, 0xb6, 0xdc, 0x7d, 0xdf, 0x32, 0x4b, 0xf7, 0xcb, 0x45, 0x9b, 0x31, 0xbb, 0x21, 0x5a, 0x41, 0x9f, 0xe1, 0xd9, 0x4a, 0x4d, 0x9e, 0xda, 0xa0, 0x68, 0x2c, 0xc3, 0x27, 0x5f, 0x80, 0x36, @@ -30,7 +30,7 @@ internal partial struct Rc2CbcParameters 0x1d, 0x73, 0xf8, 0xeb, 0x26, 0xc7, 0x87, 0x97, 0x25, 0x54, 0xb1, 0x28, 0xaa, 0x98, 0x9d, 0xa5, 0x64, 0x6d, 0x7a, 0xd4, 0x10, 0x81, 0x44, 0xef, 0x49, 0xd6, 0xae, 0x2e, 0xdd, 0x76, 0x5c, 0x2f, 0xa7, 0x1c, 0xc9, 0x09, 0x69, 0x9a, 0x83, 0xcf, 0x29, 0x39, 0xb9, 0xe9, 0x4c, 0xff, 0x43, 0xab, - }; + ]; internal Rc2CbcParameters(ReadOnlyMemory iv, int keySize) { diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs index d6c36b6384938..809b46d3b4f6d 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs @@ -11,7 +11,7 @@ namespace System.Security.Cryptography.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct X509ExtensionAsn { - private static ReadOnlySpan DefaultCritical => new byte[] { 0x01, 0x01, 0x00 }; + private static ReadOnlySpan DefaultCritical => [0x01, 0x01, 0x00]; internal string ExtnId; internal bool Critical; diff --git a/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs b/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs index 66256440b7e70..94b142e20ffe9 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/RsaPaddingProcessor.cs @@ -10,62 +10,62 @@ namespace System.Security.Cryptography internal static class RsaPaddingProcessor { // DigestInfo header values taken from https://tools.ietf.org/html/rfc3447#section-9.2, Note 1. - private static ReadOnlySpan DigestInfoMD5 => new byte[] - { + private static ReadOnlySpan DigestInfoMD5 => + [ 0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, 0x05, 0x00, 0x04, 0x10, - }; + ]; - private static ReadOnlySpan DigestInfoSha1 => new byte[] - { + private static ReadOnlySpan DigestInfoSha1 => + [ 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, - }; + ]; - private static ReadOnlySpan DigestInfoSha256 => new byte[] - { + private static ReadOnlySpan DigestInfoSha256 => + [ 0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20, - }; + ]; - private static ReadOnlySpan DigestInfoSha384 => new byte[] - { + private static ReadOnlySpan DigestInfoSha384 => + [ 0x30, 0x41, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00, 0x04, 0x30, - }; + ]; - private static ReadOnlySpan DigestInfoSha512 => new byte[] - { + private static ReadOnlySpan DigestInfoSha512 => + [ 0x30, 0x51, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00, 0x04, 0x40, - }; + ]; - private static ReadOnlySpan DigestInfoSha3_256 => new byte[] - { + private static ReadOnlySpan DigestInfoSha3_256 => + [ 0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x08, 0x05, 0x00, 0x04, 0x20, - }; + ]; - private static ReadOnlySpan DigestInfoSha3_384 => new byte[] - { + private static ReadOnlySpan DigestInfoSha3_384 => + [ 0x30, 0x41, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x09, 0x05, 0x00, 0x04, 0x30, - }; + ]; - private static ReadOnlySpan DigestInfoSha3_512 => new byte[] - { + private static ReadOnlySpan DigestInfoSha3_512 => + [ 0x30, 0x51, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0A, 0x05, 0x00, 0x04, 0x40, - }; + ]; - private static ReadOnlySpan EightZeros => new byte[8]; + private static ReadOnlySpan EightZeros => [0, 0, 0, 0, 0, 0, 0, 0]; private static ReadOnlySpan GetDigestInfoForAlgorithm( HashAlgorithmName hashAlgorithmName, diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/src/DependencyContextJsonReader.cs b/src/libraries/Microsoft.Extensions.DependencyModel/src/DependencyContextJsonReader.cs index a6e80f8921801..d3810a03469f8 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/src/DependencyContextJsonReader.cs +++ b/src/libraries/Microsoft.Extensions.DependencyModel/src/DependencyContextJsonReader.cs @@ -15,7 +15,7 @@ namespace Microsoft.Extensions.DependencyModel public class DependencyContextJsonReader : IDependencyContextReader { private const int UnseekableStreamInitialRentSize = 4096; - private static ReadOnlySpan Utf8Bom => new byte[] { 0xEF, 0xBB, 0xBF }; + private static ReadOnlySpan Utf8Bom => [0xEF, 0xBB, 0xBF]; private readonly Dictionary _stringPool = new Dictionary(); diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/XmlUtil.cs b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/XmlUtil.cs index 94a9cd3952b1c..7c13f0c9f2398 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/XmlUtil.cs +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/XmlUtil.cs @@ -26,8 +26,8 @@ internal sealed class XmlUtil : IDisposable, IConfigErrorInfo // Offset from where the reader reports the LinePosition of an Xml Node to // the start of that representation in text. - private static ReadOnlySpan PositionOffset => new int[] - { + private static ReadOnlySpan PositionOffset => + [ 0, // None, 1, // Element, -1, // EndEntity, N/A 2, // XmlDeclaration consoleColorToAnsiCode = new byte[] // rely on C# compiler optimization to avoid array allocation - { + ReadOnlySpan consoleColorToAnsiCode = + [ // Dark/Normal colors 0, // Black, 4, // DarkBlue, @@ -837,7 +837,7 @@ private static void WriteSetColorString(bool foreground, ConsoleColor color) 13, // Magenta, 11, // Yellow, 15 // White - }; + ]; int ansiCode = consoleColorToAnsiCode[ccValue] % maxColors; evaluatedString = TermInfo.ParameterizedStrings.Evaluate(formatString, ansiCode); diff --git a/src/libraries/System.Data.Common/src/System/Data/Filter/Operators.cs b/src/libraries/System.Data.Common/src/System/Data/Filter/Operators.cs index f48dea660bcdc..bf84ba65ec3e0 100644 --- a/src/libraries/System.Data.Common/src/System/Data/Filter/Operators.cs +++ b/src/libraries/System.Data.Common/src/System/Data/Filter/Operators.cs @@ -118,8 +118,8 @@ internal static bool IsRelational(int op) /// Mapping from Operator to priorities. internal static int Priority(int op) { - ReadOnlySpan priorities = new byte[] - { + ReadOnlySpan priorities = + [ PriStart, // Noop PriNeg, PriNeg, PriNot, // Unary -, +, Not PriBetweenAnd, PriBetweenInLike, PriBetweenInLike, @@ -137,7 +137,7 @@ internal static int Priority(int op) PriParen, PriProc, PriDot, PriDot, // Proc, Iff, Qula, Dot.. // anything beyond is PriMax - }; + ]; return (uint)op < (uint)priorities.Length ? priorities[op] : PriMax; } diff --git a/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDateTime.cs b/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDateTime.cs index 1b9ca9c078c4a..860d67c1f5b8b 100644 --- a/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDateTime.cs +++ b/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDateTime.cs @@ -49,10 +49,8 @@ public struct SqlDateTime : INullable, IComparable, IXmlSerializable, IEquatable private const int s_dayBase = 693595; // Jan 1 1900 is this many days from Jan 1 0001 - private static ReadOnlySpan DaysToMonth365 => new int[] { - 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}; - private static ReadOnlySpan DaysToMonth366 => new int[] { - 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366}; + private static ReadOnlySpan DaysToMonth365 => [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + private static ReadOnlySpan DaysToMonth366 => [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; private static readonly TimeSpan s_minTimeSpan = new DateTime(1753, 1, 1).Subtract(s_SQLBaseDate); private static readonly TimeSpan s_maxTimeSpan = DateTime.MaxValue.Subtract(s_SQLBaseDate); diff --git a/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDecimal.cs b/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDecimal.cs index dffc1dd520fbb..fc5c8995eb26c 100644 --- a/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDecimal.cs +++ b/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLDecimal.cs @@ -71,7 +71,8 @@ public struct SqlDecimal : INullable, IComparable, IXmlSerializable, IEquatable< private const byte s_cNumeDivScaleMin = 6; // Minimum result scale of numeric division // Array of multipliers for lAdjust and Ceiling/Floor. - private static ReadOnlySpan RgulShiftBase => new uint[9] { + private static ReadOnlySpan RgulShiftBase => // 9 + [ 10, 10 * 10, 10 * 10 * 10, @@ -81,7 +82,7 @@ public struct SqlDecimal : INullable, IComparable, IXmlSerializable, IEquatable< 10 * 10 * 10 * 10 * 10 * 10 * 10, 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10, 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 - }; + ]; #region DecimalHelperTableGenerator /* @@ -130,7 +131,8 @@ public static void CreateDecimalHelperTable() #endregion #region DecimalHelperTable - private static ReadOnlySpan DecimalHelpersLo => new uint[] { + private static ReadOnlySpan DecimalHelpersLo => + [ 0x0000000a, // precision:2, value:10 0x00000064, // precision:3, value:100 0x000003e8, // precision:4, value:1000 @@ -169,9 +171,10 @@ public static void CreateDecimalHelperTable() 0x00000000, // precision:37, value:1000000000000000000000000000000000000 0x00000000, // precision:38, value:10000000000000000000000000000000000000 0x00000000, // precision:38+1, value:99999999999999999999999999999999999999+1 - }; + ]; - private static ReadOnlySpan DecimalHelpersMid => new uint[] { + private static ReadOnlySpan DecimalHelpersMid => + [ 0x00000000, // precision:2, value:10 0x00000000, // precision:3, value:100 0x00000000, // precision:4, value:1000 @@ -210,9 +213,10 @@ public static void CreateDecimalHelperTable() 0xb34b9f10, // precision:37, value:1000000000000000000000000000000000000 0x00f436a0, // precision:38, value:10000000000000000000000000000000000000 0x098a2240, // precision:38+1, value:99999999999999999999999999999999999999+1 - }; + ]; - private static ReadOnlySpan DecimalHelpersHi => new uint[] { + private static ReadOnlySpan DecimalHelpersHi => + [ 0x00000000, // precision:2, value:10 0x00000000, // precision:3, value:100 0x00000000, // precision:4, value:1000 @@ -251,9 +255,10 @@ public static void CreateDecimalHelperTable() 0x7bc90715, // precision:37, value:1000000000000000000000000000000000000 0xd5da46d9, // precision:38, value:10000000000000000000000000000000000000 0x5a86c47a, // precision:38+1, value:99999999999999999999999999999999999999+1 - }; + ]; - private static ReadOnlySpan DecimalHelpersHiHi => new uint[] { + private static ReadOnlySpan DecimalHelpersHiHi => + [ 0x00000000, // precision:2, value:10 0x00000000, // precision:3, value:100 0x00000000, // precision:4, value:1000 @@ -292,7 +297,7 @@ public static void CreateDecimalHelperTable() 0x00c097ce, // precision:37, value:1000000000000000000000000000000000000 0x0785ee10, // precision:38, value:10000000000000000000000000000000000000 0x4b3b4ca8, // precision:38+1, value:99999999999999999999999999999999999999+1 - }; + ]; #endregion // note that the algorithm covers a range from -5 to +4 from the initial index @@ -1895,12 +1900,12 @@ private void ZeroToMaxLen(int cUI4sCur) { // 10-19 2 // 20-28 3 // 29-38 4 - private static ReadOnlySpan RgCLenFromPrec => new byte[] // rely on C# compiler optimization to eliminate allocation - { + private static ReadOnlySpan RgCLenFromPrec => + [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - }; + ]; private static byte CLenFromPrec(byte bPrec) { diff --git a/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLGuid.cs b/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLGuid.cs index 291a1693b9fc4..5a8da5eb68079 100644 --- a/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLGuid.cs +++ b/src/libraries/System.Data.Common/src/System/Data/SQLTypes/SQLGuid.cs @@ -113,7 +113,7 @@ public static SqlGuid Parse(string s) private static EComparison Compare(SqlGuid x, SqlGuid y) { // Comparison orders. - ReadOnlySpan rgiGuidOrder = new byte[SizeOfGuid] { 10, 11, 12, 13, 14, 15, 8, 9, 6, 7, 4, 5, 0, 1, 2, 3 }; + ReadOnlySpan rgiGuidOrder = [10, 11, 12, 13, 14, 15, 8, 9, 6, 7, 4, 5, 0, 1, 2, 3]; Debug.Assert(!x.IsNull); Debug.Assert(!y.IsNull); diff --git a/src/libraries/System.Data.Common/src/System/Xml/XPathNodePointer.cs b/src/libraries/System.Data.Common/src/System/Xml/XPathNodePointer.cs index 12fa952ccc63d..9040b7ce235ed 100644 --- a/src/libraries/System.Data.Common/src/System/Xml/XPathNodePointer.cs +++ b/src/libraries/System.Data.Common/src/System/Xml/XPathNodePointer.cs @@ -23,8 +23,8 @@ internal sealed class XPathNodePointer : IXmlDataVirtualNode internal const string StrXmlNS = "xmlns"; private bool _bNeedFoliate; - internal static ReadOnlySpan XmlNodeTypeToXpathNodeTypeMap => new int[] - { + internal static ReadOnlySpan XmlNodeTypeToXpathNodeTypeMap => + [ /*XmlNodeType.None*/ -1, /*XmlNodeType.Element*/ (int)XPathNodeType.Element, /*XmlNodeType.Attribute*/ (int)XPathNodeType.Attribute, @@ -43,7 +43,7 @@ internal sealed class XPathNodePointer : IXmlDataVirtualNode /*XmlNodeType.EndElement*/ -1, /*XmlNodeType.EndEntity*/ -1, /*XmlNodeType.XmlDeclaration*/ -1, - }; + ]; private XPathNodeType DecideXPNodeTypeForTextNodes(XmlNode node) { diff --git a/src/libraries/System.Drawing.Primitives/src/System/Drawing/KnownColorTable.cs b/src/libraries/System.Drawing.Primitives/src/System/Drawing/KnownColorTable.cs index 3ec5d7ab825cb..7ac095098ca37 100644 --- a/src/libraries/System.Drawing.Primitives/src/System/Drawing/KnownColorTable.cs +++ b/src/libraries/System.Drawing.Primitives/src/System/Drawing/KnownColorTable.cs @@ -12,8 +12,8 @@ internal static class KnownColorTable public const byte KnownColorKindUnknown = 2; // All known color values (in order of definition in the KnownColor enum). - public static ReadOnlySpan ColorValueTable => new uint[] - { + public static ReadOnlySpan ColorValueTable => + [ // "not a known color" 0, // "System" colors, Part 1 @@ -235,11 +235,11 @@ internal static class KnownColorTable #endif // "Web" colors, Part 2 0xFF663399, // RebeccaPurple - }; + ]; // All known color kinds (in order of definition in the KnownColor enum). - public static ReadOnlySpan ColorKindTable => new byte[] - { + public static ReadOnlySpan ColorKindTable => + [ // "not a known color" KnownColorKindUnknown, // "System" colors, Part 1 @@ -461,7 +461,7 @@ internal static class KnownColorTable #endif // "Web" colors, Part 2 KnownColorKindWeb, // RebeccaPurple - }; + ]; internal static Color ArgbToKnownColor(uint argb) { diff --git a/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/WellKnownOids.cs b/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/WellKnownOids.cs index 457ad2e9d8840..c308c5af7fd5d 100644 --- a/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/WellKnownOids.cs +++ b/src/libraries/System.Formats.Asn1/src/System/Formats/Asn1/WellKnownOids.cs @@ -115,8 +115,8 @@ internal static class WellKnownOids internal static ReadOnlySpan GetContents(ReadOnlySpan value) { - ReadOnlySpan data = new byte[] - { + ReadOnlySpan data = + [ 0x2A, 0x86, 0x48, 0xCE, 0x38, 0x04, 0x01, // DSA 0x2A, 0x86, 0x48, 0xCE, 0x38, 0x04, 0x03, // DSAWithSha1 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, // EC @@ -216,7 +216,7 @@ internal static ReadOnlySpan GetContents(ReadOnlySpan value) 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, // Sha512 0x67, 0x81, 0x0C, 0x01, 0x02, 0x01, // CabForumDV 0x67, 0x81, 0x0C, 0x01, 0x02, 0x02, // CabForumOV - }; + ]; return value switch { diff --git a/src/libraries/System.Formats.Cbor/src/System/Formats/Cbor/HalfHelpers.netstandard.cs b/src/libraries/System.Formats.Cbor/src/System/Formats/Cbor/HalfHelpers.netstandard.cs index 36dfafd6ff340..3db9c3d9e2ad8 100644 --- a/src/libraries/System.Formats.Cbor/src/System/Formats/Cbor/HalfHelpers.netstandard.cs +++ b/src/libraries/System.Formats.Cbor/src/System/Formats/Cbor/HalfHelpers.netstandard.cs @@ -82,13 +82,13 @@ public static int LeadingZeroCount(uint value) return 31 ^ Log2SoftwareFallback(value); } - private static ReadOnlySpan Log2DeBruijn => new byte[32] - { - 00, 09, 01, 10, 13, 21, 02, 29, - 11, 14, 16, 18, 22, 25, 03, 30, - 08, 12, 20, 28, 15, 17, 24, 07, - 19, 27, 23, 06, 26, 05, 04, 31 - }; + private static ReadOnlySpan Log2DeBruijn => // 32 + [ + 00, 09, 01, 10, 13, 21, 02, 29, + 11, 14, 16, 18, 22, 25, 03, 30, + 08, 12, 20, 28, 15, 17, 24, 07, + 19, 27, 23, 06, 26, 05, 04, 31 + ]; private static int Log2SoftwareFallback(uint value) { diff --git a/src/libraries/System.IO.Compression/src/System/IO/Compression/DeflateManaged/InflaterManaged.cs b/src/libraries/System.IO.Compression/src/System/IO/Compression/DeflateManaged/InflaterManaged.cs index fd75b5ac0213c..400c41824ae8a 100644 --- a/src/libraries/System.IO.Compression/src/System/IO/Compression/DeflateManaged/InflaterManaged.cs +++ b/src/libraries/System.IO.Compression/src/System/IO/Compression/DeflateManaged/InflaterManaged.cs @@ -10,37 +10,37 @@ internal sealed class InflaterManaged // const tables used in decoding: // Extra bits for length code 257 - 285. - private static ReadOnlySpan ExtraLengthBits => new byte[] - { + private static ReadOnlySpan ExtraLengthBits => + [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 16 - }; + ]; // The base length for length code 257 - 285. // The formula to get the real length for a length code is lengthBase[code - 257] + (value stored in extraBits) - private static ReadOnlySpan LengthBase => new byte[] - { + private static ReadOnlySpan LengthBase => + [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 3 - }; + ]; // The base distance for distance code 0 - 31 // The real distance for a distance code is distanceBasePosition[code] + (value stored in extraBits) - private static ReadOnlySpan DistanceBasePosition => new ushort[] - { + private static ReadOnlySpan DistanceBasePosition => + [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153 - }; + ]; // code lengths for code length alphabet is stored in following order - private static ReadOnlySpan CodeOrder => new byte[] { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 }; + private static ReadOnlySpan CodeOrder => [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - private static ReadOnlySpan StaticDistanceTreeTable => new byte[] - { + private static ReadOnlySpan StaticDistanceTreeTable => + [ 0x00, 0x10, 0x08, 0x18, 0x04, 0x14, 0x0c, 0x1c, 0x02, 0x12, 0x0a, 0x1a, 0x06, 0x16, 0x0e, 0x1e, 0x01, 0x11, 0x09, 0x19, 0x05, 0x15, 0x0d, 0x1d, 0x03, 0x13, 0x0b, 0x1b, 0x07, 0x17, 0x0f, 0x1f - }; + ]; private readonly OutputWindow _output; private readonly InputBuffer _input; diff --git a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc32.Table.cs b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc32.Table.cs index b3bc4442ad4c3..0154b062afaab 100644 --- a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc32.Table.cs +++ b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc32.Table.cs @@ -13,8 +13,8 @@ public sealed partial class Crc32 : NonCryptographicHashAlgorithm /// x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + x0, /// this version uses reflected bit ordering, so 0x04C11DB7 becomes 0xEDB88320 /// - private static ReadOnlySpan CrcLookup => new uint[] - { + private static ReadOnlySpan CrcLookup => + [ // Generated by GenerateTable(0xEDB88320u): // // static uint[] GenerateTable(uint reflectedPolynomial) @@ -71,6 +71,6 @@ public sealed partial class Crc32 : NonCryptographicHashAlgorithm 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D, - }; + ]; } } diff --git a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Table.cs b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Table.cs index fc27a8d2826c5..686c66079b9cc 100644 --- a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Table.cs +++ b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/Crc64.Table.cs @@ -6,8 +6,8 @@ namespace System.IO.Hashing public sealed partial class Crc64 : NonCryptographicHashAlgorithm { /// CRC-64 transition table. - private static ReadOnlySpan CrcLookup => new ulong[256] - { + private static ReadOnlySpan CrcLookup => // 256 + [ // Generated by GenerateTable(0x42F0E1EBA9EA3693): // // static ulong[] GenerateTable(ulong polynomial) @@ -64,6 +64,6 @@ public sealed partial class Crc64 : NonCryptographicHashAlgorithm 0x72E3DAA0AA188782, 0x30133B4B03F2B111, 0xF7021977F9CCEAA4, 0xB5F2F89C5026DC37, 0x3BD0BCE5A45A6B5D, 0x79205D0E0DB05DCE, 0xBE317F32F78E067B, 0xFCC19ED95E6430E8, 0x86B86ED5267CDBD3, 0xC4488F3E8F96ED40, 0x359AD0275A8B6F5, 0x41A94CE9DC428066, 0xCF8B0890283E370C, 0x8D7BE97B81D4019F, 0x4A6ACB477BEA5A2A, 0x89A2AACD2006CB9, 0x14DEA25F3AF9026D, 0x562E43B4931334FE, 0x913F6188692D6F4B, 0xD3CF8063C0C759D8, 0x5DEDC41A34BBEEB2, 0x1F1D25F19D51D821, 0xD80C07CD676F8394, 0x9AFCE626CE85B507, - }; + ]; } } diff --git a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHashShared.cs b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHashShared.cs index acf45389805e1..92e45c1bb0fbf 100644 --- a/src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHashShared.cs +++ b/src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHashShared.cs @@ -34,8 +34,8 @@ internal static unsafe class XxHashShared /// The default secret for when no seed is provided. /// This is the same as a custom secret derived from a seed of 0. - public static ReadOnlySpan DefaultSecret => new byte[] - { + public static ReadOnlySpan DefaultSecret => + [ 0xb8, 0xfe, 0x6c, 0x39, 0x23, 0xa4, 0x4b, 0xbe, // DefaultSecretUInt64_0 0x7c, 0x01, 0x81, 0x2c, 0xf7, 0x21, 0xad, 0x1c, // DefaultSecretUInt64_1 0xde, 0xd4, 0x6d, 0xe9, 0x83, 0x90, 0x97, 0xdb, // DefaultSecretUInt64_2 @@ -60,7 +60,7 @@ internal static unsafe class XxHashShared 0x8f, 0xf8, 0xb8, 0xd1, 0x7a, 0xd0, 0x31, 0xce, // DefaultSecretUInt64_21 0x45, 0xcb, 0x3a, 0x8f, 0x95, 0x16, 0x04, 0x28, // DefaultSecretUInt64_22 0xaf, 0xd7, 0xfb, 0xca, 0xbb, 0x4b, 0x40, 0x7e, // DefaultSecretUInt64_23 - }; + ]; // Cast of DefaultSecret byte[] => ulong[] (See above for the correspondence) public const ulong DefaultSecretUInt64_0 = 0xBE4BA423396CFEB8; diff --git a/src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpAuthHelper.cs b/src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpAuthHelper.cs index 15d44d9bb8814..550f5b9f8ca32 100644 --- a/src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpAuthHelper.cs +++ b/src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpAuthHelper.cs @@ -15,7 +15,7 @@ internal sealed class WinHttpAuthHelper // WINHTTP_AUTH_SCHEME_DIGEST = 0x00000008; // WINHTTP_AUTH_SCHEME_NEGOTIATE = 0x00000010; private static readonly string?[] s_authSchemeStringMapping = - { + [ null, "Basic", "NTLM", @@ -33,15 +33,15 @@ internal sealed class WinHttpAuthHelper null, null, "Negotiate" - }; + ]; - private static ReadOnlySpan AuthSchemePriorityOrder => new uint[] - { + private static ReadOnlySpan AuthSchemePriorityOrder => + [ Interop.WinHttp.WINHTTP_AUTH_SCHEME_NEGOTIATE, Interop.WinHttp.WINHTTP_AUTH_SCHEME_NTLM, Interop.WinHttp.WINHTTP_AUTH_SCHEME_DIGEST, Interop.WinHttp.WINHTTP_AUTH_SCHEME_BASIC - }; + ]; private readonly CredentialCache _credentialCache = new CredentialCache(); private readonly object _credentialCacheLock = new object(); diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs index f96ce45dc26f5..cd2f68a9e4706 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs @@ -19,7 +19,7 @@ namespace System.Net.Http internal sealed partial class Http2Connection : HttpConnectionBase { // Equivalent to the bytes returned from HPackEncoder.EncodeLiteralHeaderFieldWithoutIndexingNewNameToAllocatedArray(":protocol") - private static ReadOnlySpan ProtocolLiteralHeaderBytes => new byte[] { 0x0, 0x9, 0x3a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c }; + private static ReadOnlySpan ProtocolLiteralHeaderBytes => [0x0, 0x9, 0x3a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c]; private static readonly TaskCompletionSourceWithCancellation s_settingsReceivedSingleton = CreateSuccessfullyCompletedTcs(); diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Stream.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Stream.cs index de66b7cfa103d..8f8d81ec6b24f 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Stream.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Stream.cs @@ -480,7 +480,7 @@ public void OnWindowUpdate(int amount) private const int FirstHPackNormalHeaderId = 15; private const int LastHPackNormalHeaderId = 61; - private static ReadOnlySpan HpackStaticStatusCodeTable => new int[LastHPackStatusPseudoHeaderId - FirstHPackStatusPseudoHeaderId + 1] { 200, 204, 206, 304, 400, 404, 500 }; + private static ReadOnlySpan HpackStaticStatusCodeTable => [200, 204, 206, 304, 400, 404, 500]; private static readonly (HeaderDescriptor descriptor, byte[] value)[] s_hpackStaticHeaderTable = new (HeaderDescriptor, byte[])[LastHPackNormalHeaderId - FirstHPackNormalHeaderId + 1] { diff --git a/src/libraries/System.Net.Mail/src/System/Net/Base64Stream.cs b/src/libraries/System.Net.Mail/src/System/Net/Base64Stream.cs index 6ed02ff5321ac..e279a5b4b2f3f 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Base64Stream.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Base64Stream.cs @@ -12,8 +12,8 @@ namespace System.Net { internal sealed class Base64Stream : DelegatedStream, IEncodableStream { - private static ReadOnlySpan Base64DecodeMap => new byte[] // rely on C# compiler optimization to eliminate allocation - { + private static ReadOnlySpan Base64DecodeMap => + [ //0 1 2 3 4 5 6 7 8 9 A B C D E F 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 0 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 1 @@ -31,7 +31,7 @@ internal sealed class Base64Stream : DelegatedStream, IEncodableStream 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // D 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // E 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // F - }; + ]; private readonly Base64WriteStateInfo _writeState; private ReadStateInfo? _readState; diff --git a/src/libraries/System.Net.Mail/src/System/Net/Mime/QEncodedStream.cs b/src/libraries/System.Net.Mail/src/System/Net/Mime/QEncodedStream.cs index 180ce3ff00540..b99be865536b3 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Mime/QEncodedStream.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Mime/QEncodedStream.cs @@ -17,8 +17,8 @@ namespace System.Net.Mime internal sealed class QEncodedStream : DelegatedStream, IEncodableStream { - private static ReadOnlySpan HexDecodeMap => new byte[] // rely on C# compiler optimization to eliminate allocation - { + private static ReadOnlySpan HexDecodeMap => + [ // 0 1 2 3 4 5 6 7 8 9 A B C D E F 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 0 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 1 @@ -36,7 +36,7 @@ internal sealed class QEncodedStream : DelegatedStream, IEncodableStream 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // D 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // E 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // F - }; + ]; private ReadStateInfo? _readState; private readonly WriteStateInfoBase _writeState; diff --git a/src/libraries/System.Net.Mail/src/System/Net/Mime/QuotedPrintableStream.cs b/src/libraries/System.Net.Mail/src/System/Net/Mime/QuotedPrintableStream.cs index b36f18dd01a8a..6440ea0d7cc3d 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Mime/QuotedPrintableStream.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Mime/QuotedPrintableStream.cs @@ -34,8 +34,8 @@ internal sealed class QuotedPrintableStream : DelegatedStream, IEncodableStream //if we aren't encoding CRLF then it occupies two chars private const int SizeOfNonEncodedCRLF = 2; - private static ReadOnlySpan HexDecodeMap => new byte[] // rely on C# compiler optimization to eliminate allocation - { + private static ReadOnlySpan HexDecodeMap => + [ // 0 1 2 3 4 5 6 7 8 9 A B C D E F 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 0 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 1 @@ -53,7 +53,7 @@ internal sealed class QuotedPrintableStream : DelegatedStream, IEncodableStream 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // D 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // E 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // F - }; + ]; private static ReadOnlySpan HexEncodeMap => "0123456789ABCDEF"u8; diff --git a/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/Compression/WebSocketInflater.cs b/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/Compression/WebSocketInflater.cs index 593515cf112a2..8e95d5fa32f69 100644 --- a/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/Compression/WebSocketInflater.cs +++ b/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/Compression/WebSocketInflater.cs @@ -13,7 +13,7 @@ namespace System.Net.WebSockets.Compression internal sealed class WebSocketInflater : IDisposable { internal const int FlushMarkerLength = 4; - internal static ReadOnlySpan FlushMarker => new byte[] { 0x00, 0x00, 0xFF, 0xFF }; + internal static ReadOnlySpan FlushMarker => [0x00, 0x00, 0xFF, 0xFF]; private readonly int _windowBits; private ZLibStreamHandle? _stream; diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs index 5ddec7b23519a..dcf87bcb509be 100644 --- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs +++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/TensorPrimitives.cs @@ -1208,8 +1208,8 @@ private static void ValidateInputOutputSpanNonOverlapping(ReadOnlySpan in /// Logically 16 rows of 16 uints. The Nth row should be used to handle N remaining elements at the /// end of the input, where elements in the vector prior to that will be zero'd. /// - private static ReadOnlySpan RemainderUInt32Mask_16x16 => new uint[] - { + private static ReadOnlySpan RemainderUInt32Mask_16x16 => + [ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, @@ -1227,6 +1227,6 @@ private static void ValidateInputOutputSpanNonOverlapping(ReadOnlySpan in 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, - }; + ]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/Base64Decoder.cs b/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/Base64Decoder.cs index 060da500a3a27..47cf012c0a733 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/Base64Decoder.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/Base64Decoder.cs @@ -1006,8 +1006,8 @@ internal static bool IsWhiteSpace(int value) } // Pre-computing this table using a custom string(s_characters) and GenerateDecodingMapAndVerify (found in tests) - private static ReadOnlySpan DecodingMap => new sbyte[] - { + private static ReadOnlySpan DecodingMap => + [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, //62 is placed at index 43 (for +), 63 at index 47 (for /) @@ -1024,6 +1024,6 @@ internal static bool IsWhiteSpace(int value) -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - }; + ]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/FormattingHelpers.CountDigits.cs b/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/FormattingHelpers.CountDigits.cs index 98e0ab3492bdf..3da8684132f07 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/FormattingHelpers.CountDigits.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Buffers/Text/FormattingHelpers.CountDigits.cs @@ -57,21 +57,21 @@ public static int CountDigits(UInt128 value) public static int CountDigits(ulong value) { // Map the log2(value) to a power of 10. - ReadOnlySpan log2ToPow10 = new byte[] - { + ReadOnlySpan log2ToPow10 = + [ 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20 - }; + ]; Debug.Assert(log2ToPow10.Length == 64); // TODO: Replace with log2ToPow10[BitOperations.Log2(value)] once https://github.com/dotnet/runtime/issues/79257 is fixed uint index = Unsafe.Add(ref MemoryMarshal.GetReference(log2ToPow10), BitOperations.Log2(value)); // Read the associated power of 10. - ReadOnlySpan powersOf10 = new ulong[] - { + ReadOnlySpan powersOf10 = + [ 0, // unused entry to avoid needing to subtract 0, 10, @@ -93,7 +93,7 @@ public static int CountDigits(ulong value) 100000000000000000, 1000000000000000000, 10000000000000000000, - }; + ]; Debug.Assert((index + 1) <= powersOf10.Length); ulong powerOf10 = Unsafe.Add(ref MemoryMarshal.GetReference(powersOf10), index); @@ -107,8 +107,8 @@ public static int CountDigits(ulong value) public static int CountDigits(uint value) { // Algorithm based on https://lemire.me/blog/2021/06/03/computing-the-number-of-digits-of-an-integer-even-faster. - ReadOnlySpan table = new long[] - { + ReadOnlySpan table = + [ 4294967296, 8589934582, 8589934582, @@ -141,7 +141,7 @@ public static int CountDigits(uint value) 41949672960, 42949672960, 42949672960, - }; + ]; Debug.Assert(table.Length == 32, "Every result of uint.Log2(value) needs a long entry in the table."); // TODO: Replace with table[uint.Log2(value)] once https://github.com/dotnet/runtime/issues/79257 is fixed diff --git a/src/libraries/System.Private.CoreLib/src/System/Char.cs b/src/libraries/System.Private.CoreLib/src/System/Char.cs index 5b75e639ae6f5..059e22c5fbce3 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Char.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Char.cs @@ -55,8 +55,8 @@ public readonly struct Char // - 0x40 bit if set means 'is uppercase letter' // - 0x20 bit if set means 'is lowercase letter' // - bottom 5 bits are the UnicodeCategory of the character - private static ReadOnlySpan Latin1CharInfo => new byte[] - { + private static ReadOnlySpan Latin1CharInfo => + [ // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x0E, 0x0E, // U+0000..U+000F 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, // U+0001..U+001F @@ -74,7 +74,7 @@ public readonly struct Char 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x19, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x21, // U+000D..U+00DF 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // U+000E..U+00EF 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x19, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // U+000F..U+00FF - }; + ]; // Return true for all characters below or equal U+00ff, which is ASCII + Latin-1 Supplement. private static bool IsLatin1(char c) => (uint)c < (uint)Latin1CharInfo.Length; diff --git a/src/libraries/System.Private.CoreLib/src/System/Collections/HashHelpers.cs b/src/libraries/System.Private.CoreLib/src/System/Collections/HashHelpers.cs index 6f7612ecf6b0d..c64f58145ca10 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Collections/HashHelpers.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Collections/HashHelpers.cs @@ -28,14 +28,14 @@ internal static partial class HashHelpers // h1(key) + i*h2(key), 0 <= i < size. h2 and the size must be relatively prime. // We prefer the low computation costs of higher prime numbers over the increased // memory allocation of a fixed prime number i.e. when right sizing a HashSet. - internal static ReadOnlySpan Primes => new int[] - { + internal static ReadOnlySpan Primes => + [ 3, 7, 11, 17, 23, 29, 37, 47, 59, 71, 89, 107, 131, 163, 197, 239, 293, 353, 431, 521, 631, 761, 919, 1103, 1327, 1597, 1931, 2333, 2801, 3371, 4049, 4861, 5839, 7013, 8419, 10103, 12143, 14591, 17519, 21023, 25229, 30293, 36353, 43627, 52361, 62851, 75431, 90523, 108631, 130363, 156437, 187751, 225307, 270371, 324449, 389357, 467237, 560689, 672827, 807403, 968897, 1162687, 1395263, 1674319, 2009191, 2411033, 2893249, 3471899, 4166287, 4999559, 5999471, 7199369 - }; + ]; public static bool IsPrime(int candidate) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Convert.Base64.cs b/src/libraries/System.Private.CoreLib/src/System/Convert.Base64.cs index f691316a04e34..cadc84704b2c4 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Convert.Base64.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Convert.Base64.cs @@ -190,8 +190,8 @@ private static void WriteThreeLowOrderBytes(ref byte destination, int value) } // Pre-computing this table using a custom string(s_characters) and GenerateDecodingMapAndVerify (found in tests) - private static ReadOnlySpan DecodingMap => new sbyte[] // rely on C# compiler optimization to reference static data - { + private static ReadOnlySpan DecodingMap => + [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, // 62 is placed at index 43 (for +), 63 at index 47 (for /) @@ -208,7 +208,7 @@ private static void WriteThreeLowOrderBytes(ref byte destination, int value) -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - }; + ]; private const byte EncodingPad = (byte)'='; // '=', for padding } diff --git a/src/libraries/System.Private.CoreLib/src/System/DateTime.cs b/src/libraries/System.Private.CoreLib/src/System/DateTime.cs index a17912657ecbb..3571fff343152 100644 --- a/src/libraries/System.Private.CoreLib/src/System/DateTime.cs +++ b/src/libraries/System.Private.CoreLib/src/System/DateTime.cs @@ -122,13 +122,11 @@ public readonly partial struct DateTime private const ulong TicksPer6Hours = TicksPerHour * 6; private const int March1BasedDayOfNewYear = 306; // Days between March 1 and January 1 - internal static ReadOnlySpan DaysToMonth365 => new uint[] { - 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }; - internal static ReadOnlySpan DaysToMonth366 => new uint[] { - 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }; + internal static ReadOnlySpan DaysToMonth365 => [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + internal static ReadOnlySpan DaysToMonth366 => [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; - private static ReadOnlySpan DaysInMonth365 => new byte[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - private static ReadOnlySpan DaysInMonth366 => new byte[] { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + private static ReadOnlySpan DaysInMonth365 => [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + private static ReadOnlySpan DaysInMonth366 => [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; public static readonly DateTime MinValue; public static readonly DateTime MaxValue = new DateTime(MaxTicks, DateTimeKind.Unspecified); diff --git a/src/libraries/System.Private.CoreLib/src/System/Decimal.DecCalc.cs b/src/libraries/System.Private.CoreLib/src/System/Decimal.DecCalc.cs index 179e864e95294..bc107fb7549c6 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Decimal.DecCalc.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Decimal.DecCalc.cs @@ -101,7 +101,8 @@ private ulong Low64 private const int MaxInt64Scale = 19; // Fast access for 10^n where n is 0-9 - private static ReadOnlySpan UInt32Powers10 => new uint[] { + private static ReadOnlySpan UInt32Powers10 => + [ 1, 10, 100, @@ -112,10 +113,11 @@ private ulong Low64 10000000, 100000000, 1000000000 - }; + ]; // Fast access for 10^n where n is 1-19 - private static ReadOnlySpan UInt64Powers10 => new ulong[] { + private static ReadOnlySpan UInt64Powers10 => + [ 10, 100, 1000, @@ -135,9 +137,10 @@ private ulong Low64 100000000000000000, 1000000000000000000, 10000000000000000000, - }; + ]; - private static ReadOnlySpan DoublePowers10 => new double[] { + private static ReadOnlySpan DoublePowers10 => + [ 1, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, @@ -147,7 +150,7 @@ private ulong Low64 1e60, 1e61, 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, 1e78, 1e79, 1e80 - }; + ]; #region Decimal Math Helpers diff --git a/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventSource.cs b/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventSource.cs index 1d4af86e0c4d9..470a6d49bffca 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventSource.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventSource.cs @@ -1689,11 +1689,11 @@ private static string GetName(Type eventSourceType, EventManifestOptions flags) private static Guid GenerateGuidFromName(string name) { - ReadOnlySpan namespaceBytes = new byte[] // rely on C# compiler optimization to remove byte[] allocation - { + ReadOnlySpan namespaceBytes = + [ 0x48, 0x2C, 0x2D, 0xB2, 0xC3, 0x90, 0x47, 0xC8, 0x87, 0xF8, 0x1A, 0x15, 0xBF, 0xC1, 0x30, 0xFB, - }; + ]; byte[] bytes = Encoding.BigEndianUnicode.GetBytes(name); Sha1ForNonSecretPurposes hash = default; diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CalendricalCalculationsHelper.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CalendricalCalculationsHelper.cs index e99e9fab1426b..2da0a19372b89 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CalendricalCalculationsHelper.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CalendricalCalculationsHelper.cs @@ -21,16 +21,16 @@ internal static class CalendricalCalculationsHelper private static readonly long s_startOf1810 = GetNumberOfDays(new DateTime(1810, 1, 1)); private static readonly long s_startOf1900Century = GetNumberOfDays(new DateTime(1900, 1, 1)); - private static ReadOnlySpan Coefficients1900to1987 => new double[] { -0.00002, 0.000297, 0.025184, -0.181133, 0.553040, -0.861938, 0.677066, -0.212591 }; - private static ReadOnlySpan Coefficients1800to1899 => new double[] { -0.000009, 0.003844, 0.083563, 0.865736, 4.867575, 15.845535, 31.332267, 38.291999, 28.316289, 11.636204, 2.043794 }; - private static ReadOnlySpan Coefficients1700to1799 => new double[] { 8.118780842, -0.005092142, 0.003336121, -0.0000266484 }; - private static ReadOnlySpan Coefficients1620to1699 => new double[] { 196.58333, -4.0675, 0.0219167 }; - private static ReadOnlySpan LambdaCoefficients => new double[] { 280.46645, 36000.76983, 0.0003032 }; - private static ReadOnlySpan AnomalyCoefficients => new double[] { 357.52910, 35999.05030, -0.0001559, -0.00000048 }; - private static ReadOnlySpan EccentricityCoefficients => new double[] { 0.016708617, -0.000042037, -0.0000001236 }; - private static ReadOnlySpan CoefficientsA => new double[] { 124.90, -1934.134, 0.002063 }; - private static ReadOnlySpan CoefficientsB => new double[] { 201.11, 72001.5377, 0.00057 }; - private static ReadOnlySpan Coefficients => new double[4] { 23.43929111111111, -0.013004166666666667, -1.638888888888889E-07, 5.03611111111111E-07 }; + private static ReadOnlySpan Coefficients1900to1987 => [-0.00002, 0.000297, 0.025184, -0.181133, 0.553040, -0.861938, 0.677066, -0.212591]; + private static ReadOnlySpan Coefficients1800to1899 => [-0.000009, 0.003844, 0.083563, 0.865736, 4.867575, 15.845535, 31.332267, 38.291999, 28.316289, 11.636204, 2.043794]; + private static ReadOnlySpan Coefficients1700to1799 => [8.118780842, -0.005092142, 0.003336121, -0.0000266484]; + private static ReadOnlySpan Coefficients1620to1699 => [196.58333, -4.0675, 0.0219167]; + private static ReadOnlySpan LambdaCoefficients => [280.46645, 36000.76983, 0.0003032]; + private static ReadOnlySpan AnomalyCoefficients => [357.52910, 35999.05030, -0.0001559, -0.00000048]; + private static ReadOnlySpan EccentricityCoefficients => [0.016708617, -0.000042037, -0.0000001236]; + private static ReadOnlySpan CoefficientsA => [124.90, -1934.134, 0.002063]; + private static ReadOnlySpan CoefficientsB => [201.11, 72001.5377, 0.00057]; + private static ReadOnlySpan Coefficients => [23.43929111111111, -0.013004166666666667, -1.638888888888889E-07, 5.03611111111111E-07]; private static double RadiansFromDegrees(double degree) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs index 30e4b96797d47..324046883f3a0 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs @@ -20,8 +20,8 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve } // 11:5:4 index table of the Unicode category & casing data. - private static ReadOnlySpan CategoryCasingLevel1Index => new byte[2176] - { + private static ReadOnlySpan CategoryCasingLevel1Index => // 2176 + [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1b, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, @@ -158,10 +158,10 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x66 - }; + ]; - private static ReadOnlySpan CategoryCasingLevel2Index => new byte[6592] - { + private static ReadOnlySpan CategoryCasingLevel2Index => // 6592 + [ 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x12, 0x00, @@ -574,10 +574,10 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xad, 0x01, 0xf6, 0x02 - }; + ]; - private static ReadOnlySpan CategoryCasingLevel3Index => new byte[12144] - { + private static ReadOnlySpan CategoryCasingLevel3Index => // 12144 + [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, @@ -1337,11 +1337,11 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0xb6, 0x11, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb6, 0xb6 - }; + ]; // Contains Unicode category & bidi class information - private static ReadOnlySpan CategoriesValues => new byte[233] - { + private static ReadOnlySpan CategoriesValues => // 233 + [ 0x0e, 0x8e, 0x8b, 0x18, 0x1a, 0x14, 0x15, 0x19, 0x13, 0x08, 0x20, 0x1b, 0x12, 0x21, 0x1c, 0x24, 0x16, 0x0f, 0x0a, 0x21, 0x17, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x22, @@ -1357,11 +1357,11 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x3b, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x30, 0x31, 0x09, 0x20, 0x21, 0x20, 0x21, 0x4a, 0x40, 0x41, 0x39, 0x40, 0x41 - }; + ]; // Contains simple culture-invariant uppercase mappings - private static ReadOnlySpan UppercaseValues => new byte[466] - { + private static ReadOnlySpan UppercaseValues => // 466 + [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, @@ -1392,11 +1392,11 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x00, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0xd9, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xde, 0xff - }; + ]; // Contains simple culture-invariant lowercase mappings - private static ReadOnlySpan LowercaseValues => new byte[466] - { + private static ReadOnlySpan LowercaseValues => // 466 + [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, @@ -1427,7 +1427,7 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0xbd, 0x5a, 0xc8, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 - }; + ]; [Conditional("DEBUG")] private static void AssertNumericGraphemeTableLevels(int level1BitCount, int level2BitCount, int level3BitCount) @@ -1439,8 +1439,8 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev } // 11:5:4 index table of the Unicode numeric & text segmentation data. - private static ReadOnlySpan NumericGraphemeLevel1Index => new byte[2176] - { + private static ReadOnlySpan NumericGraphemeLevel1Index => // 2176 + [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0a, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x0a, 0x16, 0x17, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, @@ -1577,10 +1577,10 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a - }; + ]; - private static ReadOnlySpan NumericGraphemeLevel2Index => new byte[5056] - { + private static ReadOnlySpan NumericGraphemeLevel2Index => // 5056 + [ 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, @@ -1897,10 +1897,10 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 - }; + ]; - private static ReadOnlySpan NumericGraphemeLevel3Index => new byte[6256] - { + private static ReadOnlySpan NumericGraphemeLevel3Index => // 6256 + [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, @@ -2292,11 +2292,11 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x4d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 - }; + ]; // Contains decimal digit values in high nibble; digit values in low nibble - private static ReadOnlySpan DigitValues => new byte[177] - { + private static ReadOnlySpan DigitValues => // 177 + [ 0x00, 0x00, 0x00, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0x00, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2309,11 +2309,11 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; + ]; // Contains numeric values - private static ReadOnlySpan NumericValues => new byte[1416] - { + private static ReadOnlySpan NumericValues => // 1416 + [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, @@ -2403,11 +2403,11 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x73, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf - }; + ]; // Contains grapheme cluster segmentation values - private static ReadOnlySpan GraphemeSegmentationValues => new byte[177] - { + private static ReadOnlySpan GraphemeSegmentationValues => // 177 + [ 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2420,7 +2420,7 @@ private static void AssertNumericGraphemeTableLevels(int level1BitCount, int lev 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06 - }; + ]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs index 15d8ee0ed3a55..7a4fb0289c464 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs @@ -910,8 +910,8 @@ internal static IntPtr GetCachedSortHandle(string sortName) } } - private static ReadOnlySpan HighCharTable => new bool[0x80] - { + private static ReadOnlySpan HighCharTable => // 0x80 + [ true, /* 0x0, 0x0 */ true, /* 0x1, .*/ true, /* 0x2, .*/ @@ -1040,6 +1040,6 @@ internal static IntPtr GetCachedSortHandle(string sortName) false, /*0x7D, }*/ false, /*0x7E, ~*/ true, /*0x7F, */ - }; + ]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/EastAsianLunisolarCalendar.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/EastAsianLunisolarCalendar.cs index 3057bd0c08f7d..6695a3b5d973c 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/EastAsianLunisolarCalendar.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/EastAsianLunisolarCalendar.cs @@ -11,8 +11,8 @@ public abstract class EastAsianLunisolarCalendar : Calendar private const int nDaysPerMonth = 3; // # of days so far in the solar year - private static ReadOnlySpan DaysToMonth365 => new int[] { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; - private static ReadOnlySpan DaysToMonth366 => new int[] { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }; + private static ReadOnlySpan DaysToMonth365 => [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]; + private static ReadOnlySpan DaysToMonth366 => [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]; public override CalendarAlgorithmType AlgorithmType => CalendarAlgorithmType.LunisolarCalendar; diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/GregorianCalendar.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/GregorianCalendar.cs index 520c5ef2c5d67..edb65a805570a 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/GregorianCalendar.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/GregorianCalendar.cs @@ -22,9 +22,9 @@ public class GregorianCalendar : Calendar private GregorianCalendarTypes _type; - internal static ReadOnlySpan DaysToMonth365 => new int[] { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }; + internal static ReadOnlySpan DaysToMonth365 => [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; - internal static ReadOnlySpan DaysToMonth366 => new int[] { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }; + internal static ReadOnlySpan DaysToMonth366 => [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; private static volatile Calendar? s_defaultInstance; diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/HebrewCalendar.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/HebrewCalendar.cs index 0d7d74074d476..15fab14712d03 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/HebrewCalendar.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/HebrewCalendar.cs @@ -118,8 +118,8 @@ public class HebrewCalendar : Calendar private const int MinHebrewYear = HebrewYearOf1AD + FirstGregorianTableYear; // == 5343 private const int MaxHebrewYear = HebrewYearOf1AD + LastGregorianTableYear; // == 5999 - private static ReadOnlySpan HebrewTable => new byte[] // rely on C# compiler optimization to reference static data - { + private static ReadOnlySpan HebrewTable => + [ 7, 3, 17, 3, // 1583-1584 (Hebrew year: 5343 - 5344) 0, 4, 11, 2, 21, 6, 1, 3, 13, 2, // 1585-1589 25, 4, 5, 3, 16, 2, 27, 6, 9, 1, // 1590-1594 @@ -253,14 +253,14 @@ public class HebrewCalendar : Calendar 15, 3, 25, 6, 6, 2, 19, 4, 33, 3, // 2230 10, 2, 22, 4, 3, 3, 14, 2, 24, 6, // 2235 6, 1 // 2240 (Hebrew year: 6000) - }; + ]; private const int MaxMonthPlusOne = 14; // The lunar calendar has 6 different variations of month lengths // within a year. - private static ReadOnlySpan LunarMonthLen => new byte[] // rely on C# compiler optimization to reference static data - { + private static ReadOnlySpan LunarMonthLen => + [ 0, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 0, 0, 30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29, 0, // 3 common year variations 0, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 0, @@ -268,7 +268,7 @@ public class HebrewCalendar : Calendar 0, 30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29, // 3 leap year variations 0, 30, 29, 30, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29, 0, 30, 30, 30, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29 - }; + ]; private static readonly DateTime s_calendarMinValue = new DateTime(1583, 1, 1); diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/HijriCalendar.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/HijriCalendar.cs index 6fcf8ec34e639..3ac1cb75ad306 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/HijriCalendar.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/HijriCalendar.cs @@ -48,7 +48,7 @@ public partial class HijriCalendar : Calendar private const int MinAdvancedHijri = -2; private const int MaxAdvancedHijri = 2; - private static ReadOnlySpan HijriMonthDays => new int[] { 0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355 }; + private static ReadOnlySpan HijriMonthDays => [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355]; private int _hijriAdvance = int.MinValue; diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs index 791e2741abf22..424e4bab73619 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs @@ -610,8 +610,8 @@ internal static partial class IcuLocaleData // // value = index << 4 | length // byte0 = value >> 8; byte1 = value & 0xff - private static ReadOnlySpan LocalesNamesIndexes => new byte[CulturesCount * 2] - { + private static ReadOnlySpan LocalesNamesIndexes => // CulturesCount * 2 + [ 0, 2, // aa 0, 5, // aa-dj 0, 85, // aa-er @@ -1476,13 +1476,12 @@ internal static partial class IcuLocaleData 210, 188, // zh-tw_radstr 211, 114, // zu 211, 117, // zu-za - }; + ]; private const int LocaleLongestName = 14; - private const int LcidCount = 448; - private static ReadOnlySpan LcidToCultureNameIndices => new byte[LcidCount * 4] - { + private static ReadOnlySpan LcidToCultureNameIndices => // 488 * 4 + [ 0x00, 0x01, 0x02, 0x92, // ar 0x00, 0x02, 0x0f, 0x82, // bg 0x00, 0x03, 0x14, 0x62, // ca @@ -1936,7 +1935,7 @@ internal static partial class IcuLocaleData // Sort 0x5 0x08, 0x04, 0xcb, 0x0c, // zh-cn_phoneb 0x10, 0x04, 0xd0, 0x7c, // zh-sg_phoneb - }; + ]; private const int LcidSortPrefix1Index = 1736; private const int LcidSortPrefix2Index = 1752; @@ -2820,8 +2819,8 @@ internal static partial class IcuLocaleData internal const int ArabicSemicolonSep = 3 << 16; internal const int DoubleCommaSep = 4 << 16; - private static ReadOnlySpan NameIndexToNumericData => new byte[CulturesCount * NumericLocaleDataBytesPerRow] - { + private static ReadOnlySpan NameIndexToNumericData => // CulturesCount * NumericLocaleDataBytesPerRow + [ 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x49, 0x11, 0x00, 0x30, 0xf0, // 0 - aa 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x3e, 0x11, 0x00, 0x10, 0xf0, // 1 - aa-dj 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x47, 0x11, 0x00, 0x20, 0xf0, // 2 - aa-er @@ -3686,7 +3685,7 @@ internal static partial class IcuLocaleData 0x04, 0x04, 0x04, 0x3b, 0x63, 0xb6, 0x27, 0x12, 0x01, 0xf4, 0x00, 0x00, 0x00, 0xed, 0x01, 0x35, 0xb3, 0x5b, // 861 - zh-tw_radstr 0x00, 0x00, 0x35, 0x4e, 0x43, 0x52, 0x27, 0x10, 0x01, 0xf4, 0x00, 0x00, 0x00, 0xd1, 0x11, 0x35, 0xf3, 0x5f, // 862 - zu 0x00, 0x04, 0x35, 0x4e, 0x43, 0x52, 0x27, 0x10, 0x01, 0xf4, 0x00, 0x00, 0x00, 0xd1, 0x11, 0x35, 0xf3, 0x5f, // 863 - zu-za - }; + ]; internal static string? LCIDToLocaleName(int culture) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs index b7c4d1b0cf27f..6e859a968b8c9 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs @@ -27,8 +27,8 @@ internal static partial class IcuLocaleData // NameIndexToNumericData is mapping from index in s_localeNamesIndices to locale data. // each row in the table will have the following data: // Lcid, Ansi codepage, Oem codepage, MAC codepage, EBCDIC codepage, Geo Id, Digit Substitution | ListSeparator, specific locale index, Console locale index - private static ReadOnlySpan NameIndexToNumericData => new int[CulturesCount * NUMERIC_LOCALE_DATA_COUNT_PER_ROW] - { + private static ReadOnlySpan NameIndexToNumericData => // CulturesCount * NUMERIC_LOCALE_DATA_COUNT_PER_ROW + [ // Lcid, Ansi CP, Oem CP, MAC CP, EBCDIC CP, Geo Id, digit substitution | ListSeparator, Specific culture index, Console locale index // index - locale name 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , 1 | SemicolonSep , 3 , 240 , // 0 - aa 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3e , 1 | SemicolonSep , 1 , 240 , // 1 - aa-dj @@ -894,10 +894,10 @@ internal static partial class IcuLocaleData 0x40404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed , 1 | CommaSep , 859 , 859 , // 861 - zh-tw_radstr 0x35 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , 1 | SemicolonSep , 863 , 863 , // 862 - zu 0x435 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , 1 | SemicolonSep , 863 , 863 , // 863 - zu-za - }; + ]; - static (string, string)[] s_lcids = new (string, string)[] - { + static (string, string)[] s_lcids = + [ ("0x1","ar"), ("0x2","bg"), ("0x3","ca"), ("0x4","zh-chs"), ("0x5","cs"), ("0x6","da"), ("0x7","de"), ("0x8","el"), ("0x9","en"), ("0xa","es"), ("0xb","fi"), ("0xc","fr"), ("0xd","he"), ("0xe","hu"), ("0xf","is"), @@ -995,10 +995,10 @@ internal static partial class IcuLocaleData ("0x40404","zh-tw_radstr"), ("0x40411","ja-jp_radstr"), ("0x40c04","zh-hk_radstr"), ("0x41404","zh-mo_radstr"), // Sort 0x5 ("0x50804","zh-cn_phoneb"), ("0x51004","zh-sg_phoneb") - }; + ]; - static string[] s_cultures = new string[] - { + static readonly string[] s_cultures = + [ "aa", "aa-dj", "aa-er", "aa-et", "af", "af-na", "af-za", "agq", "agq-cm", @@ -1197,7 +1197,7 @@ internal static partial class IcuLocaleData "zgh", "zgh-tfng", "zgh-tfng-ma", "zh", "zh-chs", "zh-cht", "zh-cn", "zh-cn_phoneb", "zh-cn_stroke", "zh-hans", "zh-hans-hk", "zh-hans-mo", "zh-hant", "zh-hk", "zh-hk_radstr", "zh-mo", "zh-mo_radstr", "zh-mo_stroke", "zh-sg", "zh-sg_phoneb", "zh-sg_stroke", "zh-tw", "zh-tw_pronun", "zh-tw_radstr", "zu", "zu-za", - }; + ]; static void GenerateData(string[] cultures, (string lcid, string culture)[] lcids) { @@ -1248,8 +1248,8 @@ static void GenerateData(string[] cultures, (string lcid, string culture)[] lcid Console.WriteLine($"private const int CulturesCount = {indexes.Count};"); Console.WriteLine(); - Console.WriteLine("private static ReadOnlySpan LocalesNamesIndexes => new byte[CulturesCount * 2]"); - Console.WriteLine("{"); + Console.WriteLine("private static ReadOnlySpan LocalesNamesIndexes =>"); + Console.WriteLine("["); int max_length = 0; foreach (var entry in indexes) @@ -1271,7 +1271,7 @@ static void GenerateData(string[] cultures, (string lcid, string culture)[] lcid max_length = Math.Max(max_length, entry.length); } - Console.WriteLine("};"); + Console.WriteLine("];"); Console.WriteLine(); Console.WriteLine($"private const int LocaleLongestName = {max_length};"); @@ -1281,8 +1281,8 @@ static void GenerateData(string[] cultures, (string lcid, string culture)[] lcid int lastSort = 0; List<(int sort, int index)> sortList = new List<(int sort, int index)>(); - Console.WriteLine("private static ReadOnlySpan LcidToCultureNameIndices => new byte[LcidCount * 4]"); - Console.WriteLine("{"); + Console.WriteLine("private static ReadOnlySpan LcidToCultureNameIndices =>"); + Console.WriteLine("["); int sortIndex = 0; foreach (var entry in lcids) { @@ -1314,7 +1314,7 @@ static void GenerateData(string[] cultures, (string lcid, string culture)[] lcid Console.WriteLine($" 0x{((lcid >> 8) & 0xff):x2}, 0x{(lcid & 0xff):x2}, 0x{((positionLength >> 8) & 0xff):x2}, 0x{(positionLength & 0xff):x2}, // {cultureName}"); sortIndex++; } - Console.WriteLine("};"); + Console.WriteLine("];"); foreach (var item in sortList) { @@ -1324,8 +1324,8 @@ static void GenerateData(string[] cultures, (string lcid, string culture)[] lcid Console.WriteLine(); Console.WriteLine("private const int NumericLocaleDataBytesPerRow = 18;"); Console.WriteLine(); - Console.WriteLine("private static ReadOnlySpan LcidToCultureNameIndices => new byte[CulturesCount * NumericLocaleDataBytesPerRow]"); - Console.WriteLine("{"); + Console.WriteLine("private static ReadOnlySpan LcidToCultureNameIndices =>"); + Console.WriteLine("["); for (int i = 0; i < NameIndexToNumericData.Length; i += NUMERIC_LOCALE_DATA_COUNT_PER_ROW) { @@ -1370,7 +1370,7 @@ static void GenerateData(string[] cultures, (string lcid, string culture)[] lcid Console.Write($" // {i / NUMERIC_LOCALE_DATA_COUNT_PER_ROW,-4} - {cultures[i / NUMERIC_LOCALE_DATA_COUNT_PER_ROW]}"); Console.WriteLine(); } - Console.WriteLine("};"); + Console.WriteLine("];"); } */ } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs index 8091c88d128c8..41a0705698bc0 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs @@ -85,8 +85,8 @@ internal static partial class OrdinalCasing // 1 - NoCasingPage // The bits are in reverse order for readability, i.e. the highest order bit refers to // the lowest index. - private static ReadOnlySpan s_casingTableInit => new byte[32] - { + private static ReadOnlySpan s_casingTableInit => // 32 + [ /* 0000-07FF */ 0b00000000, /* 0800-0FFF */ 0b00000000, /* 1000-17FF */ 0b01001100, @@ -119,7 +119,7 @@ internal static partial class OrdinalCasing /* E800-EFFF */ 0b11111111, /* F000-F7FF */ 0b11111111, /* F800-FFFF */ 0b11001000, - }; + ]; [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static char ToUpper(char c) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/PersianCalendar.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/PersianCalendar.cs index d6d4cb833b7b8..d61caee9faecd 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/PersianCalendar.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/PersianCalendar.cs @@ -30,7 +30,7 @@ public class PersianCalendar : Calendar private const int DatePartDay = 3; private const int MonthsPerYear = 12; - private static ReadOnlySpan DaysToMonth => new int[] { 0, 31, 62, 93, 124, 155, 186, 216, 246, 276, 306, 336, 366 }; + private static ReadOnlySpan DaysToMonth => [0, 31, 62, 93, 124, 155, 186, 216, 246, 276, 306, 336, 366]; private const int MaxCalendarYear = 9378; private const int MaxCalendarMonth = 10; diff --git a/src/libraries/System.Private.CoreLib/src/System/Math.cs b/src/libraries/System.Private.CoreLib/src/System/Math.cs index 266e49fc39dd9..b3904a946e51a 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Math.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Math.cs @@ -32,10 +32,11 @@ public static partial class Math private const double doubleRoundLimit = 1e16d; // This table is required for the Round function which can specify the number of digits to round to - private static ReadOnlySpan RoundPower10Double => new double[] { - 1E0, 1E1, 1E2, 1E3, 1E4, 1E5, 1E6, 1E7, 1E8, - 1E9, 1E10, 1E11, 1E12, 1E13, 1E14, 1E15 - }; + private static ReadOnlySpan RoundPower10Double => + [ + 1E0, 1E1, 1E2, 1E3, 1E4, 1E5, 1E6, 1E7, 1E8, + 1E9, 1E10, 1E11, 1E12, 1E13, 1E14, 1E15 + ]; private const double SCALEB_C1 = 8.98846567431158E+307; // 0x1p1023 diff --git a/src/libraries/System.Private.CoreLib/src/System/MathF.cs b/src/libraries/System.Private.CoreLib/src/System/MathF.cs index de0efc14f0ac4..8cc0bcd2999ab 100644 --- a/src/libraries/System.Private.CoreLib/src/System/MathF.cs +++ b/src/libraries/System.Private.CoreLib/src/System/MathF.cs @@ -28,9 +28,10 @@ public static partial class MathF private const int maxRoundingDigits = 6; // This table is required for the Round function which can specify the number of digits to round to - private static ReadOnlySpan RoundPower10Single => new float[] { + private static ReadOnlySpan RoundPower10Single => + [ 1e0f, 1e1f, 1e2f, 1e3f, 1e4f, 1e5f, 1e6f - }; + ]; private const float singleRoundLimit = 1e8f; diff --git a/src/libraries/System.Private.CoreLib/src/System/Net/WebUtility.cs b/src/libraries/System.Private.CoreLib/src/System/Net/WebUtility.cs index 79d8a8fffcc7d..63574688504ab 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Net/WebUtility.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Net/WebUtility.cs @@ -786,8 +786,8 @@ static HtmlEntities() // is defined in http://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent. private static Dictionary InitializeLookupTable() { - ReadOnlySpan tableData = new byte[] - { + ReadOnlySpan tableData = + [ 0x74, 0x6F, 0x75, 0x71, 0x00, 0x00, 0x00, 0x00, /*ToUInt64Key("quot")*/ 0x22, 0x00, /*'\x0022'*/ 0x70, 0x6D, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, /*ToUInt64Key("amp")*/ 0x26, 0x00, /*'\x0026'*/ 0x73, 0x6F, 0x70, 0x61, 0x00, 0x00, 0x00, 0x00, /*ToUInt64Key("apos")*/ 0x27, 0x00, /*'\x0027'*/ @@ -1041,7 +1041,7 @@ private static Dictionary InitializeLookupTable() 0x73, 0x62, 0x75, 0x6C, 0x63, 0x00, 0x00, 0x00, /*ToUInt64Key("clubs")*/ 0x63, 0x26, /*'\x2663'*/ 0x73, 0x74, 0x72, 0x61, 0x65, 0x68, 0x00, 0x00, /*ToUInt64Key("hearts")*/ 0x65, 0x26, /*'\x2665'*/ 0x73, 0x6D, 0x61, 0x69, 0x64, 0x00, 0x00, 0x00, /*ToUInt64Key("diams")*/ 0x66, 0x26, /*'\x2666'*/ - }; + ]; var dictionary = new Dictionary(tableData.Length / (sizeof(ulong) + sizeof(char))); while (!tableData.IsEmpty) diff --git a/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs b/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs index aba4b814fc399..c671b5ad8faed 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Number.BigInteger.cs @@ -33,8 +33,8 @@ internal unsafe ref struct BigInteger private const int BitsPerBlock = sizeof(int) * 8; private const int MaxBlockCount = (MaxBits + (BitsPerBlock - 1)) / BitsPerBlock; - private static ReadOnlySpan Pow10UInt32Table => new uint[] - { + private static ReadOnlySpan Pow10UInt32Table => + [ 1, // 10^0 10, // 10^1 100, // 10^2 @@ -46,10 +46,10 @@ internal unsafe ref struct BigInteger // These last two are accessed only by MultiplyPow10. 100000000, // 10^8 1000000000 // 10^9 - }; + ]; - private static ReadOnlySpan Pow10BigNumTableIndices => new int[] - { + private static ReadOnlySpan Pow10BigNumTableIndices => + [ 0, // 10^8 2, // 10^16 5, // 10^32 @@ -58,10 +58,10 @@ internal unsafe ref struct BigInteger 33, // 10^256 61, // 10^512 116, // 10^1024 - }; + ]; - private static ReadOnlySpan Pow10BigNumTable => new uint[] - { + private static ReadOnlySpan Pow10BigNumTable => + [ // 10^8 1, // _length 100000000, // _blocks @@ -312,7 +312,7 @@ internal unsafe ref struct BigInteger 0x00000000, 0x00000000, 0x00000000, - }; + ]; private int _length; private fixed uint _blocks[MaxBlockCount]; diff --git a/src/libraries/System.Private.CoreLib/src/System/Number.Grisu3.cs b/src/libraries/System.Private.CoreLib/src/System/Number.Grisu3.cs index b12e4a42263b2..4a746b38cc2c3 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Number.Grisu3.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Number.Grisu3.cs @@ -34,8 +34,8 @@ internal static class Grisu3 private const int MaximalTargetExponent = -32; private const int MinimalTargetExponent = -60; - private static ReadOnlySpan CachedPowersBinaryExponent => new short[] - { + private static ReadOnlySpan CachedPowersBinaryExponent => + [ -1220, -1193, -1166, @@ -123,10 +123,10 @@ internal static class Grisu3 1013, 1039, 1066, - }; + ]; - private static ReadOnlySpan CachedPowersDecimalExponent => new short[] - { + private static ReadOnlySpan CachedPowersDecimalExponent => + [ CachedPowersMinDecimalExponent, -340, -332, @@ -214,10 +214,10 @@ internal static class Grisu3 324, 332, CachedPowersPowerMaxDecimalExponent, - }; + ]; - private static ReadOnlySpan CachedPowersSignificand => new ulong[] - { + private static ReadOnlySpan CachedPowersSignificand => + [ 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, @@ -305,10 +305,10 @@ internal static class Grisu3 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B, - }; + ]; - private static ReadOnlySpan SmallPowersOfTen => new uint[] - { + private static ReadOnlySpan SmallPowersOfTen => + [ 1, // 10^0 10, // 10^1 100, // 10^2 @@ -319,7 +319,7 @@ internal static class Grisu3 10000000, // 10^7 100000000, // 10^8 1000000000, // 10^9 - }; + ]; public static bool TryRunDouble(double value, int requestedDigits, ref NumberBuffer number) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs b/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs index 24e809073f0a3..8043171f596df 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs @@ -10,7 +10,8 @@ namespace System { internal unsafe partial class Number { - private static ReadOnlySpan Pow10DoubleTable => new double[] { + private static ReadOnlySpan Pow10DoubleTable => + [ 1e0, // 10^0 1e1, // 10^1 1e2, // 10^2 @@ -34,13 +35,14 @@ internal unsafe partial class Number 1e20, // 10^20 1e21, // 10^21 1e22, // 10^22 - }; + ]; /// /// Normalized 128 bits values for powers of 5^q for q in range [-342, 308] /// stored as 2 64-bits integers for convenience /// - private static ReadOnlySpan Pow5128Table => new ulong[] { + private static ReadOnlySpan Pow5128Table => + [ 0xeef453d6923bd65a, 0x113faa2906a13b3f, 0x9558b4661b6565f8, 0x4ac7ca59a424c507, 0xbaaee17fa23ebf76, 0x5d79bcf00d2df649, @@ -692,7 +694,7 @@ internal unsafe partial class Number 0xb6472e511c81471d, 0xe0133fe4adf8e952, 0xe3d8f9e563a198e5, 0x58180fddd97723a6, 0x8e679c2f5e44ff8f, 0x570f09eaa7ea7648 - }; + ]; private static void AccumulateDecimalDigitsIntoBigInteger(scoped ref NumberBuffer number, uint firstIndex, uint lastIndex, out BigInteger result) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/BitOperations.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/BitOperations.cs index f964107cbdc78..7338e9aa5ee0f 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/BitOperations.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/BitOperations.cs @@ -25,21 +25,21 @@ public static class BitOperations // C# no-alloc optimization that directly wraps the data section of the dll (similar to string constants) // https://github.com/dotnet/roslyn/pull/24621 - private static ReadOnlySpan TrailingZeroCountDeBruijn => new byte[32] - { + private static ReadOnlySpan TrailingZeroCountDeBruijn => // 32 + [ 00, 01, 28, 02, 29, 14, 24, 03, 30, 22, 20, 15, 25, 17, 04, 08, 31, 27, 13, 23, 21, 19, 16, 07, 26, 12, 18, 06, 11, 05, 10, 09 - }; + ]; - private static ReadOnlySpan Log2DeBruijn => new byte[32] - { + private static ReadOnlySpan Log2DeBruijn => // 32 + [ 00, 09, 01, 10, 13, 21, 02, 29, 11, 14, 16, 18, 22, 25, 03, 30, 08, 12, 20, 28, 15, 17, 24, 07, 19, 27, 23, 06, 26, 05, 04, 31 - }; + ]; /// /// Evaluate whether a given integral value is a power of 2. diff --git a/src/libraries/System.Private.CoreLib/src/System/Reflection/AssemblyNameHelpers.StrongName.cs b/src/libraries/System.Private.CoreLib/src/System/Reflection/AssemblyNameHelpers.StrongName.cs index 6c2a6352118ce..7fb7a66815956 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Reflection/AssemblyNameHelpers.StrongName.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Reflection/AssemblyNameHelpers.StrongName.cs @@ -98,6 +98,6 @@ private static uint GetAlgSid(uint x) private const int PublicKeyTokenLength = 8; - private static ReadOnlySpan EcmaKey => new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + private static ReadOnlySpan EcmaKey => [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/SearchValues/Strings/Helpers/CharacterFrequencyHelper.cs b/src/libraries/System.Private.CoreLib/src/System/SearchValues/Strings/Helpers/CharacterFrequencyHelper.cs index 156c925c755f9..012250e301315 100644 --- a/src/libraries/System.Private.CoreLib/src/System/SearchValues/Strings/Helpers/CharacterFrequencyHelper.cs +++ b/src/libraries/System.Private.CoreLib/src/System/SearchValues/Strings/Helpers/CharacterFrequencyHelper.cs @@ -9,8 +9,8 @@ internal static class CharacterFrequencyHelper { // Same as RegexPrefixAnalyzer.Frequency. // https://github.com/dotnet/runtime/blob/a355d5f7db162714ee19533ca55074aa2cbd8a8c/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexPrefixAnalyzer.cs#L956C43-L956C53 - public static ReadOnlySpan AsciiFrequency => new float[] - { + public static ReadOnlySpan AsciiFrequency => + [ 0.000f /* '\x00' */, 0.000f /* '\x01' */, 0.000f /* '\x02' */, 0.000f /* '\x03' */, 0.000f /* '\x04' */, 0.000f /* '\x05' */, 0.000f /* '\x06' */, 0.000f /* '\x07' */, 0.000f /* '\x08' */, 0.001f /* '\x09' */, 0.000f /* '\x0A' */, 0.000f /* '\x0B' */, 0.000f /* '\x0C' */, 0.000f /* '\x0D' */, 0.000f /* '\x0E' */, 0.000f /* '\x0F' */, 0.000f /* '\x10' */, 0.000f /* '\x11' */, 0.000f /* '\x12' */, 0.000f /* '\x13' */, 0.003f /* '\x14' */, 0.000f /* '\x15' */, 0.000f /* '\x16' */, 0.000f /* '\x17' */, @@ -27,7 +27,7 @@ internal static class CharacterFrequencyHelper 1.024f /* ' h' */, 3.750f /* ' i' */, 0.286f /* ' j' */, 0.439f /* ' k' */, 2.913f /* ' l' */, 1.459f /* ' m' */, 3.908f /* ' n' */, 3.230f /* ' o' */, 1.444f /* ' p' */, 0.231f /* ' q' */, 4.220f /* ' r' */, 3.924f /* ' s' */, 5.312f /* ' t' */, 2.112f /* ' u' */, 0.737f /* ' v' */, 0.573f /* ' w' */, 0.992f /* ' x' */, 1.067f /* ' y' */, 0.181f /* ' z' */, 0.391f /* ' {' */, 0.056f /* ' |' */, 0.391f /* ' }' */, 0.002f /* ' ~' */, 0.000f /* '\x7F' */, - }; + ]; public static void GetSingleStringMultiCharacterOffsets(string value, bool ignoreCase, out int ch2Offset, out int ch3Offset) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Text/EncoderLatin1BestFitFallback.Data.cs b/src/libraries/System.Private.CoreLib/src/System/Text/EncoderLatin1BestFitFallback.Data.cs index fe856d6148225..061259cb07782 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Text/EncoderLatin1BestFitFallback.Data.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Text/EncoderLatin1BestFitFallback.Data.cs @@ -6,8 +6,8 @@ namespace System.Text internal sealed partial class EncoderLatin1BestFitFallbackBuffer { // Best fit for ASCII, and since it works for ASCII, we use it for latin1 as well. - private static ReadOnlySpan ArrayCharBestFit => new char[] - { + private static ReadOnlySpan ArrayCharBestFit => + [ // The first many are in case you wanted to use this for ASCIIEncoding, which we don't need to do any more. // (char)0x00a0, (char)0x0020, // No-Break Space -> Space // (char)0x00a1, (char)0x0021, // Inverted Exclamation Mark -> ! @@ -407,6 +407,6 @@ internal sealed partial class EncoderLatin1BestFitFallbackBuffer (char)0xff5c, (char)0x007c, // Fullwidth Vertical Line -> | (char)0xff5d, (char)0x007d, // Fullwidth Right Curly Bracket -> } (char)0xff5e, (char)0x007e // Fullwidth Tilde -> ~ - }; + ]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Text/EncodingData.cs b/src/libraries/System.Private.CoreLib/src/System/Text/EncodingData.cs index 88689f57d6a92..e076da60c5e61 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Text/EncodingData.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Text/EncodingData.cs @@ -65,8 +65,8 @@ internal static partial class EncodingTable // EncodingNames. We infer the length of each string by looking at the start index // of the next string. // - private static ReadOnlySpan EncodingNameIndices => new int[] - { + private static ReadOnlySpan EncodingNameIndices => + [ 0, // ansi_x3.4-1968 (20127) 14, // ansi_x3.4-1986 (20127) 28, // ascii (20127) @@ -110,7 +110,7 @@ internal static partial class EncodingTable 391, // x-unicode-2-0-utf-7 (65000) 410, // x-unicode-2-0-utf-8 (65001) 429 - }; + ]; // // CodePagesByName contains the list of supported codepages which match the encoding @@ -119,8 +119,8 @@ internal static partial class EncodingTable // The index of the entry in EncodingNamesIndices will be the index of codepage in // CodePagesByName. // - private static ReadOnlySpan CodePagesByName => new ushort[] - { + private static ReadOnlySpan CodePagesByName => + [ 20127, // ansi_x3.4-1968 20127, // ansi_x3.4-1986 20127, // ascii @@ -163,7 +163,7 @@ internal static partial class EncodingTable 65001, // x-unicode-1-1-utf-8 65000, // x-unicode-2-0-utf-7 65001 // x-unicode-2-0-utf-8 - }; + ]; // // When retrieving the value for System.Text.Encoding.WebName or @@ -175,8 +175,8 @@ internal static partial class EncodingTable // EnglishNames. In addition, this arrays indices correspond to the indices // into UiFamilyCodePages and Flags. // - private static ReadOnlySpan MappedCodePages => new ushort[] - { + private static ReadOnlySpan MappedCodePages => + [ 1200, // utf-16 1201, // utf-16be 12000, // utf-32 @@ -185,13 +185,13 @@ internal static partial class EncodingTable 28591, // iso-8859-1 65000, // utf-7 65001 // utf-8 - }; + ]; // // UiFamilyCodePages is indexed by the corresponding index in MappedCodePages. // - private static ReadOnlySpan UiFamilyCodePages => new int[] - { + private static ReadOnlySpan UiFamilyCodePages => + [ 1200, 1200, 1200, @@ -200,7 +200,7 @@ internal static partial class EncodingTable 1252, 1200, 1200 - }; + ]; // // WebNames is a concatenation of the default encoding names @@ -224,8 +224,8 @@ internal static partial class EncodingTable // web name in the string WebNames. It is indexed by an index into // MappedCodePages. // - private static ReadOnlySpan WebNameIndices => new int[] - { + private static ReadOnlySpan WebNameIndices => + [ 0, // utf-16 (1200) 6, // utf-16be (1201) 14, // utf-32 (12000) @@ -235,7 +235,7 @@ internal static partial class EncodingTable 46, // utf-7 (65000) 51, // utf-8 (65001) 56 - }; + ]; // redeclaring these constants here for readability below private const uint MIMECONTF_MAILNEWS = Encoding.MIMECONTF_MAILNEWS; @@ -244,8 +244,8 @@ internal static partial class EncodingTable private const uint MIMECONTF_SAVABLE_BROWSER = Encoding.MIMECONTF_SAVABLE_BROWSER; // Flags is indexed by the corresponding index in MappedCodePages. - private static ReadOnlySpan Flags => new uint[] - { + private static ReadOnlySpan Flags => + [ MIMECONTF_SAVABLE_BROWSER, 0, 0, @@ -254,6 +254,6 @@ internal static partial class EncodingTable MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER, MIMECONTF_MAILNEWS | MIMECONTF_SAVABLE_MAILNEWS, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER - }; + ]; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs b/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs index d99947dd09cfb..b283674d8ace4 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs @@ -42,8 +42,8 @@ namespace System.Text // - 0x40 bit if set means 'is letter or digit' // - 0x20 bit is reserved for future use // - bottom 5 bits are the UnicodeCategory of the character - private static ReadOnlySpan AsciiCharInfo => new byte[] - { + private static ReadOnlySpan AsciiCharInfo => + [ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x0E, 0x0E, // U+0000..U+000F 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, // U+0010..U+001F 0x8B, 0x18, 0x18, 0x18, 0x1A, 0x18, 0x18, 0x18, 0x14, 0x15, 0x18, 0x19, 0x18, 0x13, 0x18, 0x18, // U+0020..U+002F @@ -52,7 +52,7 @@ namespace System.Text 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x14, 0x18, 0x15, 0x1B, 0x12, // U+0050..U+005F 0x1B, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, // U+0060..U+006F 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x14, 0x19, 0x15, 0x19, 0x0E, // U+0070..U+007F - }; + ]; private readonly uint _value; diff --git a/src/libraries/System.Private.CoreLib/src/System/Text/UTF8Encoding.cs b/src/libraries/System.Private.CoreLib/src/System/Text/UTF8Encoding.cs index f4eb8a5358a20..8ae01e85af9fe 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Text/UTF8Encoding.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Text/UTF8Encoding.cs @@ -61,7 +61,7 @@ 4 21 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv // The initialization code will not be run until a static member of the class is referenced internal static readonly UTF8EncodingSealed s_default = new UTF8EncodingSealed(encoderShouldEmitUTF8Identifier: true); - internal static ReadOnlySpan PreambleSpan => new byte[3] { 0xEF, 0xBB, 0xBF }; // uses C# compiler's optimization for static byte[] data + internal static ReadOnlySpan PreambleSpan => [0xEF, 0xBB, 0xBF]; // Yes, the idea of emitting U+FEFF as a UTF-8 identifier has made it into // the standard. diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs index 731de34711600..8753a3d24e62f 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs @@ -16,8 +16,8 @@ internal sealed class XmlJsonReader : XmlBaseReader, IXmlJsonReaderInitializer { private const int MaxTextChunk = 2048; - private static ReadOnlySpan CharTypes => new byte[256] // rely on C# compiler optimization to eliminate allocation - { + private static ReadOnlySpan CharTypes => + [ CharType.None, // 0 (.) CharType.None, // 1 (.) CharType.None, // 2 (.) @@ -274,7 +274,7 @@ internal sealed class XmlJsonReader : XmlBaseReader, IXmlJsonReaderInitializer CharType.None | CharType.FirstName | CharType.Name, // FD (?) CharType.None | CharType.FirstName | CharType.Name, // FE (?) CharType.None | CharType.FirstName | CharType.Name, // FF (?) - }; + ]; private bool _buffered; private byte[]? _charactersToSkipOnNextRead; private JsonComplexTextMode _complexTextMode = JsonComplexTextMode.None; diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ObjectToIdCache.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ObjectToIdCache.cs index ec70b9e5d7624..a6163273e613e 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ObjectToIdCache.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ObjectToIdCache.cs @@ -162,8 +162,8 @@ private void Rehash() private static int GetPrime(int min) { - ReadOnlySpan primes = new int[] - { + ReadOnlySpan primes = + [ 3, 7, 17, 37, 89, 197, 431, 919, 1931, 4049, 8419, 17519, 36353, 75431, 156437, 324449, 672827, 1395263, 2893249, 5999471, 11998949, 23997907, 47995853, 95991737, 191983481, 383966977, 767933981, 1535867969, @@ -171,7 +171,7 @@ private static int GetPrime(int min) // 0x7FFFFFC7 == Array.MaxLength is not prime, but it is the largest possible array size. // There's nowhere to go from here. Using a const rather than the MaxLength property // so that the array contains only const values. - }; + ]; foreach (int prime in primes) { diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Text/Base64Encoding.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Text/Base64Encoding.cs index d2eca70a51a15..33932c32d3d50 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Text/Base64Encoding.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Text/Base64Encoding.cs @@ -11,8 +11,8 @@ namespace System.Text { internal sealed class Base64Encoding : Encoding { - private static ReadOnlySpan Char2val => new byte[128] // rely on C# compiler optimization to eliminate allocation - { + private static ReadOnlySpan Char2val => // 128 + [ /* 0-15 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 16-31 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 32-47 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 62, 0xFF, 0xFF, 0xFF, 63, @@ -21,7 +21,7 @@ internal sealed class Base64Encoding : Encoding /* 80-95 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 96-111 */ 0xFF, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /* 112-127 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - }; + ]; private const string Val2Char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; private static ReadOnlySpan Val2byte => "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"u8; diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/UniqueId.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/UniqueId.cs index 4a3a6c1b4e4e4..6cfffa4b86740 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/UniqueId.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/UniqueId.cs @@ -13,8 +13,8 @@ public class UniqueId private const int guidLength = 16; private const int uuidLength = 45; - private static ReadOnlySpan Char2val => new short[256] - { + private static ReadOnlySpan Char2val => + [ /* 0-15 */ 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, /* 16-31 */ @@ -48,7 +48,7 @@ public class UniqueId 0x100, 0x00A, 0x00B, 0x00C, 0x00D, 0x00E, 0x00F, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, /* 112-127 */ 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, - }; + ]; public UniqueId() : this(Guid.NewGuid()) { diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs index 90b855f5ef30e..86fac2721533a 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs @@ -31,8 +31,8 @@ internal sealed class XmlUTF8TextReader : XmlBaseReader, IXmlLineInfo, IXmlTextR private OnXmlDictionaryReaderClose? _onClose; private bool _buffered; private int _maxBytesPerRead; - private static ReadOnlySpan CharTypeMap => new byte[256] - { + private static ReadOnlySpan CharTypeMap => // 256 + [ /* 0 (.) */ CharType.None, /* 1 (.) */ @@ -545,7 +545,7 @@ internal sealed class XmlUTF8TextReader : XmlBaseReader, IXmlLineInfo, IXmlTextR CharType.None|CharType.Comment|CharType.FirstName|CharType.Name|CharType.Text|CharType.AttributeText, /* FF (?) */ CharType.None|CharType.Comment|CharType.FirstName|CharType.Name|CharType.Text|CharType.AttributeText, - }; + ]; public XmlUTF8TextReader() { diff --git a/src/libraries/System.Private.Xml.Linq/src/System/Xml/XPath/XNodeNavigator.cs b/src/libraries/System.Private.Xml.Linq/src/System/Xml/XPath/XNodeNavigator.cs index 8bf77baf64a42..e994a489678d4 100644 --- a/src/libraries/System.Private.Xml.Linq/src/System/Xml/XPath/XNodeNavigator.cs +++ b/src/libraries/System.Private.Xml.Linq/src/System/Xml/XPath/XNodeNavigator.cs @@ -16,7 +16,8 @@ internal sealed class XNodeNavigator : XPathNavigator, IXmlLineInfo (1 << (int)XmlNodeType.Element) | (1 << (int)XmlNodeType.ProcessingInstruction) | (1 << (int)XmlNodeType.Comment); - private static ReadOnlySpan ElementContentMasks => new int[] { + private static ReadOnlySpan ElementContentMasks => + [ 0, // Root (1 << (int)XmlNodeType.Element), // Element 0, // Attribute @@ -32,7 +33,7 @@ internal sealed class XNodeNavigator : XPathNavigator, IXmlLineInfo (1 << (int)XmlNodeType.Text) | (1 << (int)XmlNodeType.ProcessingInstruction) | (1 << (int)XmlNodeType.Comment) // All - }; + ]; private const int TextMask = (1 << (int)XmlNodeType.CDATA) | (1 << (int)XmlNodeType.Text); diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Base64Decoder.cs b/src/libraries/System.Private.Xml/src/System/Xml/Base64Decoder.cs index 7660a201af753..b2885699ad05c 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Base64Decoder.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Base64Decoder.cs @@ -108,8 +108,8 @@ private void Decode(ReadOnlySpan chars, Span bytes, out int charsDec int bFilled = _bitsFilled; const byte Invalid = 255; - ReadOnlySpan mapBase64 = new byte[123] - { + ReadOnlySpan mapBase64 = // 123 + [ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, @@ -118,7 +118,7 @@ private void Decode(ReadOnlySpan chars, Span bytes, out int charsDec 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - }; + ]; while ((uint)iChar < (uint)chars.Length) { diff --git a/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/SqlUtils.cs b/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/SqlUtils.cs index 16e63298901f3..0e388b0d0772f 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/SqlUtils.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/SqlUtils.cs @@ -120,9 +120,10 @@ ref int ciulU // InOut| # of digits // 10-19 2 // 20-28 3 // 29-38 4 - private static ReadOnlySpan RgCLenFromPrec => new byte[] { // rely on C# compiler optimization to eliminate allocation + private static ReadOnlySpan RgCLenFromPrec => + [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - }; + ]; private static byte CLenFromPrec(byte bPrec) { @@ -305,7 +306,8 @@ internal abstract class BinXmlDateTime { private const int MaxFractionDigits = 7; - internal static ReadOnlySpan KatmaiTimeScaleMultiplicator => new int[8] { + internal static ReadOnlySpan KatmaiTimeScaleMultiplicator => + [ 10000000, 1000000, 100000, @@ -314,7 +316,7 @@ internal abstract class BinXmlDateTime 100, 10, 1, - }; + ]; private static void Write2Dig(StringBuilder sb, int val) { diff --git a/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs b/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs index 280e28a1fa246..f3cf287af6fd0 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/BinaryXml/XmlBinaryReader.cs @@ -18,7 +18,8 @@ internal sealed partial class XmlSqlBinaryReader : XmlReader, IXmlNamespaceResol { private static volatile Type?[] s_tokenTypeMap = null!; - private static ReadOnlySpan XsdKatmaiTimeScaleToValueLengthMap => new byte[8] { // rely on C# compiler optimization to eliminate allocation + private static ReadOnlySpan XsdKatmaiTimeScaleToValueLengthMap => // 8 + [ // length scale 3, // 0 3, // 1 @@ -28,7 +29,7 @@ internal sealed partial class XmlSqlBinaryReader : XmlReader, IXmlNamespaceResol 5, // 5 5, // 6 5, // 7 - }; + ]; private enum ScanState { diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Core/ReadOnlyTernaryTree.cs b/src/libraries/System.Private.Xml/src/System/Xml/Core/ReadOnlyTernaryTree.cs index 96e625dfa9fb4..1ea03a4817f74 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Core/ReadOnlyTernaryTree.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Core/ReadOnlyTernaryTree.cs @@ -48,8 +48,8 @@ private enum TernaryTreeByte RightTree = 2, Data = 3 } - private static ReadOnlySpan HtmlElements => new byte[] - { + private static ReadOnlySpan HtmlElements => + [ 73, 4, 147, 0, 77, 140, 162, 0, 71, 0, 0, 0, 0, 0, 0, 11, 68, 4, 85, 0, 73, 71, 92, 0, 86, 81, 0, 0, 0, 0, 0, 64, 66, 3, 45, 0, 82, 21, 55, 0, 0, 0, 0, 8, 65, 0, 0, 0, 82, 4, 0, 0, 69, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 75, 68, 7, 8, 0, 68, 0, 0, 0, 82, 0, 0, 0, 69, 0, 0, 0, 83, 0, 0, 0, @@ -94,9 +94,9 @@ private enum TernaryTreeByte 0, 0, 0, 2, 0, 0, 0, 66, 82, 2, 0, 0, 0, 0, 0, 64, 73, 0, 0, 0, 84, 0, 0, 0, 76, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 64, 85, 0, 3, 0, 76, 0, 0, 0, 0, 0, 0, 66, 88, 0, 0, 0, 77, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 64, - }; - private static ReadOnlySpan HtmlAttributes => new byte[] - { + ]; + private static ReadOnlySpan HtmlAttributes => + [ 72, 5, 77, 0, 82, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 1, 67, 12, 40, 0, 79, 7, 0, 0, 77, 31, 0, 0, 80, 0, 0, 0, 65, 0, 0, 0, 67, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 2, 73, 11, 18, 0, 84, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 1, 65, 0, 0, 0, 67, 0, 0, 0, 84, 0, 0, 0, 73, 0, 0, 0, @@ -121,7 +121,7 @@ private enum TernaryTreeByte 83, 0, 12, 0, 82, 3, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 0, 76, 0, 0, 0, 69, 0, 0, 0, 67, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 2, 85, 0, 0, 0, 83, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 65, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 1, - }; + ]; public static ElementProperties FindElementProperty(ReadOnlySpan stringToFind) { return (ElementProperties)FindCaseInsensitiveString(stringToFind, HtmlElements); diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdBuilder.cs b/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdBuilder.cs index f237a4608c779..bc4c33a59e72d 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdBuilder.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdBuilder.cs @@ -598,22 +598,24 @@ public BuilderNamespaceManager(XmlNamespaceManager nsMgr, XmlReader reader) // // for 'block' and 'final' attribute values // - private static ReadOnlySpan DerivationMethodValues => new int[] { + private static ReadOnlySpan DerivationMethodValues => + [ (int)XmlSchemaDerivationMethod.Substitution, (int)XmlSchemaDerivationMethod.Extension, (int)XmlSchemaDerivationMethod.Restriction, (int)XmlSchemaDerivationMethod.List, (int)XmlSchemaDerivationMethod.Union, (int)XmlSchemaDerivationMethod.All, - }; - private static readonly string[] s_derivationMethodStrings = { + ]; + private static readonly string[] s_derivationMethodStrings = + [ "substitution", "extension", "restriction", "list", "union", "#all", - }; + ]; private static readonly string[] s_formStringValues = { "qualified", "unqualified" }; private static readonly string[] s_useStringValues = { "optional", "prohibited", "required" }; diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdDateTime.cs b/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdDateTime.cs index 4f774a4f98a31..10b78d608233e 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdDateTime.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Schema/XsdDateTime.cs @@ -127,10 +127,8 @@ private enum XsdDateTimeKind // Number of days in 400 years private const int DaysPer400Years = DaysPer100Years * 4 + 1; // 146097 - private static ReadOnlySpan DaysToMonth365 => new int[] { - 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}; - private static ReadOnlySpan DaysToMonth366 => new int[] { - 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366}; + private static ReadOnlySpan DaysToMonth365 => [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + private static ReadOnlySpan DaysToMonth366 => [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; private const int CharStackBufferSize = 64; @@ -924,7 +922,7 @@ private bool ParseTimeAndWhitespace(int start) return false; } - private static ReadOnlySpan Power10 => new int[MaxFractionDigits] { -1, 10, 100, 1000, 10000, 100000, 1000000 }; + private static ReadOnlySpan Power10 => [-1, 10, 100, 1000, 10000, 100000, 1000000]; private bool ParseTime(ref int start) { if ( diff --git a/src/libraries/System.Private.Xml/src/System/Xml/XmlCharType.cs b/src/libraries/System.Private.Xml/src/System/Xml/XmlCharType.cs index 9af1fe2a4f9ab..136862ba04c81 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/XmlCharType.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/XmlCharType.cs @@ -185,8 +185,8 @@ private static bool InRange(int value, int start, int end) [MethodImpl(MethodImplOptions.AggressiveInlining)] private static uint GetCharProperties(char ch) => Unsafe.Add(ref MemoryMarshal.GetReference(CharProperties), ch); - private static ReadOnlySpan CharProperties => new byte[] - { + private static ReadOnlySpan CharProperties => + [ // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x11, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4284,6 +4284,6 @@ private static bool InRange(int value, int start, int end) /* FFD0 */ 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, /* FFE0 */ 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, /* FFF0 */ 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0x00, 0x00, - }; + ]; } } diff --git a/src/libraries/System.Private.Xml/src/System/Xml/XmlEncoding.cs b/src/libraries/System.Private.Xml/src/System/Xml/XmlEncoding.cs index fd40fcdbb1129..123d3b607d522 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/XmlEncoding.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/XmlEncoding.cs @@ -322,20 +322,11 @@ public Ucs4Encoding1234() ucs4Decoder = new Ucs4Decoder1234(); } - public override string EncodingName - { - get - { - return "ucs-4 (Bigendian)"; - } - } + public override string EncodingName => "ucs-4 (Bigendian)"; - public override byte[] GetPreamble() - { - return new byte[4] { 0x00, 0x00, 0xfe, 0xff }; - } + public override byte[] GetPreamble() => [0x00, 0x00, 0xfe, 0xff]; - public override ReadOnlySpan Preamble => new byte[4] { 0x00, 0x00, 0xfe, 0xff }; // rely on C# compiler optimization to eliminate allocation + public override ReadOnlySpan Preamble => [0x00, 0x00, 0xfe, 0xff]; } internal sealed class Ucs4Encoding4321 : Ucs4Encoding @@ -345,20 +336,11 @@ public Ucs4Encoding4321() ucs4Decoder = new Ucs4Decoder4321(); } - public override string EncodingName - { - get - { - return "ucs-4"; - } - } + public override string EncodingName => "ucs-4"; - public override byte[] GetPreamble() - { - return new byte[4] { 0xff, 0xfe, 0x00, 0x00 }; - } + public override byte[] GetPreamble() => [0xff, 0xfe, 0x00, 0x00]; - public override ReadOnlySpan Preamble => new byte[4] { 0xff, 0xfe, 0x00, 0x00 }; + public override ReadOnlySpan Preamble => [0xff, 0xfe, 0x00, 0x00]; } internal sealed class Ucs4Encoding2143 : Ucs4Encoding @@ -368,20 +350,11 @@ public Ucs4Encoding2143() ucs4Decoder = new Ucs4Decoder2143(); } - public override string EncodingName - { - get - { - return "ucs-4 (order 2143)"; - } - } + public override string EncodingName => "ucs-4 (order 2143)"; - public override byte[] GetPreamble() - { - return new byte[4] { 0x00, 0x00, 0xff, 0xfe }; - } + public override byte[] GetPreamble() => [0x00, 0x00, 0xff, 0xfe]; - public override ReadOnlySpan Preamble => new byte[4] { 0x00, 0x00, 0xff, 0xfe }; + public override ReadOnlySpan Preamble => [0x00, 0x00, 0xff, 0xfe]; } internal sealed class Ucs4Encoding3412 : Ucs4Encoding @@ -391,20 +364,11 @@ public Ucs4Encoding3412() ucs4Decoder = new Ucs4Decoder3412(); } - public override string EncodingName - { - get - { - return "ucs-4 (order 3412)"; - } - } + public override string EncodingName => "ucs-4 (order 3412)"; - public override byte[] GetPreamble() - { - return new byte[4] { 0xfe, 0xff, 0x00, 0x00 }; - } + public override byte[] GetPreamble() => [0xfe, 0xff, 0x00, 0x00]; - public override ReadOnlySpan Preamble => new byte[4] { 0xfe, 0xff, 0x00, 0x00 }; + public override ReadOnlySpan Preamble => [0xfe, 0xff, 0x00, 0x00]; } internal abstract class Ucs4Decoder : Decoder diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Xsl/Runtime/NumberFormatter.cs b/src/libraries/System.Private.Xml/src/System/Xml/Xsl/Runtime/NumberFormatter.cs index 8079d606ffe69..4c2ea7a59149a 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Xsl/Runtime/NumberFormatter.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Xsl/Runtime/NumberFormatter.cs @@ -106,8 +106,8 @@ public static void ConvertToRoman(StringBuilder sb, double val, bool upperCase) int number = (int)val; string digits = upperCase ? RomanDigitsUC : RomanDigitsLC; - // RomanDigit = { I IV V IX X XL L XC C CD D CM M } - ReadOnlySpan RomanDigitValue = new int[] { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 }; + // RomanDigit ={ I IV V IX X XL L XC C CD D CM M } + ReadOnlySpan RomanDigitValue = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000]; for (int idx = RomanDigitValue.Length; idx-- != 0;) { diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPath/XPathParser.cs b/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPath/XPathParser.cs index d4f365b25830a..9b9d0efa33861 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPath/XPathParser.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPath/XPathParser.cs @@ -355,8 +355,8 @@ private Node ParseSubExpr(int callerPrec) XPathOperator op; Node opnd; - ReadOnlySpan xpathOperatorPrecedence = new byte[] - { + ReadOnlySpan xpathOperatorPrecedence = + [ /*Unknown */ 0, /*Or */ 1, /*And */ 2, @@ -373,7 +373,7 @@ private Node ParseSubExpr(int callerPrec) /*Modulo */ 6, /*UnaryMinus */ 7, /*Union */ 8, // Not used - }; + ]; // Check for unary operators if (_scanner!.Kind == LexKind.Minus) diff --git a/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPathConvert.cs b/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPathConvert.cs index 14496cdc08188..19225b03fa49a 100644 --- a/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPathConvert.cs +++ b/src/libraries/System.Private.Xml/src/System/Xml/Xsl/XPathConvert.cs @@ -89,11 +89,12 @@ public static double Pred(double x) // Small powers of ten. These are all the powers of ten that have an exact // representation in IEEE double precision format. - public static ReadOnlySpan C10toN => new double[] { + public static ReadOnlySpan C10toN => + [ 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, - }; + ]; // Returns 1 if argument is non-zero, and 0 otherwise public static uint NotZero(uint u) diff --git a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/BlobReader.cs b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/BlobReader.cs index 589f8c501d8ee..e73f1431ffdb1 100644 --- a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/BlobReader.cs +++ b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/BlobReader.cs @@ -616,7 +616,7 @@ public EntityHandle ReadTypeHandle() return new EntityHandle(tokenType | (value >> 2)); } - private static ReadOnlySpan CorEncodeTokenArray => new uint[] { TokenTypeIds.TypeDef, TokenTypeIds.TypeRef, TokenTypeIds.TypeSpec, 0 }; + private static ReadOnlySpan CorEncodeTokenArray => [TokenTypeIds.TypeDef, TokenTypeIds.TypeRef, TokenTypeIds.TypeSpec, 0]; /// /// Reads a #Blob heap handle encoded as a compressed integer. diff --git a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/HasCustomAttributeTag.cs b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/HasCustomAttributeTag.cs index e49571addb150..abb42eccb5f77 100644 --- a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/HasCustomAttributeTag.cs +++ b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/HasCustomAttributeTag.cs @@ -36,8 +36,8 @@ internal static class HasCustomAttributeTag // Arbitrary value not equal to any of the token types in the array. This includes 0 which is TokenTypeIds.Module. internal const uint InvalidTokenType = uint.MaxValue; - internal static ReadOnlySpan TagToTokenTypeArray => new uint[] - { + internal static ReadOnlySpan TagToTokenTypeArray => + [ TokenTypeIds.MethodDef, TokenTypeIds.FieldDef, TokenTypeIds.TypeRef, @@ -71,7 +71,7 @@ internal static class HasCustomAttributeTag InvalidTokenType, InvalidTokenType, InvalidTokenType - }; + ]; internal const TableMask TablesReferenced = TableMask.MethodDef diff --git a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/PortablePdb/HasCustomDebugInformationTag.cs b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/PortablePdb/HasCustomDebugInformationTag.cs index 8bb433471dd55..b3619bc446e20 100644 --- a/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/PortablePdb/HasCustomDebugInformationTag.cs +++ b/src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/PortablePdb/HasCustomDebugInformationTag.cs @@ -44,8 +44,8 @@ internal static class HasCustomDebugInformationTag // Arbitrary value not equal to any of the token types in the array. This includes 0 which is TokenTypeIds.Module. internal const uint InvalidTokenType = uint.MaxValue; - internal static ReadOnlySpan TagToTokenTypeArray => new uint[] - { + internal static ReadOnlySpan TagToTokenTypeArray => + [ TokenTypeIds.MethodDef, TokenTypeIds.FieldDef, TokenTypeIds.TypeRef, @@ -80,7 +80,7 @@ internal static class HasCustomDebugInformationTag InvalidTokenType, InvalidTokenType, InvalidTokenType - }; + ]; internal const TableMask TablesReferenced = TableMask.MethodDef diff --git a/src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEBuilder.cs b/src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEBuilder.cs index 8a30e71d7e74c..c1461437ea2d7 100644 --- a/src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEBuilder.cs +++ b/src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEBuilder.cs @@ -166,8 +166,8 @@ private static unsafe void WritePESignature(BlobBuilder builder) internal const int DosHeaderSize = 0x80; - private static ReadOnlySpan DosHeader => new byte[DosHeaderSize] - { + private static ReadOnlySpan DosHeader => // DosHeaderSize + [ 0x4d, 0x5a, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -187,7 +187,7 @@ private static unsafe void WritePESignature(BlobBuilder builder) 0x20, 0x69, 0x6e, 0x20, 0x44, 0x4f, 0x53, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x0d, 0x0d, 0x0a, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; + ]; private void WriteCoffHeader(BlobBuilder builder, ImmutableArray sections, out Blob stampFixup) { diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/HashHelpers.cs b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/HashHelpers.cs index 658c1fed8dcce..0f105fad849a8 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/HashHelpers.cs +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/HashHelpers.cs @@ -20,14 +20,14 @@ internal static partial class HashHelpers // h1(key) + i*h2(key), 0 <= i < size. h2 and the size must be relatively prime. // We prefer the low computation costs of higher prime numbers over the increased // memory allocation of a fixed prime number i.e. when right sizing a HashSet. - public static ReadOnlySpan Primes => new int[] - { + public static ReadOnlySpan Primes => + [ 3, 7, 11, 17, 23, 29, 37, 47, 59, 71, 89, 107, 131, 163, 197, 239, 293, 353, 431, 521, 631, 761, 919, 1103, 1327, 1597, 1931, 2333, 2801, 3371, 4049, 4861, 5839, 7013, 8419, 10103, 12143, 14591, 17519, 21023, 25229, 30293, 36353, 43627, 52361, 62851, 75431, 90523, 108631, 130363, 156437, 187751, 225307, 270371, 324449, 389357, 467237, 560689, 672827, 807403, 968897, 1162687, 1395263, 1674319, 2009191, 2411033, 2893249, 3471899, 4166287, 4999559, 5999471, 7199369 - }; + ]; public static bool IsPrime(int candidate) { diff --git a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs index 46857a9d06e78..b00866c4a5b5f 100644 --- a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs +++ b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigNumber.cs @@ -287,7 +287,7 @@ internal static class BigNumber | NumberStyles.AllowThousands | NumberStyles.AllowExponent | NumberStyles.AllowCurrencySymbol | NumberStyles.AllowHexSpecifier); - private static ReadOnlySpan UInt32PowersOfTen => new uint[] { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000 }; + private static ReadOnlySpan UInt32PowersOfTen => [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000]; internal enum ParsingStatus { diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/PkcsHelpers.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/PkcsHelpers.cs index 10c6727f12566..758be866d1caf 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/PkcsHelpers.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/PkcsHelpers.cs @@ -661,7 +661,7 @@ public static bool TryGetRsaOaepEncryptionPadding( return false; } - ReadOnlySpan pSpecifiedDefaultParameters = new byte[] { 0x04, 0x00 }; + ReadOnlySpan pSpecifiedDefaultParameters = [0x04, 0x00]; if (oaepParameters.PSourceFunc.Parameters != null && !oaepParameters.PSourceFunc.Parameters.Value.Span.SequenceEqual(pSpecifiedDefaultParameters)) diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/EssCertIdV2.xml.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/EssCertIdV2.xml.cs index 8fe78b5497902..863dea30414d0 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/EssCertIdV2.xml.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/EssCertIdV2.xml.cs @@ -11,7 +11,7 @@ namespace System.Security.Cryptography.Pkcs.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct EssCertIdV2 { - private static ReadOnlySpan DefaultHashAlgorithm => new byte[] { 0x30, 0x0B, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01 }; + private static ReadOnlySpan DefaultHashAlgorithm => [0x30, 0x0B, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01]; internal System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn HashAlgorithm; internal ReadOnlyMemory Hash; diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs index 5e1e12f47c6fc..39dc6fe037417 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs @@ -12,7 +12,7 @@ namespace System.Security.Cryptography.Pkcs.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct Rfc3161TimeStampReq { - private static ReadOnlySpan DefaultCertReq => new byte[] { 0x01, 0x01, 0x00 }; + private static ReadOnlySpan DefaultCertReq => [0x01, 0x01, 0x00]; internal int Version; internal System.Security.Cryptography.Pkcs.Asn1.MessageImprint MessageImprint; diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs index 918e0a1b81ca2..60ed99bfd1be0 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs @@ -12,7 +12,7 @@ namespace System.Security.Cryptography.Pkcs.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct Rfc3161TstInfo { - private static ReadOnlySpan DefaultOrdering => new byte[] { 0x01, 0x01, 0x00 }; + private static ReadOnlySpan DefaultOrdering => [0x01, 0x01, 0x00]; internal int Version; internal string Policy; diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/CapiHelper.Windows.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/CapiHelper.Windows.cs index 72309f147c1a9..f2d65c28bbf1a 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/CapiHelper.Windows.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/CapiHelper.Windows.cs @@ -18,8 +18,8 @@ namespace System.Security.Cryptography /// internal static partial class CapiHelper { - private static ReadOnlySpan RgbPubKey => new byte[] - { + private static ReadOnlySpan RgbPubKey => + [ 0x06, 0x02, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x52, 0x53, 0x41, 0x31, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xab, 0xef, 0xfa, 0xc6, @@ -31,7 +31,7 @@ internal static partial class CapiHelper 0x4c, 0x75, 0x35, 0x1c, 0xa0, 0x74, 0x49, 0xe3, 0x20, 0x13, 0x71, 0x35, 0x65, 0xdf, 0x12, 0x20, 0xf5, 0xf5, 0xf5, 0xc1 - }; + ]; /// /// Check to see if a better CSP than the one requested is available diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/SHAHashProvider.Browser.Managed.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/SHAHashProvider.Browser.Managed.cs index ca61f24b0f7f6..27c1b8282e72c 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/SHAHashProvider.Browser.Managed.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/SHAHashProvider.Browser.Managed.cs @@ -244,7 +244,8 @@ public override byte[] HashFinal() return hash; } - private static ReadOnlySpan _K => new uint[] { + private static ReadOnlySpan _K => + [ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, @@ -261,7 +262,7 @@ public override byte[] HashFinal() 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 - }; + ]; private static unsafe void SHATransform(uint* expandedBuffer, uint* state, byte* block) { @@ -522,7 +523,8 @@ public override byte[] HashFinal() return hash; } - private static ReadOnlySpan _K => new ulong[] { + private static ReadOnlySpan _K => + [ 0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, 0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, 0xd807aa98a3030242, 0x12835b0145706fbe, 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2, @@ -543,7 +545,7 @@ public override byte[] HashFinal() 0x06f067aa72176fba, 0x0a637dc5a2c898a6, 0x113f9804bef90dae, 0x1b710b35131c471b, 0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c, 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817, - }; + ]; private static unsafe void SHATransform(ulong* expandedBuffer, ulong* state, byte* block) { @@ -810,7 +812,8 @@ public override byte[] HashFinal() return hash; } - private static ReadOnlySpan _K => new ulong[] { + private static ReadOnlySpan _K => + [ 0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, 0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, 0xd807aa98a3030242, 0x12835b0145706fbe, 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2, @@ -831,7 +834,7 @@ public override byte[] HashFinal() 0x06f067aa72176fba, 0x0a637dc5a2c898a6, 0x113f9804bef90dae, 0x1b710b35131c471b, 0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c, 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817, - }; + ]; private static unsafe void SHATransform(ulong* expandedBuffer, ulong* state, byte* block) { diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs index 6debd8dd117cc..b5607930694d3 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs @@ -11,7 +11,7 @@ namespace System.Security.Cryptography.X509Certificates.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct BasicConstraintsAsn { - private static ReadOnlySpan DefaultCA => new byte[] { 0x01, 0x01, 0x00 }; + private static ReadOnlySpan DefaultCA => [0x01, 0x01, 0x00]; internal bool CA; internal int? PathLengthConstraint; diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs index 4e7df30c6ce5d..e352401cc9e42 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs @@ -12,7 +12,7 @@ namespace System.Security.Cryptography.X509Certificates.Asn1 [StructLayout(LayoutKind.Sequential)] internal partial struct TbsCertificateAsn { - private static ReadOnlySpan DefaultVersion => new byte[] { 0x02, 0x01, 0x00 }; + private static ReadOnlySpan DefaultVersion => [0x02, 0x01, 0x00]; internal int Version; internal ReadOnlyMemory SerialNumber; diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/RSAPkcs1X509SignatureGenerator.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/RSAPkcs1X509SignatureGenerator.cs index f652dae9a722e..67d11df043607 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/RSAPkcs1X509SignatureGenerator.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/RSAPkcs1X509SignatureGenerator.cs @@ -30,7 +30,7 @@ protected override PublicKey BuildPublicKey() internal static PublicKey BuildPublicKey(RSA rsa) { Oid oid = Oids.RsaOid; - ReadOnlySpan asnNull = new byte[] { 0x05, 0x00 }; + ReadOnlySpan asnNull = [0x05, 0x00]; // The OID is being passed to everything here because that's what // X509Certificate2.PublicKey does. diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/StorePal.macOS.ExportPal.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/StorePal.macOS.ExportPal.cs index eac97c8cead25..046c51253852e 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/StorePal.macOS.ExportPal.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/StorePal.macOS.ExportPal.cs @@ -7,13 +7,13 @@ internal sealed partial class StorePal { private sealed class AppleCertificateExporter : UnixExportProvider { - private static ReadOnlySpan EmptyPkcs7 => new byte[] - { + private static ReadOnlySpan EmptyPkcs7 => + [ 0x30, 0x23, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x16, 0x30, 0x14, 0x02, 0x01, 0x01, 0x31, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x01, 0x31, 0x00, - }; + ]; public AppleCertificateExporter(ICertificatePalCore cert) : base(cert) diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509AuthorityKeyIdentifierExtension.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509AuthorityKeyIdentifierExtension.cs index dc748f65a8eb0..bdfcf2ca6e869 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509AuthorityKeyIdentifierExtension.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509AuthorityKeyIdentifierExtension.cs @@ -508,7 +508,7 @@ public static X509AuthorityKeyIdentifierExtension CreateFromCertificate( certificate.SerialNumberBytes.Span); } - ReadOnlySpan emptyExtension = new byte[] { 0x30, 0x00 }; + ReadOnlySpan emptyExtension = [0x30, 0x00]; return new X509AuthorityKeyIdentifierExtension(emptyExtension); } diff --git a/src/libraries/System.Text.Encoding.CodePages/src/Data/Tools/EncodingDataGenerator.cs b/src/libraries/System.Text.Encoding.CodePages/src/Data/Tools/EncodingDataGenerator.cs index b920563ecda98..0bcf5898e4d10 100644 --- a/src/libraries/System.Text.Encoding.CodePages/src/Data/Tools/EncodingDataGenerator.cs +++ b/src/libraries/System.Text.Encoding.CodePages/src/Data/Tools/EncodingDataGenerator.cs @@ -341,11 +341,11 @@ internal static partial class {3} // EncodingNameIndices contains the start index of every encoding name in the string // EncodingNames. We infer the length of each string by looking at the start index // of the next string. - private static ReadOnlySpan EncodingNameIndices => new int[] - { + private static ReadOnlySpan EncodingNameIndices => + [ 0|, // {0} ({1:D}) {2:D}| - }; + ]; "; // The format is: @@ -358,10 +358,10 @@ internal static partial class {3} // names listed in EncodingNames. The way mapping works is we binary search // EncodingNames using EncodingNamesIndices until we find a match for a given name. // The index of the entry in EncodingNamesIndices will be the index of codepage in CodePagesByName. - private static ReadOnlySpan CodePagesByName => new ushort[] - {| + private static ReadOnlySpan CodePagesByName => + [| {0:D}, // {1}| - }; + ]; "; // The format is: @@ -376,10 +376,10 @@ internal static partial class {3} // given codepage. This is used to index WebNameIndices to get the start // index of the web name in the string WebNames, and to index // EnglishNameIndices to get the start of the English name in EnglishNames. - private static ReadOnlySpan s_mappedCodePages => new ushort[] - {| + private static ReadOnlySpan s_mappedCodePages => + [| {0:D}, // {1}| - }; + ]; "; // The format is: @@ -409,11 +409,11 @@ internal static partial class {3} // WebNameIndices contains the start index of each code page's default // web name in the string WebNames. It is indexed by an index into // s_mappedCodePages. - private static ReadOnlySpan WebNameIndices => new int[] - { + private static ReadOnlySpan WebNameIndices => + [ 0|, // {0} ({1:D}) {2:D}| - }; + ]; "; // The format is: @@ -442,11 +442,11 @@ internal static partial class {3} @" // EnglishNameIndices contains the start index of each code page's English // name in the string EnglishNames. It is indexed by an index into s_mappedCodePages. - private static ReadOnlySpan EnglishNameIndices => new int[] - { + private static ReadOnlySpan EnglishNameIndices => + [ 0|, // {0} ({1:D}) {2:D}| - }; + ]; "; private const string Footer = diff --git a/src/libraries/System.Text.Encoding.CodePages/src/System/Text/EncodingTable.Data.cs b/src/libraries/System.Text.Encoding.CodePages/src/System/Text/EncodingTable.Data.cs index 72ff6d8f7cbbb..1bab60b6cd871 100644 --- a/src/libraries/System.Text.Encoding.CodePages/src/System/Text/EncodingTable.Data.cs +++ b/src/libraries/System.Text.Encoding.CodePages/src/System/Text/EncodingTable.Data.cs @@ -388,8 +388,8 @@ internal static partial class EncodingTable // s_encodingNameIndices contains the start index of every encoding name in the string // s_encodingNames. We infer the length of each string by looking at the start index // of the next string. - private static ReadOnlySpan EncodingNameIndices => new int[] - { + private static ReadOnlySpan EncodingNameIndices => + [ 0, // 437 (437) 3, // arabic (28596) 9, // asmo-708 (708) @@ -755,14 +755,14 @@ internal static partial class EncodingTable 3398, // x-sjis (932) 3404, // x-x-big5 (950) 3412 - }; + ]; // s_codePagesByName contains the list of supported codepages which match the encoding // names listed in s_encodingNames. The way mapping works is we binary search // s_encodingNames using s_encodingNamesIndices until we find a match for a given name. // The index of the entry in s_encodingNamesIndices will be the index of codepage in s_codePagesByName. - private static ReadOnlySpan CodePagesByName => new ushort[] - { + private static ReadOnlySpan CodePagesByName => + [ 437, // 437 28596, // arabic 708, // asmo-708 @@ -1127,7 +1127,7 @@ internal static partial class EncodingTable 932, // x-ms-cp932 932, // x-sjis 950, // x-x-big5 - }; + ]; // When retrieving the value for System.Text.Encoding.WebName or // System.Text.Encoding.EncodingName given System.Text.Encoding.CodePage, @@ -1135,8 +1135,8 @@ internal static partial class EncodingTable // given codepage. This is used to index WebNameIndices to get the start // index of the web name in the string WebNames, and to index // s_englishNameIndices to get the start of the English name in s_englishNames. - private static ReadOnlySpan MappedCodePages => new ushort[] - { + private static ReadOnlySpan MappedCodePages => + [ 37, // ibm037 437, // ibm437 500, // ibm500 @@ -1269,7 +1269,7 @@ internal static partial class EncodingTable 57009, // x-iscii-ma 57010, // x-iscii-gu 57011, // x-iscii-pa - }; + ]; // s_webNames is a concatenation of the default encoding names // for each code page. It is used in retrieving the value for @@ -1414,8 +1414,8 @@ internal static partial class EncodingTable // s_webNameIndices contains the start index of each code page's default // web name in the string s_webNames. It is indexed by an index into // s_mappedCodePages. - private static ReadOnlySpan WebNameIndices => new int[] - { + private static ReadOnlySpan WebNameIndices => + [ 0, // ibm037 (37) 6, // ibm437 (437) 12, // ibm500 (500) @@ -1549,7 +1549,7 @@ internal static partial class EncodingTable 1176, // x-iscii-gu (57010) 1186, // x-iscii-pa (57011) 1196 - }; + ]; // s_englishNames is the concatenation of the English names for each codepage. // It is used in retrieving the value for System.Text.Encoding.EncodingName @@ -1693,8 +1693,8 @@ internal static partial class EncodingTable // s_englishNameIndices contains the start index of each code page's English // name in the string s_englishNames. It is indexed by an index into s_mappedCodePages. - private static ReadOnlySpan EnglishNameIndices => new int[] - { + private static ReadOnlySpan EnglishNameIndices => + [ 0, // IBM EBCDIC (US-Canada) (37) 22, // OEM United States (437) 39, // IBM EBCDIC (International) (500) @@ -1828,7 +1828,7 @@ internal static partial class EncodingTable 2407, // ISCII Gujarati (57010) 2421, // ISCII Punjabi (57011) 2434 - }; + ]; } } diff --git a/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISCIIEncoding.cs b/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISCIIEncoding.cs index 7bc1f566527b5..55b4e61a5c041 100644 --- a/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISCIIEncoding.cs +++ b/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISCIIEncoding.cs @@ -789,8 +789,8 @@ internal override bool HasState // //////////////////////////////////////////////////////////////////////////// - private static ReadOnlySpan UnicodeToIndicChar => new int[] - { + private static ReadOnlySpan UnicodeToIndicChar => + [ 0x02a1, // U+0901 : Devanagari Sign Candrabindu 0x02a2, // U+0902 : Devanagari Sign Anusvara 0x02a3, // U+0903 : Devanagari Sign Visarga @@ -1926,7 +1926,7 @@ internal override bool HasState 0x09f8, // U+0d6d : Malayalam Digit Seven 0x09f9, // U+0d6e : Malayalam Digit Eight 0x09fa // U+0d6f : Malayalam Digit Nine - }; + ]; //////////////////////////////////////////////////////////////////////////// // SecondIndicByte @@ -1934,13 +1934,13 @@ internal override bool HasState // This is used if the UnicodeToIndic table 4 high bits are set, this is // the value of the second Indic byte when applicable. //////////////////////////////////////////////////////////////////////////// - private static ReadOnlySpan SecondIndicByte => new byte[] - { + private static ReadOnlySpan SecondIndicByte => + [ 0x00, 0xe9, 0xb8, // U+0952 == 0xf0_0xb8 0xbf // U+0970 == 0xf0_0xbf - }; + ]; //////////////////////////////////////////////////////////////////////////// // IndicMapping @@ -1949,8 +1949,8 @@ internal override bool HasState // There are 0x60 characters in each table. The tables are in pairs of 2 // (1st char, 2nd char) and there are 10 tables (1 for each code page "font") //////////////////////////////////////////////////////////////////////////// - private static ReadOnlySpan IndicMappingIndex => new int[] - { + private static ReadOnlySpan IndicMappingIndex => + [ -1, // 0 DEF 0X40 Default // Not a real code page -1, // 1 RMN 0X41 Roman // Transliteration not supported 0, // 2 DEV 0X42 Devanagari @@ -1963,7 +1963,7 @@ internal override bool HasState 6, // 9 MLM 0X49 Malayalam 7, // 10 GJR 0X4A Gujarati 8 // 11 PNJ 0X4B Punjabi (Gurmukhi) - }; + ]; //////////////////////////////////////////////////////////////////////////// // IndicMapping diff --git a/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISO2022Encoding.cs b/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISO2022Encoding.cs index eb756e7be0667..e7b936be22953 100644 --- a/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISO2022Encoding.cs +++ b/src/libraries/System.Text.Encoding.CodePages/src/System/Text/ISO2022Encoding.cs @@ -60,8 +60,8 @@ internal ISO2022Encoding(int codePage) : base(codePage, TableBaseCodePages[codeP { } - private static ReadOnlySpan TableBaseCodePages => new int[] - { + private static ReadOnlySpan TableBaseCodePages => + [ 932, // 50220 ISO-2022-JP, No halfwidth Katakana, convert to full width 932, // 50221 ISO-2022-JP, Use escape sequence for half width Katakana 932, // 50222 ISO-2022-JP, Use shift-in/shift-out for half width Katakana @@ -75,7 +75,7 @@ internal ISO2022Encoding(int codePage) : base(codePage, TableBaseCodePages[codeP 0, //20000, // 50229 ISO-2022-CN, ModeCNS11643_1 0, //20000, // 50229 ISO-2022-CN, ModeCNS11643_2 0 // ModeASCII - }; + ]; internal enum ISO2022Modes { @@ -1852,8 +1852,8 @@ internal override bool HasState } } - private static ReadOnlySpan HalfToFullWidthKanaTable => new ushort[] - { + private static ReadOnlySpan HalfToFullWidthKanaTable => + [ 0xa1a3, // 0x8ea1 : Halfwidth Ideographic Period 0xa1d6, // 0x8ea2 : Halfwidth Opening Corner Bracket 0xa1d7, // 0x8ea3 : Halfwidth Closing Corner Bracket @@ -1917,6 +1917,6 @@ internal override bool HasState 0xa5f3, // 0x8edd : Halfwidth Katakana N 0xa1ab, // 0x8ede : Halfwidth Katakana Voiced Sound Mark 0xa1ac // 0x8edf : Halfwidth Katakana Semi-Voiced Sound Mark - }; + ]; } } diff --git a/src/libraries/System.Text.Encodings.Web/src/Polyfills/System.Numerics.BitOperations.netstandard20.cs b/src/libraries/System.Text.Encodings.Web/src/Polyfills/System.Numerics.BitOperations.netstandard20.cs index 2edf3d88601c8..5453bd9e6b57d 100644 --- a/src/libraries/System.Text.Encodings.Web/src/Polyfills/System.Numerics.BitOperations.netstandard20.cs +++ b/src/libraries/System.Text.Encodings.Web/src/Polyfills/System.Numerics.BitOperations.netstandard20.cs @@ -15,13 +15,13 @@ namespace System.Numerics { internal static class BitOperations { - private static ReadOnlySpan Log2DeBruijn => new byte[32] - { + private static ReadOnlySpan Log2DeBruijn => // 32 + [ 00, 09, 01, 10, 13, 21, 02, 29, 11, 14, 16, 18, 22, 25, 03, 30, 08, 12, 20, 28, 15, 17, 24, 07, 19, 27, 23, 06, 26, 05, 04, 31 - }; + ]; /// /// Returns the integer (floor) log of the specified value, base 2. diff --git a/src/libraries/System.Text.Encodings.Web/src/System/Text/Unicode/UnicodeHelpers.generated.cs b/src/libraries/System.Text.Encodings.Web/src/System/Text/Unicode/UnicodeHelpers.generated.cs index 264219535ddaf..6aa1ded738b28 100644 --- a/src/libraries/System.Text.Encodings.Web/src/System/Text/Unicode/UnicodeHelpers.generated.cs +++ b/src/libraries/System.Text.Encodings.Web/src/System/Text/Unicode/UnicodeHelpers.generated.cs @@ -9,8 +9,8 @@ namespace System.Text.Unicode { internal static partial class UnicodeHelpers { - private static ReadOnlySpan DefinedCharsBitmapSpan => new byte[0x2000] - { + private static ReadOnlySpan DefinedCharsBitmapSpan => // 0x2000 + [ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, // U+0000..U+007F 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // U+0080..U+00FF 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // U+0100..U+017F @@ -523,6 +523,6 @@ internal static partial class UnicodeHelpers 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, // U+FE80..U+FEFF 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // U+FF00..U+FF7F 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x7F, 0x7F, 0x00, 0x3E, // U+FF80..U+FFFF - }; + ]; } } diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/JsonConstants.cs b/src/libraries/System.Text.Json/src/System/Text/Json/JsonConstants.cs index bf337233af319..30751a04a363e 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/JsonConstants.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/JsonConstants.cs @@ -32,7 +32,7 @@ internal static partial class JsonConstants // UTF-8 representation for them is E2, 80, A8/A9 public const byte StartingByteOfNonStandardSeparator = 0xE2; - public static ReadOnlySpan Utf8Bom => new byte[] { 0xEF, 0xBB, 0xBF }; + public static ReadOnlySpan Utf8Bom => [0xEF, 0xBB, 0xBF]; public static ReadOnlySpan TrueValue => "true"u8; public static ReadOnlySpan FalseValue => "false"u8; public static ReadOnlySpan NullValue => "null"u8; diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.Date.cs b/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.Date.cs index 09a69634bfa88..f6c6e9255d9c3 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.Date.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/JsonHelpers.Date.cs @@ -549,7 +549,7 @@ private static bool TryCreateDateTime(DateTimeParseData parseData, DateTimeKind return true; } - private static ReadOnlySpan DaysToMonth365 => new int[] { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }; - private static ReadOnlySpan DaysToMonth366 => new int[] { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }; + private static ReadOnlySpan DaysToMonth365 => [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + private static ReadOnlySpan DaysToMonth366 => [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; } } diff --git a/src/libraries/System.Text.Json/src/System/Text/Json/Writer/JsonWriterHelper.Escaping.cs b/src/libraries/System.Text.Json/src/System/Text/Json/Writer/JsonWriterHelper.Escaping.cs index 086adf156e209..05965c0d76787 100644 --- a/src/libraries/System.Text.Json/src/System/Text/Json/Writer/JsonWriterHelper.Escaping.cs +++ b/src/libraries/System.Text.Json/src/System/Text/Json/Writer/JsonWriterHelper.Escaping.cs @@ -21,8 +21,8 @@ internal static partial class JsonWriterHelper // // non-zero = allowed, 0 = disallowed public const int LastAsciiCharacter = 0x7F; - private static ReadOnlySpan AllowList => new byte[byte.MaxValue + 1] - { + private static ReadOnlySpan AllowList => // byte.MaxValue + 1 + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // U+0000..U+000F 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // U+0010..U+001F 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, // U+0020..U+002F @@ -41,7 +41,7 @@ internal static partial class JsonWriterHelper 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // U+00F0..U+00FF - }; + ]; #if NETCOREAPP private const string HexFormatString = "X4"; diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.Data.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.Data.cs index d190f9fe97f9b..e868f69671788 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.Data.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCaseEquivalences.Data.cs @@ -9,8 +9,8 @@ internal static partial class RegexCaseEquivalences // PLEASE DON'T MODIFY BY HAND // IF YOU NEED TO UPDATE UNICODE VERSION FOLLOW THE GUIDE AT src/libraries/System.Private.CoreLib/Tools/GenUnicodeProp/Updating-Unicode-Versions.md - private static ReadOnlySpan EquivalenceCasingValues => new char[2336] - { + private static ReadOnlySpan EquivalenceCasingValues => // 2336 + [ '\u0041', '\u0061', '\u0042', '\u0062', '\u0043', '\u0063', '\u0044', '\u0064', '\u0045', '\u0065', '\u0046', '\u0066', '\u0047', '\u0067', '\u0048', '\u0068', '\u0049', '\u0069', '\u004A', '\u006A', '\u004B', '\u006B', '\u212A', '\u004C', '\u006C', '\u004D', '\u006D', '\u004E', '\u006E', '\u004F', '\u006F', '\u0050', '\u0070', '\u0051', '\u0071', '\u0052', '\u0072', '\u0053', '\u0073', '\u0054', '\u0074', '\u0055', '\u0075', '\u0056', '\u0076', '\u0057', '\u0077', '\u0058', @@ -157,18 +157,18 @@ internal static partial class RegexCaseEquivalences '\uFF23', '\uFF43', '\uFF24', '\uFF44', '\uFF25', '\uFF45', '\uFF26', '\uFF46', '\uFF27', '\uFF47', '\uFF28', '\uFF48', '\uFF29', '\uFF49', '\uFF2A', '\uFF4A', '\uFF2B', '\uFF4B', '\uFF2C', '\uFF4C', '\uFF2D', '\uFF4D', '\uFF2E', '\uFF4E', '\uFF2F', '\uFF4F', '\uFF30', '\uFF50', '\uFF31', '\uFF51', '\uFF32', '\uFF52', '\uFF33', '\uFF53', '\uFF34', '\uFF54', '\uFF35', '\uFF55', '\uFF36', '\uFF56', '\uFF37', '\uFF57', '\uFF38', '\uFF58', '\uFF39', '\uFF59', '\uFF3A', '\uFF5A' - }; + ]; - private static ReadOnlySpan EquivalenceFirstLevelLookup => new ushort[64] - { + private static ReadOnlySpan EquivalenceFirstLevelLookup => // 64 + [ 0x0000, 0x0400, 0xffff, 0xffff, 0x0800, 0xffff, 0xffff, 0x0c00, 0x1000, 0x1400, 0xffff, 0x1800, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1c00, 0x2000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2400 - }; + ]; - private static ReadOnlySpan EquivalenceCasingMap => new ushort[10240] - { + private static ReadOnlySpan EquivalenceCasingMap => // 10240 + [ 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, @@ -809,6 +809,6 @@ internal static partial class RegexCaseEquivalences 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff - }; + ]; } } diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCharClass.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCharClass.cs index 71a3004af4940..98965e4b7f124 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCharClass.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCharClass.cs @@ -1136,11 +1136,11 @@ public static bool IsECMAWordChar(char ch) => ch == '\u0130'; // latin capital letter I with dot above /// 16 bytes, representing the chars 0 through 127, with a 1 for a bit where that char is a word char. - private static ReadOnlySpan WordCharAsciiLookup => new byte[] - { + private static ReadOnlySpan WordCharAsciiLookup => + [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0xFE, 0xFF, 0xFF, 0x87, 0xFE, 0xFF, 0xFF, 0x07 - }; + ]; /// Mask of Unicode categories that combine to form [\\w] private const int WordCategoriesMask = diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexParser.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexParser.cs index 5c5ca0e209d0c..9030702d5f6ff 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexParser.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexParser.cs @@ -1931,7 +1931,8 @@ internal static int MapCaptureNumber(int capnum, Hashtable? caps) => private const byte W = 1; // whitespace \t \n \f \r ' ' /// For categorizing ASCII characters. - private static ReadOnlySpan Category => new byte[] { + private static ReadOnlySpan Category => + [ // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 0, 0, 0, 0, 0, 0, 0, 0, W, W, 0, W, W, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @@ -1939,7 +1940,8 @@ internal static int MapCaptureNumber(int capnum, Hashtable? caps) => // @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, S, S, 0, S, 0, // ' a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Q, S, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Q, S, 0, 0, 0 + ]; #if NET8_0_OR_GREATER private static readonly SearchValues s_metachars = diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexPrefixAnalyzer.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexPrefixAnalyzer.cs index bf3c03acb517d..f306f5504f059 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexPrefixAnalyzer.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexPrefixAnalyzer.cs @@ -964,8 +964,8 @@ private static RegexNodeKind FindLeadingOrTrailingAnchor(RegexNode node, bool le } /// Percent occurrences in source text (100 * char count / total count). - private static ReadOnlySpan Frequency => new float[] - { + private static ReadOnlySpan Frequency => + [ 0.000f /* '\x00' */, 0.000f /* '\x01' */, 0.000f /* '\x02' */, 0.000f /* '\x03' */, 0.000f /* '\x04' */, 0.000f /* '\x05' */, 0.000f /* '\x06' */, 0.000f /* '\x07' */, 0.000f /* '\x08' */, 0.001f /* '\x09' */, 0.000f /* '\x0A' */, 0.000f /* '\x0B' */, 0.000f /* '\x0C' */, 0.000f /* '\x0D' */, 0.000f /* '\x0E' */, 0.000f /* '\x0F' */, 0.000f /* '\x10' */, 0.000f /* '\x11' */, 0.000f /* '\x12' */, 0.000f /* '\x13' */, 0.003f /* '\x14' */, 0.000f /* '\x15' */, 0.000f /* '\x16' */, 0.000f /* '\x17' */, @@ -982,7 +982,7 @@ private static RegexNodeKind FindLeadingOrTrailingAnchor(RegexNode node, bool le 1.024f /* ' h' */, 3.750f /* ' i' */, 0.286f /* ' j' */, 0.439f /* ' k' */, 2.913f /* ' l' */, 1.459f /* ' m' */, 3.908f /* ' n' */, 3.230f /* ' o' */, 1.444f /* ' p' */, 0.231f /* ' q' */, 4.220f /* ' r' */, 3.924f /* ' s' */, 5.312f /* ' t' */, 2.112f /* ' u' */, 0.737f /* ' v' */, 0.573f /* ' w' */, 0.992f /* ' x' */, 1.067f /* ' y' */, 0.181f /* ' z' */, 0.391f /* ' {' */, 0.056f /* ' |' */, 0.391f /* ' }' */, 0.002f /* ' ~' */, 0.000f /* '\x7F' */, - }; + ]; // The above table was generated programmatically with the following. This can be augmented to incorporate additional data sources, // though it is only intended to be a rough approximation use when tie-breaking and we'd otherwise be picking randomly, so, it's something. @@ -1008,8 +1008,8 @@ private static RegexNodeKind FindLeadingOrTrailingAnchor(RegexNode node, bool le // long total = counts.Sum(i => i.Value); // // Console.WriteLine("/// Percent occurrences in source text (100 * char count / total count)."); - // Console.WriteLine("private static ReadOnlySpan Frequency => new float[]"); - // Console.WriteLine("{"); + // Console.WriteLine("private static ReadOnlySpan Frequency =>"); + // Console.WriteLine("["); // int i = 0; // for (int row = 0; row < 16; row++) // { @@ -1023,6 +1023,6 @@ private static RegexNodeKind FindLeadingOrTrailingAnchor(RegexNode node, bool le // } // Console.WriteLine(); // } - // Console.WriteLine("};"); + // Console.WriteLine("];"); } } diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/UnicodeCategoryRanges.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/UnicodeCategoryRanges.cs index e90f531d68538..0d3af45847462 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/UnicodeCategoryRanges.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/UnicodeCategoryRanges.cs @@ -11,7 +11,7 @@ namespace System.Text.RegularExpressions.Symbolic internal static class UnicodeCategoryRanges { /// Serialized BDD representation of the set of all whitespace characters. - public static ReadOnlySpan SerializedWhitespaceBDD => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x8, 0x0, 0x10, 0x0, 0x0, 0x1, 0x10, 0x0, 0x31, 0x0, 0x0, 0x1, 0x8, 0x0, 0x21, 0x8, 0x0, 0x1, 0x18, 0x0, 0x1, 0x10, 0x0, 0x11, 0x18, 0x0, 0x2, 0x20, 0x0, 0x52, 0x0, 0x0, 0x52, 0x30, 0x0, 0x2, 0x38, 0x0, 0x82, 0x0, 0x0, 0x2, 0x48, 0x0, 0x62, 0x50, 0x0, 0x3, 0x58, 0x0, 0xC3, 0x0, 0x0, 0xD3, 0x0, 0x0, 0xE3, 0x8, 0x0, 0x3, 0x78, 0x0, 0x3, 0x80, 0x0, 0x13, 0x1, 0x0, 0x4, 0x90, 0x0, 0x34, 0x1, 0x0, 0x4, 0xA0, 0x0, 0x4, 0xA8, 0x0, 0x4, 0xB0, 0x0, 0x4, 0xB8, 0x0, 0x4, 0xC0, 0x0, 0x5, 0xC8, 0x0, 0x5, 0xD0, 0x0, 0xB5, 0xE1, 0x0, 0x95, 0xE9, 0x0, 0xE5, 0xF9, 0x0, 0x6, 0x0, 0x1, 0x16, 0x12, 0x1, 0x6, 0x18, 0x1, 0x6, 0x20, 0x1, 0x7, 0x28, 0x1, 0x7, 0x30, 0x1, 0x57, 0x2, 0x0, 0x77, 0x42, 0x1, 0x8, 0x48, 0x1, 0x8, 0x50, 0x1, 0x8, 0x58, 0x1, 0x8, 0x60, 0x1, 0x9, 0x68, 0x1, 0x9, 0x70, 0x1, 0xF9, 0x2, 0x0, 0x9, 0x80, 0x1, 0xA, 0x88, 0x1, 0xA, 0x90, 0x1, 0x3A, 0x3, 0x0, 0xA, 0xA0, 0x1, 0xB, 0xA8, 0x1, 0xB, 0xB0, 0x1, 0xB, 0xB8, 0x1, 0xB, 0xC0, 0x1, 0x9C, 0xD3, 0x1, 0xBC, 0xE3, 0x1, 0xDD, 0xF3, 0x1, 0xE, 0xF8, 0x1, 0xF, 0x0, 0x2, }; + public static ReadOnlySpan SerializedWhitespaceBDD => [0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x8, 0x0, 0x10, 0x0, 0x0, 0x1, 0x10, 0x0, 0x31, 0x0, 0x0, 0x1, 0x8, 0x0, 0x21, 0x8, 0x0, 0x1, 0x18, 0x0, 0x1, 0x10, 0x0, 0x11, 0x18, 0x0, 0x2, 0x20, 0x0, 0x52, 0x0, 0x0, 0x52, 0x30, 0x0, 0x2, 0x38, 0x0, 0x82, 0x0, 0x0, 0x2, 0x48, 0x0, 0x62, 0x50, 0x0, 0x3, 0x58, 0x0, 0xC3, 0x0, 0x0, 0xD3, 0x0, 0x0, 0xE3, 0x8, 0x0, 0x3, 0x78, 0x0, 0x3, 0x80, 0x0, 0x13, 0x1, 0x0, 0x4, 0x90, 0x0, 0x34, 0x1, 0x0, 0x4, 0xA0, 0x0, 0x4, 0xA8, 0x0, 0x4, 0xB0, 0x0, 0x4, 0xB8, 0x0, 0x4, 0xC0, 0x0, 0x5, 0xC8, 0x0, 0x5, 0xD0, 0x0, 0xB5, 0xE1, 0x0, 0x95, 0xE9, 0x0, 0xE5, 0xF9, 0x0, 0x6, 0x0, 0x1, 0x16, 0x12, 0x1, 0x6, 0x18, 0x1, 0x6, 0x20, 0x1, 0x7, 0x28, 0x1, 0x7, 0x30, 0x1, 0x57, 0x2, 0x0, 0x77, 0x42, 0x1, 0x8, 0x48, 0x1, 0x8, 0x50, 0x1, 0x8, 0x58, 0x1, 0x8, 0x60, 0x1, 0x9, 0x68, 0x1, 0x9, 0x70, 0x1, 0xF9, 0x2, 0x0, 0x9, 0x80, 0x1, 0xA, 0x88, 0x1, 0xA, 0x90, 0x1, 0x3A, 0x3, 0x0, 0xA, 0xA0, 0x1, 0xB, 0xA8, 0x1, 0xB, 0xB0, 0x1, 0xB, 0xB8, 0x1, 0xB, 0xC0, 0x1, 0x9C, 0xD3, 0x1, 0xBC, 0xE3, 0x1, 0xDD, 0xF3, 0x1, 0xE, 0xF8, 0x1, 0xF, 0x0, 0x2]; /// Gets the serialized BDD representations of any defined UnicodeCategory. public static ReadOnlySpan GetSerializedCategory(UnicodeCategory category) => @@ -51,93 +51,93 @@ public static ReadOnlySpan GetSerializedCategory(UnicodeCategory category) }; /// Serialized BDD representation of the set of all characters in UnicodeCategory.UppercaseLetter. - private static ReadOnlySpan SerializedCategory0_UppercaseLetter => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x21, 0x20, 0x0, 0x11, 0x60, 0x0, 0x1, 0x60, 0x0, 0x1, 0x40, 0x0, 0x21, 0x0, 0x0, 0x11, 0x40, 0x0, 0x31, 0x0, 0x0, 0x21, 0x60, 0x0, 0x11, 0x0, 0x0, 0x31, 0x40, 0x0, 0x1, 0x20, 0x0, 0x31, 0x20, 0x0, 0x2, 0x80, 0x0, 0x12, 0xA0, 0x0, 0x62, 0x0, 0x0, 0x2, 0xE0, 0x0, 0x82, 0xE0, 0x0, 0x2, 0xC0, 0x0, 0x12, 0x40, 0x0, 0x22, 0x20, 0x0, 0x42, 0x20, 0x1, 0x82, 0x40, 0x0, 0x62, 0x40, 0x1, 0xB2, 0x60, 0x0, 0x22, 0x0, 0x1, 0x2, 0x40, 0x0, 0x72, 0x40, 0x0, 0x2, 0x0, 0x1, 0xC2, 0x0, 0x0, 0x62, 0x40, 0x0, 0x52, 0x60, 0x0, 0xD2, 0x20, 0x1, 0x2, 0x40, 0x1, 0x2, 0x20, 0x0, 0xE2, 0x20, 0x1, 0x22, 0x0, 0x0, 0xE2, 0xA0, 0x0, 0x62, 0x80, 0x0, 0xE2, 0x40, 0x1, 0xA2, 0x0, 0x1, 0x72, 0x20, 0x0, 0xE2, 0x20, 0x0, 0x82, 0x0, 0x0, 0x52, 0x80, 0x0, 0xF2, 0x20, 0x0, 0x42, 0x20, 0x0, 0x62, 0x60, 0x0, 0x32, 0xE0, 0x1, 0x52, 0x60, 0x1, 0xD2, 0x0, 0x0, 0x72, 0x80, 0x1, 0xA2, 0x0, 0x0, 0x12, 0xE0, 0x1, 0x92, 0x80, 0x0, 0x42, 0x60, 0x0, 0xB2, 0x80, 0x1, 0x92, 0xC0, 0x0, 0x82, 0x60, 0x0, 0x32, 0x0, 0x1, 0x32, 0xA0, 0x0, 0x92, 0x40, 0x0, 0xF2, 0xE0, 0x0, 0x92, 0xE0, 0x1, 0xC2, 0xA0, 0x0, 0x92, 0x60, 0x1, 0x62, 0xE0, 0x1, 0x3, 0x21, 0x0, 0x13, 0x20, 0x2, 0x3, 0x40, 0x2, 0x33, 0x81, 0x2, 0x53, 0xC1, 0x2, 0x23, 0xE0, 0x2, 0x83, 0x41, 0x0, 0x23, 0x20, 0x3, 0xA3, 0x41, 0x0, 0xB3, 0x1, 0x0, 0x23, 0x80, 0x3, 0xD3, 0x41, 0x0, 0xE3, 0x41, 0x0, 0x3, 0xE0, 0x3, 0xA3, 0xA1, 0x3, 0x3, 0x22, 0x4, 0x23, 0x62, 0x4, 0x3, 0x80, 0x4, 0x3, 0xA2, 0x4, 0x63, 0xE2, 0x4, 0x83, 0x22, 0x5, 0xA3, 0x62, 0x5, 0xC3, 0x2, 0x0, 0x53, 0x2, 0x0, 0x13, 0x0, 0x0, 0x33, 0x0, 0x0, 0xD3, 0x2, 0x0, 0xE3, 0xC2, 0x3, 0xF3, 0x22, 0x0, 0x3, 0xA0, 0x5, 0x23, 0x1, 0x6, 0x3, 0x20, 0x6, 0x23, 0x63, 0x6, 0xC3, 0x61, 0x2, 0x43, 0xA3, 0x6, 0x23, 0xC0, 0x6, 0x73, 0x3, 0x0, 0x53, 0x2, 0x7, 0x93, 0xC3, 0x5, 0x73, 0x23, 0x3, 0x23, 0x40, 0x7, 0xB3, 0xA3, 0x3, 0x23, 0x80, 0x7, 0xD3, 0x63, 0x0, 0xE3, 0xA3, 0x6, 0x73, 0xE0, 0x7, 0xC3, 0x3, 0x8, 0x13, 0x44, 0x8, 0x33, 0x84, 0x8, 0x53, 0x44, 0x0, 0xC3, 0x61, 0x0, 0x33, 0x40, 0x0, 0x64, 0xE4, 0x8, 0x84, 0x4, 0x0, 0x94, 0x44, 0x9, 0xB4, 0x84, 0x9, 0xD4, 0xC4, 0x9, 0xF4, 0x44, 0x0, 0x14, 0x45, 0x0, 0x4, 0x40, 0xA, 0x34, 0x85, 0xA, 0x54, 0xC5, 0xA, 0x4, 0x20, 0x0, 0x4, 0xE0, 0xA, 0x4, 0x0, 0x9, 0x84, 0x25, 0xB, 0xA4, 0x65, 0xB, 0xD4, 0x85, 0xB, 0xD4, 0x5, 0x0, 0x4, 0xC0, 0xB, 0xF4, 0x5, 0xC, 0x4, 0xC6, 0xB, 0x14, 0x46, 0x0, 0x24, 0x26, 0x0, 0x14, 0x0, 0x0, 0x34, 0x26, 0x0, 0x4, 0x80, 0xC, 0x54, 0x26, 0x0, 0x74, 0x44, 0x0, 0x24, 0xC0, 0xC, 0x24, 0xE0, 0xC, 0x84, 0x46, 0x0, 0x94, 0x46, 0xD, 0x4, 0x60, 0xD, 0x74, 0x84, 0xD, 0xD4, 0x6, 0x0, 0x4, 0xC0, 0xD, 0xF4, 0x46, 0x0, 0x4, 0x47, 0x0, 0x14, 0x47, 0xE, 0x34, 0x87, 0xE, 0x54, 0xC7, 0xE, 0x74, 0x47, 0x0, 0x24, 0x0, 0xF, 0x94, 0x47, 0x0, 0x14, 0x23, 0x0, 0xA5, 0x7, 0x0, 0xB5, 0x87, 0xF, 0xD5, 0xC7, 0xF, 0xF5, 0x47, 0x0, 0x5, 0x5, 0x0, 0x5, 0x0, 0x10, 0x15, 0x48, 0x0, 0x25, 0x48, 0x0, 0x35, 0x8, 0x0, 0x45, 0x28, 0x0, 0x5, 0xA0, 0x10, 0x5, 0xC0, 0x10, 0x75, 0x8, 0x11, 0x95, 0xA8, 0xB, 0xA5, 0x8, 0x0, 0xB5, 0x88, 0x11, 0xE5, 0xA5, 0x11, 0x25, 0xC0, 0x11, 0xF5, 0x8, 0x12, 0x15, 0x29, 0x0, 0x15, 0x0, 0x0, 0x5, 0x40, 0x12, 0x5, 0x60, 0x12, 0x45, 0x49, 0x0, 0x25, 0xA0, 0x12, 0x25, 0xC0, 0x12, 0x25, 0x0, 0x0, 0x75, 0x9, 0x13, 0x95, 0x49, 0x13, 0xB5, 0x9, 0x0, 0x5, 0x80, 0x13, 0xD5, 0x49, 0x0, 0xE5, 0xE9, 0x13, 0x5, 0x2A, 0x14, 0x25, 0x6A, 0x14, 0x45, 0x4A, 0x0, 0x5, 0xA0, 0x14, 0x5, 0x40, 0xF, 0x6, 0xC0, 0x14, 0x76, 0xA, 0x15, 0x96, 0x4A, 0x15, 0x6, 0x60, 0x15, 0xC6, 0xA, 0x0, 0xD6, 0x4A, 0x0, 0xE6, 0xEA, 0x15, 0x6, 0x0, 0x16, 0x16, 0x4B, 0x16, 0x36, 0x8B, 0x16, 0x56, 0xCB, 0x16, 0x26, 0xE0, 0x16, 0x6, 0x0, 0x17, 0x96, 0x4B, 0x17, 0xB6, 0x4B, 0x17, 0xC6, 0xAB, 0x17, 0xE6, 0xEB, 0x17, 0x6, 0xEC, 0x15, 0x16, 0x4C, 0x18, 0x36, 0xC, 0x0, 0x46, 0xAC, 0x18, 0x66, 0xEC, 0x18, 0x86, 0x2C, 0x19, 0xA6, 0xC, 0x0, 0xB6, 0xC, 0x0, 0x7, 0x80, 0x19, 0xD7, 0xCC, 0x19, 0xF7, 0xC, 0x1A, 0x17, 0x4D, 0x1A, 0x37, 0x8D, 0x1A, 0x57, 0xCD, 0x1A, 0x77, 0x4D, 0x0, 0x87, 0xD, 0x0, 0x97, 0xD, 0x0, 0xA7, 0xD, 0x0, 0x7, 0x60, 0x1B, 0xC7, 0xAD, 0x1B, 0xE7, 0xED, 0x1B, 0x7, 0x0, 0x1C, 0x17, 0x4E, 0x1C, 0x37, 0x8E, 0x1C, 0x58, 0xE, 0x0, 0x68, 0xEE, 0x1C, 0x8, 0x0, 0x1D, 0x98, 0xE, 0x0, 0xA8, 0x6E, 0x1D, 0x8, 0x80, 0x1D, 0xD8, 0xE, 0x0, 0x8, 0xC0, 0x1D, 0xF8, 0xE, 0x1E, 0x18, 0x4F, 0x1E, 0x38, 0x8F, 0x1E, 0x59, 0xF, 0x0, 0x69, 0xF, 0x0, 0x9, 0xE0, 0x1E, 0x9, 0x0, 0x1F, 0x99, 0x4F, 0x1F, 0xB9, 0x8F, 0x1F, 0x9, 0xA0, 0x1F, 0xE9, 0xEF, 0x1F, 0xA, 0x10, 0x0, 0x1A, 0x10, 0x0, 0x2A, 0x10, 0x0, 0xA, 0x60, 0x20, 0x4A, 0x10, 0x0, 0xA, 0xA0, 0x20, 0x6A, 0xF0, 0x20, 0x8B, 0x10, 0x0, 0xB, 0x20, 0x21, 0xAB, 0x70, 0x21, 0xCB, 0xB0, 0x21, 0xB, 0xC0, 0x21, 0xFC, 0x10, 0x0, 0xC, 0x0, 0x22, 0xC, 0x20, 0x22, 0x2C, 0x71, 0x22, 0x4D, 0x11, 0x0, 0x5D, 0x11, 0x0, 0x6D, 0xF1, 0x22, 0x8E, 0x31, 0x23, 0xE, 0x40, 0x23, 0xBF, 0x91, 0x23, }; + private static ReadOnlySpan SerializedCategory0_UppercaseLetter => [0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x21, 0x20, 0x0, 0x11, 0x60, 0x0, 0x1, 0x60, 0x0, 0x1, 0x40, 0x0, 0x21, 0x0, 0x0, 0x11, 0x40, 0x0, 0x31, 0x0, 0x0, 0x21, 0x60, 0x0, 0x11, 0x0, 0x0, 0x31, 0x40, 0x0, 0x1, 0x20, 0x0, 0x31, 0x20, 0x0, 0x2, 0x80, 0x0, 0x12, 0xA0, 0x0, 0x62, 0x0, 0x0, 0x2, 0xE0, 0x0, 0x82, 0xE0, 0x0, 0x2, 0xC0, 0x0, 0x12, 0x40, 0x0, 0x22, 0x20, 0x0, 0x42, 0x20, 0x1, 0x82, 0x40, 0x0, 0x62, 0x40, 0x1, 0xB2, 0x60, 0x0, 0x22, 0x0, 0x1, 0x2, 0x40, 0x0, 0x72, 0x40, 0x0, 0x2, 0x0, 0x1, 0xC2, 0x0, 0x0, 0x62, 0x40, 0x0, 0x52, 0x60, 0x0, 0xD2, 0x20, 0x1, 0x2, 0x40, 0x1, 0x2, 0x20, 0x0, 0xE2, 0x20, 0x1, 0x22, 0x0, 0x0, 0xE2, 0xA0, 0x0, 0x62, 0x80, 0x0, 0xE2, 0x40, 0x1, 0xA2, 0x0, 0x1, 0x72, 0x20, 0x0, 0xE2, 0x20, 0x0, 0x82, 0x0, 0x0, 0x52, 0x80, 0x0, 0xF2, 0x20, 0x0, 0x42, 0x20, 0x0, 0x62, 0x60, 0x0, 0x32, 0xE0, 0x1, 0x52, 0x60, 0x1, 0xD2, 0x0, 0x0, 0x72, 0x80, 0x1, 0xA2, 0x0, 0x0, 0x12, 0xE0, 0x1, 0x92, 0x80, 0x0, 0x42, 0x60, 0x0, 0xB2, 0x80, 0x1, 0x92, 0xC0, 0x0, 0x82, 0x60, 0x0, 0x32, 0x0, 0x1, 0x32, 0xA0, 0x0, 0x92, 0x40, 0x0, 0xF2, 0xE0, 0x0, 0x92, 0xE0, 0x1, 0xC2, 0xA0, 0x0, 0x92, 0x60, 0x1, 0x62, 0xE0, 0x1, 0x3, 0x21, 0x0, 0x13, 0x20, 0x2, 0x3, 0x40, 0x2, 0x33, 0x81, 0x2, 0x53, 0xC1, 0x2, 0x23, 0xE0, 0x2, 0x83, 0x41, 0x0, 0x23, 0x20, 0x3, 0xA3, 0x41, 0x0, 0xB3, 0x1, 0x0, 0x23, 0x80, 0x3, 0xD3, 0x41, 0x0, 0xE3, 0x41, 0x0, 0x3, 0xE0, 0x3, 0xA3, 0xA1, 0x3, 0x3, 0x22, 0x4, 0x23, 0x62, 0x4, 0x3, 0x80, 0x4, 0x3, 0xA2, 0x4, 0x63, 0xE2, 0x4, 0x83, 0x22, 0x5, 0xA3, 0x62, 0x5, 0xC3, 0x2, 0x0, 0x53, 0x2, 0x0, 0x13, 0x0, 0x0, 0x33, 0x0, 0x0, 0xD3, 0x2, 0x0, 0xE3, 0xC2, 0x3, 0xF3, 0x22, 0x0, 0x3, 0xA0, 0x5, 0x23, 0x1, 0x6, 0x3, 0x20, 0x6, 0x23, 0x63, 0x6, 0xC3, 0x61, 0x2, 0x43, 0xA3, 0x6, 0x23, 0xC0, 0x6, 0x73, 0x3, 0x0, 0x53, 0x2, 0x7, 0x93, 0xC3, 0x5, 0x73, 0x23, 0x3, 0x23, 0x40, 0x7, 0xB3, 0xA3, 0x3, 0x23, 0x80, 0x7, 0xD3, 0x63, 0x0, 0xE3, 0xA3, 0x6, 0x73, 0xE0, 0x7, 0xC3, 0x3, 0x8, 0x13, 0x44, 0x8, 0x33, 0x84, 0x8, 0x53, 0x44, 0x0, 0xC3, 0x61, 0x0, 0x33, 0x40, 0x0, 0x64, 0xE4, 0x8, 0x84, 0x4, 0x0, 0x94, 0x44, 0x9, 0xB4, 0x84, 0x9, 0xD4, 0xC4, 0x9, 0xF4, 0x44, 0x0, 0x14, 0x45, 0x0, 0x4, 0x40, 0xA, 0x34, 0x85, 0xA, 0x54, 0xC5, 0xA, 0x4, 0x20, 0x0, 0x4, 0xE0, 0xA, 0x4, 0x0, 0x9, 0x84, 0x25, 0xB, 0xA4, 0x65, 0xB, 0xD4, 0x85, 0xB, 0xD4, 0x5, 0x0, 0x4, 0xC0, 0xB, 0xF4, 0x5, 0xC, 0x4, 0xC6, 0xB, 0x14, 0x46, 0x0, 0x24, 0x26, 0x0, 0x14, 0x0, 0x0, 0x34, 0x26, 0x0, 0x4, 0x80, 0xC, 0x54, 0x26, 0x0, 0x74, 0x44, 0x0, 0x24, 0xC0, 0xC, 0x24, 0xE0, 0xC, 0x84, 0x46, 0x0, 0x94, 0x46, 0xD, 0x4, 0x60, 0xD, 0x74, 0x84, 0xD, 0xD4, 0x6, 0x0, 0x4, 0xC0, 0xD, 0xF4, 0x46, 0x0, 0x4, 0x47, 0x0, 0x14, 0x47, 0xE, 0x34, 0x87, 0xE, 0x54, 0xC7, 0xE, 0x74, 0x47, 0x0, 0x24, 0x0, 0xF, 0x94, 0x47, 0x0, 0x14, 0x23, 0x0, 0xA5, 0x7, 0x0, 0xB5, 0x87, 0xF, 0xD5, 0xC7, 0xF, 0xF5, 0x47, 0x0, 0x5, 0x5, 0x0, 0x5, 0x0, 0x10, 0x15, 0x48, 0x0, 0x25, 0x48, 0x0, 0x35, 0x8, 0x0, 0x45, 0x28, 0x0, 0x5, 0xA0, 0x10, 0x5, 0xC0, 0x10, 0x75, 0x8, 0x11, 0x95, 0xA8, 0xB, 0xA5, 0x8, 0x0, 0xB5, 0x88, 0x11, 0xE5, 0xA5, 0x11, 0x25, 0xC0, 0x11, 0xF5, 0x8, 0x12, 0x15, 0x29, 0x0, 0x15, 0x0, 0x0, 0x5, 0x40, 0x12, 0x5, 0x60, 0x12, 0x45, 0x49, 0x0, 0x25, 0xA0, 0x12, 0x25, 0xC0, 0x12, 0x25, 0x0, 0x0, 0x75, 0x9, 0x13, 0x95, 0x49, 0x13, 0xB5, 0x9, 0x0, 0x5, 0x80, 0x13, 0xD5, 0x49, 0x0, 0xE5, 0xE9, 0x13, 0x5, 0x2A, 0x14, 0x25, 0x6A, 0x14, 0x45, 0x4A, 0x0, 0x5, 0xA0, 0x14, 0x5, 0x40, 0xF, 0x6, 0xC0, 0x14, 0x76, 0xA, 0x15, 0x96, 0x4A, 0x15, 0x6, 0x60, 0x15, 0xC6, 0xA, 0x0, 0xD6, 0x4A, 0x0, 0xE6, 0xEA, 0x15, 0x6, 0x0, 0x16, 0x16, 0x4B, 0x16, 0x36, 0x8B, 0x16, 0x56, 0xCB, 0x16, 0x26, 0xE0, 0x16, 0x6, 0x0, 0x17, 0x96, 0x4B, 0x17, 0xB6, 0x4B, 0x17, 0xC6, 0xAB, 0x17, 0xE6, 0xEB, 0x17, 0x6, 0xEC, 0x15, 0x16, 0x4C, 0x18, 0x36, 0xC, 0x0, 0x46, 0xAC, 0x18, 0x66, 0xEC, 0x18, 0x86, 0x2C, 0x19, 0xA6, 0xC, 0x0, 0xB6, 0xC, 0x0, 0x7, 0x80, 0x19, 0xD7, 0xCC, 0x19, 0xF7, 0xC, 0x1A, 0x17, 0x4D, 0x1A, 0x37, 0x8D, 0x1A, 0x57, 0xCD, 0x1A, 0x77, 0x4D, 0x0, 0x87, 0xD, 0x0, 0x97, 0xD, 0x0, 0xA7, 0xD, 0x0, 0x7, 0x60, 0x1B, 0xC7, 0xAD, 0x1B, 0xE7, 0xED, 0x1B, 0x7, 0x0, 0x1C, 0x17, 0x4E, 0x1C, 0x37, 0x8E, 0x1C, 0x58, 0xE, 0x0, 0x68, 0xEE, 0x1C, 0x8, 0x0, 0x1D, 0x98, 0xE, 0x0, 0xA8, 0x6E, 0x1D, 0x8, 0x80, 0x1D, 0xD8, 0xE, 0x0, 0x8, 0xC0, 0x1D, 0xF8, 0xE, 0x1E, 0x18, 0x4F, 0x1E, 0x38, 0x8F, 0x1E, 0x59, 0xF, 0x0, 0x69, 0xF, 0x0, 0x9, 0xE0, 0x1E, 0x9, 0x0, 0x1F, 0x99, 0x4F, 0x1F, 0xB9, 0x8F, 0x1F, 0x9, 0xA0, 0x1F, 0xE9, 0xEF, 0x1F, 0xA, 0x10, 0x0, 0x1A, 0x10, 0x0, 0x2A, 0x10, 0x0, 0xA, 0x60, 0x20, 0x4A, 0x10, 0x0, 0xA, 0xA0, 0x20, 0x6A, 0xF0, 0x20, 0x8B, 0x10, 0x0, 0xB, 0x20, 0x21, 0xAB, 0x70, 0x21, 0xCB, 0xB0, 0x21, 0xB, 0xC0, 0x21, 0xFC, 0x10, 0x0, 0xC, 0x0, 0x22, 0xC, 0x20, 0x22, 0x2C, 0x71, 0x22, 0x4D, 0x11, 0x0, 0x5D, 0x11, 0x0, 0x6D, 0xF1, 0x22, 0x8E, 0x31, 0x23, 0xE, 0x40, 0x23, 0xBF, 0x91, 0x23]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.LowercaseLetter. - private static ReadOnlySpan SerializedCategory1_LowercaseLetter => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x21, 0x20, 0x0, 0x11, 0x60, 0x0, 0x31, 0x0, 0x0, 0x1, 0x40, 0x0, 0x21, 0x0, 0x0, 0x1, 0x60, 0x0, 0x31, 0x20, 0x0, 0x31, 0x40, 0x0, 0x11, 0x40, 0x0, 0x21, 0x60, 0x0, 0x1, 0x20, 0x0, 0x11, 0x0, 0x0, 0x2, 0x80, 0x0, 0x12, 0xA0, 0x0, 0x12, 0xC0, 0x0, 0x42, 0x20, 0x0, 0x2, 0xE0, 0x0, 0x2, 0x0, 0x1, 0x82, 0x0, 0x0, 0x2, 0x20, 0x1, 0x2, 0x40, 0x0, 0x2, 0x60, 0x0, 0x32, 0x0, 0x0, 0x62, 0x20, 0x1, 0xA2, 0x60, 0x0, 0x22, 0x0, 0x0, 0xB2, 0x40, 0x0, 0x32, 0x40, 0x1, 0x32, 0xC0, 0x0, 0x92, 0x60, 0x0, 0x92, 0x0, 0x0, 0xA2, 0x20, 0x0, 0x2, 0xC0, 0x0, 0x72, 0x60, 0x0, 0x2, 0x20, 0x0, 0xC2, 0x60, 0x0, 0x72, 0x40, 0x0, 0xD2, 0x20, 0x1, 0x72, 0x0, 0x0, 0x82, 0xC0, 0x1, 0xF2, 0x0, 0x0, 0xE2, 0x20, 0x1, 0x62, 0x0, 0x0, 0xF2, 0x0, 0x1, 0xC2, 0xE0, 0x1, 0xF2, 0x20, 0x0, 0xC2, 0x20, 0x0, 0xE2, 0x20, 0x0, 0x52, 0x60, 0x0, 0x52, 0x80, 0x0, 0xC2, 0x40, 0x0, 0x22, 0x0, 0x1, 0x72, 0x60, 0x1, 0x92, 0x20, 0x0, 0x52, 0xC0, 0x1, 0x12, 0x0, 0x0, 0xE2, 0xC0, 0x0, 0x62, 0x60, 0x0, 0x52, 0x20, 0x0, 0x62, 0x40, 0x0, 0xB2, 0xC0, 0x1, 0x12, 0x60, 0x0, 0x92, 0x60, 0x1, 0xA2, 0x40, 0x0, 0x22, 0x20, 0x1, 0x52, 0xA0, 0x1, 0x22, 0xE0, 0x0, 0x92, 0x80, 0x1, 0x82, 0xA0, 0x0, 0x92, 0x0, 0x1, 0xE2, 0xE0, 0x0, 0xC2, 0x0, 0x1, 0x3, 0x21, 0x0, 0x13, 0x20, 0x2, 0x3, 0x40, 0x2, 0x3, 0x60, 0x2, 0x43, 0x21, 0x0, 0x53, 0xC1, 0x2, 0x73, 0x61, 0x0, 0x83, 0x21, 0x3, 0x33, 0x40, 0x3, 0xB3, 0x61, 0x0, 0x33, 0x80, 0x3, 0xD3, 0x61, 0x0, 0xE3, 0x21, 0x2, 0x33, 0xE0, 0x3, 0x33, 0x0, 0x4, 0x93, 0x61, 0x0, 0x13, 0x62, 0x0, 0x23, 0x62, 0x4, 0x3, 0x80, 0x4, 0xD3, 0xA1, 0x4, 0x63, 0xE2, 0x4, 0x83, 0x22, 0x5, 0x3, 0x40, 0x5, 0xB3, 0x82, 0x5, 0xD3, 0x42, 0x5, 0xE3, 0x2, 0x0, 0xF3, 0x2, 0x0, 0x3, 0x0, 0x6, 0x3, 0x20, 0x0, 0x3, 0x20, 0x6, 0x63, 0x41, 0x6, 0x33, 0x23, 0x0, 0x3, 0x60, 0x6, 0x33, 0x82, 0x6, 0x13, 0x21, 0x0, 0x23, 0x1, 0x0, 0x63, 0x22, 0x0, 0x33, 0x3, 0x0, 0x53, 0x23, 0x0, 0x63, 0xE3, 0x6, 0x3, 0xE2, 0x2, 0x83, 0x23, 0x7, 0x33, 0x40, 0x7, 0x33, 0x21, 0x0, 0xB3, 0x3, 0x0, 0x3, 0x80, 0x2, 0xC3, 0xA3, 0x7, 0x13, 0xC0, 0x7, 0x33, 0xE0, 0x7, 0x3, 0x24, 0x8, 0x33, 0x40, 0x8, 0x33, 0x44, 0x0, 0x43, 0xC4, 0x2, 0x53, 0xC4, 0x8, 0x73, 0x24, 0x4, 0x83, 0x24, 0x9, 0xA3, 0x44, 0x8, 0xB3, 0x64, 0x0, 0xF3, 0x41, 0x0, 0x23, 0x60, 0x0, 0x13, 0x60, 0x2, 0x3, 0x40, 0x4, 0xC4, 0xA4, 0x9, 0xE4, 0xE4, 0x9, 0x14, 0x0, 0xA, 0xC4, 0x24, 0x0, 0x14, 0x0, 0x0, 0x14, 0x5, 0x0, 0x24, 0x65, 0xA, 0x44, 0xA5, 0xA, 0x64, 0xE5, 0xA, 0x84, 0x65, 0x0, 0x94, 0x45, 0xB, 0xB4, 0x65, 0x0, 0x4, 0x80, 0xB, 0x4, 0xA0, 0xB, 0xE4, 0xE5, 0xB, 0x4, 0x26, 0xC, 0x4, 0x40, 0xC, 0x4, 0x60, 0xC, 0x44, 0xA6, 0xC, 0xE4, 0xC5, 0xC, 0x74, 0x6, 0xD, 0x94, 0xE6, 0xC, 0xA4, 0x6, 0xD, 0xB4, 0x6, 0xD, 0x84, 0x86, 0xD, 0xC4, 0x6, 0xD, 0xD4, 0x66, 0x0, 0xE4, 0xE6, 0xD, 0x4, 0x0, 0xE, 0x4, 0x0, 0xA, 0x14, 0x7, 0x0, 0x24, 0x27, 0x0, 0x4, 0x60, 0x0, 0x34, 0x60, 0xE, 0x34, 0x80, 0xE, 0x54, 0x67, 0x0, 0x64, 0xE7, 0xE, 0x14, 0x0, 0xF, 0x94, 0x7, 0x0, 0xA4, 0x7, 0x0, 0x4, 0x20, 0x0, 0xB4, 0x27, 0x0, 0x14, 0x80, 0xF, 0xD4, 0x67, 0x0, 0xE4, 0x67, 0x0, 0xF4, 0x7, 0x10, 0x14, 0x48, 0x10, 0x34, 0x88, 0x10, 0x54, 0x68, 0x0, 0x34, 0xC0, 0x10, 0x74, 0x68, 0x0, 0x84, 0x28, 0x0, 0x54, 0x6, 0x0, 0x94, 0x8, 0x0, 0x5, 0x40, 0x11, 0x5, 0x60, 0x11, 0xC5, 0xA8, 0x11, 0xE5, 0x8, 0x0, 0xF5, 0x8, 0x12, 0x15, 0x49, 0x12, 0x35, 0x69, 0x0, 0x45, 0x9, 0x0, 0x5, 0xA0, 0x12, 0x65, 0x69, 0x0, 0x75, 0x29, 0x0, 0x85, 0x69, 0x0, 0x95, 0x29, 0x0, 0x5, 0x40, 0x13, 0x5, 0x60, 0x13, 0xC5, 0xA9, 0x13, 0xE5, 0xE9, 0x13, 0x5, 0xA, 0xD, 0x15, 0x4A, 0x14, 0x85, 0x66, 0x14, 0x35, 0x80, 0x14, 0x5, 0xA0, 0x11, 0x55, 0xA, 0x0, 0x65, 0x2A, 0x0, 0x5, 0xE0, 0x14, 0x85, 0xA, 0x0, 0x95, 0xCA, 0x11, 0x15, 0x0, 0x0, 0xA5, 0x6A, 0x0, 0x35, 0x60, 0x15, 0x35, 0x80, 0x15, 0x35, 0x20, 0x0, 0xD5, 0xCA, 0x15, 0xF5, 0xA, 0x16, 0x15, 0xB, 0x0, 0x25, 0x6B, 0x16, 0x15, 0x80, 0x16, 0x55, 0x6B, 0x0, 0x65, 0xEB, 0x16, 0x85, 0x2B, 0x17, 0xA5, 0x6B, 0x17, 0xC5, 0x6B, 0x0, 0xD5, 0xCB, 0x17, 0xF5, 0xB, 0x0, 0xA5, 0x8, 0x0, 0x6, 0xC, 0x0, 0x6, 0x20, 0x18, 0x6, 0x20, 0x0, 0x26, 0x6C, 0x18, 0x46, 0xAC, 0x18, 0x66, 0xEC, 0x18, 0x6, 0x0, 0x19, 0x96, 0xC, 0x0, 0x6, 0x40, 0x19, 0xB6, 0x6C, 0x0, 0xC6, 0x6C, 0x18, 0x6, 0xA0, 0x19, 0xE6, 0xEC, 0x19, 0x6, 0x2D, 0x1A, 0x26, 0x6D, 0x1A, 0x36, 0x80, 0x1A, 0x6, 0xA0, 0x1A, 0x66, 0xED, 0x1A, 0x6, 0x0, 0x1B, 0x96, 0xD, 0x0, 0xA6, 0xD, 0x0, 0xB6, 0x8D, 0x1B, 0xD6, 0xCD, 0x1B, 0xF6, 0x6D, 0x18, 0x6, 0x2E, 0x1C, 0x26, 0xE, 0x0, 0x6, 0x60, 0x1C, 0x46, 0xAE, 0x1C, 0x66, 0xEE, 0x1C, 0x86, 0x2E, 0x1D, 0xA6, 0x6E, 0x1D, 0xC6, 0xE, 0x0, 0x7, 0xA0, 0x1D, 0x7, 0xC0, 0x1D, 0xF7, 0xE, 0x1E, 0x17, 0x4F, 0x1E, 0x37, 0x8F, 0x1E, 0x7, 0xA0, 0x1E, 0x67, 0xEF, 0x1E, 0x87, 0x2F, 0x1F, 0xA7, 0x6F, 0x1F, 0xC7, 0x6F, 0x0, 0xD7, 0xCF, 0x1F, 0xF7, 0xF, 0x0, 0x7, 0x10, 0x0, 0x17, 0x10, 0x0, 0xF7, 0x4F, 0x20, 0x37, 0x90, 0x20, 0x57, 0xD0, 0x20, 0x77, 0x10, 0x21, 0x97, 0x50, 0x21, 0xB7, 0x90, 0x21, 0xD8, 0x10, 0x0, 0xE8, 0x10, 0x0, 0xF8, 0x10, 0x0, 0x8, 0x31, 0x22, 0x28, 0x71, 0x22, 0x48, 0x11, 0x0, 0x58, 0xD1, 0x22, 0x78, 0x11, 0x23, 0x98, 0x11, 0x0, 0x8, 0x40, 0x23, 0xB8, 0x91, 0x23, 0xD8, 0xD1, 0x23, 0xF8, 0x11, 0x24, 0x19, 0x12, 0x0, 0x29, 0x12, 0x0, 0x39, 0x12, 0x0, 0x49, 0x12, 0x0, 0x9, 0xA0, 0x24, 0x9, 0xC0, 0x24, 0x79, 0x12, 0x25, 0x99, 0x52, 0x25, 0x9, 0x60, 0x25, 0xC9, 0xB2, 0x25, 0xEA, 0xF2, 0x25, 0xA, 0x0, 0x26, 0x1A, 0x13, 0x0, 0x2A, 0x13, 0x0, 0xA, 0x60, 0x26, 0x4A, 0x13, 0x0, 0xA, 0xA0, 0x26, 0x6A, 0xF3, 0x26, 0x8B, 0x13, 0x0, 0x9B, 0x53, 0x27, 0xBB, 0x93, 0x27, 0xDB, 0xD3, 0x27, 0xB, 0xE0, 0x27, 0xC, 0x14, 0x0, 0xC, 0x20, 0x28, 0xC, 0x40, 0x28, 0x3C, 0x94, 0x28, 0x5D, 0x14, 0x0, 0x6D, 0x14, 0x0, 0x7D, 0x14, 0x29, 0x9E, 0x54, 0x29, 0xE, 0x60, 0x29, 0xCF, 0xB4, 0x29, }; + private static ReadOnlySpan SerializedCategory1_LowercaseLetter => [0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x21, 0x20, 0x0, 0x11, 0x60, 0x0, 0x31, 0x0, 0x0, 0x1, 0x40, 0x0, 0x21, 0x0, 0x0, 0x1, 0x60, 0x0, 0x31, 0x20, 0x0, 0x31, 0x40, 0x0, 0x11, 0x40, 0x0, 0x21, 0x60, 0x0, 0x1, 0x20, 0x0, 0x11, 0x0, 0x0, 0x2, 0x80, 0x0, 0x12, 0xA0, 0x0, 0x12, 0xC0, 0x0, 0x42, 0x20, 0x0, 0x2, 0xE0, 0x0, 0x2, 0x0, 0x1, 0x82, 0x0, 0x0, 0x2, 0x20, 0x1, 0x2, 0x40, 0x0, 0x2, 0x60, 0x0, 0x32, 0x0, 0x0, 0x62, 0x20, 0x1, 0xA2, 0x60, 0x0, 0x22, 0x0, 0x0, 0xB2, 0x40, 0x0, 0x32, 0x40, 0x1, 0x32, 0xC0, 0x0, 0x92, 0x60, 0x0, 0x92, 0x0, 0x0, 0xA2, 0x20, 0x0, 0x2, 0xC0, 0x0, 0x72, 0x60, 0x0, 0x2, 0x20, 0x0, 0xC2, 0x60, 0x0, 0x72, 0x40, 0x0, 0xD2, 0x20, 0x1, 0x72, 0x0, 0x0, 0x82, 0xC0, 0x1, 0xF2, 0x0, 0x0, 0xE2, 0x20, 0x1, 0x62, 0x0, 0x0, 0xF2, 0x0, 0x1, 0xC2, 0xE0, 0x1, 0xF2, 0x20, 0x0, 0xC2, 0x20, 0x0, 0xE2, 0x20, 0x0, 0x52, 0x60, 0x0, 0x52, 0x80, 0x0, 0xC2, 0x40, 0x0, 0x22, 0x0, 0x1, 0x72, 0x60, 0x1, 0x92, 0x20, 0x0, 0x52, 0xC0, 0x1, 0x12, 0x0, 0x0, 0xE2, 0xC0, 0x0, 0x62, 0x60, 0x0, 0x52, 0x20, 0x0, 0x62, 0x40, 0x0, 0xB2, 0xC0, 0x1, 0x12, 0x60, 0x0, 0x92, 0x60, 0x1, 0xA2, 0x40, 0x0, 0x22, 0x20, 0x1, 0x52, 0xA0, 0x1, 0x22, 0xE0, 0x0, 0x92, 0x80, 0x1, 0x82, 0xA0, 0x0, 0x92, 0x0, 0x1, 0xE2, 0xE0, 0x0, 0xC2, 0x0, 0x1, 0x3, 0x21, 0x0, 0x13, 0x20, 0x2, 0x3, 0x40, 0x2, 0x3, 0x60, 0x2, 0x43, 0x21, 0x0, 0x53, 0xC1, 0x2, 0x73, 0x61, 0x0, 0x83, 0x21, 0x3, 0x33, 0x40, 0x3, 0xB3, 0x61, 0x0, 0x33, 0x80, 0x3, 0xD3, 0x61, 0x0, 0xE3, 0x21, 0x2, 0x33, 0xE0, 0x3, 0x33, 0x0, 0x4, 0x93, 0x61, 0x0, 0x13, 0x62, 0x0, 0x23, 0x62, 0x4, 0x3, 0x80, 0x4, 0xD3, 0xA1, 0x4, 0x63, 0xE2, 0x4, 0x83, 0x22, 0x5, 0x3, 0x40, 0x5, 0xB3, 0x82, 0x5, 0xD3, 0x42, 0x5, 0xE3, 0x2, 0x0, 0xF3, 0x2, 0x0, 0x3, 0x0, 0x6, 0x3, 0x20, 0x0, 0x3, 0x20, 0x6, 0x63, 0x41, 0x6, 0x33, 0x23, 0x0, 0x3, 0x60, 0x6, 0x33, 0x82, 0x6, 0x13, 0x21, 0x0, 0x23, 0x1, 0x0, 0x63, 0x22, 0x0, 0x33, 0x3, 0x0, 0x53, 0x23, 0x0, 0x63, 0xE3, 0x6, 0x3, 0xE2, 0x2, 0x83, 0x23, 0x7, 0x33, 0x40, 0x7, 0x33, 0x21, 0x0, 0xB3, 0x3, 0x0, 0x3, 0x80, 0x2, 0xC3, 0xA3, 0x7, 0x13, 0xC0, 0x7, 0x33, 0xE0, 0x7, 0x3, 0x24, 0x8, 0x33, 0x40, 0x8, 0x33, 0x44, 0x0, 0x43, 0xC4, 0x2, 0x53, 0xC4, 0x8, 0x73, 0x24, 0x4, 0x83, 0x24, 0x9, 0xA3, 0x44, 0x8, 0xB3, 0x64, 0x0, 0xF3, 0x41, 0x0, 0x23, 0x60, 0x0, 0x13, 0x60, 0x2, 0x3, 0x40, 0x4, 0xC4, 0xA4, 0x9, 0xE4, 0xE4, 0x9, 0x14, 0x0, 0xA, 0xC4, 0x24, 0x0, 0x14, 0x0, 0x0, 0x14, 0x5, 0x0, 0x24, 0x65, 0xA, 0x44, 0xA5, 0xA, 0x64, 0xE5, 0xA, 0x84, 0x65, 0x0, 0x94, 0x45, 0xB, 0xB4, 0x65, 0x0, 0x4, 0x80, 0xB, 0x4, 0xA0, 0xB, 0xE4, 0xE5, 0xB, 0x4, 0x26, 0xC, 0x4, 0x40, 0xC, 0x4, 0x60, 0xC, 0x44, 0xA6, 0xC, 0xE4, 0xC5, 0xC, 0x74, 0x6, 0xD, 0x94, 0xE6, 0xC, 0xA4, 0x6, 0xD, 0xB4, 0x6, 0xD, 0x84, 0x86, 0xD, 0xC4, 0x6, 0xD, 0xD4, 0x66, 0x0, 0xE4, 0xE6, 0xD, 0x4, 0x0, 0xE, 0x4, 0x0, 0xA, 0x14, 0x7, 0x0, 0x24, 0x27, 0x0, 0x4, 0x60, 0x0, 0x34, 0x60, 0xE, 0x34, 0x80, 0xE, 0x54, 0x67, 0x0, 0x64, 0xE7, 0xE, 0x14, 0x0, 0xF, 0x94, 0x7, 0x0, 0xA4, 0x7, 0x0, 0x4, 0x20, 0x0, 0xB4, 0x27, 0x0, 0x14, 0x80, 0xF, 0xD4, 0x67, 0x0, 0xE4, 0x67, 0x0, 0xF4, 0x7, 0x10, 0x14, 0x48, 0x10, 0x34, 0x88, 0x10, 0x54, 0x68, 0x0, 0x34, 0xC0, 0x10, 0x74, 0x68, 0x0, 0x84, 0x28, 0x0, 0x54, 0x6, 0x0, 0x94, 0x8, 0x0, 0x5, 0x40, 0x11, 0x5, 0x60, 0x11, 0xC5, 0xA8, 0x11, 0xE5, 0x8, 0x0, 0xF5, 0x8, 0x12, 0x15, 0x49, 0x12, 0x35, 0x69, 0x0, 0x45, 0x9, 0x0, 0x5, 0xA0, 0x12, 0x65, 0x69, 0x0, 0x75, 0x29, 0x0, 0x85, 0x69, 0x0, 0x95, 0x29, 0x0, 0x5, 0x40, 0x13, 0x5, 0x60, 0x13, 0xC5, 0xA9, 0x13, 0xE5, 0xE9, 0x13, 0x5, 0xA, 0xD, 0x15, 0x4A, 0x14, 0x85, 0x66, 0x14, 0x35, 0x80, 0x14, 0x5, 0xA0, 0x11, 0x55, 0xA, 0x0, 0x65, 0x2A, 0x0, 0x5, 0xE0, 0x14, 0x85, 0xA, 0x0, 0x95, 0xCA, 0x11, 0x15, 0x0, 0x0, 0xA5, 0x6A, 0x0, 0x35, 0x60, 0x15, 0x35, 0x80, 0x15, 0x35, 0x20, 0x0, 0xD5, 0xCA, 0x15, 0xF5, 0xA, 0x16, 0x15, 0xB, 0x0, 0x25, 0x6B, 0x16, 0x15, 0x80, 0x16, 0x55, 0x6B, 0x0, 0x65, 0xEB, 0x16, 0x85, 0x2B, 0x17, 0xA5, 0x6B, 0x17, 0xC5, 0x6B, 0x0, 0xD5, 0xCB, 0x17, 0xF5, 0xB, 0x0, 0xA5, 0x8, 0x0, 0x6, 0xC, 0x0, 0x6, 0x20, 0x18, 0x6, 0x20, 0x0, 0x26, 0x6C, 0x18, 0x46, 0xAC, 0x18, 0x66, 0xEC, 0x18, 0x6, 0x0, 0x19, 0x96, 0xC, 0x0, 0x6, 0x40, 0x19, 0xB6, 0x6C, 0x0, 0xC6, 0x6C, 0x18, 0x6, 0xA0, 0x19, 0xE6, 0xEC, 0x19, 0x6, 0x2D, 0x1A, 0x26, 0x6D, 0x1A, 0x36, 0x80, 0x1A, 0x6, 0xA0, 0x1A, 0x66, 0xED, 0x1A, 0x6, 0x0, 0x1B, 0x96, 0xD, 0x0, 0xA6, 0xD, 0x0, 0xB6, 0x8D, 0x1B, 0xD6, 0xCD, 0x1B, 0xF6, 0x6D, 0x18, 0x6, 0x2E, 0x1C, 0x26, 0xE, 0x0, 0x6, 0x60, 0x1C, 0x46, 0xAE, 0x1C, 0x66, 0xEE, 0x1C, 0x86, 0x2E, 0x1D, 0xA6, 0x6E, 0x1D, 0xC6, 0xE, 0x0, 0x7, 0xA0, 0x1D, 0x7, 0xC0, 0x1D, 0xF7, 0xE, 0x1E, 0x17, 0x4F, 0x1E, 0x37, 0x8F, 0x1E, 0x7, 0xA0, 0x1E, 0x67, 0xEF, 0x1E, 0x87, 0x2F, 0x1F, 0xA7, 0x6F, 0x1F, 0xC7, 0x6F, 0x0, 0xD7, 0xCF, 0x1F, 0xF7, 0xF, 0x0, 0x7, 0x10, 0x0, 0x17, 0x10, 0x0, 0xF7, 0x4F, 0x20, 0x37, 0x90, 0x20, 0x57, 0xD0, 0x20, 0x77, 0x10, 0x21, 0x97, 0x50, 0x21, 0xB7, 0x90, 0x21, 0xD8, 0x10, 0x0, 0xE8, 0x10, 0x0, 0xF8, 0x10, 0x0, 0x8, 0x31, 0x22, 0x28, 0x71, 0x22, 0x48, 0x11, 0x0, 0x58, 0xD1, 0x22, 0x78, 0x11, 0x23, 0x98, 0x11, 0x0, 0x8, 0x40, 0x23, 0xB8, 0x91, 0x23, 0xD8, 0xD1, 0x23, 0xF8, 0x11, 0x24, 0x19, 0x12, 0x0, 0x29, 0x12, 0x0, 0x39, 0x12, 0x0, 0x49, 0x12, 0x0, 0x9, 0xA0, 0x24, 0x9, 0xC0, 0x24, 0x79, 0x12, 0x25, 0x99, 0x52, 0x25, 0x9, 0x60, 0x25, 0xC9, 0xB2, 0x25, 0xEA, 0xF2, 0x25, 0xA, 0x0, 0x26, 0x1A, 0x13, 0x0, 0x2A, 0x13, 0x0, 0xA, 0x60, 0x26, 0x4A, 0x13, 0x0, 0xA, 0xA0, 0x26, 0x6A, 0xF3, 0x26, 0x8B, 0x13, 0x0, 0x9B, 0x53, 0x27, 0xBB, 0x93, 0x27, 0xDB, 0xD3, 0x27, 0xB, 0xE0, 0x27, 0xC, 0x14, 0x0, 0xC, 0x20, 0x28, 0xC, 0x40, 0x28, 0x3C, 0x94, 0x28, 0x5D, 0x14, 0x0, 0x6D, 0x14, 0x0, 0x7D, 0x14, 0x29, 0x9E, 0x54, 0x29, 0xE, 0x60, 0x29, 0xCF, 0xB4, 0x29]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.TitlecaseLetter. - private static ReadOnlySpan SerializedCategory2_TitlecaseLetter => new byte[] { 0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x1, 0x8, 0x21, 0x0, 0x31, 0x8, 0x1, 0xC, 0x42, 0x0, 0x2, 0x14, 0x2, 0x18, 0x72, 0x0, 0x83, 0x0, 0x13, 0x0, 0x3, 0x24, 0xA3, 0x2C, 0xC4, 0x0, 0x4, 0x30, 0xC4, 0x34, 0xE4, 0x0, 0x4, 0x3C, 0x5, 0x45, 0x25, 0x35, 0x35, 0x51, 0x56, 0x59, 0x76, 0x1, 0x87, 0x1, 0x97, 0x1, 0xA8, 0x1, 0xB8, 0x1, 0xC9, 0x1, 0x9, 0x74, 0xEA, 0x1, 0xA, 0x7C, 0xB, 0x2, 0xB, 0x84, 0x2C, 0x8E, 0xD, 0x90, 0xE, 0x94, 0xF, 0x98, }; + private static ReadOnlySpan SerializedCategory2_TitlecaseLetter => [0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x1, 0x8, 0x21, 0x0, 0x31, 0x8, 0x1, 0xC, 0x42, 0x0, 0x2, 0x14, 0x2, 0x18, 0x72, 0x0, 0x83, 0x0, 0x13, 0x0, 0x3, 0x24, 0xA3, 0x2C, 0xC4, 0x0, 0x4, 0x30, 0xC4, 0x34, 0xE4, 0x0, 0x4, 0x3C, 0x5, 0x45, 0x25, 0x35, 0x35, 0x51, 0x56, 0x59, 0x76, 0x1, 0x87, 0x1, 0x97, 0x1, 0xA8, 0x1, 0xB8, 0x1, 0xC9, 0x1, 0x9, 0x74, 0xEA, 0x1, 0xA, 0x7C, 0xB, 0x2, 0xB, 0x84, 0x2C, 0x8E, 0xD, 0x90, 0xE, 0x94, 0xF, 0x98]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.ModifierLetter. - private static ReadOnlySpan SerializedCategory3_ModifierLetter => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x40, 0x0, 0x1, 0x60, 0x0, 0x31, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1, 0x20, 0x0, 0x21, 0x20, 0x0, 0x21, 0x60, 0x0, 0x11, 0x60, 0x0, 0x42, 0x0, 0x0, 0x2, 0xA0, 0x0, 0x2, 0xC0, 0x0, 0x12, 0x0, 0x0, 0x52, 0xE0, 0x0, 0x62, 0x0, 0x0, 0x82, 0x0, 0x0, 0x72, 0x0, 0x0, 0x2, 0x20, 0x1, 0x52, 0x80, 0x0, 0x92, 0x0, 0x0, 0x52, 0x0, 0x0, 0x92, 0x20, 0x0, 0xA2, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x2, 0xE0, 0x0, 0x92, 0x80, 0x1, 0x52, 0x20, 0x0, 0x12, 0xE0, 0x0, 0x2, 0x40, 0x1, 0x2, 0x0, 0x1, 0x22, 0x0, 0x0, 0x42, 0x20, 0x1, 0xD3, 0x0, 0x0, 0x3, 0xC0, 0x1, 0xF3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x3, 0x20, 0x2, 0x23, 0x1, 0x0, 0x3, 0x60, 0x2, 0x43, 0x1, 0x0, 0x53, 0xC1, 0x2, 0xE3, 0x0, 0x0, 0x13, 0x80, 0x2, 0x73, 0x1, 0x0, 0x83, 0x1, 0x0, 0x93, 0x1, 0x0, 0x3, 0x40, 0x2, 0xA3, 0x1, 0x0, 0xB3, 0x1, 0x0, 0xC3, 0xA1, 0x3, 0xE3, 0x21, 0x0, 0x43, 0xE1, 0x1, 0xF3, 0x1, 0x0, 0x3, 0x22, 0x0, 0x3, 0x80, 0x2, 0x3, 0x80, 0x3, 0x3, 0xE0, 0x1, 0xE3, 0x0, 0x3, 0x13, 0x2, 0x0, 0x13, 0xE2, 0x2, 0x3, 0x60, 0x3, 0x13, 0x2, 0x3, 0x23, 0xC2, 0x3, 0x3, 0xA0, 0x2, 0x13, 0x60, 0x4, 0x44, 0x2, 0x0, 0x54, 0x2, 0x0, 0x4, 0xC0, 0x4, 0x74, 0x2, 0x0, 0x84, 0x2, 0x0, 0x94, 0x2, 0x0, 0x4, 0x40, 0x5, 0x4, 0x60, 0x5, 0xC4, 0x2, 0x0, 0x4, 0xA0, 0x5, 0xE4, 0x2, 0x0, 0xF4, 0x2, 0x0, 0xB4, 0x2, 0x0, 0x4, 0x0, 0x6, 0x14, 0x3, 0x0, 0x24, 0x3, 0x0, 0x34, 0x3, 0x0, 0x44, 0x3, 0x0, 0x54, 0x3, 0x0, 0x4, 0x40, 0x6, 0x64, 0x3, 0x0, 0x74, 0x3, 0x0, 0x84, 0x3, 0x0, 0xD4, 0x22, 0x7, 0x14, 0xE0, 0x4, 0x4, 0x40, 0x7, 0x4, 0x60, 0x7, 0xA4, 0x3, 0x0, 0x4, 0x3, 0x0, 0xC4, 0x3, 0x0, 0x4, 0xA0, 0x7, 0xE4, 0x3, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x0, 0x8, 0x4, 0xA0, 0x4, 0x64, 0x2, 0x0, 0x14, 0x4, 0x0, 0x4, 0x40, 0x8, 0x34, 0x84, 0x8, 0x14, 0x0, 0x0, 0x5, 0xA0, 0x8, 0x65, 0x4, 0x0, 0x75, 0x4, 0x9, 0x95, 0x44, 0x9, 0xB5, 0x84, 0x9, 0xD5, 0x4, 0x0, 0x5, 0xC0, 0x9, 0x5, 0xE0, 0x9, 0x5, 0x0, 0xA, 0x15, 0x5, 0x0, 0x5, 0x40, 0xA, 0x35, 0x5, 0x0, 0x5, 0x80, 0xA, 0x55, 0x5, 0x0, 0x5, 0xC0, 0xA, 0x75, 0x5, 0xB, 0xC5, 0x4, 0x0, 0x5, 0x5, 0x0, 0x5, 0x20, 0xB, 0xA5, 0x5, 0x0, 0x15, 0x60, 0xB, 0xC5, 0x25, 0x0, 0xD5, 0x5, 0x0, 0xE5, 0x5, 0x0, 0x5, 0xE0, 0xB, 0x5, 0x0, 0xC, 0x15, 0x6, 0x0, 0x5, 0x60, 0x9, 0x25, 0x6, 0x0, 0x5, 0xE0, 0x8, 0x35, 0x86, 0xC, 0x55, 0x6, 0x0, 0x65, 0x6, 0x0, 0x5, 0xE0, 0xC, 0x5, 0x0, 0xD, 0x95, 0x6, 0x0, 0xA5, 0x66, 0xD, 0xC5, 0x6, 0x0, 0x6, 0xA0, 0xD, 0xE6, 0x6, 0x0, 0xF6, 0x6, 0x0, 0x6, 0x7, 0x0, 0x16, 0x7, 0x0, 0x26, 0x67, 0xE, 0xE6, 0x86, 0xE, 0x6, 0xA0, 0xE, 0x66, 0xE7, 0xE, 0x86, 0x7, 0x0, 0x6, 0x20, 0xF, 0xA6, 0x67, 0xF, 0x6, 0x80, 0xF, 0x6, 0xA0, 0xF, 0xD6, 0x7, 0x0, 0xE6, 0x7, 0x0, 0x6, 0xE0, 0xF, 0x6, 0x8, 0x0, 0x6, 0x20, 0x10, 0x26, 0x68, 0x10, 0x6, 0x80, 0x10, 0x56, 0x8, 0x0, 0x66, 0x8, 0x0, 0x76, 0x8, 0x0, 0x86, 0x8, 0x0, 0x96, 0x8, 0x0, 0xA6, 0x8, 0x0, 0x6, 0x60, 0x11, 0xC6, 0x8, 0x0, 0xD6, 0x8, 0x0, 0xE6, 0x8, 0x0, 0xF6, 0x8, 0x0, 0x6, 0x9, 0x0, 0x16, 0x49, 0x12, 0x37, 0x89, 0x12, 0x7, 0xA0, 0x12, 0x67, 0x89, 0x12, 0x77, 0x9, 0x0, 0x87, 0x29, 0x13, 0xA7, 0x69, 0x13, 0xC7, 0x9, 0x0, 0x7, 0xA0, 0x13, 0xE7, 0xE9, 0x13, 0x7, 0x0, 0x14, 0x7, 0x20, 0x14, 0x7, 0x40, 0x14, 0x37, 0x8A, 0x14, 0x57, 0xCA, 0x14, 0x7, 0x80, 0x13, 0x77, 0xA, 0x0, 0x7, 0x0, 0x15, 0x97, 0xA, 0x0, 0xA7, 0xA, 0x0, 0x7, 0x80, 0x15, 0xD7, 0xCA, 0x15, 0xF7, 0xA, 0x0, 0x7, 0x2B, 0x16, 0x7, 0x40, 0x16, 0x7, 0x60, 0x16, 0x47, 0xB, 0x0, 0x58, 0xB, 0x0, 0x68, 0xEB, 0x16, 0x88, 0xB, 0x0, 0x98, 0x4B, 0x17, 0x8, 0x60, 0x17, 0x8, 0x80, 0x17, 0x8, 0xA0, 0x17, 0x8, 0xC0, 0x17, 0xF8, 0xB, 0x18, 0x8, 0x20, 0x18, 0x28, 0x6C, 0x18, 0x8, 0x80, 0x18, 0x8, 0xA0, 0x18, 0x68, 0xC, 0x0, 0x8, 0xE0, 0x18, 0x8, 0x60, 0x15, 0x88, 0x2C, 0x19, 0xA8, 0x6C, 0x19, 0xC8, 0xC, 0x0, 0xD8, 0xCC, 0x19, 0xF9, 0xC, 0x0, 0x9, 0x2D, 0x1A, 0x29, 0x6D, 0x1A, 0x9, 0x80, 0x1A, 0x9, 0xA0, 0x1A, 0x69, 0xED, 0x1A, 0x9, 0x0, 0x1B, 0x9, 0x20, 0x1B, 0xA9, 0x6D, 0x1B, 0xC9, 0xD, 0x0, 0x9, 0xA0, 0x1B, 0xE9, 0xD, 0x0, 0x9, 0xE0, 0x1B, 0x9, 0x2E, 0x1C, 0x29, 0xE, 0x0, 0x3A, 0xE, 0x0, 0xA, 0x80, 0x1C, 0x5A, 0xCE, 0x1C, 0xA, 0xE0, 0x1C, 0x8A, 0xE, 0x0, 0xA, 0x20, 0x1D, 0xAA, 0x6E, 0x1D, 0xCA, 0xAE, 0x1D, 0xEA, 0xEE, 0x1D, 0xA, 0x2F, 0x1E, 0x2B, 0xF, 0x0, 0x3B, 0x8F, 0x1E, 0xB, 0xA0, 0x1E, 0x6B, 0xEF, 0x1E, 0x8B, 0x2F, 0x1F, 0xAB, 0x6F, 0x1F, 0xCC, 0xF, 0x0, 0xC, 0xA0, 0x1F, 0xEC, 0xEF, 0x1F, 0xC, 0x30, 0x20, 0x2D, 0x10, 0x0, 0x3D, 0x10, 0x0, 0x4D, 0xB0, 0x20, 0x6E, 0xF0, 0x20, 0xE, 0x0, 0x21, 0x9F, 0x50, 0x21, }; + private static ReadOnlySpan SerializedCategory3_ModifierLetter => [0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x40, 0x0, 0x1, 0x60, 0x0, 0x31, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1, 0x20, 0x0, 0x21, 0x20, 0x0, 0x21, 0x60, 0x0, 0x11, 0x60, 0x0, 0x42, 0x0, 0x0, 0x2, 0xA0, 0x0, 0x2, 0xC0, 0x0, 0x12, 0x0, 0x0, 0x52, 0xE0, 0x0, 0x62, 0x0, 0x0, 0x82, 0x0, 0x0, 0x72, 0x0, 0x0, 0x2, 0x20, 0x1, 0x52, 0x80, 0x0, 0x92, 0x0, 0x0, 0x52, 0x0, 0x0, 0x92, 0x20, 0x0, 0xA2, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x2, 0xE0, 0x0, 0x92, 0x80, 0x1, 0x52, 0x20, 0x0, 0x12, 0xE0, 0x0, 0x2, 0x40, 0x1, 0x2, 0x0, 0x1, 0x22, 0x0, 0x0, 0x42, 0x20, 0x1, 0xD3, 0x0, 0x0, 0x3, 0xC0, 0x1, 0xF3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x3, 0x20, 0x2, 0x23, 0x1, 0x0, 0x3, 0x60, 0x2, 0x43, 0x1, 0x0, 0x53, 0xC1, 0x2, 0xE3, 0x0, 0x0, 0x13, 0x80, 0x2, 0x73, 0x1, 0x0, 0x83, 0x1, 0x0, 0x93, 0x1, 0x0, 0x3, 0x40, 0x2, 0xA3, 0x1, 0x0, 0xB3, 0x1, 0x0, 0xC3, 0xA1, 0x3, 0xE3, 0x21, 0x0, 0x43, 0xE1, 0x1, 0xF3, 0x1, 0x0, 0x3, 0x22, 0x0, 0x3, 0x80, 0x2, 0x3, 0x80, 0x3, 0x3, 0xE0, 0x1, 0xE3, 0x0, 0x3, 0x13, 0x2, 0x0, 0x13, 0xE2, 0x2, 0x3, 0x60, 0x3, 0x13, 0x2, 0x3, 0x23, 0xC2, 0x3, 0x3, 0xA0, 0x2, 0x13, 0x60, 0x4, 0x44, 0x2, 0x0, 0x54, 0x2, 0x0, 0x4, 0xC0, 0x4, 0x74, 0x2, 0x0, 0x84, 0x2, 0x0, 0x94, 0x2, 0x0, 0x4, 0x40, 0x5, 0x4, 0x60, 0x5, 0xC4, 0x2, 0x0, 0x4, 0xA0, 0x5, 0xE4, 0x2, 0x0, 0xF4, 0x2, 0x0, 0xB4, 0x2, 0x0, 0x4, 0x0, 0x6, 0x14, 0x3, 0x0, 0x24, 0x3, 0x0, 0x34, 0x3, 0x0, 0x44, 0x3, 0x0, 0x54, 0x3, 0x0, 0x4, 0x40, 0x6, 0x64, 0x3, 0x0, 0x74, 0x3, 0x0, 0x84, 0x3, 0x0, 0xD4, 0x22, 0x7, 0x14, 0xE0, 0x4, 0x4, 0x40, 0x7, 0x4, 0x60, 0x7, 0xA4, 0x3, 0x0, 0x4, 0x3, 0x0, 0xC4, 0x3, 0x0, 0x4, 0xA0, 0x7, 0xE4, 0x3, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x0, 0x8, 0x4, 0xA0, 0x4, 0x64, 0x2, 0x0, 0x14, 0x4, 0x0, 0x4, 0x40, 0x8, 0x34, 0x84, 0x8, 0x14, 0x0, 0x0, 0x5, 0xA0, 0x8, 0x65, 0x4, 0x0, 0x75, 0x4, 0x9, 0x95, 0x44, 0x9, 0xB5, 0x84, 0x9, 0xD5, 0x4, 0x0, 0x5, 0xC0, 0x9, 0x5, 0xE0, 0x9, 0x5, 0x0, 0xA, 0x15, 0x5, 0x0, 0x5, 0x40, 0xA, 0x35, 0x5, 0x0, 0x5, 0x80, 0xA, 0x55, 0x5, 0x0, 0x5, 0xC0, 0xA, 0x75, 0x5, 0xB, 0xC5, 0x4, 0x0, 0x5, 0x5, 0x0, 0x5, 0x20, 0xB, 0xA5, 0x5, 0x0, 0x15, 0x60, 0xB, 0xC5, 0x25, 0x0, 0xD5, 0x5, 0x0, 0xE5, 0x5, 0x0, 0x5, 0xE0, 0xB, 0x5, 0x0, 0xC, 0x15, 0x6, 0x0, 0x5, 0x60, 0x9, 0x25, 0x6, 0x0, 0x5, 0xE0, 0x8, 0x35, 0x86, 0xC, 0x55, 0x6, 0x0, 0x65, 0x6, 0x0, 0x5, 0xE0, 0xC, 0x5, 0x0, 0xD, 0x95, 0x6, 0x0, 0xA5, 0x66, 0xD, 0xC5, 0x6, 0x0, 0x6, 0xA0, 0xD, 0xE6, 0x6, 0x0, 0xF6, 0x6, 0x0, 0x6, 0x7, 0x0, 0x16, 0x7, 0x0, 0x26, 0x67, 0xE, 0xE6, 0x86, 0xE, 0x6, 0xA0, 0xE, 0x66, 0xE7, 0xE, 0x86, 0x7, 0x0, 0x6, 0x20, 0xF, 0xA6, 0x67, 0xF, 0x6, 0x80, 0xF, 0x6, 0xA0, 0xF, 0xD6, 0x7, 0x0, 0xE6, 0x7, 0x0, 0x6, 0xE0, 0xF, 0x6, 0x8, 0x0, 0x6, 0x20, 0x10, 0x26, 0x68, 0x10, 0x6, 0x80, 0x10, 0x56, 0x8, 0x0, 0x66, 0x8, 0x0, 0x76, 0x8, 0x0, 0x86, 0x8, 0x0, 0x96, 0x8, 0x0, 0xA6, 0x8, 0x0, 0x6, 0x60, 0x11, 0xC6, 0x8, 0x0, 0xD6, 0x8, 0x0, 0xE6, 0x8, 0x0, 0xF6, 0x8, 0x0, 0x6, 0x9, 0x0, 0x16, 0x49, 0x12, 0x37, 0x89, 0x12, 0x7, 0xA0, 0x12, 0x67, 0x89, 0x12, 0x77, 0x9, 0x0, 0x87, 0x29, 0x13, 0xA7, 0x69, 0x13, 0xC7, 0x9, 0x0, 0x7, 0xA0, 0x13, 0xE7, 0xE9, 0x13, 0x7, 0x0, 0x14, 0x7, 0x20, 0x14, 0x7, 0x40, 0x14, 0x37, 0x8A, 0x14, 0x57, 0xCA, 0x14, 0x7, 0x80, 0x13, 0x77, 0xA, 0x0, 0x7, 0x0, 0x15, 0x97, 0xA, 0x0, 0xA7, 0xA, 0x0, 0x7, 0x80, 0x15, 0xD7, 0xCA, 0x15, 0xF7, 0xA, 0x0, 0x7, 0x2B, 0x16, 0x7, 0x40, 0x16, 0x7, 0x60, 0x16, 0x47, 0xB, 0x0, 0x58, 0xB, 0x0, 0x68, 0xEB, 0x16, 0x88, 0xB, 0x0, 0x98, 0x4B, 0x17, 0x8, 0x60, 0x17, 0x8, 0x80, 0x17, 0x8, 0xA0, 0x17, 0x8, 0xC0, 0x17, 0xF8, 0xB, 0x18, 0x8, 0x20, 0x18, 0x28, 0x6C, 0x18, 0x8, 0x80, 0x18, 0x8, 0xA0, 0x18, 0x68, 0xC, 0x0, 0x8, 0xE0, 0x18, 0x8, 0x60, 0x15, 0x88, 0x2C, 0x19, 0xA8, 0x6C, 0x19, 0xC8, 0xC, 0x0, 0xD8, 0xCC, 0x19, 0xF9, 0xC, 0x0, 0x9, 0x2D, 0x1A, 0x29, 0x6D, 0x1A, 0x9, 0x80, 0x1A, 0x9, 0xA0, 0x1A, 0x69, 0xED, 0x1A, 0x9, 0x0, 0x1B, 0x9, 0x20, 0x1B, 0xA9, 0x6D, 0x1B, 0xC9, 0xD, 0x0, 0x9, 0xA0, 0x1B, 0xE9, 0xD, 0x0, 0x9, 0xE0, 0x1B, 0x9, 0x2E, 0x1C, 0x29, 0xE, 0x0, 0x3A, 0xE, 0x0, 0xA, 0x80, 0x1C, 0x5A, 0xCE, 0x1C, 0xA, 0xE0, 0x1C, 0x8A, 0xE, 0x0, 0xA, 0x20, 0x1D, 0xAA, 0x6E, 0x1D, 0xCA, 0xAE, 0x1D, 0xEA, 0xEE, 0x1D, 0xA, 0x2F, 0x1E, 0x2B, 0xF, 0x0, 0x3B, 0x8F, 0x1E, 0xB, 0xA0, 0x1E, 0x6B, 0xEF, 0x1E, 0x8B, 0x2F, 0x1F, 0xAB, 0x6F, 0x1F, 0xCC, 0xF, 0x0, 0xC, 0xA0, 0x1F, 0xEC, 0xEF, 0x1F, 0xC, 0x30, 0x20, 0x2D, 0x10, 0x0, 0x3D, 0x10, 0x0, 0x4D, 0xB0, 0x20, 0x6E, 0xF0, 0x20, 0xE, 0x0, 0x21, 0x9F, 0x50, 0x21]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.OtherLetter. - private static ReadOnlySpan SerializedCategory4_OtherLetter => new byte[] { 0x3, 0x4, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x40, 0x0, 0x10, 0x0, 0x0, 0x1, 0x80, 0x0, 0x11, 0x0, 0x0, 0x21, 0x40, 0x0, 0x1, 0x40, 0x0, 0x11, 0xC0, 0x0, 0x11, 0x80, 0x0, 0x31, 0x0, 0x0, 0x31, 0x40, 0x0, 0x21, 0x0, 0x0, 0x21, 0xC0, 0x0, 0x1, 0xC0, 0x0, 0x31, 0x80, 0x0, 0x42, 0x40, 0x1, 0x12, 0x40, 0x1, 0x62, 0x40, 0x0, 0x72, 0x40, 0x0, 0x12, 0x0, 0x2, 0x52, 0x0, 0x0, 0x42, 0x40, 0x0, 0x92, 0x40, 0x0, 0x2, 0x40, 0x0, 0x12, 0x80, 0x2, 0x2, 0xC0, 0x1, 0x92, 0xC0, 0x2, 0x22, 0x40, 0x0, 0x12, 0x40, 0x2, 0x32, 0x0, 0x0, 0x2, 0x80, 0x1, 0x62, 0x0, 0x2, 0x2, 0x0, 0x3, 0x42, 0x80, 0x2, 0x2, 0x80, 0x0, 0x72, 0x0, 0x2, 0xD2, 0x80, 0x3, 0x52, 0x0, 0x3, 0x12, 0x80, 0x1, 0x2, 0x0, 0x1, 0x62, 0x40, 0x1, 0xF2, 0x40, 0x0, 0x12, 0x0, 0x0, 0xD2, 0x80, 0x2, 0xA2, 0x0, 0x0, 0xC2, 0x0, 0x0, 0x2, 0x40, 0x1, 0x82, 0x0, 0x0, 0xA2, 0x80, 0x1, 0x42, 0x0, 0x0, 0xD2, 0x40, 0x0, 0x92, 0x0, 0x2, 0x72, 0x40, 0x2, 0x82, 0x0, 0x1, 0x72, 0x40, 0x1, 0xE2, 0x0, 0x0, 0x2, 0x40, 0x2, 0x32, 0x40, 0x0, 0x92, 0x40, 0x3, 0xE2, 0x40, 0x0, 0x12, 0xC0, 0x2, 0x62, 0x0, 0x0, 0xE2, 0x80, 0x1, 0x2, 0x40, 0x3, 0xD2, 0x0, 0x0, 0xE2, 0xC0, 0x1, 0x82, 0x40, 0x0, 0x52, 0x80, 0x1, 0x82, 0x80, 0x2, 0x2, 0x80, 0x3, 0xB2, 0x0, 0x0, 0x82, 0x40, 0x2, 0x12, 0xC0, 0x3, 0xB2, 0x40, 0x0, 0x22, 0x0, 0x2, 0xD2, 0x40, 0x2, 0x52, 0x80, 0x0, 0xF2, 0x40, 0x1, 0x2, 0x80, 0x2, 0x3, 0x41, 0x4, 0x23, 0x41, 0x0, 0x33, 0x41, 0x0, 0x13, 0x0, 0x5, 0x13, 0x40, 0x5, 0x63, 0x41, 0x0, 0x13, 0xC0, 0x5, 0x83, 0x41, 0x0, 0x3, 0x40, 0x0, 0x13, 0x40, 0x4, 0x13, 0x40, 0x6, 0x3, 0x80, 0x6, 0x13, 0xC0, 0x6, 0xC3, 0x81, 0x4, 0xD3, 0x41, 0x0, 0xE3, 0x1, 0x0, 0xA3, 0x41, 0x0, 0x93, 0x81, 0x4, 0x3, 0x0, 0x6, 0x3, 0xC0, 0x7, 0x3, 0x0, 0x8, 0x3, 0x40, 0x8, 0xF3, 0x41, 0x0, 0x23, 0x2, 0x0, 0x3, 0xC0, 0x8, 0x43, 0x42, 0x9, 0x63, 0x2, 0x8, 0x83, 0xC1, 0x9, 0x83, 0x42, 0x0, 0x93, 0x2, 0x0, 0x13, 0x80, 0xA, 0x13, 0xC0, 0xA, 0x3, 0x80, 0x4, 0x3, 0xC0, 0x4, 0x13, 0x1, 0x0, 0xC3, 0x42, 0x4, 0x73, 0xC2, 0x2, 0x93, 0x41, 0xB, 0xD3, 0x2, 0x0, 0xE3, 0x2, 0x0, 0xF3, 0x2, 0x0, 0x13, 0x0, 0xC, 0x13, 0x43, 0x0, 0xD3, 0x82, 0x4, 0x23, 0x3, 0x0, 0x3, 0x80, 0xB, 0x83, 0x2, 0xC, 0x13, 0xC2, 0xC, 0x43, 0x3, 0x0, 0x3, 0x3, 0x0, 0x53, 0x1, 0xA, 0x63, 0x1, 0xC, 0x3, 0x80, 0x5, 0x33, 0x42, 0x0, 0x13, 0xC0, 0x9, 0x3, 0x0, 0xA, 0x73, 0x41, 0x0, 0xD3, 0x82, 0x6, 0x83, 0x2, 0x5, 0xA3, 0x42, 0x0, 0x13, 0x40, 0xD, 0x13, 0x80, 0x4, 0x23, 0x41, 0xD, 0x53, 0x43, 0x0, 0x53, 0x83, 0x4, 0xE3, 0x82, 0x6, 0x13, 0x80, 0xD, 0x53, 0x41, 0x9, 0x73, 0xC3, 0x4, 0x63, 0x1, 0x0, 0x43, 0x41, 0x0, 0xB3, 0x2, 0x0, 0x83, 0x43, 0xE, 0x13, 0x80, 0xE, 0x73, 0xC2, 0xE, 0x3, 0x40, 0xE, 0xC3, 0x43, 0xF, 0x13, 0x81, 0x4, 0xD3, 0x82, 0xF, 0xF3, 0x43, 0x0, 0x13, 0x40, 0x7, 0x73, 0xC1, 0xA, 0x3, 0x0, 0x10, 0x13, 0x4, 0x0, 0x23, 0xC4, 0x10, 0x73, 0x81, 0xD, 0xF3, 0x3, 0x0, 0x23, 0x44, 0x0, 0x73, 0x1, 0xC, 0x43, 0x84, 0x8, 0xB3, 0x43, 0xD, 0x43, 0x44, 0x11, 0x3, 0x80, 0x11, 0x73, 0x4, 0x0, 0x23, 0x4, 0x12, 0x13, 0x40, 0x12, 0xA3, 0x2, 0xC, 0x63, 0x4, 0x0, 0x13, 0x40, 0xF, 0xA3, 0x4, 0xC, 0x3, 0x0, 0x4, 0xB3, 0x4, 0x0, 0xA3, 0x1, 0x13, 0x13, 0x3, 0xC, 0x23, 0x83, 0x6, 0x23, 0x44, 0x13, 0xA3, 0x82, 0xD, 0x13, 0x0, 0xA, 0x3, 0x42, 0x0, 0xE3, 0x4, 0x0, 0x53, 0x1, 0x0, 0x3, 0x0, 0xF, 0xF3, 0x1, 0x5, 0x3, 0x80, 0xC, 0xF3, 0x4, 0x0, 0x13, 0x2, 0x0, 0x4, 0x45, 0x4, 0x14, 0x45, 0x0, 0x24, 0x45, 0x0, 0x34, 0x5, 0x15, 0x54, 0x45, 0x0, 0x64, 0x5, 0x0, 0x74, 0x5, 0x0, 0x4, 0x0, 0x16, 0x94, 0x45, 0x0, 0x14, 0x0, 0x0, 0xA4, 0x5, 0x0, 0xB4, 0x45, 0x0, 0x14, 0x0, 0x17, 0xD4, 0x85, 0x17, 0xF4, 0x5, 0x0, 0x4, 0x46, 0x0, 0x14, 0x80, 0x14, 0x74, 0x45, 0x0, 0x14, 0x40, 0x18, 0x14, 0x80, 0x18, 0x4, 0xC0, 0x18, 0x4, 0x80, 0x4, 0x44, 0x6, 0x8, 0x54, 0x86, 0x19, 0x74, 0x6, 0x1A, 0x94, 0x46, 0x0, 0xA4, 0x46, 0x0, 0x4, 0xC0, 0x1A, 0x4, 0x0, 0x1B, 0xD4, 0x86, 0x1B, 0x34, 0x46, 0x0, 0x14, 0xC0, 0x1B, 0x4, 0x0, 0x1C, 0x14, 0x40, 0x1C, 0x14, 0x80, 0x1C, 0x34, 0x7, 0x0, 0x24, 0x46, 0x0, 0x14, 0x40, 0x16, 0x14, 0x0, 0x1D, 0x54, 0x7, 0x0, 0x4, 0x80, 0x1D, 0x4, 0x40, 0x1C, 0x4, 0xC0, 0x1D, 0x4, 0x0, 0x1E, 0x14, 0xC0, 0x15, 0x84, 0x45, 0x0, 0x4, 0x40, 0x15, 0x64, 0x45, 0x0, 0x4, 0x40, 0x14, 0x34, 0x45, 0x0, 0x14, 0x40, 0x1E, 0xA4, 0x47, 0x0, 0x14, 0xC0, 0x14, 0xB4, 0x47, 0x0, 0xC4, 0x7, 0x0, 0x4, 0x40, 0x1F, 0x4, 0x47, 0x0, 0xE4, 0x7, 0x0, 0xF4, 0x7, 0x20, 0x24, 0x47, 0x20, 0x4, 0x80, 0x18, 0x24, 0x87, 0x20, 0x14, 0x80, 0x16, 0x4, 0xC0, 0x20, 0x44, 0x48, 0x0, 0x4, 0x0, 0x18, 0x44, 0x88, 0x14, 0x14, 0x47, 0x0, 0x14, 0x40, 0x21, 0x14, 0x80, 0x1B, 0xC4, 0x46, 0x0, 0x14, 0x80, 0x21, 0x74, 0x8, 0x22, 0x94, 0x48, 0x0, 0xA4, 0x88, 0x19, 0x64, 0xC6, 0x14, 0x14, 0xC0, 0x22, 0x4, 0x40, 0x0, 0x64, 0x46, 0x0, 0xC4, 0x48, 0x0, 0xD4, 0x8, 0x23, 0xE4, 0x48, 0x0, 0x14, 0xC0, 0x23, 0x4, 0xC9, 0x23, 0x4, 0x40, 0x24, 0x24, 0xC9, 0x24, 0x44, 0x9, 0x0, 0x64, 0x87, 0x19, 0x4, 0x40, 0x25, 0x14, 0x80, 0x25, 0x4, 0xC0, 0x21, 0x74, 0x9, 0x21, 0x84, 0x49, 0x26, 0x14, 0x80, 0x26, 0xB4, 0x49, 0x0, 0xC4, 0x49, 0x0, 0xD4, 0x49, 0x1E, 0x24, 0xC7, 0x16, 0xE4, 0xC9, 0x1D, 0xF4, 0x49, 0x0, 0x4, 0x4A, 0x28, 0x24, 0xCA, 0x16, 0x34, 0xA, 0x0, 0x44, 0x8A, 0x17, 0x4, 0x4A, 0x29, 0x4, 0xC0, 0x16, 0x64, 0xA, 0x0, 0x74, 0x8A, 0x17, 0x4, 0xA, 0x2A, 0x74, 0x8, 0x0, 0x4, 0x46, 0x2A, 0xA4, 0xCA, 0x2A, 0xC4, 0xCA, 0x16, 0xD4, 0xA, 0x0, 0xE4, 0x8A, 0x17, 0xF4, 0xA, 0x2C, 0x14, 0xCB, 0x16, 0x24, 0xCB, 0x2C, 0x44, 0xB, 0x0, 0x54, 0xB, 0x0, 0x64, 0x8B, 0x17, 0xF4, 0xCA, 0x2D, 0x84, 0xCB, 0x16, 0xD4, 0xCA, 0x1D, 0x94, 0x8B, 0x17, 0xF4, 0x8A, 0x2E, 0x94, 0xC5, 0x16, 0xB4, 0xB, 0x0, 0x74, 0x4A, 0x0, 0x4, 0x0, 0x2F, 0x14, 0x80, 0x19, 0x4, 0x80, 0x19, 0xC4, 0x4A, 0x1C, 0x14, 0x40, 0x20, 0x4, 0xA, 0x0, 0xD4, 0x8B, 0x2F, 0xF4, 0x4B, 0x0, 0x34, 0x85, 0x2F, 0x4, 0x0, 0x30, 0x34, 0x86, 0x1E, 0x14, 0xC, 0x0, 0x24, 0xC, 0x0, 0x5, 0x0, 0x31, 0x55, 0x8C, 0x31, 0x75, 0xC, 0x0, 0x85, 0x4C, 0x0, 0x95, 0xC, 0x0, 0xA5, 0xCC, 0x32, 0x15, 0x0, 0x33, 0x15, 0x40, 0x33, 0x65, 0x4C, 0x0, 0x15, 0x80, 0x33, 0xF5, 0x4C, 0x0, 0x15, 0x0, 0x34, 0x15, 0x8D, 0x34, 0x5, 0xC0, 0x34, 0x45, 0x4D, 0x0, 0x55, 0x8D, 0x35, 0x75, 0x4D, 0x0, 0x85, 0x4D, 0x0, 0x95, 0x8D, 0x36, 0xB5, 0xD, 0x37, 0xD5, 0x4D, 0x0, 0xE5, 0xCD, 0x37, 0x5, 0x4E, 0x0, 0x15, 0xE, 0x0, 0x25, 0xCE, 0x38, 0x85, 0xC, 0x39, 0x55, 0x8E, 0x39, 0x75, 0xE, 0x0, 0x85, 0x4E, 0x3A, 0x85, 0x4E, 0x0, 0x85, 0x8D, 0x3A, 0xB5, 0xE, 0x0, 0x5, 0x0, 0x3B, 0xD5, 0x4E, 0x0, 0x15, 0x0, 0x0, 0xE5, 0xE, 0x0, 0xF5, 0xE, 0x3C, 0x15, 0x4F, 0x33, 0x5, 0x80, 0x3C, 0x15, 0xC0, 0x3C, 0xD5, 0xC, 0x0, 0x15, 0x0, 0x3D, 0x55, 0x8F, 0x3D, 0x75, 0x4F, 0x0, 0x85, 0x4F, 0x3E, 0x15, 0x0, 0x3E, 0xA5, 0xCF, 0x3E, 0x5, 0x80, 0x4, 0x25, 0x1, 0x3F, 0xB5, 0x4C, 0x0, 0xD5, 0xF, 0x0, 0xE5, 0xF, 0x0, 0x15, 0xCF, 0x3F, 0x5, 0x50, 0x0, 0x15, 0x90, 0x40, 0x5, 0xC0, 0x40, 0x85, 0x8E, 0x3D, 0x5, 0x0, 0x41, 0x15, 0x0, 0x3F, 0x5, 0x40, 0x41, 0x5, 0x4F, 0x0, 0x65, 0x50, 0x33, 0x5, 0x40, 0x31, 0x75, 0x50, 0x0, 0x85, 0x50, 0x42, 0xA5, 0xD0, 0x42, 0x5, 0x80, 0x3E, 0xC5, 0xD0, 0x33, 0xF5, 0x4C, 0x43, 0xE5, 0x50, 0x0, 0x15, 0xC0, 0x43, 0x5, 0x51, 0x0, 0x5, 0x40, 0x44, 0x5, 0x80, 0x44, 0x15, 0xC0, 0x44, 0x15, 0x0, 0x45, 0x55, 0x91, 0x45, 0x15, 0xC0, 0x45, 0x5, 0x0, 0x46, 0x95, 0x91, 0x46, 0xB5, 0x51, 0x0, 0x5, 0x0, 0x47, 0x25, 0x4F, 0x47, 0x5, 0x80, 0x47, 0x5, 0xC0, 0x47, 0x5, 0x52, 0x48, 0x5, 0x40, 0x3B, 0x25, 0x12, 0x3E, 0x5, 0x0, 0x39, 0x35, 0x12, 0x49, 0x55, 0x92, 0x49, 0x75, 0x12, 0x4A, 0x95, 0x92, 0x4A, 0xB5, 0x12, 0x4B, 0xD5, 0x92, 0x4B, 0xF5, 0x12, 0x4C, 0x5, 0x40, 0x4C, 0x25, 0xD3, 0x4C, 0x45, 0x53, 0x4D, 0x65, 0xD3, 0x4D, 0x85, 0x53, 0x4C, 0x65, 0x53, 0x4E, 0xA5, 0xD3, 0x4E, 0xC5, 0x53, 0x4F, 0xE5, 0xD3, 0x4F, 0x5, 0x54, 0x50, 0x25, 0xD4, 0x50, 0x45, 0xD4, 0x38, 0x5, 0x0, 0x38, 0x15, 0x40, 0x51, 0x65, 0x94, 0x42, 0x5, 0xC0, 0x41, 0x75, 0x94, 0x39, 0x85, 0x54, 0x0, 0x15, 0x40, 0x52, 0x15, 0x91, 0x52, 0xB5, 0x14, 0x53, 0xD5, 0x94, 0x53, 0xF5, 0x54, 0x33, 0x5, 0x0, 0x54, 0x5, 0x0, 0x40, 0x15, 0x15, 0x0, 0x35, 0xC, 0x0, 0x26, 0xD5, 0x54, 0x46, 0x15, 0x0, 0x56, 0x55, 0x0, 0x66, 0x15, 0x0, 0x76, 0x15, 0x56, 0x96, 0x95, 0x56, 0xB6, 0x15, 0x57, 0xD6, 0x95, 0x57, 0xF6, 0x55, 0x0, 0x6, 0x56, 0x0, 0x16, 0x96, 0x58, 0x36, 0x16, 0x0, 0x6, 0x0, 0x59, 0x56, 0x96, 0x59, 0x76, 0x16, 0x5A, 0x96, 0x96, 0x5A, 0xB6, 0x16, 0x5B, 0xD6, 0x96, 0x5B, 0xF6, 0x16, 0x5C, 0x16, 0x97, 0x5C, 0x36, 0x17, 0x5D, 0x56, 0x97, 0x5D, 0x76, 0x17, 0x5E, 0x16, 0x40, 0x5E, 0x6, 0x40, 0x0, 0xA6, 0xD7, 0x5E, 0x16, 0x0, 0x5F, 0xD6, 0x97, 0x5F, 0xF6, 0x17, 0x60, 0x16, 0x98, 0x60, 0x36, 0x98, 0x5E, 0x6, 0x0, 0x61, 0x56, 0x18, 0x0, 0x66, 0xD8, 0x61, 0x36, 0x17, 0x62, 0x96, 0x98, 0x62, 0xB6, 0x18, 0x63, 0xD6, 0x98, 0x63, 0xF6, 0x18, 0x64, 0x16, 0x99, 0x64, 0x36, 0x19, 0x5D, 0x46, 0xD9, 0x5B, 0x56, 0x99, 0x65, 0x76, 0x19, 0x66, 0x96, 0x59, 0x0, 0x16, 0xC0, 0x5F, 0x6, 0x80, 0x66, 0xB6, 0x19, 0x67, 0xD6, 0x99, 0x67, 0xF6, 0x59, 0x0, 0x6, 0x0, 0x68, 0x16, 0x9A, 0x68, 0x6, 0xC0, 0x68, 0x46, 0x5A, 0x69, 0x66, 0xDA, 0x69, 0x86, 0x5A, 0x6A, 0xA6, 0xDA, 0x6A, 0xC6, 0x5A, 0x6B, 0xE6, 0xDA, 0x6B, 0x6, 0x5B, 0x6C, 0x26, 0xDB, 0x6C, 0x46, 0x5B, 0x6D, 0x66, 0xDB, 0x6D, 0x86, 0x5B, 0x6E, 0xA6, 0xDB, 0x6E, 0xC6, 0x5B, 0x6F, 0xE6, 0xDB, 0x6F, 0x6, 0x5C, 0x70, 0x26, 0xDC, 0x70, 0x46, 0x5C, 0x71, 0x66, 0x5C, 0x0, 0x76, 0x1C, 0x5D, 0x86, 0x1C, 0x0, 0x6, 0x40, 0x72, 0xA6, 0xDC, 0x72, 0x6, 0x0, 0x73, 0xD7, 0x9C, 0x73, 0xF7, 0x1C, 0x74, 0x17, 0x9D, 0x74, 0x37, 0x1D, 0x75, 0x57, 0x9D, 0x75, 0x77, 0x5D, 0x0, 0x87, 0x5D, 0x76, 0xA7, 0xDD, 0x76, 0xC7, 0x5D, 0x77, 0xE7, 0xDD, 0x77, 0x7, 0x1E, 0x0, 0x17, 0x9E, 0x78, 0x37, 0x5E, 0x0, 0x17, 0x0, 0x79, 0x57, 0x5E, 0x0, 0x67, 0xDE, 0x79, 0x87, 0x5E, 0x7A, 0xA7, 0xDE, 0x7A, 0x7, 0x0, 0x7B, 0xD7, 0x9E, 0x7B, 0xF7, 0x1E, 0x7C, 0x7, 0x40, 0x7C, 0x27, 0xDF, 0x7C, 0x47, 0x5F, 0x7D, 0x67, 0xDF, 0x7D, 0x87, 0x5F, 0x7E, 0x17, 0x80, 0x7E, 0xB7, 0x1F, 0x7F, 0xD7, 0x9F, 0x7F, 0xF7, 0x1F, 0x80, 0x17, 0xA0, 0x80, 0x37, 0x20, 0x81, 0x57, 0xA0, 0x81, 0x77, 0x20, 0x82, 0x97, 0xA0, 0x82, 0xB7, 0x20, 0x83, 0xD7, 0xA0, 0x83, 0xF7, 0x20, 0x84, 0x17, 0xA1, 0x84, 0x37, 0x21, 0x85, 0x57, 0x21, 0x0, 0x67, 0x21, 0x0, 0x77, 0x21, 0x0, 0x87, 0x21, 0x0, 0x98, 0xA1, 0x86, 0xB8, 0x61, 0x0, 0xC8, 0x61, 0x87, 0x18, 0x0, 0x0, 0xE8, 0x61, 0x0, 0xF8, 0x21, 0x88, 0x18, 0xA2, 0x88, 0x38, 0x22, 0x89, 0x18, 0x40, 0x89, 0x18, 0x80, 0x89, 0x78, 0x62, 0x0, 0x88, 0x62, 0x8A, 0xA8, 0x22, 0x0, 0xB8, 0x22, 0x0, 0x8, 0x0, 0x8B, 0xD8, 0xA2, 0x8B, 0xF8, 0x22, 0x8C, 0x18, 0xA3, 0x8C, 0x18, 0xC0, 0x8C, 0x48, 0x63, 0x8D, 0x18, 0x80, 0x8D, 0x78, 0x23, 0x8E, 0x98, 0xA3, 0x8E, 0xB8, 0x23, 0x8F, 0xD8, 0xA3, 0x8F, 0xF8, 0x23, 0x90, 0x18, 0x24, 0x0, 0x8, 0x80, 0x90, 0x38, 0x24, 0x91, 0x59, 0xA4, 0x91, 0x79, 0x24, 0x92, 0x99, 0x64, 0x0, 0xA9, 0xE4, 0x92, 0xC9, 0x64, 0x93, 0x19, 0x80, 0x93, 0x19, 0xC0, 0x93, 0x9, 0x0, 0x94, 0x9, 0x40, 0x94, 0x9, 0x80, 0x94, 0x9, 0xC0, 0x94, 0x49, 0x65, 0x95, 0x69, 0xE5, 0x95, 0x89, 0x65, 0x96, 0xA9, 0xE5, 0x96, 0xC9, 0x65, 0x97, 0xE9, 0xE5, 0x97, 0x9, 0x66, 0x98, 0x2A, 0xE6, 0x98, 0x4A, 0x66, 0x0, 0x1A, 0x40, 0x99, 0x6A, 0xE6, 0x99, 0x8A, 0x66, 0x0, 0x1A, 0x40, 0x9A, 0xAA, 0x26, 0x0, 0xA, 0xC0, 0x9A, 0xCA, 0x66, 0x9B, 0xEA, 0xE6, 0x9B, 0xA, 0x67, 0x9C, 0x2A, 0xE7, 0x9C, 0x4B, 0x27, 0x0, 0xB, 0x40, 0x9D, 0x6B, 0xE7, 0x9D, 0x8B, 0x67, 0x0, 0x1B, 0x40, 0x9E, 0xAB, 0xE7, 0x9E, 0xCB, 0x67, 0x9F, 0xEB, 0xE7, 0x9F, 0xC, 0x28, 0x0, 0x1C, 0x68, 0x0, 0x1C, 0x80, 0xA0, 0x1C, 0xC0, 0xA0, 0x4C, 0x68, 0xA1, 0x6C, 0xE8, 0xA1, 0x8D, 0x68, 0xA2, 0xAD, 0x68, 0x0, 0x1D, 0xC0, 0xA2, 0xCD, 0x68, 0xA3, 0xEE, 0xE8, 0xA3, 0xE, 0x69, 0xA4, 0x2F, 0xE9, 0xA4, }; + private static ReadOnlySpan SerializedCategory4_OtherLetter => [0x3, 0x4, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x40, 0x0, 0x10, 0x0, 0x0, 0x1, 0x80, 0x0, 0x11, 0x0, 0x0, 0x21, 0x40, 0x0, 0x1, 0x40, 0x0, 0x11, 0xC0, 0x0, 0x11, 0x80, 0x0, 0x31, 0x0, 0x0, 0x31, 0x40, 0x0, 0x21, 0x0, 0x0, 0x21, 0xC0, 0x0, 0x1, 0xC0, 0x0, 0x31, 0x80, 0x0, 0x42, 0x40, 0x1, 0x12, 0x40, 0x1, 0x62, 0x40, 0x0, 0x72, 0x40, 0x0, 0x12, 0x0, 0x2, 0x52, 0x0, 0x0, 0x42, 0x40, 0x0, 0x92, 0x40, 0x0, 0x2, 0x40, 0x0, 0x12, 0x80, 0x2, 0x2, 0xC0, 0x1, 0x92, 0xC0, 0x2, 0x22, 0x40, 0x0, 0x12, 0x40, 0x2, 0x32, 0x0, 0x0, 0x2, 0x80, 0x1, 0x62, 0x0, 0x2, 0x2, 0x0, 0x3, 0x42, 0x80, 0x2, 0x2, 0x80, 0x0, 0x72, 0x0, 0x2, 0xD2, 0x80, 0x3, 0x52, 0x0, 0x3, 0x12, 0x80, 0x1, 0x2, 0x0, 0x1, 0x62, 0x40, 0x1, 0xF2, 0x40, 0x0, 0x12, 0x0, 0x0, 0xD2, 0x80, 0x2, 0xA2, 0x0, 0x0, 0xC2, 0x0, 0x0, 0x2, 0x40, 0x1, 0x82, 0x0, 0x0, 0xA2, 0x80, 0x1, 0x42, 0x0, 0x0, 0xD2, 0x40, 0x0, 0x92, 0x0, 0x2, 0x72, 0x40, 0x2, 0x82, 0x0, 0x1, 0x72, 0x40, 0x1, 0xE2, 0x0, 0x0, 0x2, 0x40, 0x2, 0x32, 0x40, 0x0, 0x92, 0x40, 0x3, 0xE2, 0x40, 0x0, 0x12, 0xC0, 0x2, 0x62, 0x0, 0x0, 0xE2, 0x80, 0x1, 0x2, 0x40, 0x3, 0xD2, 0x0, 0x0, 0xE2, 0xC0, 0x1, 0x82, 0x40, 0x0, 0x52, 0x80, 0x1, 0x82, 0x80, 0x2, 0x2, 0x80, 0x3, 0xB2, 0x0, 0x0, 0x82, 0x40, 0x2, 0x12, 0xC0, 0x3, 0xB2, 0x40, 0x0, 0x22, 0x0, 0x2, 0xD2, 0x40, 0x2, 0x52, 0x80, 0x0, 0xF2, 0x40, 0x1, 0x2, 0x80, 0x2, 0x3, 0x41, 0x4, 0x23, 0x41, 0x0, 0x33, 0x41, 0x0, 0x13, 0x0, 0x5, 0x13, 0x40, 0x5, 0x63, 0x41, 0x0, 0x13, 0xC0, 0x5, 0x83, 0x41, 0x0, 0x3, 0x40, 0x0, 0x13, 0x40, 0x4, 0x13, 0x40, 0x6, 0x3, 0x80, 0x6, 0x13, 0xC0, 0x6, 0xC3, 0x81, 0x4, 0xD3, 0x41, 0x0, 0xE3, 0x1, 0x0, 0xA3, 0x41, 0x0, 0x93, 0x81, 0x4, 0x3, 0x0, 0x6, 0x3, 0xC0, 0x7, 0x3, 0x0, 0x8, 0x3, 0x40, 0x8, 0xF3, 0x41, 0x0, 0x23, 0x2, 0x0, 0x3, 0xC0, 0x8, 0x43, 0x42, 0x9, 0x63, 0x2, 0x8, 0x83, 0xC1, 0x9, 0x83, 0x42, 0x0, 0x93, 0x2, 0x0, 0x13, 0x80, 0xA, 0x13, 0xC0, 0xA, 0x3, 0x80, 0x4, 0x3, 0xC0, 0x4, 0x13, 0x1, 0x0, 0xC3, 0x42, 0x4, 0x73, 0xC2, 0x2, 0x93, 0x41, 0xB, 0xD3, 0x2, 0x0, 0xE3, 0x2, 0x0, 0xF3, 0x2, 0x0, 0x13, 0x0, 0xC, 0x13, 0x43, 0x0, 0xD3, 0x82, 0x4, 0x23, 0x3, 0x0, 0x3, 0x80, 0xB, 0x83, 0x2, 0xC, 0x13, 0xC2, 0xC, 0x43, 0x3, 0x0, 0x3, 0x3, 0x0, 0x53, 0x1, 0xA, 0x63, 0x1, 0xC, 0x3, 0x80, 0x5, 0x33, 0x42, 0x0, 0x13, 0xC0, 0x9, 0x3, 0x0, 0xA, 0x73, 0x41, 0x0, 0xD3, 0x82, 0x6, 0x83, 0x2, 0x5, 0xA3, 0x42, 0x0, 0x13, 0x40, 0xD, 0x13, 0x80, 0x4, 0x23, 0x41, 0xD, 0x53, 0x43, 0x0, 0x53, 0x83, 0x4, 0xE3, 0x82, 0x6, 0x13, 0x80, 0xD, 0x53, 0x41, 0x9, 0x73, 0xC3, 0x4, 0x63, 0x1, 0x0, 0x43, 0x41, 0x0, 0xB3, 0x2, 0x0, 0x83, 0x43, 0xE, 0x13, 0x80, 0xE, 0x73, 0xC2, 0xE, 0x3, 0x40, 0xE, 0xC3, 0x43, 0xF, 0x13, 0x81, 0x4, 0xD3, 0x82, 0xF, 0xF3, 0x43, 0x0, 0x13, 0x40, 0x7, 0x73, 0xC1, 0xA, 0x3, 0x0, 0x10, 0x13, 0x4, 0x0, 0x23, 0xC4, 0x10, 0x73, 0x81, 0xD, 0xF3, 0x3, 0x0, 0x23, 0x44, 0x0, 0x73, 0x1, 0xC, 0x43, 0x84, 0x8, 0xB3, 0x43, 0xD, 0x43, 0x44, 0x11, 0x3, 0x80, 0x11, 0x73, 0x4, 0x0, 0x23, 0x4, 0x12, 0x13, 0x40, 0x12, 0xA3, 0x2, 0xC, 0x63, 0x4, 0x0, 0x13, 0x40, 0xF, 0xA3, 0x4, 0xC, 0x3, 0x0, 0x4, 0xB3, 0x4, 0x0, 0xA3, 0x1, 0x13, 0x13, 0x3, 0xC, 0x23, 0x83, 0x6, 0x23, 0x44, 0x13, 0xA3, 0x82, 0xD, 0x13, 0x0, 0xA, 0x3, 0x42, 0x0, 0xE3, 0x4, 0x0, 0x53, 0x1, 0x0, 0x3, 0x0, 0xF, 0xF3, 0x1, 0x5, 0x3, 0x80, 0xC, 0xF3, 0x4, 0x0, 0x13, 0x2, 0x0, 0x4, 0x45, 0x4, 0x14, 0x45, 0x0, 0x24, 0x45, 0x0, 0x34, 0x5, 0x15, 0x54, 0x45, 0x0, 0x64, 0x5, 0x0, 0x74, 0x5, 0x0, 0x4, 0x0, 0x16, 0x94, 0x45, 0x0, 0x14, 0x0, 0x0, 0xA4, 0x5, 0x0, 0xB4, 0x45, 0x0, 0x14, 0x0, 0x17, 0xD4, 0x85, 0x17, 0xF4, 0x5, 0x0, 0x4, 0x46, 0x0, 0x14, 0x80, 0x14, 0x74, 0x45, 0x0, 0x14, 0x40, 0x18, 0x14, 0x80, 0x18, 0x4, 0xC0, 0x18, 0x4, 0x80, 0x4, 0x44, 0x6, 0x8, 0x54, 0x86, 0x19, 0x74, 0x6, 0x1A, 0x94, 0x46, 0x0, 0xA4, 0x46, 0x0, 0x4, 0xC0, 0x1A, 0x4, 0x0, 0x1B, 0xD4, 0x86, 0x1B, 0x34, 0x46, 0x0, 0x14, 0xC0, 0x1B, 0x4, 0x0, 0x1C, 0x14, 0x40, 0x1C, 0x14, 0x80, 0x1C, 0x34, 0x7, 0x0, 0x24, 0x46, 0x0, 0x14, 0x40, 0x16, 0x14, 0x0, 0x1D, 0x54, 0x7, 0x0, 0x4, 0x80, 0x1D, 0x4, 0x40, 0x1C, 0x4, 0xC0, 0x1D, 0x4, 0x0, 0x1E, 0x14, 0xC0, 0x15, 0x84, 0x45, 0x0, 0x4, 0x40, 0x15, 0x64, 0x45, 0x0, 0x4, 0x40, 0x14, 0x34, 0x45, 0x0, 0x14, 0x40, 0x1E, 0xA4, 0x47, 0x0, 0x14, 0xC0, 0x14, 0xB4, 0x47, 0x0, 0xC4, 0x7, 0x0, 0x4, 0x40, 0x1F, 0x4, 0x47, 0x0, 0xE4, 0x7, 0x0, 0xF4, 0x7, 0x20, 0x24, 0x47, 0x20, 0x4, 0x80, 0x18, 0x24, 0x87, 0x20, 0x14, 0x80, 0x16, 0x4, 0xC0, 0x20, 0x44, 0x48, 0x0, 0x4, 0x0, 0x18, 0x44, 0x88, 0x14, 0x14, 0x47, 0x0, 0x14, 0x40, 0x21, 0x14, 0x80, 0x1B, 0xC4, 0x46, 0x0, 0x14, 0x80, 0x21, 0x74, 0x8, 0x22, 0x94, 0x48, 0x0, 0xA4, 0x88, 0x19, 0x64, 0xC6, 0x14, 0x14, 0xC0, 0x22, 0x4, 0x40, 0x0, 0x64, 0x46, 0x0, 0xC4, 0x48, 0x0, 0xD4, 0x8, 0x23, 0xE4, 0x48, 0x0, 0x14, 0xC0, 0x23, 0x4, 0xC9, 0x23, 0x4, 0x40, 0x24, 0x24, 0xC9, 0x24, 0x44, 0x9, 0x0, 0x64, 0x87, 0x19, 0x4, 0x40, 0x25, 0x14, 0x80, 0x25, 0x4, 0xC0, 0x21, 0x74, 0x9, 0x21, 0x84, 0x49, 0x26, 0x14, 0x80, 0x26, 0xB4, 0x49, 0x0, 0xC4, 0x49, 0x0, 0xD4, 0x49, 0x1E, 0x24, 0xC7, 0x16, 0xE4, 0xC9, 0x1D, 0xF4, 0x49, 0x0, 0x4, 0x4A, 0x28, 0x24, 0xCA, 0x16, 0x34, 0xA, 0x0, 0x44, 0x8A, 0x17, 0x4, 0x4A, 0x29, 0x4, 0xC0, 0x16, 0x64, 0xA, 0x0, 0x74, 0x8A, 0x17, 0x4, 0xA, 0x2A, 0x74, 0x8, 0x0, 0x4, 0x46, 0x2A, 0xA4, 0xCA, 0x2A, 0xC4, 0xCA, 0x16, 0xD4, 0xA, 0x0, 0xE4, 0x8A, 0x17, 0xF4, 0xA, 0x2C, 0x14, 0xCB, 0x16, 0x24, 0xCB, 0x2C, 0x44, 0xB, 0x0, 0x54, 0xB, 0x0, 0x64, 0x8B, 0x17, 0xF4, 0xCA, 0x2D, 0x84, 0xCB, 0x16, 0xD4, 0xCA, 0x1D, 0x94, 0x8B, 0x17, 0xF4, 0x8A, 0x2E, 0x94, 0xC5, 0x16, 0xB4, 0xB, 0x0, 0x74, 0x4A, 0x0, 0x4, 0x0, 0x2F, 0x14, 0x80, 0x19, 0x4, 0x80, 0x19, 0xC4, 0x4A, 0x1C, 0x14, 0x40, 0x20, 0x4, 0xA, 0x0, 0xD4, 0x8B, 0x2F, 0xF4, 0x4B, 0x0, 0x34, 0x85, 0x2F, 0x4, 0x0, 0x30, 0x34, 0x86, 0x1E, 0x14, 0xC, 0x0, 0x24, 0xC, 0x0, 0x5, 0x0, 0x31, 0x55, 0x8C, 0x31, 0x75, 0xC, 0x0, 0x85, 0x4C, 0x0, 0x95, 0xC, 0x0, 0xA5, 0xCC, 0x32, 0x15, 0x0, 0x33, 0x15, 0x40, 0x33, 0x65, 0x4C, 0x0, 0x15, 0x80, 0x33, 0xF5, 0x4C, 0x0, 0x15, 0x0, 0x34, 0x15, 0x8D, 0x34, 0x5, 0xC0, 0x34, 0x45, 0x4D, 0x0, 0x55, 0x8D, 0x35, 0x75, 0x4D, 0x0, 0x85, 0x4D, 0x0, 0x95, 0x8D, 0x36, 0xB5, 0xD, 0x37, 0xD5, 0x4D, 0x0, 0xE5, 0xCD, 0x37, 0x5, 0x4E, 0x0, 0x15, 0xE, 0x0, 0x25, 0xCE, 0x38, 0x85, 0xC, 0x39, 0x55, 0x8E, 0x39, 0x75, 0xE, 0x0, 0x85, 0x4E, 0x3A, 0x85, 0x4E, 0x0, 0x85, 0x8D, 0x3A, 0xB5, 0xE, 0x0, 0x5, 0x0, 0x3B, 0xD5, 0x4E, 0x0, 0x15, 0x0, 0x0, 0xE5, 0xE, 0x0, 0xF5, 0xE, 0x3C, 0x15, 0x4F, 0x33, 0x5, 0x80, 0x3C, 0x15, 0xC0, 0x3C, 0xD5, 0xC, 0x0, 0x15, 0x0, 0x3D, 0x55, 0x8F, 0x3D, 0x75, 0x4F, 0x0, 0x85, 0x4F, 0x3E, 0x15, 0x0, 0x3E, 0xA5, 0xCF, 0x3E, 0x5, 0x80, 0x4, 0x25, 0x1, 0x3F, 0xB5, 0x4C, 0x0, 0xD5, 0xF, 0x0, 0xE5, 0xF, 0x0, 0x15, 0xCF, 0x3F, 0x5, 0x50, 0x0, 0x15, 0x90, 0x40, 0x5, 0xC0, 0x40, 0x85, 0x8E, 0x3D, 0x5, 0x0, 0x41, 0x15, 0x0, 0x3F, 0x5, 0x40, 0x41, 0x5, 0x4F, 0x0, 0x65, 0x50, 0x33, 0x5, 0x40, 0x31, 0x75, 0x50, 0x0, 0x85, 0x50, 0x42, 0xA5, 0xD0, 0x42, 0x5, 0x80, 0x3E, 0xC5, 0xD0, 0x33, 0xF5, 0x4C, 0x43, 0xE5, 0x50, 0x0, 0x15, 0xC0, 0x43, 0x5, 0x51, 0x0, 0x5, 0x40, 0x44, 0x5, 0x80, 0x44, 0x15, 0xC0, 0x44, 0x15, 0x0, 0x45, 0x55, 0x91, 0x45, 0x15, 0xC0, 0x45, 0x5, 0x0, 0x46, 0x95, 0x91, 0x46, 0xB5, 0x51, 0x0, 0x5, 0x0, 0x47, 0x25, 0x4F, 0x47, 0x5, 0x80, 0x47, 0x5, 0xC0, 0x47, 0x5, 0x52, 0x48, 0x5, 0x40, 0x3B, 0x25, 0x12, 0x3E, 0x5, 0x0, 0x39, 0x35, 0x12, 0x49, 0x55, 0x92, 0x49, 0x75, 0x12, 0x4A, 0x95, 0x92, 0x4A, 0xB5, 0x12, 0x4B, 0xD5, 0x92, 0x4B, 0xF5, 0x12, 0x4C, 0x5, 0x40, 0x4C, 0x25, 0xD3, 0x4C, 0x45, 0x53, 0x4D, 0x65, 0xD3, 0x4D, 0x85, 0x53, 0x4C, 0x65, 0x53, 0x4E, 0xA5, 0xD3, 0x4E, 0xC5, 0x53, 0x4F, 0xE5, 0xD3, 0x4F, 0x5, 0x54, 0x50, 0x25, 0xD4, 0x50, 0x45, 0xD4, 0x38, 0x5, 0x0, 0x38, 0x15, 0x40, 0x51, 0x65, 0x94, 0x42, 0x5, 0xC0, 0x41, 0x75, 0x94, 0x39, 0x85, 0x54, 0x0, 0x15, 0x40, 0x52, 0x15, 0x91, 0x52, 0xB5, 0x14, 0x53, 0xD5, 0x94, 0x53, 0xF5, 0x54, 0x33, 0x5, 0x0, 0x54, 0x5, 0x0, 0x40, 0x15, 0x15, 0x0, 0x35, 0xC, 0x0, 0x26, 0xD5, 0x54, 0x46, 0x15, 0x0, 0x56, 0x55, 0x0, 0x66, 0x15, 0x0, 0x76, 0x15, 0x56, 0x96, 0x95, 0x56, 0xB6, 0x15, 0x57, 0xD6, 0x95, 0x57, 0xF6, 0x55, 0x0, 0x6, 0x56, 0x0, 0x16, 0x96, 0x58, 0x36, 0x16, 0x0, 0x6, 0x0, 0x59, 0x56, 0x96, 0x59, 0x76, 0x16, 0x5A, 0x96, 0x96, 0x5A, 0xB6, 0x16, 0x5B, 0xD6, 0x96, 0x5B, 0xF6, 0x16, 0x5C, 0x16, 0x97, 0x5C, 0x36, 0x17, 0x5D, 0x56, 0x97, 0x5D, 0x76, 0x17, 0x5E, 0x16, 0x40, 0x5E, 0x6, 0x40, 0x0, 0xA6, 0xD7, 0x5E, 0x16, 0x0, 0x5F, 0xD6, 0x97, 0x5F, 0xF6, 0x17, 0x60, 0x16, 0x98, 0x60, 0x36, 0x98, 0x5E, 0x6, 0x0, 0x61, 0x56, 0x18, 0x0, 0x66, 0xD8, 0x61, 0x36, 0x17, 0x62, 0x96, 0x98, 0x62, 0xB6, 0x18, 0x63, 0xD6, 0x98, 0x63, 0xF6, 0x18, 0x64, 0x16, 0x99, 0x64, 0x36, 0x19, 0x5D, 0x46, 0xD9, 0x5B, 0x56, 0x99, 0x65, 0x76, 0x19, 0x66, 0x96, 0x59, 0x0, 0x16, 0xC0, 0x5F, 0x6, 0x80, 0x66, 0xB6, 0x19, 0x67, 0xD6, 0x99, 0x67, 0xF6, 0x59, 0x0, 0x6, 0x0, 0x68, 0x16, 0x9A, 0x68, 0x6, 0xC0, 0x68, 0x46, 0x5A, 0x69, 0x66, 0xDA, 0x69, 0x86, 0x5A, 0x6A, 0xA6, 0xDA, 0x6A, 0xC6, 0x5A, 0x6B, 0xE6, 0xDA, 0x6B, 0x6, 0x5B, 0x6C, 0x26, 0xDB, 0x6C, 0x46, 0x5B, 0x6D, 0x66, 0xDB, 0x6D, 0x86, 0x5B, 0x6E, 0xA6, 0xDB, 0x6E, 0xC6, 0x5B, 0x6F, 0xE6, 0xDB, 0x6F, 0x6, 0x5C, 0x70, 0x26, 0xDC, 0x70, 0x46, 0x5C, 0x71, 0x66, 0x5C, 0x0, 0x76, 0x1C, 0x5D, 0x86, 0x1C, 0x0, 0x6, 0x40, 0x72, 0xA6, 0xDC, 0x72, 0x6, 0x0, 0x73, 0xD7, 0x9C, 0x73, 0xF7, 0x1C, 0x74, 0x17, 0x9D, 0x74, 0x37, 0x1D, 0x75, 0x57, 0x9D, 0x75, 0x77, 0x5D, 0x0, 0x87, 0x5D, 0x76, 0xA7, 0xDD, 0x76, 0xC7, 0x5D, 0x77, 0xE7, 0xDD, 0x77, 0x7, 0x1E, 0x0, 0x17, 0x9E, 0x78, 0x37, 0x5E, 0x0, 0x17, 0x0, 0x79, 0x57, 0x5E, 0x0, 0x67, 0xDE, 0x79, 0x87, 0x5E, 0x7A, 0xA7, 0xDE, 0x7A, 0x7, 0x0, 0x7B, 0xD7, 0x9E, 0x7B, 0xF7, 0x1E, 0x7C, 0x7, 0x40, 0x7C, 0x27, 0xDF, 0x7C, 0x47, 0x5F, 0x7D, 0x67, 0xDF, 0x7D, 0x87, 0x5F, 0x7E, 0x17, 0x80, 0x7E, 0xB7, 0x1F, 0x7F, 0xD7, 0x9F, 0x7F, 0xF7, 0x1F, 0x80, 0x17, 0xA0, 0x80, 0x37, 0x20, 0x81, 0x57, 0xA0, 0x81, 0x77, 0x20, 0x82, 0x97, 0xA0, 0x82, 0xB7, 0x20, 0x83, 0xD7, 0xA0, 0x83, 0xF7, 0x20, 0x84, 0x17, 0xA1, 0x84, 0x37, 0x21, 0x85, 0x57, 0x21, 0x0, 0x67, 0x21, 0x0, 0x77, 0x21, 0x0, 0x87, 0x21, 0x0, 0x98, 0xA1, 0x86, 0xB8, 0x61, 0x0, 0xC8, 0x61, 0x87, 0x18, 0x0, 0x0, 0xE8, 0x61, 0x0, 0xF8, 0x21, 0x88, 0x18, 0xA2, 0x88, 0x38, 0x22, 0x89, 0x18, 0x40, 0x89, 0x18, 0x80, 0x89, 0x78, 0x62, 0x0, 0x88, 0x62, 0x8A, 0xA8, 0x22, 0x0, 0xB8, 0x22, 0x0, 0x8, 0x0, 0x8B, 0xD8, 0xA2, 0x8B, 0xF8, 0x22, 0x8C, 0x18, 0xA3, 0x8C, 0x18, 0xC0, 0x8C, 0x48, 0x63, 0x8D, 0x18, 0x80, 0x8D, 0x78, 0x23, 0x8E, 0x98, 0xA3, 0x8E, 0xB8, 0x23, 0x8F, 0xD8, 0xA3, 0x8F, 0xF8, 0x23, 0x90, 0x18, 0x24, 0x0, 0x8, 0x80, 0x90, 0x38, 0x24, 0x91, 0x59, 0xA4, 0x91, 0x79, 0x24, 0x92, 0x99, 0x64, 0x0, 0xA9, 0xE4, 0x92, 0xC9, 0x64, 0x93, 0x19, 0x80, 0x93, 0x19, 0xC0, 0x93, 0x9, 0x0, 0x94, 0x9, 0x40, 0x94, 0x9, 0x80, 0x94, 0x9, 0xC0, 0x94, 0x49, 0x65, 0x95, 0x69, 0xE5, 0x95, 0x89, 0x65, 0x96, 0xA9, 0xE5, 0x96, 0xC9, 0x65, 0x97, 0xE9, 0xE5, 0x97, 0x9, 0x66, 0x98, 0x2A, 0xE6, 0x98, 0x4A, 0x66, 0x0, 0x1A, 0x40, 0x99, 0x6A, 0xE6, 0x99, 0x8A, 0x66, 0x0, 0x1A, 0x40, 0x9A, 0xAA, 0x26, 0x0, 0xA, 0xC0, 0x9A, 0xCA, 0x66, 0x9B, 0xEA, 0xE6, 0x9B, 0xA, 0x67, 0x9C, 0x2A, 0xE7, 0x9C, 0x4B, 0x27, 0x0, 0xB, 0x40, 0x9D, 0x6B, 0xE7, 0x9D, 0x8B, 0x67, 0x0, 0x1B, 0x40, 0x9E, 0xAB, 0xE7, 0x9E, 0xCB, 0x67, 0x9F, 0xEB, 0xE7, 0x9F, 0xC, 0x28, 0x0, 0x1C, 0x68, 0x0, 0x1C, 0x80, 0xA0, 0x1C, 0xC0, 0xA0, 0x4C, 0x68, 0xA1, 0x6C, 0xE8, 0xA1, 0x8D, 0x68, 0xA2, 0xAD, 0x68, 0x0, 0x1D, 0xC0, 0xA2, 0xCD, 0x68, 0xA3, 0xEE, 0xE8, 0xA3, 0xE, 0x69, 0xA4, 0x2F, 0xE9, 0xA4]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.NonSpacingMark. - private static ReadOnlySpan SerializedCategory5_NonSpacingMark => new byte[] { 0x3, 0x4, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x40, 0x0, 0x10, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1, 0xC0, 0x0, 0x1, 0x80, 0x0, 0x1, 0x40, 0x0, 0x11, 0x0, 0x0, 0x31, 0x80, 0x0, 0x11, 0x80, 0x0, 0x31, 0x0, 0x0, 0x21, 0xC0, 0x0, 0x21, 0x40, 0x0, 0x11, 0xC0, 0x0, 0x31, 0x40, 0x0, 0x42, 0x0, 0x0, 0x52, 0x80, 0x1, 0x52, 0x0, 0x0, 0x72, 0x0, 0x0, 0x2, 0x40, 0x1, 0x82, 0x80, 0x1, 0x92, 0x80, 0x2, 0x62, 0x0, 0x0, 0x2, 0xC0, 0x2, 0xD2, 0x80, 0x3, 0x82, 0xC0, 0x2, 0x2, 0x40, 0x3, 0x2, 0xC0, 0x1, 0xB2, 0x0, 0x0, 0x72, 0x40, 0x0, 0x82, 0x0, 0x0, 0xC2, 0x0, 0x0, 0x12, 0x0, 0x0, 0x2, 0x0, 0x3, 0x72, 0x0, 0x2, 0x2, 0x80, 0x1, 0xE2, 0x40, 0x1, 0x62, 0x40, 0x0, 0x12, 0x80, 0x2, 0x12, 0x40, 0x3, 0x82, 0x40, 0x0, 0x32, 0xC0, 0x1, 0x72, 0xC0, 0x3, 0x2, 0x40, 0x0, 0x12, 0xC0, 0x2, 0x2, 0x0, 0x1, 0x62, 0x40, 0x3, 0xA2, 0x0, 0x0, 0xD2, 0x40, 0x0, 0xF2, 0x40, 0x0, 0x92, 0x40, 0x0, 0xE2, 0x80, 0x0, 0x2, 0x40, 0x2, 0x2, 0x80, 0x3, 0xB2, 0x40, 0x3, 0xF2, 0xC0, 0x2, 0x12, 0x80, 0x3, 0xF2, 0x0, 0x0, 0x2, 0x0, 0x2, 0x62, 0x0, 0x2, 0xE2, 0x0, 0x0, 0xC2, 0x0, 0x1, 0x62, 0x80, 0x3, 0x82, 0xC0, 0x1, 0xA2, 0x40, 0x0, 0x32, 0x0, 0x0, 0x12, 0x40, 0x1, 0x22, 0x0, 0x2, 0x62, 0xC0, 0x2, 0x92, 0x0, 0x0, 0x72, 0x80, 0x2, 0x12, 0x0, 0x2, 0xF2, 0x80, 0x3, 0x52, 0xC0, 0x1, 0x72, 0x40, 0x2, 0xB2, 0x0, 0x3, 0x62, 0x0, 0x1, 0x12, 0xC0, 0x3, 0x72, 0x80, 0x3, 0xE2, 0x40, 0x0, 0xF2, 0x0, 0x3, 0x3, 0x1, 0x0, 0x13, 0x81, 0x4, 0x3, 0x0, 0x4, 0x33, 0x1, 0x0, 0x3, 0x0, 0x5, 0x53, 0x81, 0x5, 0x73, 0x1, 0x0, 0x73, 0x1, 0x6, 0x3, 0x0, 0x3, 0x93, 0x1, 0x0, 0x3, 0x80, 0x4, 0x73, 0x80, 0x6, 0x3, 0xC0, 0x6, 0x3, 0x0, 0x7, 0x13, 0x40, 0x7, 0xE3, 0xC1, 0x7, 0xD3, 0x1, 0x7, 0x3, 0xC0, 0x4, 0x73, 0x1, 0x8, 0x83, 0x1, 0x1, 0xF3, 0x1, 0x0, 0xE3, 0x41, 0x8, 0xD3, 0x1, 0x0, 0x23, 0x2, 0x0, 0x33, 0x2, 0x0, 0x3, 0x0, 0x9, 0x13, 0x40, 0x9, 0x63, 0x42, 0x0, 0xC3, 0xC1, 0x5, 0x13, 0xC1, 0x9, 0x13, 0x0, 0xA, 0x3, 0x40, 0xA, 0x13, 0x2, 0x0, 0xA3, 0x2, 0x4, 0xB3, 0xC2, 0x8, 0x3, 0x0, 0xB, 0xD3, 0x2, 0x0, 0x3, 0x80, 0xB, 0xF3, 0x2, 0xC, 0x13, 0x43, 0x0, 0x23, 0x43, 0x0, 0x33, 0x43, 0xB, 0x63, 0x2, 0xD, 0x13, 0x3, 0x4, 0x53, 0x43, 0x7, 0x63, 0x83, 0xB, 0x43, 0xC2, 0xD, 0x43, 0x1, 0x0, 0x3, 0x0, 0x8, 0x83, 0x3, 0x0, 0x23, 0x1, 0xB, 0x93, 0x3, 0x4, 0xE3, 0x81, 0xE, 0x3, 0xC0, 0xE, 0x3, 0x0, 0xF, 0xD3, 0x3, 0x0, 0x23, 0x1, 0x0, 0x23, 0x81, 0xF, 0x3, 0xC0, 0xF, 0x3, 0x4, 0x0, 0xC3, 0xC0, 0x9, 0x93, 0x43, 0x0, 0xD3, 0x43, 0x10, 0x13, 0x43, 0xE, 0x43, 0x81, 0x10, 0xC3, 0x1, 0x0, 0x13, 0x3, 0x0, 0x63, 0xC2, 0x10, 0x13, 0x43, 0x7, 0xB3, 0xC1, 0x10, 0x3, 0x0, 0x11, 0xE3, 0x2, 0x0, 0x23, 0xC1, 0xF, 0x53, 0x4, 0x0, 0x33, 0x1, 0x4, 0x63, 0x4, 0x0, 0x73, 0x44, 0x5, 0x3, 0x3, 0x0, 0x3, 0x80, 0x1, 0x23, 0x1, 0x9, 0x83, 0x4, 0x0, 0x13, 0x41, 0x12, 0x3, 0x80, 0x8, 0x3, 0x80, 0x12, 0xB3, 0x4, 0x13, 0x3, 0x40, 0xE, 0x13, 0x41, 0xE, 0xD3, 0x4, 0x0, 0x13, 0x80, 0x13, 0x13, 0x0, 0x0, 0x63, 0x3, 0x0, 0xF3, 0x4, 0x14, 0xE3, 0xC4, 0x7, 0x13, 0xC0, 0x7, 0xB3, 0x41, 0x0, 0x73, 0xC4, 0xC, 0x33, 0xC3, 0x7, 0x3, 0x40, 0x14, 0x13, 0x40, 0xE, 0x3, 0x40, 0xB, 0x4, 0x40, 0x0, 0x24, 0x5, 0x0, 0x4, 0xC0, 0x14, 0x44, 0x45, 0x15, 0x4, 0x80, 0x15, 0x74, 0x5, 0x0, 0x84, 0x5, 0x0, 0x4, 0x40, 0x16, 0xA4, 0xC5, 0x16, 0x4, 0x0, 0x17, 0xD4, 0x5, 0x0, 0x4, 0x80, 0x17, 0xF4, 0x5, 0x18, 0x4, 0x40, 0x18, 0x24, 0x46, 0x0, 0x4, 0xC0, 0x18, 0x4, 0x0, 0x19, 0x4, 0x40, 0x19, 0xF4, 0x5, 0x0, 0x64, 0x6, 0x0, 0x74, 0x6, 0x1A, 0x94, 0x6, 0x0, 0x4, 0x80, 0x1A, 0x84, 0x6, 0x0, 0xF4, 0x5, 0x1A, 0xB4, 0x6, 0x1B, 0xD4, 0x6, 0x0, 0xE4, 0xC6, 0x1B, 0x4, 0x7, 0x0, 0x14, 0x87, 0x1C, 0xF4, 0xC5, 0x1C, 0x4, 0x0, 0x1D, 0x4, 0xC0, 0x17, 0x54, 0x87, 0x1D, 0x4, 0xC0, 0x1D, 0x84, 0x7, 0x0, 0x4, 0x40, 0x1D, 0x4, 0x40, 0x1E, 0xA4, 0x7, 0x0, 0xB4, 0x7, 0x1F, 0xD4, 0x7, 0x0, 0xE4, 0x7, 0x0, 0xF4, 0x7, 0x20, 0x4, 0x40, 0x20, 0x4, 0x80, 0x20, 0x4, 0xC0, 0x20, 0x44, 0x48, 0x21, 0x64, 0x8, 0x0, 0x74, 0x8, 0x0, 0x84, 0x8, 0x0, 0x94, 0x8, 0x0, 0xA4, 0xC8, 0x22, 0xC4, 0xC8, 0x1A, 0xD4, 0x8, 0x0, 0xE4, 0x48, 0x22, 0x4, 0x0, 0x15, 0xD4, 0x46, 0x0, 0xF4, 0x8, 0x24, 0x14, 0x9, 0x0, 0x24, 0x9, 0x0, 0x34, 0x9, 0x0, 0x4, 0x0, 0x25, 0x54, 0x9, 0x0, 0x4, 0x80, 0x25, 0x74, 0x9, 0x0, 0x84, 0x49, 0x26, 0x4, 0xC0, 0x21, 0x4, 0x80, 0x26, 0xB4, 0x9, 0x0, 0x4, 0x0, 0x27, 0xD4, 0x9, 0x0, 0x24, 0x88, 0x27, 0xF4, 0x9, 0x0, 0x4, 0x0, 0x28, 0x4, 0x40, 0x28, 0x24, 0x88, 0x26, 0x24, 0xCA, 0x21, 0x4, 0xC0, 0x28, 0x4, 0x0, 0x29, 0x54, 0xA, 0x0, 0x64, 0x85, 0x29, 0x24, 0xC5, 0x21, 0x74, 0xA, 0x2A, 0x94, 0xA, 0x0, 0x14, 0x80, 0x2A, 0x14, 0x80, 0x28, 0xB4, 0xA, 0x0, 0xC4, 0xA, 0x0, 0x4, 0x40, 0x2B, 0xE4, 0xA, 0x0, 0x44, 0x88, 0x1D, 0xB4, 0xC6, 0x2B, 0x4, 0x0, 0x2C, 0x14, 0x0, 0x0, 0x64, 0x5, 0x0, 0x4, 0x40, 0x2C, 0x24, 0xB, 0x0, 0xB4, 0x6, 0x0, 0x14, 0x80, 0x1D, 0x4, 0xB, 0x0, 0x4, 0xC0, 0x2C, 0xA4, 0x47, 0x0, 0x44, 0xB, 0x0, 0x4, 0x40, 0x2D, 0x5, 0xC0, 0x2D, 0x85, 0xB, 0x0, 0x95, 0x8B, 0x2E, 0xB5, 0xB, 0x0, 0xC5, 0x4B, 0x2F, 0xE5, 0xB, 0x0, 0xF5, 0xB, 0x0, 0x5, 0x4C, 0x30, 0x5, 0x80, 0x30, 0x35, 0xC, 0x0, 0x45, 0x4C, 0x31, 0x65, 0xCC, 0x31, 0x85, 0xC, 0x0, 0x5, 0x40, 0x32, 0xA5, 0xC, 0x0, 0x5, 0xC0, 0x32, 0xC5, 0xC, 0x0, 0x15, 0x0, 0x0, 0xD5, 0xC, 0x0, 0xE5, 0xC, 0x0, 0xF5, 0xC, 0x34, 0x15, 0x8D, 0x34, 0x35, 0xD, 0x0, 0x45, 0xD, 0x0, 0x55, 0x8D, 0x35, 0x75, 0xD, 0x36, 0x95, 0x8D, 0x36, 0x5, 0xC0, 0x36, 0xC5, 0xD, 0x0, 0xD5, 0x8D, 0x37, 0x5, 0xC0, 0x37, 0x5, 0xE, 0x0, 0x15, 0x8E, 0x38, 0x5, 0xC0, 0x38, 0x5, 0x0, 0x39, 0x55, 0xE, 0x0, 0x65, 0xCE, 0x39, 0x5, 0x0, 0x3A, 0x5, 0x40, 0x3A, 0xA5, 0xCE, 0x3A, 0xC5, 0xE, 0x0, 0x5, 0x40, 0x3B, 0xE5, 0xCE, 0x3B, 0x5, 0xF, 0x0, 0x15, 0x8F, 0x3C, 0x5, 0xC0, 0x3C, 0x45, 0xF, 0x0, 0x5, 0x40, 0x3D, 0x65, 0xF, 0x0, 0x5, 0xC0, 0x3D, 0x5, 0x80, 0x2E, 0x85, 0x4F, 0x3E, 0xA5, 0x8F, 0x35, 0x85, 0xCF, 0x3E, 0xC5, 0x8F, 0x2E, 0x85, 0x4F, 0x3F, 0xE5, 0xCF, 0x3F, 0x5, 0x0, 0x40, 0x5, 0x0, 0x36, 0x85, 0x4F, 0x40, 0x25, 0xD0, 0x40, 0xC5, 0xB, 0x41, 0x55, 0x90, 0x41, 0x75, 0x50, 0x3E, 0xC5, 0x8B, 0x2E, 0x85, 0xF, 0x42, 0x95, 0x50, 0x30, 0xA5, 0xD0, 0x42, 0x5, 0x0, 0x43, 0x5, 0x40, 0x43, 0xE5, 0xD0, 0x43, 0x5, 0x11, 0x0, 0x15, 0x11, 0x0, 0x5, 0x80, 0x44, 0x35, 0x11, 0x45, 0x55, 0x91, 0x45, 0x75, 0x11, 0x46, 0x5, 0x40, 0x46, 0x5, 0x80, 0x46, 0xB5, 0x11, 0x47, 0x5, 0x40, 0x47, 0x65, 0x4B, 0x0, 0x6, 0x80, 0x2D, 0x6, 0x80, 0x47, 0xF6, 0x11, 0x0, 0x6, 0x52, 0x48, 0x26, 0xD2, 0x48, 0x46, 0x52, 0x49, 0x66, 0xD2, 0x49, 0x86, 0x12, 0x0, 0x6, 0x40, 0x4A, 0xA6, 0xD2, 0x4A, 0xC6, 0x12, 0x0, 0x6, 0x40, 0x4B, 0x6, 0x80, 0x4B, 0xF6, 0x12, 0x0, 0x6, 0x13, 0x0, 0x16, 0x13, 0x0, 0x26, 0x13, 0x0, 0x16, 0x0, 0x0, 0x36, 0x13, 0x0, 0x6, 0x0, 0x4D, 0x56, 0x93, 0x4D, 0x76, 0x13, 0x4E, 0x96, 0x93, 0x4E, 0xB6, 0x13, 0x4F, 0x6, 0x40, 0x4F, 0x6, 0x80, 0x4F, 0x6, 0xC0, 0x4F, 0x6, 0x54, 0x50, 0x66, 0x8E, 0x50, 0x36, 0x14, 0x0, 0x6, 0x0, 0x51, 0x56, 0x94, 0x51, 0x76, 0x14, 0x52, 0x96, 0x94, 0x52, 0xB6, 0x14, 0x53, 0xD6, 0x94, 0x53, 0xF6, 0x14, 0x54, 0x16, 0x95, 0x54, 0x36, 0x15, 0x55, 0x56, 0x95, 0x55, 0x76, 0x15, 0x56, 0x96, 0x15, 0x55, 0xA6, 0xD5, 0x56, 0xC6, 0xD5, 0x56, 0xD6, 0x95, 0x57, 0xF6, 0x15, 0x58, 0x16, 0x96, 0x58, 0x36, 0x16, 0x59, 0x56, 0x96, 0x59, 0x76, 0x16, 0x5A, 0x96, 0x16, 0x0, 0xA6, 0xD6, 0x5A, 0xC6, 0x56, 0x5B, 0x6, 0x80, 0x5B, 0xF6, 0x56, 0x0, 0x7, 0x0, 0x5C, 0x7, 0x40, 0x5C, 0x27, 0x17, 0x0, 0x37, 0x17, 0x5D, 0x57, 0x97, 0x5D, 0x77, 0x17, 0x5E, 0x97, 0x97, 0x5E, 0xB7, 0x17, 0x5F, 0xD7, 0x97, 0x5F, 0xF7, 0x17, 0x0, 0x7, 0x18, 0x0, 0x17, 0x18, 0x0, 0x27, 0xD8, 0x60, 0x47, 0x58, 0x61, 0x67, 0xD8, 0x61, 0x7, 0x0, 0x62, 0x97, 0x98, 0x62, 0xB7, 0x18, 0x63, 0x7, 0x40, 0x63, 0xE7, 0xD8, 0x63, 0x7, 0x59, 0x64, 0x27, 0xD9, 0x64, 0x47, 0x59, 0x65, 0x67, 0xD9, 0x65, 0x87, 0x59, 0x66, 0xA7, 0xD9, 0x66, 0xC7, 0x59, 0x67, 0xE7, 0xD9, 0x67, 0x7, 0x5A, 0x68, 0x27, 0xDA, 0x68, 0x47, 0x1A, 0x0, 0x57, 0x1A, 0x0, 0x7, 0x80, 0x69, 0x8, 0xC0, 0x69, 0x88, 0x1A, 0x0, 0x98, 0x9A, 0x6A, 0xB8, 0x1A, 0x6B, 0x8, 0x40, 0x6B, 0x8, 0x80, 0x6B, 0xF8, 0x1A, 0x6C, 0x8, 0x40, 0x6C, 0x28, 0xDB, 0x6C, 0x48, 0x5B, 0x6D, 0x68, 0xDB, 0x6D, 0x88, 0x1B, 0x0, 0x98, 0x1B, 0x0, 0x8, 0x80, 0x6E, 0xB8, 0x1B, 0x6F, 0xD8, 0x9B, 0x6F, 0xF8, 0x1B, 0x70, 0x18, 0x9C, 0x70, 0x38, 0x1C, 0x71, 0x58, 0x9C, 0x71, 0x78, 0x1C, 0x0, 0x89, 0x1C, 0x0, 0x99, 0x1C, 0x0, 0xA9, 0xDC, 0x72, 0xC9, 0x1C, 0x0, 0x9, 0x40, 0x73, 0x9, 0x80, 0x73, 0x9, 0xC0, 0x73, 0x9, 0x0, 0x74, 0x19, 0x9D, 0x74, 0x39, 0x1D, 0x0, 0x49, 0x5D, 0x75, 0x69, 0xDD, 0x75, 0x89, 0x5D, 0x76, 0xA9, 0xDD, 0x76, 0xC9, 0x1D, 0x0, 0xDA, 0x9D, 0x77, 0xA, 0xC0, 0x77, 0xA, 0x1E, 0x0, 0xA, 0x40, 0x78, 0x2A, 0x1E, 0x0, 0xA, 0xC0, 0x78, 0x4A, 0x5E, 0x79, 0x6A, 0xDE, 0x79, 0x8A, 0x5E, 0x7A, 0xAA, 0xDE, 0x7A, 0xCB, 0x1E, 0x0, 0xDB, 0x9E, 0x7B, 0xB, 0xC0, 0x7B, 0xB, 0x5F, 0x7C, 0x2B, 0xDF, 0x7C, 0x4B, 0x5F, 0x7D, 0x6C, 0x1F, 0x0, 0xC, 0xC0, 0x7D, 0x8C, 0x5F, 0x7E, 0xAC, 0xDF, 0x7E, 0xCD, 0x1F, 0x0, 0xDD, 0x1F, 0x0, 0xED, 0xDF, 0x7F, 0xE, 0x60, 0x80, 0xE, 0x80, 0x80, 0x3F, 0x20, 0x81, }; + private static ReadOnlySpan SerializedCategory5_NonSpacingMark => [0x3, 0x4, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x40, 0x0, 0x10, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1, 0xC0, 0x0, 0x1, 0x80, 0x0, 0x1, 0x40, 0x0, 0x11, 0x0, 0x0, 0x31, 0x80, 0x0, 0x11, 0x80, 0x0, 0x31, 0x0, 0x0, 0x21, 0xC0, 0x0, 0x21, 0x40, 0x0, 0x11, 0xC0, 0x0, 0x31, 0x40, 0x0, 0x42, 0x0, 0x0, 0x52, 0x80, 0x1, 0x52, 0x0, 0x0, 0x72, 0x0, 0x0, 0x2, 0x40, 0x1, 0x82, 0x80, 0x1, 0x92, 0x80, 0x2, 0x62, 0x0, 0x0, 0x2, 0xC0, 0x2, 0xD2, 0x80, 0x3, 0x82, 0xC0, 0x2, 0x2, 0x40, 0x3, 0x2, 0xC0, 0x1, 0xB2, 0x0, 0x0, 0x72, 0x40, 0x0, 0x82, 0x0, 0x0, 0xC2, 0x0, 0x0, 0x12, 0x0, 0x0, 0x2, 0x0, 0x3, 0x72, 0x0, 0x2, 0x2, 0x80, 0x1, 0xE2, 0x40, 0x1, 0x62, 0x40, 0x0, 0x12, 0x80, 0x2, 0x12, 0x40, 0x3, 0x82, 0x40, 0x0, 0x32, 0xC0, 0x1, 0x72, 0xC0, 0x3, 0x2, 0x40, 0x0, 0x12, 0xC0, 0x2, 0x2, 0x0, 0x1, 0x62, 0x40, 0x3, 0xA2, 0x0, 0x0, 0xD2, 0x40, 0x0, 0xF2, 0x40, 0x0, 0x92, 0x40, 0x0, 0xE2, 0x80, 0x0, 0x2, 0x40, 0x2, 0x2, 0x80, 0x3, 0xB2, 0x40, 0x3, 0xF2, 0xC0, 0x2, 0x12, 0x80, 0x3, 0xF2, 0x0, 0x0, 0x2, 0x0, 0x2, 0x62, 0x0, 0x2, 0xE2, 0x0, 0x0, 0xC2, 0x0, 0x1, 0x62, 0x80, 0x3, 0x82, 0xC0, 0x1, 0xA2, 0x40, 0x0, 0x32, 0x0, 0x0, 0x12, 0x40, 0x1, 0x22, 0x0, 0x2, 0x62, 0xC0, 0x2, 0x92, 0x0, 0x0, 0x72, 0x80, 0x2, 0x12, 0x0, 0x2, 0xF2, 0x80, 0x3, 0x52, 0xC0, 0x1, 0x72, 0x40, 0x2, 0xB2, 0x0, 0x3, 0x62, 0x0, 0x1, 0x12, 0xC0, 0x3, 0x72, 0x80, 0x3, 0xE2, 0x40, 0x0, 0xF2, 0x0, 0x3, 0x3, 0x1, 0x0, 0x13, 0x81, 0x4, 0x3, 0x0, 0x4, 0x33, 0x1, 0x0, 0x3, 0x0, 0x5, 0x53, 0x81, 0x5, 0x73, 0x1, 0x0, 0x73, 0x1, 0x6, 0x3, 0x0, 0x3, 0x93, 0x1, 0x0, 0x3, 0x80, 0x4, 0x73, 0x80, 0x6, 0x3, 0xC0, 0x6, 0x3, 0x0, 0x7, 0x13, 0x40, 0x7, 0xE3, 0xC1, 0x7, 0xD3, 0x1, 0x7, 0x3, 0xC0, 0x4, 0x73, 0x1, 0x8, 0x83, 0x1, 0x1, 0xF3, 0x1, 0x0, 0xE3, 0x41, 0x8, 0xD3, 0x1, 0x0, 0x23, 0x2, 0x0, 0x33, 0x2, 0x0, 0x3, 0x0, 0x9, 0x13, 0x40, 0x9, 0x63, 0x42, 0x0, 0xC3, 0xC1, 0x5, 0x13, 0xC1, 0x9, 0x13, 0x0, 0xA, 0x3, 0x40, 0xA, 0x13, 0x2, 0x0, 0xA3, 0x2, 0x4, 0xB3, 0xC2, 0x8, 0x3, 0x0, 0xB, 0xD3, 0x2, 0x0, 0x3, 0x80, 0xB, 0xF3, 0x2, 0xC, 0x13, 0x43, 0x0, 0x23, 0x43, 0x0, 0x33, 0x43, 0xB, 0x63, 0x2, 0xD, 0x13, 0x3, 0x4, 0x53, 0x43, 0x7, 0x63, 0x83, 0xB, 0x43, 0xC2, 0xD, 0x43, 0x1, 0x0, 0x3, 0x0, 0x8, 0x83, 0x3, 0x0, 0x23, 0x1, 0xB, 0x93, 0x3, 0x4, 0xE3, 0x81, 0xE, 0x3, 0xC0, 0xE, 0x3, 0x0, 0xF, 0xD3, 0x3, 0x0, 0x23, 0x1, 0x0, 0x23, 0x81, 0xF, 0x3, 0xC0, 0xF, 0x3, 0x4, 0x0, 0xC3, 0xC0, 0x9, 0x93, 0x43, 0x0, 0xD3, 0x43, 0x10, 0x13, 0x43, 0xE, 0x43, 0x81, 0x10, 0xC3, 0x1, 0x0, 0x13, 0x3, 0x0, 0x63, 0xC2, 0x10, 0x13, 0x43, 0x7, 0xB3, 0xC1, 0x10, 0x3, 0x0, 0x11, 0xE3, 0x2, 0x0, 0x23, 0xC1, 0xF, 0x53, 0x4, 0x0, 0x33, 0x1, 0x4, 0x63, 0x4, 0x0, 0x73, 0x44, 0x5, 0x3, 0x3, 0x0, 0x3, 0x80, 0x1, 0x23, 0x1, 0x9, 0x83, 0x4, 0x0, 0x13, 0x41, 0x12, 0x3, 0x80, 0x8, 0x3, 0x80, 0x12, 0xB3, 0x4, 0x13, 0x3, 0x40, 0xE, 0x13, 0x41, 0xE, 0xD3, 0x4, 0x0, 0x13, 0x80, 0x13, 0x13, 0x0, 0x0, 0x63, 0x3, 0x0, 0xF3, 0x4, 0x14, 0xE3, 0xC4, 0x7, 0x13, 0xC0, 0x7, 0xB3, 0x41, 0x0, 0x73, 0xC4, 0xC, 0x33, 0xC3, 0x7, 0x3, 0x40, 0x14, 0x13, 0x40, 0xE, 0x3, 0x40, 0xB, 0x4, 0x40, 0x0, 0x24, 0x5, 0x0, 0x4, 0xC0, 0x14, 0x44, 0x45, 0x15, 0x4, 0x80, 0x15, 0x74, 0x5, 0x0, 0x84, 0x5, 0x0, 0x4, 0x40, 0x16, 0xA4, 0xC5, 0x16, 0x4, 0x0, 0x17, 0xD4, 0x5, 0x0, 0x4, 0x80, 0x17, 0xF4, 0x5, 0x18, 0x4, 0x40, 0x18, 0x24, 0x46, 0x0, 0x4, 0xC0, 0x18, 0x4, 0x0, 0x19, 0x4, 0x40, 0x19, 0xF4, 0x5, 0x0, 0x64, 0x6, 0x0, 0x74, 0x6, 0x1A, 0x94, 0x6, 0x0, 0x4, 0x80, 0x1A, 0x84, 0x6, 0x0, 0xF4, 0x5, 0x1A, 0xB4, 0x6, 0x1B, 0xD4, 0x6, 0x0, 0xE4, 0xC6, 0x1B, 0x4, 0x7, 0x0, 0x14, 0x87, 0x1C, 0xF4, 0xC5, 0x1C, 0x4, 0x0, 0x1D, 0x4, 0xC0, 0x17, 0x54, 0x87, 0x1D, 0x4, 0xC0, 0x1D, 0x84, 0x7, 0x0, 0x4, 0x40, 0x1D, 0x4, 0x40, 0x1E, 0xA4, 0x7, 0x0, 0xB4, 0x7, 0x1F, 0xD4, 0x7, 0x0, 0xE4, 0x7, 0x0, 0xF4, 0x7, 0x20, 0x4, 0x40, 0x20, 0x4, 0x80, 0x20, 0x4, 0xC0, 0x20, 0x44, 0x48, 0x21, 0x64, 0x8, 0x0, 0x74, 0x8, 0x0, 0x84, 0x8, 0x0, 0x94, 0x8, 0x0, 0xA4, 0xC8, 0x22, 0xC4, 0xC8, 0x1A, 0xD4, 0x8, 0x0, 0xE4, 0x48, 0x22, 0x4, 0x0, 0x15, 0xD4, 0x46, 0x0, 0xF4, 0x8, 0x24, 0x14, 0x9, 0x0, 0x24, 0x9, 0x0, 0x34, 0x9, 0x0, 0x4, 0x0, 0x25, 0x54, 0x9, 0x0, 0x4, 0x80, 0x25, 0x74, 0x9, 0x0, 0x84, 0x49, 0x26, 0x4, 0xC0, 0x21, 0x4, 0x80, 0x26, 0xB4, 0x9, 0x0, 0x4, 0x0, 0x27, 0xD4, 0x9, 0x0, 0x24, 0x88, 0x27, 0xF4, 0x9, 0x0, 0x4, 0x0, 0x28, 0x4, 0x40, 0x28, 0x24, 0x88, 0x26, 0x24, 0xCA, 0x21, 0x4, 0xC0, 0x28, 0x4, 0x0, 0x29, 0x54, 0xA, 0x0, 0x64, 0x85, 0x29, 0x24, 0xC5, 0x21, 0x74, 0xA, 0x2A, 0x94, 0xA, 0x0, 0x14, 0x80, 0x2A, 0x14, 0x80, 0x28, 0xB4, 0xA, 0x0, 0xC4, 0xA, 0x0, 0x4, 0x40, 0x2B, 0xE4, 0xA, 0x0, 0x44, 0x88, 0x1D, 0xB4, 0xC6, 0x2B, 0x4, 0x0, 0x2C, 0x14, 0x0, 0x0, 0x64, 0x5, 0x0, 0x4, 0x40, 0x2C, 0x24, 0xB, 0x0, 0xB4, 0x6, 0x0, 0x14, 0x80, 0x1D, 0x4, 0xB, 0x0, 0x4, 0xC0, 0x2C, 0xA4, 0x47, 0x0, 0x44, 0xB, 0x0, 0x4, 0x40, 0x2D, 0x5, 0xC0, 0x2D, 0x85, 0xB, 0x0, 0x95, 0x8B, 0x2E, 0xB5, 0xB, 0x0, 0xC5, 0x4B, 0x2F, 0xE5, 0xB, 0x0, 0xF5, 0xB, 0x0, 0x5, 0x4C, 0x30, 0x5, 0x80, 0x30, 0x35, 0xC, 0x0, 0x45, 0x4C, 0x31, 0x65, 0xCC, 0x31, 0x85, 0xC, 0x0, 0x5, 0x40, 0x32, 0xA5, 0xC, 0x0, 0x5, 0xC0, 0x32, 0xC5, 0xC, 0x0, 0x15, 0x0, 0x0, 0xD5, 0xC, 0x0, 0xE5, 0xC, 0x0, 0xF5, 0xC, 0x34, 0x15, 0x8D, 0x34, 0x35, 0xD, 0x0, 0x45, 0xD, 0x0, 0x55, 0x8D, 0x35, 0x75, 0xD, 0x36, 0x95, 0x8D, 0x36, 0x5, 0xC0, 0x36, 0xC5, 0xD, 0x0, 0xD5, 0x8D, 0x37, 0x5, 0xC0, 0x37, 0x5, 0xE, 0x0, 0x15, 0x8E, 0x38, 0x5, 0xC0, 0x38, 0x5, 0x0, 0x39, 0x55, 0xE, 0x0, 0x65, 0xCE, 0x39, 0x5, 0x0, 0x3A, 0x5, 0x40, 0x3A, 0xA5, 0xCE, 0x3A, 0xC5, 0xE, 0x0, 0x5, 0x40, 0x3B, 0xE5, 0xCE, 0x3B, 0x5, 0xF, 0x0, 0x15, 0x8F, 0x3C, 0x5, 0xC0, 0x3C, 0x45, 0xF, 0x0, 0x5, 0x40, 0x3D, 0x65, 0xF, 0x0, 0x5, 0xC0, 0x3D, 0x5, 0x80, 0x2E, 0x85, 0x4F, 0x3E, 0xA5, 0x8F, 0x35, 0x85, 0xCF, 0x3E, 0xC5, 0x8F, 0x2E, 0x85, 0x4F, 0x3F, 0xE5, 0xCF, 0x3F, 0x5, 0x0, 0x40, 0x5, 0x0, 0x36, 0x85, 0x4F, 0x40, 0x25, 0xD0, 0x40, 0xC5, 0xB, 0x41, 0x55, 0x90, 0x41, 0x75, 0x50, 0x3E, 0xC5, 0x8B, 0x2E, 0x85, 0xF, 0x42, 0x95, 0x50, 0x30, 0xA5, 0xD0, 0x42, 0x5, 0x0, 0x43, 0x5, 0x40, 0x43, 0xE5, 0xD0, 0x43, 0x5, 0x11, 0x0, 0x15, 0x11, 0x0, 0x5, 0x80, 0x44, 0x35, 0x11, 0x45, 0x55, 0x91, 0x45, 0x75, 0x11, 0x46, 0x5, 0x40, 0x46, 0x5, 0x80, 0x46, 0xB5, 0x11, 0x47, 0x5, 0x40, 0x47, 0x65, 0x4B, 0x0, 0x6, 0x80, 0x2D, 0x6, 0x80, 0x47, 0xF6, 0x11, 0x0, 0x6, 0x52, 0x48, 0x26, 0xD2, 0x48, 0x46, 0x52, 0x49, 0x66, 0xD2, 0x49, 0x86, 0x12, 0x0, 0x6, 0x40, 0x4A, 0xA6, 0xD2, 0x4A, 0xC6, 0x12, 0x0, 0x6, 0x40, 0x4B, 0x6, 0x80, 0x4B, 0xF6, 0x12, 0x0, 0x6, 0x13, 0x0, 0x16, 0x13, 0x0, 0x26, 0x13, 0x0, 0x16, 0x0, 0x0, 0x36, 0x13, 0x0, 0x6, 0x0, 0x4D, 0x56, 0x93, 0x4D, 0x76, 0x13, 0x4E, 0x96, 0x93, 0x4E, 0xB6, 0x13, 0x4F, 0x6, 0x40, 0x4F, 0x6, 0x80, 0x4F, 0x6, 0xC0, 0x4F, 0x6, 0x54, 0x50, 0x66, 0x8E, 0x50, 0x36, 0x14, 0x0, 0x6, 0x0, 0x51, 0x56, 0x94, 0x51, 0x76, 0x14, 0x52, 0x96, 0x94, 0x52, 0xB6, 0x14, 0x53, 0xD6, 0x94, 0x53, 0xF6, 0x14, 0x54, 0x16, 0x95, 0x54, 0x36, 0x15, 0x55, 0x56, 0x95, 0x55, 0x76, 0x15, 0x56, 0x96, 0x15, 0x55, 0xA6, 0xD5, 0x56, 0xC6, 0xD5, 0x56, 0xD6, 0x95, 0x57, 0xF6, 0x15, 0x58, 0x16, 0x96, 0x58, 0x36, 0x16, 0x59, 0x56, 0x96, 0x59, 0x76, 0x16, 0x5A, 0x96, 0x16, 0x0, 0xA6, 0xD6, 0x5A, 0xC6, 0x56, 0x5B, 0x6, 0x80, 0x5B, 0xF6, 0x56, 0x0, 0x7, 0x0, 0x5C, 0x7, 0x40, 0x5C, 0x27, 0x17, 0x0, 0x37, 0x17, 0x5D, 0x57, 0x97, 0x5D, 0x77, 0x17, 0x5E, 0x97, 0x97, 0x5E, 0xB7, 0x17, 0x5F, 0xD7, 0x97, 0x5F, 0xF7, 0x17, 0x0, 0x7, 0x18, 0x0, 0x17, 0x18, 0x0, 0x27, 0xD8, 0x60, 0x47, 0x58, 0x61, 0x67, 0xD8, 0x61, 0x7, 0x0, 0x62, 0x97, 0x98, 0x62, 0xB7, 0x18, 0x63, 0x7, 0x40, 0x63, 0xE7, 0xD8, 0x63, 0x7, 0x59, 0x64, 0x27, 0xD9, 0x64, 0x47, 0x59, 0x65, 0x67, 0xD9, 0x65, 0x87, 0x59, 0x66, 0xA7, 0xD9, 0x66, 0xC7, 0x59, 0x67, 0xE7, 0xD9, 0x67, 0x7, 0x5A, 0x68, 0x27, 0xDA, 0x68, 0x47, 0x1A, 0x0, 0x57, 0x1A, 0x0, 0x7, 0x80, 0x69, 0x8, 0xC0, 0x69, 0x88, 0x1A, 0x0, 0x98, 0x9A, 0x6A, 0xB8, 0x1A, 0x6B, 0x8, 0x40, 0x6B, 0x8, 0x80, 0x6B, 0xF8, 0x1A, 0x6C, 0x8, 0x40, 0x6C, 0x28, 0xDB, 0x6C, 0x48, 0x5B, 0x6D, 0x68, 0xDB, 0x6D, 0x88, 0x1B, 0x0, 0x98, 0x1B, 0x0, 0x8, 0x80, 0x6E, 0xB8, 0x1B, 0x6F, 0xD8, 0x9B, 0x6F, 0xF8, 0x1B, 0x70, 0x18, 0x9C, 0x70, 0x38, 0x1C, 0x71, 0x58, 0x9C, 0x71, 0x78, 0x1C, 0x0, 0x89, 0x1C, 0x0, 0x99, 0x1C, 0x0, 0xA9, 0xDC, 0x72, 0xC9, 0x1C, 0x0, 0x9, 0x40, 0x73, 0x9, 0x80, 0x73, 0x9, 0xC0, 0x73, 0x9, 0x0, 0x74, 0x19, 0x9D, 0x74, 0x39, 0x1D, 0x0, 0x49, 0x5D, 0x75, 0x69, 0xDD, 0x75, 0x89, 0x5D, 0x76, 0xA9, 0xDD, 0x76, 0xC9, 0x1D, 0x0, 0xDA, 0x9D, 0x77, 0xA, 0xC0, 0x77, 0xA, 0x1E, 0x0, 0xA, 0x40, 0x78, 0x2A, 0x1E, 0x0, 0xA, 0xC0, 0x78, 0x4A, 0x5E, 0x79, 0x6A, 0xDE, 0x79, 0x8A, 0x5E, 0x7A, 0xAA, 0xDE, 0x7A, 0xCB, 0x1E, 0x0, 0xDB, 0x9E, 0x7B, 0xB, 0xC0, 0x7B, 0xB, 0x5F, 0x7C, 0x2B, 0xDF, 0x7C, 0x4B, 0x5F, 0x7D, 0x6C, 0x1F, 0x0, 0xC, 0xC0, 0x7D, 0x8C, 0x5F, 0x7E, 0xAC, 0xDF, 0x7E, 0xCD, 0x1F, 0x0, 0xDD, 0x1F, 0x0, 0xED, 0xDF, 0x7F, 0xE, 0x60, 0x80, 0xE, 0x80, 0x80, 0x3F, 0x20, 0x81]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.SpacingCombiningMark. - private static ReadOnlySpan SerializedCategory6_SpacingCombiningMark => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x1, 0x40, 0x0, 0x21, 0x60, 0x0, 0x11, 0x40, 0x0, 0x31, 0x0, 0x0, 0x1, 0x60, 0x0, 0x11, 0x0, 0x0, 0x31, 0x40, 0x0, 0x1, 0x20, 0x0, 0x21, 0x0, 0x0, 0x31, 0x20, 0x0, 0x11, 0x60, 0x0, 0x21, 0x20, 0x0, 0x42, 0xA0, 0x0, 0x62, 0xE0, 0x0, 0x82, 0x0, 0x0, 0x92, 0xE0, 0x0, 0x82, 0xE0, 0x0, 0x42, 0x40, 0x1, 0x72, 0x0, 0x0, 0x2, 0x80, 0x0, 0xB2, 0x0, 0x0, 0x2, 0xE0, 0x0, 0x2, 0x20, 0x1, 0x2, 0x20, 0x0, 0x12, 0x0, 0x0, 0x2, 0x60, 0x1, 0xA2, 0xE0, 0x0, 0x92, 0x0, 0x0, 0x2, 0x0, 0x1, 0x22, 0x20, 0x1, 0x2, 0x80, 0x1, 0x92, 0x0, 0x1, 0x42, 0xA0, 0x1, 0xE2, 0xE0, 0x0, 0x42, 0x0, 0x0, 0x2, 0xE0, 0x1, 0xE2, 0x0, 0x0, 0x42, 0x60, 0x0, 0x32, 0x0, 0x0, 0x2, 0xA0, 0x0, 0x12, 0xA0, 0x1, 0x2, 0xC0, 0x1, 0xF2, 0xE0, 0x0, 0xD2, 0x20, 0x0, 0xC2, 0x0, 0x0, 0x42, 0x20, 0x1, 0xA2, 0x20, 0x0, 0xB2, 0x20, 0x0, 0xA2, 0x20, 0x1, 0x42, 0xE0, 0x0, 0x42, 0xC0, 0x0, 0x92, 0x80, 0x0, 0x52, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x42, 0xC0, 0x1, 0x92, 0xA0, 0x0, 0x72, 0x80, 0x0, 0x62, 0xC0, 0x1, 0x3, 0x21, 0x2, 0x3, 0x40, 0x2, 0x33, 0x1, 0x0, 0x43, 0x1, 0x0, 0x23, 0x1, 0x0, 0x3, 0xA0, 0x2, 0x63, 0x1, 0x0, 0x3, 0xE0, 0x2, 0x93, 0x0, 0x3, 0x3, 0x20, 0x3, 0x3, 0x40, 0x3, 0x3, 0x60, 0x3, 0x13, 0x80, 0x3, 0x3, 0xA0, 0x3, 0x3, 0xC0, 0x3, 0xF3, 0x1, 0x0, 0x3, 0xC0, 0x2, 0x3, 0x0, 0x4, 0x3, 0x0, 0x3, 0xB3, 0x81, 0x3, 0x13, 0xC2, 0x2, 0x23, 0x62, 0x4, 0x3, 0x40, 0x4, 0x3, 0x80, 0x4, 0x53, 0x42, 0x2, 0x3, 0xC0, 0x4, 0x3, 0xE0, 0x4, 0x83, 0x22, 0x5, 0x3, 0x40, 0x5, 0xB3, 0x2, 0x0, 0x73, 0x81, 0x5, 0xD3, 0xC2, 0x5, 0x73, 0xE1, 0x5, 0xF3, 0x1, 0x6, 0x13, 0x3, 0x0, 0x23, 0xC3, 0x3, 0x33, 0x83, 0x6, 0x3, 0xE0, 0x3, 0x53, 0x1, 0x4, 0x53, 0x3, 0x0, 0x13, 0xA0, 0x3, 0x63, 0xE3, 0x6, 0x3, 0x0, 0x7, 0x93, 0x43, 0x6, 0x3, 0x3, 0x0, 0x3, 0x40, 0x7, 0x3, 0xA0, 0x5, 0x63, 0x63, 0x7, 0x53, 0x81, 0x7, 0x93, 0xE2, 0x2, 0xD3, 0xE3, 0x2, 0x4, 0xC0, 0x7, 0xF4, 0x3, 0x8, 0x14, 0x4, 0x0, 0x4, 0x40, 0x8, 0x34, 0x84, 0x8, 0x4, 0xA0, 0x8, 0x64, 0x4, 0x0, 0x4, 0xE0, 0x8, 0x84, 0x4, 0x0, 0x4, 0x20, 0x9, 0xA4, 0x4, 0x0, 0x4, 0x60, 0x9, 0x4, 0x80, 0x9, 0x4, 0xA0, 0x9, 0xE4, 0xE4, 0x9, 0x4, 0x25, 0xA, 0x84, 0x44, 0xA, 0x4, 0x60, 0xA, 0x4, 0x80, 0xA, 0x4, 0xA0, 0xA, 0x64, 0x5, 0x0, 0x4, 0xE0, 0xA, 0x84, 0x25, 0xB, 0xA4, 0x5, 0x0, 0xB4, 0x5, 0x0, 0xC4, 0xA5, 0xB, 0x4, 0xC0, 0xB, 0xF4, 0x5, 0x0, 0x74, 0x5, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x26, 0xC, 0x4, 0x40, 0xC, 0x34, 0x6, 0x0, 0x44, 0xA6, 0xC, 0x44, 0x4, 0x0, 0xD4, 0x4, 0x0, 0x64, 0x86, 0x8, 0x4, 0x0, 0x9, 0xE4, 0xE4, 0xC, 0x74, 0x4, 0x0, 0x84, 0x26, 0xD, 0xA4, 0x6, 0x0, 0x4, 0x60, 0xD, 0x4, 0x80, 0xD, 0xE4, 0xA4, 0xD, 0xE4, 0xC4, 0xD, 0x4, 0xE0, 0xD, 0x4, 0x0, 0xE, 0x4, 0x4, 0x0, 0x15, 0x7, 0x0, 0x25, 0x7, 0x0, 0x35, 0x87, 0xE, 0x55, 0x7, 0x0, 0x5, 0xC0, 0xE, 0x75, 0x7, 0xF, 0x5, 0x20, 0xF, 0x5, 0x40, 0xF, 0xB5, 0x87, 0xF, 0xD5, 0x7, 0x0, 0xE5, 0x7, 0x0, 0xF5, 0x7, 0x0, 0x5, 0x8, 0x0, 0x15, 0x8, 0x0, 0x25, 0x68, 0x10, 0x5, 0x80, 0x10, 0x55, 0xC8, 0x10, 0x75, 0x8, 0x11, 0x5, 0x20, 0x11, 0xA5, 0x8, 0x0, 0x5, 0x60, 0x11, 0xC5, 0x8, 0x0, 0xD5, 0xC8, 0x11, 0x5, 0xE0, 0x11, 0x5, 0x29, 0x12, 0x25, 0x9, 0x0, 0x35, 0x9, 0x0, 0x45, 0x9, 0x0, 0x95, 0xA7, 0x12, 0x5, 0xC0, 0x12, 0x5, 0xE0, 0x12, 0x45, 0xC9, 0x12, 0x85, 0x29, 0x13, 0xA5, 0xC9, 0x12, 0x5, 0x60, 0x13, 0x5, 0x80, 0x13, 0x5, 0xA0, 0x13, 0x5, 0xC0, 0x13, 0x5, 0xE0, 0x13, 0x45, 0x9, 0xF, 0x5, 0x0, 0x14, 0x15, 0xA, 0xF, 0x26, 0xA, 0x0, 0x36, 0xA, 0x0, 0x46, 0xAA, 0x14, 0x66, 0xEA, 0x14, 0x86, 0xA, 0x0, 0x96, 0x4A, 0x15, 0x6, 0x60, 0x15, 0x6, 0x80, 0x15, 0xD6, 0xA, 0x0, 0x6, 0xC0, 0x15, 0xF6, 0xA, 0x16, 0x16, 0x4B, 0x16, 0x36, 0x8B, 0x16, 0x6, 0xA0, 0x16, 0x66, 0xEB, 0x16, 0x6, 0x0, 0x17, 0x6, 0x20, 0x17, 0xA6, 0x6B, 0x17, 0xC6, 0xAB, 0x17, 0xE6, 0xEB, 0x17, 0x6, 0x2C, 0x18, 0x26, 0x6C, 0x18, 0x46, 0xAC, 0x18, 0x66, 0xAC, 0x17, 0x76, 0x6C, 0x18, 0x86, 0x2C, 0x19, 0x66, 0x2A, 0x19, 0x76, 0x2C, 0x18, 0xA6, 0x6C, 0x19, 0xC7, 0xC, 0x0, 0xD7, 0xCC, 0x19, 0xF7, 0xC, 0x1A, 0x17, 0x4D, 0x1A, 0x7, 0x60, 0x1A, 0x47, 0xAD, 0x1A, 0x67, 0xED, 0x1A, 0x7, 0x0, 0x1B, 0x7, 0x20, 0x1B, 0xA7, 0x6D, 0x1B, 0xC7, 0xAD, 0x1B, 0x7, 0xC0, 0x1B, 0xF7, 0xD, 0x1C, 0x17, 0x4E, 0x1C, 0x37, 0x8E, 0x1C, 0x57, 0xCE, 0x1C, 0x77, 0xE, 0x1D, 0x98, 0x4E, 0x1D, 0xB8, 0x8E, 0x1D, 0x8, 0xA0, 0x1D, 0x8, 0xC0, 0x1D, 0xF8, 0xE, 0x1E, 0x18, 0xF, 0x0, 0x28, 0xF, 0x0, 0x8, 0x60, 0x1E, 0x48, 0xF, 0x0, 0x58, 0xCF, 0x1E, 0x78, 0xF, 0x1F, 0x98, 0xF, 0x0, 0xA9, 0x6F, 0x1F, 0x9, 0x80, 0x1F, 0x9, 0xA0, 0x1F, 0xE9, 0xEF, 0x1F, 0x9, 0x10, 0x0, 0x9, 0x20, 0x20, 0x29, 0x70, 0x20, 0x49, 0xB0, 0x20, 0xA, 0xC0, 0x20, 0xA, 0xE0, 0x20, 0x8A, 0x30, 0x21, 0xAA, 0x70, 0x21, 0xCA, 0xB0, 0x21, 0xEB, 0x10, 0x0, 0xB, 0xE0, 0x21, 0xB, 0x31, 0x22, 0x2B, 0x11, 0x0, 0xC, 0x60, 0x22, 0x4C, 0x11, 0x0, 0x5C, 0xD1, 0x22, 0x7D, 0x11, 0x0, 0x8D, 0x31, 0x23, 0xE, 0x40, 0x23, 0xE, 0x60, 0x23, 0xCF, 0xB1, 0x23, }; + private static ReadOnlySpan SerializedCategory6_SpacingCombiningMark => [0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x1, 0x40, 0x0, 0x21, 0x60, 0x0, 0x11, 0x40, 0x0, 0x31, 0x0, 0x0, 0x1, 0x60, 0x0, 0x11, 0x0, 0x0, 0x31, 0x40, 0x0, 0x1, 0x20, 0x0, 0x21, 0x0, 0x0, 0x31, 0x20, 0x0, 0x11, 0x60, 0x0, 0x21, 0x20, 0x0, 0x42, 0xA0, 0x0, 0x62, 0xE0, 0x0, 0x82, 0x0, 0x0, 0x92, 0xE0, 0x0, 0x82, 0xE0, 0x0, 0x42, 0x40, 0x1, 0x72, 0x0, 0x0, 0x2, 0x80, 0x0, 0xB2, 0x0, 0x0, 0x2, 0xE0, 0x0, 0x2, 0x20, 0x1, 0x2, 0x20, 0x0, 0x12, 0x0, 0x0, 0x2, 0x60, 0x1, 0xA2, 0xE0, 0x0, 0x92, 0x0, 0x0, 0x2, 0x0, 0x1, 0x22, 0x20, 0x1, 0x2, 0x80, 0x1, 0x92, 0x0, 0x1, 0x42, 0xA0, 0x1, 0xE2, 0xE0, 0x0, 0x42, 0x0, 0x0, 0x2, 0xE0, 0x1, 0xE2, 0x0, 0x0, 0x42, 0x60, 0x0, 0x32, 0x0, 0x0, 0x2, 0xA0, 0x0, 0x12, 0xA0, 0x1, 0x2, 0xC0, 0x1, 0xF2, 0xE0, 0x0, 0xD2, 0x20, 0x0, 0xC2, 0x0, 0x0, 0x42, 0x20, 0x1, 0xA2, 0x20, 0x0, 0xB2, 0x20, 0x0, 0xA2, 0x20, 0x1, 0x42, 0xE0, 0x0, 0x42, 0xC0, 0x0, 0x92, 0x80, 0x0, 0x52, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x42, 0xC0, 0x1, 0x92, 0xA0, 0x0, 0x72, 0x80, 0x0, 0x62, 0xC0, 0x1, 0x3, 0x21, 0x2, 0x3, 0x40, 0x2, 0x33, 0x1, 0x0, 0x43, 0x1, 0x0, 0x23, 0x1, 0x0, 0x3, 0xA0, 0x2, 0x63, 0x1, 0x0, 0x3, 0xE0, 0x2, 0x93, 0x0, 0x3, 0x3, 0x20, 0x3, 0x3, 0x40, 0x3, 0x3, 0x60, 0x3, 0x13, 0x80, 0x3, 0x3, 0xA0, 0x3, 0x3, 0xC0, 0x3, 0xF3, 0x1, 0x0, 0x3, 0xC0, 0x2, 0x3, 0x0, 0x4, 0x3, 0x0, 0x3, 0xB3, 0x81, 0x3, 0x13, 0xC2, 0x2, 0x23, 0x62, 0x4, 0x3, 0x40, 0x4, 0x3, 0x80, 0x4, 0x53, 0x42, 0x2, 0x3, 0xC0, 0x4, 0x3, 0xE0, 0x4, 0x83, 0x22, 0x5, 0x3, 0x40, 0x5, 0xB3, 0x2, 0x0, 0x73, 0x81, 0x5, 0xD3, 0xC2, 0x5, 0x73, 0xE1, 0x5, 0xF3, 0x1, 0x6, 0x13, 0x3, 0x0, 0x23, 0xC3, 0x3, 0x33, 0x83, 0x6, 0x3, 0xE0, 0x3, 0x53, 0x1, 0x4, 0x53, 0x3, 0x0, 0x13, 0xA0, 0x3, 0x63, 0xE3, 0x6, 0x3, 0x0, 0x7, 0x93, 0x43, 0x6, 0x3, 0x3, 0x0, 0x3, 0x40, 0x7, 0x3, 0xA0, 0x5, 0x63, 0x63, 0x7, 0x53, 0x81, 0x7, 0x93, 0xE2, 0x2, 0xD3, 0xE3, 0x2, 0x4, 0xC0, 0x7, 0xF4, 0x3, 0x8, 0x14, 0x4, 0x0, 0x4, 0x40, 0x8, 0x34, 0x84, 0x8, 0x4, 0xA0, 0x8, 0x64, 0x4, 0x0, 0x4, 0xE0, 0x8, 0x84, 0x4, 0x0, 0x4, 0x20, 0x9, 0xA4, 0x4, 0x0, 0x4, 0x60, 0x9, 0x4, 0x80, 0x9, 0x4, 0xA0, 0x9, 0xE4, 0xE4, 0x9, 0x4, 0x25, 0xA, 0x84, 0x44, 0xA, 0x4, 0x60, 0xA, 0x4, 0x80, 0xA, 0x4, 0xA0, 0xA, 0x64, 0x5, 0x0, 0x4, 0xE0, 0xA, 0x84, 0x25, 0xB, 0xA4, 0x5, 0x0, 0xB4, 0x5, 0x0, 0xC4, 0xA5, 0xB, 0x4, 0xC0, 0xB, 0xF4, 0x5, 0x0, 0x74, 0x5, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x26, 0xC, 0x4, 0x40, 0xC, 0x34, 0x6, 0x0, 0x44, 0xA6, 0xC, 0x44, 0x4, 0x0, 0xD4, 0x4, 0x0, 0x64, 0x86, 0x8, 0x4, 0x0, 0x9, 0xE4, 0xE4, 0xC, 0x74, 0x4, 0x0, 0x84, 0x26, 0xD, 0xA4, 0x6, 0x0, 0x4, 0x60, 0xD, 0x4, 0x80, 0xD, 0xE4, 0xA4, 0xD, 0xE4, 0xC4, 0xD, 0x4, 0xE0, 0xD, 0x4, 0x0, 0xE, 0x4, 0x4, 0x0, 0x15, 0x7, 0x0, 0x25, 0x7, 0x0, 0x35, 0x87, 0xE, 0x55, 0x7, 0x0, 0x5, 0xC0, 0xE, 0x75, 0x7, 0xF, 0x5, 0x20, 0xF, 0x5, 0x40, 0xF, 0xB5, 0x87, 0xF, 0xD5, 0x7, 0x0, 0xE5, 0x7, 0x0, 0xF5, 0x7, 0x0, 0x5, 0x8, 0x0, 0x15, 0x8, 0x0, 0x25, 0x68, 0x10, 0x5, 0x80, 0x10, 0x55, 0xC8, 0x10, 0x75, 0x8, 0x11, 0x5, 0x20, 0x11, 0xA5, 0x8, 0x0, 0x5, 0x60, 0x11, 0xC5, 0x8, 0x0, 0xD5, 0xC8, 0x11, 0x5, 0xE0, 0x11, 0x5, 0x29, 0x12, 0x25, 0x9, 0x0, 0x35, 0x9, 0x0, 0x45, 0x9, 0x0, 0x95, 0xA7, 0x12, 0x5, 0xC0, 0x12, 0x5, 0xE0, 0x12, 0x45, 0xC9, 0x12, 0x85, 0x29, 0x13, 0xA5, 0xC9, 0x12, 0x5, 0x60, 0x13, 0x5, 0x80, 0x13, 0x5, 0xA0, 0x13, 0x5, 0xC0, 0x13, 0x5, 0xE0, 0x13, 0x45, 0x9, 0xF, 0x5, 0x0, 0x14, 0x15, 0xA, 0xF, 0x26, 0xA, 0x0, 0x36, 0xA, 0x0, 0x46, 0xAA, 0x14, 0x66, 0xEA, 0x14, 0x86, 0xA, 0x0, 0x96, 0x4A, 0x15, 0x6, 0x60, 0x15, 0x6, 0x80, 0x15, 0xD6, 0xA, 0x0, 0x6, 0xC0, 0x15, 0xF6, 0xA, 0x16, 0x16, 0x4B, 0x16, 0x36, 0x8B, 0x16, 0x6, 0xA0, 0x16, 0x66, 0xEB, 0x16, 0x6, 0x0, 0x17, 0x6, 0x20, 0x17, 0xA6, 0x6B, 0x17, 0xC6, 0xAB, 0x17, 0xE6, 0xEB, 0x17, 0x6, 0x2C, 0x18, 0x26, 0x6C, 0x18, 0x46, 0xAC, 0x18, 0x66, 0xAC, 0x17, 0x76, 0x6C, 0x18, 0x86, 0x2C, 0x19, 0x66, 0x2A, 0x19, 0x76, 0x2C, 0x18, 0xA6, 0x6C, 0x19, 0xC7, 0xC, 0x0, 0xD7, 0xCC, 0x19, 0xF7, 0xC, 0x1A, 0x17, 0x4D, 0x1A, 0x7, 0x60, 0x1A, 0x47, 0xAD, 0x1A, 0x67, 0xED, 0x1A, 0x7, 0x0, 0x1B, 0x7, 0x20, 0x1B, 0xA7, 0x6D, 0x1B, 0xC7, 0xAD, 0x1B, 0x7, 0xC0, 0x1B, 0xF7, 0xD, 0x1C, 0x17, 0x4E, 0x1C, 0x37, 0x8E, 0x1C, 0x57, 0xCE, 0x1C, 0x77, 0xE, 0x1D, 0x98, 0x4E, 0x1D, 0xB8, 0x8E, 0x1D, 0x8, 0xA0, 0x1D, 0x8, 0xC0, 0x1D, 0xF8, 0xE, 0x1E, 0x18, 0xF, 0x0, 0x28, 0xF, 0x0, 0x8, 0x60, 0x1E, 0x48, 0xF, 0x0, 0x58, 0xCF, 0x1E, 0x78, 0xF, 0x1F, 0x98, 0xF, 0x0, 0xA9, 0x6F, 0x1F, 0x9, 0x80, 0x1F, 0x9, 0xA0, 0x1F, 0xE9, 0xEF, 0x1F, 0x9, 0x10, 0x0, 0x9, 0x20, 0x20, 0x29, 0x70, 0x20, 0x49, 0xB0, 0x20, 0xA, 0xC0, 0x20, 0xA, 0xE0, 0x20, 0x8A, 0x30, 0x21, 0xAA, 0x70, 0x21, 0xCA, 0xB0, 0x21, 0xEB, 0x10, 0x0, 0xB, 0xE0, 0x21, 0xB, 0x31, 0x22, 0x2B, 0x11, 0x0, 0xC, 0x60, 0x22, 0x4C, 0x11, 0x0, 0x5C, 0xD1, 0x22, 0x7D, 0x11, 0x0, 0x8D, 0x31, 0x23, 0xE, 0x40, 0x23, 0xE, 0x60, 0x23, 0xCF, 0xB1, 0x23]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.EnclosingMark. - private static ReadOnlySpan SerializedCategory7_EnclosingMark => new byte[] { 0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x21, 0x4, 0x1, 0x8, 0x11, 0x8, 0x11, 0xC, 0x21, 0x0, 0x1, 0x4, 0x2, 0x10, 0x52, 0x18, 0x72, 0x0, 0x82, 0x0, 0x2, 0x24, 0x3, 0x28, 0x3, 0x2C, 0xC3, 0x0, 0xD3, 0x0, 0xE3, 0x0, 0xF4, 0x0, 0x4, 0x40, 0x14, 0x1, 0x24, 0x1, 0x4, 0x4C, 0x45, 0x1, 0x55, 0x59, 0x75, 0x1, 0x5, 0x60, 0x96, 0x1, 0xA6, 0x1, 0x6, 0x6C, 0x6, 0x70, 0x7, 0x74, 0xE7, 0x1, 0xF7, 0x1, 0x7, 0x2, 0x8, 0x84, 0x8, 0x88, 0x8, 0x8C, 0x8, 0x90, 0x59, 0x2, 0x9, 0x98, 0x79, 0x2, 0x9, 0xA0, 0x9A, 0x2, 0xA, 0xA8, 0xA, 0xAC, 0xCA, 0x2, 0xB, 0xB4, 0xB, 0xB8, 0xFB, 0x2, 0xB, 0xC0, 0xC, 0xC4, 0xC, 0xC8, 0x3C, 0xD3, 0x5D, 0x3, 0x6D, 0xDF, 0xE, 0xE0, 0xE, 0xE4, 0xAF, 0xEF, }; + private static ReadOnlySpan SerializedCategory7_EnclosingMark => [0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x21, 0x4, 0x1, 0x8, 0x11, 0x8, 0x11, 0xC, 0x21, 0x0, 0x1, 0x4, 0x2, 0x10, 0x52, 0x18, 0x72, 0x0, 0x82, 0x0, 0x2, 0x24, 0x3, 0x28, 0x3, 0x2C, 0xC3, 0x0, 0xD3, 0x0, 0xE3, 0x0, 0xF4, 0x0, 0x4, 0x40, 0x14, 0x1, 0x24, 0x1, 0x4, 0x4C, 0x45, 0x1, 0x55, 0x59, 0x75, 0x1, 0x5, 0x60, 0x96, 0x1, 0xA6, 0x1, 0x6, 0x6C, 0x6, 0x70, 0x7, 0x74, 0xE7, 0x1, 0xF7, 0x1, 0x7, 0x2, 0x8, 0x84, 0x8, 0x88, 0x8, 0x8C, 0x8, 0x90, 0x59, 0x2, 0x9, 0x98, 0x79, 0x2, 0x9, 0xA0, 0x9A, 0x2, 0xA, 0xA8, 0xA, 0xAC, 0xCA, 0x2, 0xB, 0xB4, 0xB, 0xB8, 0xFB, 0x2, 0xB, 0xC0, 0xC, 0xC4, 0xC, 0xC8, 0x3C, 0xD3, 0x5D, 0x3, 0x6D, 0xDF, 0xE, 0xE0, 0xE, 0xE4, 0xAF, 0xEF]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.DecimalDigitNumber. - private static ReadOnlySpan SerializedCategory8_DecimalDigitNumber => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x8, 0x0, 0x11, 0x0, 0x0, 0x2, 0x10, 0x0, 0x32, 0x0, 0x0, 0x43, 0x8, 0x0, 0x13, 0x28, 0x0, 0x64, 0x0, 0x0, 0x4, 0x30, 0x0, 0x4, 0x38, 0x0, 0x5, 0x40, 0x0, 0x85, 0x0, 0x0, 0x5, 0x48, 0x0, 0x95, 0x0, 0x0, 0x5, 0x30, 0x0, 0x5, 0x50, 0x0, 0xA5, 0x0, 0x0, 0x6, 0x58, 0x0, 0xC6, 0x0, 0x0, 0xB6, 0x0, 0x0, 0x86, 0x0, 0x0, 0x6, 0x68, 0x0, 0x6, 0x70, 0x0, 0xF6, 0x0, 0x0, 0x6, 0x60, 0x0, 0x6, 0x78, 0x0, 0x6, 0x1, 0x0, 0xE6, 0x0, 0x0, 0xD6, 0x0, 0x0, 0x16, 0x1, 0x0, 0x7, 0x90, 0x0, 0x37, 0x1, 0x0, 0x7, 0xA0, 0x0, 0x57, 0xB1, 0x0, 0x47, 0x1, 0x0, 0x7, 0xB8, 0x0, 0x7, 0xC0, 0x0, 0x97, 0xA1, 0x0, 0xA7, 0x1, 0x0, 0x47, 0xD9, 0x0, 0xC7, 0x1, 0x0, 0x27, 0xE9, 0x0, 0xD7, 0x1, 0x0, 0x37, 0xE1, 0x0, 0x7, 0xC8, 0x0, 0xF8, 0x1, 0x0, 0x8, 0xA, 0x1, 0x28, 0x1A, 0x1, 0x8, 0x20, 0x1, 0x8, 0x28, 0x1, 0x68, 0x3A, 0x1, 0x88, 0xFA, 0x0, 0x98, 0x2, 0x0, 0x8, 0x50, 0x1, 0x48, 0xA2, 0x0, 0xE8, 0x1, 0x0, 0xB8, 0x62, 0x1, 0x8, 0x68, 0x1, 0xE9, 0x2, 0x0, 0xF9, 0x82, 0x1, 0x19, 0x3, 0x0, 0x9, 0x90, 0x1, 0x39, 0xA3, 0x1, 0x59, 0x3, 0x0, 0x9, 0xB0, 0x1, 0x79, 0xF3, 0x0, 0xE9, 0xC1, 0x1, 0x99, 0x3, 0x0, 0x9, 0xD0, 0x1, 0xBA, 0x3, 0x0, 0xA, 0xE0, 0x1, 0xDA, 0x3, 0x0, 0xEA, 0xFB, 0x1, 0xA, 0xC, 0x2, 0x2A, 0x1C, 0x2, 0x4A, 0x2C, 0x2, 0x6B, 0x4, 0x0, 0x7B, 0x44, 0x2, 0x9B, 0x54, 0x2, 0xBB, 0x64, 0x2, 0xDC, 0x4, 0x0, 0xC, 0x70, 0x2, 0xFC, 0x84, 0x2, 0x1D, 0x5, 0x0, 0x2D, 0x5, 0x0, 0xD, 0x98, 0x2, 0x4E, 0xAD, 0x2, 0xE, 0xB0, 0x2, 0x7F, 0xC5, 0x2, }; + private static ReadOnlySpan SerializedCategory8_DecimalDigitNumber => [0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x8, 0x0, 0x11, 0x0, 0x0, 0x2, 0x10, 0x0, 0x32, 0x0, 0x0, 0x43, 0x8, 0x0, 0x13, 0x28, 0x0, 0x64, 0x0, 0x0, 0x4, 0x30, 0x0, 0x4, 0x38, 0x0, 0x5, 0x40, 0x0, 0x85, 0x0, 0x0, 0x5, 0x48, 0x0, 0x95, 0x0, 0x0, 0x5, 0x30, 0x0, 0x5, 0x50, 0x0, 0xA5, 0x0, 0x0, 0x6, 0x58, 0x0, 0xC6, 0x0, 0x0, 0xB6, 0x0, 0x0, 0x86, 0x0, 0x0, 0x6, 0x68, 0x0, 0x6, 0x70, 0x0, 0xF6, 0x0, 0x0, 0x6, 0x60, 0x0, 0x6, 0x78, 0x0, 0x6, 0x1, 0x0, 0xE6, 0x0, 0x0, 0xD6, 0x0, 0x0, 0x16, 0x1, 0x0, 0x7, 0x90, 0x0, 0x37, 0x1, 0x0, 0x7, 0xA0, 0x0, 0x57, 0xB1, 0x0, 0x47, 0x1, 0x0, 0x7, 0xB8, 0x0, 0x7, 0xC0, 0x0, 0x97, 0xA1, 0x0, 0xA7, 0x1, 0x0, 0x47, 0xD9, 0x0, 0xC7, 0x1, 0x0, 0x27, 0xE9, 0x0, 0xD7, 0x1, 0x0, 0x37, 0xE1, 0x0, 0x7, 0xC8, 0x0, 0xF8, 0x1, 0x0, 0x8, 0xA, 0x1, 0x28, 0x1A, 0x1, 0x8, 0x20, 0x1, 0x8, 0x28, 0x1, 0x68, 0x3A, 0x1, 0x88, 0xFA, 0x0, 0x98, 0x2, 0x0, 0x8, 0x50, 0x1, 0x48, 0xA2, 0x0, 0xE8, 0x1, 0x0, 0xB8, 0x62, 0x1, 0x8, 0x68, 0x1, 0xE9, 0x2, 0x0, 0xF9, 0x82, 0x1, 0x19, 0x3, 0x0, 0x9, 0x90, 0x1, 0x39, 0xA3, 0x1, 0x59, 0x3, 0x0, 0x9, 0xB0, 0x1, 0x79, 0xF3, 0x0, 0xE9, 0xC1, 0x1, 0x99, 0x3, 0x0, 0x9, 0xD0, 0x1, 0xBA, 0x3, 0x0, 0xA, 0xE0, 0x1, 0xDA, 0x3, 0x0, 0xEA, 0xFB, 0x1, 0xA, 0xC, 0x2, 0x2A, 0x1C, 0x2, 0x4A, 0x2C, 0x2, 0x6B, 0x4, 0x0, 0x7B, 0x44, 0x2, 0x9B, 0x54, 0x2, 0xBB, 0x64, 0x2, 0xDC, 0x4, 0x0, 0xC, 0x70, 0x2, 0xFC, 0x84, 0x2, 0x1D, 0x5, 0x0, 0x2D, 0x5, 0x0, 0xD, 0x98, 0x2, 0x4E, 0xAD, 0x2, 0xE, 0xB0, 0x2, 0x7F, 0xC5, 0x2]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.LetterNumber. - private static ReadOnlySpan SerializedCategory9_LetterNumber => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x8, 0x0, 0x10, 0x0, 0x0, 0x11, 0x0, 0x0, 0x21, 0x8, 0x0, 0x1, 0x8, 0x0, 0x11, 0x18, 0x0, 0x31, 0x0, 0x0, 0x1, 0x10, 0x0, 0x42, 0x0, 0x0, 0x2, 0x28, 0x0, 0x2, 0x30, 0x0, 0x12, 0x38, 0x0, 0x82, 0x0, 0x0, 0x2, 0x48, 0x0, 0x72, 0x28, 0x0, 0x13, 0x50, 0x0, 0xB3, 0x0, 0x0, 0xC3, 0x68, 0x0, 0x3, 0x70, 0x0, 0xF3, 0x80, 0x0, 0x3, 0x78, 0x0, 0xA3, 0x0, 0x0, 0x4, 0x88, 0x0, 0x24, 0x99, 0x0, 0x4, 0xA0, 0x0, 0x4, 0xA8, 0x0, 0x64, 0xB9, 0x0, 0x85, 0x1, 0x0, 0x95, 0xD1, 0x0, 0x5, 0xD8, 0x0, 0x15, 0x0, 0x0, 0xC5, 0x1, 0x0, 0xD6, 0x1, 0x0, 0x6, 0xF0, 0x0, 0x6, 0xF8, 0x0, 0x6, 0x2, 0x0, 0x16, 0x2, 0x0, 0x27, 0x2, 0x0, 0x7, 0x18, 0x1, 0x47, 0x2A, 0x1, 0x67, 0x2, 0x0, 0x8, 0x38, 0x1, 0x8, 0x40, 0x1, 0x98, 0x2, 0x0, 0x8, 0x50, 0x1, 0xB9, 0x2, 0x0, 0x9, 0x60, 0x1, 0x9, 0x68, 0x1, 0xE9, 0x2, 0x0, 0xFA, 0x2, 0x0, 0xA, 0x80, 0x1, 0xA, 0x88, 0x1, 0x2A, 0x3, 0x0, 0xB, 0x98, 0x1, 0xB, 0xA0, 0x1, 0xB, 0xA8, 0x1, 0xB, 0xB0, 0x1, 0xC, 0xB8, 0x1, 0x8C, 0xCB, 0x1, 0xAC, 0x3, 0x0, 0xBD, 0x3, 0x0, 0xCD, 0xEB, 0x1, 0xE, 0xF0, 0x1, 0xE, 0xF8, 0x1, 0xF, 0xC, 0x2, }; + private static ReadOnlySpan SerializedCategory9_LetterNumber => [0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x8, 0x0, 0x10, 0x0, 0x0, 0x11, 0x0, 0x0, 0x21, 0x8, 0x0, 0x1, 0x8, 0x0, 0x11, 0x18, 0x0, 0x31, 0x0, 0x0, 0x1, 0x10, 0x0, 0x42, 0x0, 0x0, 0x2, 0x28, 0x0, 0x2, 0x30, 0x0, 0x12, 0x38, 0x0, 0x82, 0x0, 0x0, 0x2, 0x48, 0x0, 0x72, 0x28, 0x0, 0x13, 0x50, 0x0, 0xB3, 0x0, 0x0, 0xC3, 0x68, 0x0, 0x3, 0x70, 0x0, 0xF3, 0x80, 0x0, 0x3, 0x78, 0x0, 0xA3, 0x0, 0x0, 0x4, 0x88, 0x0, 0x24, 0x99, 0x0, 0x4, 0xA0, 0x0, 0x4, 0xA8, 0x0, 0x64, 0xB9, 0x0, 0x85, 0x1, 0x0, 0x95, 0xD1, 0x0, 0x5, 0xD8, 0x0, 0x15, 0x0, 0x0, 0xC5, 0x1, 0x0, 0xD6, 0x1, 0x0, 0x6, 0xF0, 0x0, 0x6, 0xF8, 0x0, 0x6, 0x2, 0x0, 0x16, 0x2, 0x0, 0x27, 0x2, 0x0, 0x7, 0x18, 0x1, 0x47, 0x2A, 0x1, 0x67, 0x2, 0x0, 0x8, 0x38, 0x1, 0x8, 0x40, 0x1, 0x98, 0x2, 0x0, 0x8, 0x50, 0x1, 0xB9, 0x2, 0x0, 0x9, 0x60, 0x1, 0x9, 0x68, 0x1, 0xE9, 0x2, 0x0, 0xFA, 0x2, 0x0, 0xA, 0x80, 0x1, 0xA, 0x88, 0x1, 0x2A, 0x3, 0x0, 0xB, 0x98, 0x1, 0xB, 0xA0, 0x1, 0xB, 0xA8, 0x1, 0xB, 0xB0, 0x1, 0xC, 0xB8, 0x1, 0x8C, 0xCB, 0x1, 0xAC, 0x3, 0x0, 0xBD, 0x3, 0x0, 0xCD, 0xEB, 0x1, 0xE, 0xF0, 0x1, 0xE, 0xF8, 0x1, 0xF, 0xC, 0x2]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.OtherNumber. - private static ReadOnlySpan SerializedCategory10_OtherNumber => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0x10, 0x0, 0x11, 0x20, 0x0, 0x11, 0x0, 0x0, 0x1, 0x20, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x31, 0x10, 0x0, 0x42, 0x10, 0x0, 0x12, 0x50, 0x0, 0x2, 0x40, 0x0, 0x42, 0x60, 0x0, 0x72, 0x0, 0x0, 0x2, 0x10, 0x0, 0x62, 0x0, 0x0, 0x12, 0x60, 0x0, 0x2, 0x70, 0x0, 0x12, 0x80, 0x0, 0x2, 0x90, 0x0, 0x82, 0x10, 0x0, 0x2, 0x80, 0x0, 0xA2, 0x10, 0x0, 0x2, 0xA0, 0x0, 0x12, 0x0, 0x0, 0xA2, 0x70, 0x0, 0x2, 0x60, 0x0, 0x3, 0xB0, 0x0, 0x13, 0xC0, 0x0, 0xD3, 0x10, 0x0, 0x13, 0x0, 0x0, 0x3, 0xE0, 0x0, 0xF3, 0x0, 0x0, 0x3, 0x0, 0x1, 0x13, 0x10, 0x1, 0x23, 0x1, 0x0, 0x3, 0x11, 0x0, 0x33, 0x1, 0x0, 0xD3, 0x40, 0x1, 0x53, 0x1, 0x0, 0x63, 0x11, 0x0, 0xC3, 0x0, 0x0, 0x73, 0x11, 0x0, 0x83, 0x1, 0x0, 0x3, 0x90, 0x1, 0x3, 0x20, 0x1, 0xD3, 0xA0, 0x1, 0xB3, 0xC1, 0x1, 0xD4, 0x1, 0x0, 0xE4, 0x1, 0x0, 0x4, 0xF0, 0x1, 0xE4, 0x1, 0x2, 0x14, 0x2, 0x0, 0x24, 0x2, 0x0, 0x34, 0x12, 0x0, 0x44, 0x2, 0x0, 0x14, 0x50, 0x2, 0x64, 0x12, 0x0, 0x4, 0x70, 0x2, 0x14, 0x0, 0x0, 0x84, 0x2, 0x0, 0x94, 0x2, 0x0, 0xF4, 0x1, 0x0, 0xA4, 0xB2, 0x2, 0x34, 0x52, 0x2, 0xC4, 0x2, 0x0, 0xD4, 0x2, 0x0, 0xE4, 0x2, 0x0, 0xF4, 0x2, 0x0, 0x4, 0x3, 0x0, 0x14, 0x3, 0x0, 0x25, 0x3, 0x0, 0x35, 0x43, 0x3, 0x5, 0x50, 0x3, 0x45, 0x3, 0x0, 0x5, 0x60, 0x3, 0x75, 0x3, 0x0, 0x5, 0x80, 0x3, 0x95, 0x3, 0x0, 0xA5, 0x3, 0x0, 0x5, 0xB0, 0x3, 0x15, 0x0, 0x0, 0x5, 0xC0, 0x3, 0x5, 0xD0, 0x3, 0x5, 0x40, 0x3, 0xE5, 0x3, 0x0, 0x5, 0xF0, 0x3, 0x5, 0x4, 0x0, 0x15, 0x4, 0x0, 0x25, 0x4, 0x0, 0x35, 0x44, 0x4, 0x45, 0x4, 0x0, 0x55, 0x4, 0x0, 0x65, 0x4, 0x0, 0x75, 0x4, 0x0, 0x85, 0x4, 0x0, 0x6, 0x90, 0x4, 0x6, 0xA0, 0x4, 0xB6, 0xC4, 0x4, 0x6, 0xD0, 0x4, 0xE6, 0x4, 0x0, 0x6, 0xF0, 0x4, 0x6, 0x5, 0x0, 0x16, 0x25, 0x5, 0x36, 0x5, 0x0, 0x6, 0x40, 0x5, 0x56, 0x5, 0x0, 0x6, 0x60, 0x5, 0x76, 0x5, 0x0, 0x86, 0x5, 0x0, 0x96, 0x5, 0x0, 0xA6, 0x5, 0x0, 0x6, 0xB0, 0x5, 0xC6, 0x5, 0x0, 0xD6, 0x5, 0x0, 0xE6, 0x5, 0x0, 0xF6, 0x5, 0x0, 0x6, 0x6, 0x0, 0x6, 0x10, 0x6, 0x7, 0x20, 0x6, 0x37, 0x46, 0x6, 0x57, 0x6, 0x0, 0x67, 0x6, 0x0, 0x77, 0x86, 0x6, 0x97, 0xA6, 0x6, 0xB7, 0xC6, 0x6, 0xD7, 0xE6, 0x6, 0xF7, 0x6, 0x0, 0x7, 0x7, 0x0, 0x7, 0x10, 0x7, 0x7, 0x20, 0x7, 0x7, 0x30, 0x7, 0x7, 0x40, 0x7, 0x57, 0x67, 0x7, 0x77, 0x7, 0x0, 0x87, 0x7, 0x0, 0x8, 0x90, 0x7, 0x8, 0xA0, 0x7, 0xB8, 0x7, 0x0, 0x8, 0xC0, 0x7, 0xD8, 0x7, 0x0, 0x8, 0xE0, 0x7, 0xF8, 0x7, 0x8, 0x18, 0x8, 0x0, 0x28, 0x8, 0x0, 0x38, 0x8, 0x0, 0x48, 0x8, 0x0, 0x58, 0x68, 0x8, 0x78, 0x8, 0x0, 0x88, 0x8, 0x0, 0x8, 0x90, 0x8, 0x9, 0xA0, 0x8, 0xB9, 0xC8, 0x8, 0x9, 0xD0, 0x8, 0xE9, 0xF8, 0x8, 0x9, 0x0, 0x9, 0x9, 0x10, 0x9, 0x29, 0x9, 0x0, 0x39, 0x9, 0x0, 0x49, 0x59, 0x9, 0x69, 0x79, 0x9, 0x9, 0x80, 0x9, 0xA, 0x90, 0x9, 0xA, 0xA0, 0x9, 0xBA, 0x9, 0x0, 0xCA, 0xD9, 0x9, 0xA, 0xE0, 0x9, 0xFA, 0x9, 0xA, 0x1A, 0x2A, 0xA, 0xA, 0x30, 0xA, 0x4B, 0xA, 0x0, 0xB, 0x50, 0xA, 0x6B, 0x7A, 0xA, 0x8B, 0x9A, 0xA, 0xAB, 0xBA, 0xA, 0xC, 0xC0, 0xA, 0xDC, 0xEA, 0xA, 0xFC, 0xA, 0xB, 0x1D, 0xB, 0x0, 0x2D, 0x3B, 0xB, 0xE, 0x40, 0xB, 0xE, 0x50, 0xB, 0x6F, 0x7B, 0xB, }; + private static ReadOnlySpan SerializedCategory10_OtherNumber => [0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0x10, 0x0, 0x11, 0x20, 0x0, 0x11, 0x0, 0x0, 0x1, 0x20, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x31, 0x10, 0x0, 0x42, 0x10, 0x0, 0x12, 0x50, 0x0, 0x2, 0x40, 0x0, 0x42, 0x60, 0x0, 0x72, 0x0, 0x0, 0x2, 0x10, 0x0, 0x62, 0x0, 0x0, 0x12, 0x60, 0x0, 0x2, 0x70, 0x0, 0x12, 0x80, 0x0, 0x2, 0x90, 0x0, 0x82, 0x10, 0x0, 0x2, 0x80, 0x0, 0xA2, 0x10, 0x0, 0x2, 0xA0, 0x0, 0x12, 0x0, 0x0, 0xA2, 0x70, 0x0, 0x2, 0x60, 0x0, 0x3, 0xB0, 0x0, 0x13, 0xC0, 0x0, 0xD3, 0x10, 0x0, 0x13, 0x0, 0x0, 0x3, 0xE0, 0x0, 0xF3, 0x0, 0x0, 0x3, 0x0, 0x1, 0x13, 0x10, 0x1, 0x23, 0x1, 0x0, 0x3, 0x11, 0x0, 0x33, 0x1, 0x0, 0xD3, 0x40, 0x1, 0x53, 0x1, 0x0, 0x63, 0x11, 0x0, 0xC3, 0x0, 0x0, 0x73, 0x11, 0x0, 0x83, 0x1, 0x0, 0x3, 0x90, 0x1, 0x3, 0x20, 0x1, 0xD3, 0xA0, 0x1, 0xB3, 0xC1, 0x1, 0xD4, 0x1, 0x0, 0xE4, 0x1, 0x0, 0x4, 0xF0, 0x1, 0xE4, 0x1, 0x2, 0x14, 0x2, 0x0, 0x24, 0x2, 0x0, 0x34, 0x12, 0x0, 0x44, 0x2, 0x0, 0x14, 0x50, 0x2, 0x64, 0x12, 0x0, 0x4, 0x70, 0x2, 0x14, 0x0, 0x0, 0x84, 0x2, 0x0, 0x94, 0x2, 0x0, 0xF4, 0x1, 0x0, 0xA4, 0xB2, 0x2, 0x34, 0x52, 0x2, 0xC4, 0x2, 0x0, 0xD4, 0x2, 0x0, 0xE4, 0x2, 0x0, 0xF4, 0x2, 0x0, 0x4, 0x3, 0x0, 0x14, 0x3, 0x0, 0x25, 0x3, 0x0, 0x35, 0x43, 0x3, 0x5, 0x50, 0x3, 0x45, 0x3, 0x0, 0x5, 0x60, 0x3, 0x75, 0x3, 0x0, 0x5, 0x80, 0x3, 0x95, 0x3, 0x0, 0xA5, 0x3, 0x0, 0x5, 0xB0, 0x3, 0x15, 0x0, 0x0, 0x5, 0xC0, 0x3, 0x5, 0xD0, 0x3, 0x5, 0x40, 0x3, 0xE5, 0x3, 0x0, 0x5, 0xF0, 0x3, 0x5, 0x4, 0x0, 0x15, 0x4, 0x0, 0x25, 0x4, 0x0, 0x35, 0x44, 0x4, 0x45, 0x4, 0x0, 0x55, 0x4, 0x0, 0x65, 0x4, 0x0, 0x75, 0x4, 0x0, 0x85, 0x4, 0x0, 0x6, 0x90, 0x4, 0x6, 0xA0, 0x4, 0xB6, 0xC4, 0x4, 0x6, 0xD0, 0x4, 0xE6, 0x4, 0x0, 0x6, 0xF0, 0x4, 0x6, 0x5, 0x0, 0x16, 0x25, 0x5, 0x36, 0x5, 0x0, 0x6, 0x40, 0x5, 0x56, 0x5, 0x0, 0x6, 0x60, 0x5, 0x76, 0x5, 0x0, 0x86, 0x5, 0x0, 0x96, 0x5, 0x0, 0xA6, 0x5, 0x0, 0x6, 0xB0, 0x5, 0xC6, 0x5, 0x0, 0xD6, 0x5, 0x0, 0xE6, 0x5, 0x0, 0xF6, 0x5, 0x0, 0x6, 0x6, 0x0, 0x6, 0x10, 0x6, 0x7, 0x20, 0x6, 0x37, 0x46, 0x6, 0x57, 0x6, 0x0, 0x67, 0x6, 0x0, 0x77, 0x86, 0x6, 0x97, 0xA6, 0x6, 0xB7, 0xC6, 0x6, 0xD7, 0xE6, 0x6, 0xF7, 0x6, 0x0, 0x7, 0x7, 0x0, 0x7, 0x10, 0x7, 0x7, 0x20, 0x7, 0x7, 0x30, 0x7, 0x7, 0x40, 0x7, 0x57, 0x67, 0x7, 0x77, 0x7, 0x0, 0x87, 0x7, 0x0, 0x8, 0x90, 0x7, 0x8, 0xA0, 0x7, 0xB8, 0x7, 0x0, 0x8, 0xC0, 0x7, 0xD8, 0x7, 0x0, 0x8, 0xE0, 0x7, 0xF8, 0x7, 0x8, 0x18, 0x8, 0x0, 0x28, 0x8, 0x0, 0x38, 0x8, 0x0, 0x48, 0x8, 0x0, 0x58, 0x68, 0x8, 0x78, 0x8, 0x0, 0x88, 0x8, 0x0, 0x8, 0x90, 0x8, 0x9, 0xA0, 0x8, 0xB9, 0xC8, 0x8, 0x9, 0xD0, 0x8, 0xE9, 0xF8, 0x8, 0x9, 0x0, 0x9, 0x9, 0x10, 0x9, 0x29, 0x9, 0x0, 0x39, 0x9, 0x0, 0x49, 0x59, 0x9, 0x69, 0x79, 0x9, 0x9, 0x80, 0x9, 0xA, 0x90, 0x9, 0xA, 0xA0, 0x9, 0xBA, 0x9, 0x0, 0xCA, 0xD9, 0x9, 0xA, 0xE0, 0x9, 0xFA, 0x9, 0xA, 0x1A, 0x2A, 0xA, 0xA, 0x30, 0xA, 0x4B, 0xA, 0x0, 0xB, 0x50, 0xA, 0x6B, 0x7A, 0xA, 0x8B, 0x9A, 0xA, 0xAB, 0xBA, 0xA, 0xC, 0xC0, 0xA, 0xDC, 0xEA, 0xA, 0xFC, 0xA, 0xB, 0x1D, 0xB, 0x0, 0x2D, 0x3B, 0xB, 0xE, 0x40, 0xB, 0xE, 0x50, 0xB, 0x6F, 0x7B, 0xB]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.SpaceSeparator. - private static ReadOnlySpan SerializedCategory11_SpaceSeparator => new byte[] { 0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x1, 0x8, 0x31, 0x0, 0x21, 0x4, 0x1, 0x8, 0x2, 0x10, 0x52, 0x0, 0x2, 0x18, 0x2, 0x1C, 0x3, 0x20, 0x93, 0x0, 0xA3, 0x4, 0x3, 0x2C, 0x4, 0x30, 0xD4, 0x0, 0x4, 0x34, 0x4, 0x38, 0x4, 0x3C, 0x5, 0x40, 0x5, 0x44, 0x25, 0x4D, 0x5, 0x1, 0x45, 0x1, 0x6, 0x54, 0x66, 0x5D, 0x6, 0x60, 0x6, 0x64, 0x7, 0x68, 0x7, 0x6C, 0xA7, 0x1, 0xC7, 0x75, 0x8, 0x78, 0x8, 0x7C, 0x8, 0x80, 0x8, 0x84, 0x9, 0x88, 0x9, 0x8C, 0x49, 0x2, 0x9, 0x94, 0xA, 0x98, 0xA, 0x9C, 0x8A, 0x2, 0xA, 0xA4, 0xB, 0xA8, 0xB, 0xAC, 0xB, 0xB0, 0xB, 0xB4, 0xEC, 0xBE, 0xC, 0xC7, 0x2D, 0xCF, 0xE, 0xD0, 0xF, 0xD4, }; + private static ReadOnlySpan SerializedCategory11_SpaceSeparator => [0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x1, 0x8, 0x31, 0x0, 0x21, 0x4, 0x1, 0x8, 0x2, 0x10, 0x52, 0x0, 0x2, 0x18, 0x2, 0x1C, 0x3, 0x20, 0x93, 0x0, 0xA3, 0x4, 0x3, 0x2C, 0x4, 0x30, 0xD4, 0x0, 0x4, 0x34, 0x4, 0x38, 0x4, 0x3C, 0x5, 0x40, 0x5, 0x44, 0x25, 0x4D, 0x5, 0x1, 0x45, 0x1, 0x6, 0x54, 0x66, 0x5D, 0x6, 0x60, 0x6, 0x64, 0x7, 0x68, 0x7, 0x6C, 0xA7, 0x1, 0xC7, 0x75, 0x8, 0x78, 0x8, 0x7C, 0x8, 0x80, 0x8, 0x84, 0x9, 0x88, 0x9, 0x8C, 0x49, 0x2, 0x9, 0x94, 0xA, 0x98, 0xA, 0x9C, 0x8A, 0x2, 0xA, 0xA4, 0xB, 0xA8, 0xB, 0xAC, 0xB, 0xB0, 0xB, 0xB4, 0xEC, 0xBE, 0xC, 0xC7, 0x2D, 0xCF, 0xE, 0xD0, 0xF, 0xD4]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.LineSeparator. - private static ReadOnlySpan SerializedCategory12_LineSeparator => new byte[] { 0x2, 0x4, 0x0, 0x5, 0x0, 0x0, 0x2, 0x1, 0x4, 0x2, 0x6, 0x43, 0x0, 0x4, 0xA, 0x65, 0x0, 0x6, 0xE, 0x7, 0x10, 0x8, 0x12, 0x9, 0x14, 0xA, 0x16, 0xB, 0x18, 0xC, 0x1A, 0xED, 0x0, 0xE, 0x1E, 0xF, 0x20, }; + private static ReadOnlySpan SerializedCategory12_LineSeparator => [0x2, 0x4, 0x0, 0x5, 0x0, 0x0, 0x2, 0x1, 0x4, 0x2, 0x6, 0x43, 0x0, 0x4, 0xA, 0x65, 0x0, 0x6, 0xE, 0x7, 0x10, 0x8, 0x12, 0x9, 0x14, 0xA, 0x16, 0xB, 0x18, 0xC, 0x1A, 0xED, 0x0, 0xE, 0x1E, 0xF, 0x20]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.ParagraphSeparator. - private static ReadOnlySpan SerializedCategory13_ParagraphSeparator => new byte[] { 0x2, 0x4, 0x0, 0x5, 0x0, 0x10, 0x0, 0x1, 0x4, 0x2, 0x6, 0x43, 0x0, 0x4, 0xA, 0x65, 0x0, 0x6, 0xE, 0x7, 0x10, 0x8, 0x12, 0x9, 0x14, 0xA, 0x16, 0xB, 0x18, 0xC, 0x1A, 0xED, 0x0, 0xE, 0x1E, 0xF, 0x20, }; + private static ReadOnlySpan SerializedCategory13_ParagraphSeparator => [0x2, 0x4, 0x0, 0x5, 0x0, 0x10, 0x0, 0x1, 0x4, 0x2, 0x6, 0x43, 0x0, 0x4, 0xA, 0x65, 0x0, 0x6, 0xE, 0x7, 0x10, 0x8, 0x12, 0x9, 0x14, 0xA, 0x16, 0xB, 0x18, 0xC, 0x1A, 0xED, 0x0, 0xE, 0x1E, 0xF, 0x20]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.Control. - private static ReadOnlySpan SerializedCategory14_Control => new byte[] { 0x2, 0x4, 0x0, 0x5, 0x0, 0x10, 0x0, 0x21, 0x0, 0x32, 0x0, 0x43, 0x0, 0x54, 0x0, 0x5, 0x2, 0x65, 0x0, 0x6, 0xE, 0x86, 0xE, 0x97, 0x14, 0x8, 0x16, 0x9, 0x18, 0xA, 0x1A, 0xB, 0x1C, 0xC, 0x1E, 0xD, 0x20, 0xE, 0x22, 0xF, 0x24, }; + private static ReadOnlySpan SerializedCategory14_Control => [0x2, 0x4, 0x0, 0x5, 0x0, 0x10, 0x0, 0x21, 0x0, 0x32, 0x0, 0x43, 0x0, 0x54, 0x0, 0x5, 0x2, 0x65, 0x0, 0x6, 0xE, 0x86, 0xE, 0x97, 0x14, 0x8, 0x16, 0x9, 0x18, 0xA, 0x1A, 0xB, 0x1C, 0xC, 0x1E, 0xD, 0x20, 0xE, 0x22, 0xF, 0x24]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.Format. - private static ReadOnlySpan SerializedCategory15_Format => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x8, 0x0, 0x11, 0x10, 0x0, 0x21, 0x0, 0x0, 0x11, 0x18, 0x0, 0x31, 0x8, 0x0, 0x11, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x8, 0x0, 0x1, 0x10, 0x0, 0x1, 0x18, 0x0, 0x2, 0x20, 0x0, 0x52, 0x0, 0x0, 0x62, 0x8, 0x0, 0x72, 0x40, 0x0, 0x12, 0x28, 0x0, 0x92, 0x0, 0x0, 0x2, 0x48, 0x0, 0x2, 0x50, 0x0, 0xB2, 0x0, 0x0, 0xC2, 0x0, 0x0, 0xA2, 0x8, 0x0, 0xD3, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x13, 0x78, 0x0, 0x3, 0x1, 0x0, 0x13, 0x1, 0x0, 0x23, 0x1, 0x0, 0x3, 0x98, 0x0, 0x3, 0xA0, 0x0, 0x53, 0x1, 0x0, 0x63, 0x1, 0x0, 0x3, 0xB8, 0x0, 0x84, 0x1, 0x0, 0x94, 0x1, 0x0, 0x4, 0xD0, 0x0, 0x4, 0xD8, 0x0, 0x4, 0xE0, 0x0, 0x4, 0xE8, 0x0, 0x4, 0xF0, 0x0, 0xF4, 0x1, 0x0, 0x4, 0xC8, 0x0, 0x4, 0x2, 0x0, 0x14, 0x12, 0x1, 0x4, 0x0, 0x1, 0x35, 0x2, 0x0, 0x45, 0x2, 0x0, 0x55, 0x2, 0x0, 0x65, 0x3A, 0x1, 0x5, 0x40, 0x1, 0x95, 0x2, 0x0, 0x5, 0x50, 0x1, 0x5, 0x58, 0x1, 0x5, 0x60, 0x1, 0x5, 0x68, 0x1, 0xE5, 0x2, 0x0, 0xF6, 0x2, 0x0, 0x6, 0x3, 0x0, 0x16, 0x93, 0x1, 0x6, 0x98, 0x1, 0x46, 0xAB, 0x1, 0x6, 0xB0, 0x1, 0x76, 0x3, 0x0, 0x6, 0xC0, 0x1, 0x6, 0xC8, 0x1, 0xA7, 0x3, 0x0, 0xB7, 0x3, 0x0, 0x7, 0xE0, 0x1, 0x7, 0xE8, 0x1, 0xE7, 0x3, 0x0, 0x7, 0xF8, 0x1, 0x7, 0xC, 0x2, 0x27, 0x4, 0x0, 0x38, 0x24, 0x2, 0x8, 0x28, 0x2, 0x8, 0x30, 0x2, 0x8, 0x38, 0x2, 0x88, 0x4C, 0x2, 0x8, 0x50, 0x2, 0xB9, 0x4, 0x0, 0x9, 0x60, 0x2, 0x9, 0x68, 0x2, 0x9, 0x70, 0x2, 0xF9, 0x4, 0x0, 0x9, 0x80, 0x2, 0x1A, 0x5, 0x0, 0xA, 0x90, 0x2, 0xA, 0x98, 0x2, 0xA, 0xA0, 0x2, 0x5A, 0xB5, 0x2, 0x7B, 0x5, 0x0, 0xB, 0xC0, 0x2, 0x9B, 0x5, 0x0, 0xAB, 0xDD, 0x2, 0xCC, 0x5, 0x0, 0xC, 0xE8, 0x2, 0xEC, 0xFD, 0x2, 0xD, 0x6, 0x0, 0x1D, 0x16, 0x3, 0x3E, 0x6, 0x0, 0xE, 0x20, 0x3, 0x5F, 0x36, 0x3, }; + private static ReadOnlySpan SerializedCategory15_Format => [0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x8, 0x0, 0x11, 0x10, 0x0, 0x21, 0x0, 0x0, 0x11, 0x18, 0x0, 0x31, 0x8, 0x0, 0x11, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x8, 0x0, 0x1, 0x10, 0x0, 0x1, 0x18, 0x0, 0x2, 0x20, 0x0, 0x52, 0x0, 0x0, 0x62, 0x8, 0x0, 0x72, 0x40, 0x0, 0x12, 0x28, 0x0, 0x92, 0x0, 0x0, 0x2, 0x48, 0x0, 0x2, 0x50, 0x0, 0xB2, 0x0, 0x0, 0xC2, 0x0, 0x0, 0xA2, 0x8, 0x0, 0xD3, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x13, 0x78, 0x0, 0x3, 0x1, 0x0, 0x13, 0x1, 0x0, 0x23, 0x1, 0x0, 0x3, 0x98, 0x0, 0x3, 0xA0, 0x0, 0x53, 0x1, 0x0, 0x63, 0x1, 0x0, 0x3, 0xB8, 0x0, 0x84, 0x1, 0x0, 0x94, 0x1, 0x0, 0x4, 0xD0, 0x0, 0x4, 0xD8, 0x0, 0x4, 0xE0, 0x0, 0x4, 0xE8, 0x0, 0x4, 0xF0, 0x0, 0xF4, 0x1, 0x0, 0x4, 0xC8, 0x0, 0x4, 0x2, 0x0, 0x14, 0x12, 0x1, 0x4, 0x0, 0x1, 0x35, 0x2, 0x0, 0x45, 0x2, 0x0, 0x55, 0x2, 0x0, 0x65, 0x3A, 0x1, 0x5, 0x40, 0x1, 0x95, 0x2, 0x0, 0x5, 0x50, 0x1, 0x5, 0x58, 0x1, 0x5, 0x60, 0x1, 0x5, 0x68, 0x1, 0xE5, 0x2, 0x0, 0xF6, 0x2, 0x0, 0x6, 0x3, 0x0, 0x16, 0x93, 0x1, 0x6, 0x98, 0x1, 0x46, 0xAB, 0x1, 0x6, 0xB0, 0x1, 0x76, 0x3, 0x0, 0x6, 0xC0, 0x1, 0x6, 0xC8, 0x1, 0xA7, 0x3, 0x0, 0xB7, 0x3, 0x0, 0x7, 0xE0, 0x1, 0x7, 0xE8, 0x1, 0xE7, 0x3, 0x0, 0x7, 0xF8, 0x1, 0x7, 0xC, 0x2, 0x27, 0x4, 0x0, 0x38, 0x24, 0x2, 0x8, 0x28, 0x2, 0x8, 0x30, 0x2, 0x8, 0x38, 0x2, 0x88, 0x4C, 0x2, 0x8, 0x50, 0x2, 0xB9, 0x4, 0x0, 0x9, 0x60, 0x2, 0x9, 0x68, 0x2, 0x9, 0x70, 0x2, 0xF9, 0x4, 0x0, 0x9, 0x80, 0x2, 0x1A, 0x5, 0x0, 0xA, 0x90, 0x2, 0xA, 0x98, 0x2, 0xA, 0xA0, 0x2, 0x5A, 0xB5, 0x2, 0x7B, 0x5, 0x0, 0xB, 0xC0, 0x2, 0x9B, 0x5, 0x0, 0xAB, 0xDD, 0x2, 0xCC, 0x5, 0x0, 0xC, 0xE8, 0x2, 0xEC, 0xFD, 0x2, 0xD, 0x6, 0x0, 0x1D, 0x16, 0x3, 0x3E, 0x6, 0x0, 0xE, 0x20, 0x3, 0x5F, 0x36, 0x3]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.Surrogate. - private static ReadOnlySpan SerializedCategory16_Surrogate => new byte[] { 0x2, 0x4, 0x0, 0x3, 0x0, 0x1B, 0x0, 0x2C, 0x0, 0x8D, 0x1, 0x4E, 0x0, 0x5F, 0x0, }; + private static ReadOnlySpan SerializedCategory16_Surrogate => [0x2, 0x4, 0x0, 0x3, 0x0, 0x1B, 0x0, 0x2C, 0x0, 0x8D, 0x1, 0x4E, 0x0, 0x5F, 0x0]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.PrivateUse. - private static ReadOnlySpan SerializedCategory17_PrivateUse => new byte[] { 0x2, 0x4, 0x0, 0x4, 0x0, 0x8, 0x1, 0x9, 0x2, 0xA, 0x3, 0x4B, 0x1, 0x5C, 0x1, 0x6D, 0x0, 0x7E, 0x0, 0x8F, 0x0, }; + private static ReadOnlySpan SerializedCategory17_PrivateUse => [0x2, 0x4, 0x0, 0x4, 0x0, 0x8, 0x1, 0x9, 0x2, 0xA, 0x3, 0x4B, 0x1, 0x5C, 0x1, 0x6D, 0x0, 0x7E, 0x0, 0x8F, 0x0]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.ConnectorPunctuation. - private static ReadOnlySpan SerializedCategory18_ConnectorPunctuation => new byte[] { 0x2, 0x4, 0x0, 0x6, 0x0, 0x10, 0x0, 0x0, 0x4, 0x21, 0x0, 0x11, 0x8, 0x1, 0xC, 0x21, 0x0, 0x42, 0x0, 0x52, 0x0, 0x62, 0x10, 0x62, 0x0, 0x2, 0x18, 0x72, 0x0, 0x83, 0x0, 0x93, 0x0, 0x3, 0x28, 0x3, 0x2C, 0x3, 0x30, 0xD3, 0x0, 0xE4, 0x0, 0x4, 0x3C, 0x4, 0x1, 0x14, 0x49, 0x34, 0x1, 0x45, 0x1, 0x5, 0x54, 0x65, 0x1, 0x5, 0x5C, 0x5, 0x60, 0x6, 0x64, 0xA6, 0x6D, 0xC6, 0x65, 0xD6, 0x1, 0x7, 0x78, 0x7, 0x7C, 0x7, 0x80, 0x7, 0x84, 0x28, 0x8E, 0x8, 0x90, 0x8, 0x94, 0x69, 0x2, 0x9, 0x9C, 0x9, 0xA0, 0x9A, 0x2, 0xA, 0xA8, 0xA, 0xAC, 0xCB, 0x2, 0xB, 0xB4, 0xB, 0xB8, 0xFC, 0x2, 0xC, 0xC0, 0xC, 0xC4, 0x2D, 0x3, 0x3D, 0xD3, 0x5E, 0x3, 0xE, 0xD8, 0x7F, 0xE3, }; + private static ReadOnlySpan SerializedCategory18_ConnectorPunctuation => [0x2, 0x4, 0x0, 0x6, 0x0, 0x10, 0x0, 0x0, 0x4, 0x21, 0x0, 0x11, 0x8, 0x1, 0xC, 0x21, 0x0, 0x42, 0x0, 0x52, 0x0, 0x62, 0x10, 0x62, 0x0, 0x2, 0x18, 0x72, 0x0, 0x83, 0x0, 0x93, 0x0, 0x3, 0x28, 0x3, 0x2C, 0x3, 0x30, 0xD3, 0x0, 0xE4, 0x0, 0x4, 0x3C, 0x4, 0x1, 0x14, 0x49, 0x34, 0x1, 0x45, 0x1, 0x5, 0x54, 0x65, 0x1, 0x5, 0x5C, 0x5, 0x60, 0x6, 0x64, 0xA6, 0x6D, 0xC6, 0x65, 0xD6, 0x1, 0x7, 0x78, 0x7, 0x7C, 0x7, 0x80, 0x7, 0x84, 0x28, 0x8E, 0x8, 0x90, 0x8, 0x94, 0x69, 0x2, 0x9, 0x9C, 0x9, 0xA0, 0x9A, 0x2, 0xA, 0xA8, 0xA, 0xAC, 0xCB, 0x2, 0xB, 0xB4, 0xB, 0xB8, 0xFC, 0x2, 0xC, 0xC0, 0xC, 0xC4, 0x2D, 0x3, 0x3D, 0xD3, 0x5E, 0x3, 0xE, 0xD8, 0x7F, 0xE3]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.DashPunctuation. - private static ReadOnlySpan SerializedCategory19_DashPunctuation => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1, 0x10, 0x0, 0x21, 0x0, 0x0, 0x1, 0x18, 0x0, 0x31, 0x10, 0x0, 0x11, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x8, 0x0, 0x1, 0x10, 0x0, 0x42, 0x0, 0x0, 0x2, 0x28, 0x0, 0x2, 0x30, 0x0, 0x2, 0x38, 0x0, 0x62, 0x0, 0x0, 0x2, 0x40, 0x0, 0x2, 0x48, 0x0, 0x52, 0x0, 0x0, 0xA2, 0x8, 0x0, 0x92, 0x0, 0x0, 0xB2, 0x0, 0x0, 0xC3, 0x0, 0x0, 0x3, 0x68, 0x0, 0xE3, 0x0, 0x0, 0x3, 0x78, 0x0, 0x3, 0x70, 0x0, 0x3, 0x1, 0x0, 0x13, 0x1, 0x0, 0x23, 0x99, 0x0, 0x3, 0xA0, 0x0, 0x3, 0xA8, 0x0, 0x53, 0x1, 0x0, 0x23, 0x1, 0x0, 0x63, 0x1, 0x0, 0x4, 0xB8, 0x0, 0x4, 0xC0, 0x0, 0x94, 0x1, 0x0, 0xA4, 0x1, 0x0, 0x4, 0xD8, 0x0, 0xB4, 0x1, 0x0, 0xC4, 0x1, 0x0, 0x74, 0xD9, 0x0, 0xD4, 0x1, 0x0, 0xE4, 0x1, 0x0, 0xF4, 0x1, 0x0, 0x4, 0x0, 0x1, 0x14, 0x2, 0x0, 0x4, 0x10, 0x1, 0x4, 0x18, 0x1, 0x5, 0x20, 0x1, 0x55, 0x32, 0x1, 0x75, 0x2, 0x0, 0x85, 0x2, 0x0, 0x95, 0x52, 0x1, 0x5, 0x58, 0x1, 0xC5, 0x6A, 0x1, 0x5, 0x70, 0x1, 0x5, 0x78, 0x1, 0x5, 0x40, 0x1, 0x5, 0x8B, 0x1, 0x25, 0x3, 0x0, 0x6, 0x98, 0x1, 0x46, 0xAB, 0x1, 0x6, 0xB0, 0x1, 0x6, 0xB8, 0x1, 0x86, 0xCB, 0x1, 0x6, 0xD0, 0x1, 0x6, 0xD8, 0x1, 0x6, 0xE0, 0x1, 0x6, 0xE8, 0x1, 0x6, 0xF0, 0x1, 0x7, 0xF8, 0x1, 0x7, 0x0, 0x2, 0x17, 0x14, 0x2, 0x7, 0x18, 0x2, 0x7, 0x20, 0x2, 0x7, 0x28, 0x2, 0x7, 0x30, 0x2, 0x77, 0x4, 0x0, 0x7, 0x40, 0x2, 0x98, 0x54, 0x2, 0x8, 0x58, 0x2, 0x8, 0x60, 0x2, 0x8, 0x68, 0x2, 0x8, 0x70, 0x2, 0x8, 0x78, 0x2, 0x8, 0x5, 0x0, 0x8, 0x88, 0x2, 0x29, 0x5, 0x0, 0x9, 0x98, 0x2, 0x49, 0x5, 0x0, 0x9, 0xA8, 0x2, 0x9, 0xB0, 0x2, 0x9, 0xB8, 0x2, 0x9, 0xC0, 0x2, 0x9, 0xC8, 0x2, 0xAA, 0x5, 0x0, 0xA, 0xD8, 0x2, 0xCA, 0x5, 0x0, 0xA, 0xE8, 0x2, 0xA, 0xF0, 0x2, 0xFA, 0x5, 0x0, 0xA, 0xE, 0x3, 0x2B, 0x6, 0x0, 0xB, 0x18, 0x3, 0x4B, 0x2E, 0x3, 0x6B, 0x3E, 0x3, 0xB, 0x40, 0x3, 0x9C, 0x6, 0x0, 0xAC, 0x5E, 0x3, 0xCC, 0x6E, 0x3, 0xED, 0x6, 0x0, 0xFD, 0x86, 0x3, 0x1E, 0x7, 0x0, 0xE, 0x90, 0x3, 0x3F, 0xA7, 0x3, }; + private static ReadOnlySpan SerializedCategory19_DashPunctuation => [0x3, 0x4, 0x0, 0x0, 0x7, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1, 0x10, 0x0, 0x21, 0x0, 0x0, 0x1, 0x18, 0x0, 0x31, 0x10, 0x0, 0x11, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x8, 0x0, 0x1, 0x10, 0x0, 0x42, 0x0, 0x0, 0x2, 0x28, 0x0, 0x2, 0x30, 0x0, 0x2, 0x38, 0x0, 0x62, 0x0, 0x0, 0x2, 0x40, 0x0, 0x2, 0x48, 0x0, 0x52, 0x0, 0x0, 0xA2, 0x8, 0x0, 0x92, 0x0, 0x0, 0xB2, 0x0, 0x0, 0xC3, 0x0, 0x0, 0x3, 0x68, 0x0, 0xE3, 0x0, 0x0, 0x3, 0x78, 0x0, 0x3, 0x70, 0x0, 0x3, 0x1, 0x0, 0x13, 0x1, 0x0, 0x23, 0x99, 0x0, 0x3, 0xA0, 0x0, 0x3, 0xA8, 0x0, 0x53, 0x1, 0x0, 0x23, 0x1, 0x0, 0x63, 0x1, 0x0, 0x4, 0xB8, 0x0, 0x4, 0xC0, 0x0, 0x94, 0x1, 0x0, 0xA4, 0x1, 0x0, 0x4, 0xD8, 0x0, 0xB4, 0x1, 0x0, 0xC4, 0x1, 0x0, 0x74, 0xD9, 0x0, 0xD4, 0x1, 0x0, 0xE4, 0x1, 0x0, 0xF4, 0x1, 0x0, 0x4, 0x0, 0x1, 0x14, 0x2, 0x0, 0x4, 0x10, 0x1, 0x4, 0x18, 0x1, 0x5, 0x20, 0x1, 0x55, 0x32, 0x1, 0x75, 0x2, 0x0, 0x85, 0x2, 0x0, 0x95, 0x52, 0x1, 0x5, 0x58, 0x1, 0xC5, 0x6A, 0x1, 0x5, 0x70, 0x1, 0x5, 0x78, 0x1, 0x5, 0x40, 0x1, 0x5, 0x8B, 0x1, 0x25, 0x3, 0x0, 0x6, 0x98, 0x1, 0x46, 0xAB, 0x1, 0x6, 0xB0, 0x1, 0x6, 0xB8, 0x1, 0x86, 0xCB, 0x1, 0x6, 0xD0, 0x1, 0x6, 0xD8, 0x1, 0x6, 0xE0, 0x1, 0x6, 0xE8, 0x1, 0x6, 0xF0, 0x1, 0x7, 0xF8, 0x1, 0x7, 0x0, 0x2, 0x17, 0x14, 0x2, 0x7, 0x18, 0x2, 0x7, 0x20, 0x2, 0x7, 0x28, 0x2, 0x7, 0x30, 0x2, 0x77, 0x4, 0x0, 0x7, 0x40, 0x2, 0x98, 0x54, 0x2, 0x8, 0x58, 0x2, 0x8, 0x60, 0x2, 0x8, 0x68, 0x2, 0x8, 0x70, 0x2, 0x8, 0x78, 0x2, 0x8, 0x5, 0x0, 0x8, 0x88, 0x2, 0x29, 0x5, 0x0, 0x9, 0x98, 0x2, 0x49, 0x5, 0x0, 0x9, 0xA8, 0x2, 0x9, 0xB0, 0x2, 0x9, 0xB8, 0x2, 0x9, 0xC0, 0x2, 0x9, 0xC8, 0x2, 0xAA, 0x5, 0x0, 0xA, 0xD8, 0x2, 0xCA, 0x5, 0x0, 0xA, 0xE8, 0x2, 0xA, 0xF0, 0x2, 0xFA, 0x5, 0x0, 0xA, 0xE, 0x3, 0x2B, 0x6, 0x0, 0xB, 0x18, 0x3, 0x4B, 0x2E, 0x3, 0x6B, 0x3E, 0x3, 0xB, 0x40, 0x3, 0x9C, 0x6, 0x0, 0xAC, 0x5E, 0x3, 0xCC, 0x6E, 0x3, 0xED, 0x6, 0x0, 0xFD, 0x86, 0x3, 0x1E, 0x7, 0x0, 0xE, 0x90, 0x3, 0x3F, 0xA7, 0x3]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.OpenPunctuation. - private static ReadOnlySpan SerializedCategory20_OpenPunctuation => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x10, 0x0, 0x10, 0x0, 0x0, 0x21, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x20, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x20, 0x0, 0x2, 0x40, 0x0, 0x2, 0x50, 0x0, 0x2, 0x60, 0x0, 0x72, 0x30, 0x0, 0x52, 0x30, 0x0, 0x32, 0x0, 0x0, 0x52, 0x0, 0x0, 0x72, 0x20, 0x0, 0x22, 0x60, 0x0, 0x2, 0x30, 0x0, 0x22, 0x40, 0x0, 0x62, 0x0, 0x0, 0x2, 0x20, 0x0, 0x32, 0x50, 0x0, 0x42, 0x0, 0x0, 0x72, 0x0, 0x0, 0x62, 0x20, 0x0, 0x2, 0x70, 0x0, 0x62, 0x40, 0x0, 0x2, 0x80, 0x0, 0x2, 0x90, 0x0, 0x2, 0xA0, 0x0, 0x3, 0xB0, 0x0, 0x53, 0x0, 0x0, 0xC3, 0x0, 0x0, 0xD3, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x3, 0xF0, 0x0, 0x33, 0x0, 0x1, 0x3, 0x10, 0x1, 0x13, 0x1, 0x0, 0x23, 0x31, 0x1, 0x23, 0x0, 0x0, 0x43, 0x1, 0x1, 0xD3, 0x50, 0x1, 0x63, 0x1, 0x0, 0x73, 0x1, 0x0, 0x3, 0x30, 0x0, 0x33, 0x80, 0x1, 0x23, 0x90, 0x1, 0x3, 0xA0, 0x1, 0x3, 0xB0, 0x1, 0xC3, 0x1, 0x0, 0xA3, 0x1, 0x0, 0x43, 0x0, 0x0, 0xD3, 0x1, 0x0, 0xE3, 0x1, 0x0, 0xF3, 0x1, 0x0, 0x3, 0x2, 0x0, 0x4, 0x10, 0x2, 0x24, 0x2, 0x0, 0x34, 0x2, 0x0, 0x4, 0x40, 0x2, 0x54, 0x62, 0x2, 0x74, 0x2, 0x0, 0x84, 0x2, 0x0, 0x94, 0x2, 0x0, 0xA4, 0xB2, 0x2, 0xC4, 0x12, 0x2, 0x4, 0xD0, 0x2, 0xE4, 0x2, 0x0, 0xF4, 0x2, 0x0, 0x4, 0x13, 0x3, 0x4, 0x20, 0x3, 0x4, 0x30, 0x3, 0x44, 0xB3, 0x2, 0x4, 0x50, 0x3, 0x4, 0xF0, 0x2, 0x4, 0x60, 0x3, 0x64, 0x3, 0x0, 0x74, 0x3, 0x0, 0x84, 0x3, 0x0, 0x94, 0x3, 0x0, 0xA4, 0x3, 0x0, 0x4, 0xB0, 0x3, 0xC5, 0xD3, 0x3, 0xE5, 0xF3, 0x3, 0x5, 0x0, 0x4, 0x15, 0x24, 0x4, 0x35, 0x4, 0x0, 0x5, 0x40, 0x4, 0x5, 0x50, 0x4, 0x65, 0x4, 0x0, 0x75, 0x84, 0x4, 0x5, 0x90, 0x4, 0xA5, 0xB4, 0x4, 0xC5, 0x4, 0x0, 0xD5, 0xE4, 0x4, 0x5, 0xF0, 0x4, 0x5, 0xB5, 0x4, 0x5, 0x10, 0x5, 0x5, 0xE0, 0x3, 0x25, 0x5, 0x0, 0x35, 0x45, 0x5, 0x55, 0x5, 0x0, 0x66, 0x75, 0x5, 0x86, 0x95, 0x5, 0x6, 0xA0, 0x5, 0x6, 0xB0, 0x5, 0xC6, 0xD5, 0x5, 0xE6, 0xF5, 0x5, 0x6, 0x6, 0x0, 0x16, 0x6, 0x0, 0x6, 0x20, 0x6, 0x6, 0x30, 0x6, 0x46, 0x56, 0x6, 0x6, 0x60, 0x6, 0x6, 0x70, 0x6, 0x86, 0x96, 0x6, 0x7, 0xA0, 0x6, 0x7, 0xB0, 0x6, 0x7, 0xC0, 0x6, 0x7, 0xD0, 0x6, 0x7, 0xE0, 0x6, 0xF7, 0x6, 0x0, 0x7, 0x17, 0x7, 0x7, 0x20, 0x7, 0x37, 0x47, 0x7, 0x57, 0x7, 0x0, 0x7, 0x60, 0x7, 0x7, 0x70, 0x7, 0x88, 0x97, 0x7, 0xA8, 0x7, 0x0, 0x8, 0xB0, 0x7, 0x8, 0xC0, 0x7, 0xD8, 0x7, 0x0, 0xE8, 0x7, 0x0, 0xF8, 0x7, 0x0, 0x8, 0x0, 0x8, 0x8, 0x10, 0x8, 0x28, 0x8, 0x0, 0x8, 0x30, 0x8, 0x49, 0x58, 0x8, 0x9, 0x60, 0x8, 0x79, 0x8, 0x0, 0x9, 0x80, 0x8, 0x99, 0x8, 0x0, 0xA9, 0xB8, 0x8, 0xC9, 0x8, 0x0, 0xD9, 0x8, 0x0, 0x9, 0xE0, 0x8, 0xFA, 0x8, 0x0, 0xA, 0x0, 0x9, 0x1A, 0x29, 0x9, 0x3A, 0x49, 0x9, 0x5A, 0x9, 0x0, 0x6A, 0x9, 0x0, 0xA, 0x70, 0x9, 0x8B, 0x9, 0x0, 0xB, 0x90, 0x9, 0xAB, 0xB9, 0x9, 0xB, 0xC0, 0x9, 0xDB, 0xE9, 0x9, 0xFC, 0x9, 0x0, 0xC, 0x1A, 0xA, 0x2C, 0x3A, 0xA, 0x4D, 0xA, 0x0, 0x5D, 0x6A, 0xA, 0x7E, 0xA, 0x0, 0xE, 0x80, 0xA, 0x9F, 0xAA, 0xA, }; + private static ReadOnlySpan SerializedCategory20_OpenPunctuation => [0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x10, 0x0, 0x10, 0x0, 0x0, 0x21, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x20, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x31, 0x0, 0x0, 0x1, 0x20, 0x0, 0x2, 0x40, 0x0, 0x2, 0x50, 0x0, 0x2, 0x60, 0x0, 0x72, 0x30, 0x0, 0x52, 0x30, 0x0, 0x32, 0x0, 0x0, 0x52, 0x0, 0x0, 0x72, 0x20, 0x0, 0x22, 0x60, 0x0, 0x2, 0x30, 0x0, 0x22, 0x40, 0x0, 0x62, 0x0, 0x0, 0x2, 0x20, 0x0, 0x32, 0x50, 0x0, 0x42, 0x0, 0x0, 0x72, 0x0, 0x0, 0x62, 0x20, 0x0, 0x2, 0x70, 0x0, 0x62, 0x40, 0x0, 0x2, 0x80, 0x0, 0x2, 0x90, 0x0, 0x2, 0xA0, 0x0, 0x3, 0xB0, 0x0, 0x53, 0x0, 0x0, 0xC3, 0x0, 0x0, 0xD3, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x3, 0xF0, 0x0, 0x33, 0x0, 0x1, 0x3, 0x10, 0x1, 0x13, 0x1, 0x0, 0x23, 0x31, 0x1, 0x23, 0x0, 0x0, 0x43, 0x1, 0x1, 0xD3, 0x50, 0x1, 0x63, 0x1, 0x0, 0x73, 0x1, 0x0, 0x3, 0x30, 0x0, 0x33, 0x80, 0x1, 0x23, 0x90, 0x1, 0x3, 0xA0, 0x1, 0x3, 0xB0, 0x1, 0xC3, 0x1, 0x0, 0xA3, 0x1, 0x0, 0x43, 0x0, 0x0, 0xD3, 0x1, 0x0, 0xE3, 0x1, 0x0, 0xF3, 0x1, 0x0, 0x3, 0x2, 0x0, 0x4, 0x10, 0x2, 0x24, 0x2, 0x0, 0x34, 0x2, 0x0, 0x4, 0x40, 0x2, 0x54, 0x62, 0x2, 0x74, 0x2, 0x0, 0x84, 0x2, 0x0, 0x94, 0x2, 0x0, 0xA4, 0xB2, 0x2, 0xC4, 0x12, 0x2, 0x4, 0xD0, 0x2, 0xE4, 0x2, 0x0, 0xF4, 0x2, 0x0, 0x4, 0x13, 0x3, 0x4, 0x20, 0x3, 0x4, 0x30, 0x3, 0x44, 0xB3, 0x2, 0x4, 0x50, 0x3, 0x4, 0xF0, 0x2, 0x4, 0x60, 0x3, 0x64, 0x3, 0x0, 0x74, 0x3, 0x0, 0x84, 0x3, 0x0, 0x94, 0x3, 0x0, 0xA4, 0x3, 0x0, 0x4, 0xB0, 0x3, 0xC5, 0xD3, 0x3, 0xE5, 0xF3, 0x3, 0x5, 0x0, 0x4, 0x15, 0x24, 0x4, 0x35, 0x4, 0x0, 0x5, 0x40, 0x4, 0x5, 0x50, 0x4, 0x65, 0x4, 0x0, 0x75, 0x84, 0x4, 0x5, 0x90, 0x4, 0xA5, 0xB4, 0x4, 0xC5, 0x4, 0x0, 0xD5, 0xE4, 0x4, 0x5, 0xF0, 0x4, 0x5, 0xB5, 0x4, 0x5, 0x10, 0x5, 0x5, 0xE0, 0x3, 0x25, 0x5, 0x0, 0x35, 0x45, 0x5, 0x55, 0x5, 0x0, 0x66, 0x75, 0x5, 0x86, 0x95, 0x5, 0x6, 0xA0, 0x5, 0x6, 0xB0, 0x5, 0xC6, 0xD5, 0x5, 0xE6, 0xF5, 0x5, 0x6, 0x6, 0x0, 0x16, 0x6, 0x0, 0x6, 0x20, 0x6, 0x6, 0x30, 0x6, 0x46, 0x56, 0x6, 0x6, 0x60, 0x6, 0x6, 0x70, 0x6, 0x86, 0x96, 0x6, 0x7, 0xA0, 0x6, 0x7, 0xB0, 0x6, 0x7, 0xC0, 0x6, 0x7, 0xD0, 0x6, 0x7, 0xE0, 0x6, 0xF7, 0x6, 0x0, 0x7, 0x17, 0x7, 0x7, 0x20, 0x7, 0x37, 0x47, 0x7, 0x57, 0x7, 0x0, 0x7, 0x60, 0x7, 0x7, 0x70, 0x7, 0x88, 0x97, 0x7, 0xA8, 0x7, 0x0, 0x8, 0xB0, 0x7, 0x8, 0xC0, 0x7, 0xD8, 0x7, 0x0, 0xE8, 0x7, 0x0, 0xF8, 0x7, 0x0, 0x8, 0x0, 0x8, 0x8, 0x10, 0x8, 0x28, 0x8, 0x0, 0x8, 0x30, 0x8, 0x49, 0x58, 0x8, 0x9, 0x60, 0x8, 0x79, 0x8, 0x0, 0x9, 0x80, 0x8, 0x99, 0x8, 0x0, 0xA9, 0xB8, 0x8, 0xC9, 0x8, 0x0, 0xD9, 0x8, 0x0, 0x9, 0xE0, 0x8, 0xFA, 0x8, 0x0, 0xA, 0x0, 0x9, 0x1A, 0x29, 0x9, 0x3A, 0x49, 0x9, 0x5A, 0x9, 0x0, 0x6A, 0x9, 0x0, 0xA, 0x70, 0x9, 0x8B, 0x9, 0x0, 0xB, 0x90, 0x9, 0xAB, 0xB9, 0x9, 0xB, 0xC0, 0x9, 0xDB, 0xE9, 0x9, 0xFC, 0x9, 0x0, 0xC, 0x1A, 0xA, 0x2C, 0x3A, 0xA, 0x4D, 0xA, 0x0, 0x5D, 0x6A, 0xA, 0x7E, 0xA, 0x0, 0xE, 0x80, 0xA, 0x9F, 0xAA, 0xA]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.ClosePunctuation. - private static ReadOnlySpan SerializedCategory21_ClosePunctuation => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x21, 0x30, 0x0, 0x1, 0x20, 0x0, 0x31, 0x0, 0x0, 0x1, 0x30, 0x0, 0x11, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1, 0x20, 0x0, 0x1, 0x20, 0x0, 0x1, 0x20, 0x0, 0x2, 0x40, 0x0, 0x52, 0x0, 0x0, 0x2, 0x50, 0x0, 0x32, 0x60, 0x0, 0x2, 0x70, 0x0, 0x72, 0x30, 0x0, 0x62, 0x0, 0x0, 0x82, 0x20, 0x0, 0x22, 0x50, 0x0, 0x22, 0x90, 0x0, 0x2, 0x20, 0x0, 0x32, 0x0, 0x0, 0x92, 0x0, 0x0, 0x52, 0x20, 0x0, 0x2, 0x60, 0x0, 0x72, 0x0, 0x0, 0x52, 0x90, 0x0, 0xA2, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x3, 0xD0, 0x0, 0xE3, 0x0, 0x0, 0xF3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x13, 0x21, 0x1, 0x33, 0x30, 0x1, 0x13, 0x1, 0x0, 0x33, 0x1, 0x0, 0x43, 0x51, 0x1, 0x23, 0x0, 0x0, 0x23, 0x31, 0x1, 0xF3, 0x60, 0x1, 0x73, 0x1, 0x0, 0x13, 0x31, 0x0, 0x33, 0x80, 0x1, 0x23, 0x90, 0x1, 0x3, 0x30, 0x1, 0x3, 0xA0, 0x1, 0xB3, 0x1, 0x0, 0xC3, 0x1, 0x0, 0xD3, 0x1, 0x0, 0xE3, 0x1, 0x0, 0xF3, 0x1, 0x0, 0x3, 0x2, 0x0, 0x4, 0x10, 0x2, 0x24, 0x2, 0x0, 0x4, 0x30, 0x2, 0x44, 0x52, 0x2, 0x64, 0x2, 0x0, 0x74, 0x2, 0x0, 0x84, 0x2, 0x0, 0x94, 0xA2, 0x2, 0xB4, 0x2, 0x0, 0x4, 0xC0, 0x2, 0xD4, 0x2, 0x0, 0xE4, 0xF2, 0x2, 0x4, 0x0, 0x3, 0x4, 0x10, 0x3, 0x24, 0xA3, 0x2, 0x4, 0x30, 0x3, 0x4, 0xD0, 0x2, 0x4, 0x80, 0x2, 0x44, 0x3, 0x0, 0x54, 0x3, 0x0, 0x64, 0x3, 0x0, 0x74, 0x3, 0x0, 0x4, 0x80, 0x3, 0x95, 0xA3, 0x3, 0xA5, 0xB3, 0x3, 0x5, 0xC0, 0x3, 0xD5, 0xE3, 0x3, 0xF5, 0x3, 0x0, 0x5, 0x0, 0x4, 0x5, 0x10, 0x4, 0x25, 0x4, 0x0, 0xA5, 0x33, 0x4, 0x5, 0x40, 0x4, 0x55, 0x64, 0x4, 0x75, 0x4, 0x0, 0x85, 0x94, 0x4, 0x5, 0xA0, 0x4, 0xF5, 0x63, 0x4, 0x5, 0xB0, 0x4, 0xC5, 0x4, 0x0, 0xD5, 0xE4, 0x4, 0xF5, 0x4, 0x0, 0x6, 0x15, 0x5, 0x26, 0x35, 0x5, 0x6, 0x40, 0x5, 0x6, 0x50, 0x5, 0x66, 0x75, 0x5, 0x86, 0x95, 0x5, 0xA6, 0x5, 0x0, 0xB6, 0x5, 0x0, 0x6, 0xC0, 0x5, 0x6, 0xD0, 0x5, 0xE6, 0x5, 0x0, 0x6, 0xF0, 0x5, 0x6, 0x0, 0x6, 0x16, 0x26, 0x6, 0x7, 0x30, 0x6, 0x7, 0x40, 0x6, 0x7, 0x50, 0x6, 0x7, 0x60, 0x6, 0x7, 0x70, 0x6, 0x87, 0x6, 0x0, 0x97, 0xA6, 0x6, 0x7, 0xB0, 0x6, 0xC7, 0xD6, 0x6, 0xE7, 0x6, 0x0, 0x7, 0xF0, 0x6, 0x7, 0x0, 0x7, 0x18, 0x27, 0x7, 0x38, 0x7, 0x0, 0x8, 0x40, 0x7, 0x8, 0x50, 0x7, 0x68, 0x7, 0x0, 0x78, 0x7, 0x0, 0x88, 0x7, 0x0, 0x8, 0x90, 0x7, 0x8, 0xA0, 0x7, 0xB8, 0x7, 0x0, 0x8, 0xC0, 0x7, 0xD9, 0xE7, 0x7, 0x9, 0xF0, 0x7, 0x9, 0x8, 0x0, 0x9, 0x10, 0x8, 0x29, 0x8, 0x0, 0x39, 0x48, 0x8, 0x59, 0x8, 0x0, 0x69, 0x8, 0x0, 0x9, 0x70, 0x8, 0x8A, 0x8, 0x0, 0xA, 0x90, 0x8, 0xAA, 0xB8, 0x8, 0xCA, 0xD8, 0x8, 0xEA, 0x8, 0x0, 0xFA, 0x8, 0x0, 0xA, 0x0, 0x9, 0x1B, 0x9, 0x0, 0xB, 0x20, 0x9, 0x3B, 0x49, 0x9, 0xB, 0x50, 0x9, 0x6B, 0x79, 0x9, 0x8C, 0x9, 0x0, 0x9C, 0xA9, 0x9, 0xBC, 0xC9, 0x9, 0xDD, 0x9, 0x0, 0xED, 0xF9, 0x9, 0xE, 0xA, 0x0, 0xE, 0x10, 0xA, 0x2F, 0x3A, 0xA, }; + private static ReadOnlySpan SerializedCategory21_ClosePunctuation => [0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x21, 0x30, 0x0, 0x1, 0x20, 0x0, 0x31, 0x0, 0x0, 0x1, 0x30, 0x0, 0x11, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1, 0x20, 0x0, 0x1, 0x20, 0x0, 0x1, 0x20, 0x0, 0x2, 0x40, 0x0, 0x52, 0x0, 0x0, 0x2, 0x50, 0x0, 0x32, 0x60, 0x0, 0x2, 0x70, 0x0, 0x72, 0x30, 0x0, 0x62, 0x0, 0x0, 0x82, 0x20, 0x0, 0x22, 0x50, 0x0, 0x22, 0x90, 0x0, 0x2, 0x20, 0x0, 0x32, 0x0, 0x0, 0x92, 0x0, 0x0, 0x52, 0x20, 0x0, 0x2, 0x60, 0x0, 0x72, 0x0, 0x0, 0x52, 0x90, 0x0, 0xA2, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x3, 0xD0, 0x0, 0xE3, 0x0, 0x0, 0xF3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x13, 0x21, 0x1, 0x33, 0x30, 0x1, 0x13, 0x1, 0x0, 0x33, 0x1, 0x0, 0x43, 0x51, 0x1, 0x23, 0x0, 0x0, 0x23, 0x31, 0x1, 0xF3, 0x60, 0x1, 0x73, 0x1, 0x0, 0x13, 0x31, 0x0, 0x33, 0x80, 0x1, 0x23, 0x90, 0x1, 0x3, 0x30, 0x1, 0x3, 0xA0, 0x1, 0xB3, 0x1, 0x0, 0xC3, 0x1, 0x0, 0xD3, 0x1, 0x0, 0xE3, 0x1, 0x0, 0xF3, 0x1, 0x0, 0x3, 0x2, 0x0, 0x4, 0x10, 0x2, 0x24, 0x2, 0x0, 0x4, 0x30, 0x2, 0x44, 0x52, 0x2, 0x64, 0x2, 0x0, 0x74, 0x2, 0x0, 0x84, 0x2, 0x0, 0x94, 0xA2, 0x2, 0xB4, 0x2, 0x0, 0x4, 0xC0, 0x2, 0xD4, 0x2, 0x0, 0xE4, 0xF2, 0x2, 0x4, 0x0, 0x3, 0x4, 0x10, 0x3, 0x24, 0xA3, 0x2, 0x4, 0x30, 0x3, 0x4, 0xD0, 0x2, 0x4, 0x80, 0x2, 0x44, 0x3, 0x0, 0x54, 0x3, 0x0, 0x64, 0x3, 0x0, 0x74, 0x3, 0x0, 0x4, 0x80, 0x3, 0x95, 0xA3, 0x3, 0xA5, 0xB3, 0x3, 0x5, 0xC0, 0x3, 0xD5, 0xE3, 0x3, 0xF5, 0x3, 0x0, 0x5, 0x0, 0x4, 0x5, 0x10, 0x4, 0x25, 0x4, 0x0, 0xA5, 0x33, 0x4, 0x5, 0x40, 0x4, 0x55, 0x64, 0x4, 0x75, 0x4, 0x0, 0x85, 0x94, 0x4, 0x5, 0xA0, 0x4, 0xF5, 0x63, 0x4, 0x5, 0xB0, 0x4, 0xC5, 0x4, 0x0, 0xD5, 0xE4, 0x4, 0xF5, 0x4, 0x0, 0x6, 0x15, 0x5, 0x26, 0x35, 0x5, 0x6, 0x40, 0x5, 0x6, 0x50, 0x5, 0x66, 0x75, 0x5, 0x86, 0x95, 0x5, 0xA6, 0x5, 0x0, 0xB6, 0x5, 0x0, 0x6, 0xC0, 0x5, 0x6, 0xD0, 0x5, 0xE6, 0x5, 0x0, 0x6, 0xF0, 0x5, 0x6, 0x0, 0x6, 0x16, 0x26, 0x6, 0x7, 0x30, 0x6, 0x7, 0x40, 0x6, 0x7, 0x50, 0x6, 0x7, 0x60, 0x6, 0x7, 0x70, 0x6, 0x87, 0x6, 0x0, 0x97, 0xA6, 0x6, 0x7, 0xB0, 0x6, 0xC7, 0xD6, 0x6, 0xE7, 0x6, 0x0, 0x7, 0xF0, 0x6, 0x7, 0x0, 0x7, 0x18, 0x27, 0x7, 0x38, 0x7, 0x0, 0x8, 0x40, 0x7, 0x8, 0x50, 0x7, 0x68, 0x7, 0x0, 0x78, 0x7, 0x0, 0x88, 0x7, 0x0, 0x8, 0x90, 0x7, 0x8, 0xA0, 0x7, 0xB8, 0x7, 0x0, 0x8, 0xC0, 0x7, 0xD9, 0xE7, 0x7, 0x9, 0xF0, 0x7, 0x9, 0x8, 0x0, 0x9, 0x10, 0x8, 0x29, 0x8, 0x0, 0x39, 0x48, 0x8, 0x59, 0x8, 0x0, 0x69, 0x8, 0x0, 0x9, 0x70, 0x8, 0x8A, 0x8, 0x0, 0xA, 0x90, 0x8, 0xAA, 0xB8, 0x8, 0xCA, 0xD8, 0x8, 0xEA, 0x8, 0x0, 0xFA, 0x8, 0x0, 0xA, 0x0, 0x9, 0x1B, 0x9, 0x0, 0xB, 0x20, 0x9, 0x3B, 0x49, 0x9, 0xB, 0x50, 0x9, 0x6B, 0x79, 0x9, 0x8C, 0x9, 0x0, 0x9C, 0xA9, 0x9, 0xBC, 0xC9, 0x9, 0xDD, 0x9, 0x0, 0xED, 0xF9, 0x9, 0xE, 0xA, 0x0, 0xE, 0x10, 0xA, 0x2F, 0x3A, 0xA]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.InitialQuotePunctuation. - private static ReadOnlySpan SerializedCategory22_InitialQuotePunctuation => new byte[] { 0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x1, 0x8, 0x1, 0xC, 0x21, 0x0, 0x31, 0x8, 0x31, 0x0, 0x2, 0x10, 0x42, 0x0, 0x42, 0x14, 0x42, 0x18, 0x2, 0x14, 0x2, 0x20, 0x3, 0x24, 0xA3, 0x0, 0xB3, 0x30, 0xD3, 0x0, 0x73, 0x0, 0xE3, 0x0, 0x4, 0x3C, 0x4, 0x45, 0x24, 0x1, 0x34, 0x1, 0x4, 0x50, 0x55, 0x59, 0x75, 0x61, 0x95, 0x1, 0x6, 0x68, 0x6, 0x6C, 0x6, 0x70, 0x7, 0x74, 0x7, 0x78, 0xF7, 0x1, 0x8, 0x80, 0x8, 0x84, 0x8, 0x88, 0x39, 0x2, 0x9, 0x90, 0x9, 0x94, 0x6A, 0x2, 0xA, 0x9C, 0xA, 0xA0, 0x9B, 0xAA, 0xB, 0xAC, 0xC, 0xB0, 0xC, 0xB4, 0xED, 0xBE, 0xE, 0xC0, 0xF, 0xC4, }; + private static ReadOnlySpan SerializedCategory22_InitialQuotePunctuation => [0x2, 0x4, 0x0, 0x6, 0x0, 0x0, 0x4, 0x10, 0x0, 0x1, 0x8, 0x1, 0xC, 0x21, 0x0, 0x31, 0x8, 0x31, 0x0, 0x2, 0x10, 0x42, 0x0, 0x42, 0x14, 0x42, 0x18, 0x2, 0x14, 0x2, 0x20, 0x3, 0x24, 0xA3, 0x0, 0xB3, 0x30, 0xD3, 0x0, 0x73, 0x0, 0xE3, 0x0, 0x4, 0x3C, 0x4, 0x45, 0x24, 0x1, 0x34, 0x1, 0x4, 0x50, 0x55, 0x59, 0x75, 0x61, 0x95, 0x1, 0x6, 0x68, 0x6, 0x6C, 0x6, 0x70, 0x7, 0x74, 0x7, 0x78, 0xF7, 0x1, 0x8, 0x80, 0x8, 0x84, 0x8, 0x88, 0x39, 0x2, 0x9, 0x90, 0x9, 0x94, 0x6A, 0x2, 0xA, 0x9C, 0xA, 0xA0, 0x9B, 0xAA, 0xB, 0xAC, 0xC, 0xB0, 0xC, 0xB4, 0xED, 0xBE, 0xE, 0xC0, 0xF, 0xC4]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.FinalQuotePunctuation. - private static ReadOnlySpan SerializedCategory23_FinalQuotePunctuation => new byte[] { 0x2, 0x4, 0x0, 0x6, 0x0, 0x10, 0x0, 0x0, 0x4, 0x1, 0x8, 0x31, 0x0, 0x21, 0x0, 0x2, 0x10, 0x42, 0x0, 0x42, 0x14, 0x42, 0x18, 0x2, 0x14, 0x2, 0x18, 0x3, 0x1C, 0x83, 0x0, 0x93, 0x28, 0xB3, 0x0, 0x43, 0x0, 0xC3, 0x0, 0x4, 0x34, 0xE4, 0x3C, 0x4, 0x1, 0x14, 0x1, 0x24, 0x1, 0x35, 0x51, 0x55, 0x59, 0x75, 0x1, 0x6, 0x60, 0x6, 0x64, 0x6, 0x68, 0x7, 0x6C, 0x7, 0x70, 0xD7, 0x1, 0x8, 0x78, 0x8, 0x7C, 0x8, 0x80, 0x19, 0x2, 0x9, 0x88, 0x9, 0x8C, 0x4A, 0x2, 0xA, 0x94, 0xA, 0x98, 0x7B, 0xA2, 0xB, 0xA4, 0xC, 0xA8, 0xC, 0xAC, 0xCD, 0xB6, 0xE, 0xB8, 0xF, 0xBC, }; + private static ReadOnlySpan SerializedCategory23_FinalQuotePunctuation => [0x2, 0x4, 0x0, 0x6, 0x0, 0x10, 0x0, 0x0, 0x4, 0x1, 0x8, 0x31, 0x0, 0x21, 0x0, 0x2, 0x10, 0x42, 0x0, 0x42, 0x14, 0x42, 0x18, 0x2, 0x14, 0x2, 0x18, 0x3, 0x1C, 0x83, 0x0, 0x93, 0x28, 0xB3, 0x0, 0x43, 0x0, 0xC3, 0x0, 0x4, 0x34, 0xE4, 0x3C, 0x4, 0x1, 0x14, 0x1, 0x24, 0x1, 0x35, 0x51, 0x55, 0x59, 0x75, 0x1, 0x6, 0x60, 0x6, 0x64, 0x6, 0x68, 0x7, 0x6C, 0x7, 0x70, 0xD7, 0x1, 0x8, 0x78, 0x8, 0x7C, 0x8, 0x80, 0x19, 0x2, 0x9, 0x88, 0x9, 0x8C, 0x4A, 0x2, 0xA, 0x94, 0xA, 0x98, 0x7B, 0xA2, 0xB, 0xA4, 0xC, 0xA8, 0xC, 0xAC, 0xCD, 0xB6, 0xE, 0xB8, 0xF, 0xBC]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.OtherPunctuation. - private static ReadOnlySpan SerializedCategory24_OtherPunctuation => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x20, 0x0, 0x1, 0x20, 0x0, 0x1, 0x40, 0x0, 0x1, 0x60, 0x0, 0x21, 0x0, 0x0, 0x11, 0x0, 0x0, 0x11, 0x60, 0x0, 0x31, 0x0, 0x0, 0x11, 0x40, 0x0, 0x31, 0x20, 0x0, 0x31, 0x40, 0x0, 0x21, 0x20, 0x0, 0x21, 0x60, 0x0, 0x1, 0x60, 0x0, 0x31, 0x0, 0x0, 0x42, 0xA0, 0x0, 0x62, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x72, 0x0, 0x1, 0x92, 0x40, 0x1, 0x2, 0x20, 0x1, 0x2, 0x80, 0x0, 0x72, 0x0, 0x0, 0x12, 0x80, 0x1, 0x62, 0x60, 0x1, 0xD2, 0x0, 0x0, 0x2, 0xA0, 0x0, 0xC2, 0x20, 0x0, 0x2, 0xE0, 0x0, 0x82, 0x0, 0x0, 0x12, 0x0, 0x0, 0x42, 0x20, 0x0, 0x12, 0x60, 0x1, 0x62, 0x80, 0x1, 0x12, 0x0, 0x1, 0xA2, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x52, 0x0, 0x0, 0x2, 0x60, 0x1, 0x62, 0x0, 0x1, 0x12, 0x40, 0x0, 0x12, 0x80, 0x0, 0xC2, 0x0, 0x1, 0x82, 0xC0, 0x1, 0x82, 0xE0, 0x1, 0x82, 0x80, 0x0, 0x92, 0x60, 0x1, 0xB2, 0xC0, 0x1, 0x72, 0x60, 0x1, 0xC2, 0xE0, 0x1, 0x12, 0xE0, 0x0, 0x42, 0x0, 0x0, 0x2, 0x80, 0x1, 0xE2, 0x20, 0x0, 0xC2, 0x0, 0x0, 0x42, 0xE0, 0x0, 0x2, 0xA0, 0x1, 0x62, 0x20, 0x0, 0x2, 0x0, 0x1, 0x42, 0x0, 0x1, 0xB2, 0xE0, 0x0, 0x42, 0xA0, 0x1, 0x62, 0xE0, 0x0, 0xA2, 0xE0, 0x1, 0x72, 0xA0, 0x0, 0x2, 0x1, 0x0, 0x92, 0x20, 0x2, 0x3, 0x40, 0x2, 0x33, 0x1, 0x0, 0x3, 0x80, 0x2, 0x53, 0x1, 0x0, 0x63, 0x61, 0x1, 0x73, 0x1, 0x3, 0x93, 0x41, 0x3, 0xB3, 0x81, 0x3, 0xD3, 0xC1, 0x3, 0xF3, 0x1, 0x0, 0x3, 0x0, 0x3, 0x3, 0x2, 0x0, 0x13, 0x2, 0x0, 0x23, 0x62, 0x4, 0x93, 0x1, 0x0, 0x43, 0x2, 0x0, 0x3, 0x20, 0x4, 0x3, 0xA0, 0x4, 0x63, 0xE2, 0x3, 0x73, 0x2, 0x0, 0x83, 0x2, 0x0, 0x3, 0x20, 0x5, 0x3, 0x40, 0x5, 0x13, 0x60, 0x5, 0xC3, 0x22, 0x0, 0xD3, 0x2, 0x0, 0xE3, 0xC2, 0x3, 0xF3, 0x2, 0x6, 0x13, 0x3, 0x0, 0xE3, 0x41, 0x6, 0x13, 0x60, 0x6, 0x43, 0x23, 0x0, 0x3, 0x20, 0x0, 0x3, 0x0, 0x4, 0x3, 0xE0, 0x3, 0x53, 0x3, 0x0, 0xC3, 0x1, 0x0, 0x53, 0x2, 0x0, 0x23, 0xC2, 0x3, 0x3, 0xC0, 0x6, 0x73, 0x3, 0x7, 0x73, 0x23, 0x7, 0x3, 0x80, 0x3, 0xA3, 0x3, 0x0, 0x63, 0x2, 0x0, 0x43, 0x21, 0x0, 0xB3, 0x83, 0x7, 0x3, 0x0, 0x5, 0x3, 0x80, 0x4, 0x13, 0x20, 0x4, 0xD3, 0x3, 0x0, 0x3, 0x60, 0x2, 0x3, 0x20, 0x3, 0x3, 0xC0, 0x4, 0xE3, 0x21, 0x0, 0x83, 0x21, 0x3, 0x23, 0x22, 0x0, 0xE3, 0x3, 0x0, 0xF3, 0x3, 0x0, 0x3, 0x4, 0x0, 0x3, 0x20, 0x8, 0x3, 0x40, 0x8, 0xD3, 0x1, 0x0, 0x93, 0x1, 0x4, 0x3, 0x60, 0x8, 0x43, 0x4, 0x0, 0x53, 0x64, 0x1, 0x4, 0xC0, 0x8, 0x74, 0x4, 0x9, 0x94, 0x44, 0x9, 0x4, 0x60, 0x9, 0xC4, 0xA4, 0x9, 0x84, 0x4, 0x0, 0xE4, 0x4, 0x0, 0x4, 0xE0, 0x9, 0x4, 0x5, 0x0, 0x14, 0x5, 0x0, 0x24, 0x5, 0x0, 0x14, 0x65, 0xA, 0x44, 0x5, 0x0, 0x4, 0x20, 0xA, 0x54, 0x5, 0x0, 0x64, 0x5, 0x0, 0x74, 0x5, 0x0, 0x84, 0x5, 0x0, 0x4, 0x20, 0xB, 0xF4, 0x4, 0x0, 0xA4, 0x5, 0x0, 0x4, 0x60, 0xB, 0xC4, 0xA5, 0xB, 0xE4, 0xE5, 0xB, 0x4, 0x26, 0xC, 0x24, 0x6, 0x0, 0x34, 0x86, 0xC, 0x54, 0xC6, 0xC, 0x74, 0x6, 0x0, 0x84, 0xC6, 0xC, 0x94, 0x6, 0x0, 0xA4, 0x6, 0x9, 0xB4, 0x6, 0x0, 0x4, 0x80, 0xD, 0x4, 0xA0, 0xD, 0x4, 0xC0, 0xD, 0xF4, 0x6, 0x0, 0x4, 0x7, 0x0, 0x4, 0x20, 0xE, 0x4, 0x40, 0xE, 0x4, 0x60, 0xE, 0x4, 0x60, 0xD, 0x44, 0x7, 0x0, 0x4, 0xA0, 0xE, 0x64, 0xE7, 0xE, 0x84, 0x87, 0xA, 0x94, 0x7, 0x0, 0x4, 0x20, 0xF, 0xA4, 0x7, 0x0, 0xB4, 0x7, 0x0, 0x84, 0xA4, 0xD, 0x24, 0x7, 0x0, 0xC4, 0x7, 0x0, 0xD4, 0x7, 0x0, 0x4, 0xC0, 0xF, 0x4, 0xE0, 0xF, 0x4, 0x28, 0x10, 0x24, 0x8, 0x0, 0x4, 0x60, 0x10, 0x4, 0x80, 0x10, 0x4, 0x40, 0xF, 0x54, 0xC8, 0x10, 0x74, 0x8, 0x9, 0x94, 0x4, 0x11, 0x95, 0x8, 0x0, 0xA5, 0x68, 0x11, 0xC5, 0xA8, 0x11, 0xE5, 0xE8, 0x11, 0x5, 0x9, 0x0, 0x15, 0x49, 0x12, 0x5, 0x60, 0x12, 0x5, 0x80, 0x12, 0x5, 0xA0, 0x12, 0x65, 0x9, 0x0, 0x75, 0xC9, 0x12, 0x85, 0x9, 0x0, 0x95, 0x9, 0x0, 0xA5, 0x9, 0x0, 0x5, 0x60, 0x13, 0x25, 0x9, 0x0, 0xC5, 0x9, 0x0, 0xD5, 0xC9, 0x13, 0x5, 0xE0, 0x13, 0x5, 0x2A, 0x14, 0xE5, 0x8, 0x0, 0x25, 0xA, 0x0, 0x5, 0x60, 0x14, 0x45, 0xAA, 0x14, 0x5, 0xC0, 0x14, 0x75, 0xA, 0x0, 0x35, 0x9, 0x0, 0x85, 0x2A, 0x15, 0xA5, 0xA, 0x0, 0x5, 0x40, 0x12, 0x5, 0x60, 0x15, 0x5, 0x80, 0x15, 0x5, 0xA0, 0x15, 0xE5, 0xA, 0x0, 0xF5, 0xA, 0x0, 0x5, 0xB, 0x0, 0x15, 0xB, 0x0, 0x5, 0x40, 0x16, 0x5, 0x60, 0x16, 0x5, 0x80, 0x16, 0x5, 0xA0, 0x16, 0x5, 0xC0, 0x16, 0x75, 0xB, 0x0, 0x5, 0x0, 0x17, 0x95, 0xB, 0x0, 0xA5, 0xB, 0x0, 0xD5, 0x9, 0x0, 0xB5, 0xB, 0x0, 0x5, 0x80, 0x17, 0xD5, 0xB, 0x0, 0xE5, 0xB, 0x0, 0x5, 0xE0, 0x17, 0x5, 0xE0, 0x16, 0x5, 0xC, 0x0, 0x5, 0x20, 0x18, 0x25, 0x6C, 0x18, 0x5, 0x80, 0x18, 0x5, 0x20, 0x15, 0x5, 0xA0, 0x18, 0xC5, 0xB, 0x0, 0x65, 0xC, 0x0, 0x5, 0xE0, 0x18, 0x85, 0xC, 0x0, 0x96, 0x4C, 0x19, 0xB6, 0x8C, 0x19, 0xD6, 0xC, 0x0, 0xE6, 0xC, 0x0, 0xF6, 0xC, 0x0, 0x6, 0xD, 0x0, 0x16, 0x4D, 0x1A, 0x36, 0xD, 0x0, 0x46, 0xD, 0x0, 0x56, 0xD, 0x0, 0x66, 0xED, 0x1A, 0x86, 0xD, 0x0, 0x96, 0xD, 0x0, 0x6, 0x40, 0x1B, 0xB6, 0x8D, 0x1B, 0xD6, 0xD, 0x0, 0xE6, 0xD, 0x0, 0xF6, 0xD, 0x1C, 0x16, 0xE, 0x0, 0x86, 0x4D, 0x1C, 0x36, 0xE, 0x0, 0x46, 0xE, 0x0, 0x6, 0xA0, 0x1C, 0x6, 0xC0, 0x1C, 0x76, 0xE, 0x0, 0x6, 0x0, 0x1D, 0x96, 0xE, 0x0, 0x6, 0x40, 0x1D, 0xB6, 0xE, 0x0, 0xC6, 0xE, 0x0, 0xD6, 0xE, 0x0, 0xE6, 0xE, 0x0, 0xF6, 0xE, 0x1E, 0x6, 0x20, 0x1E, 0x26, 0xF, 0x0, 0x36, 0xF, 0x0, 0x6, 0x80, 0x1E, 0x56, 0xF, 0x0, 0x66, 0xF, 0x0, 0x76, 0xF, 0x0, 0x86, 0xF, 0x0, 0x96, 0x4F, 0x1F, 0xB6, 0xF, 0x0, 0x6, 0x80, 0x1F, 0xD6, 0xF, 0x0, 0xE6, 0xEF, 0x1F, 0x6, 0x30, 0x20, 0x26, 0x10, 0x0, 0x6, 0x60, 0x20, 0x46, 0x10, 0x0, 0x6, 0xA0, 0x20, 0x66, 0xF0, 0x20, 0x7, 0x0, 0x21, 0x7, 0x20, 0x21, 0xA7, 0x10, 0x0, 0xB7, 0x90, 0x21, 0xD7, 0xD0, 0x21, 0xF7, 0x10, 0x22, 0x17, 0x51, 0x22, 0x37, 0x11, 0x0, 0x47, 0xB1, 0x22, 0x7, 0xC0, 0x22, 0x7, 0xE0, 0x22, 0x87, 0x11, 0x0, 0x7, 0x20, 0x23, 0xA7, 0x71, 0x23, 0xC7, 0xB1, 0x23, 0xE7, 0xF1, 0x23, 0x7, 0x0, 0x24, 0x7, 0x20, 0x24, 0x27, 0x72, 0x24, 0x47, 0xB2, 0x24, 0x7, 0xC0, 0x24, 0x47, 0xF1, 0x24, 0x87, 0x32, 0x25, 0x7, 0x40, 0x25, 0xB7, 0x12, 0x0, 0xC7, 0xB2, 0x25, 0x77, 0xD1, 0x25, 0xF7, 0x12, 0x26, 0x7, 0x20, 0x26, 0x27, 0x73, 0x26, 0x47, 0xB3, 0x26, 0x67, 0xF3, 0x26, 0x87, 0x33, 0x27, 0xA7, 0x73, 0x27, 0xC8, 0xB3, 0x27, 0xE8, 0xF3, 0x27, 0x8, 0x34, 0x28, 0x8, 0x40, 0x28, 0x8, 0x60, 0x28, 0x8, 0x80, 0x28, 0x8, 0xA0, 0x28, 0x68, 0xF4, 0x28, 0x8, 0x0, 0x29, 0x8, 0x20, 0x29, 0xA8, 0x74, 0x29, 0xC8, 0xB4, 0x29, 0xE8, 0xF4, 0x29, 0x8, 0x15, 0x0, 0x8, 0x20, 0x2A, 0x28, 0x75, 0x2A, 0x48, 0xB5, 0x2A, 0x8, 0xC0, 0x2A, 0x78, 0x15, 0x2B, 0x98, 0x55, 0x2B, 0xB8, 0x15, 0x0, 0xC8, 0x15, 0x0, 0x8, 0xA0, 0x2B, 0xE9, 0x15, 0x0, 0xF9, 0x15, 0x2C, 0x19, 0x56, 0x2C, 0x9, 0x60, 0x2C, 0x49, 0xB6, 0x2C, 0x9, 0xC0, 0x2C, 0x9, 0xE0, 0x2C, 0x89, 0x36, 0x2D, 0xA9, 0x16, 0x0, 0xB9, 0x96, 0x2D, 0xD9, 0xD6, 0x2D, 0xF9, 0x16, 0x2E, 0x19, 0x57, 0x2E, 0x39, 0x97, 0x2E, 0x5A, 0x17, 0x0, 0xA, 0xC0, 0x2E, 0x7A, 0x17, 0x0, 0xA, 0x0, 0x2F, 0x9A, 0x17, 0x0, 0xA, 0x40, 0x2F, 0xBA, 0x97, 0x2F, 0xDA, 0xD7, 0x2F, 0xFA, 0x17, 0x30, 0x1A, 0x58, 0x30, 0x3B, 0x18, 0x0, 0x4B, 0xB8, 0x30, 0xB, 0xC0, 0x30, 0x7B, 0x18, 0x31, 0x9B, 0x58, 0x31, 0xBB, 0x98, 0x31, 0xDC, 0x18, 0x0, 0xC, 0xC0, 0x31, 0xFC, 0x18, 0x32, 0x1C, 0x59, 0x32, 0x3D, 0x19, 0x0, 0x4D, 0x19, 0x0, 0x5D, 0xD9, 0x32, 0x7E, 0x19, 0x33, 0xE, 0x20, 0x33, 0xAF, 0x79, 0x33, }; + private static ReadOnlySpan SerializedCategory24_OtherPunctuation => [0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x20, 0x0, 0x1, 0x20, 0x0, 0x1, 0x40, 0x0, 0x1, 0x60, 0x0, 0x21, 0x0, 0x0, 0x11, 0x0, 0x0, 0x11, 0x60, 0x0, 0x31, 0x0, 0x0, 0x11, 0x40, 0x0, 0x31, 0x20, 0x0, 0x31, 0x40, 0x0, 0x21, 0x20, 0x0, 0x21, 0x60, 0x0, 0x1, 0x60, 0x0, 0x31, 0x0, 0x0, 0x42, 0xA0, 0x0, 0x62, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x72, 0x0, 0x1, 0x92, 0x40, 0x1, 0x2, 0x20, 0x1, 0x2, 0x80, 0x0, 0x72, 0x0, 0x0, 0x12, 0x80, 0x1, 0x62, 0x60, 0x1, 0xD2, 0x0, 0x0, 0x2, 0xA0, 0x0, 0xC2, 0x20, 0x0, 0x2, 0xE0, 0x0, 0x82, 0x0, 0x0, 0x12, 0x0, 0x0, 0x42, 0x20, 0x0, 0x12, 0x60, 0x1, 0x62, 0x80, 0x1, 0x12, 0x0, 0x1, 0xA2, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x52, 0x0, 0x0, 0x2, 0x60, 0x1, 0x62, 0x0, 0x1, 0x12, 0x40, 0x0, 0x12, 0x80, 0x0, 0xC2, 0x0, 0x1, 0x82, 0xC0, 0x1, 0x82, 0xE0, 0x1, 0x82, 0x80, 0x0, 0x92, 0x60, 0x1, 0xB2, 0xC0, 0x1, 0x72, 0x60, 0x1, 0xC2, 0xE0, 0x1, 0x12, 0xE0, 0x0, 0x42, 0x0, 0x0, 0x2, 0x80, 0x1, 0xE2, 0x20, 0x0, 0xC2, 0x0, 0x0, 0x42, 0xE0, 0x0, 0x2, 0xA0, 0x1, 0x62, 0x20, 0x0, 0x2, 0x0, 0x1, 0x42, 0x0, 0x1, 0xB2, 0xE0, 0x0, 0x42, 0xA0, 0x1, 0x62, 0xE0, 0x0, 0xA2, 0xE0, 0x1, 0x72, 0xA0, 0x0, 0x2, 0x1, 0x0, 0x92, 0x20, 0x2, 0x3, 0x40, 0x2, 0x33, 0x1, 0x0, 0x3, 0x80, 0x2, 0x53, 0x1, 0x0, 0x63, 0x61, 0x1, 0x73, 0x1, 0x3, 0x93, 0x41, 0x3, 0xB3, 0x81, 0x3, 0xD3, 0xC1, 0x3, 0xF3, 0x1, 0x0, 0x3, 0x0, 0x3, 0x3, 0x2, 0x0, 0x13, 0x2, 0x0, 0x23, 0x62, 0x4, 0x93, 0x1, 0x0, 0x43, 0x2, 0x0, 0x3, 0x20, 0x4, 0x3, 0xA0, 0x4, 0x63, 0xE2, 0x3, 0x73, 0x2, 0x0, 0x83, 0x2, 0x0, 0x3, 0x20, 0x5, 0x3, 0x40, 0x5, 0x13, 0x60, 0x5, 0xC3, 0x22, 0x0, 0xD3, 0x2, 0x0, 0xE3, 0xC2, 0x3, 0xF3, 0x2, 0x6, 0x13, 0x3, 0x0, 0xE3, 0x41, 0x6, 0x13, 0x60, 0x6, 0x43, 0x23, 0x0, 0x3, 0x20, 0x0, 0x3, 0x0, 0x4, 0x3, 0xE0, 0x3, 0x53, 0x3, 0x0, 0xC3, 0x1, 0x0, 0x53, 0x2, 0x0, 0x23, 0xC2, 0x3, 0x3, 0xC0, 0x6, 0x73, 0x3, 0x7, 0x73, 0x23, 0x7, 0x3, 0x80, 0x3, 0xA3, 0x3, 0x0, 0x63, 0x2, 0x0, 0x43, 0x21, 0x0, 0xB3, 0x83, 0x7, 0x3, 0x0, 0x5, 0x3, 0x80, 0x4, 0x13, 0x20, 0x4, 0xD3, 0x3, 0x0, 0x3, 0x60, 0x2, 0x3, 0x20, 0x3, 0x3, 0xC0, 0x4, 0xE3, 0x21, 0x0, 0x83, 0x21, 0x3, 0x23, 0x22, 0x0, 0xE3, 0x3, 0x0, 0xF3, 0x3, 0x0, 0x3, 0x4, 0x0, 0x3, 0x20, 0x8, 0x3, 0x40, 0x8, 0xD3, 0x1, 0x0, 0x93, 0x1, 0x4, 0x3, 0x60, 0x8, 0x43, 0x4, 0x0, 0x53, 0x64, 0x1, 0x4, 0xC0, 0x8, 0x74, 0x4, 0x9, 0x94, 0x44, 0x9, 0x4, 0x60, 0x9, 0xC4, 0xA4, 0x9, 0x84, 0x4, 0x0, 0xE4, 0x4, 0x0, 0x4, 0xE0, 0x9, 0x4, 0x5, 0x0, 0x14, 0x5, 0x0, 0x24, 0x5, 0x0, 0x14, 0x65, 0xA, 0x44, 0x5, 0x0, 0x4, 0x20, 0xA, 0x54, 0x5, 0x0, 0x64, 0x5, 0x0, 0x74, 0x5, 0x0, 0x84, 0x5, 0x0, 0x4, 0x20, 0xB, 0xF4, 0x4, 0x0, 0xA4, 0x5, 0x0, 0x4, 0x60, 0xB, 0xC4, 0xA5, 0xB, 0xE4, 0xE5, 0xB, 0x4, 0x26, 0xC, 0x24, 0x6, 0x0, 0x34, 0x86, 0xC, 0x54, 0xC6, 0xC, 0x74, 0x6, 0x0, 0x84, 0xC6, 0xC, 0x94, 0x6, 0x0, 0xA4, 0x6, 0x9, 0xB4, 0x6, 0x0, 0x4, 0x80, 0xD, 0x4, 0xA0, 0xD, 0x4, 0xC0, 0xD, 0xF4, 0x6, 0x0, 0x4, 0x7, 0x0, 0x4, 0x20, 0xE, 0x4, 0x40, 0xE, 0x4, 0x60, 0xE, 0x4, 0x60, 0xD, 0x44, 0x7, 0x0, 0x4, 0xA0, 0xE, 0x64, 0xE7, 0xE, 0x84, 0x87, 0xA, 0x94, 0x7, 0x0, 0x4, 0x20, 0xF, 0xA4, 0x7, 0x0, 0xB4, 0x7, 0x0, 0x84, 0xA4, 0xD, 0x24, 0x7, 0x0, 0xC4, 0x7, 0x0, 0xD4, 0x7, 0x0, 0x4, 0xC0, 0xF, 0x4, 0xE0, 0xF, 0x4, 0x28, 0x10, 0x24, 0x8, 0x0, 0x4, 0x60, 0x10, 0x4, 0x80, 0x10, 0x4, 0x40, 0xF, 0x54, 0xC8, 0x10, 0x74, 0x8, 0x9, 0x94, 0x4, 0x11, 0x95, 0x8, 0x0, 0xA5, 0x68, 0x11, 0xC5, 0xA8, 0x11, 0xE5, 0xE8, 0x11, 0x5, 0x9, 0x0, 0x15, 0x49, 0x12, 0x5, 0x60, 0x12, 0x5, 0x80, 0x12, 0x5, 0xA0, 0x12, 0x65, 0x9, 0x0, 0x75, 0xC9, 0x12, 0x85, 0x9, 0x0, 0x95, 0x9, 0x0, 0xA5, 0x9, 0x0, 0x5, 0x60, 0x13, 0x25, 0x9, 0x0, 0xC5, 0x9, 0x0, 0xD5, 0xC9, 0x13, 0x5, 0xE0, 0x13, 0x5, 0x2A, 0x14, 0xE5, 0x8, 0x0, 0x25, 0xA, 0x0, 0x5, 0x60, 0x14, 0x45, 0xAA, 0x14, 0x5, 0xC0, 0x14, 0x75, 0xA, 0x0, 0x35, 0x9, 0x0, 0x85, 0x2A, 0x15, 0xA5, 0xA, 0x0, 0x5, 0x40, 0x12, 0x5, 0x60, 0x15, 0x5, 0x80, 0x15, 0x5, 0xA0, 0x15, 0xE5, 0xA, 0x0, 0xF5, 0xA, 0x0, 0x5, 0xB, 0x0, 0x15, 0xB, 0x0, 0x5, 0x40, 0x16, 0x5, 0x60, 0x16, 0x5, 0x80, 0x16, 0x5, 0xA0, 0x16, 0x5, 0xC0, 0x16, 0x75, 0xB, 0x0, 0x5, 0x0, 0x17, 0x95, 0xB, 0x0, 0xA5, 0xB, 0x0, 0xD5, 0x9, 0x0, 0xB5, 0xB, 0x0, 0x5, 0x80, 0x17, 0xD5, 0xB, 0x0, 0xE5, 0xB, 0x0, 0x5, 0xE0, 0x17, 0x5, 0xE0, 0x16, 0x5, 0xC, 0x0, 0x5, 0x20, 0x18, 0x25, 0x6C, 0x18, 0x5, 0x80, 0x18, 0x5, 0x20, 0x15, 0x5, 0xA0, 0x18, 0xC5, 0xB, 0x0, 0x65, 0xC, 0x0, 0x5, 0xE0, 0x18, 0x85, 0xC, 0x0, 0x96, 0x4C, 0x19, 0xB6, 0x8C, 0x19, 0xD6, 0xC, 0x0, 0xE6, 0xC, 0x0, 0xF6, 0xC, 0x0, 0x6, 0xD, 0x0, 0x16, 0x4D, 0x1A, 0x36, 0xD, 0x0, 0x46, 0xD, 0x0, 0x56, 0xD, 0x0, 0x66, 0xED, 0x1A, 0x86, 0xD, 0x0, 0x96, 0xD, 0x0, 0x6, 0x40, 0x1B, 0xB6, 0x8D, 0x1B, 0xD6, 0xD, 0x0, 0xE6, 0xD, 0x0, 0xF6, 0xD, 0x1C, 0x16, 0xE, 0x0, 0x86, 0x4D, 0x1C, 0x36, 0xE, 0x0, 0x46, 0xE, 0x0, 0x6, 0xA0, 0x1C, 0x6, 0xC0, 0x1C, 0x76, 0xE, 0x0, 0x6, 0x0, 0x1D, 0x96, 0xE, 0x0, 0x6, 0x40, 0x1D, 0xB6, 0xE, 0x0, 0xC6, 0xE, 0x0, 0xD6, 0xE, 0x0, 0xE6, 0xE, 0x0, 0xF6, 0xE, 0x1E, 0x6, 0x20, 0x1E, 0x26, 0xF, 0x0, 0x36, 0xF, 0x0, 0x6, 0x80, 0x1E, 0x56, 0xF, 0x0, 0x66, 0xF, 0x0, 0x76, 0xF, 0x0, 0x86, 0xF, 0x0, 0x96, 0x4F, 0x1F, 0xB6, 0xF, 0x0, 0x6, 0x80, 0x1F, 0xD6, 0xF, 0x0, 0xE6, 0xEF, 0x1F, 0x6, 0x30, 0x20, 0x26, 0x10, 0x0, 0x6, 0x60, 0x20, 0x46, 0x10, 0x0, 0x6, 0xA0, 0x20, 0x66, 0xF0, 0x20, 0x7, 0x0, 0x21, 0x7, 0x20, 0x21, 0xA7, 0x10, 0x0, 0xB7, 0x90, 0x21, 0xD7, 0xD0, 0x21, 0xF7, 0x10, 0x22, 0x17, 0x51, 0x22, 0x37, 0x11, 0x0, 0x47, 0xB1, 0x22, 0x7, 0xC0, 0x22, 0x7, 0xE0, 0x22, 0x87, 0x11, 0x0, 0x7, 0x20, 0x23, 0xA7, 0x71, 0x23, 0xC7, 0xB1, 0x23, 0xE7, 0xF1, 0x23, 0x7, 0x0, 0x24, 0x7, 0x20, 0x24, 0x27, 0x72, 0x24, 0x47, 0xB2, 0x24, 0x7, 0xC0, 0x24, 0x47, 0xF1, 0x24, 0x87, 0x32, 0x25, 0x7, 0x40, 0x25, 0xB7, 0x12, 0x0, 0xC7, 0xB2, 0x25, 0x77, 0xD1, 0x25, 0xF7, 0x12, 0x26, 0x7, 0x20, 0x26, 0x27, 0x73, 0x26, 0x47, 0xB3, 0x26, 0x67, 0xF3, 0x26, 0x87, 0x33, 0x27, 0xA7, 0x73, 0x27, 0xC8, 0xB3, 0x27, 0xE8, 0xF3, 0x27, 0x8, 0x34, 0x28, 0x8, 0x40, 0x28, 0x8, 0x60, 0x28, 0x8, 0x80, 0x28, 0x8, 0xA0, 0x28, 0x68, 0xF4, 0x28, 0x8, 0x0, 0x29, 0x8, 0x20, 0x29, 0xA8, 0x74, 0x29, 0xC8, 0xB4, 0x29, 0xE8, 0xF4, 0x29, 0x8, 0x15, 0x0, 0x8, 0x20, 0x2A, 0x28, 0x75, 0x2A, 0x48, 0xB5, 0x2A, 0x8, 0xC0, 0x2A, 0x78, 0x15, 0x2B, 0x98, 0x55, 0x2B, 0xB8, 0x15, 0x0, 0xC8, 0x15, 0x0, 0x8, 0xA0, 0x2B, 0xE9, 0x15, 0x0, 0xF9, 0x15, 0x2C, 0x19, 0x56, 0x2C, 0x9, 0x60, 0x2C, 0x49, 0xB6, 0x2C, 0x9, 0xC0, 0x2C, 0x9, 0xE0, 0x2C, 0x89, 0x36, 0x2D, 0xA9, 0x16, 0x0, 0xB9, 0x96, 0x2D, 0xD9, 0xD6, 0x2D, 0xF9, 0x16, 0x2E, 0x19, 0x57, 0x2E, 0x39, 0x97, 0x2E, 0x5A, 0x17, 0x0, 0xA, 0xC0, 0x2E, 0x7A, 0x17, 0x0, 0xA, 0x0, 0x2F, 0x9A, 0x17, 0x0, 0xA, 0x40, 0x2F, 0xBA, 0x97, 0x2F, 0xDA, 0xD7, 0x2F, 0xFA, 0x17, 0x30, 0x1A, 0x58, 0x30, 0x3B, 0x18, 0x0, 0x4B, 0xB8, 0x30, 0xB, 0xC0, 0x30, 0x7B, 0x18, 0x31, 0x9B, 0x58, 0x31, 0xBB, 0x98, 0x31, 0xDC, 0x18, 0x0, 0xC, 0xC0, 0x31, 0xFC, 0x18, 0x32, 0x1C, 0x59, 0x32, 0x3D, 0x19, 0x0, 0x4D, 0x19, 0x0, 0x5D, 0xD9, 0x32, 0x7E, 0x19, 0x33, 0xE, 0x20, 0x33, 0xAF, 0x79, 0x33]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.MathSymbol. - private static ReadOnlySpan SerializedCategory25_MathSymbol => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x10, 0x0, 0x10, 0x0, 0x0, 0x1, 0x20, 0x0, 0x11, 0x30, 0x0, 0x21, 0x0, 0x0, 0x21, 0x10, 0x0, 0x31, 0x0, 0x0, 0x1, 0x30, 0x0, 0x31, 0x20, 0x0, 0x11, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x31, 0x0, 0x0, 0x42, 0x50, 0x0, 0x2, 0x60, 0x0, 0x22, 0x0, 0x0, 0x72, 0x0, 0x0, 0x2, 0x80, 0x0, 0x72, 0x60, 0x0, 0x2, 0x90, 0x0, 0x42, 0x10, 0x0, 0xA2, 0x10, 0x0, 0xB2, 0x10, 0x0, 0x12, 0x0, 0x0, 0x12, 0x50, 0x0, 0x2, 0x70, 0x0, 0xC2, 0x10, 0x0, 0x82, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x2, 0x10, 0x0, 0x12, 0x80, 0x0, 0x42, 0x0, 0x0, 0x42, 0x60, 0x0, 0xB2, 0x0, 0x0, 0x62, 0x0, 0x0, 0x62, 0xA0, 0x0, 0x2, 0xB0, 0x0, 0x2, 0x40, 0x0, 0x42, 0xB0, 0x0, 0xD2, 0x0, 0x0, 0x2, 0xE0, 0x0, 0xF3, 0x0, 0x1, 0x13, 0x1, 0x0, 0x23, 0x1, 0x0, 0x33, 0x1, 0x0, 0x3, 0x40, 0x1, 0x53, 0x1, 0x0, 0x63, 0x71, 0x1, 0x83, 0x11, 0x0, 0x93, 0x11, 0x0, 0xA3, 0x1, 0x0, 0x3, 0xB0, 0x1, 0x3, 0xC0, 0x1, 0x13, 0x70, 0x1, 0xD3, 0x1, 0x0, 0x13, 0x0, 0x0, 0x3, 0x50, 0x1, 0x3, 0xD0, 0x1, 0x3, 0xE0, 0x1, 0x93, 0x1, 0x0, 0x3, 0xF0, 0x1, 0x3, 0x2, 0x0, 0x13, 0x2, 0x0, 0x13, 0x90, 0x1, 0x3, 0x20, 0x2, 0x33, 0x2, 0x0, 0x43, 0x52, 0x2, 0x63, 0x62, 0x1, 0x33, 0x61, 0x1, 0x73, 0x2, 0x0, 0x83, 0x2, 0x0, 0x3, 0x0, 0x1, 0x3, 0x10, 0x2, 0x73, 0x32, 0x2, 0x3, 0x40, 0x2, 0x93, 0x2, 0x0, 0xA3, 0x2, 0x0, 0x4, 0xB0, 0x2, 0xC4, 0x2, 0x0, 0xD4, 0xE2, 0x2, 0x4, 0xF0, 0x2, 0x4, 0x0, 0x3, 0x4, 0x10, 0x3, 0x14, 0x0, 0x0, 0x24, 0x13, 0x0, 0x34, 0x13, 0x0, 0x44, 0x53, 0x3, 0x14, 0x60, 0x3, 0x14, 0x70, 0x3, 0x4, 0x80, 0x3, 0x94, 0x3, 0x0, 0x4, 0xA0, 0x3, 0xB4, 0x3, 0x0, 0x4, 0xC0, 0x3, 0xD4, 0x3, 0x0, 0xE4, 0x13, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x4, 0x0, 0x14, 0x4, 0x0, 0x24, 0x34, 0x4, 0x4, 0x40, 0x4, 0x54, 0x4, 0x0, 0x4, 0x60, 0x4, 0x74, 0x4, 0x0, 0x4, 0x80, 0x4, 0x84, 0x4, 0x0, 0x94, 0xA4, 0x4, 0x4, 0xB0, 0x4, 0xC4, 0x4, 0x0, 0xA4, 0x3, 0x4, 0xD4, 0x4, 0x0, 0xD4, 0xE2, 0x4, 0xF5, 0x4, 0x0, 0x5, 0x0, 0x5, 0x5, 0x10, 0x5, 0x25, 0x5, 0x0, 0x35, 0x5, 0x0, 0x5, 0x40, 0x5, 0x55, 0x5, 0x0, 0x65, 0x75, 0x5, 0x15, 0x80, 0x5, 0x95, 0xA5, 0x5, 0xB5, 0x5, 0x0, 0xC5, 0xD5, 0x5, 0xE5, 0x5, 0x0, 0xF5, 0x5, 0x6, 0x15, 0x26, 0x6, 0x35, 0x6, 0x0, 0xF5, 0x5, 0x0, 0x45, 0x56, 0x6, 0x65, 0x76, 0x6, 0x5, 0x80, 0x6, 0x5, 0x90, 0x6, 0x5, 0xA0, 0x6, 0xB5, 0xC6, 0x6, 0x5, 0xD0, 0x6, 0xE5, 0x6, 0x0, 0xF5, 0x6, 0x0, 0x5, 0x7, 0x0, 0x15, 0x7, 0x0, 0x26, 0x7, 0x0, 0x36, 0x47, 0x7, 0x56, 0x7, 0x0, 0x6, 0x60, 0x7, 0x76, 0x87, 0x7, 0x96, 0xA7, 0x7, 0xB6, 0x7, 0x0, 0xC6, 0x7, 0x0, 0xD6, 0xE7, 0x7, 0xF6, 0x7, 0x8, 0x16, 0x28, 0x8, 0x36, 0x48, 0x8, 0x56, 0x68, 0x8, 0x6, 0x70, 0x8, 0x86, 0x8, 0x0, 0x6, 0x90, 0x8, 0xA6, 0x8, 0x0, 0xE6, 0xB5, 0x8, 0xC6, 0xD8, 0x8, 0xE7, 0xF8, 0x8, 0x7, 0x0, 0x9, 0x7, 0x10, 0x9, 0x7, 0x20, 0x9, 0x37, 0x19, 0x0, 0x47, 0x9, 0x0, 0x7, 0x50, 0x9, 0x67, 0x9, 0x0, 0x77, 0x89, 0x9, 0x97, 0xA9, 0x9, 0xB7, 0xC9, 0x9, 0x7, 0xD0, 0x9, 0xE7, 0x9, 0x0, 0xF7, 0x9, 0xA, 0x18, 0x2A, 0xA, 0x38, 0xA, 0x0, 0x48, 0x1A, 0x0, 0x58, 0xA, 0x0, 0x68, 0x7A, 0xA, 0x88, 0xA, 0x0, 0x98, 0x1A, 0x0, 0xA8, 0xBA, 0xA, 0x8, 0xC0, 0xA, 0xD8, 0xA, 0x0, 0x8, 0xE0, 0xA, 0xF9, 0xA, 0x0, 0x9, 0xB, 0x0, 0x19, 0x2B, 0xB, 0x39, 0x4B, 0xB, 0x59, 0x6B, 0xB, 0x79, 0xB, 0x0, 0x89, 0x9B, 0xB, 0xAA, 0xBB, 0xB, 0xA, 0xC0, 0xB, 0xDA, 0xEB, 0xB, 0xFA, 0xB, 0xC, 0x1B, 0xC, 0x0, 0x2B, 0x3C, 0xC, 0xB, 0x40, 0xC, 0x5C, 0xC, 0x0, 0xC, 0x60, 0xC, 0xC, 0x70, 0xC, 0x8D, 0xC, 0x0, 0x9D, 0xAC, 0xC, 0xBE, 0xC, 0x0, 0xE, 0xC0, 0xC, 0xDF, 0xEC, 0xC, }; + private static ReadOnlySpan SerializedCategory25_MathSymbol => [0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x10, 0x0, 0x10, 0x0, 0x0, 0x1, 0x20, 0x0, 0x11, 0x30, 0x0, 0x21, 0x0, 0x0, 0x21, 0x10, 0x0, 0x31, 0x0, 0x0, 0x1, 0x30, 0x0, 0x31, 0x20, 0x0, 0x11, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x31, 0x0, 0x0, 0x42, 0x50, 0x0, 0x2, 0x60, 0x0, 0x22, 0x0, 0x0, 0x72, 0x0, 0x0, 0x2, 0x80, 0x0, 0x72, 0x60, 0x0, 0x2, 0x90, 0x0, 0x42, 0x10, 0x0, 0xA2, 0x10, 0x0, 0xB2, 0x10, 0x0, 0x12, 0x0, 0x0, 0x12, 0x50, 0x0, 0x2, 0x70, 0x0, 0xC2, 0x10, 0x0, 0x82, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x2, 0x10, 0x0, 0x12, 0x80, 0x0, 0x42, 0x0, 0x0, 0x42, 0x60, 0x0, 0xB2, 0x0, 0x0, 0x62, 0x0, 0x0, 0x62, 0xA0, 0x0, 0x2, 0xB0, 0x0, 0x2, 0x40, 0x0, 0x42, 0xB0, 0x0, 0xD2, 0x0, 0x0, 0x2, 0xE0, 0x0, 0xF3, 0x0, 0x1, 0x13, 0x1, 0x0, 0x23, 0x1, 0x0, 0x33, 0x1, 0x0, 0x3, 0x40, 0x1, 0x53, 0x1, 0x0, 0x63, 0x71, 0x1, 0x83, 0x11, 0x0, 0x93, 0x11, 0x0, 0xA3, 0x1, 0x0, 0x3, 0xB0, 0x1, 0x3, 0xC0, 0x1, 0x13, 0x70, 0x1, 0xD3, 0x1, 0x0, 0x13, 0x0, 0x0, 0x3, 0x50, 0x1, 0x3, 0xD0, 0x1, 0x3, 0xE0, 0x1, 0x93, 0x1, 0x0, 0x3, 0xF0, 0x1, 0x3, 0x2, 0x0, 0x13, 0x2, 0x0, 0x13, 0x90, 0x1, 0x3, 0x20, 0x2, 0x33, 0x2, 0x0, 0x43, 0x52, 0x2, 0x63, 0x62, 0x1, 0x33, 0x61, 0x1, 0x73, 0x2, 0x0, 0x83, 0x2, 0x0, 0x3, 0x0, 0x1, 0x3, 0x10, 0x2, 0x73, 0x32, 0x2, 0x3, 0x40, 0x2, 0x93, 0x2, 0x0, 0xA3, 0x2, 0x0, 0x4, 0xB0, 0x2, 0xC4, 0x2, 0x0, 0xD4, 0xE2, 0x2, 0x4, 0xF0, 0x2, 0x4, 0x0, 0x3, 0x4, 0x10, 0x3, 0x14, 0x0, 0x0, 0x24, 0x13, 0x0, 0x34, 0x13, 0x0, 0x44, 0x53, 0x3, 0x14, 0x60, 0x3, 0x14, 0x70, 0x3, 0x4, 0x80, 0x3, 0x94, 0x3, 0x0, 0x4, 0xA0, 0x3, 0xB4, 0x3, 0x0, 0x4, 0xC0, 0x3, 0xD4, 0x3, 0x0, 0xE4, 0x13, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x4, 0x0, 0x14, 0x4, 0x0, 0x24, 0x34, 0x4, 0x4, 0x40, 0x4, 0x54, 0x4, 0x0, 0x4, 0x60, 0x4, 0x74, 0x4, 0x0, 0x4, 0x80, 0x4, 0x84, 0x4, 0x0, 0x94, 0xA4, 0x4, 0x4, 0xB0, 0x4, 0xC4, 0x4, 0x0, 0xA4, 0x3, 0x4, 0xD4, 0x4, 0x0, 0xD4, 0xE2, 0x4, 0xF5, 0x4, 0x0, 0x5, 0x0, 0x5, 0x5, 0x10, 0x5, 0x25, 0x5, 0x0, 0x35, 0x5, 0x0, 0x5, 0x40, 0x5, 0x55, 0x5, 0x0, 0x65, 0x75, 0x5, 0x15, 0x80, 0x5, 0x95, 0xA5, 0x5, 0xB5, 0x5, 0x0, 0xC5, 0xD5, 0x5, 0xE5, 0x5, 0x0, 0xF5, 0x5, 0x6, 0x15, 0x26, 0x6, 0x35, 0x6, 0x0, 0xF5, 0x5, 0x0, 0x45, 0x56, 0x6, 0x65, 0x76, 0x6, 0x5, 0x80, 0x6, 0x5, 0x90, 0x6, 0x5, 0xA0, 0x6, 0xB5, 0xC6, 0x6, 0x5, 0xD0, 0x6, 0xE5, 0x6, 0x0, 0xF5, 0x6, 0x0, 0x5, 0x7, 0x0, 0x15, 0x7, 0x0, 0x26, 0x7, 0x0, 0x36, 0x47, 0x7, 0x56, 0x7, 0x0, 0x6, 0x60, 0x7, 0x76, 0x87, 0x7, 0x96, 0xA7, 0x7, 0xB6, 0x7, 0x0, 0xC6, 0x7, 0x0, 0xD6, 0xE7, 0x7, 0xF6, 0x7, 0x8, 0x16, 0x28, 0x8, 0x36, 0x48, 0x8, 0x56, 0x68, 0x8, 0x6, 0x70, 0x8, 0x86, 0x8, 0x0, 0x6, 0x90, 0x8, 0xA6, 0x8, 0x0, 0xE6, 0xB5, 0x8, 0xC6, 0xD8, 0x8, 0xE7, 0xF8, 0x8, 0x7, 0x0, 0x9, 0x7, 0x10, 0x9, 0x7, 0x20, 0x9, 0x37, 0x19, 0x0, 0x47, 0x9, 0x0, 0x7, 0x50, 0x9, 0x67, 0x9, 0x0, 0x77, 0x89, 0x9, 0x97, 0xA9, 0x9, 0xB7, 0xC9, 0x9, 0x7, 0xD0, 0x9, 0xE7, 0x9, 0x0, 0xF7, 0x9, 0xA, 0x18, 0x2A, 0xA, 0x38, 0xA, 0x0, 0x48, 0x1A, 0x0, 0x58, 0xA, 0x0, 0x68, 0x7A, 0xA, 0x88, 0xA, 0x0, 0x98, 0x1A, 0x0, 0xA8, 0xBA, 0xA, 0x8, 0xC0, 0xA, 0xD8, 0xA, 0x0, 0x8, 0xE0, 0xA, 0xF9, 0xA, 0x0, 0x9, 0xB, 0x0, 0x19, 0x2B, 0xB, 0x39, 0x4B, 0xB, 0x59, 0x6B, 0xB, 0x79, 0xB, 0x0, 0x89, 0x9B, 0xB, 0xAA, 0xBB, 0xB, 0xA, 0xC0, 0xB, 0xDA, 0xEB, 0xB, 0xFA, 0xB, 0xC, 0x1B, 0xC, 0x0, 0x2B, 0x3C, 0xC, 0xB, 0x40, 0xC, 0x5C, 0xC, 0x0, 0xC, 0x60, 0xC, 0xC, 0x70, 0xC, 0x8D, 0xC, 0x0, 0x9D, 0xAC, 0xC, 0xBE, 0xC, 0x0, 0xE, 0xC0, 0xC, 0xDF, 0xEC, 0xC]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.CurrencySymbol. - private static ReadOnlySpan SerializedCategory26_CurrencySymbol => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x10, 0x0, 0x10, 0x0, 0x0, 0x21, 0x30, 0x0, 0x1, 0x10, 0x0, 0x1, 0x20, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x20, 0x0, 0x42, 0x50, 0x0, 0x62, 0x0, 0x0, 0x2, 0x70, 0x0, 0x2, 0x60, 0x0, 0x2, 0x80, 0x0, 0x82, 0x0, 0x0, 0x2, 0x90, 0x0, 0x92, 0x0, 0x0, 0x52, 0x90, 0x0, 0xA2, 0x0, 0x0, 0x3, 0xB0, 0x0, 0x3, 0xC0, 0x0, 0xD3, 0x0, 0x0, 0xC3, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x3, 0xE0, 0x0, 0xF3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x3, 0xD0, 0x0, 0xF3, 0x10, 0x1, 0x23, 0x1, 0x0, 0x3, 0x30, 0x1, 0x3, 0x40, 0x1, 0x4, 0x50, 0x1, 0x4, 0x60, 0x1, 0x4, 0x70, 0x1, 0x84, 0x1, 0x0, 0x94, 0x1, 0x0, 0x4, 0xA0, 0x1, 0xB4, 0x1, 0x0, 0xC4, 0x1, 0x0, 0x74, 0x1, 0x0, 0xD4, 0x1, 0x0, 0xE4, 0x1, 0x0, 0xF4, 0x1, 0x0, 0x4, 0xB0, 0x1, 0x4, 0xC0, 0x1, 0x4, 0x0, 0x2, 0x4, 0x10, 0x2, 0x25, 0x2, 0x0, 0x5, 0x30, 0x2, 0x45, 0x2, 0x0, 0x55, 0x2, 0x0, 0x65, 0x2, 0x0, 0x5, 0x70, 0x2, 0x15, 0x0, 0x0, 0x5, 0x80, 0x2, 0x95, 0x2, 0x0, 0xA5, 0x2, 0x0, 0xB5, 0x2, 0x0, 0xC5, 0x2, 0x0, 0xD5, 0x2, 0x0, 0x5, 0xE0, 0x2, 0x5, 0xF0, 0x2, 0x5, 0x3, 0x0, 0x15, 0x3, 0x0, 0x26, 0x3, 0x0, 0x6, 0x30, 0x3, 0x46, 0x3, 0x0, 0x56, 0x3, 0x0, 0x6, 0x60, 0x3, 0x76, 0x83, 0x3, 0x96, 0x3, 0x0, 0x6, 0xA0, 0x3, 0xB6, 0x3, 0x0, 0xC6, 0x3, 0x0, 0xD6, 0x3, 0x0, 0xE6, 0x3, 0x0, 0x6, 0xF0, 0x3, 0x6, 0x0, 0x4, 0x6, 0x10, 0x4, 0x6, 0x20, 0x4, 0x37, 0x44, 0x4, 0x7, 0x50, 0x4, 0x67, 0x4, 0x0, 0x7, 0x70, 0x4, 0x87, 0x4, 0x0, 0x97, 0x4, 0x0, 0x7, 0xA0, 0x4, 0xB7, 0x4, 0x0, 0xC7, 0x4, 0x0, 0xD7, 0x4, 0x0, 0xE7, 0x4, 0x0, 0x7, 0xF0, 0x4, 0x7, 0x5, 0x0, 0x17, 0x25, 0x5, 0x38, 0x45, 0x5, 0x58, 0x5, 0x0, 0x8, 0x60, 0x5, 0x8, 0x70, 0x5, 0x88, 0x5, 0x0, 0x8, 0x90, 0x5, 0xA8, 0xB5, 0x5, 0xC8, 0x5, 0x0, 0xD8, 0xE5, 0x5, 0xF8, 0x5, 0x0, 0x8, 0x0, 0x6, 0x19, 0x26, 0x6, 0x9, 0x30, 0x6, 0x9, 0x40, 0x6, 0x59, 0x6, 0x0, 0x69, 0x6, 0x0, 0x79, 0x86, 0x6, 0x99, 0xA6, 0x6, 0x9, 0xB0, 0x6, 0xCA, 0x6, 0x0, 0xA, 0xD0, 0x6, 0xA, 0xE0, 0x6, 0xFA, 0x6, 0x0, 0xA, 0x17, 0x7, 0x2A, 0x37, 0x7, 0x4B, 0x7, 0x0, 0x5B, 0x7, 0x0, 0xB, 0x60, 0x7, 0xB, 0x70, 0x7, 0x8B, 0x97, 0x7, 0xAC, 0x7, 0x0, 0xC, 0xB0, 0x7, 0xC, 0xC0, 0x7, 0xDC, 0xE7, 0x7, 0xFD, 0x7, 0x0, 0xD, 0x8, 0x0, 0x1D, 0x28, 0x8, 0x3E, 0x48, 0x8, 0xE, 0x50, 0x8, 0x6F, 0x78, 0x8, }; + private static ReadOnlySpan SerializedCategory26_CurrencySymbol => [0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x10, 0x0, 0x10, 0x0, 0x0, 0x21, 0x30, 0x0, 0x1, 0x10, 0x0, 0x1, 0x20, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x20, 0x0, 0x42, 0x50, 0x0, 0x62, 0x0, 0x0, 0x2, 0x70, 0x0, 0x2, 0x60, 0x0, 0x2, 0x80, 0x0, 0x82, 0x0, 0x0, 0x2, 0x90, 0x0, 0x92, 0x0, 0x0, 0x52, 0x90, 0x0, 0xA2, 0x0, 0x0, 0x3, 0xB0, 0x0, 0x3, 0xC0, 0x0, 0xD3, 0x0, 0x0, 0xC3, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x3, 0xE0, 0x0, 0xF3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x3, 0xD0, 0x0, 0xF3, 0x10, 0x1, 0x23, 0x1, 0x0, 0x3, 0x30, 0x1, 0x3, 0x40, 0x1, 0x4, 0x50, 0x1, 0x4, 0x60, 0x1, 0x4, 0x70, 0x1, 0x84, 0x1, 0x0, 0x94, 0x1, 0x0, 0x4, 0xA0, 0x1, 0xB4, 0x1, 0x0, 0xC4, 0x1, 0x0, 0x74, 0x1, 0x0, 0xD4, 0x1, 0x0, 0xE4, 0x1, 0x0, 0xF4, 0x1, 0x0, 0x4, 0xB0, 0x1, 0x4, 0xC0, 0x1, 0x4, 0x0, 0x2, 0x4, 0x10, 0x2, 0x25, 0x2, 0x0, 0x5, 0x30, 0x2, 0x45, 0x2, 0x0, 0x55, 0x2, 0x0, 0x65, 0x2, 0x0, 0x5, 0x70, 0x2, 0x15, 0x0, 0x0, 0x5, 0x80, 0x2, 0x95, 0x2, 0x0, 0xA5, 0x2, 0x0, 0xB5, 0x2, 0x0, 0xC5, 0x2, 0x0, 0xD5, 0x2, 0x0, 0x5, 0xE0, 0x2, 0x5, 0xF0, 0x2, 0x5, 0x3, 0x0, 0x15, 0x3, 0x0, 0x26, 0x3, 0x0, 0x6, 0x30, 0x3, 0x46, 0x3, 0x0, 0x56, 0x3, 0x0, 0x6, 0x60, 0x3, 0x76, 0x83, 0x3, 0x96, 0x3, 0x0, 0x6, 0xA0, 0x3, 0xB6, 0x3, 0x0, 0xC6, 0x3, 0x0, 0xD6, 0x3, 0x0, 0xE6, 0x3, 0x0, 0x6, 0xF0, 0x3, 0x6, 0x0, 0x4, 0x6, 0x10, 0x4, 0x6, 0x20, 0x4, 0x37, 0x44, 0x4, 0x7, 0x50, 0x4, 0x67, 0x4, 0x0, 0x7, 0x70, 0x4, 0x87, 0x4, 0x0, 0x97, 0x4, 0x0, 0x7, 0xA0, 0x4, 0xB7, 0x4, 0x0, 0xC7, 0x4, 0x0, 0xD7, 0x4, 0x0, 0xE7, 0x4, 0x0, 0x7, 0xF0, 0x4, 0x7, 0x5, 0x0, 0x17, 0x25, 0x5, 0x38, 0x45, 0x5, 0x58, 0x5, 0x0, 0x8, 0x60, 0x5, 0x8, 0x70, 0x5, 0x88, 0x5, 0x0, 0x8, 0x90, 0x5, 0xA8, 0xB5, 0x5, 0xC8, 0x5, 0x0, 0xD8, 0xE5, 0x5, 0xF8, 0x5, 0x0, 0x8, 0x0, 0x6, 0x19, 0x26, 0x6, 0x9, 0x30, 0x6, 0x9, 0x40, 0x6, 0x59, 0x6, 0x0, 0x69, 0x6, 0x0, 0x79, 0x86, 0x6, 0x99, 0xA6, 0x6, 0x9, 0xB0, 0x6, 0xCA, 0x6, 0x0, 0xA, 0xD0, 0x6, 0xA, 0xE0, 0x6, 0xFA, 0x6, 0x0, 0xA, 0x17, 0x7, 0x2A, 0x37, 0x7, 0x4B, 0x7, 0x0, 0x5B, 0x7, 0x0, 0xB, 0x60, 0x7, 0xB, 0x70, 0x7, 0x8B, 0x97, 0x7, 0xAC, 0x7, 0x0, 0xC, 0xB0, 0x7, 0xC, 0xC0, 0x7, 0xDC, 0xE7, 0x7, 0xFD, 0x7, 0x0, 0xD, 0x8, 0x0, 0x1D, 0x28, 0x8, 0x3E, 0x48, 0x8, 0xE, 0x50, 0x8, 0x6F, 0x78, 0x8]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.ModifierSymbol. - private static ReadOnlySpan SerializedCategory27_ModifierSymbol => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x21, 0x0, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x31, 0x10, 0x0, 0x11, 0x0, 0x0, 0x31, 0x20, 0x0, 0x1, 0x10, 0x0, 0x11, 0x20, 0x0, 0x1, 0x20, 0x0, 0x31, 0x0, 0x0, 0x2, 0x40, 0x0, 0x2, 0x50, 0x0, 0x62, 0x0, 0x0, 0x2, 0x70, 0x0, 0x12, 0x80, 0x0, 0x2, 0x80, 0x0, 0x2, 0x90, 0x0, 0x2, 0xA0, 0x0, 0x72, 0x10, 0x0, 0x52, 0x40, 0x0, 0x92, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x22, 0x0, 0x0, 0xA2, 0x0, 0x0, 0xC2, 0x0, 0x0, 0x22, 0x10, 0x0, 0xA2, 0x80, 0x0, 0x52, 0x0, 0x0, 0x42, 0x50, 0x0, 0xD2, 0x0, 0x0, 0x3, 0xE0, 0x0, 0x3, 0xF0, 0x0, 0x3, 0x1, 0x0, 0x3, 0x10, 0x1, 0x13, 0x20, 0x1, 0x33, 0x1, 0x0, 0xE3, 0x0, 0x0, 0x43, 0x1, 0x0, 0x3, 0x50, 0x1, 0x3, 0x60, 0x1, 0x73, 0x1, 0x0, 0x83, 0x1, 0x0, 0x93, 0x1, 0x0, 0x93, 0x51, 0x1, 0xA3, 0x1, 0x0, 0xF3, 0x0, 0x0, 0x3, 0xB0, 0x1, 0x3, 0xC0, 0x1, 0xD3, 0x91, 0x1, 0x3, 0xE0, 0x1, 0xF3, 0xF0, 0x1, 0x3, 0x2, 0x0, 0x13, 0x2, 0x0, 0x4, 0x20, 0x2, 0x4, 0x30, 0x2, 0x44, 0x2, 0x0, 0x4, 0x50, 0x2, 0x64, 0x2, 0x0, 0x4, 0x70, 0x2, 0x84, 0x2, 0x0, 0x4, 0x90, 0x2, 0x4, 0xA0, 0x2, 0xB4, 0x12, 0x0, 0xC4, 0x2, 0x0, 0xD4, 0xE2, 0x2, 0xE4, 0xF2, 0x2, 0x4, 0x3, 0x0, 0x4, 0x10, 0x3, 0x4, 0x20, 0x3, 0x34, 0x3, 0x0, 0x14, 0x40, 0x3, 0x64, 0x52, 0x3, 0x64, 0x73, 0x3, 0x84, 0x3, 0x0, 0x95, 0x3, 0x0, 0x5, 0xA0, 0x3, 0xB5, 0x3, 0x0, 0x5, 0xC0, 0x3, 0xD5, 0x3, 0x0, 0xE5, 0xF3, 0x3, 0x5, 0x0, 0x4, 0x15, 0x24, 0x4, 0x5, 0x30, 0x4, 0x45, 0x54, 0x4, 0x65, 0x4, 0x0, 0x5, 0x70, 0x4, 0x5, 0x80, 0x4, 0x95, 0x4, 0x0, 0xA5, 0xB4, 0x4, 0xC5, 0x4, 0x0, 0xA5, 0xD3, 0x4, 0xE6, 0x4, 0x0, 0xF6, 0x4, 0x5, 0x16, 0x25, 0x5, 0x36, 0x5, 0x0, 0x6, 0x40, 0x5, 0x6, 0x50, 0x5, 0x6, 0x60, 0x5, 0x76, 0x85, 0x5, 0x6, 0x90, 0x5, 0x6, 0xA0, 0x5, 0xB6, 0x5, 0x0, 0xC6, 0x5, 0x0, 0x6, 0xD0, 0x5, 0xE6, 0x5, 0x0, 0xF7, 0x5, 0x6, 0x17, 0x6, 0x0, 0x7, 0x20, 0x6, 0x37, 0x46, 0x6, 0x57, 0x6, 0x0, 0x67, 0x6, 0x0, 0x77, 0x6, 0x0, 0x87, 0x96, 0x6, 0xA7, 0x6, 0x0, 0xB7, 0xC6, 0x6, 0xD8, 0x6, 0x0, 0xE8, 0x6, 0x0, 0xF8, 0x6, 0x0, 0x8, 0x7, 0x0, 0x8, 0x10, 0x7, 0x28, 0x7, 0x0, 0x8, 0x30, 0x7, 0x48, 0x57, 0x7, 0x8, 0x60, 0x7, 0x79, 0x7, 0x0, 0x89, 0x7, 0x0, 0x99, 0x7, 0x0, 0xA9, 0x7, 0x0, 0x9, 0xB0, 0x7, 0xC9, 0x7, 0x0, 0x9, 0xD0, 0x7, 0xE9, 0xF7, 0x7, 0xA, 0x18, 0x8, 0xA, 0x20, 0x8, 0x3A, 0x8, 0x0, 0xA, 0x40, 0x8, 0x5A, 0x8, 0x0, 0xA, 0x60, 0x8, 0xA, 0x70, 0x8, 0x8B, 0x8, 0x0, 0x9B, 0xA8, 0x8, 0xB, 0xB0, 0x8, 0xCB, 0x8, 0x0, 0xDB, 0xE8, 0x8, 0xFC, 0x8, 0x0, 0xC, 0x0, 0x9, 0x1C, 0x9, 0x0, 0x2C, 0x39, 0x9, 0x4D, 0x9, 0x0, 0x5D, 0x9, 0x0, 0x6D, 0x79, 0x9, 0x8E, 0x99, 0x9, 0xE, 0xA0, 0x9, 0xBF, 0xC9, 0x9, }; + private static ReadOnlySpan SerializedCategory27_ModifierSymbol => [0x3, 0x4, 0x0, 0x0, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x21, 0x0, 0x0, 0x1, 0x30, 0x0, 0x31, 0x0, 0x0, 0x31, 0x10, 0x0, 0x11, 0x0, 0x0, 0x31, 0x20, 0x0, 0x1, 0x10, 0x0, 0x11, 0x20, 0x0, 0x1, 0x20, 0x0, 0x31, 0x0, 0x0, 0x2, 0x40, 0x0, 0x2, 0x50, 0x0, 0x62, 0x0, 0x0, 0x2, 0x70, 0x0, 0x12, 0x80, 0x0, 0x2, 0x80, 0x0, 0x2, 0x90, 0x0, 0x2, 0xA0, 0x0, 0x72, 0x10, 0x0, 0x52, 0x40, 0x0, 0x92, 0x0, 0x0, 0xB2, 0x0, 0x0, 0x22, 0x0, 0x0, 0xA2, 0x0, 0x0, 0xC2, 0x0, 0x0, 0x22, 0x10, 0x0, 0xA2, 0x80, 0x0, 0x52, 0x0, 0x0, 0x42, 0x50, 0x0, 0xD2, 0x0, 0x0, 0x3, 0xE0, 0x0, 0x3, 0xF0, 0x0, 0x3, 0x1, 0x0, 0x3, 0x10, 0x1, 0x13, 0x20, 0x1, 0x33, 0x1, 0x0, 0xE3, 0x0, 0x0, 0x43, 0x1, 0x0, 0x3, 0x50, 0x1, 0x3, 0x60, 0x1, 0x73, 0x1, 0x0, 0x83, 0x1, 0x0, 0x93, 0x1, 0x0, 0x93, 0x51, 0x1, 0xA3, 0x1, 0x0, 0xF3, 0x0, 0x0, 0x3, 0xB0, 0x1, 0x3, 0xC0, 0x1, 0xD3, 0x91, 0x1, 0x3, 0xE0, 0x1, 0xF3, 0xF0, 0x1, 0x3, 0x2, 0x0, 0x13, 0x2, 0x0, 0x4, 0x20, 0x2, 0x4, 0x30, 0x2, 0x44, 0x2, 0x0, 0x4, 0x50, 0x2, 0x64, 0x2, 0x0, 0x4, 0x70, 0x2, 0x84, 0x2, 0x0, 0x4, 0x90, 0x2, 0x4, 0xA0, 0x2, 0xB4, 0x12, 0x0, 0xC4, 0x2, 0x0, 0xD4, 0xE2, 0x2, 0xE4, 0xF2, 0x2, 0x4, 0x3, 0x0, 0x4, 0x10, 0x3, 0x4, 0x20, 0x3, 0x34, 0x3, 0x0, 0x14, 0x40, 0x3, 0x64, 0x52, 0x3, 0x64, 0x73, 0x3, 0x84, 0x3, 0x0, 0x95, 0x3, 0x0, 0x5, 0xA0, 0x3, 0xB5, 0x3, 0x0, 0x5, 0xC0, 0x3, 0xD5, 0x3, 0x0, 0xE5, 0xF3, 0x3, 0x5, 0x0, 0x4, 0x15, 0x24, 0x4, 0x5, 0x30, 0x4, 0x45, 0x54, 0x4, 0x65, 0x4, 0x0, 0x5, 0x70, 0x4, 0x5, 0x80, 0x4, 0x95, 0x4, 0x0, 0xA5, 0xB4, 0x4, 0xC5, 0x4, 0x0, 0xA5, 0xD3, 0x4, 0xE6, 0x4, 0x0, 0xF6, 0x4, 0x5, 0x16, 0x25, 0x5, 0x36, 0x5, 0x0, 0x6, 0x40, 0x5, 0x6, 0x50, 0x5, 0x6, 0x60, 0x5, 0x76, 0x85, 0x5, 0x6, 0x90, 0x5, 0x6, 0xA0, 0x5, 0xB6, 0x5, 0x0, 0xC6, 0x5, 0x0, 0x6, 0xD0, 0x5, 0xE6, 0x5, 0x0, 0xF7, 0x5, 0x6, 0x17, 0x6, 0x0, 0x7, 0x20, 0x6, 0x37, 0x46, 0x6, 0x57, 0x6, 0x0, 0x67, 0x6, 0x0, 0x77, 0x6, 0x0, 0x87, 0x96, 0x6, 0xA7, 0x6, 0x0, 0xB7, 0xC6, 0x6, 0xD8, 0x6, 0x0, 0xE8, 0x6, 0x0, 0xF8, 0x6, 0x0, 0x8, 0x7, 0x0, 0x8, 0x10, 0x7, 0x28, 0x7, 0x0, 0x8, 0x30, 0x7, 0x48, 0x57, 0x7, 0x8, 0x60, 0x7, 0x79, 0x7, 0x0, 0x89, 0x7, 0x0, 0x99, 0x7, 0x0, 0xA9, 0x7, 0x0, 0x9, 0xB0, 0x7, 0xC9, 0x7, 0x0, 0x9, 0xD0, 0x7, 0xE9, 0xF7, 0x7, 0xA, 0x18, 0x8, 0xA, 0x20, 0x8, 0x3A, 0x8, 0x0, 0xA, 0x40, 0x8, 0x5A, 0x8, 0x0, 0xA, 0x60, 0x8, 0xA, 0x70, 0x8, 0x8B, 0x8, 0x0, 0x9B, 0xA8, 0x8, 0xB, 0xB0, 0x8, 0xCB, 0x8, 0x0, 0xDB, 0xE8, 0x8, 0xFC, 0x8, 0x0, 0xC, 0x0, 0x9, 0x1C, 0x9, 0x0, 0x2C, 0x39, 0x9, 0x4D, 0x9, 0x0, 0x5D, 0x9, 0x0, 0x6D, 0x79, 0x9, 0x8E, 0x99, 0x9, 0xE, 0xA0, 0x9, 0xBF, 0xC9, 0x9]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.OtherSymbol. - private static ReadOnlySpan SerializedCategory28_OtherSymbol => new byte[] { 0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x1, 0x20, 0x0, 0x21, 0x60, 0x0, 0x1, 0x40, 0x0, 0x11, 0x60, 0x0, 0x31, 0x0, 0x0, 0x1, 0x60, 0x0, 0x11, 0x0, 0x0, 0x21, 0x20, 0x0, 0x31, 0x20, 0x0, 0x11, 0x40, 0x0, 0x31, 0x40, 0x0, 0x21, 0x0, 0x0, 0x42, 0x0, 0x0, 0x52, 0xC0, 0x0, 0x62, 0x0, 0x0, 0x72, 0x0, 0x0, 0x82, 0x0, 0x0, 0x2, 0x80, 0x0, 0x2, 0x20, 0x1, 0xA2, 0x0, 0x0, 0x2, 0x20, 0x0, 0xB2, 0x20, 0x0, 0x2, 0xC0, 0x0, 0x12, 0x40, 0x1, 0xA2, 0x80, 0x0, 0x2, 0x40, 0x1, 0x42, 0x20, 0x0, 0x12, 0x80, 0x1, 0x2, 0x60, 0x1, 0xC2, 0x20, 0x0, 0xA2, 0x20, 0x0, 0x52, 0x0, 0x0, 0x12, 0x0, 0x0, 0x12, 0xA0, 0x1, 0x72, 0x20, 0x0, 0x12, 0xC0, 0x1, 0x72, 0x80, 0x1, 0xC2, 0xA0, 0x0, 0x12, 0x80, 0x0, 0xC2, 0xE0, 0x1, 0xF2, 0x20, 0x1, 0x32, 0x20, 0x0, 0xD2, 0x0, 0x0, 0xB2, 0x80, 0x1, 0x62, 0x20, 0x0, 0x12, 0xE0, 0x0, 0x92, 0x0, 0x0, 0xD2, 0x20, 0x0, 0x22, 0x0, 0x0, 0x72, 0x0, 0x1, 0x2, 0xE0, 0x0, 0x2, 0x40, 0x0, 0x12, 0x0, 0x1, 0x2, 0xE0, 0x1, 0xF2, 0x0, 0x0, 0x3, 0x1, 0x0, 0x13, 0x41, 0x2, 0x33, 0x1, 0x0, 0x43, 0x1, 0x0, 0x53, 0x81, 0x2, 0x63, 0xE1, 0x2, 0x83, 0x1, 0x0, 0x3, 0x20, 0x3, 0x3, 0x40, 0x3, 0xB3, 0x1, 0x0, 0x3, 0x20, 0x0, 0x93, 0x21, 0x0, 0x3, 0x0, 0x3, 0x13, 0x80, 0x3, 0x3, 0xA0, 0x3, 0x3, 0x40, 0x2, 0x83, 0x21, 0x0, 0x3, 0xC0, 0x3, 0xF3, 0x21, 0x0, 0x3, 0xA0, 0x2, 0x3, 0x62, 0x2, 0x13, 0x20, 0x4, 0x13, 0x40, 0x4, 0x33, 0x61, 0x4, 0x13, 0x80, 0x4, 0x13, 0xA0, 0x4, 0x13, 0x20, 0x3, 0x53, 0x21, 0x0, 0x43, 0x2, 0x0, 0x3, 0x22, 0x0, 0x13, 0x60, 0x3, 0x63, 0x22, 0x0, 0x73, 0x62, 0x3, 0x43, 0x22, 0x0, 0x13, 0x0, 0x5, 0xE3, 0x21, 0x0, 0x13, 0x22, 0x5, 0xA3, 0x62, 0x2, 0xD3, 0x1, 0x0, 0xB3, 0x2, 0x0, 0xC3, 0xA2, 0x5, 0x73, 0xC1, 0x5, 0x53, 0xE1, 0x5, 0x3, 0x83, 0x4, 0x3, 0x22, 0x6, 0x73, 0x1, 0x0, 0x23, 0x3, 0x0, 0xA3, 0x61, 0x2, 0x33, 0x23, 0x4, 0xA3, 0x81, 0x6, 0xB3, 0xA1, 0x6, 0x3, 0xC0, 0x6, 0x63, 0x1, 0x0, 0x73, 0x3, 0x7, 0x93, 0x3, 0x0, 0x3, 0x40, 0x7, 0x33, 0x2, 0x0, 0xA3, 0x3, 0x0, 0x3, 0x20, 0x7, 0xC3, 0x42, 0x7, 0xB4, 0x83, 0x7, 0xD4, 0x3, 0x0, 0x4, 0xC0, 0x7, 0x4, 0x20, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x24, 0x8, 0x4, 0x40, 0x8, 0x14, 0x0, 0x0, 0x34, 0x24, 0x0, 0x14, 0x80, 0x8, 0x34, 0xA4, 0x8, 0x64, 0x24, 0x0, 0x4, 0xE0, 0x8, 0x84, 0x4, 0x0, 0x74, 0x61, 0x8, 0x94, 0x44, 0x9, 0xB4, 0x4, 0x0, 0xC4, 0x24, 0x0, 0x74, 0x24, 0x0, 0xD4, 0x24, 0x0, 0xE4, 0x4, 0x0, 0x4, 0xE0, 0x9, 0x4, 0x25, 0x0, 0x14, 0x25, 0x0, 0x14, 0x40, 0xA, 0x34, 0x5, 0x0, 0x4, 0xA0, 0x8, 0x14, 0xC0, 0x8, 0x54, 0x24, 0x0, 0x14, 0x80, 0xA, 0x54, 0x25, 0x0, 0x4, 0xC0, 0xA, 0x74, 0x5, 0x0, 0x4, 0x0, 0xB, 0x14, 0x20, 0xB, 0xB4, 0x24, 0x0, 0x84, 0x25, 0x0, 0xA4, 0x25, 0x0, 0x14, 0x60, 0xB, 0x14, 0x80, 0xB, 0xD4, 0xC5, 0xB, 0x14, 0xE0, 0xB, 0x4, 0x26, 0xC, 0x4, 0x40, 0xC, 0x14, 0x66, 0xC, 0x44, 0xA6, 0xC, 0x64, 0xE6, 0xC, 0x84, 0x6, 0x0, 0x4, 0x60, 0x8, 0x4, 0x20, 0xD, 0x64, 0x5, 0x0, 0xA4, 0x66, 0xD, 0xC4, 0x6, 0x0, 0xD4, 0xC6, 0xD, 0xF4, 0x6, 0x0, 0xE4, 0x3, 0x0, 0x4, 0x7, 0x0, 0x34, 0x4, 0x0, 0x14, 0x7, 0x0, 0x24, 0x7, 0x0, 0x34, 0xE7, 0xD, 0x44, 0x7, 0x0, 0x4, 0x0, 0xD, 0x4, 0x60, 0xE, 0x4, 0xA0, 0xE, 0x34, 0xC4, 0xE, 0x75, 0x7, 0x0, 0x85, 0x27, 0xF, 0x5, 0x40, 0xF, 0xB5, 0x7, 0x0, 0xC5, 0x7, 0x0, 0x5, 0xA0, 0xF, 0x15, 0xC0, 0xF, 0xF5, 0x7, 0x10, 0x15, 0x20, 0x10, 0x5, 0x48, 0x10, 0x35, 0x28, 0x0, 0x5, 0x80, 0x10, 0x55, 0xC8, 0x10, 0x75, 0x8, 0x11, 0x95, 0x28, 0x0, 0x15, 0x40, 0x11, 0x5, 0x60, 0x11, 0xC5, 0x8, 0x0, 0x15, 0xA0, 0x11, 0xE5, 0xE8, 0x11, 0xA5, 0x27, 0x0, 0x15, 0x0, 0x12, 0x15, 0x29, 0x0, 0x25, 0x29, 0x0, 0x35, 0x89, 0x12, 0x55, 0x29, 0x0, 0x65, 0x29, 0x0, 0x15, 0xE0, 0x12, 0x5, 0x0, 0x13, 0xD5, 0x27, 0x0, 0x95, 0x49, 0x13, 0x5, 0x69, 0x13, 0xC5, 0x29, 0x0, 0xD5, 0xC9, 0x13, 0x95, 0xE8, 0x13, 0x5, 0x2A, 0x14, 0x5, 0x40, 0x14, 0x35, 0x8A, 0x14, 0x55, 0xA, 0x0, 0x15, 0xC0, 0x14, 0x5, 0xE0, 0x14, 0x85, 0xA, 0x0, 0x5, 0x20, 0x15, 0x5, 0xC0, 0x14, 0x5, 0x40, 0x15, 0x65, 0xA, 0x0, 0xB5, 0x8A, 0x15, 0xD5, 0x2A, 0xF, 0xE5, 0xA, 0x0, 0xF5, 0xA, 0x0, 0x5, 0xB, 0x0, 0x15, 0xB, 0x0, 0x25, 0xB, 0x0, 0x35, 0x8B, 0x16, 0x5, 0xA0, 0x16, 0x5, 0xC0, 0x16, 0x5, 0xE0, 0x16, 0x85, 0xB, 0x0, 0x96, 0xB, 0x0, 0xA6, 0xB, 0x0, 0xB6, 0xB, 0x0, 0xC6, 0xB, 0x0, 0x6, 0xA0, 0x17, 0xE6, 0xEB, 0x17, 0x16, 0x0, 0x0, 0x16, 0x0, 0x18, 0x16, 0x4C, 0x18, 0x36, 0x8C, 0x18, 0x6, 0xA0, 0x18, 0x66, 0x2C, 0x0, 0x76, 0xC, 0x19, 0x96, 0xC, 0x0, 0xA6, 0xC, 0x0, 0x16, 0x60, 0x19, 0xC6, 0xAC, 0x19, 0x6, 0xC0, 0x19, 0xF6, 0x2C, 0x0, 0x6, 0x2D, 0x0, 0x16, 0x4D, 0x1A, 0x36, 0x8D, 0x1A, 0x56, 0xCD, 0x1A, 0x76, 0xD, 0x1B, 0x96, 0x4D, 0x1B, 0xB6, 0x8D, 0x1B, 0xD6, 0xCD, 0x1B, 0xF6, 0xD, 0x0, 0x6, 0xE, 0x0, 0x16, 0xE, 0x0, 0x26, 0xE, 0x0, 0x6, 0x60, 0x1C, 0x6, 0x80, 0x1C, 0x56, 0xCE, 0x1C, 0x6, 0xE0, 0x1C, 0x86, 0xE, 0x0, 0x96, 0xE, 0x0, 0xA6, 0xE, 0x0, 0xB6, 0xE, 0x0, 0xC6, 0xE, 0x0, 0xD6, 0xE, 0x0, 0xE6, 0xE, 0x0, 0x6, 0xE0, 0x1D, 0x6, 0x0, 0x1E, 0x6, 0x20, 0x1E, 0x6, 0x40, 0x1E, 0x37, 0xF, 0x0, 0x47, 0xAF, 0x1E, 0x7, 0xC0, 0x1E, 0x7, 0xE0, 0x1E, 0x87, 0xF, 0x0, 0x97, 0xF, 0x0, 0xA7, 0x6F, 0x1F, 0xC7, 0xF, 0x0, 0x7, 0xA0, 0x1F, 0xE7, 0x2F, 0x0, 0xF7, 0xF, 0x20, 0x17, 0x10, 0x0, 0x27, 0x70, 0x20, 0x47, 0xB0, 0x20, 0x17, 0xC0, 0x20, 0x77, 0x30, 0x0, 0x87, 0x30, 0x21, 0xA7, 0x70, 0x21, 0xC7, 0xB0, 0x21, 0x7, 0xC0, 0x21, 0xF7, 0x10, 0x22, 0x7, 0x20, 0x22, 0x27, 0x11, 0x0, 0x37, 0x11, 0x0, 0x47, 0xB1, 0x22, 0x7, 0xC0, 0x22, 0x7, 0xE0, 0x22, 0x87, 0x31, 0x23, 0xA7, 0x11, 0x0, 0xB7, 0x11, 0x0, 0xC7, 0xB1, 0x23, 0xE7, 0x11, 0x0, 0xF7, 0x11, 0x0, 0x7, 0x12, 0x0, 0x18, 0x12, 0x0, 0x28, 0x12, 0x0, 0x8, 0x60, 0x24, 0x8, 0x80, 0x24, 0x8, 0xA0, 0x24, 0x68, 0x12, 0x0, 0x18, 0xE0, 0x24, 0x88, 0x32, 0x25, 0xA8, 0x72, 0x25, 0x8, 0x80, 0x25, 0xD8, 0x12, 0x0, 0x8, 0x20, 0x0, 0xE8, 0xF2, 0x25, 0x8, 0x33, 0x26, 0x28, 0x13, 0x0, 0x38, 0x13, 0x0, 0x48, 0x13, 0x0, 0x58, 0x13, 0x0, 0x8, 0xC0, 0x26, 0x78, 0x13, 0x0, 0x8, 0x0, 0x27, 0x98, 0x13, 0x0, 0xA8, 0x73, 0x27, 0xC8, 0x13, 0x0, 0xD8, 0x13, 0x0, 0xE8, 0xF3, 0x27, 0x8, 0x34, 0x28, 0x8, 0x40, 0x28, 0x39, 0x94, 0x28, 0x59, 0xD4, 0x28, 0x9, 0xE0, 0x28, 0x9, 0x0, 0x29, 0x99, 0x54, 0x29, 0xB9, 0x94, 0x29, 0xD9, 0xD4, 0x29, 0xF9, 0x14, 0x2A, 0x19, 0x55, 0x2A, 0x39, 0x95, 0x2A, 0x59, 0x15, 0x0, 0x69, 0xF5, 0x2A, 0x89, 0x35, 0x2B, 0xA9, 0x75, 0x2B, 0xC9, 0xB5, 0x2B, 0x9, 0xC0, 0x2B, 0xFA, 0x15, 0x0, 0xA, 0x0, 0x2C, 0x1A, 0x16, 0x0, 0x2A, 0x16, 0x0, 0xA, 0x60, 0x2C, 0x4A, 0xB6, 0x2C, 0x6A, 0xF6, 0x2C, 0xA, 0x0, 0x2D, 0x9A, 0x56, 0x2D, 0xBA, 0x96, 0x2D, 0xDA, 0xD6, 0x2D, 0xFB, 0x16, 0x0, 0xB, 0x37, 0x2E, 0x2B, 0x17, 0x0, 0xB, 0x60, 0x2E, 0x4B, 0xB7, 0x2E, 0x6B, 0xF7, 0x2E, 0x8B, 0x37, 0x2F, 0xAC, 0x17, 0x0, 0xC, 0x60, 0x2F, 0xC, 0x80, 0x2F, 0xDC, 0xD7, 0x2F, 0xFC, 0x17, 0x30, 0x1D, 0x18, 0x0, 0x2D, 0x18, 0x0, 0xD, 0x60, 0x30, 0x4D, 0xB8, 0x30, 0x6E, 0xF8, 0x30, 0x8E, 0x38, 0x31, 0xAF, 0x78, 0x31, }; + private static ReadOnlySpan SerializedCategory28_OtherSymbol => [0x3, 0x4, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x20, 0x0, 0x10, 0x0, 0x0, 0x1, 0x20, 0x0, 0x21, 0x60, 0x0, 0x1, 0x40, 0x0, 0x11, 0x60, 0x0, 0x31, 0x0, 0x0, 0x1, 0x60, 0x0, 0x11, 0x0, 0x0, 0x21, 0x20, 0x0, 0x31, 0x20, 0x0, 0x11, 0x40, 0x0, 0x31, 0x40, 0x0, 0x21, 0x0, 0x0, 0x42, 0x0, 0x0, 0x52, 0xC0, 0x0, 0x62, 0x0, 0x0, 0x72, 0x0, 0x0, 0x82, 0x0, 0x0, 0x2, 0x80, 0x0, 0x2, 0x20, 0x1, 0xA2, 0x0, 0x0, 0x2, 0x20, 0x0, 0xB2, 0x20, 0x0, 0x2, 0xC0, 0x0, 0x12, 0x40, 0x1, 0xA2, 0x80, 0x0, 0x2, 0x40, 0x1, 0x42, 0x20, 0x0, 0x12, 0x80, 0x1, 0x2, 0x60, 0x1, 0xC2, 0x20, 0x0, 0xA2, 0x20, 0x0, 0x52, 0x0, 0x0, 0x12, 0x0, 0x0, 0x12, 0xA0, 0x1, 0x72, 0x20, 0x0, 0x12, 0xC0, 0x1, 0x72, 0x80, 0x1, 0xC2, 0xA0, 0x0, 0x12, 0x80, 0x0, 0xC2, 0xE0, 0x1, 0xF2, 0x20, 0x1, 0x32, 0x20, 0x0, 0xD2, 0x0, 0x0, 0xB2, 0x80, 0x1, 0x62, 0x20, 0x0, 0x12, 0xE0, 0x0, 0x92, 0x0, 0x0, 0xD2, 0x20, 0x0, 0x22, 0x0, 0x0, 0x72, 0x0, 0x1, 0x2, 0xE0, 0x0, 0x2, 0x40, 0x0, 0x12, 0x0, 0x1, 0x2, 0xE0, 0x1, 0xF2, 0x0, 0x0, 0x3, 0x1, 0x0, 0x13, 0x41, 0x2, 0x33, 0x1, 0x0, 0x43, 0x1, 0x0, 0x53, 0x81, 0x2, 0x63, 0xE1, 0x2, 0x83, 0x1, 0x0, 0x3, 0x20, 0x3, 0x3, 0x40, 0x3, 0xB3, 0x1, 0x0, 0x3, 0x20, 0x0, 0x93, 0x21, 0x0, 0x3, 0x0, 0x3, 0x13, 0x80, 0x3, 0x3, 0xA0, 0x3, 0x3, 0x40, 0x2, 0x83, 0x21, 0x0, 0x3, 0xC0, 0x3, 0xF3, 0x21, 0x0, 0x3, 0xA0, 0x2, 0x3, 0x62, 0x2, 0x13, 0x20, 0x4, 0x13, 0x40, 0x4, 0x33, 0x61, 0x4, 0x13, 0x80, 0x4, 0x13, 0xA0, 0x4, 0x13, 0x20, 0x3, 0x53, 0x21, 0x0, 0x43, 0x2, 0x0, 0x3, 0x22, 0x0, 0x13, 0x60, 0x3, 0x63, 0x22, 0x0, 0x73, 0x62, 0x3, 0x43, 0x22, 0x0, 0x13, 0x0, 0x5, 0xE3, 0x21, 0x0, 0x13, 0x22, 0x5, 0xA3, 0x62, 0x2, 0xD3, 0x1, 0x0, 0xB3, 0x2, 0x0, 0xC3, 0xA2, 0x5, 0x73, 0xC1, 0x5, 0x53, 0xE1, 0x5, 0x3, 0x83, 0x4, 0x3, 0x22, 0x6, 0x73, 0x1, 0x0, 0x23, 0x3, 0x0, 0xA3, 0x61, 0x2, 0x33, 0x23, 0x4, 0xA3, 0x81, 0x6, 0xB3, 0xA1, 0x6, 0x3, 0xC0, 0x6, 0x63, 0x1, 0x0, 0x73, 0x3, 0x7, 0x93, 0x3, 0x0, 0x3, 0x40, 0x7, 0x33, 0x2, 0x0, 0xA3, 0x3, 0x0, 0x3, 0x20, 0x7, 0xC3, 0x42, 0x7, 0xB4, 0x83, 0x7, 0xD4, 0x3, 0x0, 0x4, 0xC0, 0x7, 0x4, 0x20, 0x0, 0xF4, 0x3, 0x0, 0x4, 0x24, 0x8, 0x4, 0x40, 0x8, 0x14, 0x0, 0x0, 0x34, 0x24, 0x0, 0x14, 0x80, 0x8, 0x34, 0xA4, 0x8, 0x64, 0x24, 0x0, 0x4, 0xE0, 0x8, 0x84, 0x4, 0x0, 0x74, 0x61, 0x8, 0x94, 0x44, 0x9, 0xB4, 0x4, 0x0, 0xC4, 0x24, 0x0, 0x74, 0x24, 0x0, 0xD4, 0x24, 0x0, 0xE4, 0x4, 0x0, 0x4, 0xE0, 0x9, 0x4, 0x25, 0x0, 0x14, 0x25, 0x0, 0x14, 0x40, 0xA, 0x34, 0x5, 0x0, 0x4, 0xA0, 0x8, 0x14, 0xC0, 0x8, 0x54, 0x24, 0x0, 0x14, 0x80, 0xA, 0x54, 0x25, 0x0, 0x4, 0xC0, 0xA, 0x74, 0x5, 0x0, 0x4, 0x0, 0xB, 0x14, 0x20, 0xB, 0xB4, 0x24, 0x0, 0x84, 0x25, 0x0, 0xA4, 0x25, 0x0, 0x14, 0x60, 0xB, 0x14, 0x80, 0xB, 0xD4, 0xC5, 0xB, 0x14, 0xE0, 0xB, 0x4, 0x26, 0xC, 0x4, 0x40, 0xC, 0x14, 0x66, 0xC, 0x44, 0xA6, 0xC, 0x64, 0xE6, 0xC, 0x84, 0x6, 0x0, 0x4, 0x60, 0x8, 0x4, 0x20, 0xD, 0x64, 0x5, 0x0, 0xA4, 0x66, 0xD, 0xC4, 0x6, 0x0, 0xD4, 0xC6, 0xD, 0xF4, 0x6, 0x0, 0xE4, 0x3, 0x0, 0x4, 0x7, 0x0, 0x34, 0x4, 0x0, 0x14, 0x7, 0x0, 0x24, 0x7, 0x0, 0x34, 0xE7, 0xD, 0x44, 0x7, 0x0, 0x4, 0x0, 0xD, 0x4, 0x60, 0xE, 0x4, 0xA0, 0xE, 0x34, 0xC4, 0xE, 0x75, 0x7, 0x0, 0x85, 0x27, 0xF, 0x5, 0x40, 0xF, 0xB5, 0x7, 0x0, 0xC5, 0x7, 0x0, 0x5, 0xA0, 0xF, 0x15, 0xC0, 0xF, 0xF5, 0x7, 0x10, 0x15, 0x20, 0x10, 0x5, 0x48, 0x10, 0x35, 0x28, 0x0, 0x5, 0x80, 0x10, 0x55, 0xC8, 0x10, 0x75, 0x8, 0x11, 0x95, 0x28, 0x0, 0x15, 0x40, 0x11, 0x5, 0x60, 0x11, 0xC5, 0x8, 0x0, 0x15, 0xA0, 0x11, 0xE5, 0xE8, 0x11, 0xA5, 0x27, 0x0, 0x15, 0x0, 0x12, 0x15, 0x29, 0x0, 0x25, 0x29, 0x0, 0x35, 0x89, 0x12, 0x55, 0x29, 0x0, 0x65, 0x29, 0x0, 0x15, 0xE0, 0x12, 0x5, 0x0, 0x13, 0xD5, 0x27, 0x0, 0x95, 0x49, 0x13, 0x5, 0x69, 0x13, 0xC5, 0x29, 0x0, 0xD5, 0xC9, 0x13, 0x95, 0xE8, 0x13, 0x5, 0x2A, 0x14, 0x5, 0x40, 0x14, 0x35, 0x8A, 0x14, 0x55, 0xA, 0x0, 0x15, 0xC0, 0x14, 0x5, 0xE0, 0x14, 0x85, 0xA, 0x0, 0x5, 0x20, 0x15, 0x5, 0xC0, 0x14, 0x5, 0x40, 0x15, 0x65, 0xA, 0x0, 0xB5, 0x8A, 0x15, 0xD5, 0x2A, 0xF, 0xE5, 0xA, 0x0, 0xF5, 0xA, 0x0, 0x5, 0xB, 0x0, 0x15, 0xB, 0x0, 0x25, 0xB, 0x0, 0x35, 0x8B, 0x16, 0x5, 0xA0, 0x16, 0x5, 0xC0, 0x16, 0x5, 0xE0, 0x16, 0x85, 0xB, 0x0, 0x96, 0xB, 0x0, 0xA6, 0xB, 0x0, 0xB6, 0xB, 0x0, 0xC6, 0xB, 0x0, 0x6, 0xA0, 0x17, 0xE6, 0xEB, 0x17, 0x16, 0x0, 0x0, 0x16, 0x0, 0x18, 0x16, 0x4C, 0x18, 0x36, 0x8C, 0x18, 0x6, 0xA0, 0x18, 0x66, 0x2C, 0x0, 0x76, 0xC, 0x19, 0x96, 0xC, 0x0, 0xA6, 0xC, 0x0, 0x16, 0x60, 0x19, 0xC6, 0xAC, 0x19, 0x6, 0xC0, 0x19, 0xF6, 0x2C, 0x0, 0x6, 0x2D, 0x0, 0x16, 0x4D, 0x1A, 0x36, 0x8D, 0x1A, 0x56, 0xCD, 0x1A, 0x76, 0xD, 0x1B, 0x96, 0x4D, 0x1B, 0xB6, 0x8D, 0x1B, 0xD6, 0xCD, 0x1B, 0xF6, 0xD, 0x0, 0x6, 0xE, 0x0, 0x16, 0xE, 0x0, 0x26, 0xE, 0x0, 0x6, 0x60, 0x1C, 0x6, 0x80, 0x1C, 0x56, 0xCE, 0x1C, 0x6, 0xE0, 0x1C, 0x86, 0xE, 0x0, 0x96, 0xE, 0x0, 0xA6, 0xE, 0x0, 0xB6, 0xE, 0x0, 0xC6, 0xE, 0x0, 0xD6, 0xE, 0x0, 0xE6, 0xE, 0x0, 0x6, 0xE0, 0x1D, 0x6, 0x0, 0x1E, 0x6, 0x20, 0x1E, 0x6, 0x40, 0x1E, 0x37, 0xF, 0x0, 0x47, 0xAF, 0x1E, 0x7, 0xC0, 0x1E, 0x7, 0xE0, 0x1E, 0x87, 0xF, 0x0, 0x97, 0xF, 0x0, 0xA7, 0x6F, 0x1F, 0xC7, 0xF, 0x0, 0x7, 0xA0, 0x1F, 0xE7, 0x2F, 0x0, 0xF7, 0xF, 0x20, 0x17, 0x10, 0x0, 0x27, 0x70, 0x20, 0x47, 0xB0, 0x20, 0x17, 0xC0, 0x20, 0x77, 0x30, 0x0, 0x87, 0x30, 0x21, 0xA7, 0x70, 0x21, 0xC7, 0xB0, 0x21, 0x7, 0xC0, 0x21, 0xF7, 0x10, 0x22, 0x7, 0x20, 0x22, 0x27, 0x11, 0x0, 0x37, 0x11, 0x0, 0x47, 0xB1, 0x22, 0x7, 0xC0, 0x22, 0x7, 0xE0, 0x22, 0x87, 0x31, 0x23, 0xA7, 0x11, 0x0, 0xB7, 0x11, 0x0, 0xC7, 0xB1, 0x23, 0xE7, 0x11, 0x0, 0xF7, 0x11, 0x0, 0x7, 0x12, 0x0, 0x18, 0x12, 0x0, 0x28, 0x12, 0x0, 0x8, 0x60, 0x24, 0x8, 0x80, 0x24, 0x8, 0xA0, 0x24, 0x68, 0x12, 0x0, 0x18, 0xE0, 0x24, 0x88, 0x32, 0x25, 0xA8, 0x72, 0x25, 0x8, 0x80, 0x25, 0xD8, 0x12, 0x0, 0x8, 0x20, 0x0, 0xE8, 0xF2, 0x25, 0x8, 0x33, 0x26, 0x28, 0x13, 0x0, 0x38, 0x13, 0x0, 0x48, 0x13, 0x0, 0x58, 0x13, 0x0, 0x8, 0xC0, 0x26, 0x78, 0x13, 0x0, 0x8, 0x0, 0x27, 0x98, 0x13, 0x0, 0xA8, 0x73, 0x27, 0xC8, 0x13, 0x0, 0xD8, 0x13, 0x0, 0xE8, 0xF3, 0x27, 0x8, 0x34, 0x28, 0x8, 0x40, 0x28, 0x39, 0x94, 0x28, 0x59, 0xD4, 0x28, 0x9, 0xE0, 0x28, 0x9, 0x0, 0x29, 0x99, 0x54, 0x29, 0xB9, 0x94, 0x29, 0xD9, 0xD4, 0x29, 0xF9, 0x14, 0x2A, 0x19, 0x55, 0x2A, 0x39, 0x95, 0x2A, 0x59, 0x15, 0x0, 0x69, 0xF5, 0x2A, 0x89, 0x35, 0x2B, 0xA9, 0x75, 0x2B, 0xC9, 0xB5, 0x2B, 0x9, 0xC0, 0x2B, 0xFA, 0x15, 0x0, 0xA, 0x0, 0x2C, 0x1A, 0x16, 0x0, 0x2A, 0x16, 0x0, 0xA, 0x60, 0x2C, 0x4A, 0xB6, 0x2C, 0x6A, 0xF6, 0x2C, 0xA, 0x0, 0x2D, 0x9A, 0x56, 0x2D, 0xBA, 0x96, 0x2D, 0xDA, 0xD6, 0x2D, 0xFB, 0x16, 0x0, 0xB, 0x37, 0x2E, 0x2B, 0x17, 0x0, 0xB, 0x60, 0x2E, 0x4B, 0xB7, 0x2E, 0x6B, 0xF7, 0x2E, 0x8B, 0x37, 0x2F, 0xAC, 0x17, 0x0, 0xC, 0x60, 0x2F, 0xC, 0x80, 0x2F, 0xDC, 0xD7, 0x2F, 0xFC, 0x17, 0x30, 0x1D, 0x18, 0x0, 0x2D, 0x18, 0x0, 0xD, 0x60, 0x30, 0x4D, 0xB8, 0x30, 0x6E, 0xF8, 0x30, 0x8E, 0x38, 0x31, 0xAF, 0x78, 0x31]; /// Serialized BDD representation of the set of all characters in UnicodeCategory.OtherNotAssigned. - private static ReadOnlySpan SerializedCategory29_OtherNotAssigned => new byte[] { 0x3, 0x4, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x40, 0x0, 0x10, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x80, 0x0, 0x31, 0x0, 0x0, 0x11, 0xC0, 0x0, 0x1, 0x40, 0x0, 0x21, 0xC0, 0x0, 0x1, 0xC0, 0x0, 0x21, 0x40, 0x0, 0x21, 0x0, 0x0, 0x11, 0x80, 0x0, 0x31, 0x80, 0x0, 0x31, 0x40, 0x0, 0x42, 0x40, 0x1, 0x62, 0x0, 0x0, 0x72, 0x0, 0x2, 0x2, 0x0, 0x2, 0x2, 0x40, 0x1, 0x92, 0x0, 0x0, 0xA2, 0x0, 0x0, 0x12, 0x0, 0x0, 0x2, 0x80, 0x1, 0x12, 0x0, 0x1, 0xB2, 0x40, 0x0, 0x2, 0xC0, 0x2, 0x12, 0x80, 0x1, 0xA2, 0x0, 0x3, 0x32, 0x0, 0x0, 0x52, 0x40, 0x0, 0x42, 0x0, 0x0, 0x62, 0x40, 0x1, 0x2, 0x0, 0x1, 0x82, 0x0, 0x1, 0xC2, 0x0, 0x0, 0x72, 0x0, 0x0, 0x82, 0x40, 0x0, 0x52, 0x0, 0x3, 0x2, 0x0, 0x3, 0x12, 0xC0, 0x1, 0xD2, 0x40, 0x0, 0x82, 0x0, 0x0, 0xA2, 0x0, 0x2, 0x52, 0x0, 0x0, 0x52, 0x80, 0x1, 0x52, 0x0, 0x1, 0x2, 0x40, 0x0, 0x82, 0x80, 0x1, 0x2, 0xC0, 0x1, 0x12, 0x80, 0x2, 0x42, 0x80, 0x2, 0x22, 0x0, 0x0, 0xA2, 0x80, 0x3, 0xB2, 0x80, 0x1, 0xB2, 0xC0, 0x3, 0xD2, 0x0, 0x0, 0x2, 0x80, 0x2, 0x12, 0x40, 0x1, 0xE2, 0x40, 0x0, 0xD2, 0x80, 0x1, 0xB2, 0xC0, 0x1, 0x72, 0xC0, 0x2, 0x52, 0x0, 0x2, 0xC2, 0x40, 0x0, 0x42, 0x40, 0x2, 0x52, 0x80, 0x2, 0x2, 0x40, 0x2, 0x42, 0x0, 0x3, 0x32, 0x40, 0x1, 0x12, 0x40, 0x3, 0xA2, 0x0, 0x1, 0xE2, 0x80, 0x2, 0x62, 0x40, 0x2, 0x82, 0xC0, 0x0, 0xF2, 0x0, 0x0, 0xA2, 0x80, 0x1, 0x3, 0x41, 0x0, 0x23, 0xC1, 0x4, 0x13, 0x1, 0x0, 0x3, 0x0, 0x5, 0x53, 0x1, 0x0, 0x3, 0x80, 0x5, 0x73, 0x41, 0x4, 0x3, 0x0, 0x6, 0x93, 0x1, 0x0, 0xA3, 0x1, 0x0, 0x3, 0xC0, 0x4, 0x3, 0xC0, 0x6, 0x13, 0x0, 0x7, 0x3, 0x40, 0x7, 0xE3, 0x41, 0x4, 0xF3, 0xC1, 0x6, 0x13, 0x40, 0x4, 0x3, 0x2, 0x0, 0x73, 0x1, 0x0, 0xB3, 0x41, 0x4, 0x13, 0xC0, 0x5, 0x13, 0x40, 0x8, 0xB3, 0x41, 0x0, 0x23, 0x2, 0x0, 0x33, 0x2, 0x0, 0x43, 0x2, 0x0, 0x53, 0x2, 0x0, 0xA3, 0xC1, 0x5, 0x63, 0x2, 0x8, 0x13, 0x0, 0x0, 0x93, 0xC1, 0x9, 0xC3, 0x1, 0x0, 0x3, 0xC0, 0x7, 0x43, 0x41, 0x4, 0x13, 0x0, 0x8, 0x83, 0x2, 0x0, 0xA3, 0x41, 0xA, 0xA3, 0x2, 0x9, 0x43, 0xC1, 0x5, 0x3, 0x0, 0x9, 0x3, 0xC0, 0xA, 0x13, 0x40, 0xA, 0x3, 0x80, 0x8, 0x13, 0x1, 0xB, 0xD3, 0xC2, 0xA, 0x23, 0x0, 0x0, 0xE3, 0x2, 0x0, 0x93, 0x2, 0x0, 0xF3, 0x2, 0x0, 0xB3, 0x1, 0x0, 0x3, 0xC3, 0x5, 0xB3, 0x2, 0x0, 0x13, 0x3, 0x0, 0x13, 0x40, 0x9, 0x3, 0x80, 0xC, 0x13, 0xC0, 0xC, 0x63, 0x1, 0x0, 0xA3, 0x1, 0x8, 0x3, 0x0, 0xD, 0x3, 0x40, 0x4, 0x13, 0x1, 0xD, 0x43, 0x3, 0x0, 0x43, 0x43, 0x4, 0x43, 0x1, 0x0, 0x13, 0x81, 0x7, 0x3, 0x40, 0xD, 0x83, 0x81, 0xD, 0x73, 0x3, 0x0, 0x13, 0x80, 0x4, 0x3, 0x80, 0x9, 0x3, 0x80, 0x7, 0x83, 0x43, 0x4, 0x93, 0x3, 0xA, 0x33, 0x41, 0x4, 0x3, 0x40, 0x1, 0x3, 0x0, 0xC, 0xA3, 0x83, 0x5, 0x3, 0x80, 0xE, 0x13, 0xC0, 0xE, 0x43, 0x83, 0x5, 0x23, 0x42, 0xB, 0xA3, 0x3, 0x0, 0x3, 0x80, 0x6, 0xD3, 0x3, 0xF, 0x13, 0x80, 0xF, 0x43, 0x43, 0xC, 0x13, 0xC3, 0xF, 0x63, 0x3, 0xD, 0x13, 0x3, 0x10, 0x13, 0xC4, 0x7, 0x23, 0x44, 0x5, 0x23, 0xC2, 0x10, 0x3, 0x0, 0x11, 0x53, 0x41, 0x1, 0x43, 0x41, 0x6, 0x53, 0x4, 0x9, 0x3, 0x0, 0xA, 0x43, 0x42, 0x1, 0x63, 0xC4, 0x11, 0x23, 0xC4, 0xD, 0x83, 0x44, 0x12, 0x73, 0x43, 0x1, 0x13, 0x84, 0x6, 0xA3, 0x44, 0x5, 0x23, 0xC2, 0x12, 0x53, 0x41, 0xB, 0x3, 0x40, 0x6, 0xC3, 0x4, 0x0, 0x13, 0x40, 0x6, 0xD3, 0x4, 0xC, 0x33, 0x1, 0x0, 0xE4, 0x44, 0x4, 0xF4, 0xC4, 0x4, 0x4, 0x5, 0x0, 0x4, 0x40, 0x14, 0x24, 0x5, 0x0, 0x34, 0x5, 0x15, 0x54, 0x5, 0x0, 0x64, 0x5, 0x0, 0x4, 0x40, 0x0, 0x14, 0xC0, 0x15, 0x84, 0x5, 0x0, 0x94, 0x85, 0x16, 0x4, 0xC0, 0x16, 0xC4, 0x5, 0x0, 0xD4, 0x85, 0x17, 0x4, 0xC0, 0x17, 0x4, 0x6, 0x0, 0x4, 0x40, 0x18, 0x4, 0x80, 0x18, 0x64, 0xC5, 0x17, 0x4, 0x0, 0x18, 0x4, 0x40, 0x4, 0x34, 0x46, 0x8, 0xE4, 0x5, 0x0, 0x44, 0x86, 0x16, 0x54, 0xC6, 0x17, 0x64, 0xC6, 0x19, 0x84, 0x6, 0x0, 0x94, 0x6, 0x0, 0x64, 0x85, 0x1A, 0xB4, 0x6, 0x0, 0x64, 0x5, 0x1A, 0x84, 0x45, 0x0, 0xC4, 0x46, 0x1B, 0x14, 0x0, 0x18, 0x4, 0x80, 0x17, 0x4, 0x0, 0x1A, 0x4, 0x0, 0x14, 0x14, 0x5, 0x0, 0x4, 0x80, 0x1B, 0xF4, 0x6, 0x0, 0x4, 0x46, 0x0, 0x4, 0x7, 0x0, 0x24, 0x6, 0x0, 0x14, 0x7, 0x0, 0xF4, 0x5, 0x0, 0x24, 0xC7, 0x15, 0x4, 0xC0, 0x1C, 0x44, 0x7, 0x0, 0x54, 0x7, 0x0, 0x64, 0x7, 0x0, 0x14, 0x40, 0x1B, 0x14, 0x80, 0x17, 0x74, 0x7, 0x0, 0x4, 0xC0, 0x1D, 0x84, 0x6, 0x14, 0x84, 0xC7, 0x14, 0x94, 0x7, 0x0, 0xA4, 0xC7, 0x14, 0x34, 0x5, 0x0, 0xB4, 0x7, 0x8, 0x4, 0x2, 0x0, 0xD4, 0x6, 0x0, 0x4, 0xC0, 0x1A, 0xC4, 0x7, 0x0, 0x4, 0x40, 0x1F, 0x4, 0x80, 0x1F, 0xF4, 0x7, 0x0, 0x4, 0x8, 0x0, 0x14, 0x0, 0x14, 0x14, 0x8, 0x0, 0x24, 0x88, 0x15, 0x34, 0xC8, 0x17, 0x4, 0x0, 0x21, 0x4, 0x40, 0x1B, 0xD4, 0x7, 0x0, 0x54, 0x88, 0x21, 0x74, 0x8, 0x0, 0x84, 0x8, 0x0, 0x94, 0x8, 0x22, 0xA4, 0x8, 0x0, 0x4, 0xC0, 0x22, 0xC4, 0xC8, 0x22, 0xD4, 0x86, 0x21, 0x64, 0x8, 0x0, 0xD4, 0x8, 0x0, 0x14, 0x5, 0x1A, 0x4, 0x40, 0x23, 0x54, 0x86, 0x23, 0xF4, 0xC5, 0x23, 0x4, 0x0, 0x24, 0x14, 0x9, 0x0, 0x24, 0xC9, 0x24, 0x44, 0x49, 0x25, 0x64, 0x9, 0x0, 0x74, 0x9, 0x26, 0x4, 0x80, 0x1D, 0x94, 0x89, 0x26, 0xB4, 0x89, 0x21, 0xC4, 0x89, 0x1D, 0xC4, 0x43, 0x27, 0xE4, 0xC9, 0x27, 0x4, 0x8A, 0x1D, 0x14, 0x4A, 0x27, 0x54, 0xC6, 0x27, 0xD4, 0xC6, 0x24, 0x24, 0xCA, 0x28, 0x64, 0x6, 0x29, 0x54, 0x8A, 0x29, 0xB4, 0x86, 0x1D, 0x74, 0xA, 0x2A, 0x94, 0xCA, 0x27, 0xA4, 0xCA, 0x2A, 0xC4, 0x8A, 0x1D, 0x74, 0x47, 0x2B, 0xE4, 0xCA, 0x2B, 0xE4, 0xC5, 0x24, 0x4, 0x4B, 0x2C, 0x24, 0xCB, 0x27, 0xA4, 0xCA, 0x2C, 0x4, 0x85, 0x1D, 0x44, 0x4B, 0x2D, 0x64, 0xCB, 0x27, 0xA4, 0xCA, 0x2D, 0x84, 0xB, 0x14, 0x94, 0xB, 0x0, 0x4, 0xC5, 0x17, 0xA4, 0xB, 0x0, 0x4, 0x0, 0x1F, 0x4, 0xC0, 0x19, 0x34, 0x48, 0x24, 0x14, 0x5, 0x1F, 0x4, 0x80, 0x2B, 0x4, 0xC0, 0x2E, 0xC4, 0xB, 0x0, 0xD5, 0x8B, 0x2F, 0xF5, 0xB, 0x0, 0x5, 0x0, 0x30, 0x15, 0xC, 0x0, 0x25, 0xCC, 0x30, 0x5, 0x0, 0x31, 0x55, 0x8C, 0x31, 0x5, 0xC0, 0x31, 0x5, 0x0, 0x32, 0x5, 0x40, 0x32, 0xA5, 0xCC, 0x32, 0x15, 0x0, 0x31, 0xC5, 0xC, 0x0, 0xD5, 0x8C, 0x33, 0xF5, 0xC, 0x0, 0x5, 0xD, 0x0, 0x15, 0xD, 0x0, 0x25, 0xCD, 0x34, 0x45, 0x4D, 0x35, 0x5, 0x80, 0x35, 0x45, 0xD, 0x0, 0xF5, 0xCB, 0x35, 0x85, 0x4D, 0x36, 0x5, 0x80, 0x36, 0xB5, 0xD, 0x0, 0xC5, 0xD, 0x0, 0xD5, 0x8D, 0x37, 0xF5, 0xD, 0x0, 0x5, 0x0, 0x38, 0x5, 0x40, 0x38, 0x5, 0xC0, 0x2F, 0x5, 0x80, 0x38, 0x35, 0xE, 0x39, 0x5, 0x40, 0x39, 0x65, 0xCE, 0x39, 0x85, 0xE, 0x0, 0x5, 0x40, 0x3A, 0x15, 0x80, 0x3A, 0x5, 0x40, 0x4, 0x15, 0x1, 0x35, 0xB5, 0xE, 0x0, 0xC5, 0xE, 0x0, 0xD5, 0xE, 0x0, 0x5, 0x80, 0x3B, 0xF5, 0xE, 0x0, 0x5, 0x0, 0x3C, 0x15, 0xF, 0x0, 0x5, 0x40, 0x34, 0x25, 0xCF, 0x3C, 0x5, 0x0, 0x3D, 0x55, 0xF, 0x0, 0x65, 0xCF, 0x3D, 0x85, 0xF, 0x0, 0xA5, 0x4E, 0x3E, 0x5, 0x80, 0x3E, 0xB5, 0xF, 0x3F, 0xD5, 0x8F, 0x3F, 0x5, 0xC0, 0x3F, 0x5, 0x10, 0x0, 0x15, 0x10, 0x0, 0xF5, 0x4B, 0x38, 0x15, 0x80, 0x40, 0xC5, 0x8C, 0x15, 0x15, 0xCC, 0x2F, 0x5, 0xC0, 0x40, 0x5, 0x0, 0x41, 0x55, 0x90, 0x41, 0x5, 0xC6, 0x2F, 0x75, 0xE, 0x0, 0x75, 0x10, 0x0, 0x85, 0x10, 0x0, 0x65, 0x85, 0x3A, 0x95, 0x10, 0x3A, 0x45, 0x8D, 0x42, 0x5, 0x0, 0x36, 0xA5, 0xF, 0x0, 0x85, 0x4D, 0x3F, 0x5, 0xC0, 0x42, 0x5, 0x0, 0x43, 0xD5, 0x90, 0x43, 0x5, 0xC0, 0x43, 0x5, 0x0, 0x3B, 0x15, 0x0, 0x44, 0x15, 0x91, 0x44, 0x35, 0x11, 0x45, 0x15, 0x40, 0x45, 0x65, 0xD1, 0x45, 0x15, 0x40, 0x33, 0x85, 0x11, 0x30, 0x95, 0x91, 0x46, 0xB5, 0x11, 0x47, 0xD5, 0x91, 0x47, 0x5, 0xC0, 0x47, 0x5, 0x52, 0x48, 0x25, 0xD2, 0x47, 0x35, 0x12, 0x49, 0x55, 0xD2, 0x47, 0x65, 0xD2, 0x49, 0x85, 0x52, 0x4A, 0xA5, 0xD2, 0x4A, 0xC5, 0x52, 0x4B, 0xE5, 0xD2, 0x4B, 0xC5, 0x12, 0x4C, 0x15, 0x93, 0x4C, 0x35, 0x13, 0x4D, 0x55, 0x93, 0x4D, 0x75, 0x13, 0x4E, 0x5, 0x40, 0x4E, 0x75, 0x90, 0x4E, 0xB5, 0x13, 0x0, 0xD5, 0xF, 0x0, 0xC5, 0x13, 0x0, 0x5, 0x40, 0x4F, 0x5, 0x80, 0x4F, 0xF5, 0x13, 0x3F, 0x5, 0x0, 0x50, 0x35, 0xE, 0x0, 0x15, 0x94, 0x50, 0x35, 0x14, 0x0, 0x46, 0x54, 0x51, 0x6, 0x80, 0x51, 0x76, 0x14, 0x0, 0x86, 0x54, 0x52, 0xA6, 0xD4, 0x52, 0xC6, 0x14, 0x0, 0xD6, 0x94, 0x53, 0xF6, 0x14, 0x0, 0x6, 0x15, 0x0, 0x16, 0x95, 0x54, 0x36, 0x15, 0x0, 0x46, 0x55, 0x55, 0x66, 0x15, 0x0, 0x76, 0x15, 0x56, 0x96, 0x15, 0x0, 0xA6, 0x15, 0x0, 0xB6, 0x15, 0x0, 0xC6, 0x55, 0x57, 0xE6, 0x15, 0x0, 0xC6, 0x15, 0x0, 0x6, 0xC0, 0x57, 0x6, 0x56, 0x58, 0x6, 0x80, 0x58, 0x26, 0xD5, 0x58, 0x6, 0x0, 0x59, 0x6, 0x40, 0x59, 0x66, 0x14, 0x0, 0x66, 0x16, 0x0, 0x76, 0x16, 0x5A, 0x96, 0x16, 0x0, 0xA6, 0xD6, 0x5A, 0xC6, 0x56, 0x5B, 0xE6, 0x16, 0x0, 0x6, 0xC0, 0x5B, 0x6, 0x17, 0x0, 0x16, 0x97, 0x5C, 0x6, 0xC0, 0x5C, 0x46, 0x57, 0x5D, 0x66, 0x17, 0x0, 0x76, 0x17, 0x5E, 0x96, 0x97, 0x5E, 0xB6, 0x17, 0x5F, 0xD6, 0x97, 0x5F, 0xF6, 0x17, 0x0, 0x6, 0x18, 0x0, 0x16, 0x98, 0x60, 0x36, 0x18, 0x61, 0x56, 0x18, 0x55, 0x66, 0xD8, 0x61, 0x86, 0x58, 0x62, 0xA6, 0x58, 0x52, 0xB6, 0x18, 0x0, 0xC6, 0x58, 0x63, 0xA6, 0x98, 0x63, 0xF6, 0x58, 0x52, 0x6, 0x59, 0x64, 0x26, 0xD9, 0x64, 0x46, 0x19, 0x0, 0x56, 0x19, 0x0, 0x66, 0xD9, 0x65, 0x86, 0x19, 0x0, 0x96, 0x99, 0x66, 0xB6, 0x19, 0x67, 0xD6, 0x99, 0x67, 0xF6, 0x19, 0x68, 0x16, 0x9A, 0x68, 0x36, 0x1A, 0x69, 0x56, 0x9A, 0x69, 0x76, 0x1A, 0x6A, 0x96, 0x9A, 0x6A, 0xB6, 0x1A, 0x6B, 0xD6, 0x9A, 0x6B, 0x6, 0xC0, 0x6B, 0x6, 0x5B, 0x6C, 0x26, 0xDB, 0x6C, 0x46, 0x5B, 0x6D, 0x66, 0xDB, 0x6D, 0x56, 0x16, 0x6E, 0x6, 0x40, 0x6E, 0xA6, 0x1B, 0x0, 0xB7, 0x1B, 0x6F, 0xD7, 0x9B, 0x6F, 0xF7, 0x1B, 0x0, 0x7, 0x5C, 0x70, 0x27, 0xDC, 0x70, 0x47, 0x1C, 0x0, 0x57, 0x9C, 0x71, 0x77, 0x1C, 0x72, 0x97, 0x9C, 0x72, 0xB7, 0x1C, 0x73, 0xD7, 0x1C, 0x0, 0xE7, 0xDC, 0x73, 0x7, 0x1D, 0x0, 0x7, 0x40, 0x74, 0x27, 0xDD, 0x74, 0x47, 0x5D, 0x75, 0x67, 0x1D, 0x0, 0x77, 0x1D, 0x76, 0x97, 0x9D, 0x76, 0xB7, 0x1D, 0x0, 0xC7, 0x5D, 0x77, 0x7, 0x80, 0x77, 0xF7, 0x1D, 0x0, 0x7, 0x5E, 0x78, 0x27, 0xDE, 0x78, 0x47, 0x5E, 0x79, 0x67, 0xDE, 0x79, 0x87, 0x5E, 0x7A, 0xA7, 0xDE, 0x7A, 0xC7, 0x5E, 0x7B, 0xE7, 0xDE, 0x7B, 0x7, 0x1F, 0x0, 0x17, 0x9F, 0x7C, 0x37, 0x1F, 0x7D, 0x57, 0x1F, 0x0, 0x67, 0xDF, 0x7D, 0x87, 0x5F, 0x7E, 0xA7, 0xDF, 0x7E, 0xC7, 0x5F, 0x7F, 0xE7, 0xDF, 0x7F, 0x7, 0x60, 0x80, 0x27, 0x20, 0x0, 0x37, 0x20, 0x81, 0x57, 0xA0, 0x81, 0x77, 0x20, 0x82, 0x97, 0xA0, 0x82, 0xB8, 0x20, 0x83, 0xD8, 0x20, 0x0, 0xE8, 0xE0, 0x83, 0x8, 0x21, 0x0, 0x18, 0xA1, 0x84, 0x38, 0x21, 0x85, 0x58, 0xA1, 0x85, 0x8, 0xC0, 0x85, 0x8, 0x0, 0x86, 0x98, 0xA1, 0x86, 0xB8, 0x21, 0x87, 0xD8, 0xA1, 0x87, 0xF8, 0x21, 0x0, 0x8, 0x0, 0x88, 0x18, 0xA2, 0x88, 0x38, 0x22, 0x0, 0x8, 0x0, 0x89, 0x58, 0xA2, 0x89, 0x78, 0x22, 0x8A, 0x98, 0xA2, 0x8A, 0xB8, 0x22, 0x8B, 0x8, 0x40, 0x8B, 0xE8, 0xE2, 0x8B, 0x8, 0x63, 0x8C, 0x28, 0xE3, 0x8C, 0x48, 0x63, 0x8D, 0x68, 0x23, 0x0, 0x78, 0x23, 0x0, 0x88, 0x23, 0x0, 0x99, 0xA3, 0x8E, 0xB9, 0x23, 0x0, 0xC9, 0x23, 0x0, 0xD9, 0xA3, 0x8F, 0xF9, 0x23, 0x90, 0x19, 0xA4, 0x90, 0x39, 0x24, 0x91, 0x59, 0x24, 0x0, 0x9, 0x80, 0x91, 0x9, 0xC0, 0x91, 0x89, 0x64, 0x92, 0xA9, 0xE4, 0x92, 0xC9, 0x24, 0x0, 0xD9, 0xA4, 0x93, 0xF9, 0x24, 0x94, 0x19, 0xA5, 0x94, 0x39, 0x25, 0x95, 0x59, 0x25, 0x0, 0x6A, 0xE5, 0x95, 0x8A, 0x25, 0x0, 0xA, 0x40, 0x96, 0xAA, 0x25, 0x0, 0xA, 0xC0, 0x96, 0xCA, 0x65, 0x97, 0xEA, 0xE5, 0x97, 0xA, 0x66, 0x98, 0x2A, 0xE6, 0x98, 0x4A, 0x66, 0x99, 0x6A, 0xE6, 0x99, 0x8B, 0x26, 0x0, 0xB, 0x40, 0x9A, 0xAB, 0xE6, 0x9A, 0xB, 0x0, 0x9B, 0xDB, 0xA6, 0x9B, 0xFB, 0x26, 0x9C, 0x1B, 0xA7, 0x9C, 0x3C, 0x27, 0x0, 0x4C, 0x27, 0x0, 0xC, 0x40, 0x9D, 0x6C, 0xE7, 0x9D, 0x8C, 0x67, 0x9E, 0xAD, 0xE7, 0x9E, 0xCD, 0x27, 0x0, 0xDD, 0xA7, 0x9F, 0xFE, 0x27, 0xA0, 0xE, 0x40, 0xA0, 0x2F, 0xE8, 0xA0, }; + private static ReadOnlySpan SerializedCategory29_OtherNotAssigned => [0x3, 0x4, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x40, 0x0, 0x10, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x80, 0x0, 0x31, 0x0, 0x0, 0x11, 0xC0, 0x0, 0x1, 0x40, 0x0, 0x21, 0xC0, 0x0, 0x1, 0xC0, 0x0, 0x21, 0x40, 0x0, 0x21, 0x0, 0x0, 0x11, 0x80, 0x0, 0x31, 0x80, 0x0, 0x31, 0x40, 0x0, 0x42, 0x40, 0x1, 0x62, 0x0, 0x0, 0x72, 0x0, 0x2, 0x2, 0x0, 0x2, 0x2, 0x40, 0x1, 0x92, 0x0, 0x0, 0xA2, 0x0, 0x0, 0x12, 0x0, 0x0, 0x2, 0x80, 0x1, 0x12, 0x0, 0x1, 0xB2, 0x40, 0x0, 0x2, 0xC0, 0x2, 0x12, 0x80, 0x1, 0xA2, 0x0, 0x3, 0x32, 0x0, 0x0, 0x52, 0x40, 0x0, 0x42, 0x0, 0x0, 0x62, 0x40, 0x1, 0x2, 0x0, 0x1, 0x82, 0x0, 0x1, 0xC2, 0x0, 0x0, 0x72, 0x0, 0x0, 0x82, 0x40, 0x0, 0x52, 0x0, 0x3, 0x2, 0x0, 0x3, 0x12, 0xC0, 0x1, 0xD2, 0x40, 0x0, 0x82, 0x0, 0x0, 0xA2, 0x0, 0x2, 0x52, 0x0, 0x0, 0x52, 0x80, 0x1, 0x52, 0x0, 0x1, 0x2, 0x40, 0x0, 0x82, 0x80, 0x1, 0x2, 0xC0, 0x1, 0x12, 0x80, 0x2, 0x42, 0x80, 0x2, 0x22, 0x0, 0x0, 0xA2, 0x80, 0x3, 0xB2, 0x80, 0x1, 0xB2, 0xC0, 0x3, 0xD2, 0x0, 0x0, 0x2, 0x80, 0x2, 0x12, 0x40, 0x1, 0xE2, 0x40, 0x0, 0xD2, 0x80, 0x1, 0xB2, 0xC0, 0x1, 0x72, 0xC0, 0x2, 0x52, 0x0, 0x2, 0xC2, 0x40, 0x0, 0x42, 0x40, 0x2, 0x52, 0x80, 0x2, 0x2, 0x40, 0x2, 0x42, 0x0, 0x3, 0x32, 0x40, 0x1, 0x12, 0x40, 0x3, 0xA2, 0x0, 0x1, 0xE2, 0x80, 0x2, 0x62, 0x40, 0x2, 0x82, 0xC0, 0x0, 0xF2, 0x0, 0x0, 0xA2, 0x80, 0x1, 0x3, 0x41, 0x0, 0x23, 0xC1, 0x4, 0x13, 0x1, 0x0, 0x3, 0x0, 0x5, 0x53, 0x1, 0x0, 0x3, 0x80, 0x5, 0x73, 0x41, 0x4, 0x3, 0x0, 0x6, 0x93, 0x1, 0x0, 0xA3, 0x1, 0x0, 0x3, 0xC0, 0x4, 0x3, 0xC0, 0x6, 0x13, 0x0, 0x7, 0x3, 0x40, 0x7, 0xE3, 0x41, 0x4, 0xF3, 0xC1, 0x6, 0x13, 0x40, 0x4, 0x3, 0x2, 0x0, 0x73, 0x1, 0x0, 0xB3, 0x41, 0x4, 0x13, 0xC0, 0x5, 0x13, 0x40, 0x8, 0xB3, 0x41, 0x0, 0x23, 0x2, 0x0, 0x33, 0x2, 0x0, 0x43, 0x2, 0x0, 0x53, 0x2, 0x0, 0xA3, 0xC1, 0x5, 0x63, 0x2, 0x8, 0x13, 0x0, 0x0, 0x93, 0xC1, 0x9, 0xC3, 0x1, 0x0, 0x3, 0xC0, 0x7, 0x43, 0x41, 0x4, 0x13, 0x0, 0x8, 0x83, 0x2, 0x0, 0xA3, 0x41, 0xA, 0xA3, 0x2, 0x9, 0x43, 0xC1, 0x5, 0x3, 0x0, 0x9, 0x3, 0xC0, 0xA, 0x13, 0x40, 0xA, 0x3, 0x80, 0x8, 0x13, 0x1, 0xB, 0xD3, 0xC2, 0xA, 0x23, 0x0, 0x0, 0xE3, 0x2, 0x0, 0x93, 0x2, 0x0, 0xF3, 0x2, 0x0, 0xB3, 0x1, 0x0, 0x3, 0xC3, 0x5, 0xB3, 0x2, 0x0, 0x13, 0x3, 0x0, 0x13, 0x40, 0x9, 0x3, 0x80, 0xC, 0x13, 0xC0, 0xC, 0x63, 0x1, 0x0, 0xA3, 0x1, 0x8, 0x3, 0x0, 0xD, 0x3, 0x40, 0x4, 0x13, 0x1, 0xD, 0x43, 0x3, 0x0, 0x43, 0x43, 0x4, 0x43, 0x1, 0x0, 0x13, 0x81, 0x7, 0x3, 0x40, 0xD, 0x83, 0x81, 0xD, 0x73, 0x3, 0x0, 0x13, 0x80, 0x4, 0x3, 0x80, 0x9, 0x3, 0x80, 0x7, 0x83, 0x43, 0x4, 0x93, 0x3, 0xA, 0x33, 0x41, 0x4, 0x3, 0x40, 0x1, 0x3, 0x0, 0xC, 0xA3, 0x83, 0x5, 0x3, 0x80, 0xE, 0x13, 0xC0, 0xE, 0x43, 0x83, 0x5, 0x23, 0x42, 0xB, 0xA3, 0x3, 0x0, 0x3, 0x80, 0x6, 0xD3, 0x3, 0xF, 0x13, 0x80, 0xF, 0x43, 0x43, 0xC, 0x13, 0xC3, 0xF, 0x63, 0x3, 0xD, 0x13, 0x3, 0x10, 0x13, 0xC4, 0x7, 0x23, 0x44, 0x5, 0x23, 0xC2, 0x10, 0x3, 0x0, 0x11, 0x53, 0x41, 0x1, 0x43, 0x41, 0x6, 0x53, 0x4, 0x9, 0x3, 0x0, 0xA, 0x43, 0x42, 0x1, 0x63, 0xC4, 0x11, 0x23, 0xC4, 0xD, 0x83, 0x44, 0x12, 0x73, 0x43, 0x1, 0x13, 0x84, 0x6, 0xA3, 0x44, 0x5, 0x23, 0xC2, 0x12, 0x53, 0x41, 0xB, 0x3, 0x40, 0x6, 0xC3, 0x4, 0x0, 0x13, 0x40, 0x6, 0xD3, 0x4, 0xC, 0x33, 0x1, 0x0, 0xE4, 0x44, 0x4, 0xF4, 0xC4, 0x4, 0x4, 0x5, 0x0, 0x4, 0x40, 0x14, 0x24, 0x5, 0x0, 0x34, 0x5, 0x15, 0x54, 0x5, 0x0, 0x64, 0x5, 0x0, 0x4, 0x40, 0x0, 0x14, 0xC0, 0x15, 0x84, 0x5, 0x0, 0x94, 0x85, 0x16, 0x4, 0xC0, 0x16, 0xC4, 0x5, 0x0, 0xD4, 0x85, 0x17, 0x4, 0xC0, 0x17, 0x4, 0x6, 0x0, 0x4, 0x40, 0x18, 0x4, 0x80, 0x18, 0x64, 0xC5, 0x17, 0x4, 0x0, 0x18, 0x4, 0x40, 0x4, 0x34, 0x46, 0x8, 0xE4, 0x5, 0x0, 0x44, 0x86, 0x16, 0x54, 0xC6, 0x17, 0x64, 0xC6, 0x19, 0x84, 0x6, 0x0, 0x94, 0x6, 0x0, 0x64, 0x85, 0x1A, 0xB4, 0x6, 0x0, 0x64, 0x5, 0x1A, 0x84, 0x45, 0x0, 0xC4, 0x46, 0x1B, 0x14, 0x0, 0x18, 0x4, 0x80, 0x17, 0x4, 0x0, 0x1A, 0x4, 0x0, 0x14, 0x14, 0x5, 0x0, 0x4, 0x80, 0x1B, 0xF4, 0x6, 0x0, 0x4, 0x46, 0x0, 0x4, 0x7, 0x0, 0x24, 0x6, 0x0, 0x14, 0x7, 0x0, 0xF4, 0x5, 0x0, 0x24, 0xC7, 0x15, 0x4, 0xC0, 0x1C, 0x44, 0x7, 0x0, 0x54, 0x7, 0x0, 0x64, 0x7, 0x0, 0x14, 0x40, 0x1B, 0x14, 0x80, 0x17, 0x74, 0x7, 0x0, 0x4, 0xC0, 0x1D, 0x84, 0x6, 0x14, 0x84, 0xC7, 0x14, 0x94, 0x7, 0x0, 0xA4, 0xC7, 0x14, 0x34, 0x5, 0x0, 0xB4, 0x7, 0x8, 0x4, 0x2, 0x0, 0xD4, 0x6, 0x0, 0x4, 0xC0, 0x1A, 0xC4, 0x7, 0x0, 0x4, 0x40, 0x1F, 0x4, 0x80, 0x1F, 0xF4, 0x7, 0x0, 0x4, 0x8, 0x0, 0x14, 0x0, 0x14, 0x14, 0x8, 0x0, 0x24, 0x88, 0x15, 0x34, 0xC8, 0x17, 0x4, 0x0, 0x21, 0x4, 0x40, 0x1B, 0xD4, 0x7, 0x0, 0x54, 0x88, 0x21, 0x74, 0x8, 0x0, 0x84, 0x8, 0x0, 0x94, 0x8, 0x22, 0xA4, 0x8, 0x0, 0x4, 0xC0, 0x22, 0xC4, 0xC8, 0x22, 0xD4, 0x86, 0x21, 0x64, 0x8, 0x0, 0xD4, 0x8, 0x0, 0x14, 0x5, 0x1A, 0x4, 0x40, 0x23, 0x54, 0x86, 0x23, 0xF4, 0xC5, 0x23, 0x4, 0x0, 0x24, 0x14, 0x9, 0x0, 0x24, 0xC9, 0x24, 0x44, 0x49, 0x25, 0x64, 0x9, 0x0, 0x74, 0x9, 0x26, 0x4, 0x80, 0x1D, 0x94, 0x89, 0x26, 0xB4, 0x89, 0x21, 0xC4, 0x89, 0x1D, 0xC4, 0x43, 0x27, 0xE4, 0xC9, 0x27, 0x4, 0x8A, 0x1D, 0x14, 0x4A, 0x27, 0x54, 0xC6, 0x27, 0xD4, 0xC6, 0x24, 0x24, 0xCA, 0x28, 0x64, 0x6, 0x29, 0x54, 0x8A, 0x29, 0xB4, 0x86, 0x1D, 0x74, 0xA, 0x2A, 0x94, 0xCA, 0x27, 0xA4, 0xCA, 0x2A, 0xC4, 0x8A, 0x1D, 0x74, 0x47, 0x2B, 0xE4, 0xCA, 0x2B, 0xE4, 0xC5, 0x24, 0x4, 0x4B, 0x2C, 0x24, 0xCB, 0x27, 0xA4, 0xCA, 0x2C, 0x4, 0x85, 0x1D, 0x44, 0x4B, 0x2D, 0x64, 0xCB, 0x27, 0xA4, 0xCA, 0x2D, 0x84, 0xB, 0x14, 0x94, 0xB, 0x0, 0x4, 0xC5, 0x17, 0xA4, 0xB, 0x0, 0x4, 0x0, 0x1F, 0x4, 0xC0, 0x19, 0x34, 0x48, 0x24, 0x14, 0x5, 0x1F, 0x4, 0x80, 0x2B, 0x4, 0xC0, 0x2E, 0xC4, 0xB, 0x0, 0xD5, 0x8B, 0x2F, 0xF5, 0xB, 0x0, 0x5, 0x0, 0x30, 0x15, 0xC, 0x0, 0x25, 0xCC, 0x30, 0x5, 0x0, 0x31, 0x55, 0x8C, 0x31, 0x5, 0xC0, 0x31, 0x5, 0x0, 0x32, 0x5, 0x40, 0x32, 0xA5, 0xCC, 0x32, 0x15, 0x0, 0x31, 0xC5, 0xC, 0x0, 0xD5, 0x8C, 0x33, 0xF5, 0xC, 0x0, 0x5, 0xD, 0x0, 0x15, 0xD, 0x0, 0x25, 0xCD, 0x34, 0x45, 0x4D, 0x35, 0x5, 0x80, 0x35, 0x45, 0xD, 0x0, 0xF5, 0xCB, 0x35, 0x85, 0x4D, 0x36, 0x5, 0x80, 0x36, 0xB5, 0xD, 0x0, 0xC5, 0xD, 0x0, 0xD5, 0x8D, 0x37, 0xF5, 0xD, 0x0, 0x5, 0x0, 0x38, 0x5, 0x40, 0x38, 0x5, 0xC0, 0x2F, 0x5, 0x80, 0x38, 0x35, 0xE, 0x39, 0x5, 0x40, 0x39, 0x65, 0xCE, 0x39, 0x85, 0xE, 0x0, 0x5, 0x40, 0x3A, 0x15, 0x80, 0x3A, 0x5, 0x40, 0x4, 0x15, 0x1, 0x35, 0xB5, 0xE, 0x0, 0xC5, 0xE, 0x0, 0xD5, 0xE, 0x0, 0x5, 0x80, 0x3B, 0xF5, 0xE, 0x0, 0x5, 0x0, 0x3C, 0x15, 0xF, 0x0, 0x5, 0x40, 0x34, 0x25, 0xCF, 0x3C, 0x5, 0x0, 0x3D, 0x55, 0xF, 0x0, 0x65, 0xCF, 0x3D, 0x85, 0xF, 0x0, 0xA5, 0x4E, 0x3E, 0x5, 0x80, 0x3E, 0xB5, 0xF, 0x3F, 0xD5, 0x8F, 0x3F, 0x5, 0xC0, 0x3F, 0x5, 0x10, 0x0, 0x15, 0x10, 0x0, 0xF5, 0x4B, 0x38, 0x15, 0x80, 0x40, 0xC5, 0x8C, 0x15, 0x15, 0xCC, 0x2F, 0x5, 0xC0, 0x40, 0x5, 0x0, 0x41, 0x55, 0x90, 0x41, 0x5, 0xC6, 0x2F, 0x75, 0xE, 0x0, 0x75, 0x10, 0x0, 0x85, 0x10, 0x0, 0x65, 0x85, 0x3A, 0x95, 0x10, 0x3A, 0x45, 0x8D, 0x42, 0x5, 0x0, 0x36, 0xA5, 0xF, 0x0, 0x85, 0x4D, 0x3F, 0x5, 0xC0, 0x42, 0x5, 0x0, 0x43, 0xD5, 0x90, 0x43, 0x5, 0xC0, 0x43, 0x5, 0x0, 0x3B, 0x15, 0x0, 0x44, 0x15, 0x91, 0x44, 0x35, 0x11, 0x45, 0x15, 0x40, 0x45, 0x65, 0xD1, 0x45, 0x15, 0x40, 0x33, 0x85, 0x11, 0x30, 0x95, 0x91, 0x46, 0xB5, 0x11, 0x47, 0xD5, 0x91, 0x47, 0x5, 0xC0, 0x47, 0x5, 0x52, 0x48, 0x25, 0xD2, 0x47, 0x35, 0x12, 0x49, 0x55, 0xD2, 0x47, 0x65, 0xD2, 0x49, 0x85, 0x52, 0x4A, 0xA5, 0xD2, 0x4A, 0xC5, 0x52, 0x4B, 0xE5, 0xD2, 0x4B, 0xC5, 0x12, 0x4C, 0x15, 0x93, 0x4C, 0x35, 0x13, 0x4D, 0x55, 0x93, 0x4D, 0x75, 0x13, 0x4E, 0x5, 0x40, 0x4E, 0x75, 0x90, 0x4E, 0xB5, 0x13, 0x0, 0xD5, 0xF, 0x0, 0xC5, 0x13, 0x0, 0x5, 0x40, 0x4F, 0x5, 0x80, 0x4F, 0xF5, 0x13, 0x3F, 0x5, 0x0, 0x50, 0x35, 0xE, 0x0, 0x15, 0x94, 0x50, 0x35, 0x14, 0x0, 0x46, 0x54, 0x51, 0x6, 0x80, 0x51, 0x76, 0x14, 0x0, 0x86, 0x54, 0x52, 0xA6, 0xD4, 0x52, 0xC6, 0x14, 0x0, 0xD6, 0x94, 0x53, 0xF6, 0x14, 0x0, 0x6, 0x15, 0x0, 0x16, 0x95, 0x54, 0x36, 0x15, 0x0, 0x46, 0x55, 0x55, 0x66, 0x15, 0x0, 0x76, 0x15, 0x56, 0x96, 0x15, 0x0, 0xA6, 0x15, 0x0, 0xB6, 0x15, 0x0, 0xC6, 0x55, 0x57, 0xE6, 0x15, 0x0, 0xC6, 0x15, 0x0, 0x6, 0xC0, 0x57, 0x6, 0x56, 0x58, 0x6, 0x80, 0x58, 0x26, 0xD5, 0x58, 0x6, 0x0, 0x59, 0x6, 0x40, 0x59, 0x66, 0x14, 0x0, 0x66, 0x16, 0x0, 0x76, 0x16, 0x5A, 0x96, 0x16, 0x0, 0xA6, 0xD6, 0x5A, 0xC6, 0x56, 0x5B, 0xE6, 0x16, 0x0, 0x6, 0xC0, 0x5B, 0x6, 0x17, 0x0, 0x16, 0x97, 0x5C, 0x6, 0xC0, 0x5C, 0x46, 0x57, 0x5D, 0x66, 0x17, 0x0, 0x76, 0x17, 0x5E, 0x96, 0x97, 0x5E, 0xB6, 0x17, 0x5F, 0xD6, 0x97, 0x5F, 0xF6, 0x17, 0x0, 0x6, 0x18, 0x0, 0x16, 0x98, 0x60, 0x36, 0x18, 0x61, 0x56, 0x18, 0x55, 0x66, 0xD8, 0x61, 0x86, 0x58, 0x62, 0xA6, 0x58, 0x52, 0xB6, 0x18, 0x0, 0xC6, 0x58, 0x63, 0xA6, 0x98, 0x63, 0xF6, 0x58, 0x52, 0x6, 0x59, 0x64, 0x26, 0xD9, 0x64, 0x46, 0x19, 0x0, 0x56, 0x19, 0x0, 0x66, 0xD9, 0x65, 0x86, 0x19, 0x0, 0x96, 0x99, 0x66, 0xB6, 0x19, 0x67, 0xD6, 0x99, 0x67, 0xF6, 0x19, 0x68, 0x16, 0x9A, 0x68, 0x36, 0x1A, 0x69, 0x56, 0x9A, 0x69, 0x76, 0x1A, 0x6A, 0x96, 0x9A, 0x6A, 0xB6, 0x1A, 0x6B, 0xD6, 0x9A, 0x6B, 0x6, 0xC0, 0x6B, 0x6, 0x5B, 0x6C, 0x26, 0xDB, 0x6C, 0x46, 0x5B, 0x6D, 0x66, 0xDB, 0x6D, 0x56, 0x16, 0x6E, 0x6, 0x40, 0x6E, 0xA6, 0x1B, 0x0, 0xB7, 0x1B, 0x6F, 0xD7, 0x9B, 0x6F, 0xF7, 0x1B, 0x0, 0x7, 0x5C, 0x70, 0x27, 0xDC, 0x70, 0x47, 0x1C, 0x0, 0x57, 0x9C, 0x71, 0x77, 0x1C, 0x72, 0x97, 0x9C, 0x72, 0xB7, 0x1C, 0x73, 0xD7, 0x1C, 0x0, 0xE7, 0xDC, 0x73, 0x7, 0x1D, 0x0, 0x7, 0x40, 0x74, 0x27, 0xDD, 0x74, 0x47, 0x5D, 0x75, 0x67, 0x1D, 0x0, 0x77, 0x1D, 0x76, 0x97, 0x9D, 0x76, 0xB7, 0x1D, 0x0, 0xC7, 0x5D, 0x77, 0x7, 0x80, 0x77, 0xF7, 0x1D, 0x0, 0x7, 0x5E, 0x78, 0x27, 0xDE, 0x78, 0x47, 0x5E, 0x79, 0x67, 0xDE, 0x79, 0x87, 0x5E, 0x7A, 0xA7, 0xDE, 0x7A, 0xC7, 0x5E, 0x7B, 0xE7, 0xDE, 0x7B, 0x7, 0x1F, 0x0, 0x17, 0x9F, 0x7C, 0x37, 0x1F, 0x7D, 0x57, 0x1F, 0x0, 0x67, 0xDF, 0x7D, 0x87, 0x5F, 0x7E, 0xA7, 0xDF, 0x7E, 0xC7, 0x5F, 0x7F, 0xE7, 0xDF, 0x7F, 0x7, 0x60, 0x80, 0x27, 0x20, 0x0, 0x37, 0x20, 0x81, 0x57, 0xA0, 0x81, 0x77, 0x20, 0x82, 0x97, 0xA0, 0x82, 0xB8, 0x20, 0x83, 0xD8, 0x20, 0x0, 0xE8, 0xE0, 0x83, 0x8, 0x21, 0x0, 0x18, 0xA1, 0x84, 0x38, 0x21, 0x85, 0x58, 0xA1, 0x85, 0x8, 0xC0, 0x85, 0x8, 0x0, 0x86, 0x98, 0xA1, 0x86, 0xB8, 0x21, 0x87, 0xD8, 0xA1, 0x87, 0xF8, 0x21, 0x0, 0x8, 0x0, 0x88, 0x18, 0xA2, 0x88, 0x38, 0x22, 0x0, 0x8, 0x0, 0x89, 0x58, 0xA2, 0x89, 0x78, 0x22, 0x8A, 0x98, 0xA2, 0x8A, 0xB8, 0x22, 0x8B, 0x8, 0x40, 0x8B, 0xE8, 0xE2, 0x8B, 0x8, 0x63, 0x8C, 0x28, 0xE3, 0x8C, 0x48, 0x63, 0x8D, 0x68, 0x23, 0x0, 0x78, 0x23, 0x0, 0x88, 0x23, 0x0, 0x99, 0xA3, 0x8E, 0xB9, 0x23, 0x0, 0xC9, 0x23, 0x0, 0xD9, 0xA3, 0x8F, 0xF9, 0x23, 0x90, 0x19, 0xA4, 0x90, 0x39, 0x24, 0x91, 0x59, 0x24, 0x0, 0x9, 0x80, 0x91, 0x9, 0xC0, 0x91, 0x89, 0x64, 0x92, 0xA9, 0xE4, 0x92, 0xC9, 0x24, 0x0, 0xD9, 0xA4, 0x93, 0xF9, 0x24, 0x94, 0x19, 0xA5, 0x94, 0x39, 0x25, 0x95, 0x59, 0x25, 0x0, 0x6A, 0xE5, 0x95, 0x8A, 0x25, 0x0, 0xA, 0x40, 0x96, 0xAA, 0x25, 0x0, 0xA, 0xC0, 0x96, 0xCA, 0x65, 0x97, 0xEA, 0xE5, 0x97, 0xA, 0x66, 0x98, 0x2A, 0xE6, 0x98, 0x4A, 0x66, 0x99, 0x6A, 0xE6, 0x99, 0x8B, 0x26, 0x0, 0xB, 0x40, 0x9A, 0xAB, 0xE6, 0x9A, 0xB, 0x0, 0x9B, 0xDB, 0xA6, 0x9B, 0xFB, 0x26, 0x9C, 0x1B, 0xA7, 0x9C, 0x3C, 0x27, 0x0, 0x4C, 0x27, 0x0, 0xC, 0x40, 0x9D, 0x6C, 0xE7, 0x9D, 0x8C, 0x67, 0x9E, 0xAD, 0xE7, 0x9E, 0xCD, 0x27, 0x0, 0xDD, 0xA7, 0x9F, 0xFE, 0x27, 0xA0, 0xE, 0x40, 0xA0, 0x2F, 0xE8, 0xA0]; } } diff --git a/src/libraries/System.Text.RegularExpressions/tools/DataTable.cs b/src/libraries/System.Text.RegularExpressions/tools/DataTable.cs index 7452c040fd7ff..738ed8f08e1e8 100644 --- a/src/libraries/System.Text.RegularExpressions/tools/DataTable.cs +++ b/src/libraries/System.Text.RegularExpressions/tools/DataTable.cs @@ -112,7 +112,7 @@ void EmitFirstLevelLookupTable(StreamWriter writer) { List firstLevelLookupTable = FlattenFirstLevelLookupTable(); - writer.Write($" private static ReadOnlySpan EquivalenceFirstLevelLookup => new ushort[{firstLevelLookupTable.Count}]\n {{\n"); + writer.Write($" private static ReadOnlySpan EquivalenceFirstLevelLookup => // {firstLevelLookupTable.Count}\n [\n"); writer.Write(" 0x{0:x4}", firstLevelLookupTable[0]); for (var i = 1; i < firstLevelLookupTable.Count; i++) @@ -120,7 +120,7 @@ void EmitFirstLevelLookupTable(StreamWriter writer) writer.Write(i % 16 == 0 ? ",\n " : ", "); writer.Write("0x{0:x4}", firstLevelLookupTable[i]); } - writer.Write("\n };\n"); + writer.Write("\n ];\n"); } List FlattenFirstLevelLookupTable() @@ -149,7 +149,7 @@ void EmitMapArray(StreamWriter writer) { List flattenedMap = FlattenMapDictionary(); - writer.Write($" private static ReadOnlySpan EquivalenceCasingMap => new ushort[{flattenedMap.Count}]\n {{\n"); + writer.Write($" private static ReadOnlySpan EquivalenceCasingMap => // {flattenedMap.Count}]\n [\n"); writer.Write(" 0x{0:x4}", flattenedMap[0]); for (var i = 1; i < flattenedMap.Count; i++) @@ -157,7 +157,7 @@ void EmitMapArray(StreamWriter writer) writer.Write(i % 16 == 0 ? $",\n " : ", "); writer.Write("0x{0:x4}", flattenedMap[i]); } - writer.Write("\n };\n"); + writer.Write("\n ];\n"); } List FlattenMapDictionary() @@ -193,7 +193,7 @@ void EmitValuesArray(StreamWriter writer) { List flattenedValues = FlattenValuesDictionary(); - writer.Write(" private static ReadOnlySpan EquivalenceCasingValues => new char[" + flattenedValues.Count + "]\n {\n"); + writer.Write($" private static ReadOnlySpan EquivalenceCasingValues => // {flattenedValues.Count}\n [\n"); writer.Write(" \'\\u{0:X4}\'", flattenedValues[0]); for (var i = 1; i < flattenedValues.Count; i++) @@ -201,7 +201,7 @@ void EmitValuesArray(StreamWriter writer) writer.Write(i % 16 == 0 ? ",\n " : ", "); writer.Write("\'\\u{0:X4}\'", flattenedValues[i]); } - writer.Write("\n };\n"); + writer.Write("\n ];\n"); } List FlattenValuesDictionary() From ceaa5db789e6f9a84549284345b60af168aa32c8 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Fri, 6 Oct 2023 13:30:17 -0400 Subject: [PATCH 2/2] Fix asn template --- .../Common/src/System/Security/Cryptography/Asn1/asn.xslt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt b/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt index 581a72baa328d..3219151eda548 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt @@ -253,7 +253,7 @@ namespace - private static ReadOnlySpan<byte> => new byte[] { }; + private static ReadOnlySpan<byte> => [];