1 using System;
 2 
 3 // this file has been automatically generated from 'C:/work/cmajorm/cmajor/projects/tools/soulcm/scmlg/build/RegExLexer.lexer' using soulcm lexer generator scmlg version 3.10.0
 4 
 5 private byte[] classMapData = [0u, 120u, 156u, 236u, 221u, 137u, 142u, 228u, 170u, 21u, 0u, 208u, 202u, 190u, 87u, 231u, 101u, 223u, 31u, 73u, 254u, 255u, 31u, 83u, 45u, 85u, 75u, 30u, 2u, 6u, 12u, 54u, 84u, 247u, 25u, 233u, 168u, 54u, 27u, 46u, 247u, 2u, 118u, 47u, 51u, 115u, 251u, 238u, 246u, 254u, 231u, 223u, 15u, 161u, 194u, 127u, 55u, 207u, 255u, 83u, 121u, 206u, 8u, 239u, 127u, 126u, 240u, 240u, 179u, 135u, 159u, 63u, 223u, 251u, 205u, 195u, 47u, 159u, 207u, 255u, 82u, 240u, 231u, 167u, 84u, 219u, 191u, 120u, 62u, 254u, 97u, 227u, 79u, 155u, 231u, 247u, 131u, 126u, 191u, 121u, 254u, 221u, 230u, 249u, 15u, 31u, 126u, 245u, 240u, 163u, 135u, 95u, 63u, 223u, 123u, 239u, 255u, 175u, 15u, 127u, 123u, 246u, 249u, 199u, 231u, 227u, 223u, 11u, 125u, 252u, 35u, 122u, 253u, 207u, 231u, 227u, 191u, 30u, 126u, 247u, 240u, 253u, 243u, 245u, 111u, 55u, 199u, 252u, 248u, 225u, 167u, 15u, 63u, 233u, 172u, 201u, 12u, 247u, 3u, 199u, 190u, 85u, 156u, 127u, 180u, 198u, 53u, 206u, 110u, 127u, 245u, 254u, 1u, 96u, 117u, 225u, 214u, 119u, 95u, 16u, 159u, 95u, 171u, 181u, 173u, 123u, 244u, 216u, 235u, 141u, 151u, 150u, 155u, 63u, 241u, 92u, 202u, 29u, 19u, 50u, 238u, 137u, 246u, 195u, 237u, 255u, 219u, 31u, 185u, 254u, 102u, 239u, 1u, 159u, 137u, 124u, 210u, 34u, 220u, 210u, 251u, 75u, 184u, 153u, 75u, 172u, 43u, 44u, 16u, 195u, 94u, 108u, 33u, 122u, 30u, 155u, 29u, 99u, 203u, 56u, 114u, 102u, 223u, 3u, 29u, 17u, 162u, 199u, 220u, 243u, 210u, 216u, 103u, 214u, 161u, 181u, 78u, 103u, 104u, 205u, 249u, 204u, 252u, 245u, 154u, 61u, 95u, 83u, 121u, 203u, 125u, 13u, 192u, 28u, 31u, 181u, 169u, 169u, 101u, 233u, 107u, 186u, 212u, 190u, 148u, 59u, 166u, 36u, 142u, 49u, 68u, 207u, 143u, 154u, 61u, 7u, 103u, 172u, 193u, 217u, 115u, 236u, 43u, 104u, 169u, 75u, 207u, 60u, 62u, 178u, 126u, 86u, 206u, 201u, 199u, 177u, 241u, 56u, 183u, 239u, 93u, 49u, 151u, 83u, 113u, 213u, 198u, 95u, 115u, 94u, 170u, 150u, 71u, 92u, 93u, 183u, 158u, 254u, 71u, 141u, 121u, 37u, 103u, 228u, 187u, 166u, 221u, 51u, 198u, 210u, 123u, 109u, 185u, 242u, 90u, 182u, 242u, 62u, 119u, 246u, 26u, 172u, 221u, 139u, 142u, 236u, 87u, 71u, 243u, 25u, 239u, 15u, 45u, 243u, 102u, 244u, 254u, 84u, 187u, 118u, 114u, 175u, 175u, 94u, 207u, 225u, 246u, 109u, 28u, 169u, 227u, 183u, 121u, 45u, 213u, 44u, 174u, 65u, 170u, 38u, 53u, 123u, 200u, 222u, 126u, 31u, 199u, 120u, 180u, 254u, 241u, 248u, 74u, 62u, 142u, 205u, 245u, 149u, 202u, 93u, 174u, 143u, 213u, 234u, 95u, 122u, 190u, 29u, 247u, 94u, 221u, 227u, 188u, 228u, 242u, 20u, 183u, 185u, 151u, 243u, 210u, 124u, 205u, 245u, 125u, 100u, 223u, 46u, 197u, 179u, 215u, 87u, 42u, 222u, 154u, 154u, 212u, 158u, 119u, 101u, 253u, 143u, 174u, 255u, 212u, 28u, 73u, 189u, 14u, 81u, 219u, 71u, 244u, 174u, 255u, 218u, 62u, 90u, 198u, 89u, 83u, 143u, 176u, 243u, 250u, 213u, 235u, 31u, 215u, 32u, 85u, 147u, 82u, 206u, 115u, 199u, 229u, 226u, 236u, 189u, 254u, 151u, 226u, 169u, 137u, 183u, 148u, 235u, 212u, 56u, 114u, 231u, 236u, 141u, 57u, 126u, 47u, 117u, 92u, 174u, 159u, 212u, 251u, 181u, 115u, 40u, 30u, 239u, 222u, 90u, 218u, 91u, 35u, 181u, 235u, 191u, 117u, 31u, 46u, 197u, 119u, 116u, 253u, 183u, 246u, 211u, 186u, 30u, 227u, 215u, 87u, 175u, 255u, 214u, 250u, 215u, 172u, 255u, 218u, 250u, 239u, 229u, 52u, 149u, 167u, 216u, 136u, 245u, 223u, 35u, 206u, 69u, 77u, 174u, 83u, 227u, 90u, 165u, 254u, 185u, 99u, 183u, 121u, 189u, 178u, 254u, 123u, 121u, 223u, 198u, 218u, 187u, 255u, 239u, 237u, 67u, 53u, 177u, 174u, 92u, 255u, 81u, 182u, 251u, 91u, 111u, 253u, 75u, 235u, 249u, 126u, 251u, 182u, 158u, 53u, 199u, 158u, 185u, 254u, 75u, 251u, 98u, 75u, 253u, 91u, 214u, 98u, 169u, 255u, 145u, 125u, 181u, 28u, 87u, 19u, 215u, 54u, 254u, 84u, 174u, 75u, 243u, 103u, 239u, 152u, 82u, 253u, 90u, 235u, 223u, 115u, 61u, 152u, 189u, 46u, 71u, 172u, 235u, 120u, 29u, 213u, 230u, 186u, 212u, 110u, 203u, 62u, 113u, 230u, 117u, 250u, 76u, 169u, 181u, 209u, 179u, 198u, 70u, 172u, 227u, 150u, 190u, 106u, 235u, 159u, 218u, 187u, 75u, 49u, 212u, 174u, 187u, 218u, 250u, 239u, 237u, 49u, 51u, 156u, 29u, 195u, 232u, 125u, 174u, 182u, 207u, 212u, 99u, 170u, 223u, 218u, 249u, 184u, 146u, 163u, 57u, 108u, 201u, 245u, 94u, 126u, 142u, 182u, 181u, 138u, 56u, 127u, 41u, 171u, 239u, 217u, 163u, 204u, 158u, 203u, 45u, 70u, 207u, 131u, 150u, 54u, 91u, 243u, 151u, 234u, 43u, 247u, 121u, 234u, 117u, 41u, 182u, 150u, 190u, 206u, 200u, 109u, 111u, 61u, 74u, 249u, 155u, 45u, 108u, 30u, 99u, 247u, 219u, 250u, 241u, 239u, 141u, 9u, 128u, 58u, 33u, 243u, 94u, 234u, 253u, 212u, 121u, 71u, 207u, 95u, 197u, 234u, 241u, 175u, 90u, 159u, 85u, 242u, 179u, 106u, 254u, 191u, 154u, 143u, 156u, 28u, 249u, 90u, 116u, 196u, 215u, 180u, 41u, 163u, 198u, 52u, 171u, 127u, 246u, 235u, 82u, 83u, 183u, 217u, 177u, 2u, 0u, 176u, 47u, 220u, 198u, 221u, 183u, 141u, 106u, 167u, 37u, 238u, 173u, 217u, 185u, 124u, 37u, 71u, 243u, 150u, 202u, 123u, 79u, 254u, 83u, 231u, 29u, 253u, 90u, 116u, 84u, 110u, 86u, 233u, 191u, 165u, 239u, 163u, 253u, 199u, 231u, 133u, 139u, 251u, 95u, 217u, 149u, 191u, 71u, 80u, 250u, 62u, 76u, 106u, 237u, 221u, 163u, 227u, 122u, 127u, 254u, 124u, 165u, 84u, 60u, 103u, 253u, 252u, 156u, 113u, 114u, 185u, 127u, 149u, 252u, 127u, 252u, 190u, 193u, 171u, 198u, 191u, 90u, 205u, 87u, 201u, 223u, 123u, 255u, 61u, 251u, 235u, 136u, 243u, 115u, 90u, 126u, 15u, 102u, 102u, 125u, 123u, 106u, 159u, 59u, 127u, 101u, 179u, 226u, 207u, 229u, 239u, 140u, 185u, 119u, 165u, 51u, 115u, 86u, 147u, 131u, 217u, 243u, 233u, 170u, 113u, 231u, 114u, 49u, 243u, 30u, 117u, 196u, 220u, 61u, 115u, 238u, 239u, 173u, 187u, 35u, 99u, 88u, 125u, 45u, 206u, 176u, 210u, 53u, 237u, 202u, 181u, 119u, 244u, 154u, 94u, 147u, 191u, 179u, 230u, 219u, 25u, 253u, 172u, 80u, 247u, 158u, 26u, 141u, 168u, 233u, 138u, 174u, 218u, 215u, 102u, 143u, 243u, 140u, 245u, 219u, 146u, 143u, 35u, 237u, 28u, 137u, 119u, 118u, 94u, 99u, 169u, 177u, 148u, 142u, 77u, 153u, 61u, 142u, 222u, 49u, 239u, 141u, 173u, 70u, 60u, 71u, 70u, 207u, 223u, 212u, 220u, 217u, 155u, 79u, 185u, 189u, 49u, 55u, 214u, 217u, 53u, 129u, 153u, 206u, 88u, 175u, 43u, 10u, 153u, 247u, 103u, 231u, 31u, 248u, 124u, 194u, 109u, 255u, 254u, 162u, 244u, 249u, 108u, 163u, 226u, 15u, 133u, 199u, 85u, 199u, 247u, 202u, 74u, 227u, 218u, 214u, 32u, 149u, 135u, 154u, 243u, 115u, 249u, 43u, 229u, 53u, 20u, 206u, 111u, 169u, 221u, 136u, 248u, 191u, 178u, 218u, 239u, 17u, 180u, 182u, 121u, 245u, 56u, 142u, 214u, 116u, 196u, 92u, 24u, 53u, 127u, 95u, 213u, 136u, 239u, 73u, 197u, 239u, 245u, 182u, 119u, 68u, 110u, 111u, 218u, 62u, 111u, 217u, 123u, 75u, 231u, 149u, 226u, 72u, 61u, 246u, 94u, 19u, 82u, 237u, 228u, 98u, 168u, 217u, 183u, 91u, 242u, 187u, 55u, 222u, 213u, 141u, 24u, 39u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 99u, 204u, 254u, 221u, 210u, 222u, 223u, 75u, 157u, 29u, 195u, 87u, 142u, 159u, 115u, 132u, 140u, 248u, 184u, 212u, 223u, 227u, 205u, 157u, 91u, 219u, 230u, 42u, 194u, 230u, 49u, 21u, 243u, 234u, 241u, 159u, 61u, 23u, 246u, 242u, 83u, 235u, 236u, 191u, 255u, 93u, 19u, 67u, 205u, 28u, 248u, 204u, 159u, 175u, 240u, 239u, 2u, 0u, 0u, 180u, 222u, 195u, 141u, 236u, 47u, 103u, 239u, 254u, 101u, 239u, 222u, 179u, 230u, 190u, 244u, 170u, 123u, 249u, 175u, 230u, 35u, 191u, 123u, 255u, 214u, 148u, 252u, 95u, 91u, 143u, 92u, 141u, 182u, 102u, 199u, 217u, 59u, 38u, 174u, 203u, 125u, 175u, 87u, 139u, 119u, 53u, 114u, 2u, 0u, 180u, 154u, 125u, 15u, 9u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 192u, 90u, 2u, 254u, 255u, 31u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 128u, 19u, 133u, 78u, 179u, 227u, 7u, 0u, 0u, 0u, 96u, 61u, 129u, 151u, 255u, 254u, 217u, 171u, 199u, 15u, 204u, 17u, 110u, 227u, 246u, 143u, 183u, 74u, 169u, 190u, 71u, 152u, 157u, 203u, 222u, 220u, 197u, 227u, 169u, 205u, 231u, 236u, 177u, 199u, 117u, 165u, 47u, 143u, 97u, 65u, 53u, 241u, 183u, 28u, 203u, 28u, 159u, 185u, 70u, 123u, 99u, 11u, 47u, 174u, 37u, 15u, 241u, 94u, 156u, 218u, 155u, 207u, 222u, 175u, 115u, 215u, 169u, 85u, 114u, 244u, 10u, 90u, 199u, 255u, 217u, 174u, 195u, 181u, 247u, 63u, 53u, 247u, 71u, 45u, 249u, 59u, 218u, 222u, 168u, 120u, 107u, 230u, 195u, 253u, 246u, 237u, 156u, 31u, 209u, 254u, 172u, 58u, 110u, 199u, 180u, 210u, 92u, 10u, 141u, 102u, 172u, 145u, 109u, 255u, 179u, 235u, 60u, 187u, 94u, 61u, 215u, 152u, 150u, 62u, 247u, 218u, 72u, 141u, 99u, 244u, 152u, 115u, 243u, 96u, 118u, 205u, 102u, 215u, 181u, 53u, 239u, 113u, 219u, 103u, 212u, 127u, 148u, 184u, 159u, 207u, 178u, 206u, 83u, 53u, 75u, 141u, 109u, 111u, 172u, 111u, 209u, 185u, 113u, 190u, 206u, 144u, 170u, 77u, 239u, 58u, 72u, 181u, 211u, 186u, 175u, 149u, 230u, 79u, 239u, 231u, 71u, 250u, 190u, 15u, 248u, 124u, 53u, 71u, 226u, 237u, 201u, 31u, 175u, 165u, 230u, 26u, 242u, 74u, 215u, 31u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 128u, 207u, 44u, 52u, 186u, 50u, 150u, 217u, 185u, 153u, 145u, 95u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 248u, 204u, 238u, 0u, 188u, 148u, 112u, 179u, 127u, 191u, 146u, 176u, 168u, 145u, 49u, 215u, 182u, 241u, 254u, 254u, 91u, 161u, 239u, 184u, 141u, 163u, 57u, 223u, 123u, 63u, 100u, 142u, 61u, 218u, 31u, 243u, 132u, 5u, 204u, 206u, 1u, 0u, 101u, 97u, 144u, 217u, 227u, 152u, 237u, 179u, 231u, 33u, 44u, 174u, 119u, 60u, 111u, 157u, 122u, 227u, 31u, 217u, 255u, 168u, 152u, 90u, 98u, 62u, 187u, 175u, 146u, 92u, 141u, 103u, 175u, 27u, 214u, 21u, 6u, 26u, 177u, 79u, 204u, 26u, 247u, 71u, 92u, 43u, 230u, 125u, 246u, 28u, 249u, 10u, 106u, 242u, 125u, 198u, 231u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 254u, 215u, 62u, 28u, 147u, 0u, 0u, 0u, 0u, 12u, 234u, 223u, 122u, 53u, 118u, 40u, 168u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 170u, 62u, 6u, 68u, 214u, 63u, 32u];
 6 
 7 private int* classMap = null;
 8 
 9 private bool classMapDataCompressed = true;
10 
11 public static class RegExClassMap
12 {
13     public static void Init()
14     {
15         if (classMap == null)
16         {
17             classMap = System.Lex.CreateClassMap(classMapData.Begin()classMapData.Length()classMapDataCompressed);
18         }
19     }
20     public static int GetClass(uchar c)
21     {
22         int i = cast<int>(c);
23         if (i < 1114112)
24         {
25             return classMap[i];
26         }
27         else
28         {
29             return -1;
30         }
31     }
32 }