content: package net.lingala.zip4j.crypto.engine;
  
  import com.chelpus.Common;
  import java.lang.reflect.Array;
  import net.lingala.zip4j.exception.ZipException;
  import pxb.android.ResConst;
  
  public class AESEngine {
      private static final byte[] S;
      private static final int[] T0;
      private static final int[] rcon = new int[]{1, 2, 4, 8, 16, 32, 64, Common.INSTALL_ALLOW_DOWNGRADE, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145};
      private int C0;
      private int C1;
      private int C2;
      private int C3;
      private int rounds;
      private int[][] workingKey = null;
  
      public AESEngine(byte[] key) throws ZipException {
          init(key);
      }
  
      public void init(byte[] key) throws ZipException {
          this.workingKey = generateWorkingKey(key);
      }
  
      private int[][] generateWorkingKey(byte[] key) throws ZipException {
          int kc = key.length / 4;
          if ((kc == 4 || kc == 6 || kc == 8) && kc * 4 == key.length) {
              this.rounds = kc + 6;
              int[][] W = (int[][]) Array.newInstance(Integer.TYPE, new int[]{this.rounds + 1, 4});
              int t = 0;
              int i = 0;
              while (i < key.length) {
                  W[t >> 2][t & 3] = (((key[i] & 255) | ((key[i + 1] & 255) << 8)) | ((key[i + 2] & 255) << 16)) | (key[i + 3] << 24);
                  i += 4;
                  t++;
              }
              int k = (this.rounds + 1) << 2;
              i = kc;
              while (i < k) {
                  int temp = W[(i - 1) >> 2][(i - 1) & 3];
                  if (i % kc == 0) {
                      temp = subWord(shift(temp, 8)) ^ rcon[(i / kc) - 1];
                  } else if (kc > 6 && i % kc == 4) {
                      temp = subWord(temp);
                  }
                  W[i >> 2][i & 3] = W[(i - kc) >> 2][(i - kc) & 3] ^ temp;
                  i++;
              }
              return W;
          }
          throw new ZipException("invalid key length (not 128/192/256)");
      }
  
      public int processBlock(byte[] in, byte[] out) throws ZipException {
          return processBlock(in, 0, out, 0);
      }
  
      public int processBlock(byte[] in, int inOff, byte[] out, int outOff) throws ZipException {
          if (this.workingKey == null) {
              throw new ZipException("AES engine not initialised");
          } else if (inOff + 16 > in.length) {
              throw new ZipException("input buffer too short");
          } else if (outOff + 16 > out.length) {
              throw new ZipException("output buffer too short");
          } else {
              stateIn(in, inOff);
              encryptBlock(this.workingKey);
              stateOut(out, outOff);
              return 16;
          }
      }
  
      private final void stateIn(byte[] bytes, int off) {
          int index = off;
          int index2 = index + 1;
          this.C0 = bytes[index] & 255;
          index = index2 + 1;
          this.C0 |= (bytes[index2] & 255) << 8;
          index2 = index + 1;
          this.C0 |= (bytes[index] & 255) << 16;
          index = index2 + 1;
          this.C0 |= bytes[index2] << 24;
          index2 = index + 1;
          this.C1 = bytes[index] & 255;
          index = index2 + 1;
          this.C1 |= (bytes[index2] & 255) << 8;
          index2 = index + 1;
          this.C1 |= (bytes[index] & 255) << 16;
          index = index2 + 1;
          this.C1 |= bytes[index2] << 24;
          index2 = index + 1;
          this.C2 = bytes[index] & 255;
          index = index2 + 1;
          this.C2 |= (bytes[index2] & 255) << 8;
          index2 = index + 1;
          this.C2 |= (bytes[index] & 255) << 16;
          index = index2 + 1;
          this.C2 |= bytes[index2] << 24;
          index2 = index + 1;
          this.C3 = bytes[index] & 255;
          index = index2 + 1;
          this.C3 |= (bytes[index2] & 255) << 8;
          index2 = index + 1;
          this.C3 |= (bytes[index] & 255) << 16;
          index = index2 + 1;
          this.C3 |= bytes[index2] << 24;
      }
  
      private final void stateOut(byte[] bytes, int off) {
          int i = off;
          int i2 = i + 1;
          bytes[i] = (byte) this.C0;
          i = i2 + 1;
          bytes[i2] = (byte) (this.C0 >> 8);
          i2 = i + 1;
          bytes[i] = (byte) (this.C0 >> 16);
          i = i2 + 1;
          bytes[i2] = (byte) (this.C0 >> 24);
          i2 = i + 1;
          bytes[i] = (byte) this.C1;
          i = i2 + 1;
          bytes[i2] = (byte) (this.C1 >> 8);
          i2 = i + 1;
          bytes[i] = (byte) (this.C1 >> 16);
          i = i2 + 1;
          bytes[i2] = (byte) (this.C1 >> 24);
          i2 = i + 1;
          bytes[i] = (byte) this.C2;
          i = i2 + 1;
          bytes[i2] = (byte) (this.C2 >> 8);
          i2 = i + 1;
          bytes[i] = (byte) (this.C2 >> 16);
          i = i2 + 1;
          bytes[i2] = (byte) (this.C2 >> 24);
          i2 = i + 1;
          bytes[i] = (byte) this.C3;
          i = i2 + 1;
          bytes[i2] = (byte) (this.C3 >> 8);
          i2 = i + 1;
          bytes[i] = (byte) (this.C3 >> 16);
          i = i2 + 1;
          bytes[i2] = (byte) (this.C3 >> 24);
      }
  
      private final void encryptBlock(int[][] KW) {
          int r0;
          int r1;
          int r2;
          int r;
          int r3;
          this.C0 ^= KW[0][0];
          this.C1 ^= KW[0][1];
          this.C2 ^= KW[0][2];
          this.C3 ^= KW[0][3];
          int r4 = 1;
          while (r4 < this.rounds - 1) {
              r0 = (((T0[this.C0 & 255] ^ shift(T0[(this.C1 >> 8) & 255], 24)) ^ shift(T0[(this.C2 >> 16) & 255], 16)) ^ shift(T0[(this.C3 >> 24) & 255], 8)) ^ KW[r4][0];
              r1 = (((T0[this.C1 & 255] ^ shift(T0[(this.C2 >> 8) & 255], 24)) ^ shift(T0[(this.C3 >> 16) & 255], 16)) ^ shift(T0[(this.C0 >> 24) & 255], 8)) ^ KW[r4][1];
              r2 = (((T0[this.C2 & 255] ^ shift(T0[(this.C3 >> 8) & 255], 24)) ^ shift(T0[(this.C0 >> 16) & 255], 16)) ^ shift(T0[(this.C1 >> 24) & 255], 8)) ^ KW[r4][2];
              r = r4 + 1;
              r3 = (((T0[this.C3 & 255] ^ shift(T0[(this.C0 >> 8) & 255], 24)) ^ shift(T0[(this.C1 >> 16) & 255], 16)) ^ shift(T0[(this.C2 >> 24) & 255], 8)) ^ KW[r4][3];
              this.C0 = (((T0[r0 & 255] ^ shift(T0[(r1 >> 8) & 255], 24)) ^ shift(T0[(r2 >> 16) & 255], 16)) ^ shift(T0[(r3 >> 24) & 255], 8)) ^ KW[r][0];
              this.C1 = (((T0[r1 & 255] ^ shift(T0[(r2 >> 8) & 255], 24)) ^ shift(T0[(r3 >> 16) & 255], 16)) ^ shift(T0[(r0 >> 24) & 255], 8)) ^ KW[r][1];
              this.C2 = (((T0[r2 & 255] ^ shift(T0[(r3 >> 8) & 255], 24)) ^ shift(T0[(r0 >> 16) & 255], 16)) ^ shift(T0[(r1 >> 24) & 255], 8)) ^ KW[r][2];
              r4 = r + 1;
              this.C3 = (((T0[r3 & 255] ^ shift(T0[(r0 >> 8) & 255], 24)) ^ shift(T0[(r1 >> 16) & 255], 16)) ^ shift(T0[(r2 >> 24) & 255], 8)) ^ KW[r][3];
          }
          r0 = (((T0[this.C0 & 255] ^ shift(T0[(this.C1 >> 8) & 255], 24)) ^ shift(T0[(this.C2 >> 16) & 255], 16)) ^ shift(T0[(this.C3 >> 24) & 255], 8)) ^ KW[r4][0];
          r1 = (((T0[this.C1 & 255] ^ shift(T0[(this.C2 >> 8) & 255], 24)) ^ shift(T0[(this.C3 >> 16) & 255], 16)) ^ shift(T0[(this.C0 >> 24) & 255], 8)) ^ KW[r4][1];
          r2 = (((T0[this.C2 & 255] ^ shift(T0[(this.C3 >> 8) & 255], 24)) ^ shift(T0[(this.C0 >> 16) & 255], 16)) ^ shift(T0[(this.C1 >> 24) & 255], 8)) ^ KW[r4][2];
          r = r4 + 1;
          r3 = (((T0[this.C3 & 255] ^ shift(T0[(this.C0 >> 8) & 255], 24)) ^ shift(T0[(this.C1 >> 16) & 255], 16)) ^ shift(T0[(this.C2 >> 24) & 255], 8)) ^ KW[r4][3];
          this.C0 = ((((S[r0 & 255] & 255) ^ ((S[(r1 >> 8) & 255] & 255) << 8)) ^ ((S[(r2 >> 16) & 255] & 255) << 16)) ^ (S[(r3 >> 24) & 255] << 24)) ^ KW[r][0];
          this.C1 = ((((S[r1 & 255] & 255) ^ ((S[(r2 >> 8) & 255] & 255) << 8)) ^ ((S[(r3 >> 16) & 255] & 255) << 16)) ^ (S[(r0 >> 24) & 255] << 24)) ^ KW[r][1];
          this.C2 = ((((S[r2 & 255] & 255) ^ ((S[(r3 >> 8) & 255] & 255) << 8)) ^ ((S[(r0 >> 16) & 255] & 255) << 16)) ^ (S[(r1 >> 24) & 255] << 24)) ^ KW[r][2];
          this.C3 = ((((S[r3 & 255] & 255) ^ ((S[(r0 >> 8) & 255] & 255) << 8)) ^ ((S[(r1 >> 16) & 255] & 255) << 16)) ^ (S[(r2 >> 24) & 255] << 24)) ^ KW[r][3];
      }
  
      private int shift(int r, int shift) {
          return (r >>> shift) | (r << (-shift));
      }
  
      private int subWord(int x) {
          return (((S[x & 255] & 255) | ((S[(x >> 8) & 255] & 255) << 8)) | ((S[(x >> 16) & 255] & 255) << 16)) | (S[(x >> 24) & 255] << 24);
      }
  
      static {
          byte[] bArr = new byte[ResConst.RES_XML_START_NAMESPACE_TYPE];
          bArr[0] = (byte) 99;
          bArr[1] = (byte) 124;
          bArr[2] = (byte) 119;
          bArr[3] = (byte) 123;
          bArr[4] = (byte) -14;
          bArr[5] = (byte) 107;
          bArr[6] = (byte) 111;
          bArr[7] = (byte) -59;
          bArr[8] = (byte) 48;
          bArr[9] = (byte) 1;
          bArr[10] = (byte) 103;
          bArr[11] = (byte) 43;
          bArr[12] = (byte) -2;
          bArr[13] = (byte) -41;
          bArr[14] = (byte) -85;
          bArr[15] = (byte) 118;
          bArr[16] = (byte) -54;
          bArr[17] = (byte) -126;
          bArr[18] = (byte) -55;
          bArr[19] = (byte) 125;
          bArr[20] = (byte) -6;
          bArr[21] = (byte) 89;
          bArr[22] = (byte) 71;
          bArr[23] = (byte) -16;
          bArr[24] = (byte) -83;
          bArr[25] = (byte) -44;
          bArr[26] = (byte) -94;
          bArr[27] = (byte) -81;
          bArr[28] = (byte) -100;
          bArr[29] = (byte) -92;
          bArr[30] = (byte) 114;
          bArr[31] = (byte) -64;
          bArr[32] = (byte) -73;
          bArr[33] = (byte) -3;
          bArr[34] = (byte) -109;
          bArr[35] = (byte) 38;
          bArr[36] = (byte) 54;
          bArr[37] = (byte) 63;
          bArr[38] = (byte) -9;
          bArr[39] = (byte) -52;
          bArr[40] = (byte) 52;
          bArr[41] = (byte) -91;
          bArr[42] = (byte) -27;
          bArr[43] = (byte) -15;
          bArr[44] = (byte) 113;
          bArr[45] = (byte) -40;
          bArr[46] = (byte) 49;
          bArr[47] = (byte) 21;
          bArr[48] = (byte) 4;
          bArr[49] = (byte) -57;
          bArr[50] = (byte) 35;
          bArr[51] = (byte) -61;
          bArr[52] = (byte) 24;
          bArr[53] = (byte) -106;
          bArr[54] = (byte) 5;
          bArr[55] = (byte) -102;
          bArr[56] = (byte) 7;
          bArr[57] = (byte) 18;
          bArr[58] = Byte.MIN_VALUE;
          bArr[59] = (byte) -30;
          bArr[60] = (byte) -21;
          bArr[61] = (byte) 39;
          bArr[62] = (byte) -78;
          bArr[63] = (byte) 117;
          bArr[64] = (byte) 9;
          bArr[65] = (byte) -125;
          bArr[66] = (byte) 44;
          bArr[67] = (byte) 26;
          bArr[68] = (byte) 27;
          bArr[69] = (byte) 110;
          bArr[70] = (byte) 90;
          bArr[71] = (byte) -96;
          bArr[72] = (byte) 82;
          bArr[73] = (byte) 59;
          bArr[74] = (byte) -42;
          bArr[75] = (byte) -77;
          bArr[76] = (byte) 41;
          bArr[77] = (byte) -29;
          bArr[78] = (byte) 47;
          bArr[79] = (byte) -124;
          bArr[80] = (byte) 83;
          bArr[81] = (byte) -47;
          bArr[83] = (byte) -19;
          bArr[84] = (byte) 32;
          bArr[85] = (byte) -4;
          bArr[86] = (byte) -79;
          bArr[87] = (byte) 91;
          bArr[88] = (byte) 106;
          bArr[89] = (byte) -53;
          bArr[90] = (byte) -66;
          bArr[91] = (byte) 57;
          bArr[92] = (byte) 74;
          bArr[93] = (byte) 76;
          bArr[94] = (byte) 88;
          bArr[95] = (byte) -49;
          bArr[96] = (byte) -48;
          bArr[97] = (byte) -17;
          bArr[98] = (byte) -86;
          bArr[99] = (byte) -5;
          bArr[100] = (byte) 67;
          bArr[101] = (byte) 77;
          bArr[102] = (byte) 51;
          bArr[103] = (byte) -123;
          bArr[104] = (byte) 69;
          bArr[105] = (byte) -7;
          bArr[106] = (byte) 2;
          bArr[107] = Byte.MAX_VALUE;
          bArr[108] = (byte) 80;
          bArr[109] = (byte) 60;
          bArr[110] = (byte) -97;
          bArr[111] = (byte) -88;
          bArr[112] = (byte) 81;
          bArr[113] = (byte) -93;
          bArr[114] = (byte) 64;
          bArr[115] = (byte) -113;
          bArr[116] = (byte) -110;
          bArr[117] = (byte) -99;
          bArr[118] = (byte) 56;
          bArr[119] = (byte) -11;
          bArr[120] = (byte) -68;
          bArr[121] = (byte) -74;
          bArr[122] = (byte) -38;
          bArr[123] = (byte) 33;
          bArr[124] = (byte) 16;
          bArr[125] = (byte) -1;
          bArr[126] = (byte) -13;
          bArr[127] = (byte) -46;
          bArr[Common.INSTALL_ALLOW_DOWNGRADE] = (byte) -51;
          bArr[129] = (byte) 12;
          bArr[130] = (byte) 19;
          bArr[131] = (byte) -20;
          bArr[132] = (byte) 95;
          bArr[133] = (byte) -105;
          bArr[134] = (byte) 68;
          bArr[135] = (byte) 23;
          bArr[136] = (byte) -60;
          bArr[137] = (byte) -89;
          bArr[138] = (byte) 126;
          bArr[139] = (byte) 61;
          bArr[140] = (byte) 100;
          bArr[141] = (byte) 93;
          bArr[142] = (byte) 25;
          bArr[143] = (byte) 115;
          bArr[144] = (byte) 96;
          bArr[145] = (byte) -127;
          bArr[146] = (byte) 79;
          bArr[147] = (byte) -36;
          bArr[148] = (byte) 34;
          bArr[149] = (byte) 42;
          bArr[150] = (byte) -112;
          bArr[151] = (byte) -120;
          bArr[152] = (byte) 70;
          bArr[153] = (byte) -18;
          bArr[154] = (byte) -72;
          bArr[155] = (byte) 20;
          bArr[156] = (byte) -34;
          bArr[157] = (byte) 94;
          bArr[158] = (byte) 11;
          bArr[159] = (byte) -37;
          bArr[160] = (byte) -32;
          bArr[161] = (byte) 50;
          bArr[162] = (byte) 58;
          bArr[163] = (byte) 10;
          bArr[164] = (byte) 73;
          bArr[165] = (byte) 6;
          bArr[166] = (byte) 36;
          bArr[167] = (byte) 92;
          bArr[168] = (byte) -62;
          bArr[169] = (byte) -45;
          bArr[170] = (byte) -84;
          bArr[171] = (byte) 98;
          bArr[172] = (byte) -111;
          bArr[173] = (byte) -107;
          bArr[174] = (byte) -28;
          bArr[175] = (byte) 121;
          bArr[176] = (byte) -25;
          bArr[177] = (byte) -56;
          bArr[178] = (byte) 55;
          bArr[179] = (byte) 109;
          bArr[180] = (byte) -115;
          bArr[181] = (byte) -43;
          bArr[182] = (byte) 78;
          bArr[183] = (byte) -87;
          bArr[184] = (byte) 108;
          bArr[185] = (byte) 86;
          bArr[186] = (byte) -12;
          bArr[187] = (byte) -22;
          bArr[188] = (byte) 101;
          bArr[189] = (byte) 122;
          bArr[190] = (byte) -82;
          bArr[191] = (byte) 8;
          bArr[192] = (byte) -70;
          bArr[193] = (byte) 120;
          bArr[194] = (byte) 37;
          bArr[195] = (byte) 46;
          bArr[196] = (byte) 28;
          bArr[197] = (byte) -90;
          bArr[198] = (byte) -76;
          bArr[199] = (byte) -58;
          bArr[200] = (byte) -24;
          bArr[201] = (byte) -35;
          bArr[202] = (byte) 116;
          bArr[203] = (byte) 31;
          bArr[204] = (byte) 75;
          bArr[205] = (byte) -67;
          bArr[206] = (byte) -117;
          bArr[207] = (byte) -118;
          bArr[208] = (byte) 112;
          bArr[209] = (byte) 62;
          bArr[210] = (byte) -75;
          bArr[211] = (byte) 102;
          bArr[212] = (byte) 72;
          bArr[213] = (byte) 3;
          bArr[214] = (byte) -10;
          bArr[215] = (byte) 14;
          bArr[216] = (byte) 97;
          bArr[217] = (byte) 53;
          bArr[218] = (byte) 87;
          bArr[219] = (byte) -71;
          bArr[220] = (byte) -122;
          bArr[221] = (byte) -63;
          bArr[222] = (byte) 29;
          bArr[223] = (byte) -98;
          bArr[224] = (byte) -31;
          bArr[225] = (byte) -8;
          bArr[226] = (byte) -104;
          bArr[227] = (byte) 17;
          bArr[228] = (byte) 105;
          bArr[229] = (byte) -39;
          bArr[230] = (byte) -114;
          bArr[231] = (byte) -108;
          bArr[232] = (byte) -101;
          bArr[233] = (byte) 30;
          bArr[234] = (byte) -121;
          bArr[235] = (byte) -23;
          bArr[236] = (byte) -50;
          bArr[237] = (byte) 85;
          bArr[238] = (byte) 40;
          bArr[239] = (byte) -33;
          bArr[240] = (byte) -116;
          bArr[241] = (byte) -95;
          bArr[242] = (byte) -119;
          bArr[243] = (byte) 13;
          bArr[244] = (byte) -65;
          bArr[245] = (byte) -26;
          bArr[246] = (byte) 66;
          bArr[247] = (byte) 104;
          bArr[248] = (byte) 65;
          bArr[249] = (byte) -103;
          bArr[250] = (byte) 45;
          bArr[251] = (byte) 15;
          bArr[252] = (byte) -80;
          bArr[253] = (byte) 84;
          bArr[254] = (byte) -69;
          bArr[255] = (byte) 22;
          S = bArr;
          int[] iArr = new int[ResConst.RES_XML_START_NAMESPACE_TYPE];
          iArr[0] = -1520213050;
          iArr[1] = -2072216328;
          iArr[2] = -1720223762;
          iArr[3] = -1921287178;
          iArr[4] = 234025727;
          iArr[5] = -1117033514;
          iArr[6] = -1318096930;
          iArr[7] = 1422247313;
          iArr[8] = 1345335392;
          iArr[9] = 50397442;
          iArr[10] = -1452841010;
          iArr[11] = 2099981142;
          iArr[12] = 436141799;
          iArr[13] = 1658312629;
          iArr[14] = -424957107;
          iArr[15] = -1703512340;
          iArr[16] = 1170918031;
          iArr[17] = -1652391393;
          iArr[18] = 1086966153;
          iArr[19] = -2021818886;
          iArr[20] = 368769775;
          iArr[21] = -346465870;
          iArr[22] = -918075506;
          iArr[23] = 200339707;
          iArr[24] = -324162239;
          iArr[25] = 1742001331;
          iArr[26] = -39673249;
          iArr[27] = -357585083;
          iArr[28] = -1080255453;
          iArr[29] = -140204973;
          iArr[30] = -1770884380;
          iArr[31] = 1539358875;
          iArr[32] = -1028147339;
          iArr[33] = 486407649;
          iArr[34] = -1366060227;
          iArr[35] = 1780885068;
          iArr[36] = 1513502316;
          iArr[37] = 1094664062;
          iArr[38] = 49805301;
          iArr[39] = 1338821763;
          iArr[40] = 1546925160;
          iArr[41] = -190470831;
          iArr[42] = 887481809;
          iArr[43] = 150073849;
          iArr[44] = -1821281822;
          iArr[45] = 1943591083;
          iArr[46] = 1395732834;
          iArr[47] = 1058346282;
          iArr[48] = 201589768;
          iArr[49] = 1388824469;
          iArr[50] = 1696801606;
          iArr[51] = 1589887901;
          iArr[52] = 672667696;
          iArr[53] = -1583966665;
          iArr[54] = 251987210;
          iArr[55] = -1248159185;
          iArr[56] = 151455502;
          iArr[57] = 907153956;
          iArr[58] = -1686077413;
          iArr[59] = 1038279391;
          iArr[60] = 652995533;
          iArr[61] = 1764173646;
          iArr[62] = -843926913;
          iArr[63] = -1619692054;
          iArr[64] = 453576978;
          iArr[65] = -1635548387;
          iArr[66] = 1949051992;
          iArr[67] = 773462580;
          iArr[68] = 756751158;
          iArr[69] = -1301385508;
          iArr[70] = -296068428;
          iArr[71] = -73359269;
          iArr[72] = -162377052;
          iArr[73] = 1295727478;
          iArr[74] = 1641469623;
          iArr[75] = -827083907;
          iArr[76] = 2066295122;
          iArr[77] = 1055122397;
          iArr[78] = 1898917726;
          iArr[79] = -1752923117;
          iArr[80] = -179088474;
          iArr[81] = 1758581177;
          iArr[83] = 753790401;
          iArr[84] = 1612718144;
          iArr[85] = 536673507;
          iArr[86] = -927878791;
          iArr[87] = -312779850;
          iArr[88] = -1100322092;
          iArr[89] = 1187761037;
          iArr[90] = -641810841;
          iArr[91] = 1262041458;
          iArr[92] = -565556588;
          iArr[93] = -733197160;
          iArr[94] = -396863312;
          iArr[95] = 1255133061;
          iArr[96] = 1808847035;
          iArr[97] = 720367557;
          iArr[98] = -441800113;
          iArr[99] = 385612781;
          iArr[100] = -985447546;
          iArr[101] = -682799718;
          iArr[102] = 1429418854;
          iArr[103] = -1803188975;
          iArr[104] = -817543798;
          iArr[105] = 284817897;
          iArr[106] = 100794884;
          iArr[107] = -2122350594;
          iArr[108] = -263171936;
          iArr[109] = 1144798328;
          iArr[110] = -1163944155;
          iArr[111] = -475486133;
          iArr[112] = -212774494;
          iArr[113] = -22830243;
          iArr[114] = -1069531008;
          iArr[115] = -1970303227;
          iArr[116] = -1382903233;
          iArr[117] = -1130521311;
          iArr[118] = 1211644016;
          iArr[119] = 83228145;
          iArr[120] = -541279133;
          iArr[121] = -1044990345;
          iArr[122] = 1977277103;
          iArr[123] = 1663115586;
          iArr[124] = 806359072;
          iArr[125] = 452984805;
          iArr[126] = 250868733;
          iArr[127] = 1842533055;
          iArr[Common.INSTALL_ALLOW_DOWNGRADE] = 1288555905;
          iArr[129] = 336333848;
          iArr[130] = 890442534;
          iArr[131] = 804056259;
          iArr[132] = -513843266;
          iArr[133] = -1567123659;
          iArr[134] = -867941240;
          iArr[135] = 957814574;
          iArr[136] = 1472513171;
          iArr[137] = -223893675;
          iArr[138] = -2105639172;
          iArr[139] = 1195195770;
          iArr[140] = -1402706744;
          iArr[141] = -413311558;
          iArr[142] = 723065138;
          iArr[143] = -1787595802;
          iArr[144] = -1604296512;
          iArr[145] = -1736343271;
          iArr[146] = -783331426;
          iArr[147] = 2145180835;
          iArr[148] = 1713513028;
          iArr[149] = 2116692564;
          iArr[150] = -1416589253;
          iArr[151] = -2088204277;
          iArr[152] = -901364084;
          iArr[153] = 703524551;
          iArr[154] = -742868885;
          iArr[155] = 1007948840;
          iArr[156] = 2044649127;
          iArr[157] = -497131844;
          iArr[158] = 487262998;
          iArr[159] = 1994120109;
          iArr[160] = 1004593371;
          iArr[161] = 1446130276;
          iArr[162] = 1312438900;
          iArr[163] = 503974420;
          iArr[164] = -615954030;
          iArr[165] = 168166924;
          iArr[166] = 1814307912;
          iArr[167] = -463709000;
          iArr[168] = 1573044895;
          iArr[169] = 1859376061;
          iArr[170] = -273896381;
          iArr[171] = -1503501628;
          iArr[172] = -1466855111;
          iArr[173] = -1533700815;
          iArr[174] = 937747667;
          iArr[175] = -1954973198;
          iArr[176] = 854058965;
          iArr[177] = 1137232011;
          iArr[178] = 1496790894;
          iArr[179] = -1217565222;
          iArr[180] = -1936880383;
          iArr[181] = 1691735473;
          iArr[182] = -766620004;
          iArr[183] = -525751991;
          iArr[184] = -1267962664;
          iArr[185] = -95005012;
          iArr[186] = 133494003;
          iArr[187] = 636152527;
          iArr[188] = -1352309302;
          iArr[189] = -1904575756;
          iArr[190] = -374428089;
          iArr[191] = 403179536;
          iArr[192] = -709182865;
          iArr[193] = -2005370640;
          iArr[194] = 1864705354;
          iArr[195] = 1915629148;
          iArr[196] = 605822008;
          iArr[197] = -240736681;
          iArr[198] = -944458637;
          iArr[199] = 1371981463;
          iArr[200] = 602466507;
          iArr[201] = 2094914977;
          iArr[202] = -1670089496;
          iArr[203] = 555687742;
          iArr[204] = -582268010;
          iArr[205] = -591544991;
          iArr[206] = -2037675251;
          iArr[207] = -2054518257;
          iArr[208] = -1871679264;
          iArr[209] = 1111375484;
          iArr[210] = -994724495;
          iArr[211] = -1436129588;
          iArr[212] = -666351472;
          iArr[213] = 84083462;
          iArr[214] = 32962295;
          iArr[215] = 302911004;
          iArr[216] = -1553899070;
          iArr[217] = 1597322602;
          iArr[218] = -111716434;
          iArr[219] = -793134743;
          iArr[220] = -1853454825;
          iArr[221] = 1489093017;
          iArr[222] = 656219450;
          iArr[223] = -1180787161;
          iArr[224] = 954327513;
          iArr[225] = 335083755;
          iArr[226] = -1281845205;
          iArr[227] = 856756514;
          iArr[228] = -1150719534;
          iArr[229] = 1893325225;
          iArr[230] = -1987146233;
          iArr[231] = -1483434957;
          iArr[232] = -1231316179;
          iArr[233] = 572399164;
          iArr[234] = -1836611819;
          iArr[235] = 552200649;
          iArr[236] = 1238290055;
          iArr[237] = -11184726;
          iArr[238] = 2015897680;
          iArr[239] = 2061492133;
          iArr[240] = -1886614525;
          iArr[241] = -123625127;
          iArr[242] = -2138470135;
          iArr[243] = 386731290;
          iArr[244] = -624967835;
          iArr[245] = 837215959;
          iArr[246] = -968736124;
          iArr[247] = -1201116976;
          iArr[248] = -1019133566;
          iArr[249] = -1332111063;
          iArr[250] = 1999449434;
          iArr[251] = 286199582;
          iArr[252] = -877612933;
          iArr[253] = -61582168;
          iArr[254] = -692339859;
          iArr[255] = 974525996;
          T0 = iArr;
      }
  }
  