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