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