Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "crypto.h"
- void add_round_key(bs_reg_t state_bs[CRYPTO_IN_SIZE_BIT], uint8_t key[CRYPTO_KEY_SIZE])
- {
- // /// INSERT YOUR CODE HERE ///
- state_bs[0] = state_bs[0] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 0) & 0x1) - 1)));
- state_bs[1] = state_bs[1] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 1) & 0x1) - 1)));
- state_bs[2] = state_bs[2] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 2) & 0x1) - 1)));
- state_bs[3] = state_bs[3] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 3) & 0x1) - 1)));
- state_bs[4] = state_bs[4] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 4) & 0x1) - 1)));
- state_bs[5] = state_bs[5] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 5) & 0x1) - 1)));
- state_bs[6] = state_bs[6] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 6) & 0x1) - 1)));
- state_bs[7] = state_bs[7] ^ (0xFFFF & (~(((uint16_t)(key[ 0 ] >> 7) & 0x1) - 1)));
- state_bs[8] = state_bs[8] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 0) & 0x1) - 1)));
- state_bs[9] = state_bs[9] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 1) & 0x1) - 1)));
- state_bs[10] = state_bs[10] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 2) & 0x1) - 1)));
- state_bs[11] = state_bs[11] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 3) & 0x1) - 1)));
- state_bs[12] = state_bs[12] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 4) & 0x1) - 1)));
- state_bs[13] = state_bs[13] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 5) & 0x1) - 1)));
- state_bs[14] = state_bs[14] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 6) & 0x1) - 1)));
- state_bs[15] = state_bs[15] ^ (0xFFFF & (~(((uint16_t)(key[ 1 ] >> 7) & 0x1) - 1)));
- state_bs[16] = state_bs[16] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 0) & 0x1) - 1)));
- state_bs[17] = state_bs[17] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 1) & 0x1) - 1)));
- state_bs[18] = state_bs[18] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 2) & 0x1) - 1)));
- state_bs[19] = state_bs[19] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 3) & 0x1) - 1)));
- state_bs[20] = state_bs[20] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 4) & 0x1) - 1)));
- state_bs[21] = state_bs[21] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 5) & 0x1) - 1)));
- state_bs[22] = state_bs[22] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 6) & 0x1) - 1)));
- state_bs[23] = state_bs[23] ^ (0xFFFF & (~(((uint16_t)(key[ 2 ] >> 7) & 0x1) - 1)));
- state_bs[24] = state_bs[24] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 0) & 0x1) - 1)));
- state_bs[25] = state_bs[25] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 1) & 0x1) - 1)));
- state_bs[26] = state_bs[26] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 2) & 0x1) - 1)));
- state_bs[27] = state_bs[27] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 3) & 0x1) - 1)));
- state_bs[28] = state_bs[28] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 4) & 0x1) - 1)));
- state_bs[29] = state_bs[29] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 5) & 0x1) - 1)));
- state_bs[30] = state_bs[30] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 6) & 0x1) - 1)));
- state_bs[31] = state_bs[31] ^ (0xFFFF & (~(((uint16_t)(key[ 3 ] >> 7) & 0x1) - 1)));
- state_bs[32] = state_bs[32] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 0) & 0x1) - 1)));
- state_bs[33] = state_bs[33] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 1) & 0x1) - 1)));
- state_bs[34] = state_bs[34] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 2) & 0x1) - 1)));
- state_bs[35] = state_bs[35] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 3) & 0x1) - 1)));
- state_bs[36] = state_bs[36] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 4) & 0x1) - 1)));
- state_bs[37] = state_bs[37] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 5) & 0x1) - 1)));
- state_bs[38] = state_bs[38] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 6) & 0x1) - 1)));
- state_bs[39] = state_bs[39] ^ (0xFFFF & (~(((uint16_t)(key[ 4 ] >> 7) & 0x1) - 1)));
- state_bs[40] = state_bs[40] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 0) & 0x1) - 1)));
- state_bs[41] = state_bs[41] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 1) & 0x1) - 1)));
- state_bs[42] = state_bs[42] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 2) & 0x1) - 1)));
- state_bs[43] = state_bs[43] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 3) & 0x1) - 1)));
- state_bs[44] = state_bs[44] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 4) & 0x1) - 1)));
- state_bs[45] = state_bs[45] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 5) & 0x1) - 1)));
- state_bs[46] = state_bs[46] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 6) & 0x1) - 1)));
- state_bs[47] = state_bs[47] ^ (0xFFFF & (~(((uint16_t)(key[ 5 ] >> 7) & 0x1) - 1)));
- state_bs[48] = state_bs[48] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 0) & 0x1) - 1)));
- state_bs[49] = state_bs[49] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 1) & 0x1) - 1)));
- state_bs[50] = state_bs[50] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 2) & 0x1) - 1)));
- state_bs[51] = state_bs[51] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 3) & 0x1) - 1)));
- state_bs[52] = state_bs[52] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 4) & 0x1) - 1)));
- state_bs[53] = state_bs[53] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 5) & 0x1) - 1)));
- state_bs[54] = state_bs[54] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 6) & 0x1) - 1)));
- state_bs[55] = state_bs[55] ^ (0xFFFF & (~(((uint16_t)(key[ 6 ] >> 7) & 0x1) - 1)));
- state_bs[56] = state_bs[56] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 0) & 0x1) - 1)));
- state_bs[57] = state_bs[57] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 1) & 0x1) - 1)));
- state_bs[58] = state_bs[58] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 2) & 0x1) - 1)));
- state_bs[59] = state_bs[59] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 3) & 0x1) - 1)));
- state_bs[60] = state_bs[60] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 4) & 0x1) - 1)));
- state_bs[61] = state_bs[61] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 5) & 0x1) - 1)));
- state_bs[62] = state_bs[62] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 6) & 0x1) - 1)));
- state_bs[63] = state_bs[63] ^ (0xFFFF & (~(((uint16_t)(key[ 7 ] >> 7) & 0x1) - 1)));
- }
- void pbox_layer(bs_reg_t state_bs[CRYPTO_IN_SIZE_BIT], bs_reg_t out[CRYPTO_IN_SIZE_BIT])
- {
- out[0] = state_bs[0];
- out[16] = state_bs[1];
- out[32] = state_bs[2];
- out[48] = state_bs[3];
- out[1] = state_bs[4];
- out[17] = state_bs[5];
- out[33] = state_bs[6];
- out[49] = state_bs[7];
- out[2] = state_bs[8];
- out[18] = state_bs[9];
- out[34] = state_bs[10];
- out[50] = state_bs[11];
- out[3] = state_bs[12];
- out[19] = state_bs[13];
- out[35] = state_bs[14];
- out[51] = state_bs[15];
- out[4] = state_bs[16];
- out[20] = state_bs[17];
- out[36] = state_bs[18];
- out[52] = state_bs[19];
- out[5] = state_bs[20];
- out[21] = state_bs[21];
- out[37] = state_bs[22];
- out[53] = state_bs[23];
- out[6] = state_bs[24];
- out[22] = state_bs[25];
- out[38] = state_bs[26];
- out[54] = state_bs[27];
- out[7] = state_bs[28];
- out[23] = state_bs[29];
- out[39] = state_bs[30];
- out[55] = state_bs[31];
- out[8] = state_bs[32];
- out[24] = state_bs[33];
- out[40] = state_bs[34];
- out[56] = state_bs[35];
- out[9] = state_bs[36];
- out[25] = state_bs[37];
- out[41] = state_bs[38];
- out[57] = state_bs[39];
- out[10] = state_bs[40];
- out[26] = state_bs[41];
- out[42] = state_bs[42];
- out[58] = state_bs[43];
- out[11] = state_bs[44];
- out[27] = state_bs[45];
- out[43] = state_bs[46];
- out[59] = state_bs[47];
- out[12] = state_bs[48];
- out[28] = state_bs[49];
- out[44] = state_bs[50];
- out[60] = state_bs[51];
- out[13] = state_bs[52];
- out[29] = state_bs[53];
- out[45] = state_bs[54];
- out[61] = state_bs[55];
- out[14] = state_bs[56];
- out[30] = state_bs[57];
- out[46] = state_bs[58];
- out[62] = state_bs[59];
- out[15] = state_bs[60];
- out[31] = state_bs[61];
- out[47] = state_bs[62];
- out[63] = state_bs[63];
- }
- void sbox_layer(bs_reg_t state_bs[CRYPTO_IN_SIZE_BIT], bs_reg_t out[CRYPTO_IN_SIZE_BIT])
- {
- bs_reg_t in0, in1, in2, in3;
- in0 = state_bs[0];
- in1 = state_bs[1];
- in2 = state_bs[2];
- in3 = state_bs[3];
- out[0] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[1] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[2] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[3] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[4];
- in1 = state_bs[5];
- in2 = state_bs[6];
- in3 = state_bs[7];
- out[4] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[5] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[6] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[7] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[8];
- in1 = state_bs[9];
- in2 = state_bs[10];
- in3 = state_bs[11];
- out[8] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[9] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[10] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[11] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[12];
- in1 = state_bs[13];
- in2 = state_bs[14];
- in3 = state_bs[15];
- out[12] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[13] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[14] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[15] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[16];
- in1 = state_bs[17];
- in2 = state_bs[18];
- in3 = state_bs[19];
- out[16] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[17] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[18] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[19] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[20];
- in1 = state_bs[21];
- in2 = state_bs[22];
- in3 = state_bs[23];
- out[20] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[21] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[22] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[23] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[24];
- in1 = state_bs[25];
- in2 = state_bs[26];
- in3 = state_bs[27];
- out[24] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[25] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[26] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[27] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[28];
- in1 = state_bs[29];
- in2 = state_bs[30];
- in3 = state_bs[31];
- out[28] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[29] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[30] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[31] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[32];
- in1 = state_bs[33];
- in2 = state_bs[34];
- in3 = state_bs[35];
- out[32] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[33] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[34] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[35] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[36];
- in1 = state_bs[37];
- in2 = state_bs[38];
- in3 = state_bs[39];
- out[36] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[37] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[38] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[39] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[40];
- in1 = state_bs[41];
- in2 = state_bs[42];
- in3 = state_bs[43];
- out[40] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[41] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[42] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[43] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[44];
- in1 = state_bs[45];
- in2 = state_bs[46];
- in3 = state_bs[47];
- out[44] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[45] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[46] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[47] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[48];
- in1 = state_bs[49];
- in2 = state_bs[50];
- in3 = state_bs[51];
- out[48] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[49] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[50] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[51] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[52];
- in1 = state_bs[53];
- in2 = state_bs[54];
- in3 = state_bs[55];
- out[52] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[53] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[54] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[55] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[56];
- in1 = state_bs[57];
- in2 = state_bs[58];
- in3 = state_bs[59];
- out[56] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[57] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[58] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[59] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- in0 = state_bs[60];
- in1 = state_bs[61];
- in2 = state_bs[62];
- in3 = state_bs[63];
- out[60] = ((in0) ^ (in1 & in2) ^ (in2) ^ (in3) );
- out[61] = (in0 & ( (in2 & (in1 ^ in3)) ^ (in3 & in1))) ^ (in3 & (~in2 ^ in1)) ^ in1;
- out[62] = (in0 & ((in1 & ~in3) ^ (in3 & ~in2))) ^ (in3 & ~in1) ^ ~in2;
- out[63] = (in1 & ( (in0 & (in2 ^ in3)) ^ ~in2)) ^ (in0 & ~(in2 & in3)) ^ ~in3;
- }
- static void enslice(const uint8_t pt[CRYPTO_IN_SIZE * BITSLICE_WIDTH], bs_reg_t state_bs[CRYPTO_IN_SIZE_BIT])
- {
- /// INSERT YOUR CODE HERE ///
- //state_bs has 64 rows and 16 cols, each row is bit of the 16 input data
- //16 col cux 16 input data
- state_bs[0] = (state_bs[0] & (~(1 << 0))) | (((pt[ 0 ] >> 0) & 0x1) << 0);
- state_bs[1] = (state_bs[1] & (~(1 << 0))) | (((pt[ 0 ] >> 1) & 0x1) << 0);
- state_bs[2] = (state_bs[2] & (~(1 << 0))) | (((pt[ 0 ] >> 2) & 0x1) << 0);
- state_bs[3] = (state_bs[3] & (~(1 << 0))) | (((pt[ 0 ] >> 3) & 0x1) << 0);
- state_bs[4] = (state_bs[4] & (~(1 << 0))) | (((pt[ 0 ] >> 4) & 0x1) << 0);
- state_bs[5] = (state_bs[5] & (~(1 << 0))) | (((pt[ 0 ] >> 5) & 0x1) << 0);
- state_bs[6] = (state_bs[6] & (~(1 << 0))) | (((pt[ 0 ] >> 6) & 0x1) << 0);
- state_bs[7] = (state_bs[7] & (~(1 << 0))) | (((pt[ 0 ] >> 7) & 0x1) << 0);
- state_bs[8] = (state_bs[8] & (~(1 << 0))) | (((pt[ 1 ] >> 0) & 0x1) << 0);
- state_bs[9] = (state_bs[9] & (~(1 << 0))) | (((pt[ 1 ] >> 1) & 0x1) << 0);
- state_bs[10] = (state_bs[10] & (~(1 << 0))) | (((pt[ 1 ] >> 2) & 0x1) << 0);
- state_bs[11] = (state_bs[11] & (~(1 << 0))) | (((pt[ 1 ] >> 3) & 0x1) << 0);
- state_bs[12] = (state_bs[12] & (~(1 << 0))) | (((pt[ 1 ] >> 4) & 0x1) << 0);
- state_bs[13] = (state_bs[13] & (~(1 << 0))) | (((pt[ 1 ] >> 5) & 0x1) << 0);
- state_bs[14] = (state_bs[14] & (~(1 << 0))) | (((pt[ 1 ] >> 6) & 0x1) << 0);
- state_bs[15] = (state_bs[15] & (~(1 << 0))) | (((pt[ 1 ] >> 7) & 0x1) << 0);
- state_bs[16] = (state_bs[16] & (~(1 << 0))) | (((pt[ 2 ] >> 0) & 0x1) << 0);
- state_bs[17] = (state_bs[17] & (~(1 << 0))) | (((pt[ 2 ] >> 1) & 0x1) << 0);
- state_bs[18] = (state_bs[18] & (~(1 << 0))) | (((pt[ 2 ] >> 2) & 0x1) << 0);
- state_bs[19] = (state_bs[19] & (~(1 << 0))) | (((pt[ 2 ] >> 3) & 0x1) << 0);
- state_bs[20] = (state_bs[20] & (~(1 << 0))) | (((pt[ 2 ] >> 4) & 0x1) << 0);
- state_bs[21] = (state_bs[21] & (~(1 << 0))) | (((pt[ 2 ] >> 5) & 0x1) << 0);
- state_bs[22] = (state_bs[22] & (~(1 << 0))) | (((pt[ 2 ] >> 6) & 0x1) << 0);
- state_bs[23] = (state_bs[23] & (~(1 << 0))) | (((pt[ 2 ] >> 7) & 0x1) << 0);
- state_bs[24] = (state_bs[24] & (~(1 << 0))) | (((pt[ 3 ] >> 0) & 0x1) << 0);
- state_bs[25] = (state_bs[25] & (~(1 << 0))) | (((pt[ 3 ] >> 1) & 0x1) << 0);
- state_bs[26] = (state_bs[26] & (~(1 << 0))) | (((pt[ 3 ] >> 2) & 0x1) << 0);
- state_bs[27] = (state_bs[27] & (~(1 << 0))) | (((pt[ 3 ] >> 3) & 0x1) << 0);
- state_bs[28] = (state_bs[28] & (~(1 << 0))) | (((pt[ 3 ] >> 4) & 0x1) << 0);
- state_bs[29] = (state_bs[29] & (~(1 << 0))) | (((pt[ 3 ] >> 5) & 0x1) << 0);
- state_bs[30] = (state_bs[30] & (~(1 << 0))) | (((pt[ 3 ] >> 6) & 0x1) << 0);
- state_bs[31] = (state_bs[31] & (~(1 << 0))) | (((pt[ 3 ] >> 7) & 0x1) << 0);
- state_bs[32] = (state_bs[32] & (~(1 << 0))) | (((pt[ 4 ] >> 0) & 0x1) << 0);
- state_bs[33] = (state_bs[33] & (~(1 << 0))) | (((pt[ 4 ] >> 1) & 0x1) << 0);
- state_bs[34] = (state_bs[34] & (~(1 << 0))) | (((pt[ 4 ] >> 2) & 0x1) << 0);
- state_bs[35] = (state_bs[35] & (~(1 << 0))) | (((pt[ 4 ] >> 3) & 0x1) << 0);
- state_bs[36] = (state_bs[36] & (~(1 << 0))) | (((pt[ 4 ] >> 4) & 0x1) << 0);
- state_bs[37] = (state_bs[37] & (~(1 << 0))) | (((pt[ 4 ] >> 5) & 0x1) << 0);
- state_bs[38] = (state_bs[38] & (~(1 << 0))) | (((pt[ 4 ] >> 6) & 0x1) << 0);
- state_bs[39] = (state_bs[39] & (~(1 << 0))) | (((pt[ 4 ] >> 7) & 0x1) << 0);
- state_bs[40] = (state_bs[40] & (~(1 << 0))) | (((pt[ 5 ] >> 0) & 0x1) << 0);
- state_bs[41] = (state_bs[41] & (~(1 << 0))) | (((pt[ 5 ] >> 1) & 0x1) << 0);
- state_bs[42] = (state_bs[42] & (~(1 << 0))) | (((pt[ 5 ] >> 2) & 0x1) << 0);
- state_bs[43] = (state_bs[43] & (~(1 << 0))) | (((pt[ 5 ] >> 3) & 0x1) << 0);
- state_bs[44] = (state_bs[44] & (~(1 << 0))) | (((pt[ 5 ] >> 4) & 0x1) << 0);
- state_bs[45] = (state_bs[45] & (~(1 << 0))) | (((pt[ 5 ] >> 5) & 0x1) << 0);
- state_bs[46] = (state_bs[46] & (~(1 << 0))) | (((pt[ 5 ] >> 6) & 0x1) << 0);
- state_bs[47] = (state_bs[47] & (~(1 << 0))) | (((pt[ 5 ] >> 7) & 0x1) << 0);
- state_bs[48] = (state_bs[48] & (~(1 << 0))) | (((pt[ 6 ] >> 0) & 0x1) << 0);
- state_bs[49] = (state_bs[49] & (~(1 << 0))) | (((pt[ 6 ] >> 1) & 0x1) << 0);
- state_bs[50] = (state_bs[50] & (~(1 << 0))) | (((pt[ 6 ] >> 2) & 0x1) << 0);
- state_bs[51] = (state_bs[51] & (~(1 << 0))) | (((pt[ 6 ] >> 3) & 0x1) << 0);
- state_bs[52] = (state_bs[52] & (~(1 << 0))) | (((pt[ 6 ] >> 4) & 0x1) << 0);
- state_bs[53] = (state_bs[53] & (~(1 << 0))) | (((pt[ 6 ] >> 5) & 0x1) << 0);
- state_bs[54] = (state_bs[54] & (~(1 << 0))) | (((pt[ 6 ] >> 6) & 0x1) << 0);
- state_bs[55] = (state_bs[55] & (~(1 << 0))) | (((pt[ 6 ] >> 7) & 0x1) << 0);
- state_bs[56] = (state_bs[56] & (~(1 << 0))) | (((pt[ 7 ] >> 0) & 0x1) << 0);
- state_bs[57] = (state_bs[57] & (~(1 << 0))) | (((pt[ 7 ] >> 1) & 0x1) << 0);
- state_bs[58] = (state_bs[58] & (~(1 << 0))) | (((pt[ 7 ] >> 2) & 0x1) << 0);
- state_bs[59] = (state_bs[59] & (~(1 << 0))) | (((pt[ 7 ] >> 3) & 0x1) << 0);
- state_bs[60] = (state_bs[60] & (~(1 << 0))) | (((pt[ 7 ] >> 4) & 0x1) << 0);
- state_bs[61] = (state_bs[61] & (~(1 << 0))) | (((pt[ 7 ] >> 5) & 0x1) << 0);
- state_bs[62] = (state_bs[62] & (~(1 << 0))) | (((pt[ 7 ] >> 6) & 0x1) << 0);
- state_bs[63] = (state_bs[63] & (~(1 << 0))) | (((pt[ 7 ] >> 7) & 0x1) << 0);
- state_bs[0] = (state_bs[0] & (~(1 << 1))) | (((pt[ 8 ] >> 0) & 0x1) << 1);
- state_bs[1] = (state_bs[1] & (~(1 << 1))) | (((pt[ 8 ] >> 1) & 0x1) << 1);
- state_bs[2] = (state_bs[2] & (~(1 << 1))) | (((pt[ 8 ] >> 2) & 0x1) << 1);
- state_bs[3] = (state_bs[3] & (~(1 << 1))) | (((pt[ 8 ] >> 3) & 0x1) << 1);
- state_bs[4] = (state_bs[4] & (~(1 << 1))) | (((pt[ 8 ] >> 4) & 0x1) << 1);
- state_bs[5] = (state_bs[5] & (~(1 << 1))) | (((pt[ 8 ] >> 5) & 0x1) << 1);
- state_bs[6] = (state_bs[6] & (~(1 << 1))) | (((pt[ 8 ] >> 6) & 0x1) << 1);
- state_bs[7] = (state_bs[7] & (~(1 << 1))) | (((pt[ 8 ] >> 7) & 0x1) << 1);
- state_bs[8] = (state_bs[8] & (~(1 << 1))) | (((pt[ 9 ] >> 0) & 0x1) << 1);
- state_bs[9] = (state_bs[9] & (~(1 << 1))) | (((pt[ 9 ] >> 1) & 0x1) << 1);
- state_bs[10] = (state_bs[10] & (~(1 << 1))) | (((pt[ 9 ] >> 2) & 0x1) << 1);
- state_bs[11] = (state_bs[11] & (~(1 << 1))) | (((pt[ 9 ] >> 3) & 0x1) << 1);
- state_bs[12] = (state_bs[12] & (~(1 << 1))) | (((pt[ 9 ] >> 4) & 0x1) << 1);
- state_bs[13] = (state_bs[13] & (~(1 << 1))) | (((pt[ 9 ] >> 5) & 0x1) << 1);
- state_bs[14] = (state_bs[14] & (~(1 << 1))) | (((pt[ 9 ] >> 6) & 0x1) << 1);
- state_bs[15] = (state_bs[15] & (~(1 << 1))) | (((pt[ 9 ] >> 7) & 0x1) << 1);
- state_bs[16] = (state_bs[16] & (~(1 << 1))) | (((pt[ 10 ] >> 0) & 0x1) << 1);
- state_bs[17] = (state_bs[17] & (~(1 << 1))) | (((pt[ 10 ] >> 1) & 0x1) << 1);
- state_bs[18] = (state_bs[18] & (~(1 << 1))) | (((pt[ 10 ] >> 2) & 0x1) << 1);
- state_bs[19] = (state_bs[19] & (~(1 << 1))) | (((pt[ 10 ] >> 3) & 0x1) << 1);
- state_bs[20] = (state_bs[20] & (~(1 << 1))) | (((pt[ 10 ] >> 4) & 0x1) << 1);
- state_bs[21] = (state_bs[21] & (~(1 << 1))) | (((pt[ 10 ] >> 5) & 0x1) << 1);
- state_bs[22] = (state_bs[22] & (~(1 << 1))) | (((pt[ 10 ] >> 6) & 0x1) << 1);
- state_bs[23] = (state_bs[23] & (~(1 << 1))) | (((pt[ 10 ] >> 7) & 0x1) << 1);
- state_bs[24] = (state_bs[24] & (~(1 << 1))) | (((pt[ 11 ] >> 0) & 0x1) << 1);
- state_bs[25] = (state_bs[25] & (~(1 << 1))) | (((pt[ 11 ] >> 1) & 0x1) << 1);
- state_bs[26] = (state_bs[26] & (~(1 << 1))) | (((pt[ 11 ] >> 2) & 0x1) << 1);
- state_bs[27] = (state_bs[27] & (~(1 << 1))) | (((pt[ 11 ] >> 3) & 0x1) << 1);
- state_bs[28] = (state_bs[28] & (~(1 << 1))) | (((pt[ 11 ] >> 4) & 0x1) << 1);
- state_bs[29] = (state_bs[29] & (~(1 << 1))) | (((pt[ 11 ] >> 5) & 0x1) << 1);
- state_bs[30] = (state_bs[30] & (~(1 << 1))) | (((pt[ 11 ] >> 6) & 0x1) << 1);
- state_bs[31] = (state_bs[31] & (~(1 << 1))) | (((pt[ 11 ] >> 7) & 0x1) << 1);
- state_bs[32] = (state_bs[32] & (~(1 << 1))) | (((pt[ 12 ] >> 0) & 0x1) << 1);
- state_bs[33] = (state_bs[33] & (~(1 << 1))) | (((pt[ 12 ] >> 1) & 0x1) << 1);
- state_bs[34] = (state_bs[34] & (~(1 << 1))) | (((pt[ 12 ] >> 2) & 0x1) << 1);
- state_bs[35] = (state_bs[35] & (~(1 << 1))) | (((pt[ 12 ] >> 3) & 0x1) << 1);
- state_bs[36] = (state_bs[36] & (~(1 << 1))) | (((pt[ 12 ] >> 4) & 0x1) << 1);
- state_bs[37] = (state_bs[37] & (~(1 << 1))) | (((pt[ 12 ] >> 5) & 0x1) << 1);
- state_bs[38] = (state_bs[38] & (~(1 << 1))) | (((pt[ 12 ] >> 6) & 0x1) << 1);
- state_bs[39] = (state_bs[39] & (~(1 << 1))) | (((pt[ 12 ] >> 7) & 0x1) << 1);
- state_bs[40] = (state_bs[40] & (~(1 << 1))) | (((pt[ 13 ] >> 0) & 0x1) << 1);
- state_bs[41] = (state_bs[41] & (~(1 << 1))) | (((pt[ 13 ] >> 1) & 0x1) << 1);
- state_bs[42] = (state_bs[42] & (~(1 << 1))) | (((pt[ 13 ] >> 2) & 0x1) << 1);
- state_bs[43] = (state_bs[43] & (~(1 << 1))) | (((pt[ 13 ] >> 3) & 0x1) << 1);
- state_bs[44] = (state_bs[44] & (~(1 << 1))) | (((pt[ 13 ] >> 4) & 0x1) << 1);
- state_bs[45] = (state_bs[45] & (~(1 << 1))) | (((pt[ 13 ] >> 5) & 0x1) << 1);
- state_bs[46] = (state_bs[46] & (~(1 << 1))) | (((pt[ 13 ] >> 6) & 0x1) << 1);
- state_bs[47] = (state_bs[47] & (~(1 << 1))) | (((pt[ 13 ] >> 7) & 0x1) << 1);
- state_bs[48] = (state_bs[48] & (~(1 << 1))) | (((pt[ 14 ] >> 0) & 0x1) << 1);
- state_bs[49] = (state_bs[49] & (~(1 << 1))) | (((pt[ 14 ] >> 1) & 0x1) << 1);
- state_bs[50] = (state_bs[50] & (~(1 << 1))) | (((pt[ 14 ] >> 2) & 0x1) << 1);
- state_bs[51] = (state_bs[51] & (~(1 << 1))) | (((pt[ 14 ] >> 3) & 0x1) << 1);
- state_bs[52] = (state_bs[52] & (~(1 << 1))) | (((pt[ 14 ] >> 4) & 0x1) << 1);
- state_bs[53] = (state_bs[53] & (~(1 << 1))) | (((pt[ 14 ] >> 5) & 0x1) << 1);
- state_bs[54] = (state_bs[54] & (~(1 << 1))) | (((pt[ 14 ] >> 6) & 0x1) << 1);
- state_bs[55] = (state_bs[55] & (~(1 << 1))) | (((pt[ 14 ] >> 7) & 0x1) << 1);
- state_bs[56] = (state_bs[56] & (~(1 << 1))) | (((pt[ 15 ] >> 0) & 0x1) << 1);
- state_bs[57] = (state_bs[57] & (~(1 << 1))) | (((pt[ 15 ] >> 1) & 0x1) << 1);
- state_bs[58] = (state_bs[58] & (~(1 << 1))) | (((pt[ 15 ] >> 2) & 0x1) << 1);
- state_bs[59] = (state_bs[59] & (~(1 << 1))) | (((pt[ 15 ] >> 3) & 0x1) << 1);
- state_bs[60] = (state_bs[60] & (~(1 << 1))) | (((pt[ 15 ] >> 4) & 0x1) << 1);
- state_bs[61] = (state_bs[61] & (~(1 << 1))) | (((pt[ 15 ] >> 5) & 0x1) << 1);
- state_bs[62] = (state_bs[62] & (~(1 << 1))) | (((pt[ 15 ] >> 6) & 0x1) << 1);
- state_bs[63] = (state_bs[63] & (~(1 << 1))) | (((pt[ 15 ] >> 7) & 0x1) << 1);
- state_bs[0] = (state_bs[0] & (~(1 << 2))) | (((pt[ 16 ] >> 0) & 0x1) << 2);
- state_bs[1] = (state_bs[1] & (~(1 << 2))) | (((pt[ 16 ] >> 1) & 0x1) << 2);
- state_bs[2] = (state_bs[2] & (~(1 << 2))) | (((pt[ 16 ] >> 2) & 0x1) << 2);
- state_bs[3] = (state_bs[3] & (~(1 << 2))) | (((pt[ 16 ] >> 3) & 0x1) << 2);
- state_bs[4] = (state_bs[4] & (~(1 << 2))) | (((pt[ 16 ] >> 4) & 0x1) << 2);
- state_bs[5] = (state_bs[5] & (~(1 << 2))) | (((pt[ 16 ] >> 5) & 0x1) << 2);
- state_bs[6] = (state_bs[6] & (~(1 << 2))) | (((pt[ 16 ] >> 6) & 0x1) << 2);
- state_bs[7] = (state_bs[7] & (~(1 << 2))) | (((pt[ 16 ] >> 7) & 0x1) << 2);
- state_bs[8] = (state_bs[8] & (~(1 << 2))) | (((pt[ 17 ] >> 0) & 0x1) << 2);
- state_bs[9] = (state_bs[9] & (~(1 << 2))) | (((pt[ 17 ] >> 1) & 0x1) << 2);
- state_bs[10] = (state_bs[10] & (~(1 << 2))) | (((pt[ 17 ] >> 2) & 0x1) << 2);
- state_bs[11] = (state_bs[11] & (~(1 << 2))) | (((pt[ 17 ] >> 3) & 0x1) << 2);
- state_bs[12] = (state_bs[12] & (~(1 << 2))) | (((pt[ 17 ] >> 4) & 0x1) << 2);
- state_bs[13] = (state_bs[13] & (~(1 << 2))) | (((pt[ 17 ] >> 5) & 0x1) << 2);
- state_bs[14] = (state_bs[14] & (~(1 << 2))) | (((pt[ 17 ] >> 6) & 0x1) << 2);
- state_bs[15] = (state_bs[15] & (~(1 << 2))) | (((pt[ 17 ] >> 7) & 0x1) << 2);
- state_bs[16] = (state_bs[16] & (~(1 << 2))) | (((pt[ 18 ] >> 0) & 0x1) << 2);
- state_bs[17] = (state_bs[17] & (~(1 << 2))) | (((pt[ 18 ] >> 1) & 0x1) << 2);
- state_bs[18] = (state_bs[18] & (~(1 << 2))) | (((pt[ 18 ] >> 2) & 0x1) << 2);
- state_bs[19] = (state_bs[19] & (~(1 << 2))) | (((pt[ 18 ] >> 3) & 0x1) << 2);
- state_bs[20] = (state_bs[20] & (~(1 << 2))) | (((pt[ 18 ] >> 4) & 0x1) << 2);
- state_bs[21] = (state_bs[21] & (~(1 << 2))) | (((pt[ 18 ] >> 5) & 0x1) << 2);
- state_bs[22] = (state_bs[22] & (~(1 << 2))) | (((pt[ 18 ] >> 6) & 0x1) << 2);
- state_bs[23] = (state_bs[23] & (~(1 << 2))) | (((pt[ 18 ] >> 7) & 0x1) << 2);
- state_bs[24] = (state_bs[24] & (~(1 << 2))) | (((pt[ 19 ] >> 0) & 0x1) << 2);
- state_bs[25] = (state_bs[25] & (~(1 << 2))) | (((pt[ 19 ] >> 1) & 0x1) << 2);
- state_bs[26] = (state_bs[26] & (~(1 << 2))) | (((pt[ 19 ] >> 2) & 0x1) << 2);
- state_bs[27] = (state_bs[27] & (~(1 << 2))) | (((pt[ 19 ] >> 3) & 0x1) << 2);
- state_bs[28] = (state_bs[28] & (~(1 << 2))) | (((pt[ 19 ] >> 4) & 0x1) << 2);
- state_bs[29] = (state_bs[29] & (~(1 << 2))) | (((pt[ 19 ] >> 5) & 0x1) << 2);
- state_bs[30] = (state_bs[30] & (~(1 << 2))) | (((pt[ 19 ] >> 6) & 0x1) << 2);
- state_bs[31] = (state_bs[31] & (~(1 << 2))) | (((pt[ 19 ] >> 7) & 0x1) << 2);
- state_bs[32] = (state_bs[32] & (~(1 << 2))) | (((pt[ 20 ] >> 0) & 0x1) << 2);
- state_bs[33] = (state_bs[33] & (~(1 << 2))) | (((pt[ 20 ] >> 1) & 0x1) << 2);
- state_bs[34] = (state_bs[34] & (~(1 << 2))) | (((pt[ 20 ] >> 2) & 0x1) << 2);
- state_bs[35] = (state_bs[35] & (~(1 << 2))) | (((pt[ 20 ] >> 3) & 0x1) << 2);
- state_bs[36] = (state_bs[36] & (~(1 << 2))) | (((pt[ 20 ] >> 4) & 0x1) << 2);
- state_bs[37] = (state_bs[37] & (~(1 << 2))) | (((pt[ 20 ] >> 5) & 0x1) << 2);
- state_bs[38] = (state_bs[38] & (~(1 << 2))) | (((pt[ 20 ] >> 6) & 0x1) << 2);
- state_bs[39] = (state_bs[39] & (~(1 << 2))) | (((pt[ 20 ] >> 7) & 0x1) << 2);
- state_bs[40] = (state_bs[40] & (~(1 << 2))) | (((pt[ 21 ] >> 0) & 0x1) << 2);
- state_bs[41] = (state_bs[41] & (~(1 << 2))) | (((pt[ 21 ] >> 1) & 0x1) << 2);
- state_bs[42] = (state_bs[42] & (~(1 << 2))) | (((pt[ 21 ] >> 2) & 0x1) << 2);
- state_bs[43] = (state_bs[43] & (~(1 << 2))) | (((pt[ 21 ] >> 3) & 0x1) << 2);
- state_bs[44] = (state_bs[44] & (~(1 << 2))) | (((pt[ 21 ] >> 4) & 0x1) << 2);
- state_bs[45] = (state_bs[45] & (~(1 << 2))) | (((pt[ 21 ] >> 5) & 0x1) << 2);
- state_bs[46] = (state_bs[46] & (~(1 << 2))) | (((pt[ 21 ] >> 6) & 0x1) << 2);
- state_bs[47] = (state_bs[47] & (~(1 << 2))) | (((pt[ 21 ] >> 7) & 0x1) << 2);
- state_bs[48] = (state_bs[48] & (~(1 << 2))) | (((pt[ 22 ] >> 0) & 0x1) << 2);
- state_bs[49] = (state_bs[49] & (~(1 << 2))) | (((pt[ 22 ] >> 1) & 0x1) << 2);
- state_bs[50] = (state_bs[50] & (~(1 << 2))) | (((pt[ 22 ] >> 2) & 0x1) << 2);
- state_bs[51] = (state_bs[51] & (~(1 << 2))) | (((pt[ 22 ] >> 3) & 0x1) << 2);
- state_bs[52] = (state_bs[52] & (~(1 << 2))) | (((pt[ 22 ] >> 4) & 0x1) << 2);
- state_bs[53] = (state_bs[53] & (~(1 << 2))) | (((pt[ 22 ] >> 5) & 0x1) << 2);
- state_bs[54] = (state_bs[54] & (~(1 << 2))) | (((pt[ 22 ] >> 6) & 0x1) << 2);
- state_bs[55] = (state_bs[55] & (~(1 << 2))) | (((pt[ 22 ] >> 7) & 0x1) << 2);
- state_bs[56] = (state_bs[56] & (~(1 << 2))) | (((pt[ 23 ] >> 0) & 0x1) << 2);
- state_bs[57] = (state_bs[57] & (~(1 << 2))) | (((pt[ 23 ] >> 1) & 0x1) << 2);
- state_bs[58] = (state_bs[58] & (~(1 << 2))) | (((pt[ 23 ] >> 2) & 0x1) << 2);
- state_bs[59] = (state_bs[59] & (~(1 << 2))) | (((pt[ 23 ] >> 3) & 0x1) << 2);
- state_bs[60] = (state_bs[60] & (~(1 << 2))) | (((pt[ 23 ] >> 4) & 0x1) << 2);
- state_bs[61] = (state_bs[61] & (~(1 << 2))) | (((pt[ 23 ] >> 5) & 0x1) << 2);
- state_bs[62] = (state_bs[62] & (~(1 << 2))) | (((pt[ 23 ] >> 6) & 0x1) << 2);
- state_bs[63] = (state_bs[63] & (~(1 << 2))) | (((pt[ 23 ] >> 7) & 0x1) << 2);
- state_bs[0] = (state_bs[0] & (~(1 << 3))) | (((pt[ 24 ] >> 0) & 0x1) << 3);
- state_bs[1] = (state_bs[1] & (~(1 << 3))) | (((pt[ 24 ] >> 1) & 0x1) << 3);
- state_bs[2] = (state_bs[2] & (~(1 << 3))) | (((pt[ 24 ] >> 2) & 0x1) << 3);
- state_bs[3] = (state_bs[3] & (~(1 << 3))) | (((pt[ 24 ] >> 3) & 0x1) << 3);
- state_bs[4] = (state_bs[4] & (~(1 << 3))) | (((pt[ 24 ] >> 4) & 0x1) << 3);
- state_bs[5] = (state_bs[5] & (~(1 << 3))) | (((pt[ 24 ] >> 5) & 0x1) << 3);
- state_bs[6] = (state_bs[6] & (~(1 << 3))) | (((pt[ 24 ] >> 6) & 0x1) << 3);
- state_bs[7] = (state_bs[7] & (~(1 << 3))) | (((pt[ 24 ] >> 7) & 0x1) << 3);
- state_bs[8] = (state_bs[8] & (~(1 << 3))) | (((pt[ 25 ] >> 0) & 0x1) << 3);
- state_bs[9] = (state_bs[9] & (~(1 << 3))) | (((pt[ 25 ] >> 1) & 0x1) << 3);
- state_bs[10] = (state_bs[10] & (~(1 << 3))) | (((pt[ 25 ] >> 2) & 0x1) << 3);
- state_bs[11] = (state_bs[11] & (~(1 << 3))) | (((pt[ 25 ] >> 3) & 0x1) << 3);
- state_bs[12] = (state_bs[12] & (~(1 << 3))) | (((pt[ 25 ] >> 4) & 0x1) << 3);
- state_bs[13] = (state_bs[13] & (~(1 << 3))) | (((pt[ 25 ] >> 5) & 0x1) << 3);
- state_bs[14] = (state_bs[14] & (~(1 << 3))) | (((pt[ 25 ] >> 6) & 0x1) << 3);
- state_bs[15] = (state_bs[15] & (~(1 << 3))) | (((pt[ 25 ] >> 7) & 0x1) << 3);
- state_bs[16] = (state_bs[16] & (~(1 << 3))) | (((pt[ 26 ] >> 0) & 0x1) << 3);
- state_bs[17] = (state_bs[17] & (~(1 << 3))) | (((pt[ 26 ] >> 1) & 0x1) << 3);
- state_bs[18] = (state_bs[18] & (~(1 << 3))) | (((pt[ 26 ] >> 2) & 0x1) << 3);
- state_bs[19] = (state_bs[19] & (~(1 << 3))) | (((pt[ 26 ] >> 3) & 0x1) << 3);
- state_bs[20] = (state_bs[20] & (~(1 << 3))) | (((pt[ 26 ] >> 4) & 0x1) << 3);
- state_bs[21] = (state_bs[21] & (~(1 << 3))) | (((pt[ 26 ] >> 5) & 0x1) << 3);
- state_bs[22] = (state_bs[22] & (~(1 << 3))) | (((pt[ 26 ] >> 6) & 0x1) << 3);
- state_bs[23] = (state_bs[23] & (~(1 << 3))) | (((pt[ 26 ] >> 7) & 0x1) << 3);
- state_bs[24] = (state_bs[24] & (~(1 << 3))) | (((pt[ 27 ] >> 0) & 0x1) << 3);
- state_bs[25] = (state_bs[25] & (~(1 << 3))) | (((pt[ 27 ] >> 1) & 0x1) << 3);
- state_bs[26] = (state_bs[26] & (~(1 << 3))) | (((pt[ 27 ] >> 2) & 0x1) << 3);
- state_bs[27] = (state_bs[27] & (~(1 << 3))) | (((pt[ 27 ] >> 3) & 0x1) << 3);
- state_bs[28] = (state_bs[28] & (~(1 << 3))) | (((pt[ 27 ] >> 4) & 0x1) << 3);
- state_bs[29] = (state_bs[29] & (~(1 << 3))) | (((pt[ 27 ] >> 5) & 0x1) << 3);
- state_bs[30] = (state_bs[30] & (~(1 << 3))) | (((pt[ 27 ] >> 6) & 0x1) << 3);
- state_bs[31] = (state_bs[31] & (~(1 << 3))) | (((pt[ 27 ] >> 7) & 0x1) << 3);
- state_bs[32] = (state_bs[32] & (~(1 << 3))) | (((pt[ 28 ] >> 0) & 0x1) << 3);
- state_bs[33] = (state_bs[33] & (~(1 << 3))) | (((pt[ 28 ] >> 1) & 0x1) << 3);
- state_bs[34] = (state_bs[34] & (~(1 << 3))) | (((pt[ 28 ] >> 2) & 0x1) << 3);
- state_bs[35] = (state_bs[35] & (~(1 << 3))) | (((pt[ 28 ] >> 3) & 0x1) << 3);
- state_bs[36] = (state_bs[36] & (~(1 << 3))) | (((pt[ 28 ] >> 4) & 0x1) << 3);
- state_bs[37] = (state_bs[37] & (~(1 << 3))) | (((pt[ 28 ] >> 5) & 0x1) << 3);
- state_bs[38] = (state_bs[38] & (~(1 << 3))) | (((pt[ 28 ] >> 6) & 0x1) << 3);
- state_bs[39] = (state_bs[39] & (~(1 << 3))) | (((pt[ 28 ] >> 7) & 0x1) << 3);
- state_bs[40] = (state_bs[40] & (~(1 << 3))) | (((pt[ 29 ] >> 0) & 0x1) << 3);
- state_bs[41] = (state_bs[41] & (~(1 << 3))) | (((pt[ 29 ] >> 1) & 0x1) << 3);
- state_bs[42] = (state_bs[42] & (~(1 << 3))) | (((pt[ 29 ] >> 2) & 0x1) << 3);
- state_bs[43] = (state_bs[43] & (~(1 << 3))) | (((pt[ 29 ] >> 3) & 0x1) << 3);
- state_bs[44] = (state_bs[44] & (~(1 << 3))) | (((pt[ 29 ] >> 4) & 0x1) << 3);
- state_bs[45] = (state_bs[45] & (~(1 << 3))) | (((pt[ 29 ] >> 5) & 0x1) << 3);
- state_bs[46] = (state_bs[46] & (~(1 << 3))) | (((pt[ 29 ] >> 6) & 0x1) << 3);
- state_bs[47] = (state_bs[47] & (~(1 << 3))) | (((pt[ 29 ] >> 7) & 0x1) << 3);
- state_bs[48] = (state_bs[48] & (~(1 << 3))) | (((pt[ 30 ] >> 0) & 0x1) << 3);
- state_bs[49] = (state_bs[49] & (~(1 << 3))) | (((pt[ 30 ] >> 1) & 0x1) << 3);
- state_bs[50] = (state_bs[50] & (~(1 << 3))) | (((pt[ 30 ] >> 2) & 0x1) << 3);
- state_bs[51] = (state_bs[51] & (~(1 << 3))) | (((pt[ 30 ] >> 3) & 0x1) << 3);
- state_bs[52] = (state_bs[52] & (~(1 << 3))) | (((pt[ 30 ] >> 4) & 0x1) << 3);
- state_bs[53] = (state_bs[53] & (~(1 << 3))) | (((pt[ 30 ] >> 5) & 0x1) << 3);
- state_bs[54] = (state_bs[54] & (~(1 << 3))) | (((pt[ 30 ] >> 6) & 0x1) << 3);
- state_bs[55] = (state_bs[55] & (~(1 << 3))) | (((pt[ 30 ] >> 7) & 0x1) << 3);
- state_bs[56] = (state_bs[56] & (~(1 << 3))) | (((pt[ 31 ] >> 0) & 0x1) << 3);
- state_bs[57] = (state_bs[57] & (~(1 << 3))) | (((pt[ 31 ] >> 1) & 0x1) << 3);
- state_bs[58] = (state_bs[58] & (~(1 << 3))) | (((pt[ 31 ] >> 2) & 0x1) << 3);
- state_bs[59] = (state_bs[59] & (~(1 << 3))) | (((pt[ 31 ] >> 3) & 0x1) << 3);
- state_bs[60] = (state_bs[60] & (~(1 << 3))) | (((pt[ 31 ] >> 4) & 0x1) << 3);
- state_bs[61] = (state_bs[61] & (~(1 << 3))) | (((pt[ 31 ] >> 5) & 0x1) << 3);
- state_bs[62] = (state_bs[62] & (~(1 << 3))) | (((pt[ 31 ] >> 6) & 0x1) << 3);
- state_bs[63] = (state_bs[63] & (~(1 << 3))) | (((pt[ 31 ] >> 7) & 0x1) << 3);
- state_bs[0] = (state_bs[0] & (~(1 << 4))) | (((pt[ 32 ] >> 0) & 0x1) << 4);
- state_bs[1] = (state_bs[1] & (~(1 << 4))) | (((pt[ 32 ] >> 1) & 0x1) << 4);
- state_bs[2] = (state_bs[2] & (~(1 << 4))) | (((pt[ 32 ] >> 2) & 0x1) << 4);
- state_bs[3] = (state_bs[3] & (~(1 << 4))) | (((pt[ 32 ] >> 3) & 0x1) << 4);
- state_bs[4] = (state_bs[4] & (~(1 << 4))) | (((pt[ 32 ] >> 4) & 0x1) << 4);
- state_bs[5] = (state_bs[5] & (~(1 << 4))) | (((pt[ 32 ] >> 5) & 0x1) << 4);
- state_bs[6] = (state_bs[6] & (~(1 << 4))) | (((pt[ 32 ] >> 6) & 0x1) << 4);
- state_bs[7] = (state_bs[7] & (~(1 << 4))) | (((pt[ 32 ] >> 7) & 0x1) << 4);
- state_bs[8] = (state_bs[8] & (~(1 << 4))) | (((pt[ 33 ] >> 0) & 0x1) << 4);
- state_bs[9] = (state_bs[9] & (~(1 << 4))) | (((pt[ 33 ] >> 1) & 0x1) << 4);
- state_bs[10] = (state_bs[10] & (~(1 << 4))) | (((pt[ 33 ] >> 2) & 0x1) << 4);
- state_bs[11] = (state_bs[11] & (~(1 << 4))) | (((pt[ 33 ] >> 3) & 0x1) << 4);
- state_bs[12] = (state_bs[12] & (~(1 << 4))) | (((pt[ 33 ] >> 4) & 0x1) << 4);
- state_bs[13] = (state_bs[13] & (~(1 << 4))) | (((pt[ 33 ] >> 5) & 0x1) << 4);
- state_bs[14] = (state_bs[14] & (~(1 << 4))) | (((pt[ 33 ] >> 6) & 0x1) << 4);
- state_bs[15] = (state_bs[15] & (~(1 << 4))) | (((pt[ 33 ] >> 7) & 0x1) << 4);
- state_bs[16] = (state_bs[16] & (~(1 << 4))) | (((pt[ 34 ] >> 0) & 0x1) << 4);
- state_bs[17] = (state_bs[17] & (~(1 << 4))) | (((pt[ 34 ] >> 1) & 0x1) << 4);
- state_bs[18] = (state_bs[18] & (~(1 << 4))) | (((pt[ 34 ] >> 2) & 0x1) << 4);
- state_bs[19] = (state_bs[19] & (~(1 << 4))) | (((pt[ 34 ] >> 3) & 0x1) << 4);
- state_bs[20] = (state_bs[20] & (~(1 << 4))) | (((pt[ 34 ] >> 4) & 0x1) << 4);
- state_bs[21] = (state_bs[21] & (~(1 << 4))) | (((pt[ 34 ] >> 5) & 0x1) << 4);
- state_bs[22] = (state_bs[22] & (~(1 << 4))) | (((pt[ 34 ] >> 6) & 0x1) << 4);
- state_bs[23] = (state_bs[23] & (~(1 << 4))) | (((pt[ 34 ] >> 7) & 0x1) << 4);
- state_bs[24] = (state_bs[24] & (~(1 << 4))) | (((pt[ 35 ] >> 0) & 0x1) << 4);
- state_bs[25] = (state_bs[25] & (~(1 << 4))) | (((pt[ 35 ] >> 1) & 0x1) << 4);
- state_bs[26] = (state_bs[26] & (~(1 << 4))) | (((pt[ 35 ] >> 2) & 0x1) << 4);
- state_bs[27] = (state_bs[27] & (~(1 << 4))) | (((pt[ 35 ] >> 3) & 0x1) << 4);
- state_bs[28] = (state_bs[28] & (~(1 << 4))) | (((pt[ 35 ] >> 4) & 0x1) << 4);
- state_bs[29] = (state_bs[29] & (~(1 << 4))) | (((pt[ 35 ] >> 5) & 0x1) << 4);
- state_bs[30] = (state_bs[30] & (~(1 << 4))) | (((pt[ 35 ] >> 6) & 0x1) << 4);
- state_bs[31] = (state_bs[31] & (~(1 << 4))) | (((pt[ 35 ] >> 7) & 0x1) << 4);
- state_bs[32] = (state_bs[32] & (~(1 << 4))) | (((pt[ 36 ] >> 0) & 0x1) << 4);
- state_bs[33] = (state_bs[33] & (~(1 << 4))) | (((pt[ 36 ] >> 1) & 0x1) << 4);
- state_bs[34] = (state_bs[34] & (~(1 << 4))) | (((pt[ 36 ] >> 2) & 0x1) << 4);
- state_bs[35] = (state_bs[35] & (~(1 << 4))) | (((pt[ 36 ] >> 3) & 0x1) << 4);
- state_bs[36] = (state_bs[36] & (~(1 << 4))) | (((pt[ 36 ] >> 4) & 0x1) << 4);
- state_bs[37] = (state_bs[37] & (~(1 << 4))) | (((pt[ 36 ] >> 5) & 0x1) << 4);
- state_bs[38] = (state_bs[38] & (~(1 << 4))) | (((pt[ 36 ] >> 6) & 0x1) << 4);
- state_bs[39] = (state_bs[39] & (~(1 << 4))) | (((pt[ 36 ] >> 7) & 0x1) << 4);
- state_bs[40] = (state_bs[40] & (~(1 << 4))) | (((pt[ 37 ] >> 0) & 0x1) << 4);
- state_bs[41] = (state_bs[41] & (~(1 << 4))) | (((pt[ 37 ] >> 1) & 0x1) << 4);
- state_bs[42] = (state_bs[42] & (~(1 << 4))) | (((pt[ 37 ] >> 2) & 0x1) << 4);
- state_bs[43] = (state_bs[43] & (~(1 << 4))) | (((pt[ 37 ] >> 3) & 0x1) << 4);
- state_bs[44] = (state_bs[44] & (~(1 << 4))) | (((pt[ 37 ] >> 4) & 0x1) << 4);
- state_bs[45] = (state_bs[45] & (~(1 << 4))) | (((pt[ 37 ] >> 5) & 0x1) << 4);
- state_bs[46] = (state_bs[46] & (~(1 << 4))) | (((pt[ 37 ] >> 6) & 0x1) << 4);
- state_bs[47] = (state_bs[47] & (~(1 << 4))) | (((pt[ 37 ] >> 7) & 0x1) << 4);
- state_bs[48] = (state_bs[48] & (~(1 << 4))) | (((pt[ 38 ] >> 0) & 0x1) << 4);
- state_bs[49] = (state_bs[49] & (~(1 << 4))) | (((pt[ 38 ] >> 1) & 0x1) << 4);
- state_bs[50] = (state_bs[50] & (~(1 << 4))) | (((pt[ 38 ] >> 2) & 0x1) << 4);
- state_bs[51] = (state_bs[51] & (~(1 << 4))) | (((pt[ 38 ] >> 3) & 0x1) << 4);
- state_bs[52] = (state_bs[52] & (~(1 << 4))) | (((pt[ 38 ] >> 4) & 0x1) << 4);
- state_bs[53] = (state_bs[53] & (~(1 << 4))) | (((pt[ 38 ] >> 5) & 0x1) << 4);
- state_bs[54] = (state_bs[54] & (~(1 << 4))) | (((pt[ 38 ] >> 6) & 0x1) << 4);
- state_bs[55] = (state_bs[55] & (~(1 << 4))) | (((pt[ 38 ] >> 7) & 0x1) << 4);
- state_bs[56] = (state_bs[56] & (~(1 << 4))) | (((pt[ 39 ] >> 0) & 0x1) << 4);
- state_bs[57] = (state_bs[57] & (~(1 << 4))) | (((pt[ 39 ] >> 1) & 0x1) << 4);
- state_bs[58] = (state_bs[58] & (~(1 << 4))) | (((pt[ 39 ] >> 2) & 0x1) << 4);
- state_bs[59] = (state_bs[59] & (~(1 << 4))) | (((pt[ 39 ] >> 3) & 0x1) << 4);
- state_bs[60] = (state_bs[60] & (~(1 << 4))) | (((pt[ 39 ] >> 4) & 0x1) << 4);
- state_bs[61] = (state_bs[61] & (~(1 << 4))) | (((pt[ 39 ] >> 5) & 0x1) << 4);
- state_bs[62] = (state_bs[62] & (~(1 << 4))) | (((pt[ 39 ] >> 6) & 0x1) << 4);
- state_bs[63] = (state_bs[63] & (~(1 << 4))) | (((pt[ 39 ] >> 7) & 0x1) << 4);
- state_bs[0] = (state_bs[0] & (~(1 << 5))) | (((pt[ 40 ] >> 0) & 0x1) << 5);
- state_bs[1] = (state_bs[1] & (~(1 << 5))) | (((pt[ 40 ] >> 1) & 0x1) << 5);
- state_bs[2] = (state_bs[2] & (~(1 << 5))) | (((pt[ 40 ] >> 2) & 0x1) << 5);
- state_bs[3] = (state_bs[3] & (~(1 << 5))) | (((pt[ 40 ] >> 3) & 0x1) << 5);
- state_bs[4] = (state_bs[4] & (~(1 << 5))) | (((pt[ 40 ] >> 4) & 0x1) << 5);
- state_bs[5] = (state_bs[5] & (~(1 << 5))) | (((pt[ 40 ] >> 5) & 0x1) << 5);
- state_bs[6] = (state_bs[6] & (~(1 << 5))) | (((pt[ 40 ] >> 6) & 0x1) << 5);
- state_bs[7] = (state_bs[7] & (~(1 << 5))) | (((pt[ 40 ] >> 7) & 0x1) << 5);
- state_bs[8] = (state_bs[8] & (~(1 << 5))) | (((pt[ 41 ] >> 0) & 0x1) << 5);
- state_bs[9] = (state_bs[9] & (~(1 << 5))) | (((pt[ 41 ] >> 1) & 0x1) << 5);
- state_bs[10] = (state_bs[10] & (~(1 << 5))) | (((pt[ 41 ] >> 2) & 0x1) << 5);
- state_bs[11] = (state_bs[11] & (~(1 << 5))) | (((pt[ 41 ] >> 3) & 0x1) << 5);
- state_bs[12] = (state_bs[12] & (~(1 << 5))) | (((pt[ 41 ] >> 4) & 0x1) << 5);
- state_bs[13] = (state_bs[13] & (~(1 << 5))) | (((pt[ 41 ] >> 5) & 0x1) << 5);
- state_bs[14] = (state_bs[14] & (~(1 << 5))) | (((pt[ 41 ] >> 6) & 0x1) << 5);
- state_bs[15] = (state_bs[15] & (~(1 << 5))) | (((pt[ 41 ] >> 7) & 0x1) << 5);
- state_bs[16] = (state_bs[16] & (~(1 << 5))) | (((pt[ 42 ] >> 0) & 0x1) << 5);
- state_bs[17] = (state_bs[17] & (~(1 << 5))) | (((pt[ 42 ] >> 1) & 0x1) << 5);
- state_bs[18] = (state_bs[18] & (~(1 << 5))) | (((pt[ 42 ] >> 2) & 0x1) << 5);
- state_bs[19] = (state_bs[19] & (~(1 << 5))) | (((pt[ 42 ] >> 3) & 0x1) << 5);
- state_bs[20] = (state_bs[20] & (~(1 << 5))) | (((pt[ 42 ] >> 4) & 0x1) << 5);
- state_bs[21] = (state_bs[21] & (~(1 << 5))) | (((pt[ 42 ] >> 5) & 0x1) << 5);
- state_bs[22] = (state_bs[22] & (~(1 << 5))) | (((pt[ 42 ] >> 6) & 0x1) << 5);
- state_bs[23] = (state_bs[23] & (~(1 << 5))) | (((pt[ 42 ] >> 7) & 0x1) << 5);
- state_bs[24] = (state_bs[24] & (~(1 << 5))) | (((pt[ 43 ] >> 0) & 0x1) << 5);
- state_bs[25] = (state_bs[25] & (~(1 << 5))) | (((pt[ 43 ] >> 1) & 0x1) << 5);
- state_bs[26] = (state_bs[26] & (~(1 << 5))) | (((pt[ 43 ] >> 2) & 0x1) << 5);
- state_bs[27] = (state_bs[27] & (~(1 << 5))) | (((pt[ 43 ] >> 3) & 0x1) << 5);
- state_bs[28] = (state_bs[28] & (~(1 << 5))) | (((pt[ 43 ] >> 4) & 0x1) << 5);
- state_bs[29] = (state_bs[29] & (~(1 << 5))) | (((pt[ 43 ] >> 5) & 0x1) << 5);
- state_bs[30] = (state_bs[30] & (~(1 << 5))) | (((pt[ 43 ] >> 6) & 0x1) << 5);
- state_bs[31] = (state_bs[31] & (~(1 << 5))) | (((pt[ 43 ] >> 7) & 0x1) << 5);
- state_bs[32] = (state_bs[32] & (~(1 << 5))) | (((pt[ 44 ] >> 0) & 0x1) << 5);
- state_bs[33] = (state_bs[33] & (~(1 << 5))) | (((pt[ 44 ] >> 1) & 0x1) << 5);
- state_bs[34] = (state_bs[34] & (~(1 << 5))) | (((pt[ 44 ] >> 2) & 0x1) << 5);
- state_bs[35] = (state_bs[35] & (~(1 << 5))) | (((pt[ 44 ] >> 3) & 0x1) << 5);
- state_bs[36] = (state_bs[36] & (~(1 << 5))) | (((pt[ 44 ] >> 4) & 0x1) << 5);
- state_bs[37] = (state_bs[37] & (~(1 << 5))) | (((pt[ 44 ] >> 5) & 0x1) << 5);
- state_bs[38] = (state_bs[38] & (~(1 << 5))) | (((pt[ 44 ] >> 6) & 0x1) << 5);
- state_bs[39] = (state_bs[39] & (~(1 << 5))) | (((pt[ 44 ] >> 7) & 0x1) << 5);
- state_bs[40] = (state_bs[40] & (~(1 << 5))) | (((pt[ 45 ] >> 0) & 0x1) << 5);
- state_bs[41] = (state_bs[41] & (~(1 << 5))) | (((pt[ 45 ] >> 1) & 0x1) << 5);
- state_bs[42] = (state_bs[42] & (~(1 << 5))) | (((pt[ 45 ] >> 2) & 0x1) << 5);
- state_bs[43] = (state_bs[43] & (~(1 << 5))) | (((pt[ 45 ] >> 3) & 0x1) << 5);
- state_bs[44] = (state_bs[44] & (~(1 << 5))) | (((pt[ 45 ] >> 4) & 0x1) << 5);
- state_bs[45] = (state_bs[45] & (~(1 << 5))) | (((pt[ 45 ] >> 5) & 0x1) << 5);
- state_bs[46] = (state_bs[46] & (~(1 << 5))) | (((pt[ 45 ] >> 6) & 0x1) << 5);
- state_bs[47] = (state_bs[47] & (~(1 << 5))) | (((pt[ 45 ] >> 7) & 0x1) << 5);
- state_bs[48] = (state_bs[48] & (~(1 << 5))) | (((pt[ 46 ] >> 0) & 0x1) << 5);
- state_bs[49] = (state_bs[49] & (~(1 << 5))) | (((pt[ 46 ] >> 1) & 0x1) << 5);
- state_bs[50] = (state_bs[50] & (~(1 << 5))) | (((pt[ 46 ] >> 2) & 0x1) << 5);
- state_bs[51] = (state_bs[51] & (~(1 << 5))) | (((pt[ 46 ] >> 3) & 0x1) << 5);
- state_bs[52] = (state_bs[52] & (~(1 << 5))) | (((pt[ 46 ] >> 4) & 0x1) << 5);
- state_bs[53] = (state_bs[53] & (~(1 << 5))) | (((pt[ 46 ] >> 5) & 0x1) << 5);
- state_bs[54] = (state_bs[54] & (~(1 << 5))) | (((pt[ 46 ] >> 6) & 0x1) << 5);
- state_bs[55] = (state_bs[55] & (~(1 << 5))) | (((pt[ 46 ] >> 7) & 0x1) << 5);
- state_bs[56] = (state_bs[56] & (~(1 << 5))) | (((pt[ 47 ] >> 0) & 0x1) << 5);
- state_bs[57] = (state_bs[57] & (~(1 << 5))) | (((pt[ 47 ] >> 1) & 0x1) << 5);
- state_bs[58] = (state_bs[58] & (~(1 << 5))) | (((pt[ 47 ] >> 2) & 0x1) << 5);
- state_bs[59] = (state_bs[59] & (~(1 << 5))) | (((pt[ 47 ] >> 3) & 0x1) << 5);
- state_bs[60] = (state_bs[60] & (~(1 << 5))) | (((pt[ 47 ] >> 4) & 0x1) << 5);
- state_bs[61] = (state_bs[61] & (~(1 << 5))) | (((pt[ 47 ] >> 5) & 0x1) << 5);
- state_bs[62] = (state_bs[62] & (~(1 << 5))) | (((pt[ 47 ] >> 6) & 0x1) << 5);
- state_bs[63] = (state_bs[63] & (~(1 << 5))) | (((pt[ 47 ] >> 7) & 0x1) << 5);
- state_bs[0] = (state_bs[0] & (~(1 << 6))) | (((pt[ 48 ] >> 0) & 0x1) << 6);
- state_bs[1] = (state_bs[1] & (~(1 << 6))) | (((pt[ 48 ] >> 1) & 0x1) << 6);
- state_bs[2] = (state_bs[2] & (~(1 << 6))) | (((pt[ 48 ] >> 2) & 0x1) << 6);
- state_bs[3] = (state_bs[3] & (~(1 << 6))) | (((pt[ 48 ] >> 3) & 0x1) << 6);
- state_bs[4] = (state_bs[4] & (~(1 << 6))) | (((pt[ 48 ] >> 4) & 0x1) << 6);
- state_bs[5] = (state_bs[5] & (~(1 << 6))) | (((pt[ 48 ] >> 5) & 0x1) << 6);
- state_bs[6] = (state_bs[6] & (~(1 << 6))) | (((pt[ 48 ] >> 6) & 0x1) << 6);
- state_bs[7] = (state_bs[7] & (~(1 << 6))) | (((pt[ 48 ] >> 7) & 0x1) << 6);
- state_bs[8] = (state_bs[8] & (~(1 << 6))) | (((pt[ 49 ] >> 0) & 0x1) << 6);
- state_bs[9] = (state_bs[9] & (~(1 << 6))) | (((pt[ 49 ] >> 1) & 0x1) << 6);
- state_bs[10] = (state_bs[10] & (~(1 << 6))) | (((pt[ 49 ] >> 2) & 0x1) << 6);
- state_bs[11] = (state_bs[11] & (~(1 << 6))) | (((pt[ 49 ] >> 3) & 0x1) << 6);
- state_bs[12] = (state_bs[12] & (~(1 << 6))) | (((pt[ 49 ] >> 4) & 0x1) << 6);
- state_bs[13] = (state_bs[13] & (~(1 << 6))) | (((pt[ 49 ] >> 5) & 0x1) << 6);
- state_bs[14] = (state_bs[14] & (~(1 << 6))) | (((pt[ 49 ] >> 6) & 0x1) << 6);
- state_bs[15] = (state_bs[15] & (~(1 << 6))) | (((pt[ 49 ] >> 7) & 0x1) << 6);
- state_bs[16] = (state_bs[16] & (~(1 << 6))) | (((pt[ 50 ] >> 0) & 0x1) << 6);
- state_bs[17] = (state_bs[17] & (~(1 << 6))) | (((pt[ 50 ] >> 1) & 0x1) << 6);
- state_bs[18] = (state_bs[18] & (~(1 << 6))) | (((pt[ 50 ] >> 2) & 0x1) << 6);
- state_bs[19] = (state_bs[19] & (~(1 << 6))) | (((pt[ 50 ] >> 3) & 0x1) << 6);
- state_bs[20] = (state_bs[20] & (~(1 << 6))) | (((pt[ 50 ] >> 4) & 0x1) << 6);
- state_bs[21] = (state_bs[21] & (~(1 << 6))) | (((pt[ 50 ] >> 5) & 0x1) << 6);
- state_bs[22] = (state_bs[22] & (~(1 << 6))) | (((pt[ 50 ] >> 6) & 0x1) << 6);
- state_bs[23] = (state_bs[23] & (~(1 << 6))) | (((pt[ 50 ] >> 7) & 0x1) << 6);
- state_bs[24] = (state_bs[24] & (~(1 << 6))) | (((pt[ 51 ] >> 0) & 0x1) << 6);
- state_bs[25] = (state_bs[25] & (~(1 << 6))) | (((pt[ 51 ] >> 1) & 0x1) << 6);
- state_bs[26] = (state_bs[26] & (~(1 << 6))) | (((pt[ 51 ] >> 2) & 0x1) << 6);
- state_bs[27] = (state_bs[27] & (~(1 << 6))) | (((pt[ 51 ] >> 3) & 0x1) << 6);
- state_bs[28] = (state_bs[28] & (~(1 << 6))) | (((pt[ 51 ] >> 4) & 0x1) << 6);
- state_bs[29] = (state_bs[29] & (~(1 << 6))) | (((pt[ 51 ] >> 5) & 0x1) << 6);
- state_bs[30] = (state_bs[30] & (~(1 << 6))) | (((pt[ 51 ] >> 6) & 0x1) << 6);
- state_bs[31] = (state_bs[31] & (~(1 << 6))) | (((pt[ 51 ] >> 7) & 0x1) << 6);
- state_bs[32] = (state_bs[32] & (~(1 << 6))) | (((pt[ 52 ] >> 0) & 0x1) << 6);
- state_bs[33] = (state_bs[33] & (~(1 << 6))) | (((pt[ 52 ] >> 1) & 0x1) << 6);
- state_bs[34] = (state_bs[34] & (~(1 << 6))) | (((pt[ 52 ] >> 2) & 0x1) << 6);
- state_bs[35] = (state_bs[35] & (~(1 << 6))) | (((pt[ 52 ] >> 3) & 0x1) << 6);
- state_bs[36] = (state_bs[36] & (~(1 << 6))) | (((pt[ 52 ] >> 4) & 0x1) << 6);
- state_bs[37] = (state_bs[37] & (~(1 << 6))) | (((pt[ 52 ] >> 5) & 0x1) << 6);
- state_bs[38] = (state_bs[38] & (~(1 << 6))) | (((pt[ 52 ] >> 6) & 0x1) << 6);
- state_bs[39] = (state_bs[39] & (~(1 << 6))) | (((pt[ 52 ] >> 7) & 0x1) << 6);
- state_bs[40] = (state_bs[40] & (~(1 << 6))) | (((pt[ 53 ] >> 0) & 0x1) << 6);
- state_bs[41] = (state_bs[41] & (~(1 << 6))) | (((pt[ 53 ] >> 1) & 0x1) << 6);
- state_bs[42] = (state_bs[42] & (~(1 << 6))) | (((pt[ 53 ] >> 2) & 0x1) << 6);
- state_bs[43] = (state_bs[43] & (~(1 << 6))) | (((pt[ 53 ] >> 3) & 0x1) << 6);
- state_bs[44] = (state_bs[44] & (~(1 << 6))) | (((pt[ 53 ] >> 4) & 0x1) << 6);
- state_bs[45] = (state_bs[45] & (~(1 << 6))) | (((pt[ 53 ] >> 5) & 0x1) << 6);
- state_bs[46] = (state_bs[46] & (~(1 << 6))) | (((pt[ 53 ] >> 6) & 0x1) << 6);
- state_bs[47] = (state_bs[47] & (~(1 << 6))) | (((pt[ 53 ] >> 7) & 0x1) << 6);
- state_bs[48] = (state_bs[48] & (~(1 << 6))) | (((pt[ 54 ] >> 0) & 0x1) << 6);
- state_bs[49] = (state_bs[49] & (~(1 << 6))) | (((pt[ 54 ] >> 1) & 0x1) << 6);
- state_bs[50] = (state_bs[50] & (~(1 << 6))) | (((pt[ 54 ] >> 2) & 0x1) << 6);
- state_bs[51] = (state_bs[51] & (~(1 << 6))) | (((pt[ 54 ] >> 3) & 0x1) << 6);
- state_bs[52] = (state_bs[52] & (~(1 << 6))) | (((pt[ 54 ] >> 4) & 0x1) << 6);
- state_bs[53] = (state_bs[53] & (~(1 << 6))) | (((pt[ 54 ] >> 5) & 0x1) << 6);
- state_bs[54] = (state_bs[54] & (~(1 << 6))) | (((pt[ 54 ] >> 6) & 0x1) << 6);
- state_bs[55] = (state_bs[55] & (~(1 << 6))) | (((pt[ 54 ] >> 7) & 0x1) << 6);
- state_bs[56] = (state_bs[56] & (~(1 << 6))) | (((pt[ 55 ] >> 0) & 0x1) << 6);
- state_bs[57] = (state_bs[57] & (~(1 << 6))) | (((pt[ 55 ] >> 1) & 0x1) << 6);
- state_bs[58] = (state_bs[58] & (~(1 << 6))) | (((pt[ 55 ] >> 2) & 0x1) << 6);
- state_bs[59] = (state_bs[59] & (~(1 << 6))) | (((pt[ 55 ] >> 3) & 0x1) << 6);
- state_bs[60] = (state_bs[60] & (~(1 << 6))) | (((pt[ 55 ] >> 4) & 0x1) << 6);
- state_bs[61] = (state_bs[61] & (~(1 << 6))) | (((pt[ 55 ] >> 5) & 0x1) << 6);
- state_bs[62] = (state_bs[62] & (~(1 << 6))) | (((pt[ 55 ] >> 6) & 0x1) << 6);
- state_bs[63] = (state_bs[63] & (~(1 << 6))) | (((pt[ 55 ] >> 7) & 0x1) << 6);
- state_bs[0] = (state_bs[0] & (~(1 << 7))) | (((pt[ 56 ] >> 0) & 0x1) << 7);
- state_bs[1] = (state_bs[1] & (~(1 << 7))) | (((pt[ 56 ] >> 1) & 0x1) << 7);
- state_bs[2] = (state_bs[2] & (~(1 << 7))) | (((pt[ 56 ] >> 2) & 0x1) << 7);
- state_bs[3] = (state_bs[3] & (~(1 << 7))) | (((pt[ 56 ] >> 3) & 0x1) << 7);
- state_bs[4] = (state_bs[4] & (~(1 << 7))) | (((pt[ 56 ] >> 4) & 0x1) << 7);
- state_bs[5] = (state_bs[5] & (~(1 << 7))) | (((pt[ 56 ] >> 5) & 0x1) << 7);
- state_bs[6] = (state_bs[6] & (~(1 << 7))) | (((pt[ 56 ] >> 6) & 0x1) << 7);
- state_bs[7] = (state_bs[7] & (~(1 << 7))) | (((pt[ 56 ] >> 7) & 0x1) << 7);
- state_bs[8] = (state_bs[8] & (~(1 << 7))) | (((pt[ 57 ] >> 0) & 0x1) << 7);
- state_bs[9] = (state_bs[9] & (~(1 << 7))) | (((pt[ 57 ] >> 1) & 0x1) << 7);
- state_bs[10] = (state_bs[10] & (~(1 << 7))) | (((pt[ 57 ] >> 2) & 0x1) << 7);
- state_bs[11] = (state_bs[11] & (~(1 << 7))) | (((pt[ 57 ] >> 3) & 0x1) << 7);
- state_bs[12] = (state_bs[12] & (~(1 << 7))) | (((pt[ 57 ] >> 4) & 0x1) << 7);
- state_bs[13] = (state_bs[13] & (~(1 << 7))) | (((pt[ 57 ] >> 5) & 0x1) << 7);
- state_bs[14] = (state_bs[14] & (~(1 << 7))) | (((pt[ 57 ] >> 6) & 0x1) << 7);
- state_bs[15] = (state_bs[15] & (~(1 << 7))) | (((pt[ 57 ] >> 7) & 0x1) << 7);
- state_bs[16] = (state_bs[16] & (~(1 << 7))) | (((pt[ 58 ] >> 0) & 0x1) << 7);
- state_bs[17] = (state_bs[17] & (~(1 << 7))) | (((pt[ 58 ] >> 1) & 0x1) << 7);
- state_bs[18] = (state_bs[18] & (~(1 << 7))) | (((pt[ 58 ] >> 2) & 0x1) << 7);
- state_bs[19] = (state_bs[19] & (~(1 << 7))) | (((pt[ 58 ] >> 3) & 0x1) << 7);
- state_bs[20] = (state_bs[20] & (~(1 << 7))) | (((pt[ 58 ] >> 4) & 0x1) << 7);
- state_bs[21] = (state_bs[21] & (~(1 << 7))) | (((pt[ 58 ] >> 5) & 0x1) << 7);
- state_bs[22] = (state_bs[22] & (~(1 << 7))) | (((pt[ 58 ] >> 6) & 0x1) << 7);
- state_bs[23] = (state_bs[23] & (~(1 << 7))) | (((pt[ 58 ] >> 7) & 0x1) << 7);
- state_bs[24] = (state_bs[24] & (~(1 << 7))) | (((pt[ 59 ] >> 0) & 0x1) << 7);
- state_bs[25] = (state_bs[25] & (~(1 << 7))) | (((pt[ 59 ] >> 1) & 0x1) << 7);
- state_bs[26] = (state_bs[26] & (~(1 << 7))) | (((pt[ 59 ] >> 2) & 0x1) << 7);
- state_bs[27] = (state_bs[27] & (~(1 << 7))) | (((pt[ 59 ] >> 3) & 0x1) << 7);
- state_bs[28] = (state_bs[28] & (~(1 << 7))) | (((pt[ 59 ] >> 4) & 0x1) << 7);
- state_bs[29] = (state_bs[29] & (~(1 << 7))) | (((pt[ 59 ] >> 5) & 0x1) << 7);
- state_bs[30] = (state_bs[30] & (~(1 << 7))) | (((pt[ 59 ] >> 6) & 0x1) << 7);
- state_bs[31] = (state_bs[31] & (~(1 << 7))) | (((pt[ 59 ] >> 7) & 0x1) << 7);
- state_bs[32] = (state_bs[32] & (~(1 << 7))) | (((pt[ 60 ] >> 0) & 0x1) << 7);
- state_bs[33] = (state_bs[33] & (~(1 << 7))) | (((pt[ 60 ] >> 1) & 0x1) << 7);
- state_bs[34] = (state_bs[34] & (~(1 << 7))) | (((pt[ 60 ] >> 2) & 0x1) << 7);
- state_bs[35] = (state_bs[35] & (~(1 << 7))) | (((pt[ 60 ] >> 3) & 0x1) << 7);
- state_bs[36] = (state_bs[36] & (~(1 << 7))) | (((pt[ 60 ] >> 4) & 0x1) << 7);
- state_bs[37] = (state_bs[37] & (~(1 << 7))) | (((pt[ 60 ] >> 5) & 0x1) << 7);
- state_bs[38] = (state_bs[38] & (~(1 << 7))) | (((pt[ 60 ] >> 6) & 0x1) << 7);
- state_bs[39] = (state_bs[39] & (~(1 << 7))) | (((pt[ 60 ] >> 7) & 0x1) << 7);
- state_bs[40] = (state_bs[40] & (~(1 << 7))) | (((pt[ 61 ] >> 0) & 0x1) << 7);
- state_bs[41] = (state_bs[41] & (~(1 << 7))) | (((pt[ 61 ] >> 1) & 0x1) << 7);
- state_bs[42] = (state_bs[42] & (~(1 << 7))) | (((pt[ 61 ] >> 2) & 0x1) << 7);
- state_bs[43] = (state_bs[43] & (~(1 << 7))) | (((pt[ 61 ] >> 3) & 0x1) << 7);
- state_bs[44] = (state_bs[44] & (~(1 << 7))) | (((pt[ 61 ] >> 4) & 0x1) << 7);
- state_bs[45] = (state_bs[45] & (~(1 << 7))) | (((pt[ 61 ] >> 5) & 0x1) << 7);
- state_bs[46] = (state_bs[46] & (~(1 << 7))) | (((pt[ 61 ] >> 6) & 0x1) << 7);
- state_bs[47] = (state_bs[47] & (~(1 << 7))) | (((pt[ 61 ] >> 7) & 0x1) << 7);
- state_bs[48] = (state_bs[48] & (~(1 << 7))) | (((pt[ 62 ] >> 0) & 0x1) << 7);
- state_bs[49] = (state_bs[49] & (~(1 << 7))) | (((pt[ 62 ] >> 1) & 0x1) << 7);
- state_bs[50] = (state_bs[50] & (~(1 << 7))) | (((pt[ 62 ] >> 2) & 0x1) << 7);
- state_bs[51] = (state_bs[51] & (~(1 << 7))) | (((pt[ 62 ] >> 3) & 0x1) << 7);
- state_bs[52] = (state_bs[52] & (~(1 << 7))) | (((pt[ 62 ] >> 4) & 0x1) << 7);
- state_bs[53] = (state_bs[53] & (~(1 << 7))) | (((pt[ 62 ] >> 5) & 0x1) << 7);
- state_bs[54] = (state_bs[54] & (~(1 << 7))) | (((pt[ 62 ] >> 6) & 0x1) << 7);
- state_bs[55] = (state_bs[55] & (~(1 << 7))) | (((pt[ 62 ] >> 7) & 0x1) << 7);
- state_bs[56] = (state_bs[56] & (~(1 << 7))) | (((pt[ 63 ] >> 0) & 0x1) << 7);
- state_bs[57] = (state_bs[57] & (~(1 << 7))) | (((pt[ 63 ] >> 1) & 0x1) << 7);
- state_bs[58] = (state_bs[58] & (~(1 << 7))) | (((pt[ 63 ] >> 2) & 0x1) << 7);
- state_bs[59] = (state_bs[59] & (~(1 << 7))) | (((pt[ 63 ] >> 3) & 0x1) << 7);
- state_bs[60] = (state_bs[60] & (~(1 << 7))) | (((pt[ 63 ] >> 4) & 0x1) << 7);
- state_bs[61] = (state_bs[61] & (~(1 << 7))) | (((pt[ 63 ] >> 5) & 0x1) << 7);
- state_bs[62] = (state_bs[62] & (~(1 << 7))) | (((pt[ 63 ] >> 6) & 0x1) << 7);
- state_bs[63] = (state_bs[63] & (~(1 << 7))) | (((pt[ 63 ] >> 7) & 0x1) << 7);
- state_bs[0] = (state_bs[0] & (~(1 << 8))) | (((pt[ 64 ] >> 0) & 0x1) << 8);
- state_bs[1] = (state_bs[1] & (~(1 << 8))) | (((pt[ 64 ] >> 1) & 0x1) << 8);
- state_bs[2] = (state_bs[2] & (~(1 << 8))) | (((pt[ 64 ] >> 2) & 0x1) << 8);
- state_bs[3] = (state_bs[3] & (~(1 << 8))) | (((pt[ 64 ] >> 3) & 0x1) << 8);
- state_bs[4] = (state_bs[4] & (~(1 << 8))) | (((pt[ 64 ] >> 4) & 0x1) << 8);
- state_bs[5] = (state_bs[5] & (~(1 << 8))) | (((pt[ 64 ] >> 5) & 0x1) << 8);
- state_bs[6] = (state_bs[6] & (~(1 << 8))) | (((pt[ 64 ] >> 6) & 0x1) << 8);
- state_bs[7] = (state_bs[7] & (~(1 << 8))) | (((pt[ 64 ] >> 7) & 0x1) << 8);
- state_bs[8] = (state_bs[8] & (~(1 << 8))) | (((pt[ 65 ] >> 0) & 0x1) << 8);
- state_bs[9] = (state_bs[9] & (~(1 << 8))) | (((pt[ 65 ] >> 1) & 0x1) << 8);
- state_bs[10] = (state_bs[10] & (~(1 << 8))) | (((pt[ 65 ] >> 2) & 0x1) << 8);
- state_bs[11] = (state_bs[11] & (~(1 << 8))) | (((pt[ 65 ] >> 3) & 0x1) << 8);
- state_bs[12] = (state_bs[12] & (~(1 << 8))) | (((pt[ 65 ] >> 4) & 0x1) << 8);
- state_bs[13] = (state_bs[13] & (~(1 << 8))) | (((pt[ 65 ] >> 5) & 0x1) << 8);
- state_bs[14] = (state_bs[14] & (~(1 << 8))) | (((pt[ 65 ] >> 6) & 0x1) << 8);
- state_bs[15] = (state_bs[15] & (~(1 << 8))) | (((pt[ 65 ] >> 7) & 0x1) << 8);
- state_bs[16] = (state_bs[16] & (~(1 << 8))) | (((pt[ 66 ] >> 0) & 0x1) << 8);
- state_bs[17] = (state_bs[17] & (~(1 << 8))) | (((pt[ 66 ] >> 1) & 0x1) << 8);
- state_bs[18] = (state_bs[18] & (~(1 << 8))) | (((pt[ 66 ] >> 2) & 0x1) << 8);
- state_bs[19] = (state_bs[19] & (~(1 << 8))) | (((pt[ 66 ] >> 3) & 0x1) << 8);
- state_bs[20] = (state_bs[20] & (~(1 << 8))) | (((pt[ 66 ] >> 4) & 0x1) << 8);
- state_bs[21] = (state_bs[21] & (~(1 << 8))) | (((pt[ 66 ] >> 5) & 0x1) << 8);
- state_bs[22] = (state_bs[22] & (~(1 << 8))) | (((pt[ 66 ] >> 6) & 0x1) << 8);
- state_bs[23] = (state_bs[23] & (~(1 << 8))) | (((pt[ 66 ] >> 7) & 0x1) << 8);
- state_bs[24] = (state_bs[24] & (~(1 << 8))) | (((pt[ 67 ] >> 0) & 0x1) << 8);
- state_bs[25] = (state_bs[25] & (~(1 << 8))) | (((pt[ 67 ] >> 1) & 0x1) << 8);
- state_bs[26] = (state_bs[26] & (~(1 << 8))) | (((pt[ 67 ] >> 2) & 0x1) << 8);
- state_bs[27] = (state_bs[27] & (~(1 << 8))) | (((pt[ 67 ] >> 3) & 0x1) << 8);
- state_bs[28] = (state_bs[28] & (~(1 << 8))) | (((pt[ 67 ] >> 4) & 0x1) << 8);
- state_bs[29] = (state_bs[29] & (~(1 << 8))) | (((pt[ 67 ] >> 5) & 0x1) << 8);
- state_bs[30] = (state_bs[30] & (~(1 << 8))) | (((pt[ 67 ] >> 6) & 0x1) << 8);
- state_bs[31] = (state_bs[31] & (~(1 << 8))) | (((pt[ 67 ] >> 7) & 0x1) << 8);
- state_bs[32] = (state_bs[32] & (~(1 << 8))) | (((pt[ 68 ] >> 0) & 0x1) << 8);
- state_bs[33] = (state_bs[33] & (~(1 << 8))) | (((pt[ 68 ] >> 1) & 0x1) << 8);
- state_bs[34] = (state_bs[34] & (~(1 << 8))) | (((pt[ 68 ] >> 2) & 0x1) << 8);
- state_bs[35] = (state_bs[35] & (~(1 << 8))) | (((pt[ 68 ] >> 3) & 0x1) << 8);
- state_bs[36] = (state_bs[36] & (~(1 << 8))) | (((pt[ 68 ] >> 4) & 0x1) << 8);
- state_bs[37] = (state_bs[37] & (~(1 << 8))) | (((pt[ 68 ] >> 5) & 0x1) << 8);
- state_bs[38] = (state_bs[38] & (~(1 << 8))) | (((pt[ 68 ] >> 6) & 0x1) << 8);
- state_bs[39] = (state_bs[39] & (~(1 << 8))) | (((pt[ 68 ] >> 7) & 0x1) << 8);
- state_bs[40] = (state_bs[40] & (~(1 << 8))) | (((pt[ 69 ] >> 0) & 0x1) << 8);
- state_bs[41] = (state_bs[41] & (~(1 << 8))) | (((pt[ 69 ] >> 1) & 0x1) << 8);
- state_bs[42] = (state_bs[42] & (~(1 << 8))) | (((pt[ 69 ] >> 2) & 0x1) << 8);
- state_bs[43] = (state_bs[43] & (~(1 << 8))) | (((pt[ 69 ] >> 3) & 0x1) << 8);
- state_bs[44] = (state_bs[44] & (~(1 << 8))) | (((pt[ 69 ] >> 4) & 0x1) << 8);
- state_bs[45] = (state_bs[45] & (~(1 << 8))) | (((pt[ 69 ] >> 5) & 0x1) << 8);
- state_bs[46] = (state_bs[46] & (~(1 << 8))) | (((pt[ 69 ] >> 6) & 0x1) << 8);
- state_bs[47] = (state_bs[47] & (~(1 << 8))) | (((pt[ 69 ] >> 7) & 0x1) << 8);
- state_bs[48] = (state_bs[48] & (~(1 << 8))) | (((pt[ 70 ] >> 0) & 0x1) << 8);
- state_bs[49] = (state_bs[49] & (~(1 << 8))) | (((pt[ 70 ] >> 1) & 0x1) << 8);
- state_bs[50] = (state_bs[50] & (~(1 << 8))) | (((pt[ 70 ] >> 2) & 0x1) << 8);
- state_bs[51] = (state_bs[51] & (~(1 << 8))) | (((pt[ 70 ] >> 3) & 0x1) << 8);
- state_bs[52] = (state_bs[52] & (~(1 << 8))) | (((pt[ 70 ] >> 4) & 0x1) << 8);
- state_bs[53] = (state_bs[53] & (~(1 << 8))) | (((pt[ 70 ] >> 5) & 0x1) << 8);
- state_bs[54] = (state_bs[54] & (~(1 << 8))) | (((pt[ 70 ] >> 6) & 0x1) << 8);
- state_bs[55] = (state_bs[55] & (~(1 << 8))) | (((pt[ 70 ] >> 7) & 0x1) << 8);
- state_bs[56] = (state_bs[56] & (~(1 << 8))) | (((pt[ 71 ] >> 0) & 0x1) << 8);
- state_bs[57] = (state_bs[57] & (~(1 << 8))) | (((pt[ 71 ] >> 1) & 0x1) << 8);
- state_bs[58] = (state_bs[58] & (~(1 << 8))) | (((pt[ 71 ] >> 2) & 0x1) << 8);
- state_bs[59] = (state_bs[59] & (~(1 << 8))) | (((pt[ 71 ] >> 3) & 0x1) << 8);
- state_bs[60] = (state_bs[60] & (~(1 << 8))) | (((pt[ 71 ] >> 4) & 0x1) << 8);
- state_bs[61] = (state_bs[61] & (~(1 << 8))) | (((pt[ 71 ] >> 5) & 0x1) << 8);
- state_bs[62] = (state_bs[62] & (~(1 << 8))) | (((pt[ 71 ] >> 6) & 0x1) << 8);
- state_bs[63] = (state_bs[63] & (~(1 << 8))) | (((pt[ 71 ] >> 7) & 0x1) << 8);
- state_bs[0] = (state_bs[0] & (~(1 << 9))) | (((pt[ 72 ] >> 0) & 0x1) << 9);
- state_bs[1] = (state_bs[1] & (~(1 << 9))) | (((pt[ 72 ] >> 1) & 0x1) << 9);
- state_bs[2] = (state_bs[2] & (~(1 << 9))) | (((pt[ 72 ] >> 2) & 0x1) << 9);
- state_bs[3] = (state_bs[3] & (~(1 << 9))) | (((pt[ 72 ] >> 3) & 0x1) << 9);
- state_bs[4] = (state_bs[4] & (~(1 << 9))) | (((pt[ 72 ] >> 4) & 0x1) << 9);
- state_bs[5] = (state_bs[5] & (~(1 << 9))) | (((pt[ 72 ] >> 5) & 0x1) << 9);
- state_bs[6] = (state_bs[6] & (~(1 << 9))) | (((pt[ 72 ] >> 6) & 0x1) << 9);
- state_bs[7] = (state_bs[7] & (~(1 << 9))) | (((pt[ 72 ] >> 7) & 0x1) << 9);
- state_bs[8] = (state_bs[8] & (~(1 << 9))) | (((pt[ 73 ] >> 0) & 0x1) << 9);
- state_bs[9] = (state_bs[9] & (~(1 << 9))) | (((pt[ 73 ] >> 1) & 0x1) << 9);
- state_bs[10] = (state_bs[10] & (~(1 << 9))) | (((pt[ 73 ] >> 2) & 0x1) << 9);
- state_bs[11] = (state_bs[11] & (~(1 << 9))) | (((pt[ 73 ] >> 3) & 0x1) << 9);
- state_bs[12] = (state_bs[12] & (~(1 << 9))) | (((pt[ 73 ] >> 4) & 0x1) << 9);
- state_bs[13] = (state_bs[13] & (~(1 << 9))) | (((pt[ 73 ] >> 5) & 0x1) << 9);
- state_bs[14] = (state_bs[14] & (~(1 << 9))) | (((pt[ 73 ] >> 6) & 0x1) << 9);
- state_bs[15] = (state_bs[15] & (~(1 << 9))) | (((pt[ 73 ] >> 7) & 0x1) << 9);
- state_bs[16] = (state_bs[16] & (~(1 << 9))) | (((pt[ 74 ] >> 0) & 0x1) << 9);
- state_bs[17] = (state_bs[17] & (~(1 << 9))) | (((pt[ 74 ] >> 1) & 0x1) << 9);
- state_bs[18] = (state_bs[18] & (~(1 << 9))) | (((pt[ 74 ] >> 2) & 0x1) << 9);
- state_bs[19] = (state_bs[19] & (~(1 << 9))) | (((pt[ 74 ] >> 3) & 0x1) << 9);
- state_bs[20] = (state_bs[20] & (~(1 << 9))) | (((pt[ 74 ] >> 4) & 0x1) << 9);
- state_bs[21] = (state_bs[21] & (~(1 << 9))) | (((pt[ 74 ] >> 5) & 0x1) << 9);
- state_bs[22] = (state_bs[22] & (~(1 << 9))) | (((pt[ 74 ] >> 6) & 0x1) << 9);
- state_bs[23] = (state_bs[23] & (~(1 << 9))) | (((pt[ 74 ] >> 7) & 0x1) << 9);
- state_bs[24] = (state_bs[24] & (~(1 << 9))) | (((pt[ 75 ] >> 0) & 0x1) << 9);
- state_bs[25] = (state_bs[25] & (~(1 << 9))) | (((pt[ 75 ] >> 1) & 0x1) << 9);
- state_bs[26] = (state_bs[26] & (~(1 << 9))) | (((pt[ 75 ] >> 2) & 0x1) << 9);
- state_bs[27] = (state_bs[27] & (~(1 << 9))) | (((pt[ 75 ] >> 3) & 0x1) << 9);
- state_bs[28] = (state_bs[28] & (~(1 << 9))) | (((pt[ 75 ] >> 4) & 0x1) << 9);
- state_bs[29] = (state_bs[29] & (~(1 << 9))) | (((pt[ 75 ] >> 5) & 0x1) << 9);
- state_bs[30] = (state_bs[30] & (~(1 << 9))) | (((pt[ 75 ] >> 6) & 0x1) << 9);
- state_bs[31] = (state_bs[31] & (~(1 << 9))) | (((pt[ 75 ] >> 7) & 0x1) << 9);
- state_bs[32] = (state_bs[32] & (~(1 << 9))) | (((pt[ 76 ] >> 0) & 0x1) << 9);
- state_bs[33] = (state_bs[33] & (~(1 << 9))) | (((pt[ 76 ] >> 1) & 0x1) << 9);
- state_bs[34] = (state_bs[34] & (~(1 << 9))) | (((pt[ 76 ] >> 2) & 0x1) << 9);
- state_bs[35] = (state_bs[35] & (~(1 << 9))) | (((pt[ 76 ] >> 3) & 0x1) << 9);
- state_bs[36] = (state_bs[36] & (~(1 << 9))) | (((pt[ 76 ] >> 4) & 0x1) << 9);
- state_bs[37] = (state_bs[37] & (~(1 << 9))) | (((pt[ 76 ] >> 5) & 0x1) << 9);
- state_bs[38] = (state_bs[38] & (~(1 << 9))) | (((pt[ 76 ] >> 6) & 0x1) << 9);
- state_bs[39] = (state_bs[39] & (~(1 << 9))) | (((pt[ 76 ] >> 7) & 0x1) << 9);
- state_bs[40] = (state_bs[40] & (~(1 << 9))) | (((pt[ 77 ] >> 0) & 0x1) << 9);
- state_bs[41] = (state_bs[41] & (~(1 << 9))) | (((pt[ 77 ] >> 1) & 0x1) << 9);
- state_bs[42] = (state_bs[42] & (~(1 << 9))) | (((pt[ 77 ] >> 2) & 0x1) << 9);
- state_bs[43] = (state_bs[43] & (~(1 << 9))) | (((pt[ 77 ] >> 3) & 0x1) << 9);
- state_bs[44] = (state_bs[44] & (~(1 << 9))) | (((pt[ 77 ] >> 4) & 0x1) << 9);
- state_bs[45] = (state_bs[45] & (~(1 << 9))) | (((pt[ 77 ] >> 5) & 0x1) << 9);
- state_bs[46] = (state_bs[46] & (~(1 << 9))) | (((pt[ 77 ] >> 6) & 0x1) << 9);
- state_bs[47] = (state_bs[47] & (~(1 << 9))) | (((pt[ 77 ] >> 7) & 0x1) << 9);
- state_bs[48] = (state_bs[48] & (~(1 << 9))) | (((pt[ 78 ] >> 0) & 0x1) << 9);
- state_bs[49] = (state_bs[49] & (~(1 << 9))) | (((pt[ 78 ] >> 1) & 0x1) << 9);
- state_bs[50] = (state_bs[50] & (~(1 << 9))) | (((pt[ 78 ] >> 2) & 0x1) << 9);
- state_bs[51] = (state_bs[51] & (~(1 << 9))) | (((pt[ 78 ] >> 3) & 0x1) << 9);
- state_bs[52] = (state_bs[52] & (~(1 << 9))) | (((pt[ 78 ] >> 4) & 0x1) << 9);
- state_bs[53] = (state_bs[53] & (~(1 << 9))) | (((pt[ 78 ] >> 5) & 0x1) << 9);
- state_bs[54] = (state_bs[54] & (~(1 << 9))) | (((pt[ 78 ] >> 6) & 0x1) << 9);
- state_bs[55] = (state_bs[55] & (~(1 << 9))) | (((pt[ 78 ] >> 7) & 0x1) << 9);
- state_bs[56] = (state_bs[56] & (~(1 << 9))) | (((pt[ 79 ] >> 0) & 0x1) << 9);
- state_bs[57] = (state_bs[57] & (~(1 << 9))) | (((pt[ 79 ] >> 1) & 0x1) << 9);
- state_bs[58] = (state_bs[58] & (~(1 << 9))) | (((pt[ 79 ] >> 2) & 0x1) << 9);
- state_bs[59] = (state_bs[59] & (~(1 << 9))) | (((pt[ 79 ] >> 3) & 0x1) << 9);
- state_bs[60] = (state_bs[60] & (~(1 << 9))) | (((pt[ 79 ] >> 4) & 0x1) << 9);
- state_bs[61] = (state_bs[61] & (~(1 << 9))) | (((pt[ 79 ] >> 5) & 0x1) << 9);
- state_bs[62] = (state_bs[62] & (~(1 << 9))) | (((pt[ 79 ] >> 6) & 0x1) << 9);
- state_bs[63] = (state_bs[63] & (~(1 << 9))) | (((pt[ 79 ] >> 7) & 0x1) << 9);
- state_bs[0] = (state_bs[0] & 0xfbff) | ((pt[ 80 ] & 0x01) << 10);
- state_bs[1] = (state_bs[1] & 0xfbff) | ((pt[ 80 ] & 0x02) << 9);
- state_bs[2] = (state_bs[2] & 0xfbff) | ((pt[ 80 ] & 0x04) << 8);
- state_bs[3] = (state_bs[3] & 0xfbff) | ((pt[ 80 ] & 0x08) << 7);
- state_bs[4] = (state_bs[4] & 0xfbff) | ((pt[ 80 ] & 0x10) << 6);
- state_bs[5] = (state_bs[5] & 0xfbff) | ((pt[ 80 ] & 0x20) << 5);
- state_bs[6] = (state_bs[6] & 0xfbff) | ((pt[ 80 ] & 0x40) << 4);
- state_bs[7] = (state_bs[7] & 0xfbff) | ((pt[ 80 ] & 0x80) << 3);
- state_bs[8] = (state_bs[8] & 0xfbff) | ((pt[ 81 ] & 0x01) << 10);
- state_bs[9] = (state_bs[9] & 0xfbff) | ((pt[ 81 ] & 0x02) << 9);
- state_bs[10] = (state_bs[10] & 0xfbff) | ((pt[ 81 ] & 0x04) << 8);
- state_bs[11] = (state_bs[11] & 0xfbff) | ((pt[ 81 ] & 0x08) << 7);
- state_bs[12] = (state_bs[12] & 0xfbff) | ((pt[ 81 ] & 0x10) << 6);
- state_bs[13] = (state_bs[13] & 0xfbff) | ((pt[ 81 ] & 0x20) << 5);
- state_bs[14] = (state_bs[14] & 0xfbff) | ((pt[ 81 ] & 0x40) << 4);
- state_bs[15] = (state_bs[15] & 0xfbff) | ((pt[ 81 ] & 0x80) << 3);
- state_bs[16] = (state_bs[16] & 0xfbff) | ((pt[ 82 ] & 0x01) << 10);
- state_bs[17] = (state_bs[17] & 0xfbff) | ((pt[ 82 ] & 0x02) << 9);
- state_bs[18] = (state_bs[18] & 0xfbff) | ((pt[ 82 ] & 0x04) << 8);
- state_bs[19] = (state_bs[19] & 0xfbff) | ((pt[ 82 ] & 0x08) << 7);
- state_bs[20] = (state_bs[20] & 0xfbff) | ((pt[ 82 ] & 0x10) << 6);
- state_bs[21] = (state_bs[21] & 0xfbff) | ((pt[ 82 ] & 0x20) << 5);
- state_bs[22] = (state_bs[22] & 0xfbff) | ((pt[ 82 ] & 0x40) << 4);
- state_bs[23] = (state_bs[23] & 0xfbff) | ((pt[ 82 ] & 0x80) << 3);
- state_bs[24] = (state_bs[24] & 0xfbff) | ((pt[ 83 ] & 0x01) << 10);
- state_bs[25] = (state_bs[25] & 0xfbff) | ((pt[ 83 ] & 0x02) << 9);
- state_bs[26] = (state_bs[26] & 0xfbff) | ((pt[ 83 ] & 0x04) << 8);
- state_bs[27] = (state_bs[27] & 0xfbff) | ((pt[ 83 ] & 0x08) << 7);
- state_bs[28] = (state_bs[28] & 0xfbff) | ((pt[ 83 ] & 0x10) << 6);
- state_bs[29] = (state_bs[29] & 0xfbff) | ((pt[ 83 ] & 0x20) << 5);
- state_bs[30] = (state_bs[30] & 0xfbff) | ((pt[ 83 ] & 0x40) << 4);
- state_bs[31] = (state_bs[31] & 0xfbff) | ((pt[ 83 ] & 0x80) << 3);
- state_bs[32] = (state_bs[32] & 0xfbff) | ((pt[ 84 ] & 0x01) << 10);
- state_bs[33] = (state_bs[33] & 0xfbff) | ((pt[ 84 ] & 0x02) << 9);
- state_bs[34] = (state_bs[34] & 0xfbff) | ((pt[ 84 ] & 0x04) << 8);
- state_bs[35] = (state_bs[35] & 0xfbff) | ((pt[ 84 ] & 0x08) << 7);
- state_bs[36] = (state_bs[36] & 0xfbff) | ((pt[ 84 ] & 0x10) << 6);
- state_bs[37] = (state_bs[37] & 0xfbff) | ((pt[ 84 ] & 0x20) << 5);
- state_bs[38] = (state_bs[38] & 0xfbff) | ((pt[ 84 ] & 0x40) << 4);
- state_bs[39] = (state_bs[39] & 0xfbff) | ((pt[ 84 ] & 0x80) << 3);
- state_bs[40] = (state_bs[40] & 0xfbff) | ((pt[ 85 ] & 0x01) << 10);
- state_bs[41] = (state_bs[41] & 0xfbff) | ((pt[ 85 ] & 0x02) << 9);
- state_bs[42] = (state_bs[42] & 0xfbff) | ((pt[ 85 ] & 0x04) << 8);
- state_bs[43] = (state_bs[43] & 0xfbff) | ((pt[ 85 ] & 0x08) << 7);
- state_bs[44] = (state_bs[44] & 0xfbff) | ((pt[ 85 ] & 0x10) << 6);
- state_bs[45] = (state_bs[45] & 0xfbff) | ((pt[ 85 ] & 0x20) << 5);
- state_bs[46] = (state_bs[46] & 0xfbff) | ((pt[ 85 ] & 0x40) << 4);
- state_bs[47] = (state_bs[47] & 0xfbff) | ((pt[ 85 ] & 0x80) << 3);
- state_bs[48] = (state_bs[48] & 0xfbff) | ((pt[ 86 ] & 0x01) << 10);
- state_bs[49] = (state_bs[49] & 0xfbff) | ((pt[ 86 ] & 0x02) << 9);
- state_bs[50] = (state_bs[50] & 0xfbff) | ((pt[ 86 ] & 0x04) << 8);
- state_bs[51] = (state_bs[51] & 0xfbff) | ((pt[ 86 ] & 0x08) << 7);
- state_bs[52] = (state_bs[52] & 0xfbff) | ((pt[ 86 ] & 0x10) << 6);
- state_bs[53] = (state_bs[53] & 0xfbff) | ((pt[ 86 ] & 0x20) << 5);
- state_bs[54] = (state_bs[54] & 0xfbff) | ((pt[ 86 ] & 0x40) << 4);
- state_bs[55] = (state_bs[55] & 0xfbff) | ((pt[ 86 ] & 0x80) << 3);
- state_bs[56] = (state_bs[56] & 0xfbff) | ((pt[ 87 ] & 0x01) << 10);
- state_bs[57] = (state_bs[57] & 0xfbff) | ((pt[ 87 ] & 0x02) << 9);
- state_bs[58] = (state_bs[58] & 0xfbff) | ((pt[ 87 ] & 0x04) << 8);
- state_bs[59] = (state_bs[59] & 0xfbff) | ((pt[ 87 ] & 0x08) << 7);
- state_bs[60] = (state_bs[60] & 0xfbff) | ((pt[ 87 ] & 0x10) << 6);
- state_bs[61] = (state_bs[61] & 0xfbff) | ((pt[ 87 ] & 0x20) << 5);
- state_bs[62] = (state_bs[62] & 0xfbff) | ((pt[ 87 ] & 0x40) << 4);
- state_bs[63] = (state_bs[63] & 0xfbff) | ((pt[ 87 ] & 0x80) << 3);
- state_bs[0] = (state_bs[0] & 0xf7ff) | ((pt[ 88 ] & 0x01) << 11);
- state_bs[1] = (state_bs[1] & 0xf7ff) | ((pt[ 88 ] & 0x02) << 10);
- state_bs[2] = (state_bs[2] & 0xf7ff) | ((pt[ 88 ] & 0x04) << 9);
- state_bs[3] = (state_bs[3] & 0xf7ff) | ((pt[ 88 ] & 0x08) << 8);
- state_bs[4] = (state_bs[4] & 0xf7ff) | ((pt[ 88 ] & 0x10) << 7);
- state_bs[5] = (state_bs[5] & 0xf7ff) | ((pt[ 88 ] & 0x20) << 6);
- state_bs[6] = (state_bs[6] & 0xf7ff) | ((pt[ 88 ] & 0x40) << 5);
- state_bs[7] = (state_bs[7] & 0xf7ff) | ((pt[ 88 ] & 0x80) << 4);
- state_bs[8] = (state_bs[8] & 0xf7ff) | ((pt[ 89 ] & 0x01) << 11);
- state_bs[9] = (state_bs[9] & 0xf7ff) | ((pt[ 89 ] & 0x02) << 10);
- state_bs[10] = (state_bs[10] & 0xf7ff) | ((pt[ 89 ] & 0x04) << 9);
- state_bs[11] = (state_bs[11] & 0xf7ff) | ((pt[ 89 ] & 0x08) << 8);
- state_bs[12] = (state_bs[12] & 0xf7ff) | ((pt[ 89 ] & 0x10) << 7);
- state_bs[13] = (state_bs[13] & 0xf7ff) | ((pt[ 89 ] & 0x20) << 6);
- state_bs[14] = (state_bs[14] & 0xf7ff) | ((pt[ 89 ] & 0x40) << 5);
- state_bs[15] = (state_bs[15] & 0xf7ff) | ((pt[ 89 ] & 0x80) << 4);
- state_bs[16] = (state_bs[16] & 0xf7ff) | ((pt[ 90 ] & 0x01) << 11);
- state_bs[17] = (state_bs[17] & 0xf7ff) | ((pt[ 90 ] & 0x02) << 10);
- state_bs[18] = (state_bs[18] & 0xf7ff) | ((pt[ 90 ] & 0x04) << 9);
- state_bs[19] = (state_bs[19] & 0xf7ff) | ((pt[ 90 ] & 0x08) << 8);
- state_bs[20] = (state_bs[20] & 0xf7ff) | ((pt[ 90 ] & 0x10) << 7);
- state_bs[21] = (state_bs[21] & 0xf7ff) | ((pt[ 90 ] & 0x20) << 6);
- state_bs[22] = (state_bs[22] & 0xf7ff) | ((pt[ 90 ] & 0x40) << 5);
- state_bs[23] = (state_bs[23] & 0xf7ff) | ((pt[ 90 ] & 0x80) << 4);
- state_bs[24] = (state_bs[24] & 0xf7ff) | ((pt[ 91 ] & 0x01) << 11);
- state_bs[25] = (state_bs[25] & 0xf7ff) | ((pt[ 91 ] & 0x02) << 10);
- state_bs[26] = (state_bs[26] & 0xf7ff) | ((pt[ 91 ] & 0x04) << 9);
- state_bs[27] = (state_bs[27] & 0xf7ff) | ((pt[ 91 ] & 0x08) << 8);
- state_bs[28] = (state_bs[28] & 0xf7ff) | ((pt[ 91 ] & 0x10) << 7);
- state_bs[29] = (state_bs[29] & 0xf7ff) | ((pt[ 91 ] & 0x20) << 6);
- state_bs[30] = (state_bs[30] & 0xf7ff) | ((pt[ 91 ] & 0x40) << 5);
- state_bs[31] = (state_bs[31] & 0xf7ff) | ((pt[ 91 ] & 0x80) << 4);
- state_bs[32] = (state_bs[32] & 0xf7ff) | ((pt[ 92 ] & 0x01) << 11);
- state_bs[33] = (state_bs[33] & 0xf7ff) | ((pt[ 92 ] & 0x02) << 10);
- state_bs[34] = (state_bs[34] & 0xf7ff) | ((pt[ 92 ] & 0x04) << 9);
- state_bs[35] = (state_bs[35] & 0xf7ff) | ((pt[ 92 ] & 0x08) << 8);
- state_bs[36] = (state_bs[36] & 0xf7ff) | ((pt[ 92 ] & 0x10) << 7);
- state_bs[37] = (state_bs[37] & 0xf7ff) | ((pt[ 92 ] & 0x20) << 6);
- state_bs[38] = (state_bs[38] & 0xf7ff) | ((pt[ 92 ] & 0x40) << 5);
- state_bs[39] = (state_bs[39] & 0xf7ff) | ((pt[ 92 ] & 0x80) << 4);
- state_bs[40] = (state_bs[40] & 0xf7ff) | ((pt[ 93 ] & 0x01) << 11);
- state_bs[41] = (state_bs[41] & 0xf7ff) | ((pt[ 93 ] & 0x02) << 10);
- state_bs[42] = (state_bs[42] & 0xf7ff) | ((pt[ 93 ] & 0x04) << 9);
- state_bs[43] = (state_bs[43] & 0xf7ff) | ((pt[ 93 ] & 0x08) << 8);
- state_bs[44] = (state_bs[44] & 0xf7ff) | ((pt[ 93 ] & 0x10) << 7);
- state_bs[45] = (state_bs[45] & 0xf7ff) | ((pt[ 93 ] & 0x20) << 6);
- state_bs[46] = (state_bs[46] & 0xf7ff) | ((pt[ 93 ] & 0x40) << 5);
- state_bs[47] = (state_bs[47] & 0xf7ff) | ((pt[ 93 ] & 0x80) << 4);
- state_bs[48] = (state_bs[48] & 0xf7ff) | ((pt[ 94 ] & 0x01) << 11);
- state_bs[49] = (state_bs[49] & 0xf7ff) | ((pt[ 94 ] & 0x02) << 10);
- state_bs[50] = (state_bs[50] & 0xf7ff) | ((pt[ 94 ] & 0x04) << 9);
- state_bs[51] = (state_bs[51] & 0xf7ff) | ((pt[ 94 ] & 0x08) << 8);
- state_bs[52] = (state_bs[52] & 0xf7ff) | ((pt[ 94 ] & 0x10) << 7);
- state_bs[53] = (state_bs[53] & 0xf7ff) | ((pt[ 94 ] & 0x20) << 6);
- state_bs[54] = (state_bs[54] & 0xf7ff) | ((pt[ 94 ] & 0x40) << 5);
- state_bs[55] = (state_bs[55] & 0xf7ff) | ((pt[ 94 ] & 0x80) << 4);
- state_bs[56] = (state_bs[56] & 0xf7ff) | ((pt[ 95 ] & 0x01) << 11);
- state_bs[57] = (state_bs[57] & 0xf7ff) | ((pt[ 95 ] & 0x02) << 10);
- state_bs[58] = (state_bs[58] & 0xf7ff) | ((pt[ 95 ] & 0x04) << 9);
- state_bs[59] = (state_bs[59] & 0xf7ff) | ((pt[ 95 ] & 0x08) << 8);
- state_bs[60] = (state_bs[60] & 0xf7ff) | ((pt[ 95 ] & 0x10) << 7);
- state_bs[61] = (state_bs[61] & 0xf7ff) | ((pt[ 95 ] & 0x20) << 6);
- state_bs[62] = (state_bs[62] & 0xf7ff) | ((pt[ 95 ] & 0x40) << 5);
- state_bs[63] = (state_bs[63] & 0xf7ff) | ((pt[ 95 ] & 0x80) << 4);
- state_bs[0] = (state_bs[0] & 0xefff) | ((pt[ 96 ] & 0x01) << 12);
- state_bs[1] = (state_bs[1] & 0xefff) | ((pt[ 96 ] & 0x02) << 11);
- state_bs[2] = (state_bs[2] & 0xefff) | ((pt[ 96 ] & 0x04) << 10);
- state_bs[3] = (state_bs[3] & 0xefff) | ((pt[ 96 ] & 0x08) << 9);
- state_bs[4] = (state_bs[4] & 0xefff) | ((pt[ 96 ] & 0x10) << 8);
- state_bs[5] = (state_bs[5] & 0xefff) | ((pt[ 96 ] & 0x20) << 7);
- state_bs[6] = (state_bs[6] & 0xefff) | ((pt[ 96 ] & 0x40) << 6);
- state_bs[7] = (state_bs[7] & 0xefff) | ((pt[ 96 ] & 0x80) << 5);
- state_bs[8] = (state_bs[8] & 0xefff) | ((pt[ 97 ] & 0x01) << 12);
- state_bs[9] = (state_bs[9] & 0xefff) | ((pt[ 97 ] & 0x02) << 11);
- state_bs[10] = (state_bs[10] & 0xefff) | ((pt[ 97 ] & 0x04) << 10);
- state_bs[11] = (state_bs[11] & 0xefff) | ((pt[ 97 ] & 0x08) << 9);
- state_bs[12] = (state_bs[12] & 0xefff) | ((pt[ 97 ] & 0x10) << 8);
- state_bs[13] = (state_bs[13] & 0xefff) | ((pt[ 97 ] & 0x20) << 7);
- state_bs[14] = (state_bs[14] & 0xefff) | ((pt[ 97 ] & 0x40) << 6);
- state_bs[15] = (state_bs[15] & 0xefff) | ((pt[ 97 ] & 0x80) << 5);
- state_bs[16] = (state_bs[16] & 0xefff) | ((pt[ 98 ] & 0x01) << 12);
- state_bs[17] = (state_bs[17] & 0xefff) | ((pt[ 98 ] & 0x02) << 11);
- state_bs[18] = (state_bs[18] & 0xefff) | ((pt[ 98 ] & 0x04) << 10);
- state_bs[19] = (state_bs[19] & 0xefff) | ((pt[ 98 ] & 0x08) << 9);
- state_bs[20] = (state_bs[20] & 0xefff) | ((pt[ 98 ] & 0x10) << 8);
- state_bs[21] = (state_bs[21] & 0xefff) | ((pt[ 98 ] & 0x20) << 7);
- state_bs[22] = (state_bs[22] & 0xefff) | ((pt[ 98 ] & 0x40) << 6);
- state_bs[23] = (state_bs[23] & 0xefff) | ((pt[ 98 ] & 0x80) << 5);
- state_bs[24] = (state_bs[24] & 0xefff) | ((pt[ 99 ] & 0x01) << 12);
- state_bs[25] = (state_bs[25] & 0xefff) | ((pt[ 99 ] & 0x02) << 11);
- state_bs[26] = (state_bs[26] & 0xefff) | ((pt[ 99 ] & 0x04) << 10);
- state_bs[27] = (state_bs[27] & 0xefff) | ((pt[ 99 ] & 0x08) << 9);
- state_bs[28] = (state_bs[28] & 0xefff) | ((pt[ 99 ] & 0x10) << 8);
- state_bs[29] = (state_bs[29] & 0xefff) | ((pt[ 99 ] & 0x20) << 7);
- state_bs[30] = (state_bs[30] & 0xefff) | ((pt[ 99 ] & 0x40) << 6);
- state_bs[31] = (state_bs[31] & 0xefff) | ((pt[ 99 ] & 0x80) << 5);
- state_bs[32] = (state_bs[32] & 0xefff) | ((pt[ 100 ] & 0x01) << 12);
- state_bs[33] = (state_bs[33] & 0xefff) | ((pt[ 100 ] & 0x02) << 11);
- state_bs[34] = (state_bs[34] & 0xefff) | ((pt[ 100 ] & 0x04) << 10);
- state_bs[35] = (state_bs[35] & 0xefff) | ((pt[ 100 ] & 0x08) << 9);
- state_bs[36] = (state_bs[36] & 0xefff) | ((pt[ 100 ] & 0x10) << 8);
- state_bs[37] = (state_bs[37] & 0xefff) | ((pt[ 100 ] & 0x20) << 7);
- state_bs[38] = (state_bs[38] & 0xefff) | ((pt[ 100 ] & 0x40) << 6);
- state_bs[39] = (state_bs[39] & 0xefff) | ((pt[ 100 ] & 0x80) << 5);
- state_bs[40] = (state_bs[40] & 0xefff) | ((pt[ 101 ] & 0x01) << 12);
- state_bs[41] = (state_bs[41] & 0xefff) | ((pt[ 101 ] & 0x02) << 11);
- state_bs[42] = (state_bs[42] & 0xefff) | ((pt[ 101 ] & 0x04) << 10);
- state_bs[43] = (state_bs[43] & 0xefff) | ((pt[ 101 ] & 0x08) << 9);
- state_bs[44] = (state_bs[44] & 0xefff) | ((pt[ 101 ] & 0x10) << 8);
- state_bs[45] = (state_bs[45] & 0xefff) | ((pt[ 101 ] & 0x20) << 7);
- state_bs[46] = (state_bs[46] & 0xefff) | ((pt[ 101 ] & 0x40) << 6);
- state_bs[47] = (state_bs[47] & 0xefff) | ((pt[ 101 ] & 0x80) << 5);
- state_bs[48] = (state_bs[48] & 0xefff) | ((pt[ 102 ] & 0x01) << 12);
- state_bs[49] = (state_bs[49] & 0xefff) | ((pt[ 102 ] & 0x02) << 11);
- state_bs[50] = (state_bs[50] & 0xefff) | ((pt[ 102 ] & 0x04) << 10);
- state_bs[51] = (state_bs[51] & 0xefff) | ((pt[ 102 ] & 0x08) << 9);
- state_bs[52] = (state_bs[52] & 0xefff) | ((pt[ 102 ] & 0x10) << 8);
- state_bs[53] = (state_bs[53] & 0xefff) | ((pt[ 102 ] & 0x20) << 7);
- state_bs[54] = (state_bs[54] & 0xefff) | ((pt[ 102 ] & 0x40) << 6);
- state_bs[55] = (state_bs[55] & 0xefff) | ((pt[ 102 ] & 0x80) << 5);
- state_bs[56] = (state_bs[56] & 0xefff) | ((pt[ 103 ] & 0x01) << 12);
- state_bs[57] = (state_bs[57] & 0xefff) | ((pt[ 103 ] & 0x02) << 11);
- state_bs[58] = (state_bs[58] & 0xefff) | ((pt[ 103 ] & 0x04) << 10);
- state_bs[59] = (state_bs[59] & 0xefff) | ((pt[ 103 ] & 0x08) << 9);
- state_bs[60] = (state_bs[60] & 0xefff) | ((pt[ 103 ] & 0x10) << 8);
- state_bs[61] = (state_bs[61] & 0xefff) | ((pt[ 103 ] & 0x20) << 7);
- state_bs[62] = (state_bs[62] & 0xefff) | ((pt[ 103 ] & 0x40) << 6);
- state_bs[63] = (state_bs[63] & 0xefff) | ((pt[ 103 ] & 0x80) << 5);
- state_bs[0] = (state_bs[0] & 0xdfff) | ((pt[ 104 ] & 0x01) << 13);
- state_bs[1] = (state_bs[1] & 0xdfff) | ((pt[ 104 ] & 0x02) << 12);
- state_bs[2] = (state_bs[2] & 0xdfff) | ((pt[ 104 ] & 0x04) << 11);
- state_bs[3] = (state_bs[3] & 0xdfff) | ((pt[ 104 ] & 0x08) << 10);
- state_bs[4] = (state_bs[4] & 0xdfff) | ((pt[ 104 ] & 0x10) << 9);
- state_bs[5] = (state_bs[5] & 0xdfff) | ((pt[ 104 ] & 0x20) << 8);
- state_bs[6] = (state_bs[6] & 0xdfff) | ((pt[ 104 ] & 0x40) << 7);
- state_bs[7] = (state_bs[7] & 0xdfff) | ((pt[ 104 ] & 0x80) << 6);
- state_bs[8] = (state_bs[8] & 0xdfff) | ((pt[ 105 ] & 0x01) << 13);
- state_bs[9] = (state_bs[9] & 0xdfff) | ((pt[ 105 ] & 0x02) << 12);
- state_bs[10] = (state_bs[10] & 0xdfff) | ((pt[ 105 ] & 0x04) << 11);
- state_bs[11] = (state_bs[11] & 0xdfff) | ((pt[ 105 ] & 0x08) << 10);
- state_bs[12] = (state_bs[12] & 0xdfff) | ((pt[ 105 ] & 0x10) << 9);
- state_bs[13] = (state_bs[13] & 0xdfff) | ((pt[ 105 ] & 0x20) << 8);
- state_bs[14] = (state_bs[14] & 0xdfff) | ((pt[ 105 ] & 0x40) << 7);
- state_bs[15] = (state_bs[15] & 0xdfff) | ((pt[ 105 ] & 0x80) << 6);
- state_bs[16] = (state_bs[16] & 0xdfff) | ((pt[ 106 ] & 0x01) << 13);
- state_bs[17] = (state_bs[17] & 0xdfff) | ((pt[ 106 ] & 0x02) << 12);
- state_bs[18] = (state_bs[18] & 0xdfff) | ((pt[ 106 ] & 0x04) << 11);
- state_bs[19] = (state_bs[19] & 0xdfff) | ((pt[ 106 ] & 0x08) << 10);
- state_bs[20] = (state_bs[20] & 0xdfff) | ((pt[ 106 ] & 0x10) << 9);
- state_bs[21] = (state_bs[21] & 0xdfff) | ((pt[ 106 ] & 0x20) << 8);
- state_bs[22] = (state_bs[22] & 0xdfff) | ((pt[ 106 ] & 0x40) << 7);
- state_bs[23] = (state_bs[23] & 0xdfff) | ((pt[ 106 ] & 0x80) << 6);
- state_bs[24] = (state_bs[24] & 0xdfff) | ((pt[ 107 ] & 0x01) << 13);
- state_bs[25] = (state_bs[25] & 0xdfff) | ((pt[ 107 ] & 0x02) << 12);
- state_bs[26] = (state_bs[26] & 0xdfff) | ((pt[ 107 ] & 0x04) << 11);
- state_bs[27] = (state_bs[27] & 0xdfff) | ((pt[ 107 ] & 0x08) << 10);
- state_bs[28] = (state_bs[28] & 0xdfff) | ((pt[ 107 ] & 0x10) << 9);
- state_bs[29] = (state_bs[29] & 0xdfff) | ((pt[ 107 ] & 0x20) << 8);
- state_bs[30] = (state_bs[30] & 0xdfff) | ((pt[ 107 ] & 0x40) << 7);
- state_bs[31] = (state_bs[31] & 0xdfff) | ((pt[ 107 ] & 0x80) << 6);
- state_bs[32] = (state_bs[32] & 0xdfff) | ((pt[ 108 ] & 0x01) << 13);
- state_bs[33] = (state_bs[33] & 0xdfff) | ((pt[ 108 ] & 0x02) << 12);
- state_bs[34] = (state_bs[34] & 0xdfff) | ((pt[ 108 ] & 0x04) << 11);
- state_bs[35] = (state_bs[35] & 0xdfff) | ((pt[ 108 ] & 0x08) << 10);
- state_bs[36] = (state_bs[36] & 0xdfff) | ((pt[ 108 ] & 0x10) << 9);
- state_bs[37] = (state_bs[37] & 0xdfff) | ((pt[ 108 ] & 0x20) << 8);
- state_bs[38] = (state_bs[38] & 0xdfff) | ((pt[ 108 ] & 0x40) << 7);
- state_bs[39] = (state_bs[39] & 0xdfff) | ((pt[ 108 ] & 0x80) << 6);
- state_bs[40] = (state_bs[40] & 0xdfff) | ((pt[ 109 ] & 0x01) << 13);
- state_bs[41] = (state_bs[41] & 0xdfff) | ((pt[ 109 ] & 0x02) << 12);
- state_bs[42] = (state_bs[42] & 0xdfff) | ((pt[ 109 ] & 0x04) << 11);
- state_bs[43] = (state_bs[43] & 0xdfff) | ((pt[ 109 ] & 0x08) << 10);
- state_bs[44] = (state_bs[44] & 0xdfff) | ((pt[ 109 ] & 0x10) << 9);
- state_bs[45] = (state_bs[45] & 0xdfff) | ((pt[ 109 ] & 0x20) << 8);
- state_bs[46] = (state_bs[46] & 0xdfff) | ((pt[ 109 ] & 0x40) << 7);
- state_bs[47] = (state_bs[47] & 0xdfff) | ((pt[ 109 ] & 0x80) << 6);
- state_bs[48] = (state_bs[48] & 0xdfff) | ((pt[ 110 ] & 0x01) << 13);
- state_bs[49] = (state_bs[49] & 0xdfff) | ((pt[ 110 ] & 0x02) << 12);
- state_bs[50] = (state_bs[50] & 0xdfff) | ((pt[ 110 ] & 0x04) << 11);
- state_bs[51] = (state_bs[51] & 0xdfff) | ((pt[ 110 ] & 0x08) << 10);
- state_bs[52] = (state_bs[52] & 0xdfff) | ((pt[ 110 ] & 0x10) << 9);
- state_bs[53] = (state_bs[53] & 0xdfff) | ((pt[ 110 ] & 0x20) << 8);
- state_bs[54] = (state_bs[54] & 0xdfff) | ((pt[ 110 ] & 0x40) << 7);
- state_bs[55] = (state_bs[55] & 0xdfff) | ((pt[ 110 ] & 0x80) << 6);
- state_bs[56] = (state_bs[56] & 0xdfff) | ((pt[ 111 ] & 0x01) << 13);
- state_bs[57] = (state_bs[57] & 0xdfff) | ((pt[ 111 ] & 0x02) << 12);
- state_bs[58] = (state_bs[58] & 0xdfff) | ((pt[ 111 ] & 0x04) << 11);
- state_bs[59] = (state_bs[59] & 0xdfff) | ((pt[ 111 ] & 0x08) << 10);
- state_bs[60] = (state_bs[60] & 0xdfff) | ((pt[ 111 ] & 0x10) << 9);
- state_bs[61] = (state_bs[61] & 0xdfff) | ((pt[ 111 ] & 0x20) << 8);
- state_bs[62] = (state_bs[62] & 0xdfff) | ((pt[ 111 ] & 0x40) << 7);
- state_bs[63] = (state_bs[63] & 0xdfff) | ((pt[ 111 ] & 0x80) << 6);
- state_bs[0] = (state_bs[0] & 0xbfff) | ((pt[ 112 ] & 0x01) << 14);
- state_bs[1] = (state_bs[1] & 0xbfff) | ((pt[ 112 ] & 0x02) << 13);
- state_bs[2] = (state_bs[2] & 0xbfff) | ((pt[ 112 ] & 0x04) << 12);
- state_bs[3] = (state_bs[3] & 0xbfff) | ((pt[ 112 ] & 0x08) << 11);
- state_bs[4] = (state_bs[4] & 0xbfff) | ((pt[ 112 ] & 0x10) << 10);
- state_bs[5] = (state_bs[5] & 0xbfff) | ((pt[ 112 ] & 0x20) << 9);
- state_bs[6] = (state_bs[6] & 0xbfff) | ((pt[ 112 ] & 0x40) << 8);
- state_bs[7] = (state_bs[7] & 0xbfff) | ((pt[ 112 ] & 0x80) << 7);
- state_bs[8] = (state_bs[8] & 0xbfff) | ((pt[ 113 ] & 0x01) << 14);
- state_bs[9] = (state_bs[9] & 0xbfff) | ((pt[ 113 ] & 0x02) << 13);
- state_bs[10] = (state_bs[10] & 0xbfff) | ((pt[ 113 ] & 0x04) << 12);
- state_bs[11] = (state_bs[11] & 0xbfff) | ((pt[ 113 ] & 0x08) << 11);
- state_bs[12] = (state_bs[12] & 0xbfff) | ((pt[ 113 ] & 0x10) << 10);
- state_bs[13] = (state_bs[13] & 0xbfff) | ((pt[ 113 ] & 0x20) << 9);
- state_bs[14] = (state_bs[14] & 0xbfff) | ((pt[ 113 ] & 0x40) << 8);
- state_bs[15] = (state_bs[15] & 0xbfff) | ((pt[ 113 ] & 0x80) << 7);
- state_bs[16] = (state_bs[16] & 0xbfff) | ((pt[ 114 ] & 0x01) << 14);
- state_bs[17] = (state_bs[17] & 0xbfff) | ((pt[ 114 ] & 0x02) << 13);
- state_bs[18] = (state_bs[18] & 0xbfff) | ((pt[ 114 ] & 0x04) << 12);
- state_bs[19] = (state_bs[19] & 0xbfff) | ((pt[ 114 ] & 0x08) << 11);
- state_bs[20] = (state_bs[20] & 0xbfff) | ((pt[ 114 ] & 0x10) << 10);
- state_bs[21] = (state_bs[21] & 0xbfff) | ((pt[ 114 ] & 0x20) << 9);
- state_bs[22] = (state_bs[22] & 0xbfff) | ((pt[ 114 ] & 0x40) << 8);
- state_bs[23] = (state_bs[23] & 0xbfff) | ((pt[ 114 ] & 0x80) << 7);
- state_bs[24] = (state_bs[24] & 0xbfff) | ((pt[ 115 ] & 0x01) << 14);
- state_bs[25] = (state_bs[25] & 0xbfff) | ((pt[ 115 ] & 0x02) << 13);
- state_bs[26] = (state_bs[26] & 0xbfff) | ((pt[ 115 ] & 0x04) << 12);
- state_bs[27] = (state_bs[27] & 0xbfff) | ((pt[ 115 ] & 0x08) << 11);
- state_bs[28] = (state_bs[28] & 0xbfff) | ((pt[ 115 ] & 0x10) << 10);
- state_bs[29] = (state_bs[29] & 0xbfff) | ((pt[ 115 ] & 0x20) << 9);
- state_bs[30] = (state_bs[30] & 0xbfff) | ((pt[ 115 ] & 0x40) << 8);
- state_bs[31] = (state_bs[31] & 0xbfff) | ((pt[ 115 ] & 0x80) << 7);
- state_bs[32] = (state_bs[32] & 0xbfff) | ((pt[ 116 ] & 0x01) << 14);
- state_bs[33] = (state_bs[33] & 0xbfff) | ((pt[ 116 ] & 0x02) << 13);
- state_bs[34] = (state_bs[34] & 0xbfff) | ((pt[ 116 ] & 0x04) << 12);
- state_bs[35] = (state_bs[35] & 0xbfff) | ((pt[ 116 ] & 0x08) << 11);
- state_bs[36] = (state_bs[36] & 0xbfff) | ((pt[ 116 ] & 0x10) << 10);
- state_bs[37] = (state_bs[37] & 0xbfff) | ((pt[ 116 ] & 0x20) << 9);
- state_bs[38] = (state_bs[38] & 0xbfff) | ((pt[ 116 ] & 0x40) << 8);
- state_bs[39] = (state_bs[39] & 0xbfff) | ((pt[ 116 ] & 0x80) << 7);
- state_bs[40] = (state_bs[40] & 0xbfff) | ((pt[ 117 ] & 0x01) << 14);
- state_bs[41] = (state_bs[41] & 0xbfff) | ((pt[ 117 ] & 0x02) << 13);
- state_bs[42] = (state_bs[42] & 0xbfff) | ((pt[ 117 ] & 0x04) << 12);
- state_bs[43] = (state_bs[43] & 0xbfff) | ((pt[ 117 ] & 0x08) << 11);
- state_bs[44] = (state_bs[44] & 0xbfff) | ((pt[ 117 ] & 0x10) << 10);
- state_bs[45] = (state_bs[45] & 0xbfff) | ((pt[ 117 ] & 0x20) << 9);
- state_bs[46] = (state_bs[46] & 0xbfff) | ((pt[ 117 ] & 0x40) << 8);
- state_bs[47] = (state_bs[47] & 0xbfff) | ((pt[ 117 ] & 0x80) << 7);
- state_bs[48] = (state_bs[48] & 0xbfff) | ((pt[ 118 ] & 0x01) << 14);
- state_bs[49] = (state_bs[49] & 0xbfff) | ((pt[ 118 ] & 0x02) << 13);
- state_bs[50] = (state_bs[50] & 0xbfff) | ((pt[ 118 ] & 0x04) << 12);
- state_bs[51] = (state_bs[51] & 0xbfff) | ((pt[ 118 ] & 0x08) << 11);
- state_bs[52] = (state_bs[52] & 0xbfff) | ((pt[ 118 ] & 0x10) << 10);
- state_bs[53] = (state_bs[53] & 0xbfff) | ((pt[ 118 ] & 0x20) << 9);
- state_bs[54] = (state_bs[54] & 0xbfff) | ((pt[ 118 ] & 0x40) << 8);
- state_bs[55] = (state_bs[55] & 0xbfff) | ((pt[ 118 ] & 0x80) << 7);
- state_bs[56] = (state_bs[56] & 0xbfff) | ((pt[ 119 ] & 0x01) << 14);
- state_bs[57] = (state_bs[57] & 0xbfff) | ((pt[ 119 ] & 0x02) << 13);
- state_bs[58] = (state_bs[58] & 0xbfff) | ((pt[ 119 ] & 0x04) << 12);
- state_bs[59] = (state_bs[59] & 0xbfff) | ((pt[ 119 ] & 0x08) << 11);
- state_bs[60] = (state_bs[60] & 0xbfff) | ((pt[ 119 ] & 0x10) << 10);
- state_bs[61] = (state_bs[61] & 0xbfff) | ((pt[ 119 ] & 0x20) << 9);
- state_bs[62] = (state_bs[62] & 0xbfff) | ((pt[ 119 ] & 0x40) << 8);
- state_bs[63] = (state_bs[63] & 0xbfff) | ((pt[ 119 ] & 0x80) << 7);
- state_bs[0] = (state_bs[0] & 0x7fff) | ((pt[ 120 ] & 0x01) << 15);
- state_bs[1] = (state_bs[1] & 0x7fff) | ((pt[ 120 ] & 0x02) << 14);
- state_bs[2] = (state_bs[2] & 0x7fff) | ((pt[ 120 ] & 0x04) << 13);
- state_bs[3] = (state_bs[3] & 0x7fff) | ((pt[ 120 ] & 0x08) << 12);
- state_bs[4] = (state_bs[4] & 0x7fff) | ((pt[ 120 ] & 0x10) << 11);
- state_bs[5] = (state_bs[5] & 0x7fff) | ((pt[ 120 ] & 0x20) << 10);
- state_bs[6] = (state_bs[6] & 0x7fff) | ((pt[ 120 ] & 0x40) << 9);
- state_bs[7] = (state_bs[7] & 0x7fff) | ((pt[ 120 ] & 0x80) << 8);
- state_bs[8] = (state_bs[8] & 0x7fff) | ((pt[ 121 ] & 0x01) << 15);
- state_bs[9] = (state_bs[9] & 0x7fff) | ((pt[ 121 ] & 0x02) << 14);
- state_bs[10] = (state_bs[10] & 0x7fff) | ((pt[ 121 ] & 0x04) << 13);
- state_bs[11] = (state_bs[11] & 0x7fff) | ((pt[ 121 ] & 0x08) << 12);
- state_bs[12] = (state_bs[12] & 0x7fff) | ((pt[ 121 ] & 0x10) << 11);
- state_bs[13] = (state_bs[13] & 0x7fff) | ((pt[ 121 ] & 0x20) << 10);
- state_bs[14] = (state_bs[14] & 0x7fff) | ((pt[ 121 ] & 0x40) << 9);
- state_bs[15] = (state_bs[15] & 0x7fff) | ((pt[ 121 ] & 0x80) << 8);
- state_bs[16] = (state_bs[16] & 0x7fff) | ((pt[ 122 ] & 0x01) << 15);
- state_bs[17] = (state_bs[17] & 0x7fff) | ((pt[ 122 ] & 0x02) << 14);
- state_bs[18] = (state_bs[18] & 0x7fff) | ((pt[ 122 ] & 0x04) << 13);
- state_bs[19] = (state_bs[19] & 0x7fff) | ((pt[ 122 ] & 0x08) << 12);
- state_bs[20] = (state_bs[20] & 0x7fff) | ((pt[ 122 ] & 0x10) << 11);
- state_bs[21] = (state_bs[21] & 0x7fff) | ((pt[ 122 ] & 0x20) << 10);
- state_bs[22] = (state_bs[22] & 0x7fff) | ((pt[ 122 ] & 0x40) << 9);
- state_bs[23] = (state_bs[23] & 0x7fff) | ((pt[ 122 ] & 0x80) << 8);
- state_bs[24] = (state_bs[24] & 0x7fff) | ((pt[ 123 ] & 0x01) << 15);
- state_bs[25] = (state_bs[25] & 0x7fff) | ((pt[ 123 ] & 0x02) << 14);
- state_bs[26] = (state_bs[26] & 0x7fff) | ((pt[ 123 ] & 0x04) << 13);
- state_bs[27] = (state_bs[27] & 0x7fff) | ((pt[ 123 ] & 0x08) << 12);
- state_bs[28] = (state_bs[28] & 0x7fff) | ((pt[ 123 ] & 0x10) << 11);
- state_bs[29] = (state_bs[29] & 0x7fff) | ((pt[ 123 ] & 0x20) << 10);
- state_bs[30] = (state_bs[30] & 0x7fff) | ((pt[ 123 ] & 0x40) << 9);
- state_bs[31] = (state_bs[31] & 0x7fff) | ((pt[ 123 ] & 0x80) << 8);
- state_bs[32] = (state_bs[32] & 0x7fff) | ((pt[ 124 ] & 0x01) << 15);
- state_bs[33] = (state_bs[33] & 0x7fff) | ((pt[ 124 ] & 0x02) << 14);
- state_bs[34] = (state_bs[34] & 0x7fff) | ((pt[ 124 ] & 0x04) << 13);
- state_bs[35] = (state_bs[35] & 0x7fff) | ((pt[ 124 ] & 0x08) << 12);
- state_bs[36] = (state_bs[36] & 0x7fff) | ((pt[ 124 ] & 0x10) << 11);
- state_bs[37] = (state_bs[37] & 0x7fff) | ((pt[ 124 ] & 0x20) << 10);
- state_bs[38] = (state_bs[38] & 0x7fff) | ((pt[ 124 ] & 0x40) << 9);
- state_bs[39] = (state_bs[39] & 0x7fff) | ((pt[ 124 ] & 0x80) << 8);
- state_bs[40] = (state_bs[40] & 0x7fff) | ((pt[ 125 ] & 0x01) << 15);
- state_bs[41] = (state_bs[41] & 0x7fff) | ((pt[ 125 ] & 0x02) << 14);
- state_bs[42] = (state_bs[42] & 0x7fff) | ((pt[ 125 ] & 0x04) << 13);
- state_bs[43] = (state_bs[43] & 0x7fff) | ((pt[ 125 ] & 0x08) << 12);
- state_bs[44] = (state_bs[44] & 0x7fff) | ((pt[ 125 ] & 0x10) << 11);
- state_bs[45] = (state_bs[45] & 0x7fff) | ((pt[ 125 ] & 0x20) << 10);
- state_bs[46] = (state_bs[46] & 0x7fff) | ((pt[ 125 ] & 0x40) << 9);
- state_bs[47] = (state_bs[47] & 0x7fff) | ((pt[ 125 ] & 0x80) << 8);
- state_bs[48] = (state_bs[48] & 0x7fff) | ((pt[ 126 ] & 0x01) << 15);
- state_bs[49] = (state_bs[49] & 0x7fff) | ((pt[ 126 ] & 0x02) << 14);
- state_bs[50] = (state_bs[50] & 0x7fff) | ((pt[ 126 ] & 0x04) << 13);
- state_bs[51] = (state_bs[51] & 0x7fff) | ((pt[ 126 ] & 0x08) << 12);
- state_bs[52] = (state_bs[52] & 0x7fff) | ((pt[ 126 ] & 0x10) << 11);
- state_bs[53] = (state_bs[53] & 0x7fff) | ((pt[ 126 ] & 0x20) << 10);
- state_bs[54] = (state_bs[54] & 0x7fff) | ((pt[ 126 ] & 0x40) << 9);
- state_bs[55] = (state_bs[55] & 0x7fff) | ((pt[ 126 ] & 0x80) << 8);
- state_bs[56] = (state_bs[56] & 0x7fff) | ((pt[ 127 ] & 0x01) << 15);
- state_bs[57] = (state_bs[57] & 0x7fff) | ((pt[ 127 ] & 0x02) << 14);
- state_bs[58] = (state_bs[58] & 0x7fff) | ((pt[ 127 ] & 0x04) << 13);
- state_bs[59] = (state_bs[59] & 0x7fff) | ((pt[ 127 ] & 0x08) << 12);
- state_bs[60] = (state_bs[60] & 0x7fff) | ((pt[ 127 ] & 0x10) << 11);
- state_bs[61] = (state_bs[61] & 0x7fff) | ((pt[ 127 ] & 0x20) << 10);
- state_bs[62] = (state_bs[62] & 0x7fff) | ((pt[ 127 ] & 0x40) << 9);
- state_bs[63] = (state_bs[63] & 0x7fff) | ((pt[ 127 ] & 0x80) << 8);
- }
- /**
- * Bring bitsliced buffer into normal form
- * @param state_bs Input: Bitsliced state
- * @param pt Output: state_bs in normal form
- */
- static void unslice(const bs_reg_t state_bs[CRYPTO_IN_SIZE_BIT], uint8_t pt[CRYPTO_IN_SIZE * BITSLICE_WIDTH])
- {
- /// INSERT YOUR CODE HERE ///
- pt[ 0 ] = (pt [0] & 0xfe) | ((state_bs[0] >> 0) & 0x01);
- pt[ 8 ] = (pt [8] & 0xfe) | ((state_bs[0] >> 1) & 0x01);
- pt[ 16 ] = (pt [16] & 0xfe) | ((state_bs[0] >> 2) & 0x01);
- pt[ 24 ] = (pt [24] & 0xfe) | ((state_bs[0] >> 3) & 0x01);
- pt[ 32 ] = (pt [32] & 0xfe) | ((state_bs[0] >> 4) & 0x01);
- pt[ 40 ] = (pt [40] & 0xfe) | ((state_bs[0] >> 5) & 0x01);
- pt[ 48 ] = (pt [48] & 0xfe) | ((state_bs[0] >> 6) & 0x01);
- pt[ 56 ] = (pt [56] & 0xfe) | ((state_bs[0] >> 7) & 0x01);
- pt[ 64 ] = (pt [64] & 0xfe) | ((state_bs[0] >> 8) & 0x01);
- pt[ 72 ] = (pt [72] & 0xfe) | ((state_bs[0] >> 9) & 0x01);
- pt[ 80 ] = (pt [80] & 0xfe) | ((state_bs[0] >> 10) & 0x01);
- pt[ 88 ] = (pt [88] & 0xfe) | ((state_bs[0] >> 11) & 0x01);
- pt[ 96 ] = (pt [96] & 0xfe) | ((state_bs[0] >> 12) & 0x01);
- pt[ 104 ] = (pt [104] & 0xfe) | ((state_bs[0] >> 13) & 0x01);
- pt[ 112 ] = (pt [112] & 0xfe) | ((state_bs[0] >> 14) & 0x01);
- pt[ 120 ] = (pt [120] & 0xfe) | ((state_bs[0] >> 15) & 0x01);
- pt[ 0 ] = (pt [0] & 0xfd) | ((state_bs[1] & 0x01) << 1);
- pt[ 8 ] = (pt [8] & 0xfd) | ((state_bs[1] >> 0) & 0x02);
- pt[ 16 ] = (pt [16] & 0xfd) | ((state_bs[1] >> 1) & 0x02);
- pt[ 24 ] = (pt [24] & 0xfd) | ((state_bs[1] >> 2) & 0x02);
- pt[ 32 ] = (pt [32] & 0xfd) | ((state_bs[1] >> 3) & 0x02);
- pt[ 40 ] = (pt [40] & 0xfd) | ((state_bs[1] >> 4) & 0x02);
- pt[ 48 ] = (pt [48] & 0xfd) | ((state_bs[1] >> 5) & 0x02);
- pt[ 56 ] = (pt [56] & 0xfd) | ((state_bs[1] >> 6) & 0x02);
- pt[ 64 ] = (pt [64] & 0xfd) | ((state_bs[1] >> 7) & 0x02);
- pt[ 72 ] = (pt [72] & 0xfd) | ((state_bs[1] >> 8) & 0x02);
- pt[ 80 ] = (pt [80] & 0xfd) | ((state_bs[1] >> 9) & 0x02);
- pt[ 88 ] = (pt [88] & 0xfd) | ((state_bs[1] >> 10) & 0x02);
- pt[ 96 ] = (pt [96] & 0xfd) | ((state_bs[1] >> 11) & 0x02);
- pt[ 104 ] = (pt [104] & 0xfd) | ((state_bs[1] >> 12) & 0x02);
- pt[ 112 ] = (pt [112] & 0xfd) | ((state_bs[1] >> 13) & 0x02);
- pt[ 120 ] = (pt [120] & 0xfd) | ((state_bs[1] >> 14) & 0x02);
- pt[ 0 ] = (pt [0] & 0xfb) | ((state_bs[2] & 0x01) << 2);
- pt[ 8 ] = (pt [8] & 0xfb) | ((state_bs[2] & 0x02) << 1);
- pt[ 16 ] = (pt [16] & 0xfb) | ((state_bs[2] >> 0) & 0x04);
- pt[ 24 ] = (pt [24] & 0xfb) | ((state_bs[2] >> 1) & 0x04);
- pt[ 32 ] = (pt [32] & 0xfb) | ((state_bs[2] >> 2) & 0x04);
- pt[ 40 ] = (pt [40] & 0xfb) | ((state_bs[2] >> 3) & 0x04);
- pt[ 48 ] = (pt [48] & 0xfb) | ((state_bs[2] >> 4) & 0x04);
- pt[ 56 ] = (pt [56] & 0xfb) | ((state_bs[2] >> 5) & 0x04);
- pt[ 64 ] = (pt [64] & 0xfb) | ((state_bs[2] >> 6) & 0x04);
- pt[ 72 ] = (pt [72] & 0xfb) | ((state_bs[2] >> 7) & 0x04);
- pt[ 80 ] = (pt [80] & 0xfb) | ((state_bs[2] >> 8) & 0x04);
- pt[ 88 ] = (pt [88] & 0xfb) | ((state_bs[2] >> 9) & 0x04);
- pt[ 96 ] = (pt [96] & 0xfb) | ((state_bs[2] >> 10) & 0x04);
- pt[ 104 ] = (pt [104] & 0xfb) | ((state_bs[2] >> 11) & 0x04);
- pt[ 112 ] = (pt [112] & 0xfb) | ((state_bs[2] >> 12) & 0x04);
- pt[ 120 ] = (pt [120] & 0xfb) | ((state_bs[2] >> 13) & 0x04);
- pt[ 0 ] = (pt [0] & 0xf7) | ((state_bs[3] & 0x01) << 3);
- pt[ 8 ] = (pt [8] & 0xf7) | ((state_bs[3] & 0x02) << 2);
- pt[ 16 ] = (pt [16] & 0xf7) | ((state_bs[3] & 0x04) << 1);
- pt[ 24 ] = (pt [24] & 0xf7) | ((state_bs[3] >> 0) & 0x08);
- pt[ 32 ] = (pt [32] & 0xf7) | ((state_bs[3] >> 1) & 0x08);
- pt[ 40 ] = (pt [40] & 0xf7) | ((state_bs[3] >> 2) & 0x08);
- pt[ 48 ] = (pt [48] & 0xf7) | ((state_bs[3] >> 3) & 0x08);
- pt[ 56 ] = (pt [56] & 0xf7) | ((state_bs[3] >> 4) & 0x08);
- pt[ 64 ] = (pt [64] & 0xf7) | ((state_bs[3] >> 5) & 0x08);
- pt[ 72 ] = (pt [72] & 0xf7) | ((state_bs[3] >> 6) & 0x08);
- pt[ 80 ] = (pt [80] & 0xf7) | ((state_bs[3] >> 7) & 0x08);
- pt[ 88 ] = (pt [88] & 0xf7) | ((state_bs[3] >> 8) & 0x08);
- pt[ 96 ] = (pt [96] & 0xf7) | ((state_bs[3] >> 9) & 0x08);
- pt[ 104 ] = (pt [104] & 0xf7) | ((state_bs[3] >> 10) & 0x08);
- pt[ 112 ] = (pt [112] & 0xf7) | ((state_bs[3] >> 11) & 0x08);
- pt[ 120 ] = (pt [120] & 0xf7) | ((state_bs[3] >> 12) & 0x08);
- pt[ 0 ] = (pt [0] & 0xef) | ((state_bs[4] & 0x01) << 4);
- pt[ 8 ] = (pt [8] & 0xef) | ((state_bs[4] & 0x02) << 3);
- pt[ 16 ] = (pt [16] & 0xef) | ((state_bs[4] & 0x04) << 2);
- pt[ 24 ] = (pt [24] & 0xef) | ((state_bs[4] & 0x08) << 1);
- pt[ 32 ] = (pt [32] & 0xef) | ((state_bs[4] >> 0) & 0x10);
- pt[ 40 ] = (pt [40] & 0xef) | ((state_bs[4] >> 1) & 0x10);
- pt[ 48 ] = (pt [48] & 0xef) | ((state_bs[4] >> 2) & 0x10);
- pt[ 56 ] = (pt [56] & 0xef) | ((state_bs[4] >> 3) & 0x10);
- pt[ 64 ] = (pt [64] & 0xef) | ((state_bs[4] >> 4) & 0x10);
- pt[ 72 ] = (pt [72] & 0xef) | ((state_bs[4] >> 5) & 0x10);
- pt[ 80 ] = (pt [80] & 0xef) | ((state_bs[4] >> 6) & 0x10);
- pt[ 88 ] = (pt [88] & 0xef) | ((state_bs[4] >> 7) & 0x10);
- pt[ 96 ] = (pt [96] & 0xef) | ((state_bs[4] >> 8) & 0x10);
- pt[ 104 ] = (pt [104] & 0xef) | ((state_bs[4] >> 9) & 0x10);
- pt[ 112 ] = (pt [112] & 0xef) | ((state_bs[4] >> 10) & 0x10);
- pt[ 120 ] = (pt [120] & 0xef) | ((state_bs[4] >> 11) & 0x10);
- pt[ 0 ] = (pt [0] & 0xdf) | ((state_bs[5] & 0x01) << 5);
- pt[ 8 ] = (pt [8] & 0xdf) | ((state_bs[5] & 0x02) << 4);
- pt[ 16 ] = (pt [16] & 0xdf) | ((state_bs[5] & 0x04) << 3);
- pt[ 24 ] = (pt [24] & 0xdf) | ((state_bs[5] & 0x08) << 2);
- pt[ 32 ] = (pt [32] & 0xdf) | ((state_bs[5] & 0x10) << 1);
- pt[ 40 ] = (pt [40] & 0xdf) | ((state_bs[5] >> 0) & 0x20);
- pt[ 48 ] = (pt [48] & 0xdf) | ((state_bs[5] >> 1) & 0x20);
- pt[ 56 ] = (pt [56] & 0xdf) | ((state_bs[5] >> 2) & 0x20);
- pt[ 64 ] = (pt [64] & 0xdf) | ((state_bs[5] >> 3) & 0x20);
- pt[ 72 ] = (pt [72] & 0xdf) | ((state_bs[5] >> 4) & 0x20);
- pt[ 80 ] = (pt [80] & 0xdf) | ((state_bs[5] >> 5) & 0x20);
- pt[ 88 ] = (pt [88] & 0xdf) | ((state_bs[5] >> 6) & 0x20);
- pt[ 96 ] = (pt [96] & 0xdf) | ((state_bs[5] >> 7) & 0x20);
- pt[ 104 ] = (pt [104] & 0xdf) | ((state_bs[5] >> 8) & 0x20);
- pt[ 112 ] = (pt [112] & 0xdf) | ((state_bs[5] >> 9) & 0x20);
- pt[ 120 ] = (pt [120] & 0xdf) | ((state_bs[5] >> 10) & 0x20);
- pt[ 0 ] = (pt [0] & 0xbf) | ((state_bs[6] & 0x01) << 6);
- pt[ 8 ] = (pt [8] & 0xbf) | ((state_bs[6] & 0x02) << 5);
- pt[ 16 ] = (pt [16] & 0xbf) | ((state_bs[6] & 0x04) << 4);
- pt[ 24 ] = (pt [24] & 0xbf) | ((state_bs[6] & 0x08) << 3);
- pt[ 32 ] = (pt [32] & 0xbf) | ((state_bs[6] & 0x10) << 2);
- pt[ 40 ] = (pt [40] & 0xbf) | ((state_bs[6] & 0x20) << 1);
- pt[ 48 ] = (pt [48] & 0xbf) | ((state_bs[6] >> 0) & 0x40);
- pt[ 56 ] = (pt [56] & 0xbf) | ((state_bs[6] >> 1) & 0x40);
- pt[ 64 ] = (pt [64] & 0xbf) | ((state_bs[6] >> 2) & 0x40);
- pt[ 72 ] = (pt [72] & 0xbf) | ((state_bs[6] >> 3) & 0x40);
- pt[ 80 ] = (pt [80] & 0xbf) | ((state_bs[6] >> 4) & 0x40);
- pt[ 88 ] = (pt [88] & 0xbf) | ((state_bs[6] >> 5) & 0x40);
- pt[ 96 ] = (pt [96] & 0xbf) | ((state_bs[6] >> 6) & 0x40);
- pt[ 104 ] = (pt [104] & 0xbf) | ((state_bs[6] >> 7) & 0x40);
- pt[ 112 ] = (pt [112] & 0xbf) | ((state_bs[6] >> 8) & 0x40);
- pt[ 120 ] = (pt [120] & 0xbf) | ((state_bs[6] >> 9) & 0x40);
- pt[ 0 ] = (pt [0] & 0x7f) | ((state_bs[7] & 0x01) << 7);
- pt[ 8 ] = (pt [8] & 0x7f) | ((state_bs[7] & 0x02) << 6);
- pt[ 16 ] = (pt [16] & 0x7f) | ((state_bs[7] & 0x04) << 5);
- pt[ 24 ] = (pt [24] & 0x7f) | ((state_bs[7] & 0x08) << 4);
- pt[ 32 ] = (pt [32] & 0x7f) | ((state_bs[7] & 0x10) << 3);
- pt[ 40 ] = (pt [40] & 0x7f) | ((state_bs[7] & 0x20) << 2);
- pt[ 48 ] = (pt [48] & 0x7f) | ((state_bs[7] & 0x40) << 1);
- pt[ 56 ] = (pt [56] & 0x7f) | ((state_bs[7] >> 0) & 0x80);
- pt[ 64 ] = (pt [64] & 0x7f) | ((state_bs[7] >> 1) & 0x80);
- pt[ 72 ] = (pt [72] & 0x7f) | ((state_bs[7] >> 2) & 0x80);
- pt[ 80 ] = (pt [80] & 0x7f) | ((state_bs[7] >> 3) & 0x80);
- pt[ 88 ] = (pt [88] & 0x7f) | ((state_bs[7] >> 4) & 0x80);
- pt[ 96 ] = (pt [96] & 0x7f) | ((state_bs[7] >> 5) & 0x80);
- pt[ 104 ] = (pt [104] & 0x7f) | ((state_bs[7] >> 6) & 0x80);
- pt[ 112 ] = (pt [112] & 0x7f) | ((state_bs[7] >> 7) & 0x80);
- pt[ 120 ] = (pt [120] & 0x7f) | ((state_bs[7] >> 8) & 0x80);
- pt[ 1 ] = (pt [1] & 0xfe) | ((state_bs[8] >> 0) & 0x01);
- pt[ 9 ] = (pt [9] & 0xfe) | ((state_bs[8] >> 1) & 0x01);
- pt[ 17 ] = (pt [17] & 0xfe) | ((state_bs[8] >> 2) & 0x01);
- pt[ 25 ] = (pt [25] & 0xfe) | ((state_bs[8] >> 3) & 0x01);
- pt[ 33 ] = (pt [33] & 0xfe) | ((state_bs[8] >> 4) & 0x01);
- pt[ 41 ] = (pt [41] & 0xfe) | ((state_bs[8] >> 5) & 0x01);
- pt[ 49 ] = (pt [49] & 0xfe) | ((state_bs[8] >> 6) & 0x01);
- pt[ 57 ] = (pt [57] & 0xfe) | ((state_bs[8] >> 7) & 0x01);
- pt[ 65 ] = (pt [65] & 0xfe) | ((state_bs[8] >> 8) & 0x01);
- pt[ 73 ] = (pt [73] & 0xfe) | ((state_bs[8] >> 9) & 0x01);
- pt[ 81 ] = (pt [81] & 0xfe) | ((state_bs[8] >> 10) & 0x01);
- pt[ 89 ] = (pt [89] & 0xfe) | ((state_bs[8] >> 11) & 0x01);
- pt[ 97 ] = (pt [97] & 0xfe) | ((state_bs[8] >> 12) & 0x01);
- pt[ 105 ] = (pt [105] & 0xfe) | ((state_bs[8] >> 13) & 0x01);
- pt[ 113 ] = (pt [113] & 0xfe) | ((state_bs[8] >> 14) & 0x01);
- pt[ 121 ] = (pt [121] & 0xfe) | ((state_bs[8] >> 15) & 0x01);
- pt[ 1 ] = (pt [1] & 0xfd) | ((state_bs[9] & 0x01) << 1);
- pt[ 9 ] = (pt [9] & 0xfd) | ((state_bs[9] >> 0) & 0x02);
- pt[ 17 ] = (pt [17] & 0xfd) | ((state_bs[9] >> 1) & 0x02);
- pt[ 25 ] = (pt [25] & 0xfd) | ((state_bs[9] >> 2) & 0x02);
- pt[ 33 ] = (pt [33] & 0xfd) | ((state_bs[9] >> 3) & 0x02);
- pt[ 41 ] = (pt [41] & 0xfd) | ((state_bs[9] >> 4) & 0x02);
- pt[ 49 ] = (pt [49] & 0xfd) | ((state_bs[9] >> 5) & 0x02);
- pt[ 57 ] = (pt [57] & 0xfd) | ((state_bs[9] >> 6) & 0x02);
- pt[ 65 ] = (pt [65] & 0xfd) | ((state_bs[9] >> 7) & 0x02);
- pt[ 73 ] = (pt [73] & 0xfd) | ((state_bs[9] >> 8) & 0x02);
- pt[ 81 ] = (pt [81] & 0xfd) | ((state_bs[9] >> 9) & 0x02);
- pt[ 89 ] = (pt [89] & 0xfd) | ((state_bs[9] >> 10) & 0x02);
- pt[ 97 ] = (pt [97] & 0xfd) | ((state_bs[9] >> 11) & 0x02);
- pt[ 105 ] = (pt [105] & 0xfd) | ((state_bs[9] >> 12) & 0x02);
- pt[ 113 ] = (pt [113] & 0xfd) | ((state_bs[9] >> 13) & 0x02);
- pt[ 121 ] = (pt [121] & 0xfd) | ((state_bs[9] >> 14) & 0x02);
- pt[ 1 ] = (pt [1] & 0xfb) | ((state_bs[10] & 0x01) << 2);
- pt[ 9 ] = (pt [9] & 0xfb) | ((state_bs[10] & 0x02) << 1);
- pt[ 17 ] = (pt [17] & 0xfb) | ((state_bs[10] >> 0) & 0x04);
- pt[ 25 ] = (pt [25] & 0xfb) | ((state_bs[10] >> 1) & 0x04);
- pt[ 33 ] = (pt [33] & 0xfb) | ((state_bs[10] >> 2) & 0x04);
- pt[ 41 ] = (pt [41] & 0xfb) | ((state_bs[10] >> 3) & 0x04);
- pt[ 49 ] = (pt [49] & 0xfb) | ((state_bs[10] >> 4) & 0x04);
- pt[ 57 ] = (pt [57] & 0xfb) | ((state_bs[10] >> 5) & 0x04);
- pt[ 65 ] = (pt [65] & 0xfb) | ((state_bs[10] >> 6) & 0x04);
- pt[ 73 ] = (pt [73] & 0xfb) | ((state_bs[10] >> 7) & 0x04);
- pt[ 81 ] = (pt [81] & 0xfb) | ((state_bs[10] >> 8) & 0x04);
- pt[ 89 ] = (pt [89] & 0xfb) | ((state_bs[10] >> 9) & 0x04);
- pt[ 97 ] = (pt [97] & 0xfb) | ((state_bs[10] >> 10) & 0x04);
- pt[ 105 ] = (pt [105] & 0xfb) | ((state_bs[10] >> 11) & 0x04);
- pt[ 113 ] = (pt [113] & 0xfb) | ((state_bs[10] >> 12) & 0x04);
- pt[ 121 ] = (pt [121] & 0xfb) | ((state_bs[10] >> 13) & 0x04);
- pt[ 1 ] = (pt [1] & 0xf7) | ((state_bs[11] & 0x01) << 3);
- pt[ 9 ] = (pt [9] & 0xf7) | ((state_bs[11] & 0x02) << 2);
- pt[ 17 ] = (pt [17] & 0xf7) | ((state_bs[11] & 0x04) << 1);
- pt[ 25 ] = (pt [25] & 0xf7) | ((state_bs[11] >> 0) & 0x08);
- pt[ 33 ] = (pt [33] & 0xf7) | ((state_bs[11] >> 1) & 0x08);
- pt[ 41 ] = (pt [41] & 0xf7) | ((state_bs[11] >> 2) & 0x08);
- pt[ 49 ] = (pt [49] & 0xf7) | ((state_bs[11] >> 3) & 0x08);
- pt[ 57 ] = (pt [57] & 0xf7) | ((state_bs[11] >> 4) & 0x08);
- pt[ 65 ] = (pt [65] & 0xf7) | ((state_bs[11] >> 5) & 0x08);
- pt[ 73 ] = (pt [73] & 0xf7) | ((state_bs[11] >> 6) & 0x08);
- pt[ 81 ] = (pt [81] & 0xf7) | ((state_bs[11] >> 7) & 0x08);
- pt[ 89 ] = (pt [89] & 0xf7) | ((state_bs[11] >> 8) & 0x08);
- pt[ 97 ] = (pt [97] & 0xf7) | ((state_bs[11] >> 9) & 0x08);
- pt[ 105 ] = (pt [105] & 0xf7) | ((state_bs[11] >> 10) & 0x08);
- pt[ 113 ] = (pt [113] & 0xf7) | ((state_bs[11] >> 11) & 0x08);
- pt[ 121 ] = (pt [121] & 0xf7) | ((state_bs[11] >> 12) & 0x08);
- pt[ 1 ] = (pt [1] & 0xef) | ((state_bs[12] & 0x01) << 4);
- pt[ 9 ] = (pt [9] & 0xef) | ((state_bs[12] & 0x02) << 3);
- pt[ 17 ] = (pt [17] & 0xef) | ((state_bs[12] & 0x04) << 2);
- pt[ 25 ] = (pt [25] & 0xef) | ((state_bs[12] & 0x08) << 1);
- pt[ 33 ] = (pt [33] & 0xef) | ((state_bs[12] >> 0) & 0x10);
- pt[ 41 ] = (pt [41] & 0xef) | ((state_bs[12] >> 1) & 0x10);
- pt[ 49 ] = (pt [49] & 0xef) | ((state_bs[12] >> 2) & 0x10);
- pt[ 57 ] = (pt [57] & 0xef) | ((state_bs[12] >> 3) & 0x10);
- pt[ 65 ] = (pt [65] & 0xef) | ((state_bs[12] >> 4) & 0x10);
- pt[ 73 ] = (pt [73] & 0xef) | ((state_bs[12] >> 5) & 0x10);
- pt[ 81 ] = (pt [81] & 0xef) | ((state_bs[12] >> 6) & 0x10);
- pt[ 89 ] = (pt [89] & 0xef) | ((state_bs[12] >> 7) & 0x10);
- pt[ 97 ] = (pt [97] & 0xef) | ((state_bs[12] >> 8) & 0x10);
- pt[ 105 ] = (pt [105] & 0xef) | ((state_bs[12] >> 9) & 0x10);
- pt[ 113 ] = (pt [113] & 0xef) | ((state_bs[12] >> 10) & 0x10);
- pt[ 121 ] = (pt [121] & 0xef) | ((state_bs[12] >> 11) & 0x10);
- pt[ 1 ] = (pt [1] & 0xdf) | ((state_bs[13] & 0x01) << 5);
- pt[ 9 ] = (pt [9] & 0xdf) | ((state_bs[13] & 0x02) << 4);
- pt[ 17 ] = (pt [17] & 0xdf) | ((state_bs[13] & 0x04) << 3);
- pt[ 25 ] = (pt [25] & 0xdf) | ((state_bs[13] & 0x08) << 2);
- pt[ 33 ] = (pt [33] & 0xdf) | ((state_bs[13] & 0x10) << 1);
- pt[ 41 ] = (pt [41] & 0xdf) | ((state_bs[13] >> 0) & 0x20);
- pt[ 49 ] = (pt [49] & 0xdf) | ((state_bs[13] >> 1) & 0x20);
- pt[ 57 ] = (pt [57] & 0xdf) | ((state_bs[13] >> 2) & 0x20);
- pt[ 65 ] = (pt [65] & 0xdf) | ((state_bs[13] >> 3) & 0x20);
- pt[ 73 ] = (pt [73] & 0xdf) | ((state_bs[13] >> 4) & 0x20);
- pt[ 81 ] = (pt [81] & 0xdf) | ((state_bs[13] >> 5) & 0x20);
- pt[ 89 ] = (pt [89] & 0xdf) | ((state_bs[13] >> 6) & 0x20);
- pt[ 97 ] = (pt [97] & 0xdf) | ((state_bs[13] >> 7) & 0x20);
- pt[ 105 ] = (pt [105] & 0xdf) | ((state_bs[13] >> 8) & 0x20);
- pt[ 113 ] = (pt [113] & 0xdf) | ((state_bs[13] >> 9) & 0x20);
- pt[ 121 ] = (pt [121] & 0xdf) | ((state_bs[13] >> 10) & 0x20);
- pt[ 1 ] = (pt [1] & 0xbf) | ((state_bs[14] & 0x01) << 6);
- pt[ 9 ] = (pt [9] & 0xbf) | ((state_bs[14] & 0x02) << 5);
- pt[ 17 ] = (pt [17] & 0xbf) | ((state_bs[14] & 0x04) << 4);
- pt[ 25 ] = (pt [25] & 0xbf) | ((state_bs[14] & 0x08) << 3);
- pt[ 33 ] = (pt [33] & 0xbf) | ((state_bs[14] & 0x10) << 2);
- pt[ 41 ] = (pt [41] & 0xbf) | ((state_bs[14] & 0x20) << 1);
- pt[ 49 ] = (pt [49] & 0xbf) | ((state_bs[14] >> 0) & 0x40);
- pt[ 57 ] = (pt [57] & 0xbf) | ((state_bs[14] >> 1) & 0x40);
- pt[ 65 ] = (pt [65] & 0xbf) | ((state_bs[14] >> 2) & 0x40);
- pt[ 73 ] = (pt [73] & 0xbf) | ((state_bs[14] >> 3) & 0x40);
- pt[ 81 ] = (pt [81] & 0xbf) | ((state_bs[14] >> 4) & 0x40);
- pt[ 89 ] = (pt [89] & 0xbf) | ((state_bs[14] >> 5) & 0x40);
- pt[ 97 ] = (pt [97] & 0xbf) | ((state_bs[14] >> 6) & 0x40);
- pt[ 105 ] = (pt [105] & 0xbf) | ((state_bs[14] >> 7) & 0x40);
- pt[ 113 ] = (pt [113] & 0xbf) | ((state_bs[14] >> 8) & 0x40);
- pt[ 121 ] = (pt [121] & 0xbf) | ((state_bs[14] >> 9) & 0x40);
- pt[ 1 ] = (pt [1] & 0x7f) | ((state_bs[15] & 0x01) << 7);
- pt[ 9 ] = (pt [9] & 0x7f) | ((state_bs[15] & 0x02) << 6);
- pt[ 17 ] = (pt [17] & 0x7f) | ((state_bs[15] & 0x04) << 5);
- pt[ 25 ] = (pt [25] & 0x7f) | ((state_bs[15] & 0x08) << 4);
- pt[ 33 ] = (pt [33] & 0x7f) | ((state_bs[15] & 0x10) << 3);
- pt[ 41 ] = (pt [41] & 0x7f) | ((state_bs[15] & 0x20) << 2);
- pt[ 49 ] = (pt [49] & 0x7f) | ((state_bs[15] & 0x40) << 1);
- pt[ 57 ] = (pt [57] & 0x7f) | ((state_bs[15] >> 0) & 0x80);
- pt[ 65 ] = (pt [65] & 0x7f) | ((state_bs[15] >> 1) & 0x80);
- pt[ 73 ] = (pt [73] & 0x7f) | ((state_bs[15] >> 2) & 0x80);
- pt[ 81 ] = (pt [81] & 0x7f) | ((state_bs[15] >> 3) & 0x80);
- pt[ 89 ] = (pt [89] & 0x7f) | ((state_bs[15] >> 4) & 0x80);
- pt[ 97 ] = (pt [97] & 0x7f) | ((state_bs[15] >> 5) & 0x80);
- pt[ 105 ] = (pt [105] & 0x7f) | ((state_bs[15] >> 6) & 0x80);
- pt[ 113 ] = (pt [113] & 0x7f) | ((state_bs[15] >> 7) & 0x80);
- pt[ 121 ] = (pt [121] & 0x7f) | ((state_bs[15] >> 8) & 0x80);
- pt[ 2 ] = (pt [2] & 0xfe) | ((state_bs[16] >> 0) & 0x01);
- pt[ 10 ] = (pt [10] & 0xfe) | ((state_bs[16] >> 1) & 0x01);
- pt[ 18 ] = (pt [18] & 0xfe) | ((state_bs[16] >> 2) & 0x01);
- pt[ 26 ] = (pt [26] & 0xfe) | ((state_bs[16] >> 3) & 0x01);
- pt[ 34 ] = (pt [34] & 0xfe) | ((state_bs[16] >> 4) & 0x01);
- pt[ 42 ] = (pt [42] & 0xfe) | ((state_bs[16] >> 5) & 0x01);
- pt[ 50 ] = (pt [50] & 0xfe) | ((state_bs[16] >> 6) & 0x01);
- pt[ 58 ] = (pt [58] & 0xfe) | ((state_bs[16] >> 7) & 0x01);
- pt[ 66 ] = (pt [66] & 0xfe) | ((state_bs[16] >> 8) & 0x01);
- pt[ 74 ] = (pt [74] & 0xfe) | ((state_bs[16] >> 9) & 0x01);
- pt[ 82 ] = (pt [82] & 0xfe) | ((state_bs[16] >> 10) & 0x01);
- pt[ 90 ] = (pt [90] & 0xfe) | ((state_bs[16] >> 11) & 0x01);
- pt[ 98 ] = (pt [98] & 0xfe) | ((state_bs[16] >> 12) & 0x01);
- pt[ 106 ] = (pt [106] & 0xfe) | ((state_bs[16] >> 13) & 0x01);
- pt[ 114 ] = (pt [114] & 0xfe) | ((state_bs[16] >> 14) & 0x01);
- pt[ 122 ] = (pt [122] & 0xfe) | ((state_bs[16] >> 15) & 0x01);
- pt[ 2 ] = (pt [2] & 0xfd) | ((state_bs[17] & 0x01) << 1);
- pt[ 10 ] = (pt [10] & 0xfd) | ((state_bs[17] >> 0) & 0x02);
- pt[ 18 ] = (pt [18] & 0xfd) | ((state_bs[17] >> 1) & 0x02);
- pt[ 26 ] = (pt [26] & 0xfd) | ((state_bs[17] >> 2) & 0x02);
- pt[ 34 ] = (pt [34] & 0xfd) | ((state_bs[17] >> 3) & 0x02);
- pt[ 42 ] = (pt [42] & 0xfd) | ((state_bs[17] >> 4) & 0x02);
- pt[ 50 ] = (pt [50] & 0xfd) | ((state_bs[17] >> 5) & 0x02);
- pt[ 58 ] = (pt [58] & 0xfd) | ((state_bs[17] >> 6) & 0x02);
- pt[ 66 ] = (pt [66] & 0xfd) | ((state_bs[17] >> 7) & 0x02);
- pt[ 74 ] = (pt [74] & 0xfd) | ((state_bs[17] >> 8) & 0x02);
- pt[ 82 ] = (pt [82] & 0xfd) | ((state_bs[17] >> 9) & 0x02);
- pt[ 90 ] = (pt [90] & 0xfd) | ((state_bs[17] >> 10) & 0x02);
- pt[ 98 ] = (pt [98] & 0xfd) | ((state_bs[17] >> 11) & 0x02);
- pt[ 106 ] = (pt [106] & 0xfd) | ((state_bs[17] >> 12) & 0x02);
- pt[ 114 ] = (pt [114] & 0xfd) | ((state_bs[17] >> 13) & 0x02);
- pt[ 122 ] = (pt [122] & 0xfd) | ((state_bs[17] >> 14) & 0x02);
- pt[ 2 ] = (pt [2] & 0xfb) | ((state_bs[18] & 0x01) << 2);
- pt[ 10 ] = (pt [10] & 0xfb) | ((state_bs[18] & 0x02) << 1);
- pt[ 18 ] = (pt [18] & 0xfb) | ((state_bs[18] >> 0) & 0x04);
- pt[ 26 ] = (pt [26] & 0xfb) | ((state_bs[18] >> 1) & 0x04);
- pt[ 34 ] = (pt [34] & 0xfb) | ((state_bs[18] >> 2) & 0x04);
- pt[ 42 ] = (pt [42] & 0xfb) | ((state_bs[18] >> 3) & 0x04);
- pt[ 50 ] = (pt [50] & 0xfb) | ((state_bs[18] >> 4) & 0x04);
- pt[ 58 ] = (pt [58] & 0xfb) | ((state_bs[18] >> 5) & 0x04);
- pt[ 66 ] = (pt [66] & 0xfb) | ((state_bs[18] >> 6) & 0x04);
- pt[ 74 ] = (pt [74] & 0xfb) | ((state_bs[18] >> 7) & 0x04);
- pt[ 82 ] = (pt [82] & 0xfb) | ((state_bs[18] >> 8) & 0x04);
- pt[ 90 ] = (pt [90] & 0xfb) | ((state_bs[18] >> 9) & 0x04);
- pt[ 98 ] = (pt [98] & 0xfb) | ((state_bs[18] >> 10) & 0x04);
- pt[ 106 ] = (pt [106] & 0xfb) | ((state_bs[18] >> 11) & 0x04);
- pt[ 114 ] = (pt [114] & 0xfb) | ((state_bs[18] >> 12) & 0x04);
- pt[ 122 ] = (pt [122] & 0xfb) | ((state_bs[18] >> 13) & 0x04);
- pt[ 2 ] = (pt [2] & 0xf7) | ((state_bs[19] & 0x01) << 3);
- pt[ 10 ] = (pt [10] & 0xf7) | ((state_bs[19] & 0x02) << 2);
- pt[ 18 ] = (pt [18] & 0xf7) | ((state_bs[19] & 0x04) << 1);
- pt[ 26 ] = (pt [26] & 0xf7) | ((state_bs[19] >> 0) & 0x08);
- pt[ 34 ] = (pt [34] & 0xf7) | ((state_bs[19] >> 1) & 0x08);
- pt[ 42 ] = (pt [42] & 0xf7) | ((state_bs[19] >> 2) & 0x08);
- pt[ 50 ] = (pt [50] & 0xf7) | ((state_bs[19] >> 3) & 0x08);
- pt[ 58 ] = (pt [58] & 0xf7) | ((state_bs[19] >> 4) & 0x08);
- pt[ 66 ] = (pt [66] & 0xf7) | ((state_bs[19] >> 5) & 0x08);
- pt[ 74 ] = (pt [74] & 0xf7) | ((state_bs[19] >> 6) & 0x08);
- pt[ 82 ] = (pt [82] & 0xf7) | ((state_bs[19] >> 7) & 0x08);
- pt[ 90 ] = (pt [90] & 0xf7) | ((state_bs[19] >> 8) & 0x08);
- pt[ 98 ] = (pt [98] & 0xf7) | ((state_bs[19] >> 9) & 0x08);
- pt[ 106 ] = (pt [106] & 0xf7) | ((state_bs[19] >> 10) & 0x08);
- pt[ 114 ] = (pt [114] & 0xf7) | ((state_bs[19] >> 11) & 0x08);
- pt[ 122 ] = (pt [122] & 0xf7) | ((state_bs[19] >> 12) & 0x08);
- pt[ 2 ] = (pt [2] & 0xef) | ((state_bs[20] & 0x01) << 4);
- pt[ 10 ] = (pt [10] & 0xef) | ((state_bs[20] & 0x02) << 3);
- pt[ 18 ] = (pt [18] & 0xef) | ((state_bs[20] & 0x04) << 2);
- pt[ 26 ] = (pt [26] & 0xef) | ((state_bs[20] & 0x08) << 1);
- pt[ 34 ] = (pt [34] & 0xef) | ((state_bs[20] >> 0) & 0x10);
- pt[ 42 ] = (pt [42] & 0xef) | ((state_bs[20] >> 1) & 0x10);
- pt[ 50 ] = (pt [50] & 0xef) | ((state_bs[20] >> 2) & 0x10);
- pt[ 58 ] = (pt [58] & 0xef) | ((state_bs[20] >> 3) & 0x10);
- pt[ 66 ] = (pt [66] & 0xef) | ((state_bs[20] >> 4) & 0x10);
- pt[ 74 ] = (pt [74] & 0xef) | ((state_bs[20] >> 5) & 0x10);
- pt[ 82 ] = (pt [82] & 0xef) | ((state_bs[20] >> 6) & 0x10);
- pt[ 90 ] = (pt [90] & 0xef) | ((state_bs[20] >> 7) & 0x10);
- pt[ 98 ] = (pt [98] & 0xef) | ((state_bs[20] >> 8) & 0x10);
- pt[ 106 ] = (pt [106] & 0xef) | ((state_bs[20] >> 9) & 0x10);
- pt[ 114 ] = (pt [114] & 0xef) | ((state_bs[20] >> 10) & 0x10);
- pt[ 122 ] = (pt [122] & 0xef) | ((state_bs[20] >> 11) & 0x10);
- pt[ 2 ] = (pt [2] & 0xdf) | ((state_bs[21] & 0x01) << 5);
- pt[ 10 ] = (pt [10] & 0xdf) | ((state_bs[21] & 0x02) << 4);
- pt[ 18 ] = (pt [18] & 0xdf) | ((state_bs[21] & 0x04) << 3);
- pt[ 26 ] = (pt [26] & 0xdf) | ((state_bs[21] & 0x08) << 2);
- pt[ 34 ] = (pt [34] & 0xdf) | ((state_bs[21] & 0x10) << 1);
- pt[ 42 ] = (pt [42] & 0xdf) | ((state_bs[21] >> 0) & 0x20);
- pt[ 50 ] = (pt [50] & 0xdf) | ((state_bs[21] >> 1) & 0x20);
- pt[ 58 ] = (pt [58] & 0xdf) | ((state_bs[21] >> 2) & 0x20);
- pt[ 66 ] = (pt [66] & 0xdf) | ((state_bs[21] >> 3) & 0x20);
- pt[ 74 ] = (pt [74] & 0xdf) | ((state_bs[21] >> 4) & 0x20);
- pt[ 82 ] = (pt [82] & 0xdf) | ((state_bs[21] >> 5) & 0x20);
- pt[ 90 ] = (pt [90] & 0xdf) | ((state_bs[21] >> 6) & 0x20);
- pt[ 98 ] = (pt [98] & 0xdf) | ((state_bs[21] >> 7) & 0x20);
- pt[ 106 ] = (pt [106] & 0xdf) | ((state_bs[21] >> 8) & 0x20);
- pt[ 114 ] = (pt [114] & 0xdf) | ((state_bs[21] >> 9) & 0x20);
- pt[ 122 ] = (pt [122] & 0xdf) | ((state_bs[21] >> 10) & 0x20);
- pt[ 2 ] = (pt [2] & 0xbf) | ((state_bs[22] & 0x01) << 6);
- pt[ 10 ] = (pt [10] & 0xbf) | ((state_bs[22] & 0x02) << 5);
- pt[ 18 ] = (pt [18] & 0xbf) | ((state_bs[22] & 0x04) << 4);
- pt[ 26 ] = (pt [26] & 0xbf) | ((state_bs[22] & 0x08) << 3);
- pt[ 34 ] = (pt [34] & 0xbf) | ((state_bs[22] & 0x10) << 2);
- pt[ 42 ] = (pt [42] & 0xbf) | ((state_bs[22] & 0x20) << 1);
- pt[ 50 ] = (pt [50] & 0xbf) | ((state_bs[22] >> 0) & 0x40);
- pt[ 58 ] = (pt [58] & 0xbf) | ((state_bs[22] >> 1) & 0x40);
- pt[ 66 ] = (pt [66] & 0xbf) | ((state_bs[22] >> 2) & 0x40);
- pt[ 74 ] = (pt [74] & 0xbf) | ((state_bs[22] >> 3) & 0x40);
- pt[ 82 ] = (pt [82] & 0xbf) | ((state_bs[22] >> 4) & 0x40);
- pt[ 90 ] = (pt [90] & 0xbf) | ((state_bs[22] >> 5) & 0x40);
- pt[ 98 ] = (pt [98] & 0xbf) | ((state_bs[22] >> 6) & 0x40);
- pt[ 106 ] = (pt [106] & 0xbf) | ((state_bs[22] >> 7) & 0x40);
- pt[ 114 ] = (pt [114] & 0xbf) | ((state_bs[22] >> 8) & 0x40);
- pt[ 122 ] = (pt [122] & 0xbf) | ((state_bs[22] >> 9) & 0x40);
- pt[ 2 ] = (pt [2] & 0x7f) | ((state_bs[23] & 0x01) << 7);
- pt[ 10 ] = (pt [10] & 0x7f) | ((state_bs[23] & 0x02) << 6);
- pt[ 18 ] = (pt [18] & 0x7f) | ((state_bs[23] & 0x04) << 5);
- pt[ 26 ] = (pt [26] & 0x7f) | ((state_bs[23] & 0x08) << 4);
- pt[ 34 ] = (pt [34] & 0x7f) | ((state_bs[23] & 0x10) << 3);
- pt[ 42 ] = (pt [42] & 0x7f) | ((state_bs[23] & 0x20) << 2);
- pt[ 50 ] = (pt [50] & 0x7f) | ((state_bs[23] & 0x40) << 1);
- pt[ 58 ] = (pt [58] & 0x7f) | ((state_bs[23] >> 0) & 0x80);
- pt[ 66 ] = (pt [66] & 0x7f) | ((state_bs[23] >> 1) & 0x80);
- pt[ 74 ] = (pt [74] & 0x7f) | ((state_bs[23] >> 2) & 0x80);
- pt[ 82 ] = (pt [82] & 0x7f) | ((state_bs[23] >> 3) & 0x80);
- pt[ 90 ] = (pt [90] & 0x7f) | ((state_bs[23] >> 4) & 0x80);
- pt[ 98 ] = (pt [98] & 0x7f) | ((state_bs[23] >> 5) & 0x80);
- pt[ 106 ] = (pt [106] & 0x7f) | ((state_bs[23] >> 6) & 0x80);
- pt[ 114 ] = (pt [114] & 0x7f) | ((state_bs[23] >> 7) & 0x80);
- pt[ 122 ] = (pt [122] & 0x7f) | ((state_bs[23] >> 8) & 0x80);
- pt[ 3 ] = (pt [3] & 0xfe) | ((state_bs[24] >> 0) & 0x01);
- pt[ 11 ] = (pt [11] & 0xfe) | ((state_bs[24] >> 1) & 0x01);
- pt[ 19 ] = (pt [19] & 0xfe) | ((state_bs[24] >> 2) & 0x01);
- pt[ 27 ] = (pt [27] & 0xfe) | ((state_bs[24] >> 3) & 0x01);
- pt[ 35 ] = (pt [35] & 0xfe) | ((state_bs[24] >> 4) & 0x01);
- pt[ 43 ] = (pt [43] & 0xfe) | ((state_bs[24] >> 5) & 0x01);
- pt[ 51 ] = (pt [51] & 0xfe) | ((state_bs[24] >> 6) & 0x01);
- pt[ 59 ] = (pt [59] & 0xfe) | ((state_bs[24] >> 7) & 0x01);
- pt[ 67 ] = (pt [67] & 0xfe) | ((state_bs[24] >> 8) & 0x01);
- pt[ 75 ] = (pt [75] & 0xfe) | ((state_bs[24] >> 9) & 0x01);
- pt[ 83 ] = (pt [83] & 0xfe) | ((state_bs[24] >> 10) & 0x01);
- pt[ 91 ] = (pt [91] & 0xfe) | ((state_bs[24] >> 11) & 0x01);
- pt[ 99 ] = (pt [99] & 0xfe) | ((state_bs[24] >> 12) & 0x01);
- pt[ 107 ] = (pt [107] & 0xfe) | ((state_bs[24] >> 13) & 0x01);
- pt[ 115 ] = (pt [115] & 0xfe) | ((state_bs[24] >> 14) & 0x01);
- pt[ 123 ] = (pt [123] & 0xfe) | ((state_bs[24] >> 15) & 0x01);
- pt[ 3 ] = (pt [3] & 0xfd) | ((state_bs[25] & 0x01) << 1);
- pt[ 11 ] = (pt [11] & 0xfd) | ((state_bs[25] >> 0) & 0x02);
- pt[ 19 ] = (pt [19] & 0xfd) | ((state_bs[25] >> 1) & 0x02);
- pt[ 27 ] = (pt [27] & 0xfd) | ((state_bs[25] >> 2) & 0x02);
- pt[ 35 ] = (pt [35] & 0xfd) | ((state_bs[25] >> 3) & 0x02);
- pt[ 43 ] = (pt [43] & 0xfd) | ((state_bs[25] >> 4) & 0x02);
- pt[ 51 ] = (pt [51] & 0xfd) | ((state_bs[25] >> 5) & 0x02);
- pt[ 59 ] = (pt [59] & 0xfd) | ((state_bs[25] >> 6) & 0x02);
- pt[ 67 ] = (pt [67] & 0xfd) | ((state_bs[25] >> 7) & 0x02);
- pt[ 75 ] = (pt [75] & 0xfd) | ((state_bs[25] >> 8) & 0x02);
- pt[ 83 ] = (pt [83] & 0xfd) | ((state_bs[25] >> 9) & 0x02);
- pt[ 91 ] = (pt [91] & 0xfd) | ((state_bs[25] >> 10) & 0x02);
- pt[ 99 ] = (pt [99] & 0xfd) | ((state_bs[25] >> 11) & 0x02);
- pt[ 107 ] = (pt [107] & 0xfd) | ((state_bs[25] >> 12) & 0x02);
- pt[ 115 ] = (pt [115] & 0xfd) | ((state_bs[25] >> 13) & 0x02);
- pt[ 123 ] = (pt [123] & 0xfd) | ((state_bs[25] >> 14) & 0x02);
- pt[ 3 ] = (pt [3] & 0xfb) | ((state_bs[26] & 0x01) << 2);
- pt[ 11 ] = (pt [11] & 0xfb) | ((state_bs[26] & 0x02) << 1);
- pt[ 19 ] = (pt [19] & 0xfb) | ((state_bs[26] >> 0) & 0x04);
- pt[ 27 ] = (pt [27] & 0xfb) | ((state_bs[26] >> 1) & 0x04);
- pt[ 35 ] = (pt [35] & 0xfb) | ((state_bs[26] >> 2) & 0x04);
- pt[ 43 ] = (pt [43] & 0xfb) | ((state_bs[26] >> 3) & 0x04);
- pt[ 51 ] = (pt [51] & 0xfb) | ((state_bs[26] >> 4) & 0x04);
- pt[ 59 ] = (pt [59] & 0xfb) | ((state_bs[26] >> 5) & 0x04);
- pt[ 67 ] = (pt [67] & 0xfb) | ((state_bs[26] >> 6) & 0x04);
- pt[ 75 ] = (pt [75] & 0xfb) | ((state_bs[26] >> 7) & 0x04);
- pt[ 83 ] = (pt [83] & 0xfb) | ((state_bs[26] >> 8) & 0x04);
- pt[ 91 ] = (pt [91] & 0xfb) | ((state_bs[26] >> 9) & 0x04);
- pt[ 99 ] = (pt [99] & 0xfb) | ((state_bs[26] >> 10) & 0x04);
- pt[ 107 ] = (pt [107] & 0xfb) | ((state_bs[26] >> 11) & 0x04);
- pt[ 115 ] = (pt [115] & 0xfb) | ((state_bs[26] >> 12) & 0x04);
- pt[ 123 ] = (pt [123] & 0xfb) | ((state_bs[26] >> 13) & 0x04);
- pt[ 3 ] = (pt [3] & 0xf7) | ((state_bs[27] & 0x01) << 3);
- pt[ 11 ] = (pt [11] & 0xf7) | ((state_bs[27] & 0x02) << 2);
- pt[ 19 ] = (pt [19] & 0xf7) | ((state_bs[27] & 0x04) << 1);
- pt[ 27 ] = (pt [27] & 0xf7) | ((state_bs[27] >> 0) & 0x08);
- pt[ 35 ] = (pt [35] & 0xf7) | ((state_bs[27] >> 1) & 0x08);
- pt[ 43 ] = (pt [43] & 0xf7) | ((state_bs[27] >> 2) & 0x08);
- pt[ 51 ] = (pt [51] & 0xf7) | ((state_bs[27] >> 3) & 0x08);
- pt[ 59 ] = (pt [59] & 0xf7) | ((state_bs[27] >> 4) & 0x08);
- pt[ 67 ] = (pt [67] & 0xf7) | ((state_bs[27] >> 5) & 0x08);
- pt[ 75 ] = (pt [75] & 0xf7) | ((state_bs[27] >> 6) & 0x08);
- pt[ 83 ] = (pt [83] & 0xf7) | ((state_bs[27] >> 7) & 0x08);
- pt[ 91 ] = (pt [91] & 0xf7) | ((state_bs[27] >> 8) & 0x08);
- pt[ 99 ] = (pt [99] & 0xf7) | ((state_bs[27] >> 9) & 0x08);
- pt[ 107 ] = (pt [107] & 0xf7) | ((state_bs[27] >> 10) & 0x08);
- pt[ 115 ] = (pt [115] & 0xf7) | ((state_bs[27] >> 11) & 0x08);
- pt[ 123 ] = (pt [123] & 0xf7) | ((state_bs[27] >> 12) & 0x08);
- pt[ 3 ] = (pt [3] & 0xef) | ((state_bs[28] & 0x01) << 4);
- pt[ 11 ] = (pt [11] & 0xef) | ((state_bs[28] & 0x02) << 3);
- pt[ 19 ] = (pt [19] & 0xef) | ((state_bs[28] & 0x04) << 2);
- pt[ 27 ] = (pt [27] & 0xef) | ((state_bs[28] & 0x08) << 1);
- pt[ 35 ] = (pt [35] & 0xef) | ((state_bs[28] >> 0) & 0x10);
- pt[ 43 ] = (pt [43] & 0xef) | ((state_bs[28] >> 1) & 0x10);
- pt[ 51 ] = (pt [51] & 0xef) | ((state_bs[28] >> 2) & 0x10);
- pt[ 59 ] = (pt [59] & 0xef) | ((state_bs[28] >> 3) & 0x10);
- pt[ 67 ] = (pt [67] & 0xef) | ((state_bs[28] >> 4) & 0x10);
- pt[ 75 ] = (pt [75] & 0xef) | ((state_bs[28] >> 5) & 0x10);
- pt[ 83 ] = (pt [83] & 0xef) | ((state_bs[28] >> 6) & 0x10);
- pt[ 91 ] = (pt [91] & 0xef) | ((state_bs[28] >> 7) & 0x10);
- pt[ 99 ] = (pt [99] & 0xef) | ((state_bs[28] >> 8) & 0x10);
- pt[ 107 ] = (pt [107] & 0xef) | ((state_bs[28] >> 9) & 0x10);
- pt[ 115 ] = (pt [115] & 0xef) | ((state_bs[28] >> 10) & 0x10);
- pt[ 123 ] = (pt [123] & 0xef) | ((state_bs[28] >> 11) & 0x10);
- pt[ 3 ] = (pt [3] & 0xdf) | ((state_bs[29] & 0x01) << 5);
- pt[ 11 ] = (pt [11] & 0xdf) | ((state_bs[29] & 0x02) << 4);
- pt[ 19 ] = (pt [19] & 0xdf) | ((state_bs[29] & 0x04) << 3);
- pt[ 27 ] = (pt [27] & 0xdf) | ((state_bs[29] & 0x08) << 2);
- pt[ 35 ] = (pt [35] & 0xdf) | ((state_bs[29] & 0x10) << 1);
- pt[ 43 ] = (pt [43] & 0xdf) | ((state_bs[29] >> 0) & 0x20);
- pt[ 51 ] = (pt [51] & 0xdf) | ((state_bs[29] >> 1) & 0x20);
- pt[ 59 ] = (pt [59] & 0xdf) | ((state_bs[29] >> 2) & 0x20);
- pt[ 67 ] = (pt [67] & 0xdf) | ((state_bs[29] >> 3) & 0x20);
- pt[ 75 ] = (pt [75] & 0xdf) | ((state_bs[29] >> 4) & 0x20);
- pt[ 83 ] = (pt [83] & 0xdf) | ((state_bs[29] >> 5) & 0x20);
- pt[ 91 ] = (pt [91] & 0xdf) | ((state_bs[29] >> 6) & 0x20);
- pt[ 99 ] = (pt [99] & 0xdf) | ((state_bs[29] >> 7) & 0x20);
- pt[ 107 ] = (pt [107] & 0xdf) | ((state_bs[29] >> 8) & 0x20);
- pt[ 115 ] = (pt [115] & 0xdf) | ((state_bs[29] >> 9) & 0x20);
- pt[ 123 ] = (pt [123] & 0xdf) | ((state_bs[29] >> 10) & 0x20);
- pt[ 3 ] = (pt [3] & 0xbf) | ((state_bs[30] & 0x01) << 6);
- pt[ 11 ] = (pt [11] & 0xbf) | ((state_bs[30] & 0x02) << 5);
- pt[ 19 ] = (pt [19] & 0xbf) | ((state_bs[30] & 0x04) << 4);
- pt[ 27 ] = (pt [27] & 0xbf) | ((state_bs[30] & 0x08) << 3);
- pt[ 35 ] = (pt [35] & 0xbf) | ((state_bs[30] & 0x10) << 2);
- pt[ 43 ] = (pt [43] & 0xbf) | ((state_bs[30] & 0x20) << 1);
- pt[ 51 ] = (pt [51] & 0xbf) | ((state_bs[30] >> 0) & 0x40);
- pt[ 59 ] = (pt [59] & 0xbf) | ((state_bs[30] >> 1) & 0x40);
- pt[ 67 ] = (pt [67] & 0xbf) | ((state_bs[30] >> 2) & 0x40);
- pt[ 75 ] = (pt [75] & 0xbf) | ((state_bs[30] >> 3) & 0x40);
- pt[ 83 ] = (pt [83] & 0xbf) | ((state_bs[30] >> 4) & 0x40);
- pt[ 91 ] = (pt [91] & 0xbf) | ((state_bs[30] >> 5) & 0x40);
- pt[ 99 ] = (pt [99] & 0xbf) | ((state_bs[30] >> 6) & 0x40);
- pt[ 107 ] = (pt [107] & 0xbf) | ((state_bs[30] >> 7) & 0x40);
- pt[ 115 ] = (pt [115] & 0xbf) | ((state_bs[30] >> 8) & 0x40);
- pt[ 123 ] = (pt [123] & 0xbf) | ((state_bs[30] >> 9) & 0x40);
- pt[ 3 ] = (pt [3] & 0x7f) | ((state_bs[31] & 0x01) << 7);
- pt[ 11 ] = (pt [11] & 0x7f) | ((state_bs[31] & 0x02) << 6);
- pt[ 19 ] = (pt [19] & 0x7f) | ((state_bs[31] & 0x04) << 5);
- pt[ 27 ] = (pt [27] & 0x7f) | ((state_bs[31] & 0x08) << 4);
- pt[ 35 ] = (pt [35] & 0x7f) | ((state_bs[31] & 0x10) << 3);
- pt[ 43 ] = (pt [43] & 0x7f) | ((state_bs[31] & 0x20) << 2);
- pt[ 51 ] = (pt [51] & 0x7f) | ((state_bs[31] & 0x40) << 1);
- pt[ 59 ] = (pt [59] & 0x7f) | ((state_bs[31] >> 0) & 0x80);
- pt[ 67 ] = (pt [67] & 0x7f) | ((state_bs[31] >> 1) & 0x80);
- pt[ 75 ] = (pt [75] & 0x7f) | ((state_bs[31] >> 2) & 0x80);
- pt[ 83 ] = (pt [83] & 0x7f) | ((state_bs[31] >> 3) & 0x80);
- pt[ 91 ] = (pt [91] & 0x7f) | ((state_bs[31] >> 4) & 0x80);
- pt[ 99 ] = (pt [99] & 0x7f) | ((state_bs[31] >> 5) & 0x80);
- pt[ 107 ] = (pt [107] & 0x7f) | ((state_bs[31] >> 6) & 0x80);
- pt[ 115 ] = (pt [115] & 0x7f) | ((state_bs[31] >> 7) & 0x80);
- pt[ 123 ] = (pt [123] & 0x7f) | ((state_bs[31] >> 8) & 0x80);
- pt[ 4 ] = (pt [4] & 0xfe) | ((state_bs[32] >> 0) & 0x01);
- pt[ 12 ] = (pt [12] & 0xfe) | ((state_bs[32] >> 1) & 0x01);
- pt[ 20 ] = (pt [20] & 0xfe) | ((state_bs[32] >> 2) & 0x01);
- pt[ 28 ] = (pt [28] & 0xfe) | ((state_bs[32] >> 3) & 0x01);
- pt[ 36 ] = (pt [36] & 0xfe) | ((state_bs[32] >> 4) & 0x01);
- pt[ 44 ] = (pt [44] & 0xfe) | ((state_bs[32] >> 5) & 0x01);
- pt[ 52 ] = (pt [52] & 0xfe) | ((state_bs[32] >> 6) & 0x01);
- pt[ 60 ] = (pt [60] & 0xfe) | ((state_bs[32] >> 7) & 0x01);
- pt[ 68 ] = (pt [68] & 0xfe) | ((state_bs[32] >> 8) & 0x01);
- pt[ 76 ] = (pt [76] & 0xfe) | ((state_bs[32] >> 9) & 0x01);
- pt[ 84 ] = (pt [84] & 0xfe) | ((state_bs[32] >> 10) & 0x01);
- pt[ 92 ] = (pt [92] & 0xfe) | ((state_bs[32] >> 11) & 0x01);
- pt[ 100 ] = (pt [100] & 0xfe) | ((state_bs[32] >> 12) & 0x01);
- pt[ 108 ] = (pt [108] & 0xfe) | ((state_bs[32] >> 13) & 0x01);
- pt[ 116 ] = (pt [116] & 0xfe) | ((state_bs[32] >> 14) & 0x01);
- pt[ 124 ] = (pt [124] & 0xfe) | ((state_bs[32] >> 15) & 0x01);
- pt[ 4 ] = (pt [4] & 0xfd) | ((state_bs[33] & 0x01) << 1);
- pt[ 12 ] = (pt [12] & 0xfd) | ((state_bs[33] >> 0) & 0x02);
- pt[ 20 ] = (pt [20] & 0xfd) | ((state_bs[33] >> 1) & 0x02);
- pt[ 28 ] = (pt [28] & 0xfd) | ((state_bs[33] >> 2) & 0x02);
- pt[ 36 ] = (pt [36] & 0xfd) | ((state_bs[33] >> 3) & 0x02);
- pt[ 44 ] = (pt [44] & 0xfd) | ((state_bs[33] >> 4) & 0x02);
- pt[ 52 ] = (pt [52] & 0xfd) | ((state_bs[33] >> 5) & 0x02);
- pt[ 60 ] = (pt [60] & 0xfd) | ((state_bs[33] >> 6) & 0x02);
- pt[ 68 ] = (pt [68] & 0xfd) | ((state_bs[33] >> 7) & 0x02);
- pt[ 76 ] = (pt [76] & 0xfd) | ((state_bs[33] >> 8) & 0x02);
- pt[ 84 ] = (pt [84] & 0xfd) | ((state_bs[33] >> 9) & 0x02);
- pt[ 92 ] = (pt [92] & 0xfd) | ((state_bs[33] >> 10) & 0x02);
- pt[ 100 ] = (pt [100] & 0xfd) | ((state_bs[33] >> 11) & 0x02);
- pt[ 108 ] = (pt [108] & 0xfd) | ((state_bs[33] >> 12) & 0x02);
- pt[ 116 ] = (pt [116] & 0xfd) | ((state_bs[33] >> 13) & 0x02);
- pt[ 124 ] = (pt [124] & 0xfd) | ((state_bs[33] >> 14) & 0x02);
- pt[ 4 ] = (pt [4] & 0xfb) | ((state_bs[34] & 0x01) << 2);
- pt[ 12 ] = (pt [12] & 0xfb) | ((state_bs[34] & 0x02) << 1);
- pt[ 20 ] = (pt [20] & 0xfb) | ((state_bs[34] >> 0) & 0x04);
- pt[ 28 ] = (pt [28] & 0xfb) | ((state_bs[34] >> 1) & 0x04);
- pt[ 36 ] = (pt [36] & 0xfb) | ((state_bs[34] >> 2) & 0x04);
- pt[ 44 ] = (pt [44] & 0xfb) | ((state_bs[34] >> 3) & 0x04);
- pt[ 52 ] = (pt [52] & 0xfb) | ((state_bs[34] >> 4) & 0x04);
- pt[ 60 ] = (pt [60] & 0xfb) | ((state_bs[34] >> 5) & 0x04);
- pt[ 68 ] = (pt [68] & 0xfb) | ((state_bs[34] >> 6) & 0x04);
- pt[ 76 ] = (pt [76] & 0xfb) | ((state_bs[34] >> 7) & 0x04);
- pt[ 84 ] = (pt [84] & 0xfb) | ((state_bs[34] >> 8) & 0x04);
- pt[ 92 ] = (pt [92] & 0xfb) | ((state_bs[34] >> 9) & 0x04);
- pt[ 100 ] = (pt [100] & 0xfb) | ((state_bs[34] >> 10) & 0x04);
- pt[ 108 ] = (pt [108] & 0xfb) | ((state_bs[34] >> 11) & 0x04);
- pt[ 116 ] = (pt [116] & 0xfb) | ((state_bs[34] >> 12) & 0x04);
- pt[ 124 ] = (pt [124] & 0xfb) | ((state_bs[34] >> 13) & 0x04);
- pt[ 4 ] = (pt [4] & 0xf7) | ((state_bs[35] & 0x01) << 3);
- pt[ 12 ] = (pt [12] & 0xf7) | ((state_bs[35] & 0x02) << 2);
- pt[ 20 ] = (pt [20] & 0xf7) | ((state_bs[35] & 0x04) << 1);
- pt[ 28 ] = (pt [28] & 0xf7) | ((state_bs[35] >> 0) & 0x08);
- pt[ 36 ] = (pt [36] & 0xf7) | ((state_bs[35] >> 1) & 0x08);
- pt[ 44 ] = (pt [44] & 0xf7) | ((state_bs[35] >> 2) & 0x08);
- pt[ 52 ] = (pt [52] & 0xf7) | ((state_bs[35] >> 3) & 0x08);
- pt[ 60 ] = (pt [60] & 0xf7) | ((state_bs[35] >> 4) & 0x08);
- pt[ 68 ] = (pt [68] & 0xf7) | ((state_bs[35] >> 5) & 0x08);
- pt[ 76 ] = (pt [76] & 0xf7) | ((state_bs[35] >> 6) & 0x08);
- pt[ 84 ] = (pt [84] & 0xf7) | ((state_bs[35] >> 7) & 0x08);
- pt[ 92 ] = (pt [92] & 0xf7) | ((state_bs[35] >> 8) & 0x08);
- pt[ 100 ] = (pt [100] & 0xf7) | ((state_bs[35] >> 9) & 0x08);
- pt[ 108 ] = (pt [108] & 0xf7) | ((state_bs[35] >> 10) & 0x08);
- pt[ 116 ] = (pt [116] & 0xf7) | ((state_bs[35] >> 11) & 0x08);
- pt[ 124 ] = (pt [124] & 0xf7) | ((state_bs[35] >> 12) & 0x08);
- pt[ 4 ] = (pt [4] & 0xef) | ((state_bs[36] & 0x01) << 4);
- pt[ 12 ] = (pt [12] & 0xef) | ((state_bs[36] & 0x02) << 3);
- pt[ 20 ] = (pt [20] & 0xef) | ((state_bs[36] & 0x04) << 2);
- pt[ 28 ] = (pt [28] & 0xef) | ((state_bs[36] & 0x08) << 1);
- pt[ 36 ] = (pt [36] & 0xef) | ((state_bs[36] >> 0) & 0x10);
- pt[ 44 ] = (pt [44] & 0xef) | ((state_bs[36] >> 1) & 0x10);
- pt[ 52 ] = (pt [52] & 0xef) | ((state_bs[36] >> 2) & 0x10);
- pt[ 60 ] = (pt [60] & 0xef) | ((state_bs[36] >> 3) & 0x10);
- pt[ 68 ] = (pt [68] & 0xef) | ((state_bs[36] >> 4) & 0x10);
- pt[ 76 ] = (pt [76] & 0xef) | ((state_bs[36] >> 5) & 0x10);
- pt[ 84 ] = (pt [84] & 0xef) | ((state_bs[36] >> 6) & 0x10);
- pt[ 92 ] = (pt [92] & 0xef) | ((state_bs[36] >> 7) & 0x10);
- pt[ 100 ] = (pt [100] & 0xef) | ((state_bs[36] >> 8) & 0x10);
- pt[ 108 ] = (pt [108] & 0xef) | ((state_bs[36] >> 9) & 0x10);
- pt[ 116 ] = (pt [116] & 0xef) | ((state_bs[36] >> 10) & 0x10);
- pt[ 124 ] = (pt [124] & 0xef) | ((state_bs[36] >> 11) & 0x10);
- pt[ 4 ] = (pt [4] & 0xdf) | ((state_bs[37] & 0x01) << 5);
- pt[ 12 ] = (pt [12] & 0xdf) | ((state_bs[37] & 0x02) << 4);
- pt[ 20 ] = (pt [20] & 0xdf) | ((state_bs[37] & 0x04) << 3);
- pt[ 28 ] = (pt [28] & 0xdf) | ((state_bs[37] & 0x08) << 2);
- pt[ 36 ] = (pt [36] & 0xdf) | ((state_bs[37] & 0x10) << 1);
- pt[ 44 ] = (pt [44] & 0xdf) | ((state_bs[37] >> 0) & 0x20);
- pt[ 52 ] = (pt [52] & 0xdf) | ((state_bs[37] >> 1) & 0x20);
- pt[ 60 ] = (pt [60] & 0xdf) | ((state_bs[37] >> 2) & 0x20);
- pt[ 68 ] = (pt [68] & 0xdf) | ((state_bs[37] >> 3) & 0x20);
- pt[ 76 ] = (pt [76] & 0xdf) | ((state_bs[37] >> 4) & 0x20);
- pt[ 84 ] = (pt [84] & 0xdf) | ((state_bs[37] >> 5) & 0x20);
- pt[ 92 ] = (pt [92] & 0xdf) | ((state_bs[37] >> 6) & 0x20);
- pt[ 100 ] = (pt [100] & 0xdf) | ((state_bs[37] >> 7) & 0x20);
- pt[ 108 ] = (pt [108] & 0xdf) | ((state_bs[37] >> 8) & 0x20);
- pt[ 116 ] = (pt [116] & 0xdf) | ((state_bs[37] >> 9) & 0x20);
- pt[ 124 ] = (pt [124] & 0xdf) | ((state_bs[37] >> 10) & 0x20);
- pt[ 4 ] = (pt [4] & 0xbf) | ((state_bs[38] & 0x01) << 6);
- pt[ 12 ] = (pt [12] & 0xbf) | ((state_bs[38] & 0x02) << 5);
- pt[ 20 ] = (pt [20] & 0xbf) | ((state_bs[38] & 0x04) << 4);
- pt[ 28 ] = (pt [28] & 0xbf) | ((state_bs[38] & 0x08) << 3);
- pt[ 36 ] = (pt [36] & 0xbf) | ((state_bs[38] & 0x10) << 2);
- pt[ 44 ] = (pt [44] & 0xbf) | ((state_bs[38] & 0x20) << 1);
- pt[ 52 ] = (pt [52] & 0xbf) | ((state_bs[38] >> 0) & 0x40);
- pt[ 60 ] = (pt [60] & 0xbf) | ((state_bs[38] >> 1) & 0x40);
- pt[ 68 ] = (pt [68] & 0xbf) | ((state_bs[38] >> 2) & 0x40);
- pt[ 76 ] = (pt [76] & 0xbf) | ((state_bs[38] >> 3) & 0x40);
- pt[ 84 ] = (pt [84] & 0xbf) | ((state_bs[38] >> 4) & 0x40);
- pt[ 92 ] = (pt [92] & 0xbf) | ((state_bs[38] >> 5) & 0x40);
- pt[ 100 ] = (pt [100] & 0xbf) | ((state_bs[38] >> 6) & 0x40);
- pt[ 108 ] = (pt [108] & 0xbf) | ((state_bs[38] >> 7) & 0x40);
- pt[ 116 ] = (pt [116] & 0xbf) | ((state_bs[38] >> 8) & 0x40);
- pt[ 124 ] = (pt [124] & 0xbf) | ((state_bs[38] >> 9) & 0x40);
- pt[ 4 ] = (pt [4] & 0x7f) | ((state_bs[39] & 0x01) << 7);
- pt[ 12 ] = (pt [12] & 0x7f) | ((state_bs[39] & 0x02) << 6);
- pt[ 20 ] = (pt [20] & 0x7f) | ((state_bs[39] & 0x04) << 5);
- pt[ 28 ] = (pt [28] & 0x7f) | ((state_bs[39] & 0x08) << 4);
- pt[ 36 ] = (pt [36] & 0x7f) | ((state_bs[39] & 0x10) << 3);
- pt[ 44 ] = (pt [44] & 0x7f) | ((state_bs[39] & 0x20) << 2);
- pt[ 52 ] = (pt [52] & 0x7f) | ((state_bs[39] & 0x40) << 1);
- pt[ 60 ] = (pt [60] & 0x7f) | ((state_bs[39] >> 0) & 0x80);
- pt[ 68 ] = (pt [68] & 0x7f) | ((state_bs[39] >> 1) & 0x80);
- pt[ 76 ] = (pt [76] & 0x7f) | ((state_bs[39] >> 2) & 0x80);
- pt[ 84 ] = (pt [84] & 0x7f) | ((state_bs[39] >> 3) & 0x80);
- pt[ 92 ] = (pt [92] & 0x7f) | ((state_bs[39] >> 4) & 0x80);
- pt[ 100 ] = (pt [100] & 0x7f) | ((state_bs[39] >> 5) & 0x80);
- pt[ 108 ] = (pt [108] & 0x7f) | ((state_bs[39] >> 6) & 0x80);
- pt[ 116 ] = (pt [116] & 0x7f) | ((state_bs[39] >> 7) & 0x80);
- pt[ 124 ] = (pt [124] & 0x7f) | ((state_bs[39] >> 8) & 0x80);
- pt[ 5 ] = (pt [5] & 0xfe) | ((state_bs[40] >> 0) & 0x01);
- pt[ 13 ] = (pt [13] & 0xfe) | ((state_bs[40] >> 1) & 0x01);
- pt[ 21 ] = (pt [21] & 0xfe) | ((state_bs[40] >> 2) & 0x01);
- pt[ 29 ] = (pt [29] & 0xfe) | ((state_bs[40] >> 3) & 0x01);
- pt[ 37 ] = (pt [37] & 0xfe) | ((state_bs[40] >> 4) & 0x01);
- pt[ 45 ] = (pt [45] & 0xfe) | ((state_bs[40] >> 5) & 0x01);
- pt[ 53 ] = (pt [53] & 0xfe) | ((state_bs[40] >> 6) & 0x01);
- pt[ 61 ] = (pt [61] & 0xfe) | ((state_bs[40] >> 7) & 0x01);
- pt[ 69 ] = (pt [69] & 0xfe) | ((state_bs[40] >> 8) & 0x01);
- pt[ 77 ] = (pt [77] & 0xfe) | ((state_bs[40] >> 9) & 0x01);
- pt[ 85 ] = (pt [85] & 0xfe) | ((state_bs[40] >> 10) & 0x01);
- pt[ 93 ] = (pt [93] & 0xfe) | ((state_bs[40] >> 11) & 0x01);
- pt[ 101 ] = (pt [101] & 0xfe) | ((state_bs[40] >> 12) & 0x01);
- pt[ 109 ] = (pt [109] & 0xfe) | ((state_bs[40] >> 13) & 0x01);
- pt[ 117 ] = (pt [117] & 0xfe) | ((state_bs[40] >> 14) & 0x01);
- pt[ 125 ] = (pt [125] & 0xfe) | ((state_bs[40] >> 15) & 0x01);
- pt[ 5 ] = (pt [5] & 0xfd) | ((state_bs[41] & 0x01) << 1);
- pt[ 13 ] = (pt [13] & 0xfd) | ((state_bs[41] >> 0) & 0x02);
- pt[ 21 ] = (pt [21] & 0xfd) | ((state_bs[41] >> 1) & 0x02);
- pt[ 29 ] = (pt [29] & 0xfd) | ((state_bs[41] >> 2) & 0x02);
- pt[ 37 ] = (pt [37] & 0xfd) | ((state_bs[41] >> 3) & 0x02);
- pt[ 45 ] = (pt [45] & 0xfd) | ((state_bs[41] >> 4) & 0x02);
- pt[ 53 ] = (pt [53] & 0xfd) | ((state_bs[41] >> 5) & 0x02);
- pt[ 61 ] = (pt [61] & 0xfd) | ((state_bs[41] >> 6) & 0x02);
- pt[ 69 ] = (pt [69] & 0xfd) | ((state_bs[41] >> 7) & 0x02);
- pt[ 77 ] = (pt [77] & 0xfd) | ((state_bs[41] >> 8) & 0x02);
- pt[ 85 ] = (pt [85] & 0xfd) | ((state_bs[41] >> 9) & 0x02);
- pt[ 93 ] = (pt [93] & 0xfd) | ((state_bs[41] >> 10) & 0x02);
- pt[ 101 ] = (pt [101] & 0xfd) | ((state_bs[41] >> 11) & 0x02);
- pt[ 109 ] = (pt [109] & 0xfd) | ((state_bs[41] >> 12) & 0x02);
- pt[ 117 ] = (pt [117] & 0xfd) | ((state_bs[41] >> 13) & 0x02);
- pt[ 125 ] = (pt [125] & 0xfd) | ((state_bs[41] >> 14) & 0x02);
- pt[ 5 ] = (pt [5] & 0xfb) | ((state_bs[42] & 0x01) << 2);
- pt[ 13 ] = (pt [13] & 0xfb) | ((state_bs[42] & 0x02) << 1);
- pt[ 21 ] = (pt [21] & 0xfb) | ((state_bs[42] >> 0) & 0x04);
- pt[ 29 ] = (pt [29] & 0xfb) | ((state_bs[42] >> 1) & 0x04);
- pt[ 37 ] = (pt [37] & 0xfb) | ((state_bs[42] >> 2) & 0x04);
- pt[ 45 ] = (pt [45] & 0xfb) | ((state_bs[42] >> 3) & 0x04);
- pt[ 53 ] = (pt [53] & 0xfb) | ((state_bs[42] >> 4) & 0x04);
- pt[ 61 ] = (pt [61] & 0xfb) | ((state_bs[42] >> 5) & 0x04);
- pt[ 69 ] = (pt [69] & 0xfb) | ((state_bs[42] >> 6) & 0x04);
- pt[ 77 ] = (pt [77] & 0xfb) | ((state_bs[42] >> 7) & 0x04);
- pt[ 85 ] = (pt [85] & 0xfb) | ((state_bs[42] >> 8) & 0x04);
- pt[ 93 ] = (pt [93] & 0xfb) | ((state_bs[42] >> 9) & 0x04);
- pt[ 101 ] = (pt [101] & 0xfb) | ((state_bs[42] >> 10) & 0x04);
- pt[ 109 ] = (pt [109] & 0xfb) | ((state_bs[42] >> 11) & 0x04);
- pt[ 117 ] = (pt [117] & 0xfb) | ((state_bs[42] >> 12) & 0x04);
- pt[ 125 ] = (pt [125] & 0xfb) | ((state_bs[42] >> 13) & 0x04);
- pt[ 5 ] = (pt [5] & 0xf7) | ((state_bs[43] & 0x01) << 3);
- pt[ 13 ] = (pt [13] & 0xf7) | ((state_bs[43] & 0x02) << 2);
- pt[ 21 ] = (pt [21] & 0xf7) | ((state_bs[43] & 0x04) << 1);
- pt[ 29 ] = (pt [29] & 0xf7) | ((state_bs[43] >> 0) & 0x08);
- pt[ 37 ] = (pt [37] & 0xf7) | ((state_bs[43] >> 1) & 0x08);
- pt[ 45 ] = (pt [45] & 0xf7) | ((state_bs[43] >> 2) & 0x08);
- pt[ 53 ] = (pt [53] & 0xf7) | ((state_bs[43] >> 3) & 0x08);
- pt[ 61 ] = (pt [61] & 0xf7) | ((state_bs[43] >> 4) & 0x08);
- pt[ 69 ] = (pt [69] & 0xf7) | ((state_bs[43] >> 5) & 0x08);
- pt[ 77 ] = (pt [77] & 0xf7) | ((state_bs[43] >> 6) & 0x08);
- pt[ 85 ] = (pt [85] & 0xf7) | ((state_bs[43] >> 7) & 0x08);
- pt[ 93 ] = (pt [93] & 0xf7) | ((state_bs[43] >> 8) & 0x08);
- pt[ 101 ] = (pt [101] & 0xf7) | ((state_bs[43] >> 9) & 0x08);
- pt[ 109 ] = (pt [109] & 0xf7) | ((state_bs[43] >> 10) & 0x08);
- pt[ 117 ] = (pt [117] & 0xf7) | ((state_bs[43] >> 11) & 0x08);
- pt[ 125 ] = (pt [125] & 0xf7) | ((state_bs[43] >> 12) & 0x08);
- pt[ 5 ] = (pt [5] & 0xef) | ((state_bs[44] & 0x01) << 4);
- pt[ 13 ] = (pt [13] & 0xef) | ((state_bs[44] & 0x02) << 3);
- pt[ 21 ] = (pt [21] & 0xef) | ((state_bs[44] & 0x04) << 2);
- pt[ 29 ] = (pt [29] & 0xef) | ((state_bs[44] & 0x08) << 1);
- pt[ 37 ] = (pt [37] & 0xef) | ((state_bs[44] >> 0) & 0x10);
- pt[ 45 ] = (pt [45] & 0xef) | ((state_bs[44] >> 1) & 0x10);
- pt[ 53 ] = (pt [53] & 0xef) | ((state_bs[44] >> 2) & 0x10);
- pt[ 61 ] = (pt [61] & 0xef) | ((state_bs[44] >> 3) & 0x10);
- pt[ 69 ] = (pt [69] & 0xef) | ((state_bs[44] >> 4) & 0x10);
- pt[ 77 ] = (pt [77] & 0xef) | ((state_bs[44] >> 5) & 0x10);
- pt[ 85 ] = (pt [85] & 0xef) | ((state_bs[44] >> 6) & 0x10);
- pt[ 93 ] = (pt [93] & 0xef) | ((state_bs[44] >> 7) & 0x10);
- pt[ 101 ] = (pt [101] & 0xef) | ((state_bs[44] >> 8) & 0x10);
- pt[ 109 ] = (pt [109] & 0xef) | ((state_bs[44] >> 9) & 0x10);
- pt[ 117 ] = (pt [117] & 0xef) | ((state_bs[44] >> 10) & 0x10);
- pt[ 125 ] = (pt [125] & 0xef) | ((state_bs[44] >> 11) & 0x10);
- pt[ 5 ] = (pt [5] & 0xdf) | ((state_bs[45] & 0x01) << 5);
- pt[ 13 ] = (pt [13] & 0xdf) | ((state_bs[45] & 0x02) << 4);
- pt[ 21 ] = (pt [21] & 0xdf) | ((state_bs[45] & 0x04) << 3);
- pt[ 29 ] = (pt [29] & 0xdf) | ((state_bs[45] & 0x08) << 2);
- pt[ 37 ] = (pt [37] & 0xdf) | ((state_bs[45] & 0x10) << 1);
- pt[ 45 ] = (pt [45] & 0xdf) | ((state_bs[45] >> 0) & 0x20);
- pt[ 53 ] = (pt [53] & 0xdf) | ((state_bs[45] >> 1) & 0x20);
- pt[ 61 ] = (pt [61] & 0xdf) | ((state_bs[45] >> 2) & 0x20);
- pt[ 69 ] = (pt [69] & 0xdf) | ((state_bs[45] >> 3) & 0x20);
- pt[ 77 ] = (pt [77] & 0xdf) | ((state_bs[45] >> 4) & 0x20);
- pt[ 85 ] = (pt [85] & 0xdf) | ((state_bs[45] >> 5) & 0x20);
- pt[ 93 ] = (pt [93] & 0xdf) | ((state_bs[45] >> 6) & 0x20);
- pt[ 101 ] = (pt [101] & 0xdf) | ((state_bs[45] >> 7) & 0x20);
- pt[ 109 ] = (pt [109] & 0xdf) | ((state_bs[45] >> 8) & 0x20);
- pt[ 117 ] = (pt [117] & 0xdf) | ((state_bs[45] >> 9) & 0x20);
- pt[ 125 ] = (pt [125] & 0xdf) | ((state_bs[45] >> 10) & 0x20);
- pt[ 5 ] = (pt [5] & 0xbf) | ((state_bs[46] & 0x01) << 6);
- pt[ 13 ] = (pt [13] & 0xbf) | ((state_bs[46] & 0x02) << 5);
- pt[ 21 ] = (pt [21] & 0xbf) | ((state_bs[46] & 0x04) << 4);
- pt[ 29 ] = (pt [29] & 0xbf) | ((state_bs[46] & 0x08) << 3);
- pt[ 37 ] = (pt [37] & 0xbf) | ((state_bs[46] & 0x10) << 2);
- pt[ 45 ] = (pt [45] & 0xbf) | ((state_bs[46] & 0x20) << 1);
- pt[ 53 ] = (pt [53] & 0xbf) | ((state_bs[46] >> 0) & 0x40);
- pt[ 61 ] = (pt [61] & 0xbf) | ((state_bs[46] >> 1) & 0x40);
- pt[ 69 ] = (pt [69] & 0xbf) | ((state_bs[46] >> 2) & 0x40);
- pt[ 77 ] = (pt [77] & 0xbf) | ((state_bs[46] >> 3) & 0x40);
- pt[ 85 ] = (pt [85] & 0xbf) | ((state_bs[46] >> 4) & 0x40);
- pt[ 93 ] = (pt [93] & 0xbf) | ((state_bs[46] >> 5) & 0x40);
- pt[ 101 ] = (pt [101] & 0xbf) | ((state_bs[46] >> 6) & 0x40);
- pt[ 109 ] = (pt [109] & 0xbf) | ((state_bs[46] >> 7) & 0x40);
- pt[ 117 ] = (pt [117] & 0xbf) | ((state_bs[46] >> 8) & 0x40);
- pt[ 125 ] = (pt [125] & 0xbf) | ((state_bs[46] >> 9) & 0x40);
- pt[ 5 ] = (pt [5] & 0x7f) | ((state_bs[47] & 0x01) << 7);
- pt[ 13 ] = (pt [13] & 0x7f) | ((state_bs[47] & 0x02) << 6);
- pt[ 21 ] = (pt [21] & 0x7f) | ((state_bs[47] & 0x04) << 5);
- pt[ 29 ] = (pt [29] & 0x7f) | ((state_bs[47] & 0x08) << 4);
- pt[ 37 ] = (pt [37] & 0x7f) | ((state_bs[47] & 0x10) << 3);
- pt[ 45 ] = (pt [45] & 0x7f) | ((state_bs[47] & 0x20) << 2);
- pt[ 53 ] = (pt [53] & 0x7f) | ((state_bs[47] & 0x40) << 1);
- pt[ 61 ] = (pt [61] & 0x7f) | ((state_bs[47] >> 0) & 0x80);
- pt[ 69 ] = (pt [69] & 0x7f) | ((state_bs[47] >> 1) & 0x80);
- pt[ 77 ] = (pt [77] & 0x7f) | ((state_bs[47] >> 2) & 0x80);
- pt[ 85 ] = (pt [85] & 0x7f) | ((state_bs[47] >> 3) & 0x80);
- pt[ 93 ] = (pt [93] & 0x7f) | ((state_bs[47] >> 4) & 0x80);
- pt[ 101 ] = (pt [101] & 0x7f) | ((state_bs[47] >> 5) & 0x80);
- pt[ 109 ] = (pt [109] & 0x7f) | ((state_bs[47] >> 6) & 0x80);
- pt[ 117 ] = (pt [117] & 0x7f) | ((state_bs[47] >> 7) & 0x80);
- pt[ 125 ] = (pt [125] & 0x7f) | ((state_bs[47] >> 8) & 0x80);
- pt[ 6 ] = (pt [6] & 0xfe) | ((state_bs[48] >> 0) & 0x01);
- pt[ 14 ] = (pt [14] & 0xfe) | ((state_bs[48] >> 1) & 0x01);
- pt[ 22 ] = (pt [22] & 0xfe) | ((state_bs[48] >> 2) & 0x01);
- pt[ 30 ] = (pt [30] & 0xfe) | ((state_bs[48] >> 3) & 0x01);
- pt[ 38 ] = (pt [38] & 0xfe) | ((state_bs[48] >> 4) & 0x01);
- pt[ 46 ] = (pt [46] & 0xfe) | ((state_bs[48] >> 5) & 0x01);
- pt[ 54 ] = (pt [54] & 0xfe) | ((state_bs[48] >> 6) & 0x01);
- pt[ 62 ] = (pt [62] & 0xfe) | ((state_bs[48] >> 7) & 0x01);
- pt[ 70 ] = (pt [70] & 0xfe) | ((state_bs[48] >> 8) & 0x01);
- pt[ 78 ] = (pt [78] & 0xfe) | ((state_bs[48] >> 9) & 0x01);
- pt[ 86 ] = (pt [86] & 0xfe) | ((state_bs[48] >> 10) & 0x01);
- pt[ 94 ] = (pt [94] & 0xfe) | ((state_bs[48] >> 11) & 0x01);
- pt[ 102 ] = (pt [102] & 0xfe) | ((state_bs[48] >> 12) & 0x01);
- pt[ 110 ] = (pt [110] & 0xfe) | ((state_bs[48] >> 13) & 0x01);
- pt[ 118 ] = (pt [118] & 0xfe) | ((state_bs[48] >> 14) & 0x01);
- pt[ 126 ] = (pt [126] & 0xfe) | ((state_bs[48] >> 15) & 0x01);
- pt[ 6 ] = (pt [6] & 0xfd) | ((state_bs[49] & 0x01) << 1);
- pt[ 14 ] = (pt [14] & 0xfd) | ((state_bs[49] >> 0) & 0x02);
- pt[ 22 ] = (pt [22] & 0xfd) | ((state_bs[49] >> 1) & 0x02);
- pt[ 30 ] = (pt [30] & 0xfd) | ((state_bs[49] >> 2) & 0x02);
- pt[ 38 ] = (pt [38] & 0xfd) | ((state_bs[49] >> 3) & 0x02);
- pt[ 46 ] = (pt [46] & 0xfd) | ((state_bs[49] >> 4) & 0x02);
- pt[ 54 ] = (pt [54] & 0xfd) | ((state_bs[49] >> 5) & 0x02);
- pt[ 62 ] = (pt [62] & 0xfd) | ((state_bs[49] >> 6) & 0x02);
- pt[ 70 ] = (pt [70] & 0xfd) | ((state_bs[49] >> 7) & 0x02);
- pt[ 78 ] = (pt [78] & 0xfd) | ((state_bs[49] >> 8) & 0x02);
- pt[ 86 ] = (pt [86] & 0xfd) | ((state_bs[49] >> 9) & 0x02);
- pt[ 94 ] = (pt [94] & 0xfd) | ((state_bs[49] >> 10) & 0x02);
- pt[ 102 ] = (pt [102] & 0xfd) | ((state_bs[49] >> 11) & 0x02);
- pt[ 110 ] = (pt [110] & 0xfd) | ((state_bs[49] >> 12) & 0x02);
- pt[ 118 ] = (pt [118] & 0xfd) | ((state_bs[49] >> 13) & 0x02);
- pt[ 126 ] = (pt [126] & 0xfd) | ((state_bs[49] >> 14) & 0x02);
- pt[ 6 ] = (pt [6] & 0xfb) | ((state_bs[50] & 0x01) << 2);
- pt[ 14 ] = (pt [14] & 0xfb) | ((state_bs[50] & 0x02) << 1);
- pt[ 22 ] = (pt [22] & 0xfb) | ((state_bs[50] >> 0) & 0x04);
- pt[ 30 ] = (pt [30] & 0xfb) | ((state_bs[50] >> 1) & 0x04);
- pt[ 38 ] = (pt [38] & 0xfb) | ((state_bs[50] >> 2) & 0x04);
- pt[ 46 ] = (pt [46] & 0xfb) | ((state_bs[50] >> 3) & 0x04);
- pt[ 54 ] = (pt [54] & 0xfb) | ((state_bs[50] >> 4) & 0x04);
- pt[ 62 ] = (pt [62] & 0xfb) | ((state_bs[50] >> 5) & 0x04);
- pt[ 70 ] = (pt [70] & 0xfb) | ((state_bs[50] >> 6) & 0x04);
- pt[ 78 ] = (pt [78] & 0xfb) | ((state_bs[50] >> 7) & 0x04);
- pt[ 86 ] = (pt [86] & 0xfb) | ((state_bs[50] >> 8) & 0x04);
- pt[ 94 ] = (pt [94] & 0xfb) | ((state_bs[50] >> 9) & 0x04);
- pt[ 102 ] = (pt [102] & 0xfb) | ((state_bs[50] >> 10) & 0x04);
- pt[ 110 ] = (pt [110] & 0xfb) | ((state_bs[50] >> 11) & 0x04);
- pt[ 118 ] = (pt [118] & 0xfb) | ((state_bs[50] >> 12) & 0x04);
- pt[ 126 ] = (pt [126] & 0xfb) | ((state_bs[50] >> 13) & 0x04);
- pt[ 6 ] = (pt [6] & 0xf7) | ((state_bs[51] & 0x01) << 3);
- pt[ 14 ] = (pt [14] & 0xf7) | ((state_bs[51] & 0x02) << 2);
- pt[ 22 ] = (pt [22] & 0xf7) | ((state_bs[51] & 0x04) << 1);
- pt[ 30 ] = (pt [30] & 0xf7) | ((state_bs[51] >> 0) & 0x08);
- pt[ 38 ] = (pt [38] & 0xf7) | ((state_bs[51] >> 1) & 0x08);
- pt[ 46 ] = (pt [46] & 0xf7) | ((state_bs[51] >> 2) & 0x08);
- pt[ 54 ] = (pt [54] & 0xf7) | ((state_bs[51] >> 3) & 0x08);
- pt[ 62 ] = (pt [62] & 0xf7) | ((state_bs[51] >> 4) & 0x08);
- pt[ 70 ] = (pt [70] & 0xf7) | ((state_bs[51] >> 5) & 0x08);
- pt[ 78 ] = (pt [78] & 0xf7) | ((state_bs[51] >> 6) & 0x08);
- pt[ 86 ] = (pt [86] & 0xf7) | ((state_bs[51] >> 7) & 0x08);
- pt[ 94 ] = (pt [94] & 0xf7) | ((state_bs[51] >> 8) & 0x08);
- pt[ 102 ] = (pt [102] & 0xf7) | ((state_bs[51] >> 9) & 0x08);
- pt[ 110 ] = (pt [110] & 0xf7) | ((state_bs[51] >> 10) & 0x08);
- pt[ 118 ] = (pt [118] & 0xf7) | ((state_bs[51] >> 11) & 0x08);
- pt[ 126 ] = (pt [126] & 0xf7) | ((state_bs[51] >> 12) & 0x08);
- pt[ 6 ] = (pt [6] & 0xef) | ((state_bs[52] & 0x01) << 4);
- pt[ 14 ] = (pt [14] & 0xef) | ((state_bs[52] & 0x02) << 3);
- pt[ 22 ] = (pt [22] & 0xef) | ((state_bs[52] & 0x04) << 2);
- pt[ 30 ] = (pt [30] & 0xef) | ((state_bs[52] & 0x08) << 1);
- pt[ 38 ] = (pt [38] & 0xef) | ((state_bs[52] >> 0) & 0x10);
- pt[ 46 ] = (pt [46] & 0xef) | ((state_bs[52] >> 1) & 0x10);
- pt[ 54 ] = (pt [54] & 0xef) | ((state_bs[52] >> 2) & 0x10);
- pt[ 62 ] = (pt [62] & 0xef) | ((state_bs[52] >> 3) & 0x10);
- pt[ 70 ] = (pt [70] & 0xef) | ((state_bs[52] >> 4) & 0x10);
- pt[ 78 ] = (pt [78] & 0xef) | ((state_bs[52] >> 5) & 0x10);
- pt[ 86 ] = (pt [86] & 0xef) | ((state_bs[52] >> 6) & 0x10);
- pt[ 94 ] = (pt [94] & 0xef) | ((state_bs[52] >> 7) & 0x10);
- pt[ 102 ] = (pt [102] & 0xef) | ((state_bs[52] >> 8) & 0x10);
- pt[ 110 ] = (pt [110] & 0xef) | ((state_bs[52] >> 9) & 0x10);
- pt[ 118 ] = (pt [118] & 0xef) | ((state_bs[52] >> 10) & 0x10);
- pt[ 126 ] = (pt [126] & 0xef) | ((state_bs[52] >> 11) & 0x10);
- pt[ 6 ] = (pt [6] & 0xdf) | ((state_bs[53] & 0x01) << 5);
- pt[ 14 ] = (pt [14] & 0xdf) | ((state_bs[53] & 0x02) << 4);
- pt[ 22 ] = (pt [22] & 0xdf) | ((state_bs[53] & 0x04) << 3);
- pt[ 30 ] = (pt [30] & 0xdf) | ((state_bs[53] & 0x08) << 2);
- pt[ 38 ] = (pt [38] & 0xdf) | ((state_bs[53] & 0x10) << 1);
- pt[ 46 ] = (pt [46] & 0xdf) | ((state_bs[53] >> 0) & 0x20);
- pt[ 54 ] = (pt [54] & 0xdf) | ((state_bs[53] >> 1) & 0x20);
- pt[ 62 ] = (pt [62] & 0xdf) | ((state_bs[53] >> 2) & 0x20);
- pt[ 70 ] = (pt [70] & 0xdf) | ((state_bs[53] >> 3) & 0x20);
- pt[ 78 ] = (pt [78] & 0xdf) | ((state_bs[53] >> 4) & 0x20);
- pt[ 86 ] = (pt [86] & 0xdf) | ((state_bs[53] >> 5) & 0x20);
- pt[ 94 ] = (pt [94] & 0xdf) | ((state_bs[53] >> 6) & 0x20);
- pt[ 102 ] = (pt [102] & 0xdf) | ((state_bs[53] >> 7) & 0x20);
- pt[ 110 ] = (pt [110] & 0xdf) | ((state_bs[53] >> 8) & 0x20);
- pt[ 118 ] = (pt [118] & 0xdf) | ((state_bs[53] >> 9) & 0x20);
- pt[ 126 ] = (pt [126] & 0xdf) | ((state_bs[53] >> 10) & 0x20);
- pt[ 6 ] = (pt [6] & 0xbf) | ((state_bs[54] & 0x01) << 6);
- pt[ 14 ] = (pt [14] & 0xbf) | ((state_bs[54] & 0x02) << 5);
- pt[ 22 ] = (pt [22] & 0xbf) | ((state_bs[54] & 0x04) << 4);
- pt[ 30 ] = (pt [30] & 0xbf) | ((state_bs[54] & 0x08) << 3);
- pt[ 38 ] = (pt [38] & 0xbf) | ((state_bs[54] & 0x10) << 2);
- pt[ 46 ] = (pt [46] & 0xbf) | ((state_bs[54] & 0x20) << 1);
- pt[ 54 ] = (pt [54] & 0xbf) | ((state_bs[54] >> 0) & 0x40);
- pt[ 62 ] = (pt [62] & 0xbf) | ((state_bs[54] >> 1) & 0x40);
- pt[ 70 ] = (pt [70] & 0xbf) | ((state_bs[54] >> 2) & 0x40);
- pt[ 78 ] = (pt [78] & 0xbf) | ((state_bs[54] >> 3) & 0x40);
- pt[ 86 ] = (pt [86] & 0xbf) | ((state_bs[54] >> 4) & 0x40);
- pt[ 94 ] = (pt [94] & 0xbf) | ((state_bs[54] >> 5) & 0x40);
- pt[ 102 ] = (pt [102] & 0xbf) | ((state_bs[54] >> 6) & 0x40);
- pt[ 110 ] = (pt [110] & 0xbf) | ((state_bs[54] >> 7) & 0x40);
- pt[ 118 ] = (pt [118] & 0xbf) | ((state_bs[54] >> 8) & 0x40);
- pt[ 126 ] = (pt [126] & 0xbf) | ((state_bs[54] >> 9) & 0x40);
- pt[ 6 ] = (pt [6] & 0x7f) | ((state_bs[55] & 0x01) << 7);
- pt[ 14 ] = (pt [14] & 0x7f) | ((state_bs[55] & 0x02) << 6);
- pt[ 22 ] = (pt [22] & 0x7f) | ((state_bs[55] & 0x04) << 5);
- pt[ 30 ] = (pt [30] & 0x7f) | ((state_bs[55] & 0x08) << 4);
- pt[ 38 ] = (pt [38] & 0x7f) | ((state_bs[55] & 0x10) << 3);
- pt[ 46 ] = (pt [46] & 0x7f) | ((state_bs[55] & 0x20) << 2);
- pt[ 54 ] = (pt [54] & 0x7f) | ((state_bs[55] & 0x40) << 1);
- pt[ 62 ] = (pt [62] & 0x7f) | ((state_bs[55] >> 0) & 0x80);
- pt[ 70 ] = (pt [70] & 0x7f) | ((state_bs[55] >> 1) & 0x80);
- pt[ 78 ] = (pt [78] & 0x7f) | ((state_bs[55] >> 2) & 0x80);
- pt[ 86 ] = (pt [86] & 0x7f) | ((state_bs[55] >> 3) & 0x80);
- pt[ 94 ] = (pt [94] & 0x7f) | ((state_bs[55] >> 4) & 0x80);
- pt[ 102 ] = (pt [102] & 0x7f) | ((state_bs[55] >> 5) & 0x80);
- pt[ 110 ] = (pt [110] & 0x7f) | ((state_bs[55] >> 6) & 0x80);
- pt[ 118 ] = (pt [118] & 0x7f) | ((state_bs[55] >> 7) & 0x80);
- pt[ 126 ] = (pt [126] & 0x7f) | ((state_bs[55] >> 8) & 0x80);
- pt[ 7 ] = (pt [7] & 0xfe) | ((state_bs[56] >> 0) & 0x01);
- pt[ 15 ] = (pt [15] & 0xfe) | ((state_bs[56] >> 1) & 0x01);
- pt[ 23 ] = (pt [23] & 0xfe) | ((state_bs[56] >> 2) & 0x01);
- pt[ 31 ] = (pt [31] & 0xfe) | ((state_bs[56] >> 3) & 0x01);
- pt[ 39 ] = (pt [39] & 0xfe) | ((state_bs[56] >> 4) & 0x01);
- pt[ 47 ] = (pt [47] & 0xfe) | ((state_bs[56] >> 5) & 0x01);
- pt[ 55 ] = (pt [55] & 0xfe) | ((state_bs[56] >> 6) & 0x01);
- pt[ 63 ] = (pt [63] & 0xfe) | ((state_bs[56] >> 7) & 0x01);
- pt[ 71 ] = (pt [71] & 0xfe) | ((state_bs[56] >> 8) & 0x01);
- pt[ 79 ] = (pt [79] & 0xfe) | ((state_bs[56] >> 9) & 0x01);
- pt[ 87 ] = (pt [87] & 0xfe) | ((state_bs[56] >> 10) & 0x01);
- pt[ 95 ] = (pt [95] & 0xfe) | ((state_bs[56] >> 11) & 0x01);
- pt[ 103 ] = (pt [103] & 0xfe) | ((state_bs[56] >> 12) & 0x01);
- pt[ 111 ] = (pt [111] & 0xfe) | ((state_bs[56] >> 13) & 0x01);
- pt[ 119 ] = (pt [119] & 0xfe) | ((state_bs[56] >> 14) & 0x01);
- pt[ 127 ] = (pt [127] & 0xfe) | ((state_bs[56] >> 15) & 0x01);
- pt[ 7 ] = (pt [7] & 0xfd) | ((state_bs[57] & 0x01) << 1);
- pt[ 15 ] = (pt [15] & 0xfd) | ((state_bs[57] >> 0) & 0x02);
- pt[ 23 ] = (pt [23] & 0xfd) | ((state_bs[57] >> 1) & 0x02);
- pt[ 31 ] = (pt [31] & 0xfd) | ((state_bs[57] >> 2) & 0x02);
- pt[ 39 ] = (pt [39] & 0xfd) | ((state_bs[57] >> 3) & 0x02);
- pt[ 47 ] = (pt [47] & 0xfd) | ((state_bs[57] >> 4) & 0x02);
- pt[ 55 ] = (pt [55] & 0xfd) | ((state_bs[57] >> 5) & 0x02);
- pt[ 63 ] = (pt [63] & 0xfd) | ((state_bs[57] >> 6) & 0x02);
- pt[ 71 ] = (pt [71] & 0xfd) | ((state_bs[57] >> 7) & 0x02);
- pt[ 79 ] = (pt [79] & 0xfd) | ((state_bs[57] >> 8) & 0x02);
- pt[ 87 ] = (pt [87] & 0xfd) | ((state_bs[57] >> 9) & 0x02);
- pt[ 95 ] = (pt [95] & 0xfd) | ((state_bs[57] >> 10) & 0x02);
- pt[ 103 ] = (pt [103] & 0xfd) | ((state_bs[57] >> 11) & 0x02);
- pt[ 111 ] = (pt [111] & 0xfd) | ((state_bs[57] >> 12) & 0x02);
- pt[ 119 ] = (pt [119] & 0xfd) | ((state_bs[57] >> 13) & 0x02);
- pt[ 127 ] = (pt [127] & 0xfd) | ((state_bs[57] >> 14) & 0x02);
- pt[ 7 ] = (pt [7] & 0xfb) | ((state_bs[58] & 0x01) << 2);
- pt[ 15 ] = (pt [15] & 0xfb) | ((state_bs[58] & 0x02) << 1);
- pt[ 23 ] = (pt [23] & 0xfb) | ((state_bs[58] >> 0) & 0x04);
- pt[ 31 ] = (pt [31] & 0xfb) | ((state_bs[58] >> 1) & 0x04);
- pt[ 39 ] = (pt [39] & 0xfb) | ((state_bs[58] >> 2) & 0x04);
- pt[ 47 ] = (pt [47] & 0xfb) | ((state_bs[58] >> 3) & 0x04);
- pt[ 55 ] = (pt [55] & 0xfb) | ((state_bs[58] >> 4) & 0x04);
- pt[ 63 ] = (pt [63] & 0xfb) | ((state_bs[58] >> 5) & 0x04);
- pt[ 71 ] = (pt [71] & 0xfb) | ((state_bs[58] >> 6) & 0x04);
- pt[ 79 ] = (pt [79] & 0xfb) | ((state_bs[58] >> 7) & 0x04);
- pt[ 87 ] = (pt [87] & 0xfb) | ((state_bs[58] >> 8) & 0x04);
- pt[ 95 ] = (pt [95] & 0xfb) | ((state_bs[58] >> 9) & 0x04);
- pt[ 103 ] = (pt [103] & 0xfb) | ((state_bs[58] >> 10) & 0x04);
- pt[ 111 ] = (pt [111] & 0xfb) | ((state_bs[58] >> 11) & 0x04);
- pt[ 119 ] = (pt [119] & 0xfb) | ((state_bs[58] >> 12) & 0x04);
- pt[ 127 ] = (pt [127] & 0xfb) | ((state_bs[58] >> 13) & 0x04);
- pt[ 7 ] = (pt [7] & 0xf7) | ((state_bs[59] & 0x01) << 3);
- pt[ 15 ] = (pt [15] & 0xf7) | ((state_bs[59] & 0x02) << 2);
- pt[ 23 ] = (pt [23] & 0xf7) | ((state_bs[59] & 0x04) << 1);
- pt[ 31 ] = (pt [31] & 0xf7) | ((state_bs[59] >> 0) & 0x08);
- pt[ 39 ] = (pt [39] & 0xf7) | ((state_bs[59] >> 1) & 0x08);
- pt[ 47 ] = (pt [47] & 0xf7) | ((state_bs[59] >> 2) & 0x08);
- pt[ 55 ] = (pt [55] & 0xf7) | ((state_bs[59] >> 3) & 0x08);
- pt[ 63 ] = (pt [63] & 0xf7) | ((state_bs[59] >> 4) & 0x08);
- pt[ 71 ] = (pt [71] & 0xf7) | ((state_bs[59] >> 5) & 0x08);
- pt[ 79 ] = (pt [79] & 0xf7) | ((state_bs[59] >> 6) & 0x08);
- pt[ 87 ] = (pt [87] & 0xf7) | ((state_bs[59] >> 7) & 0x08);
- pt[ 95 ] = (pt [95] & 0xf7) | ((state_bs[59] >> 8) & 0x08);
- pt[ 103 ] = (pt [103] & 0xf7) | ((state_bs[59] >> 9) & 0x08);
- pt[ 111 ] = (pt [111] & 0xf7) | ((state_bs[59] >> 10) & 0x08);
- pt[ 119 ] = (pt [119] & 0xf7) | ((state_bs[59] >> 11) & 0x08);
- pt[ 127 ] = (pt [127] & 0xf7) | ((state_bs[59] >> 12) & 0x08);
- pt[ 7 ] = (pt [7] & 0xef) | ((state_bs[60] & 0x01) << 4);
- pt[ 15 ] = (pt [15] & 0xef) | ((state_bs[60] & 0x02) << 3);
- pt[ 23 ] = (pt [23] & 0xef) | ((state_bs[60] & 0x04) << 2);
- pt[ 31 ] = (pt [31] & 0xef) | ((state_bs[60] & 0x08) << 1);
- pt[ 39 ] = (pt [39] & 0xef) | ((state_bs[60] >> 0) & 0x10);
- pt[ 47 ] = (pt [47] & 0xef) | ((state_bs[60] >> 1) & 0x10);
- pt[ 55 ] = (pt [55] & 0xef) | ((state_bs[60] >> 2) & 0x10);
- pt[ 63 ] = (pt [63] & 0xef) | ((state_bs[60] >> 3) & 0x10);
- pt[ 71 ] = (pt [71] & 0xef) | ((state_bs[60] >> 4) & 0x10);
- pt[ 79 ] = (pt [79] & 0xef) | ((state_bs[60] >> 5) & 0x10);
- pt[ 87 ] = (pt [87] & 0xef) | ((state_bs[60] >> 6) & 0x10);
- pt[ 95 ] = (pt [95] & 0xef) | ((state_bs[60] >> 7) & 0x10);
- pt[ 103 ] = (pt [103] & 0xef) | ((state_bs[60] >> 8) & 0x10);
- pt[ 111 ] = (pt [111] & 0xef) | ((state_bs[60] >> 9) & 0x10);
- pt[ 119 ] = (pt [119] & 0xef) | ((state_bs[60] >> 10) & 0x10);
- pt[ 127 ] = (pt [127] & 0xef) | ((state_bs[60] >> 11) & 0x10);
- pt[ 7 ] = (pt [7] & 0xdf) | ((state_bs[61] & 0x01) << 5);
- pt[ 15 ] = (pt [15] & 0xdf) | ((state_bs[61] & 0x02) << 4);
- pt[ 23 ] = (pt [23] & 0xdf) | ((state_bs[61] & 0x04) << 3);
- pt[ 31 ] = (pt [31] & 0xdf) | ((state_bs[61] & 0x08) << 2);
- pt[ 39 ] = (pt [39] & 0xdf) | ((state_bs[61] & 0x10) << 1);
- pt[ 47 ] = (pt [47] & 0xdf) | ((state_bs[61] >> 0) & 0x20);
- pt[ 55 ] = (pt [55] & 0xdf) | ((state_bs[61] >> 1) & 0x20);
- pt[ 63 ] = (pt [63] & 0xdf) | ((state_bs[61] >> 2) & 0x20);
- pt[ 71 ] = (pt [71] & 0xdf) | ((state_bs[61] >> 3) & 0x20);
- pt[ 79 ] = (pt [79] & 0xdf) | ((state_bs[61] >> 4) & 0x20);
- pt[ 87 ] = (pt [87] & 0xdf) | ((state_bs[61] >> 5) & 0x20);
- pt[ 95 ] = (pt [95] & 0xdf) | ((state_bs[61] >> 6) & 0x20);
- pt[ 103 ] = (pt [103] & 0xdf) | ((state_bs[61] >> 7) & 0x20);
- pt[ 111 ] = (pt [111] & 0xdf) | ((state_bs[61] >> 8) & 0x20);
- pt[ 119 ] = (pt [119] & 0xdf) | ((state_bs[61] >> 9) & 0x20);
- pt[ 127 ] = (pt [127] & 0xdf) | ((state_bs[61] >> 10) & 0x20);
- pt[ 7 ] = (pt [7] & 0xbf) | ((state_bs[62] & 0x01) << 6);
- pt[ 15 ] = (pt [15] & 0xbf) | ((state_bs[62] & 0x02) << 5);
- pt[ 23 ] = (pt [23] & 0xbf) | ((state_bs[62] & 0x04) << 4);
- pt[ 31 ] = (pt [31] & 0xbf) | ((state_bs[62] & 0x08) << 3);
- pt[ 39 ] = (pt [39] & 0xbf) | ((state_bs[62] & 0x10) << 2);
- pt[ 47 ] = (pt [47] & 0xbf) | ((state_bs[62] & 0x20) << 1);
- pt[ 55 ] = (pt [55] & 0xbf) | ((state_bs[62] >> 0) & 0x40);
- pt[ 63 ] = (pt [63] & 0xbf) | ((state_bs[62] >> 1) & 0x40);
- pt[ 71 ] = (pt [71] & 0xbf) | ((state_bs[62] >> 2) & 0x40);
- pt[ 79 ] = (pt [79] & 0xbf) | ((state_bs[62] >> 3) & 0x40);
- pt[ 87 ] = (pt [87] & 0xbf) | ((state_bs[62] >> 4) & 0x40);
- pt[ 95 ] = (pt [95] & 0xbf) | ((state_bs[62] >> 5) & 0x40);
- pt[ 103 ] = (pt [103] & 0xbf) | ((state_bs[62] >> 6) & 0x40);
- pt[ 111 ] = (pt [111] & 0xbf) | ((state_bs[62] >> 7) & 0x40);
- pt[ 119 ] = (pt [119] & 0xbf) | ((state_bs[62] >> 8) & 0x40);
- pt[ 127 ] = (pt [127] & 0xbf) | ((state_bs[62] >> 9) & 0x40);
- pt[ 7 ] = (pt [7] & 0x7f) | ((state_bs[63] & 0x01) << 7);
- pt[ 15 ] = (pt [15] & 0x7f) | ((state_bs[63] & 0x02) << 6);
- pt[ 23 ] = (pt [23] & 0x7f) | ((state_bs[63] & 0x04) << 5);
- pt[ 31 ] = (pt [31] & 0x7f) | ((state_bs[63] & 0x08) << 4);
- pt[ 39 ] = (pt [39] & 0x7f) | ((state_bs[63] & 0x10) << 3);
- pt[ 47 ] = (pt [47] & 0x7f) | ((state_bs[63] & 0x20) << 2);
- pt[ 55 ] = (pt [55] & 0x7f) | ((state_bs[63] & 0x40) << 1);
- pt[ 63 ] = (pt [63] & 0x7f) | ((state_bs[63] >> 0) & 0x80);
- pt[ 71 ] = (pt [71] & 0x7f) | ((state_bs[63] >> 1) & 0x80);
- pt[ 79 ] = (pt [79] & 0x7f) | ((state_bs[63] >> 2) & 0x80);
- pt[ 87 ] = (pt [87] & 0x7f) | ((state_bs[63] >> 3) & 0x80);
- pt[ 95 ] = (pt [95] & 0x7f) | ((state_bs[63] >> 4) & 0x80);
- pt[ 103 ] = (pt [103] & 0x7f) | ((state_bs[63] >> 5) & 0x80);
- pt[ 111 ] = (pt [111] & 0x7f) | ((state_bs[63] >> 6) & 0x80);
- pt[ 119 ] = (pt [119] & 0x7f) | ((state_bs[63] >> 7) & 0x80);
- pt[ 127 ] = (pt [127] & 0x7f) | ((state_bs[63] >> 8) & 0x80);
- }
- /**
- * Perform next key schedule step
- * @param key Key register to be updated
- * @param r Round counter
- * @warning For correct function, has to be called with incremented r each time
- * @note You are free to change or optimize this function
- */
- static void update_round_key(uint8_t key[CRYPTO_KEY_SIZE], const uint8_t r)
- {
- const uint8_t sbox[16] = {
- 0xC, 0x5, 0x6, 0xB, 0x9, 0x0, 0xA, 0xD, 0x3, 0xE, 0xF, 0x8, 0x4, 0x7, 0x1, 0x2,
- };
- uint8_t tmp = 0;
- const uint8_t tmp2 = key[2];
- const uint8_t tmp1 = key[1];
- const uint8_t tmp0 = key[0];
- // rotate right by 19 bit
- key[0] = key[2] >> 3 | key[3] << 5;
- key[1] = key[3] >> 3 | key[4] << 5;
- key[2] = key[4] >> 3 | key[5] << 5;
- key[3] = key[5] >> 3 | key[6] << 5;
- key[4] = key[6] >> 3 | key[7] << 5;
- key[5] = key[7] >> 3 | key[8] << 5;
- key[6] = key[8] >> 3 | key[9] << 5;
- key[7] = key[9] >> 3 | tmp0 << 5;
- key[8] = tmp0 >> 3 | tmp1 << 5;
- key[9] = tmp1 >> 3 | tmp2 << 5;
- // perform sbox lookup on MSbits
- tmp = sbox[key[9] >> 4];
- key[9] &= 0x0F;
- key[9] |= tmp << 4;
- // XOR round counter k19 ... k15
- key[1] ^= r << 7;
- key[2] ^= r >> 1;
- }
- void crypto_func(uint8_t pt[CRYPTO_IN_SIZE * BITSLICE_WIDTH], uint8_t key[CRYPTO_KEY_SIZE])
- {
- // State buffer and additional backbuffer of same size (you can remove the backbuffer if you do not need it)
- bs_reg_t state[CRYPTO_IN_SIZE_BIT] = {0};
- bs_reg_t bb[CRYPTO_IN_SIZE_BIT];
- //uint8_t i = 1;
- // Bring into bitslicing form
- enslice(pt, state);
- /// INSERT YOUR CODE HERE ///
- //for(i = 1; i <=31; i++){
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 1);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 2);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 3);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 4);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 5);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 6);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 7);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 8);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 9);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 10);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 11);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 12);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 13);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 14);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 15);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 16);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 17);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 18);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 19);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 20);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 21);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 22);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 23);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 24);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 25);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 26);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 27);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 28);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 29);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 30);
- add_round_key(state, key + 2); //state holds the latest output
- sbox_layer(state, bb); //bb now holds the latest output
- pbox_layer(bb, state); //state now holds the latest output
- update_round_key(key, 31);
- //}
- add_round_key(state, key + 2); //state holds the latest output
- // Convert back to normal form
- unslice(state, pt);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement