UbcCheck.java
- /*
- * Copyright 2017 Marc Stevens <marc@marc-stevens.nl>, Dan Shumow <danshu@microsoft.com>
- * Distributed under the MIT Software License.
- * MIT License
- *
- * Copyright (c) 2017:
- * Marc Stevens
- * Cryptology Group
- * Centrum Wiskunde & Informatica
- * P.O. Box 94079, 1090 GB Amsterdam, Netherlands
- * marc@marc-stevens.nl
- *
- * Dan Shumow
- * Microsoft Research
- * danshu@microsoft.com
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
- package org.eclipse.jgit.util.sha1;
- // Converted by hand by Shawn Pearce (Google), using lib/ubc_check.c from
- // https://github.com/cr-marcstevens/sha1collisiondetection/
- //
- // this file was generated by the 'parse_bitrel' program in the tools section
- // using the data files from directory 'tools/data/3565'
- //
- // Array DV contains a list of SHA-1 Disturbance Vectors (DV) to check
- // dvType, dvK and dvB define the DV: I(K,B) or II(K,B) (see the paper)
- // dm[80] is the expanded message block XOR-difference defined by the DV
- // testt is the step to do the recompression from for collision detection
- // maski and maskb define the bit to check for each DV in the dvmask returned by ubc_check
- //
- // ubc_check takes as input an expanded message block and verifies the unavoidable bitconditions for all listed DVs
- // it returns a dvmask where each bit belonging to a DV is set if all unavoidable bitconditions for that DV have been met
- // thus one needs to do the recompression check for each DV that has its bit set
- //
- // ubc_check is programmatically generated and the unavoidable bitconditions have been hardcoded
- // a directly verifiable version named ubc_check_verify can be found in ubc_check_verify.c
- // ubc_check has been verified against ubc_check_verify using the 'ubc_check_test' program in the tools section
- final class UbcCheck {
- private static final int DV_I_43_0_bit = 1 << 0;
- private static final int DV_I_44_0_bit = 1 << 1;
- private static final int DV_I_45_0_bit = 1 << 2;
- private static final int DV_I_46_0_bit = 1 << 3;
- private static final int DV_I_46_2_bit = 1 << 4;
- private static final int DV_I_47_0_bit = 1 << 5;
- private static final int DV_I_47_2_bit = 1 << 6;
- private static final int DV_I_48_0_bit = 1 << 7;
- private static final int DV_I_48_2_bit = 1 << 8;
- private static final int DV_I_49_0_bit = 1 << 9;
- private static final int DV_I_49_2_bit = 1 << 10;
- private static final int DV_I_50_0_bit = 1 << 11;
- private static final int DV_I_50_2_bit = 1 << 12;
- private static final int DV_I_51_0_bit = 1 << 13;
- private static final int DV_I_51_2_bit = 1 << 14;
- private static final int DV_I_52_0_bit = 1 << 15;
- private static final int DV_II_45_0_bit = 1 << 16;
- private static final int DV_II_46_0_bit = 1 << 17;
- private static final int DV_II_46_2_bit = 1 << 18;
- private static final int DV_II_47_0_bit = 1 << 19;
- private static final int DV_II_48_0_bit = 1 << 20;
- private static final int DV_II_49_0_bit = 1 << 21;
- private static final int DV_II_49_2_bit = 1 << 22;
- private static final int DV_II_50_0_bit = 1 << 23;
- private static final int DV_II_50_2_bit = 1 << 24;
- private static final int DV_II_51_0_bit = 1 << 25;
- private static final int DV_II_51_2_bit = 1 << 26;
- private static final int DV_II_52_0_bit = 1 << 27;
- private static final int DV_II_53_0_bit = 1 << 28;
- private static final int DV_II_54_0_bit = 1 << 29;
- private static final int DV_II_55_0_bit = 1 << 30;
- private static final int DV_II_56_0_bit = 1 << 31;
- static int check(int[] w) {
- int mask = ~0;
- mask &= (((((w[44] ^ w[45]) >>> 29) & 1) - 1) | ~(DV_I_48_0_bit
- | DV_I_51_0_bit | DV_I_52_0_bit | DV_II_45_0_bit
- | DV_II_46_0_bit | DV_II_50_0_bit | DV_II_51_0_bit));
- mask &= (((((w[49] ^ w[50]) >>> 29) & 1) - 1)
- | ~(DV_I_46_0_bit | DV_II_45_0_bit | DV_II_50_0_bit
- | DV_II_51_0_bit | DV_II_55_0_bit | DV_II_56_0_bit));
- mask &= (((((w[48] ^ w[49]) >>> 29) & 1) - 1)
- | ~(DV_I_45_0_bit | DV_I_52_0_bit | DV_II_49_0_bit
- | DV_II_50_0_bit | DV_II_54_0_bit | DV_II_55_0_bit));
- mask &= ((((w[47] ^ (w[50] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit
- | DV_II_45_0_bit | DV_II_51_0_bit | DV_II_56_0_bit));
- mask &= (((((w[47] ^ w[48]) >>> 29) & 1) - 1)
- | ~(DV_I_44_0_bit | DV_I_51_0_bit | DV_II_48_0_bit
- | DV_II_49_0_bit | DV_II_53_0_bit | DV_II_54_0_bit));
- mask &= (((((w[46] >>> 4) ^ (w[49] >>> 29)) & 1) - 1)
- | ~(DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit
- | DV_I_52_0_bit | DV_II_50_0_bit | DV_II_55_0_bit));
- mask &= (((((w[46] ^ w[47]) >>> 29) & 1) - 1)
- | ~(DV_I_43_0_bit | DV_I_50_0_bit | DV_II_47_0_bit
- | DV_II_48_0_bit | DV_II_52_0_bit | DV_II_53_0_bit));
- mask &= (((((w[45] >>> 4) ^ (w[48] >>> 29)) & 1) - 1)
- | ~(DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit
- | DV_I_51_0_bit | DV_II_49_0_bit | DV_II_54_0_bit));
- mask &= (((((w[45] ^ w[46]) >>> 29) & 1) - 1)
- | ~(DV_I_49_0_bit | DV_I_52_0_bit | DV_II_46_0_bit
- | DV_II_47_0_bit | DV_II_51_0_bit | DV_II_52_0_bit));
- mask &= (((((w[44] >>> 4) ^ (w[47] >>> 29)) & 1) - 1)
- | ~(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit
- | DV_I_50_0_bit | DV_II_48_0_bit | DV_II_53_0_bit));
- mask &= (((((w[43] >>> 4) ^ (w[46] >>> 29)) & 1) - 1)
- | ~(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit
- | DV_I_49_0_bit | DV_II_47_0_bit | DV_II_52_0_bit));
- mask &= (((((w[43] ^ w[44]) >>> 29) & 1) - 1)
- | ~(DV_I_47_0_bit | DV_I_50_0_bit | DV_I_51_0_bit
- | DV_II_45_0_bit | DV_II_49_0_bit | DV_II_50_0_bit));
- mask &= (((((w[42] >>> 4) ^ (w[45] >>> 29)) & 1) - 1)
- | ~(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit
- | DV_I_52_0_bit | DV_II_46_0_bit | DV_II_51_0_bit));
- mask &= (((((w[41] >>> 4) ^ (w[44] >>> 29)) & 1) - 1)
- | ~(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit
- | DV_I_51_0_bit | DV_II_45_0_bit | DV_II_50_0_bit));
- mask &= (((((w[40] ^ w[41]) >>> 29) & 1) - 1)
- | ~(DV_I_44_0_bit | DV_I_47_0_bit | DV_I_48_0_bit
- | DV_II_46_0_bit | DV_II_47_0_bit | DV_II_56_0_bit));
- mask &= (((((w[54] ^ w[55]) >>> 29) & 1) - 1)
- | ~(DV_I_51_0_bit | DV_II_47_0_bit | DV_II_50_0_bit
- | DV_II_55_0_bit | DV_II_56_0_bit));
- mask &= (((((w[53] ^ w[54]) >>> 29) & 1) - 1)
- | ~(DV_I_50_0_bit | DV_II_46_0_bit | DV_II_49_0_bit
- | DV_II_54_0_bit | DV_II_55_0_bit));
- mask &= (((((w[52] ^ w[53]) >>> 29) & 1) - 1)
- | ~(DV_I_49_0_bit | DV_II_45_0_bit | DV_II_48_0_bit
- | DV_II_53_0_bit | DV_II_54_0_bit));
- mask &= ((((w[50] ^ (w[53] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_50_0_bit | DV_I_52_0_bit | DV_II_46_0_bit
- | DV_II_48_0_bit | DV_II_54_0_bit));
- mask &= (((((w[50] ^ w[51]) >>> 29) & 1) - 1)
- | ~(DV_I_47_0_bit | DV_II_46_0_bit | DV_II_51_0_bit
- | DV_II_52_0_bit | DV_II_56_0_bit));
- mask &= ((((w[49] ^ (w[52] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit
- | DV_II_47_0_bit | DV_II_53_0_bit));
- mask &= ((((w[48] ^ (w[51] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit
- | DV_II_46_0_bit | DV_II_52_0_bit));
- mask &= (((((w[42] ^ w[43]) >>> 29) & 1) - 1)
- | ~(DV_I_46_0_bit | DV_I_49_0_bit | DV_I_50_0_bit
- | DV_II_48_0_bit | DV_II_49_0_bit));
- mask &= (((((w[41] ^ w[42]) >>> 29) & 1) - 1)
- | ~(DV_I_45_0_bit | DV_I_48_0_bit | DV_I_49_0_bit
- | DV_II_47_0_bit | DV_II_48_0_bit));
- mask &= (((((w[40] >>> 4) ^ (w[43] >>> 29)) & 1) - 1)
- | ~(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_50_0_bit
- | DV_II_49_0_bit | DV_II_56_0_bit));
- mask &= (((((w[39] >>> 4) ^ (w[42] >>> 29)) & 1) - 1)
- | ~(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_49_0_bit
- | DV_II_48_0_bit | DV_II_55_0_bit));
- if ((mask & (DV_I_44_0_bit | DV_I_48_0_bit | DV_II_47_0_bit
- | DV_II_54_0_bit | DV_II_56_0_bit)) != 0)
- mask &= (((((w[38] >>> 4) ^ (w[41] >>> 29)) & 1) - 1)
- | ~(DV_I_44_0_bit | DV_I_48_0_bit | DV_II_47_0_bit
- | DV_II_54_0_bit | DV_II_56_0_bit));
- mask &= (((((w[37] >>> 4) ^ (w[40] >>> 29)) & 1) - 1)
- | ~(DV_I_43_0_bit | DV_I_47_0_bit | DV_II_46_0_bit
- | DV_II_53_0_bit | DV_II_55_0_bit));
- if ((mask & (DV_I_52_0_bit | DV_II_48_0_bit | DV_II_51_0_bit
- | DV_II_56_0_bit)) != 0)
- mask &= (((((w[55] ^ w[56]) >>> 29) & 1) - 1) | ~(DV_I_52_0_bit
- | DV_II_48_0_bit | DV_II_51_0_bit | DV_II_56_0_bit));
- if ((mask & (DV_I_52_0_bit | DV_II_48_0_bit | DV_II_50_0_bit
- | DV_II_56_0_bit)) != 0)
- mask &= ((((w[52] ^ (w[55] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_52_0_bit | DV_II_48_0_bit | DV_II_50_0_bit
- | DV_II_56_0_bit));
- if ((mask & (DV_I_51_0_bit | DV_II_47_0_bit | DV_II_49_0_bit
- | DV_II_55_0_bit)) != 0)
- mask &= ((((w[51] ^ (w[54] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_51_0_bit | DV_II_47_0_bit | DV_II_49_0_bit
- | DV_II_55_0_bit));
- if ((mask & (DV_I_48_0_bit | DV_II_47_0_bit | DV_II_52_0_bit
- | DV_II_53_0_bit)) != 0)
- mask &= (((((w[51] ^ w[52]) >>> 29) & 1) - 1) | ~(DV_I_48_0_bit
- | DV_II_47_0_bit | DV_II_52_0_bit | DV_II_53_0_bit));
- if ((mask & (DV_I_46_0_bit | DV_I_49_0_bit | DV_II_45_0_bit
- | DV_II_48_0_bit)) != 0)
- mask &= (((((w[36] >>> 4) ^ (w[40] >>> 29)) & 1) - 1)
- | ~(DV_I_46_0_bit | DV_I_49_0_bit | DV_II_45_0_bit
- | DV_II_48_0_bit));
- if ((mask & (DV_I_52_0_bit | DV_II_48_0_bit | DV_II_49_0_bit)) != 0)
- mask &= ((0 - (((w[53] ^ w[56]) >>> 29) & 1))
- | ~(DV_I_52_0_bit | DV_II_48_0_bit | DV_II_49_0_bit));
- if ((mask & (DV_I_50_0_bit | DV_II_46_0_bit | DV_II_47_0_bit)) != 0)
- mask &= ((0 - (((w[51] ^ w[54]) >>> 29) & 1))
- | ~(DV_I_50_0_bit | DV_II_46_0_bit | DV_II_47_0_bit));
- if ((mask & (DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit)) != 0)
- mask &= ((0 - (((w[50] ^ w[52]) >>> 29) & 1))
- | ~(DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit));
- if ((mask & (DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit)) != 0)
- mask &= ((0 - (((w[49] ^ w[51]) >>> 29) & 1))
- | ~(DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit));
- if ((mask & (DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit)) != 0)
- mask &= ((0 - (((w[48] ^ w[50]) >>> 29) & 1))
- | ~(DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit));
- if ((mask & (DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit)) != 0)
- mask &= ((0 - (((w[47] ^ w[49]) >>> 29) & 1))
- | ~(DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit));
- if ((mask & (DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit)) != 0)
- mask &= ((0 - (((w[46] ^ w[48]) >>> 29) & 1))
- | ~(DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit));
- mask &= ((((w[45] ^ w[47]) & (1 << 6)) - (1 << 6))
- | ~(DV_I_47_2_bit | DV_I_49_2_bit | DV_I_51_2_bit));
- if ((mask & (DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit)) != 0)
- mask &= ((0 - (((w[45] ^ w[47]) >>> 29) & 1))
- | ~(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit));
- mask &= (((((w[44] ^ w[46]) >>> 6) & 1) - 1)
- | ~(DV_I_46_2_bit | DV_I_48_2_bit | DV_I_50_2_bit));
- if ((mask & (DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit)) != 0)
- mask &= ((0 - (((w[44] ^ w[46]) >>> 29) & 1))
- | ~(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit));
- mask &= ((0 - ((w[41] ^ (w[42] >>> 5)) & (1 << 1)))
- | ~(DV_I_48_2_bit | DV_II_46_2_bit | DV_II_51_2_bit));
- mask &= ((0 - ((w[40] ^ (w[41] >>> 5)) & (1 << 1)))
- | ~(DV_I_47_2_bit | DV_I_51_2_bit | DV_II_50_2_bit));
- if ((mask & (DV_I_44_0_bit | DV_I_46_0_bit | DV_II_56_0_bit)) != 0)
- mask &= ((0 - (((w[40] ^ w[42]) >>> 4) & 1))
- | ~(DV_I_44_0_bit | DV_I_46_0_bit | DV_II_56_0_bit));
- mask &= ((0 - ((w[39] ^ (w[40] >>> 5)) & (1 << 1)))
- | ~(DV_I_46_2_bit | DV_I_50_2_bit | DV_II_49_2_bit));
- if ((mask & (DV_I_43_0_bit | DV_I_45_0_bit | DV_II_55_0_bit)) != 0)
- mask &= ((0 - (((w[39] ^ w[41]) >>> 4) & 1))
- | ~(DV_I_43_0_bit | DV_I_45_0_bit | DV_II_55_0_bit));
- if ((mask & (DV_I_44_0_bit | DV_II_54_0_bit | DV_II_56_0_bit)) != 0)
- mask &= ((0 - (((w[38] ^ w[40]) >>> 4) & 1))
- | ~(DV_I_44_0_bit | DV_II_54_0_bit | DV_II_56_0_bit));
- if ((mask & (DV_I_43_0_bit | DV_II_53_0_bit | DV_II_55_0_bit)) != 0)
- mask &= ((0 - (((w[37] ^ w[39]) >>> 4) & 1))
- | ~(DV_I_43_0_bit | DV_II_53_0_bit | DV_II_55_0_bit));
- mask &= ((0 - ((w[36] ^ (w[37] >>> 5)) & (1 << 1)))
- | ~(DV_I_47_2_bit | DV_I_50_2_bit | DV_II_46_2_bit));
- if ((mask & (DV_I_45_0_bit | DV_I_48_0_bit | DV_II_47_0_bit)) != 0)
- mask &= (((((w[35] >>> 4) ^ (w[39] >>> 29)) & 1) - 1)
- | ~(DV_I_45_0_bit | DV_I_48_0_bit | DV_II_47_0_bit));
- if ((mask & (DV_I_48_0_bit | DV_II_48_0_bit)) != 0)
- mask &= ((0 - ((w[63] ^ (w[64] >>> 5)) & (1 << 0)))
- | ~(DV_I_48_0_bit | DV_II_48_0_bit));
- if ((mask & (DV_I_45_0_bit | DV_II_45_0_bit)) != 0)
- mask &= ((0 - ((w[63] ^ (w[64] >>> 5)) & (1 << 1)))
- | ~(DV_I_45_0_bit | DV_II_45_0_bit));
- if ((mask & (DV_I_47_0_bit | DV_II_47_0_bit)) != 0)
- mask &= ((0 - ((w[62] ^ (w[63] >>> 5)) & (1 << 0)))
- | ~(DV_I_47_0_bit | DV_II_47_0_bit));
- if ((mask & (DV_I_46_0_bit | DV_II_46_0_bit)) != 0)
- mask &= ((0 - ((w[61] ^ (w[62] >>> 5)) & (1 << 0)))
- | ~(DV_I_46_0_bit | DV_II_46_0_bit));
- mask &= ((0 - ((w[61] ^ (w[62] >>> 5)) & (1 << 2)))
- | ~(DV_I_46_2_bit | DV_II_46_2_bit));
- if ((mask & (DV_I_45_0_bit | DV_II_45_0_bit)) != 0)
- mask &= ((0 - ((w[60] ^ (w[61] >>> 5)) & (1 << 0)))
- | ~(DV_I_45_0_bit | DV_II_45_0_bit));
- if ((mask & (DV_II_51_0_bit | DV_II_54_0_bit)) != 0)
- mask &= (((((w[58] ^ w[59]) >>> 29) & 1) - 1)
- | ~(DV_II_51_0_bit | DV_II_54_0_bit));
- if ((mask & (DV_II_50_0_bit | DV_II_53_0_bit)) != 0)
- mask &= (((((w[57] ^ w[58]) >>> 29) & 1) - 1)
- | ~(DV_II_50_0_bit | DV_II_53_0_bit));
- if ((mask & (DV_II_52_0_bit | DV_II_54_0_bit)) != 0)
- mask &= ((((w[56] ^ (w[59] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_II_52_0_bit | DV_II_54_0_bit));
- if ((mask & (DV_II_51_0_bit | DV_II_52_0_bit)) != 0)
- mask &= ((0 - (((w[56] ^ w[59]) >>> 29) & 1))
- | ~(DV_II_51_0_bit | DV_II_52_0_bit));
- if ((mask & (DV_II_49_0_bit | DV_II_52_0_bit)) != 0)
- mask &= (((((w[56] ^ w[57]) >>> 29) & 1) - 1)
- | ~(DV_II_49_0_bit | DV_II_52_0_bit));
- if ((mask & (DV_II_51_0_bit | DV_II_53_0_bit)) != 0)
- mask &= ((((w[55] ^ (w[58] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_II_51_0_bit | DV_II_53_0_bit));
- if ((mask & (DV_II_50_0_bit | DV_II_52_0_bit)) != 0)
- mask &= ((((w[54] ^ (w[57] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_II_50_0_bit | DV_II_52_0_bit));
- if ((mask & (DV_II_49_0_bit | DV_II_51_0_bit)) != 0)
- mask &= ((((w[53] ^ (w[56] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_II_49_0_bit | DV_II_51_0_bit));
- mask &= ((((w[51] ^ (w[50] >>> 5)) & (1 << 1)) - (1 << 1))
- | ~(DV_I_50_2_bit | DV_II_46_2_bit));
- mask &= ((((w[48] ^ w[50]) & (1 << 6)) - (1 << 6))
- | ~(DV_I_50_2_bit | DV_II_46_2_bit));
- if ((mask & (DV_I_51_0_bit | DV_I_52_0_bit)) != 0)
- mask &= ((0 - (((w[48] ^ w[55]) >>> 29) & 1))
- | ~(DV_I_51_0_bit | DV_I_52_0_bit));
- mask &= ((((w[47] ^ w[49]) & (1 << 6)) - (1 << 6))
- | ~(DV_I_49_2_bit | DV_I_51_2_bit));
- mask &= ((((w[48] ^ (w[47] >>> 5)) & (1 << 1)) - (1 << 1))
- | ~(DV_I_47_2_bit | DV_II_51_2_bit));
- mask &= ((((w[46] ^ w[48]) & (1 << 6)) - (1 << 6))
- | ~(DV_I_48_2_bit | DV_I_50_2_bit));
- mask &= ((((w[47] ^ (w[46] >>> 5)) & (1 << 1)) - (1 << 1))
- | ~(DV_I_46_2_bit | DV_II_50_2_bit));
- mask &= ((0 - ((w[44] ^ (w[45] >>> 5)) & (1 << 1)))
- | ~(DV_I_51_2_bit | DV_II_49_2_bit));
- mask &= ((((w[43] ^ w[45]) & (1 << 6)) - (1 << 6))
- | ~(DV_I_47_2_bit | DV_I_49_2_bit));
- mask &= (((((w[42] ^ w[44]) >>> 6) & 1) - 1)
- | ~(DV_I_46_2_bit | DV_I_48_2_bit));
- mask &= ((((w[43] ^ (w[42] >>> 5)) & (1 << 1)) - (1 << 1))
- | ~(DV_II_46_2_bit | DV_II_51_2_bit));
- mask &= ((((w[42] ^ (w[41] >>> 5)) & (1 << 1)) - (1 << 1))
- | ~(DV_I_51_2_bit | DV_II_50_2_bit));
- mask &= ((((w[41] ^ (w[40] >>> 5)) & (1 << 1)) - (1 << 1))
- | ~(DV_I_50_2_bit | DV_II_49_2_bit));
- if ((mask & (DV_I_52_0_bit | DV_II_51_0_bit)) != 0)
- mask &= ((((w[39] ^ (w[43] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_52_0_bit | DV_II_51_0_bit));
- if ((mask & (DV_I_51_0_bit | DV_II_50_0_bit)) != 0)
- mask &= ((((w[38] ^ (w[42] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_51_0_bit | DV_II_50_0_bit));
- if ((mask & (DV_I_48_2_bit | DV_I_51_2_bit)) != 0)
- mask &= ((0 - ((w[37] ^ (w[38] >>> 5)) & (1 << 1)))
- | ~(DV_I_48_2_bit | DV_I_51_2_bit));
- if ((mask & (DV_I_50_0_bit | DV_II_49_0_bit)) != 0)
- mask &= ((((w[37] ^ (w[41] >>> 25)) & (1 << 4)) - (1 << 4))
- | ~(DV_I_50_0_bit | DV_II_49_0_bit));
- if ((mask & (DV_II_52_0_bit | DV_II_54_0_bit)) != 0)
- mask &= ((0 - ((w[36] ^ w[38]) & (1 << 4)))
- | ~(DV_II_52_0_bit | DV_II_54_0_bit));
- mask &= ((0 - ((w[35] ^ (w[36] >>> 5)) & (1 << 1)))
- | ~(DV_I_46_2_bit | DV_I_49_2_bit));
- if ((mask & (DV_I_51_0_bit | DV_II_47_0_bit)) != 0)
- mask &= ((((w[35] ^ (w[39] >>> 25)) & (1 << 3)) - (1 << 3))
- | ~(DV_I_51_0_bit | DV_II_47_0_bit));
- if (mask == 0) {
- return mask;
- }
- if ((mask & DV_I_43_0_bit) != 0)
- if (0 == ((w[61] ^ (w[62] >>> 5)) & (1 << 1))
- || 0 != ((w[59] ^ (w[63] >>> 25)) & (1 << 5))
- || 0 == ((w[58] ^ (w[63] >>> 30)) & (1 << 0)))
- mask &= ~DV_I_43_0_bit;
- if ((mask & DV_I_44_0_bit) != 0)
- if (0 == ((w[62] ^ (w[63] >>> 5)) & (1 << 1))
- || 0 != ((w[60] ^ (w[64] >>> 25)) & (1 << 5))
- || 0 == ((w[59] ^ (w[64] >>> 30)) & (1 << 0)))
- mask &= ~DV_I_44_0_bit;
- if ((mask & DV_I_46_2_bit) != 0)
- mask &= ((~((w[40] ^ w[42]) >>> 2)) | ~DV_I_46_2_bit);
- if ((mask & DV_I_47_2_bit) != 0)
- if (0 == ((w[62] ^ (w[63] >>> 5)) & (1 << 2))
- || 0 != ((w[41] ^ w[43]) & (1 << 6)))
- mask &= ~DV_I_47_2_bit;
- if ((mask & DV_I_48_2_bit) != 0)
- if (0 == ((w[63] ^ (w[64] >>> 5)) & (1 << 2))
- || 0 != ((w[48] ^ (w[49] << 5)) & (1 << 6)))
- mask &= ~DV_I_48_2_bit;
- if ((mask & DV_I_49_2_bit) != 0)
- if (0 != ((w[49] ^ (w[50] << 5)) & (1 << 6))
- || 0 == ((w[42] ^ w[50]) & (1 << 1))
- || 0 != ((w[39] ^ (w[40] << 5)) & (1 << 6))
- || 0 == ((w[38] ^ w[40]) & (1 << 1)))
- mask &= ~DV_I_49_2_bit;
- if ((mask & DV_I_50_0_bit) != 0)
- mask &= ((((w[36] ^ w[37]) << 7)) | ~DV_I_50_0_bit);
- if ((mask & DV_I_50_2_bit) != 0)
- mask &= ((((w[43] ^ w[51]) << 11)) | ~DV_I_50_2_bit);
- if ((mask & DV_I_51_0_bit) != 0)
- mask &= ((((w[37] ^ w[38]) << 9)) | ~DV_I_51_0_bit);
- if ((mask & DV_I_51_2_bit) != 0)
- if (0 != ((w[51] ^ (w[52] << 5)) & (1 << 6))
- || 0 != ((w[49] ^ w[51]) & (1 << 6))
- || 0 != ((w[37] ^ (w[37] >>> 5)) & (1 << 1))
- || 0 != ((w[35] ^ (w[39] >>> 25)) & (1 << 5)))
- mask &= ~DV_I_51_2_bit;
- if ((mask & DV_I_52_0_bit) != 0)
- mask &= ((((w[38] ^ w[39]) << 11)) | ~DV_I_52_0_bit);
- if ((mask & DV_II_46_2_bit) != 0)
- mask &= ((((w[47] ^ w[51]) << 17)) | ~DV_II_46_2_bit);
- if ((mask & DV_II_48_0_bit) != 0)
- if (0 != ((w[36] ^ (w[40] >>> 25)) & (1 << 3))
- || 0 == ((w[35] ^ (w[40] << 2)) & (1 << 30)))
- mask &= ~DV_II_48_0_bit;
- if ((mask & DV_II_49_0_bit) != 0)
- if (0 != ((w[37] ^ (w[41] >>> 25)) & (1 << 3))
- || 0 == ((w[36] ^ (w[41] << 2)) & (1 << 30)))
- mask &= ~DV_II_49_0_bit;
- if ((mask & DV_II_49_2_bit) != 0)
- if (0 != ((w[53] ^ (w[54] << 5)) & (1 << 6))
- || 0 != ((w[51] ^ w[53]) & (1 << 6))
- || 0 == ((w[50] ^ w[54]) & (1 << 1))
- || 0 != ((w[45] ^ (w[46] << 5)) & (1 << 6))
- || 0 != ((w[37] ^ (w[41] >>> 25)) & (1 << 5))
- || 0 == ((w[36] ^ (w[41] >>> 30)) & (1 << 0)))
- mask &= ~DV_II_49_2_bit;
- if ((mask & DV_II_50_0_bit) != 0)
- if (0 == ((w[55] ^ w[58]) & (1 << 29))
- || 0 != ((w[38] ^ (w[42] >>> 25)) & (1 << 3))
- || 0 == ((w[37] ^ (w[42] << 2)) & (1 << 30)))
- mask &= ~DV_II_50_0_bit;
- if ((mask & DV_II_50_2_bit) != 0)
- if (0 != ((w[54] ^ (w[55] << 5)) & (1 << 6))
- || 0!=((w[52] ^ w[54]) & (1 << 6))
- || 0==((w[51] ^ w[55]) & (1 << 1))
- || 0==((w[45] ^ w[47]) & (1 << 1))
- || 0!=((w[38] ^ (w[42] >>> 25)) & (1 << 5))
- || 0==((w[37] ^ (w[42] >>> 30)) & (1 << 0)))
- mask &= ~DV_II_50_2_bit;
- if ((mask & DV_II_51_0_bit) != 0)
- if (0 != ((w[39] ^ (w[43] >>> 25)) & (1 << 3))
- || 0 == ((w[38] ^ (w[43] << 2)) & (1 << 30)))
- mask &= ~DV_II_51_0_bit;
- if ((mask & DV_II_51_2_bit) != 0)
- if (0 != ((w[55] ^ (w[56] << 5)) & (1 << 6))
- || 0 != ((w[53] ^ w[55]) & (1 << 6))
- || 0 == ((w[52] ^ w[56]) & (1 << 1))
- || 0 == ((w[46] ^ w[48]) & (1 << 1))
- || 0 != ((w[39] ^ (w[43] >>> 25)) & (1 << 5))
- || 0 == ((w[38] ^ (w[43] >>> 30)) & (1 << 0)))
- mask &= ~DV_II_51_2_bit;
- if ((mask & DV_II_52_0_bit) != 0)
- if (0 != ((w[59] ^ w[60]) & (1 << 29))
- || 0 != ((w[40] ^ (w[44] >>> 25)) & (1 << 3))
- || 0 != ((w[40] ^ (w[44] >>> 25)) & (1 << 4))
- || 0==((w[39] ^ (w[44] << 2)) & (1 << 30)))
- mask &= ~DV_II_52_0_bit;
- if ((mask & DV_II_53_0_bit) != 0)
- if (0==((w[58] ^ w[61]) & (1 << 29))
- || 0!=((w[57] ^ (w[61] >>> 25)) & (1 << 4))
- || 0!=((w[41] ^ (w[45] >>> 25)) & (1 << 3))
- || 0!=((w[41] ^ (w[45] >>> 25)) & (1 << 4)))
- mask &= ~DV_II_53_0_bit;
- if ((mask & DV_II_54_0_bit) != 0)
- if (0 != ((w[58] ^ (w[62] >>> 25)) & (1 << 4))
- || 0 != ((w[42] ^ (w[46] >>> 25)) & (1 << 3))
- || 0 != ((w[42] ^ (w[46] >>> 25)) & (1 << 4)))
- mask &= ~DV_II_54_0_bit;
- if ((mask & DV_II_55_0_bit) != 0)
- if (0 != ((w[59] ^ (w[63] >>> 25)) & (1 << 4))
- || 0 != ((w[57] ^ (w[59] >>> 25)) & (1 << 4))
- || 0 != ((w[43] ^ (w[47] >>> 25)) & (1 << 3))
- || 0 != ((w[43] ^ (w[47] >>> 25)) & (1 << 4)))
- mask &= ~DV_II_55_0_bit;
- if ((mask & DV_II_56_0_bit) != 0)
- if (0 != ((w[60] ^ (w[64] >>> 25)) & (1 << 4))
- || 0 != ((w[44] ^ (w[48] >>> 25)) & (1 << 3))
- || 0 != ((w[44] ^ (w[48] >>> 25)) & (1 << 4)))
- mask &= ~DV_II_56_0_bit;
- return mask;
- }
- private UbcCheck() {
- }
- static final class DvInfo {
- final int testt;
- final int maskb;
- final int[] dm;
- @SuppressWarnings("unused")
- DvInfo(int dvType, int dvK, int dvB, int testt, int maskb, int[] dm) {
- this.testt = testt;
- this.maskb = maskb;
- this.dm = dm;
- // Only states 58 and 65 are saved.
- if (testt != 58 && testt != 65) {
- throw new IllegalArgumentException();
- }
- }
- }
- static final DvInfo[] DV = new DvInfo[] {
- new DvInfo(1, 43, 0, 58, 0, new int[] { 0x08000000, 0x9800000c,
- 0xd8000010, 0x08000010, 0xb8000010, 0x98000000, 0x60000000,
- 0x00000008, 0xc0000000, 0x90000014, 0x10000010, 0xb8000014,
- 0x28000000, 0x20000010, 0x48000000, 0x08000018, 0x60000000,
- 0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010,
- 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, 0xf0000010,
- 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000,
- 0x80000000, 0x00000010, 0xa0000000, 0x20000000, 0xa0000000,
- 0x20000010, 0x00000000, 0x20000010, 0x20000000, 0x00000010,
- 0x20000000, 0x00000010, 0xa0000000, 0x00000000, 0x20000000,
- 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000001, 0x00000020, 0x00000001, 0x40000002,
- 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006,
- 0x00000049, 0x00000103, 0x80000009, 0x80000012, 0x80000202,
- 0x00000018, 0x00000164, 0x00000408, 0x800000e6, 0x8000004c,
- 0x00000803, 0x80000161, 0x80000599 }),
- new DvInfo(1, 44, 0, 58, 1, new int[] { 0xb4000008, 0x08000000,
- 0x9800000c, 0xd8000010, 0x08000010, 0xb8000010, 0x98000000,
- 0x60000000, 0x00000008, 0xc0000000, 0x90000014, 0x10000010,
- 0xb8000014, 0x28000000, 0x20000010, 0x48000000, 0x08000018,
- 0x60000000, 0x90000010, 0xf0000010, 0x90000008, 0xc0000000,
- 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, 0x90000000,
- 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010,
- 0x90000000, 0x80000000, 0x00000010, 0xa0000000, 0x20000000,
- 0xa0000000, 0x20000010, 0x00000000, 0x20000010, 0x20000000,
- 0x00000010, 0x20000000, 0x00000010, 0xa0000000, 0x00000000,
- 0x20000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000001,
- 0x40000002, 0x40000040, 0x40000002, 0x80000004, 0x80000080,
- 0x80000006, 0x00000049, 0x00000103, 0x80000009, 0x80000012,
- 0x80000202, 0x00000018, 0x00000164, 0x00000408, 0x800000e6,
- 0x8000004c, 0x00000803, 0x80000161 }),
- new DvInfo(1, 45, 0, 58, 2, new int[] { 0xf4000014, 0xb4000008,
- 0x08000000, 0x9800000c, 0xd8000010, 0x08000010, 0xb8000010,
- 0x98000000, 0x60000000, 0x00000008, 0xc0000000, 0x90000014,
- 0x10000010, 0xb8000014, 0x28000000, 0x20000010, 0x48000000,
- 0x08000018, 0x60000000, 0x90000010, 0xf0000010, 0x90000008,
- 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000,
- 0x90000000, 0xf0000010, 0x90000018, 0x60000000, 0x90000010,
- 0x90000010, 0x90000000, 0x80000000, 0x00000010, 0xa0000000,
- 0x20000000, 0xa0000000, 0x20000010, 0x00000000, 0x20000010,
- 0x20000000, 0x00000010, 0x20000000, 0x00000010, 0xa0000000,
- 0x00000000, 0x20000000, 0x20000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020,
- 0x00000001, 0x40000002, 0x40000040, 0x40000002, 0x80000004,
- 0x80000080, 0x80000006, 0x00000049, 0x00000103, 0x80000009,
- 0x80000012, 0x80000202, 0x00000018, 0x00000164, 0x00000408,
- 0x800000e6, 0x8000004c, 0x00000803 }),
- new DvInfo(1, 46, 0, 58, 3, new int[] { 0x2c000010, 0xf4000014,
- 0xb4000008, 0x08000000, 0x9800000c, 0xd8000010, 0x08000010,
- 0xb8000010, 0x98000000, 0x60000000, 0x00000008, 0xc0000000,
- 0x90000014, 0x10000010, 0xb8000014, 0x28000000, 0x20000010,
- 0x48000000, 0x08000018, 0x60000000, 0x90000010, 0xf0000010,
- 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008,
- 0x40000000, 0x90000000, 0xf0000010, 0x90000018, 0x60000000,
- 0x90000010, 0x90000010, 0x90000000, 0x80000000, 0x00000010,
- 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0x00000000,
- 0x20000010, 0x20000000, 0x00000010, 0x20000000, 0x00000010,
- 0xa0000000, 0x00000000, 0x20000000, 0x20000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
- 0x00000020, 0x00000001, 0x40000002, 0x40000040, 0x40000002,
- 0x80000004, 0x80000080, 0x80000006, 0x00000049, 0x00000103,
- 0x80000009, 0x80000012, 0x80000202, 0x00000018, 0x00000164,
- 0x00000408, 0x800000e6, 0x8000004c }),
- new DvInfo(1, 46, 2, 58, 4, new int[] { 0xb0000040, 0xd0000053,
- 0xd0000022, 0x20000000, 0x60000032, 0x60000043, 0x20000040,
- 0xe0000042, 0x60000002, 0x80000001, 0x00000020, 0x00000003,
- 0x40000052, 0x40000040, 0xe0000052, 0xa0000000, 0x80000040,
- 0x20000001, 0x20000060, 0x80000001, 0x40000042, 0xc0000043,
- 0x40000022, 0x00000003, 0x40000042, 0xc0000043, 0xc0000022,
- 0x00000001, 0x40000002, 0xc0000043, 0x40000062, 0x80000001,
- 0x40000042, 0x40000042, 0x40000002, 0x00000002, 0x00000040,
- 0x80000002, 0x80000000, 0x80000002, 0x80000040, 0x00000000,
- 0x80000040, 0x80000000, 0x00000040, 0x80000000, 0x00000040,
- 0x80000002, 0x00000000, 0x80000000, 0x80000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004,
- 0x00000080, 0x00000004, 0x00000009, 0x00000101, 0x00000009,
- 0x00000012, 0x00000202, 0x0000001a, 0x00000124, 0x0000040c,
- 0x00000026, 0x0000004a, 0x0000080a, 0x00000060, 0x00000590,
- 0x00001020, 0x0000039a, 0x00000132 }),
- new DvInfo(1, 47, 0, 58, 5, new int[] { 0xc8000010, 0x2c000010,
- 0xf4000014, 0xb4000008, 0x08000000, 0x9800000c, 0xd8000010,
- 0x08000010, 0xb8000010, 0x98000000, 0x60000000, 0x00000008,
- 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, 0x28000000,
- 0x20000010, 0x48000000, 0x08000018, 0x60000000, 0x90000010,
- 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010,
- 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, 0x90000018,
- 0x60000000, 0x90000010, 0x90000010, 0x90000000, 0x80000000,
- 0x00000010, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010,
- 0x00000000, 0x20000010, 0x20000000, 0x00000010, 0x20000000,
- 0x00000010, 0xa0000000, 0x00000000, 0x20000000, 0x20000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000001, 0x00000020, 0x00000001, 0x40000002, 0x40000040,
- 0x40000002, 0x80000004, 0x80000080, 0x80000006, 0x00000049,
- 0x00000103, 0x80000009, 0x80000012, 0x80000202, 0x00000018,
- 0x00000164, 0x00000408, 0x800000e6 }),
- new DvInfo(1, 47, 2, 58, 6, new int[] { 0x20000043, 0xb0000040,
- 0xd0000053, 0xd0000022, 0x20000000, 0x60000032, 0x60000043,
- 0x20000040, 0xe0000042, 0x60000002, 0x80000001, 0x00000020,
- 0x00000003, 0x40000052, 0x40000040, 0xe0000052, 0xa0000000,
- 0x80000040, 0x20000001, 0x20000060, 0x80000001, 0x40000042,
- 0xc0000043, 0x40000022, 0x00000003, 0x40000042, 0xc0000043,
- 0xc0000022, 0x00000001, 0x40000002, 0xc0000043, 0x40000062,
- 0x80000001, 0x40000042, 0x40000042, 0x40000002, 0x00000002,
- 0x00000040, 0x80000002, 0x80000000, 0x80000002, 0x80000040,
- 0x00000000, 0x80000040, 0x80000000, 0x00000040, 0x80000000,
- 0x00000040, 0x80000002, 0x00000000, 0x80000000, 0x80000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000004, 0x00000080, 0x00000004, 0x00000009, 0x00000101,
- 0x00000009, 0x00000012, 0x00000202, 0x0000001a, 0x00000124,
- 0x0000040c, 0x00000026, 0x0000004a, 0x0000080a, 0x00000060,
- 0x00000590, 0x00001020, 0x0000039a }),
- new DvInfo(1, 48, 0, 58, 7, new int[] { 0xb800000a, 0xc8000010,
- 0x2c000010, 0xf4000014, 0xb4000008, 0x08000000, 0x9800000c,
- 0xd8000010, 0x08000010, 0xb8000010, 0x98000000, 0x60000000,
- 0x00000008, 0xc0000000, 0x90000014, 0x10000010, 0xb8000014,
- 0x28000000, 0x20000010, 0x48000000, 0x08000018, 0x60000000,
- 0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010,
- 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, 0xf0000010,
- 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000,
- 0x80000000, 0x00000010, 0xa0000000, 0x20000000, 0xa0000000,
- 0x20000010, 0x00000000, 0x20000010, 0x20000000, 0x00000010,
- 0x20000000, 0x00000010, 0xa0000000, 0x00000000, 0x20000000,
- 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000001, 0x00000020, 0x00000001, 0x40000002,
- 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006,
- 0x00000049, 0x00000103, 0x80000009, 0x80000012, 0x80000202,
- 0x00000018, 0x00000164, 0x00000408 }),
- new DvInfo(1, 48, 2, 58, 8, new int[] { 0xe000002a, 0x20000043,
- 0xb0000040, 0xd0000053, 0xd0000022, 0x20000000, 0x60000032,
- 0x60000043, 0x20000040, 0xe0000042, 0x60000002, 0x80000001,
- 0x00000020, 0x00000003, 0x40000052, 0x40000040, 0xe0000052,
- 0xa0000000, 0x80000040, 0x20000001, 0x20000060, 0x80000001,
- 0x40000042, 0xc0000043, 0x40000022, 0x00000003, 0x40000042,
- 0xc0000043, 0xc0000022, 0x00000001, 0x40000002, 0xc0000043,
- 0x40000062, 0x80000001, 0x40000042, 0x40000042, 0x40000002,
- 0x00000002, 0x00000040, 0x80000002, 0x80000000, 0x80000002,
- 0x80000040, 0x00000000, 0x80000040, 0x80000000, 0x00000040,
- 0x80000000, 0x00000040, 0x80000002, 0x00000000, 0x80000000,
- 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000004, 0x00000080, 0x00000004, 0x00000009,
- 0x00000101, 0x00000009, 0x00000012, 0x00000202, 0x0000001a,
- 0x00000124, 0x0000040c, 0x00000026, 0x0000004a, 0x0000080a,
- 0x00000060, 0x00000590, 0x00001020 }),
- new DvInfo(1, 49, 0, 58, 9, new int[] { 0x18000000, 0xb800000a,
- 0xc8000010, 0x2c000010, 0xf4000014, 0xb4000008, 0x08000000,
- 0x9800000c, 0xd8000010, 0x08000010, 0xb8000010, 0x98000000,
- 0x60000000, 0x00000008, 0xc0000000, 0x90000014, 0x10000010,
- 0xb8000014, 0x28000000, 0x20000010, 0x48000000, 0x08000018,
- 0x60000000, 0x90000010, 0xf0000010, 0x90000008, 0xc0000000,
- 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, 0x90000000,
- 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010,
- 0x90000000, 0x80000000, 0x00000010, 0xa0000000, 0x20000000,
- 0xa0000000, 0x20000010, 0x00000000, 0x20000010, 0x20000000,
- 0x00000010, 0x20000000, 0x00000010, 0xa0000000, 0x00000000,
- 0x20000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000001,
- 0x40000002, 0x40000040, 0x40000002, 0x80000004, 0x80000080,
- 0x80000006, 0x00000049, 0x00000103, 0x80000009, 0x80000012,
- 0x80000202, 0x00000018, 0x00000164 }),
- new DvInfo(1, 49, 2, 58, 10, new int[] { 0x60000000, 0xe000002a,
- 0x20000043, 0xb0000040, 0xd0000053, 0xd0000022, 0x20000000,
- 0x60000032, 0x60000043, 0x20000040, 0xe0000042, 0x60000002,
- 0x80000001, 0x00000020, 0x00000003, 0x40000052, 0x40000040,
- 0xe0000052, 0xa0000000, 0x80000040, 0x20000001, 0x20000060,
- 0x80000001, 0x40000042, 0xc0000043, 0x40000022, 0x00000003,
- 0x40000042, 0xc0000043, 0xc0000022, 0x00000001, 0x40000002,
- 0xc0000043, 0x40000062, 0x80000001, 0x40000042, 0x40000042,
- 0x40000002, 0x00000002, 0x00000040, 0x80000002, 0x80000000,
- 0x80000002, 0x80000040, 0x00000000, 0x80000040, 0x80000000,
- 0x00000040, 0x80000000, 0x00000040, 0x80000002, 0x00000000,
- 0x80000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000004, 0x00000080, 0x00000004,
- 0x00000009, 0x00000101, 0x00000009, 0x00000012, 0x00000202,
- 0x0000001a, 0x00000124, 0x0000040c, 0x00000026, 0x0000004a,
- 0x0000080a, 0x00000060, 0x00000590 }),
- new DvInfo(1, 50, 0, 65, 11, new int[] { 0x0800000c, 0x18000000,
- 0xb800000a, 0xc8000010, 0x2c000010, 0xf4000014, 0xb4000008,
- 0x08000000, 0x9800000c, 0xd8000010, 0x08000010, 0xb8000010,
- 0x98000000, 0x60000000, 0x00000008, 0xc0000000, 0x90000014,
- 0x10000010, 0xb8000014, 0x28000000, 0x20000010, 0x48000000,
- 0x08000018, 0x60000000, 0x90000010, 0xf0000010, 0x90000008,
- 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000,
- 0x90000000, 0xf0000010, 0x90000018, 0x60000000, 0x90000010,
- 0x90000010, 0x90000000, 0x80000000, 0x00000010, 0xa0000000,
- 0x20000000, 0xa0000000, 0x20000010, 0x00000000, 0x20000010,
- 0x20000000, 0x00000010, 0x20000000, 0x00000010, 0xa0000000,
- 0x00000000, 0x20000000, 0x20000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020,
- 0x00000001, 0x40000002, 0x40000040, 0x40000002, 0x80000004,
- 0x80000080, 0x80000006, 0x00000049, 0x00000103, 0x80000009,
- 0x80000012, 0x80000202, 0x00000018 }),
- new DvInfo(1, 50, 2, 65, 12, new int[] { 0x20000030, 0x60000000,
- 0xe000002a, 0x20000043, 0xb0000040, 0xd0000053, 0xd0000022,
- 0x20000000, 0x60000032, 0x60000043, 0x20000040, 0xe0000042,
- 0x60000002, 0x80000001, 0x00000020, 0x00000003, 0x40000052,
- 0x40000040, 0xe0000052, 0xa0000000, 0x80000040, 0x20000001,
- 0x20000060, 0x80000001, 0x40000042, 0xc0000043, 0x40000022,
- 0x00000003, 0x40000042, 0xc0000043, 0xc0000022, 0x00000001,
- 0x40000002, 0xc0000043, 0x40000062, 0x80000001, 0x40000042,
- 0x40000042, 0x40000002, 0x00000002, 0x00000040, 0x80000002,
- 0x80000000, 0x80000002, 0x80000040, 0x00000000, 0x80000040,
- 0x80000000, 0x00000040, 0x80000000, 0x00000040, 0x80000002,
- 0x00000000, 0x80000000, 0x80000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000080,
- 0x00000004, 0x00000009, 0x00000101, 0x00000009, 0x00000012,
- 0x00000202, 0x0000001a, 0x00000124, 0x0000040c, 0x00000026,
- 0x0000004a, 0x0000080a, 0x00000060 }),
- new DvInfo(1, 51, 0, 65, 13, new int[] { 0xe8000000, 0x0800000c,
- 0x18000000, 0xb800000a, 0xc8000010, 0x2c000010, 0xf4000014,
- 0xb4000008, 0x08000000, 0x9800000c, 0xd8000010, 0x08000010,
- 0xb8000010, 0x98000000, 0x60000000, 0x00000008, 0xc0000000,
- 0x90000014, 0x10000010, 0xb8000014, 0x28000000, 0x20000010,
- 0x48000000, 0x08000018, 0x60000000, 0x90000010, 0xf0000010,
- 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008,
- 0x40000000, 0x90000000, 0xf0000010, 0x90000018, 0x60000000,
- 0x90000010, 0x90000010, 0x90000000, 0x80000000, 0x00000010,
- 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0x00000000,
- 0x20000010, 0x20000000, 0x00000010, 0x20000000, 0x00000010,
- 0xa0000000, 0x00000000, 0x20000000, 0x20000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
- 0x00000020, 0x00000001, 0x40000002, 0x40000040, 0x40000002,
- 0x80000004, 0x80000080, 0x80000006, 0x00000049, 0x00000103,
- 0x80000009, 0x80000012, 0x80000202 }),
- new DvInfo(1, 51, 2, 65, 14, new int[] { 0xa0000003, 0x20000030,
- 0x60000000, 0xe000002a, 0x20000043, 0xb0000040, 0xd0000053,
- 0xd0000022, 0x20000000, 0x60000032, 0x60000043, 0x20000040,
- 0xe0000042, 0x60000002, 0x80000001, 0x00000020, 0x00000003,
- 0x40000052, 0x40000040, 0xe0000052, 0xa0000000, 0x80000040,
- 0x20000001, 0x20000060, 0x80000001, 0x40000042, 0xc0000043,
- 0x40000022, 0x00000003, 0x40000042, 0xc0000043, 0xc0000022,
- 0x00000001, 0x40000002, 0xc0000043, 0x40000062, 0x80000001,
- 0x40000042, 0x40000042, 0x40000002, 0x00000002, 0x00000040,
- 0x80000002, 0x80000000, 0x80000002, 0x80000040, 0x00000000,
- 0x80000040, 0x80000000, 0x00000040, 0x80000000, 0x00000040,
- 0x80000002, 0x00000000, 0x80000000, 0x80000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004,
- 0x00000080, 0x00000004, 0x00000009, 0x00000101, 0x00000009,
- 0x00000012, 0x00000202, 0x0000001a, 0x00000124, 0x0000040c,
- 0x00000026, 0x0000004a, 0x0000080a }),
- new DvInfo(1, 52, 0, 65, 15, new int[] { 0x04000010, 0xe8000000,
- 0x0800000c, 0x18000000, 0xb800000a, 0xc8000010, 0x2c000010,
- 0xf4000014, 0xb4000008, 0x08000000, 0x9800000c, 0xd8000010,
- 0x08000010, 0xb8000010, 0x98000000, 0x60000000, 0x00000008,
- 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, 0x28000000,
- 0x20000010, 0x48000000, 0x08000018, 0x60000000, 0x90000010,
- 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010,
- 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, 0x90000018,
- 0x60000000, 0x90000010, 0x90000010, 0x90000000, 0x80000000,
- 0x00000010, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010,
- 0x00000000, 0x20000010, 0x20000000, 0x00000010, 0x20000000,
- 0x00000010, 0xa0000000, 0x00000000, 0x20000000, 0x20000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000001, 0x00000020, 0x00000001, 0x40000002, 0x40000040,
- 0x40000002, 0x80000004, 0x80000080, 0x80000006, 0x00000049,
- 0x00000103, 0x80000009, 0x80000012 }),
- new DvInfo(2, 45, 0, 58, 16, new int[] { 0xec000014, 0x0c000002,
- 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010,
- 0x0000000c, 0xb8000010, 0x08000018, 0x78000010, 0x08000014,
- 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010,
- 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
- 0xa0000000, 0x00000000, 0x00000000, 0x20000000, 0x80000000,
- 0x00000010, 0x00000000, 0x20000010, 0x20000000, 0x00000010,
- 0x60000000, 0x00000018, 0xe0000000, 0x90000000, 0x30000010,
- 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, 0x00000010,
- 0x80000000, 0x20000000, 0x20000000, 0x20000000, 0x80000000,
- 0x00000010, 0x00000000, 0x20000010, 0xa0000000, 0x00000000,
- 0x20000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020,
- 0x00000001, 0x40000002, 0x40000041, 0x40000022, 0x80000005,
- 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, 0x00000089,
- 0x00000014, 0x8000024b, 0x0000011b, 0x8000016d, 0x8000041a,
- 0x000002e4, 0x80000054, 0x00000967 }),
- new DvInfo(2, 46, 0, 58, 17, new int[] { 0x2400001c, 0xec000014,
- 0x0c000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018,
- 0xb0000010, 0x0000000c, 0xb8000010, 0x08000018, 0x78000010,
- 0x08000014, 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004,
- 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010,
- 0x98000010, 0xa0000000, 0x00000000, 0x00000000, 0x20000000,
- 0x80000000, 0x00000010, 0x00000000, 0x20000010, 0x20000000,
- 0x00000010, 0x60000000, 0x00000018, 0xe0000000, 0x90000000,
- 0x30000010, 0xb0000000, 0x20000000, 0x20000000, 0xa0000000,
- 0x00000010, 0x80000000, 0x20000000, 0x20000000, 0x20000000,
- 0x80000000, 0x00000010, 0x00000000, 0x20000010, 0xa0000000,
- 0x00000000, 0x20000000, 0x20000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
- 0x00000020, 0x00000001, 0x40000002, 0x40000041, 0x40000022,
- 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107,
- 0x00000089, 0x00000014, 0x8000024b, 0x0000011b, 0x8000016d,
- 0x8000041a, 0x000002e4, 0x80000054 }),
- new DvInfo(2, 46, 2, 58, 18, new int[] { 0x90000070, 0xb0000053,
- 0x30000008, 0x00000043, 0xd0000072, 0xb0000010, 0xf0000062,
- 0xc0000042, 0x00000030, 0xe0000042, 0x20000060, 0xe0000041,
- 0x20000050, 0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012,
- 0x60000041, 0xc0000032, 0x20000001, 0xc0000002, 0xe0000042,
- 0x60000042, 0x80000002, 0x00000000, 0x00000000, 0x80000000,
- 0x00000002, 0x00000040, 0x00000000, 0x80000040, 0x80000000,
- 0x00000040, 0x80000001, 0x00000060, 0x80000003, 0x40000002,
- 0xc0000040, 0xc0000002, 0x80000000, 0x80000000, 0x80000002,
- 0x00000040, 0x00000002, 0x80000000, 0x80000000, 0x80000000,
- 0x00000002, 0x00000040, 0x00000000, 0x80000040, 0x80000002,
- 0x00000000, 0x80000000, 0x80000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004,
- 0x00000080, 0x00000004, 0x00000009, 0x00000105, 0x00000089,
- 0x00000016, 0x0000020b, 0x0000011b, 0x0000012d, 0x0000041e,
- 0x00000224, 0x00000050, 0x0000092e, 0x0000046c, 0x000005b6,
- 0x0000106a, 0x00000b90, 0x00000152 }),
- new DvInfo(2, 47, 0, 58, 19, new int[] { 0x20000010, 0x2400001c,
- 0xec000014, 0x0c000002, 0xc0000010, 0xb400001c, 0x2c000004,
- 0xbc000018, 0xb0000010, 0x0000000c, 0xb8000010, 0x08000018,
- 0x78000010, 0x08000014, 0x70000010, 0xb800001c, 0xe8000000,
- 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000,
- 0xb8000010, 0x98000010, 0xa0000000, 0x00000000, 0x00000000,
- 0x20000000, 0x80000000, 0x00000010, 0x00000000, 0x20000010,
- 0x20000000, 0x00000010, 0x60000000, 0x00000018, 0xe0000000,
- 0x90000000, 0x30000010, 0xb0000000, 0x20000000, 0x20000000,
- 0xa0000000, 0x00000010, 0x80000000, 0x20000000, 0x20000000,
- 0x20000000, 0x80000000, 0x00000010, 0x00000000, 0x20000010,
- 0xa0000000, 0x00000000, 0x20000000, 0x20000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000001, 0x00000020, 0x00000001, 0x40000002, 0x40000041,
- 0x40000022, 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b,
- 0x80000107, 0x00000089, 0x00000014, 0x8000024b, 0x0000011b,
- 0x8000016d, 0x8000041a, 0x000002e4 }),
- new DvInfo(2, 48, 0, 58, 20, new int[] { 0xbc00001a, 0x20000010,
- 0x2400001c, 0xec000014, 0x0c000002, 0xc0000010, 0xb400001c,
- 0x2c000004, 0xbc000018, 0xb0000010, 0x0000000c, 0xb8000010,
- 0x08000018, 0x78000010, 0x08000014, 0x70000010, 0xb800001c,
- 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000,
- 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0x00000000,
- 0x00000000, 0x20000000, 0x80000000, 0x00000010, 0x00000000,
- 0x20000010, 0x20000000, 0x00000010, 0x60000000, 0x00000018,
- 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000,
- 0x20000000, 0xa0000000, 0x00000010, 0x80000000, 0x20000000,
- 0x20000000, 0x20000000, 0x80000000, 0x00000010, 0x00000000,
- 0x20000010, 0xa0000000, 0x00000000, 0x20000000, 0x20000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000001, 0x00000020, 0x00000001, 0x40000002,
- 0x40000041, 0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
- 0x4000004b, 0x80000107, 0x00000089, 0x00000014, 0x8000024b,
- 0x0000011b, 0x8000016d, 0x8000041a }),
- new DvInfo(2, 49, 0, 58, 21, new int[] { 0x3c000004, 0xbc00001a,
- 0x20000010, 0x2400001c, 0xec000014, 0x0c000002, 0xc0000010,
- 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0x0000000c,
- 0xb8000010, 0x08000018, 0x78000010, 0x08000014, 0x70000010,
- 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c,
- 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000,
- 0x00000000, 0x00000000, 0x20000000, 0x80000000, 0x00000010,
- 0x00000000, 0x20000010, 0x20000000, 0x00000010, 0x60000000,
- 0x00000018, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000,
- 0x20000000, 0x20000000, 0xa0000000, 0x00000010, 0x80000000,
- 0x20000000, 0x20000000, 0x20000000, 0x80000000, 0x00000010,
- 0x00000000, 0x20000010, 0xa0000000, 0x00000000, 0x20000000,
- 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000001,
- 0x40000002, 0x40000041, 0x40000022, 0x80000005, 0xc0000082,
- 0xc0000046, 0x4000004b, 0x80000107, 0x00000089, 0x00000014,
- 0x8000024b, 0x0000011b, 0x8000016d }),
- new DvInfo(2, 49, 2, 58, 22, new int[] { 0xf0000010, 0xf000006a,
- 0x80000040, 0x90000070, 0xb0000053, 0x30000008, 0x00000043,
- 0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042, 0x00000030,
- 0xe0000042, 0x20000060, 0xe0000041, 0x20000050, 0xc0000041,
- 0xe0000072, 0xa0000003, 0xc0000012, 0x60000041, 0xc0000032,
- 0x20000001, 0xc0000002, 0xe0000042, 0x60000042, 0x80000002,
- 0x00000000, 0x00000000, 0x80000000, 0x00000002, 0x00000040,
- 0x00000000, 0x80000040, 0x80000000, 0x00000040, 0x80000001,
- 0x00000060, 0x80000003, 0x40000002, 0xc0000040, 0xc0000002,
- 0x80000000, 0x80000000, 0x80000002, 0x00000040, 0x00000002,
- 0x80000000, 0x80000000, 0x80000000, 0x00000002, 0x00000040,
- 0x00000000, 0x80000040, 0x80000002, 0x00000000, 0x80000000,
- 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000004, 0x00000080, 0x00000004,
- 0x00000009, 0x00000105, 0x00000089, 0x00000016, 0x0000020b,
- 0x0000011b, 0x0000012d, 0x0000041e, 0x00000224, 0x00000050,
- 0x0000092e, 0x0000046c, 0x000005b6 }),
- new DvInfo(2, 50, 0, 65, 23, new int[] { 0xb400001c, 0x3c000004,
- 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, 0x0c000002,
- 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010,
- 0x0000000c, 0xb8000010, 0x08000018, 0x78000010, 0x08000014,
- 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010,
- 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
- 0xa0000000, 0x00000000, 0x00000000, 0x20000000, 0x80000000,
- 0x00000010, 0x00000000, 0x20000010, 0x20000000, 0x00000010,
- 0x60000000, 0x00000018, 0xe0000000, 0x90000000, 0x30000010,
- 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, 0x00000010,
- 0x80000000, 0x20000000, 0x20000000, 0x20000000, 0x80000000,
- 0x00000010, 0x00000000, 0x20000010, 0xa0000000, 0x00000000,
- 0x20000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020,
- 0x00000001, 0x40000002, 0x40000041, 0x40000022, 0x80000005,
- 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, 0x00000089,
- 0x00000014, 0x8000024b, 0x0000011b }),
- new DvInfo(2, 50, 2, 65, 24, new int[] { 0xd0000072, 0xf0000010,
- 0xf000006a, 0x80000040, 0x90000070, 0xb0000053, 0x30000008,
- 0x00000043, 0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042,
- 0x00000030, 0xe0000042, 0x20000060, 0xe0000041, 0x20000050,
- 0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, 0x60000041,
- 0xc0000032, 0x20000001, 0xc0000002, 0xe0000042, 0x60000042,
- 0x80000002, 0x00000000, 0x00000000, 0x80000000, 0x00000002,
- 0x00000040, 0x00000000, 0x80000040, 0x80000000, 0x00000040,
- 0x80000001, 0x00000060, 0x80000003, 0x40000002, 0xc0000040,
- 0xc0000002, 0x80000000, 0x80000000, 0x80000002, 0x00000040,
- 0x00000002, 0x80000000, 0x80000000, 0x80000000, 0x00000002,
- 0x00000040, 0x00000000, 0x80000040, 0x80000002, 0x00000000,
- 0x80000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000080,
- 0x00000004, 0x00000009, 0x00000105, 0x00000089, 0x00000016,
- 0x0000020b, 0x0000011b, 0x0000012d, 0x0000041e, 0x00000224,
- 0x00000050, 0x0000092e, 0x0000046c }),
- new DvInfo(2, 51, 0, 65, 25, new int[] { 0xc0000010, 0xb400001c,
- 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014,
- 0x0c000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018,
- 0xb0000010, 0x0000000c, 0xb8000010, 0x08000018, 0x78000010,
- 0x08000014, 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004,
- 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010,
- 0x98000010, 0xa0000000, 0x00000000, 0x00000000, 0x20000000,
- 0x80000000, 0x00000010, 0x00000000, 0x20000010, 0x20000000,
- 0x00000010, 0x60000000, 0x00000018, 0xe0000000, 0x90000000,
- 0x30000010, 0xb0000000, 0x20000000, 0x20000000, 0xa0000000,
- 0x00000010, 0x80000000, 0x20000000, 0x20000000, 0x20000000,
- 0x80000000, 0x00000010, 0x00000000, 0x20000010, 0xa0000000,
- 0x00000000, 0x20000000, 0x20000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
- 0x00000020, 0x00000001, 0x40000002, 0x40000041, 0x40000022,
- 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107,
- 0x00000089, 0x00000014, 0x8000024b }),
- new DvInfo(2, 51, 2, 65, 26, new int[] { 0x00000043, 0xd0000072,
- 0xf0000010, 0xf000006a, 0x80000040, 0x90000070, 0xb0000053,
- 0x30000008, 0x00000043, 0xd0000072, 0xb0000010, 0xf0000062,
- 0xc0000042, 0x00000030, 0xe0000042, 0x20000060, 0xe0000041,
- 0x20000050, 0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012,
- 0x60000041, 0xc0000032, 0x20000001, 0xc0000002, 0xe0000042,
- 0x60000042, 0x80000002, 0x00000000, 0x00000000, 0x80000000,
- 0x00000002, 0x00000040, 0x00000000, 0x80000040, 0x80000000,
- 0x00000040, 0x80000001, 0x00000060, 0x80000003, 0x40000002,
- 0xc0000040, 0xc0000002, 0x80000000, 0x80000000, 0x80000002,
- 0x00000040, 0x00000002, 0x80000000, 0x80000000, 0x80000000,
- 0x00000002, 0x00000040, 0x00000000, 0x80000040, 0x80000002,
- 0x00000000, 0x80000000, 0x80000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004,
- 0x00000080, 0x00000004, 0x00000009, 0x00000105, 0x00000089,
- 0x00000016, 0x0000020b, 0x0000011b, 0x0000012d, 0x0000041e,
- 0x00000224, 0x00000050, 0x0000092e }),
- new DvInfo(2, 52, 0, 65, 27, new int[] { 0x0c000002, 0xc0000010,
- 0xb400001c, 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c,
- 0xec000014, 0x0c000002, 0xc0000010, 0xb400001c, 0x2c000004,
- 0xbc000018, 0xb0000010, 0x0000000c, 0xb8000010, 0x08000018,
- 0x78000010, 0x08000014, 0x70000010, 0xb800001c, 0xe8000000,
- 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000,
- 0xb8000010, 0x98000010, 0xa0000000, 0x00000000, 0x00000000,
- 0x20000000, 0x80000000, 0x00000010, 0x00000000, 0x20000010,
- 0x20000000, 0x00000010, 0x60000000, 0x00000018, 0xe0000000,
- 0x90000000, 0x30000010, 0xb0000000, 0x20000000, 0x20000000,
- 0xa0000000, 0x00000010, 0x80000000, 0x20000000, 0x20000000,
- 0x20000000, 0x80000000, 0x00000010, 0x00000000, 0x20000010,
- 0xa0000000, 0x00000000, 0x20000000, 0x20000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000001, 0x00000020, 0x00000001, 0x40000002, 0x40000041,
- 0x40000022, 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b,
- 0x80000107, 0x00000089, 0x00000014 }),
- new DvInfo(2, 53, 0, 65, 28, new int[] { 0xcc000014, 0x0c000002,
- 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a, 0x20000010,
- 0x2400001c, 0xec000014, 0x0c000002, 0xc0000010, 0xb400001c,
- 0x2c000004, 0xbc000018, 0xb0000010, 0x0000000c, 0xb8000010,
- 0x08000018, 0x78000010, 0x08000014, 0x70000010, 0xb800001c,
- 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000,
- 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0x00000000,
- 0x00000000, 0x20000000, 0x80000000, 0x00000010, 0x00000000,
- 0x20000010, 0x20000000, 0x00000010, 0x60000000, 0x00000018,
- 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000,
- 0x20000000, 0xa0000000, 0x00000010, 0x80000000, 0x20000000,
- 0x20000000, 0x20000000, 0x80000000, 0x00000010, 0x00000000,
- 0x20000010, 0xa0000000, 0x00000000, 0x20000000, 0x20000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000001, 0x00000020, 0x00000001, 0x40000002,
- 0x40000041, 0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
- 0x4000004b, 0x80000107, 0x00000089 }),
- new DvInfo(2, 54, 0, 65, 29, new int[] { 0x0400001c, 0xcc000014,
- 0x0c000002, 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a,
- 0x20000010, 0x2400001c, 0xec000014, 0x0c000002, 0xc0000010,
- 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0x0000000c,
- 0xb8000010, 0x08000018, 0x78000010, 0x08000014, 0x70000010,
- 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c,
- 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000,
- 0x00000000, 0x00000000, 0x20000000, 0x80000000, 0x00000010,
- 0x00000000, 0x20000010, 0x20000000, 0x00000010, 0x60000000,
- 0x00000018, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000,
- 0x20000000, 0x20000000, 0xa0000000, 0x00000010, 0x80000000,
- 0x20000000, 0x20000000, 0x20000000, 0x80000000, 0x00000010,
- 0x00000000, 0x20000010, 0xa0000000, 0x00000000, 0x20000000,
- 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000001, 0x00000020, 0x00000001,
- 0x40000002, 0x40000041, 0x40000022, 0x80000005, 0xc0000082,
- 0xc0000046, 0x4000004b, 0x80000107 }),
- new DvInfo(2, 55, 0, 65, 30, new int[] { 0x00000010, 0x0400001c,
- 0xcc000014, 0x0c000002, 0xc0000010, 0xb400001c, 0x3c000004,
- 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, 0x0c000002,
- 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010,
- 0x0000000c, 0xb8000010, 0x08000018, 0x78000010, 0x08000014,
- 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010,
- 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
- 0xa0000000, 0x00000000, 0x00000000, 0x20000000, 0x80000000,
- 0x00000010, 0x00000000, 0x20000010, 0x20000000, 0x00000010,
- 0x60000000, 0x00000018, 0xe0000000, 0x90000000, 0x30000010,
- 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, 0x00000010,
- 0x80000000, 0x20000000, 0x20000000, 0x20000000, 0x80000000,
- 0x00000010, 0x00000000, 0x20000010, 0xa0000000, 0x00000000,
- 0x20000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000020,
- 0x00000001, 0x40000002, 0x40000041, 0x40000022, 0x80000005,
- 0xc0000082, 0xc0000046, 0x4000004b }),
- new DvInfo(2, 56, 0, 65, 31, new int[] { 0x2600001a, 0x00000010,
- 0x0400001c, 0xcc000014, 0x0c000002, 0xc0000010, 0xb400001c,
- 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014,
- 0x0c000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018,
- 0xb0000010, 0x0000000c, 0xb8000010, 0x08000018, 0x78000010,
- 0x08000014, 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004,
- 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010,
- 0x98000010, 0xa0000000, 0x00000000, 0x00000000, 0x20000000,
- 0x80000000, 0x00000010, 0x00000000, 0x20000010, 0x20000000,
- 0x00000010, 0x60000000, 0x00000018, 0xe0000000, 0x90000000,
- 0x30000010, 0xb0000000, 0x20000000, 0x20000000, 0xa0000000,
- 0x00000010, 0x80000000, 0x20000000, 0x20000000, 0x20000000,
- 0x80000000, 0x00000010, 0x00000000, 0x20000010, 0xa0000000,
- 0x00000000, 0x20000000, 0x20000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
- 0x00000020, 0x00000001, 0x40000002, 0x40000041, 0x40000022,
- 0x80000005, 0xc0000082, 0xc0000046 }), };
- static {
- // Assert the DV array is indexed by maskb; that is DV block using
- // maskb = N must be at array index N.
- for (int i = 0; i < DV.length; i++) {
- if (i != DV[i].maskb) {
- throw new IllegalStateException("must be indexed by maskb"); //$NON-NLS-1$
- }
- }
- }
- }