| /* |
| * 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$ |
| } |
| } |
| } |
| } |