#define MAX_PATTERN_DATA 2102 small_short pattern_data[MAX_PATTERN_DATA] = { 11, 5, -3, 1,29,1,19,6,10,4,12,5,3,1,-46,1,-60,-4, 6, -3, 1,19,1,29,4,10,6,20,1,-37,1,-51,-4, 8, -3, 1,19,1,29,4,20,1,21,1,22,5,11,14,12,5,13,-4, 5, -3, 6,10,1,19,1,29,4,20,5,11,14,3,-4, 5, -3, 14,4,5,3,5,21,4,11,6,10,1,19,1,29,1,30,-4, 8, -3, 14,3,6,2,5,11,4,20,1,19,1,29,-4, 7, -3, 14,3,4,10,5,11,5,13,1,19,6,20,1,29,1,30,1,31,-4, 8, -3, 14,3,5,11,6,12,5,13,1,19,4,20,1,29,1,30,1,31,-4, 9, 10, -3, 14,2,5,11,1,19,1,29,4,20,1,30,1,31,5,21,-4, 11, -3, 14,10,5,11,1,27,1,19,1,29,1,30,4,20,5,21,1,-45,-4, -3, 14,2,5,10,1,18,1,19,4,20,5,21,1,29,1,30,1,-36,-4, -3, 2,0,3,1,14,10,5,11,4,20,1,19,1,27,1,29,-4, 13, -3, 6,20,4,-65,-4, 6, -3, 6,20,4,10,5,11,4,-46,-4, 2, -3, 4,20,5,11,14,12,5,13,-4, 8, -3, 14,2,5,11,5,21,-4, 7, -3, 14,3,5,11,6,12,5,13,4,20,-4, 11, -3, 2,0,3,1,14,10,5,11,4,20,-4, 6, -3, 14,3,4,10,5,11,5,13,1,19,6,20,-4, -2, 111, 1, 2, -3, 1,22,1,23,1,24,1,34,1,26,7,16,4,6,-4, 3, -3, 1,22,1,23,1,24,1,34,4,14,7,16,3,7,-4, 4, -3, 4,15,1,23,1,24,1,34,7,16,-4, 5, 6, 7, -3, 4,14,1,23,1,33,1,34,1,26,7,16,3,7,-4, 12, 14, 15, 17, -3, 1,33,1,43,4,34,1,35,7,16,3,7,2,8,-4, 12, -3, 3,7,7,16,4,24,1,33,1,43,1,44,1,-53,-4, 9, 11, -3, 2,8,7,16,4,23,3,24,1,32,1,33,1,34,1,44,1,-62,-4, 8, -3, 4,14,1,31,1,23,3,24,1,33,1,34,7,16,2,26,-4, -3, 4,14,1,31,1,23,3,24,1,33,1,34,7,17,2,26,-4, 10, -3, 4,23,1,32,3,24,3,33,7,16,2,26,1,44,-4, -3, 4,23,1,32,3,24,3,33,7,17,2,26,1,44,-4, -3, 4,31,1,22,1,32,1,33,3,24,7,16,1,43,1,35,2,8,-4, 13, -3, 3,7,4,24,1,33,1,43,2,26,7,16,-4, -3, 3,7,4,24,1,33,1,43,2,26,7,17,-4, 16, -3, 3,7,2,8,7,16,1,43,1,33,4,42,-4, 16, -3, 3,7,2,8,7,16,1,43,1,42,4,34,-4, -3, 4,42,1,52,7,16,-4, -3, 4,44,1,52,7,16,-4, -2, 12, 1, 2, -3, 5,3,5,13,14,4,6,10,1,29,4,2,3,1,2,0,-4, 3, -3, 1,27,2,0,3,1,6,10,14,11,5,3,5,13,1,19,1,29,1,21,1,31,-4, 4, -3, 2,0,3,1,4,2,5,3,5,13,14,12,6,10,1,19,1,21,1,29,-4, 7, 8, -3, 2,0,3,1,5,3,6,10,14,11,4,12,5,13,1,27,1,19,1,29,1,21,1,31,-4, 5, -3, 2,0,3,1,4,2,5,3,5,13,14,11,6,10,1,19,1,21,1,29,1,22,-4, 6, -3, 2,9,14,10,3,1,4,2,5,3,6,20,1,18,1,19,1,29,-4, -3, 14,0,2,9,4,10,5,11,5,2,1,19,6,20,1,29,1,21,-4, -3, 2,0,3,1,14,10,5,11,1,27,1,19,6,20,5,21,1,29,1,30,-4, 9, -3, 2,0,3,1,6,10,14,11,5,3,5,13,4,20,1,38,1,21,4,22,1,31,1,-56,-4, -3, 2,0,3,1,14,10,5,11,6,20,5,21,4,22,4,29,1,30,1,31,1,37,1,38,-4, 1, -3, 2,0,3,1,6,10,14,11,5,3,5,13,-4, 3, -3, 2,0,3,1,5,3,6,10,14,11,4,12,5,13,-4, 2, -3, 2,0,3,1,4,2,5,3,5,13,14,12,6,10,-4, -2, 112, 1, 2, 6, -3, 7,16,1,43,-4, 2, 3, 5, 6, 13, -3, 4,14,7,16,3,7,2,8,1,31,1,33,-4, 13, -3, 2,8,4,14,7,16,3,24,1,32,1,33,-4, 4, -3, 2,8,3,7,7,16,4,12,1,24,1,23,4,22,1,40,1,-58,1,-50,-4, -3, 2,8,3,7,7,16,4,12,1,24,1,23,4,31,1,40,1,-58,-4, -3, 2,8,6,10,4,20,4,22,1,38,1,-56,-4, 7, -3, 1,43,1,35,7,16,4,15,-4, 8, 10, -3, 1,43,1,33,1,35,4,34,7,16,-4, 9, -3, 1,42,1,43,1,35,4,34,7,16,-4, -3, 4,42,1,43,1,35,7,16,-4, -3, 1,43,4,44,1,35,7,16,-4, 12, -3, 2,26,7,16,-4, -3, 2,26,7,17,1,53,-4, 11, -3, 4,23,3,24,7,16,2,8,1,32,1,33,-4, -2, 21, 1, -3, 5,3,5,5,4,6,3,7,2,8,14,14,1,23,1,24,1,25,1,26,-4, 2, 4, -3, 5,3,5,5,4,6,3,7,2,8,14,16,1,23,1,24,1,25,1,26,-4, 3, -3, 5,5,4,6,3,7,14,8,5,13,2,17,1,23,1,24,1,25,1,26,-4, 12, -3, 5,6,3,7,14,8,5,15,4,16,2,17,1,23,1,24,1,25,1,26,-4, 5, 8, -3, 5,5,3,7,2,8,4,15,14,16,1,24,1,25,1,35,-4, 6, 9, -3, 5,5,3,7,2,8,5,13,4,15,14,16,1,23,1,24,1,25,1,35,-4, 7, 10, -3, 5,5,3,7,2,8,4,15,14,16,5,23,1,25,1,32,1,33,1,35,-4, 11, -3, 3,7,2,8,5,15,14,16,5,23,4,25,1,32,1,33,1,34,1,35,-4, 5, -3, 5,5,3,7,2,8,4,15,14,16,1,24,1,25,1,35,-4, 6, -3, 5,5,3,7,2,8,5,13,4,15,14,16,1,23,1,24,1,25,1,35,-4, 7, -3, 5,5,3,7,2,8,4,15,14,16,5,23,-4, -3, 3,7,2,8,5,15,14,16,5,23,4,25,-4, -3, 5,6,3,7,14,8,5,15,4,16,2,17,-4, -2, 22, 1, -3, 2,8,4,6,5,5,5,3,14,15,1,25,1,24,1,23,-4, 2, -3, 2,8,5,5,4,16,14,15,5,13,1,25,1,24,1,23,-4, -3, 4,16,14,15,5,14,5,13,1,25,1,24,1,23,-4, 0, -3, 2,8,4,6,5,5,5,3,14,15,-4, 1, -3, 2,8,5,5,4,16,14,15,5,13,-4, 2, -3, 4,16,14,15,5,14,5,13,-4, -2, 13, -3, 1,26,1,43,1,24,1,23,1,22,1,21,1,29,1,19,1,18,3,1,4,2,5,3,14,4,5,5,4,6,3,7,-4, -3, 1,19,1,29,1,21,5,3,5,13,1,31,-4, -2, 113, 1, 2, -3, 1,34,7,16,-4, 3, -3, 1,34,4,14,-4, 6, -3, 1,34,4,15,-4, 4, 5, -3, 1,34,4,14,1,33,-4, -3, 1,34,1,32,1,33,4,23,3,24,-4, -3, 1,43,1,33,4,24,1,44,-4, 7, -3, 1,43,4,25,1,24,-4, -3, 1,43,4,34,1,35,1,33,-4, -2, 23, 4, -3, 7,13,14,4,5,5,4,6,-4, 4, -3, 7,12,14,4,5,5,4,6,-4, 4, -3, 7,11,14,4,5,5,4,6,-4, 4, -3, 7,10,14,4,5,5,4,6,-4, -3, 14,15,5,5,4,6,-4, -2, 123, 1, 2, 3, 4, -3, 1,29,1,30,6,20,-4, -3, 7,10,1,29,1,30,6,20,4,21,-4, -3, 7,11,1,29,1,30,6,20,-4, -3, 7,12,1,29,1,30,6,20,4,21,-4, -3, 7,13,1,29,1,30,6,20,4,21,-4, -2, 33, 1, -3, 1,24,1,23,1,21,1,29,3,1,4,2,5,3,14,4,5,5,4,6,3,7,-4, 2, 3, -3, 1,24,1,23,1,30,1,29,6,10,4,2,5,3,14,4,5,5,4,6,-4, 4, -3, 1,30,1,29,4,11,6,10,-4, 4, -3, 1,30,1,29,4,12,6,10,-4, -3, 1,30,1,29,4,12,6,10,1,44,-4, -2, -123, -3, 1,29,-4, -2, 124, 1, 5, 8, 10, -3, 6,20,1,29,1,30,14,4,5,5,4,6,1,25,-4, 2, -3, 7,10,6,20,1,29,1,30,14,4,5,5,4,6,-4, 3, 4, -3, 7,10,3,1,5,3,6,20,4,21,1,29,1,30,-4, -3, 7,10,3,1,5,11,6,20,4,21,1,29,1,30,-4, -3, 7,10,3,1,5,13,6,20,4,21,1,29,1,30,-4, 6, 7, -3, 7,11,6,20,1,29,1,30,14,4,5,5,4,6,-4, -3, 7,11,4,21,5,13,1,19,6,20,1,29,1,30,-4, -3, 7,11,4,21,1,19,6,20,1,29,1,30,1,31,-4, 9, -3, 7,12,6,20,4,21,1,29,1,30,14,4,5,5,4,6,-4, -3, 7,12,3,1,5,3,1,19,6,20,4,21,1,29,1,30,-4, 11, 13, -3, 7,13,1,19,6,20,4,21,14,4,5,5,4,6,-4, 12, -3, 7,13,3,1,5,11,1,19,6,20,4,21,1,29,1,30,-4, -3, 7,4,3,1,1,19,6,20,4,21,4,23,1,29,1,30,-4, -3, 7,13,3,1,1,19,6,20,4,21,5,23,1,29,1,30,-4, -2, 34, 1, -3, 1,24,1,23,1,21,1,29,3,1,4,2,5,3,14,4,5,5,4,6,3,7,-4, 2, 3, -3, 1,24,1,23,1,30,1,29,6,10,4,2,5,3,14,4,5,5,4,6,-4, 4, -3, 1,30,1,29,4,11,6,10,-4, 4, -3, 1,30,1,29,4,12,6,10,-4, -3, 1,30,1,29,4,12,6,10,1,44,-4, -2, -1 }; #define MAX_OPENING_SEQUENCE 14 #define MAX_PATTERN 128