diff options
36 files changed, 10306 insertions, 3966 deletions
diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 00000000..e8c15f18 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,27 @@ +# vorbis makefile configured for use with gcc on any platform + +# $Id: Makefile.in,v 1.5.4.1 2000/05/08 08:25:39 xiphmont Exp $ + +############################################################################### +# # +# To build a production vorbis (preferrably using gmake), just type 'make'. # +# To build with debugging or profiling information, use 'make debug' or # +# 'make profile' respectively. 'make clean' is a good idea between builds # +# with different target names, or before a final build. # +# # +############################################################################### + + +# DO NOT EDIT BELOW! ########################################################## +# (unless, of course, you know what you are doing :) ########################## + +@SET_MAKE@ + +SUBDIRS = lib examples # cmdline xmms vq huff + +all debug profile selftest target clean: + @for dir in $(SUBDIRS); do (cd $$dir && $(MAKE) $(MFLAGS) $@) || exit 1; done + -rm -f *~ + +distclean: clean + -rm -f Makefile config.* diff --git a/examples/Makefile.in b/examples/Makefile.in index 9dab88c9..d2f80758 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -1,6 +1,6 @@ # vorbis makefile configured for use with gcc on any platform -# $Id: Makefile.in,v 1.5.4.2 2000/05/04 23:08:08 xiphmont Exp $ +# $Id: Makefile.in,v 1.5.4.3 2000/05/08 08:25:39 xiphmont Exp $ ############################################################################### # # @@ -25,7 +25,7 @@ LD=@CC@ LDFLAGS=@LDFLAGS@ $(FLAGS) AR=@AR@ RANLIB=@RANLIB@ -LIBS=@LIBS@ -lm -lefence +LIBS=@LIBS@ -lm HFILES = ../include/vorbis/codec.h ../include/vorbis/vorbisfile.h \ ../include/vorbis/internal.h ../include/vorbis/backends.h \ diff --git a/include/vorbis/backends.h b/include/vorbis/backends.h index 9a989646..25395ddd 100644 --- a/include/vorbis/backends.h +++ b/include/vorbis/backends.h @@ -13,7 +13,7 @@ function: libvorbis backend and mapping structures; needed for static mode headers - last mod: $Id: backends.h,v 1.7.4.4 2000/04/21 16:35:38 xiphmont Exp $ + last mod: $Id: backends.h,v 1.7.4.5 2000/05/08 08:25:39 xiphmont Exp $ ********************************************************************/ @@ -100,7 +100,6 @@ typedef struct vorbis_info_residue0{ double ampmax[64]; /* book amp threshholds for *encode* */ int secondstages[64]; /* expanded out to pointers in lookup */ - long addmullist[64]; /* bitflags for add/mul cascading */ int booklist[256]; /* list of second stage books */ } vorbis_info_residue0; diff --git a/include/vorbis/book/lsp20_0.vqh b/include/vorbis/book/lsp20_0.vqh index 5c1bc375..35d0f120 100644 --- a/include/vorbis/book/lsp20_0.vqh +++ b/include/vorbis/book/lsp20_0.vqh @@ -20,461 +20,501 @@ #include "vorbis/codebook.h" static long _vq_quantlist_lsp20_0[] = { + 127, + 128, + 129, + 127, + 126, 98, + 129, + 118, + 136, + 129, + 137, + 128, + 137, 94, - 97, - 94, - 134, - 103, - 193, - 241, - 174, - 115, - 256, - 214, - 173, - 115, - 254, - 215, - 107, - 102, - 110, - 102, - 116, - 27, - 105, - 87, - 91, - 88, - 98, - 106, - 141, - 13, - 103, - 79, + 128, 118, + 136, + 132, + 141, + 130, + 126, 105, - 117, - 110, - 90, - 18, - 100, - 76, - 99, - 103, - 138, - 144, - 150, - 118, - 133, - 109, - 114, - 2, - 98, - 69, - 144, - 115, - 122, - 107, - 112, - 97, + 130, + 120, + 128, + 130, + 130, + 127, + 131, + 129, + 142, + 128, + 132, + 128, 135, - 239, - 185, - 10, - 103, - 77, - 113, - 20, - 99, - 74, - 160, - 10, - 101, - 76, - 71, - 7, + 127, + 130, + 129, 132, - 49, - 122, - 103, - 171, - 233, - 97, - 101, - 101, - 98, - 94, - 108, - 102, - 98, - 113, - 121, + 128, + 132, + 130, + 142, + 131, + 128, + 126, + 140, + 130, 135, - 103, - 111, - 96, - 117, - 202, - 111, - 118, + 128, + 134, + 127, + 140, + 132, + 143, + 130, + 143, + 120, + 149, + 112, + 131, + 127, + 139, + 131, 145, - 124, + 134, + 143, + 129, 133, - 113, - 123, - 103, - 90, - 29, - 104, - 80, - 99, - 110, - 108, - 100, - 102, - 102, + 133, + 148, + 129, 142, - 108, - 91, - 93, - 115, - 110, - 106, - 112, + 126, + 133, 123, - 102, - 127, - 114, - 136, - 115, - 108, - 108, + 144, + 131, + 152, 135, - 112, - 109, - 119, - 128, - 96, - 155, + 139, + 124, + 133, 120, - 179, + 142, + 95, 128, - 96, - 110, - 104, - 98, - 104, - 96, - 104, - 97, - 117, - 105, - 113, - 97, - 138, - 1, - 98, - 67, - 93, - 101, - 99, - 99, - 104, - 99, - 124, - 104, - 132, - 108, + 119, + 145, + 131, + 137, + 126, + 129, 110, + 131, + 121, + 147, 100, - 105, - 72, - 89, - 80, + 130, + 122, + 131, + 133, + 135, + 127, + 134, + 132, + 143, + 124, + 138, + 119, + 148, + 115, + 143, + 107, + 131, + 126, + 130, + 130, + 145, + 138, + 136, + 115, + 134, 108, - 109, + 139, + 104, + 131, + 123, + 126, + 125, + 137, + 131, + 140, + 129, + 137, + 127, 145, + 126, + 155, 116, - 102, - 112, - 118, - 99, - 114, - 101, - 109, + 135, + 113, + 130, 105, - 153, - 28, - 104, - 86, - 106, - 99, - 124, + 127, 123, + 129, + 125, + 127, 126, + 143, + 137, + 143, 122, + 153, + 114, 149, - 111, - 131, - 33, - 108, - 91, - 105, - 96, - 109, - 101, - 87, - 107, - 126, - 107, - 123, - 108, - 121, - 117, - 94, - 92, - 139, 125, - 97, - 85, - 104, - 207, + 149, + 109, + 136, + 118, + 136, 111, + 151, + 130, + 153, + 112, + 132, + 110, + 127, 102, - 108, - 92, + 154, + 97, + 130, + 121, + 146, + 126, + 138, + 119, + 154, + 102, + 131, 123, - 113, - 142, - 172, + 150, + 137, + 153, + 127, + 141, + 119, + 138, + 106, + 137, + 121, + 132, 122, - 60, - 224, - 111, - 67, - 77, - 104, - 98, - 123, - 82, - 97, + 167, + 96, + 130, + 120, + 133, + 119, + 145, + 114, + 152, 92, + 128, + 117, + 136, + 132, + 149, + 137, 144, - 116, - 159, - 123, + 121, + 142, + 107, + 151, + 109, + 132, + 128, + 162, + 107, + 132, + 126, + 131, + 106, + 160, + 126, + 124, + 112, 145, - 115, - 158, - 120, - 174, - 53, + 130, + 141, 106, + 162, + 130, + 165, 91, - 103, - 90, - 112, - 125, + 129, + 117, + 149, + 111, + 157, + 138, + 128, + 139, + 136, + 132, + 178, + 95, + 133, + 122, + 254, + 0, + 136, + 87, }; static long _vq_lengthlist_lsp20_0[] = { - 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9,10,10, }; static long _vq_ptr0_lsp20_0[] = { - -1, -2, -3, -4, -5, -6, -7, 15, - 17, -10, -11, 0, 42, 59, -15, -16, - -17, -18, 5, 42, 58, -22, -23, 7, - 51, -26, 17, 28, -29, -30, -31, 6, - -27, -34, 0, 28, -35, -38, -39, -40, - 9, 26, 18, -44, -45, 12, 16, -48, - -49, -50, -51, 5, 38, 16, 5, -56, - 16, 40, -59, -60, -61, -62, -63, -64, - -31, 44, 29, 63, 58, 40, -71, -72, - -73, 0, -75, -76, -77, 6, 29, -80, - 0, -69, -83, -84, -85, -86, 20, 30, - -89, -90, -91, 21, -87, 35, -95, -96, - -97, -98, -99, -100, 21, 36, -103, 35, - -92, -106, -107, 29, 40, 28, 35, -112, - 59, -114, 29, 50, -117, -118, -119, -120, - -112, -109, -123, -124, -125, -126, -127, 4, - -121, -130, 27, -128, 27, 40, -133, -131, - -115, -135, 51, -140, -141, -142, -143, 4, - 44, -146, 27, -137, -149, 27, 23, -57, - 53, 44, -155, -156, -157, -114, 47, -158, - -115, 10, -93, -161, -165, 50, -167, -112, - -163, 50, -171, -172, -173, -112, -168, -176, - -177, 37, -179, 45, -181, -108, -174, -144, - 33, 45, 45, -188, -151, 33, 32, -190, - 57, -194, 40, 47, -197, -195, 32, -157, - -304, 28, -201, 10, -203, -206, -207, -208, - 19, 57, 2, -212, 34, 1, -215, -216, - -217, -218, -219, 56, 19, 57, -223, 14, - -225, -226, 14, 23, -229, -230, -231, -232, - 56, 57, 24, -204, -237, -232, 32, 11, - -241, -242, 56, -244, 60, 61, -247, -248, - 10, -250, -251, 13, -253, -254, 56, -256, - -257, 56, 31, -260, -261, 24, 30, 57, - -262, -266, -267, -268, -269, 10, 23, -272, - -273, -274, -275, -276, 22, 43, 28, -191, - -65, -278, -281, -87, -184, 32, 41, -288, - 13, -290, -291, 25, -35, 41, -295, -251, - -292, -298, -299, -276, 30, 31, 24, -300, - -309, 8, -305, -308, -268, -353, -306, -310, - -313, -203, -311, -316, -317, 24, 10, -301, - -318, -320, -323, -324, 24, 31, -327, 57, - -329, -330, -331, -332, -333, -334, 8, 37, - -337, 33, -321, -340, 37, -161, 8, -179, - -341, -346, -347, -348, 30, 37, 45, -352, - -349, 8, 44, -356, -69, + -1, -2, -3, -4, -5, -6, -7, -8, + -9, 13, 52, -12, 34, -14, -15, -16, + 16, 31, -19, 34, -21, -22, 19, 23, + -25, 16, 22, -28, -29, 16, 46, -32, + 19, -23, -35, -36, 55, -38, 16, 22, + 39, -42, -43, -44, -45, -46, -47, 17, + 4, 38, -51, 4, 61, -54, -55, -56, + -57, -58, 13, 56, -61, 17, 28, 52, + -62, -66, -47, 36, 34, -70, -47, 30, + -73, 4, 38, -76, -61, -71, 29, 4, + -81, -39, 47, 38, -85, 34, -82, -88, + -89, -90, -91, -92, -93, 14, -95, 44, + -97, 2, 18, -100, 44, -102, -103, -104, + 4, 26, 31, 30, -109, -110, -111, -112, + 44, -107, -115, 44, -117, 14, 28, -112, + -118, -120, -123, -124, 55, 22, -127, -128, + -129, -130, 54, 18, -131, 30, -135, -136, + 14, 18, 27, -140, -141, -142, 14, -144, + 44, 18, 18, -148, -149, 55, -151, 62, + -153, -154, -155, -156, -157, -158, -159, 14, + 24, -162, -163, -164, 2, 26, -167, 61, + -160, -164, -168, 33, -173, 14, -170, 31, + 18, -178, -179, -180, -181, -182, -183, 17, + -51, -175, 24, -188, -189, 4, 61, -192, + -193, 4, 29, -167, -186, 30, 29, 4, + 58, -165, -197, -202, -205, 17, 23, -208, + -209, -210, -211, 61, 25, -214, -215, 15, + -167, -206, -219, 7, -221, -222, -223, 2, + 26, -226, -164, 31, 7, -167, -197, 23, + -233, 61, -235, 25, 27, -238, 7, 15, + -241, -219, -231, -194, -242, 37, -247, 29, + 37, -250, -251, -252, 54, -254, -255, 14, + -244, -258, -145, -256, -259, -262, 20, -260, + -265, 54, 49, -268, -269, -270, -271, 12, + -273, 25, -275, -223, 45, -276, -277, -280, + -281, 2, 18, 24, -285, -286, -287, 12, + 27, -290, 25, 51, -293, 20, -295, -296, + -297, -298, -299, -300, -301, 15, 8, 37, + 43, -290, -304, 2, -306, -310, 27, -312, + 14, 27, 7, 56, -308, -318, -319, -320, + -321, 45, 28, -82, -316, 48, 28, -328, + -329, -326, -324, -67, -291, 50, -335, -336, + -337, -326, 35, -340, 48, 40, 50, 21, + -345, -346, -347, 6, -349, 50, -343, -339, + 47, -350, -353, -349, 21, -358, -359, 32, + -356, 48, -363, -364, 28, 42, -367, -368, + -359, -365, -369, -372, 50, 5, -375, -376, + -377, 15, -379, 37, -381, 8, -383, -310, + 3, 56, -387, 50, -384, -390, -391, -392, + 32, 9, -387, 42, -395, 28, -399, -392, + -396, 1, 42, -404, -405, -406, -407, -408, + 54, -402, -411, 45, -409, 45, -415, -416, + -417, -418, -130, -412, 47, -138, -419, -422, + -130, 50, -287, 8, -427, -430, -408, 20, + -433, -431, -431, -434, -352, }; static long _vq_ptr1_lsp20_0[] = { - -205, -58, -37, -14, -9, 62, -8, 46, - 46, -13, -12, 46, 46, 46, -28, -21, - -20, -19, 49, 49, 42, -25, -19, 49, - 53, -19, 49, 53, -20, -33, -19, 49, - -24, -19, 49, 47, -32, -47, -43, -42, - -41, 58, 58, 18, -46, 26, 26, -55, - -54, -53, -52, 42, 42, 38, 26, -41, - 58, 51, -116, -70, -24, -68, -67, 54, - -66, 47, 49, 54, 49, 47, -82, -74, - 59, 36, 58, -79, -78, 39, 39, -78, - 39, -65, -94, -88, 63, -78, 39, 47, - -93, -78, 39, 51, -65, 51, -113, -111, - -110, -105, -102, -101, 50, 50, -101, 50, - -81, -103, -101, 50, 44, 44, 55, 50, - 55, -115, 63, 63, -187, -170, -154, -122, - 63, -108, -139, -134, -132, -129, -115, 63, - -69, -115, 63, -104, -133, 63, -136, -57, - -138, -36, 63, -151, -148, -145, -144, 55, - 55, -144, 55, 57, -108, 44, 54, -153, - 54, 51, -166, -162, -160, -138, 54, -152, - 51, 54, -164, -152, 63, 51, 63, -169, - -159, 55, -180, 63, -175, 62, -150, -178, - 62, 55, 55, 62, -186, -183, -147, -185, - 52, 55, 63, -196, -192, 37, 52, -184, - -193, -195, 53, 53, -152, -199, 43, -24, - -182, 43, -198, 43, -202, -265, -214, -210, - -209, 34, -211, -213, 3, 3, -228, -224, - -222, -221, -220, 60, 60, 60, 57, 19, - 54, -227, 57, 57, -246, -236, -234, -233, - 48, 48, -233, -191, -240, -239, 33, 48, - -243, 48, 61, -245, 48, 48, -249, 57, - 23, -252, 23, 48, -255, 57, 23, -259, - 57, -258, 48, -263, -258, 48, 33, -258, - -238, -328, -294, -271, -270, 52, 52, -287, - -284, -279, -184, -277, 52, 52, 33, -277, - -350, -238, -264, 32, -286, 47, 52, -289, - 62, -293, -286, 52, -285, 62, -307, -297, - -283, -260, -302, -301, 32, 52, -301, 47, - -338, 47, -285, -322, -312, -344, -303, -296, - -315, 52, -282, -319, -277, 52, 47, -277, - -35, -314, -326, -325, 43, 43, 31, 43, - -200, -345, -342, -339, -336, -335, 41, 41, - -335, 41, -235, -293, 62, -158, -343, 47, - -150, -189, -351, -350, -349, 45, 47, -355, - -354, 23, 45, -280, -350, + -317, -87, -41, -34, -27, -24, -13, -11, + -10, 60, 60, 60, 52, -20, -18, -10, + 60, 57, 52, 60, -10, 34, 60, 57, + -26, 34, 34, -31, -30, 41, 41, -30, + 41, -17, -37, 62, 22, -40, -39, 39, + 41, -79, -53, -52, -50, -49, -48, 38, + 38, 58, 58, 29, 29, -69, -65, -63, + -60, -12, 52, 57, -12, 52, -59, -19, + -33, 60, -68, 40, 38, -75, -72, 40, + -74, 60, 60, 60, -78, -67, 52, -80, + -84, -83, 40, 39, -83, 39, -77, -152, + -126, -108, -99, -94, 44, 58, -96, 33, + -98, 33, 33, -101, 38, -49, -48, -105, + 33, 33, 36, 36, -122, -116, -114, -39, + 39, -106, 33, 18, -119, -83, 36, -83, + -106, -113, 62, -125, 33, 33, -147, -139, + -132, -131, 20, 20, -134, 31, -137, 53, + 27, -138, 53, -146, -143, 53, 18, -145, + 53, 53, 55, -150, 53, 49, 49, 63, + -249, -207, -177, -176, -93, -172, -161, -105, + 31, -169, -166, -165, 10, 10, -165, 10, + -133, -171, -121, 10, -98, 33, -86, 51, + 25, -204, -201, -198, -187, -184, 29, 61, + -52, 35, 51, -191, -190, 26, 26, -195, + -194, 10, 10, -194, -185, 35, -199, -200, + 10, -171, 51, -196, 58, -48, 36, -237, + -236, -220, -213, -212, 37, -216, 37, 10, + -218, -106, 10, 37, -232, -225, -224, 7, + 7, -229, -228, 35, 10, -228, -227, 35, + -234, 7, 7, 26, 7, -240, -239, 37, + -246, -243, -227, -245, -230, 10, -248, 58, + 58, -294, -264, -253, 27, -257, -138, 53, + -217, -261, -138, -203, -174, -138, 53, -64, + -267, -131, 59, -284, -279, -274, -272, 27, + 27, 7, -273, -236, 59, -266, 28, -176, + -282, 27, 27, 28, -292, -289, -288, 8, + 8, -288, 8, 59, 27, 8, -311, -309, + -307, -305, -219, -303, -302, 11, 11, 11, + 59, 7, -291, -273, -186, 7, 11, -315, + -313, -314, 58, -248, -283, -423, -374, -327, + -323, -322, 48, -325, -278, -326, 40, -362, + -334, -331, -263, -333, 63, 40, -344, -342, + -339, 0, 51, -341, 0, 0, -341, 51, + -357, -351, -348, 50, -341, 0, -338, -355, + 50, -185, -332, 40, 35, -361, -349, 0, + -231, 50, -366, -59, 57, 35, -371, -59, + 57, -231, -360, -59, 57, 21, -403, -389, + -378, 8, -380, 56, -382, 50, -386, -385, + 21, 11, -385, 11, -373, -397, -394, -393, + 11, 11, -393, 21, 5, -398, -379, -303, + -388, 5, 5, -414, 47, -413, -410, -322, + 48, -401, -322, 48, -400, 49, -429, -424, + -421, -420, 53, -370, 53, -420, -354, -330, + -426, 9, -293, 9, -425, -435, -432, 50, + -436, -361, 9, -428, -361, }; static long _vq_p_lsp20_0[] = { - 48, 68, 28, 184, 60, 60, 60, 60, - 68, 0, 0, 0, 168, 236, 20, 20, - 20, 20, 20, 168, 232, 28, 28, 28, - 204, 68, 68, 112, 24, 24, 24, 24, - 112, 0, 0, 112, 188, 48, 36, 36, - 36, 104, 72, 48, 48, 48, 64, 20, - 64, 20, 20, 20, 152, 64, 20, 64, - 64, 160, 24, 212, 116, 24, 116, 116, - 24, 176, 116, 252, 232, 160, 0, 236, - 0, 0, 24, 24, 24, 24, 116, 0, - 0, 160, 80, 80, 116, 80, 80, 120, - 84, 84, 84, 84, 120, 140, 144, 144, - 144, 84, 84, 84, 84, 144, 140, 140, - 120, 116, 116, 116, 160, 112, 140, 236, - 236, 116, 116, 200, 180, 16, 108, 236, - 236, 112, 200, 108, 16, 16, 16, 16, - 112, 108, 108, 112, 108, 160, 160, 176, - 200, 160, 204, 108, 16, 16, 16, 16, - 176, 108, 108, 112, 108, 108, 92, 160, - 212, 176, 140, 116, 116, 116, 188, 188, - 200, 40, 140, 40, 200, 200, 200, 236, - 40, 200, 148, 180, 236, 236, 40, 148, - 148, 148, 180, 180, 160, 160, 40, 176, - 132, 180, 180, 160, 204, 132, 128, 128, - 228, 160, 160, 188, 252, 188, 128, 252, - 32, 112, 112, 40, 40, 224, 136, 76, - 76, 228, 8, 136, 136, 4, 56, 224, - 224, 224, 224, 224, 76, 228, 56, 56, - 92, 56, 56, 92, 44, 228, 224, 224, - 224, 228, 96, 40, 44, 224, 128, 44, - 224, 224, 224, 240, 240, 244, 40, 40, - 40, 52, 52, 52, 92, 92, 224, 224, - 224, 224, 124, 96, 96, 96, 120, 228, - 120, 124, 100, 40, 40, 40, 92, 88, - 88, 88, 88, 88, 88, 172, 112, 128, - 176, 112, 112, 120, 132, 128, 164, 52, - 52, 100, 100, 100, 112, 164, 88, 52, - 112, 88, 88, 88, 120, 124, 96, 120, - 92, 32, 32, 40, 92, 32, 32, 32, - 40, 172, 32, 96, 96, 96, 40, 124, - 40, 40, 96, 96, 96, 124, 228, 228, - 164, 32, 148, 32, 32, 32, 32, 148, - 132, 132, 32, 148, 148, 40, 32, 180, - 40, 120, 120, 120, 120, 148, 180, 148, - 148, 32, 176, 160, 160, + 64, 76, 64, 136, 136, 52, 52, 52, + 52, 52, 208, 136, 136, 64, 64, 64, + 64, 124, 136, 136, 76, 76, 76, 92, + 64, 64, 88, 64, 64, 64, 184, 76, + 76, 92, 248, 220, 220, 64, 64, 88, + 156, 52, 232, 68, 68, 68, 68, 68, + 16, 152, 116, 16, 244, 52, 52, 52, + 52, 52, 52, 224, 68, 68, 112, 208, + 112, 136, 68, 144, 136, 16, 68, 120, + 16, 16, 152, 68, 68, 120, 116, 16, + 88, 88, 188, 152, 136, 136, 188, 220, + 16, 16, 56, 56, 56, 56, 176, 176, + 8, 8, 72, 176, 176, 16, 132, 16, + 16, 104, 124, 120, 176, 88, 88, 176, + 176, 120, 176, 176, 56, 56, 112, 176, + 112, 112, 220, 220, 220, 88, 216, 216, + 216, 216, 216, 72, 80, 120, 56, 56, + 56, 72, 108, 176, 56, 56, 56, 176, + 176, 72, 72, 220, 220, 220, 248, 248, + 244, 56, 56, 8, 104, 8, 56, 56, + 96, 104, 8, 8, 8, 104, 244, 244, + 96, 8, 96, 132, 56, 56, 112, 124, + 72, 104, 16, 104, 68, 68, 68, 68, + 16, 124, 96, 104, 16, 16, 244, 16, + 16, 16, 116, 244, 96, 120, 116, 16, + 232, 104, 140, 120, 152, 68, 92, 244, + 104, 60, 100, 244, 100, 60, 60, 60, + 244, 92, 28, 28, 8, 104, 8, 8, + 104, 8, 8, 124, 28, 244, 120, 92, + 244, 244, 100, 100, 108, 60, 28, 60, + 28, 28, 92, 116, 92, 148, 116, 116, + 148, 48, 56, 216, 216, 56, 56, 56, + 120, 72, 72, 92, 140, 80, 80, 144, + 216, 216, 196, 72, 48, 48, 48, 48, + 100, 100, 8, 8, 180, 180, 180, 8, + 8, 8, 72, 96, 48, 48, 48, 48, + 108, 100, 100, 204, 80, 80, 60, 60, + 60, 60, 60, 60, 60, 60, 32, 148, + 172, 100, 172, 8, 172, 108, 108, 108, + 56, 108, 28, 224, 172, 48, 24, 188, + 180, 180, 112, 188, 172, 192, 112, 144, + 144, 112, 180, 144, 204, 200, 112, 192, + 112, 112, 140, 192, 192, 160, 200, 84, + 24, 24, 24, 24, 200, 200, 84, 192, + 188, 84, 124, 200, 84, 128, 128, 128, + 84, 192, 112, 112, 112, 168, 128, 128, + 128, 168, 168, 200, 200, 20, 128, 32, + 60, 60, 148, 148, 32, 32, 108, 108, + 12, 224, 200, 200, 12, 200, 128, 128, + 128, 36, 200, 168, 168, 112, 128, 128, + 168, 4, 168, 180, 180, 216, 216, 216, + 216, 168, 180, 180, 4, 180, 108, 108, + 80, 80, 80, 20, 188, 108, 92, 12, + 216, 200, 48, 32, 32, 192, 216, 80, + 80, 80, 80, 80, 188, }; static long _vq_q_lsp20_0[] = { - 136, 204, 152, 196, 236, 248, 68, 184, - 184, 236, 168, 184, 184, 184, 24, 28, - 232, 168, 196, 196, 168, 68, 168, 196, - 212, 168, 196, 212, 232, 0, 168, 196, - 204, 168, 196, 188, 212, 152, 48, 72, - 104, 232, 232, 72, 64, 104, 104, 232, - 104, 64, 152, 168, 168, 152, 104, 104, - 232, 204, 188, 220, 204, 232, 252, 216, - 116, 188, 196, 216, 196, 188, 80, 156, - 236, 144, 232, 0, 116, 156, 156, 116, - 156, 176, 144, 84, 252, 116, 156, 188, - 140, 116, 156, 204, 176, 204, 252, 236, - 220, 116, 140, 144, 200, 200, 144, 200, - 160, 140, 144, 200, 176, 176, 220, 200, - 220, 200, 252, 252, 188, 180, 140, 200, - 252, 160, 220, 204, 160, 108, 200, 252, - 188, 200, 252, 120, 160, 252, 204, 204, - 204, 212, 252, 204, 160, 108, 176, 220, - 220, 176, 220, 228, 160, 176, 216, 176, - 216, 204, 220, 140, 200, 204, 216, 212, - 204, 216, 200, 212, 252, 204, 252, 200, - 188, 220, 176, 252, 180, 248, 92, 180, - 248, 220, 220, 248, 252, 180, 112, 180, - 208, 220, 252, 252, 212, 148, 208, 132, - 212, 188, 212, 212, 216, 252, 172, 212, - 160, 172, 128, 172, 128, 128, 240, 4, - 136, 136, 12, 4, 12, 12, 96, 92, - 56, 228, 76, 240, 240, 240, 228, 76, - 216, 92, 228, 228, 52, 244, 96, 228, - 192, 192, 192, 208, 244, 44, 132, 192, - 240, 192, 244, 244, 192, 192, 96, 228, - 92, 124, 92, 192, 96, 228, 92, 96, - 228, 124, 192, 228, 124, 192, 132, 124, - 128, 160, 124, 128, 92, 208, 208, 100, - 164, 128, 132, 172, 208, 208, 132, 172, - 180, 128, 120, 128, 164, 188, 208, 100, - 248, 248, 164, 208, 128, 248, 172, 124, - 120, 192, 96, 124, 128, 208, 124, 188, - 172, 188, 128, 228, 96, 188, 120, 112, - 96, 208, 132, 124, 172, 208, 188, 172, - 112, 128, 228, 124, 172, 172, 124, 172, - 208, 120, 180, 248, 132, 148, 164, 164, - 148, 164, 208, 164, 248, 188, 180, 188, - 92, 132, 176, 188, 148, 180, 188, 160, - 176, 92, 180, 176, 180, + 92, 80, 68, 156, 164, 88, 64, 136, + 208, 240, 240, 240, 208, 76, 136, 208, + 240, 228, 208, 240, 208, 136, 240, 228, + 88, 136, 136, 76, 184, 164, 164, 184, + 164, 124, 164, 248, 88, 164, 88, 156, + 164, 88, 240, 244, 116, 232, 16, 152, + 152, 232, 232, 116, 116, 16, 152, 240, + 68, 136, 208, 228, 136, 208, 228, 240, + 124, 240, 136, 160, 152, 116, 16, 160, + 152, 240, 240, 240, 116, 144, 208, 88, + 136, 152, 160, 156, 152, 156, 120, 44, + 80, 88, 152, 132, 176, 232, 72, 132, + 72, 132, 132, 132, 152, 232, 152, 104, + 132, 132, 144, 144, 220, 152, 132, 88, + 156, 124, 132, 72, 176, 152, 144, 152, + 124, 120, 248, 88, 132, 132, 196, 220, + 212, 72, 80, 80, 212, 124, 72, 212, + 108, 212, 212, 220, 176, 212, 72, 72, + 212, 212, 220, 248, 212, 196, 196, 252, + 32, 108, 152, 100, 232, 72, 8, 104, + 124, 132, 244, 104, 40, 40, 104, 40, + 120, 132, 112, 40, 72, 132, 160, 204, + 100, 152, 132, 232, 104, 16, 116, 244, + 244, 140, 204, 40, 244, 104, 104, 244, + 116, 40, 40, 116, 124, 140, 232, 232, + 40, 132, 204, 124, 232, 152, 144, 116, + 108, 8, 28, 100, 148, 28, 148, 40, + 28, 124, 40, 148, 100, 40, 104, 28, + 28, 244, 28, 140, 40, 28, 124, 140, + 100, 28, 28, 104, 28, 40, 148, 148, + 232, 40, 124, 148, 120, 40, 148, 232, + 232, 60, 8, 80, 108, 72, 108, 212, + 144, 80, 108, 96, 160, 108, 212, 228, + 48, 80, 236, 80, 72, 8, 100, 108, + 108, 28, 100, 108, 236, 196, 112, 100, + 72, 108, 108, 112, 80, 100, 108, 32, + 32, 108, 32, 236, 108, 32, 232, 108, + 8, 100, 28, 148, 32, 44, 44, 44, + 236, 28, 204, 28, 96, 28, 44, 224, + 108, 232, 232, 232, 112, 204, 36, 200, + 188, 112, 192, 192, 180, 160, 160, 228, + 0, 144, 160, 200, 252, 160, 128, 200, + 192, 0, 204, 160, 0, 0, 160, 204, + 128, 192, 0, 200, 160, 0, 140, 200, + 200, 124, 236, 160, 140, 192, 200, 0, + 92, 200, 128, 224, 228, 140, 200, 224, + 228, 92, 84, 224, 228, 84, 192, 36, + 44, 32, 44, 224, 44, 200, 200, 224, + 84, 44, 224, 44, 20, 224, 200, 36, + 44, 44, 36, 84, 20, 224, 224, 148, + 12, 20, 20, 80, 188, 196, 180, 112, + 192, 4, 112, 192, 12, 196, 200, 32, + 108, 188, 212, 92, 212, 188, 124, 144, + 48, 36, 80, 36, 200, 36, 80, 200, + 188, 192, 36, 32, 192, }; static encode_aux_nearestmatch _vq_auxn_lsp20_0 = { @@ -482,13 +522,13 @@ static encode_aux_nearestmatch _vq_auxn_lsp20_0 = { _vq_ptr1_lsp20_0, _vq_p_lsp20_0, _vq_q_lsp20_0, - 357, 357 + 437, 437 }; static static_codebook _vq_book_lsp20_0 = { 4, 64, _vq_lengthlist_lsp20_0, - 2, 1605468556, 1583283192, 8, 1, + 2, 1603965733, 1586933473, 8, 1, _vq_quantlist_lsp20_0, &_vq_auxn_lsp20_0, NULL, diff --git a/include/vorbis/book/lsp20_1.vqh b/include/vorbis/book/lsp20_1.vqh new file mode 100644 index 00000000..d9e371d6 --- /dev/null +++ b/include/vorbis/book/lsp20_1.vqh @@ -0,0 +1,534 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_lsp20_1_VQH_ +#define _V_lsp20_1_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_lsp20_1[] = { + 143, + 129, + 147, + 126, + 151, + 124, + 153, + 127, + 165, + 149, + 186, + 132, + 176, + 101, + 198, + 75, + 127, + 72, + 124, + 52, + 190, + 34, + 137, + 109, + 135, + 124, + 166, + 126, + 190, + 147, + 176, + 132, + 170, + 129, + 158, + 117, + 115, + 21, + 130, + 93, + 140, + 128, + 144, + 122, + 146, + 138, + 160, + 117, + 153, + 148, + 182, + 130, + 173, + 119, + 147, + 111, + 148, + 6, + 126, + 92, + 170, + 135, + 166, + 129, + 151, + 141, + 176, + 129, + 178, + 135, + 210, + 154, + 164, + 110, + 147, + 106, + 114, + 37, + 136, + 102, + 145, + 22, + 130, + 99, + 142, + 135, + 181, + 137, + 202, + 150, + 214, + 127, + 184, + 141, + 163, + 125, + 122, + 50, + 138, + 109, + 200, + 9, + 131, + 93, + 139, + 141, + 149, + 129, + 147, + 144, + 169, + 120, + 149, + 93, + 168, + 80, + 171, + 92, + 156, + 56, + 126, + 114, + 128, + 117, + 120, + 137, + 131, + 128, + 137, + 127, + 171, + 135, + 130, + 129, + 184, + 160, + 143, + 81, + 139, + 76, + 157, + 33, + 134, + 104, + 118, + 127, + 130, + 129, + 153, + 131, + 158, + 137, + 191, + 118, + 217, + 82, + 152, + 73, + 135, + 40, + 195, + 118, + 157, + 107, + 134, + 121, + 137, + 123, + 127, + 74, + 153, + 119, + 128, + 122, + 169, + 154, + 175, + 102, + 219, + 92, + 255, + 27, + 139, + 108, + 138, + 124, + 141, + 119, + 121, + 114, + 164, + 140, + 193, + 116, + 200, + 63, + 178, + 0, + 127, + 89, + 160, + 84, + 148, + 54, + 167, + 41, + 139, + 114, + 209, + 130, + 212, + 71, + 190, + 51, + 140, + 118, + 122, + 142, + 134, + 129, + 128, + 124, + 129, + 124, + 142, + 137, + 189, + 152, + 176, + 100, + 177, + 62, + 229, + 15, + 134, + 100, + 139, + 132, + 178, + 128, + 137, + 120, + 150, + 133, + 163, + 124, + 204, + 158, + 125, + 149, + 140, + 130, + 137, + 91, + 211, + 118, +}; + +static long _vq_lengthlist_lsp20_1[] = { + 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, +}; + +static long _vq_ptr0_lsp20_1[] = { + -1, -2, -3, -4, -5, -6, -7, 28, + -9, 29, 53, -12, -13, 28, 53, -16, + 41, 56, -19, -20, -21, -22, 28, 30, + -25, 5, -27, 30, -416, 44, -29, -32, + -33, -25, 33, 50, 30, -38, 36, -40, + -41, -42, -13, -34, -43, -46, 31, -48, + 31, 44, -51, 28, 47, -54, -55, -56, + -57, -58, 6, 28, -61, 28, 18, -64, + -65, 46, -67, -68, -69, 6, -71, 47, + -73, -74, 43, 33, 43, -78, -79, 62, + 47, 27, -83, -84, 10, -86, -62, 21, + 28, -90, 18, -92, -93, -80, -87, -96, + -84, -94, 54, -100, 62, -97, -103, -104, + -105, -106, 28, -108, -109, 41, -111, 46, + 53, -415, -101, -114, -117, -118, 31, -71, + -115, 15, -123, -124, -109, -121, 44, -126, + -129, -111, 12, -130, -113, -131, -133, -136, + -137, -138, -62, 44, 29, 29, 29, -144, + 29, -146, 45, 40, -149, -150, -151, -152, + -153, 25, 35, -156, -157, -158, 34, 42, + -161, 35, -147, 15, -165, -166, -167, 5, + -169, -170, 30, -163, -132, 8, 27, -176, + 5, 16, -179, 25, 34, -182, -183, -25, + -177, 45, 50, -188, -189, -190, 4, -192, + -193, 4, 20, -196, 14, -163, 9, -200, + -201, 4, 20, -204, 19, 16, -207, -208, + -209, -210, 4, -212, 4, 16, -215, 24, + 34, -193, 15, 39, 34, -222, -223, -224, + -225, -226, -227, -228, -229, -230, 1, -232, + 11, 26, 37, -236, 3, 11, -239, 3, + 11, -242, -243, -244, -245, -246, -247, 1, + 11, 1, -251, -252, -230, -218, -253, -172, + -213, 8, -259, -260, -237, -257, -261, -264, + 32, -262, -267, -233, -265, -255, 12, -270, + 6, -274, 1, 37, -277, -278, -279, 6, + -271, -282, 32, -280, 63, -286, -287, -288, + 33, 26, 43, -292, -293, -294, -295, -296, + -297, -249, -283, 6, -298, -302, -303, -304, + -305, -306, -307, 0, -300, -84, 45, 48, + -313, -69, 40, -314, -315, 43, -316, -320, + 6, 38, 26, 6, 10, -326, -327, 6, + -321, 11, 43, 63, 11, -279, 23, -336, + 6, -334, -339, -340, 11, -342, 13, -337, + -345, -346, -347, 1, -230, -343, -232, 38, + -351, -354, -355, -356, -236, 23, 15, 44, + -358, 33, -363, -364, -365, 21, -360, -288, + -366, -370, 27, 23, -373, -374, -375, -376, + -377, -378, 3, -380, 8, 8, 40, -384, + -385, 8, -387, -388, -389, 3, 12, 48, + -342, 15, 40, 45, -397, -398, -261, -269, + -393, -270, 23, -401, -403, -232, 38, 13, + 13, -410, -411, -412, -413, -414, -415, 2, + 38, -418, 17, -130, -421, -422, 7, 17, + -419, 45, -427, -428, 7, 22, -431, 17, +}; + +static long _vq_ptr1_lsp20_1[] = { + -221, -148, -53, -37, -18, -11, -8, 29, + -10, 58, 58, -15, -14, 55, 55, -14, + 55, 61, -31, -12, -24, -23, 42, 42, + -26, 53, 42, 53, -29, 61, -17, -36, + -35, 58, 61, 53, 50, -39, 42, -50, + 53, -45, -16, -17, -30, -47, 36, -16, + 55, 63, -52, 53, 53, -135, -82, -63, + -60, -59, 18, 46, -62, 63, 57, -77, + -66, 47, -72, -70, 63, 60, 63, 60, + -76, -71, 60, 44, 63, -71, -80, 54, + 54, 37, -91, -85, 60, -89, -88, 37, + 57, 53, 60, -102, 28, -95, -81, -99, + -98, 59, 60, -98, 60, 44, -116, -50, + -107, 53, 41, -110, 53, 60, -112, 60, + 60, -28, -75, -49, -122, -119, 54, -98, + -44, -17, -128, -71, -98, -29, 56, 61, + -119, -98, 61, -17, -402, -127, -125, -143, + -142, -141, -140, 48, 57, 53, 46, -145, + 45, -10, 58, 48, -187, -181, -164, -155, + -154, 39, 39, -154, -160, -159, 51, 51, + -159, 51, -139, 44, -178, -175, -168, 34, + -157, -159, 51, -162, -424, -139, 44, -36, + 50, 44, -180, 51, 50, -185, 50, 51, + -174, -186, 58, -206, -198, -191, 9, -195, + -194, 49, 49, -194, 49, -184, -199, -203, + -202, 24, 24, -202, 24, 27, -220, -217, + -214, -211, 34, -154, 39, 37, -216, 35, + 35, -219, 37, 49, 42, -409, -344, -291, + -241, -238, -235, -234, -231, 26, 37, -233, + 37, 37, 59, -237, 59, 59, -240, 13, + 13, -289, -285, -276, -272, -250, -248, 6, + -249, 26, -258, -231, -233, -213, -205, -404, + -81, 37, -266, -263, -234, -81, -256, -234, + 59, -254, -263, 59, -197, -368, 44, -163, + -273, -275, 43, 43, -284, -281, -76, 63, + -268, -76, 63, -173, 59, 37, 63, 43, + 59, -290, 62, -338, -332, -330, -325, -301, + -58, -299, -171, 26, -134, -323, -319, -317, + -312, -309, -100, 60, -120, -100, 52, 52, + -100, -84, 52, -311, -310, -307, -139, -322, + -290, 52, 62, -324, 18, -329, -322, 62, + -311, 26, -331, 60, -333, -335, 52, -62, + 57, 48, 45, -341, 57, -62, 57, -328, + -372, -353, -348, 3, -350, -318, -81, 48, + -139, -362, -361, -359, -284, 48, 48, -284, + -139, 63, -369, -367, -234, 59, -357, 37, + -352, -234, 59, 44, -396, -386, -383, -381, + -379, 27, 44, 27, 44, -382, 44, 45, + 48, 40, -394, -392, -391, -147, -371, 57, + 40, 61, -395, 57, -408, -405, -350, -349, + -29, 61, -416, -400, -390, -407, -29, 37, + 40, -308, -399, -425, -420, -417, -416, 61, + 61, -416, 61, 23, -418, -423, 38, 38, + -406, -426, -430, -429, 52, 52, -429, 52, +}; + +static long _vq_p_lsp20_1[] = { + 56, 40, 168, 120, 116, 116, 112, 112, + 116, 116, 212, 112, 112, 112, 212, 164, + 164, 224, 112, 120, 112, 112, 112, 120, + 20, 20, 120, 120, 152, 176, 176, 20, + 20, 212, 132, 200, 120, 168, 144, 144, + 164, 112, 112, 132, 132, 144, 124, 124, + 124, 176, 112, 112, 188, 112, 24, 112, + 24, 24, 24, 112, 252, 112, 72, 24, + 184, 184, 24, 24, 24, 24, 188, 188, + 188, 172, 172, 132, 172, 248, 248, 248, + 188, 108, 72, 40, 40, 112, 72, 84, + 112, 72, 72, 40, 40, 188, 84, 40, + 40, 84, 216, 248, 248, 84, 112, 184, + 112, 112, 112, 164, 164, 164, 184, 184, + 212, 8, 84, 132, 124, 124, 124, 188, + 84, 60, 164, 164, 164, 60, 176, 176, + 184, 184, 48, 48, 8, 48, 48, 72, + 72, 72, 72, 176, 116, 116, 116, 116, + 116, 180, 180, 160, 100, 100, 156, 100, + 100, 100, 140, 136, 136, 136, 136, 168, + 140, 140, 160, 60, 20, 136, 20, 20, + 120, 120, 120, 60, 8, 32, 108, 20, + 20, 64, 100, 100, 136, 20, 20, 20, + 64, 180, 200, 80, 56, 36, 16, 16, + 16, 16, 80, 56, 56, 60, 36, 16, + 16, 16, 80, 76, 76, 64, 96, 140, + 16, 136, 16, 16, 16, 64, 96, 96, + 136, 16, 60, 156, 136, 72, 0, 12, + 12, 4, 4, 44, 4, 4, 4, 44, + 44, 104, 148, 12, 12, 44, 12, 12, + 44, 128, 128, 4, 128, 24, 24, 4, + 44, 4, 4, 4, 4, 60, 60, 8, + 64, 32, 44, 44, 44, 32, 32, 128, + 128, 32, 104, 104, 32, 48, 48, 48, + 24, 4, 4, 148, 128, 24, 24, 24, + 48, 128, 128, 64, 252, 132, 172, 132, + 132, 104, 172, 4, 4, 24, 4, 4, + 4, 4, 32, 24, 64, 0, 0, 24, + 0, 0, 0, 0, 64, 40, 180, 192, + 24, 24, 160, 160, 160, 172, 160, 24, + 24, 152, 104, 24, 40, 24, 24, 24, + 152, 44, 172, 252, 44, 252, 92, 24, + 24, 92, 72, 44, 44, 52, 52, 92, + 4, 44, 12, 4, 4, 92, 44, 152, + 152, 12, 12, 12, 12, 92, 60, 176, + 60, 132, 84, 84, 84, 84, 60, 132, + 92, 108, 108, 92, 12, 32, 12, 12, + 12, 12, 12, 32, 32, 32, 160, 160, + 160, 32, 52, 12, 12, 12, 48, 192, + 52, 60, 160, 180, 32, 32, 32, 60, + 60, 48, 92, 48, 60, 44, 152, 52, + 52, 28, 28, 152, 8, 8, 8, 8, + 152, 68, 68, 48, 28, 28, 28, 68, + 48, 180, 28, 28, 28, 88, 68, 68, +}; + +static long _vq_q_lsp20_1[] = { + 88, 140, 252, 144, 200, 164, 212, 116, + 212, 232, 232, 164, 212, 220, 220, 212, + 220, 244, 200, 220, 212, 120, 168, 168, + 120, 212, 168, 212, 176, 244, 224, 120, + 200, 232, 244, 212, 200, 188, 168, 188, + 212, 144, 164, 224, 176, 220, 144, 164, + 220, 252, 188, 212, 212, 116, 40, 188, + 252, 112, 72, 184, 228, 252, 228, 248, + 240, 188, 172, 188, 252, 240, 252, 240, + 252, 188, 240, 176, 252, 240, 188, 216, + 216, 148, 184, 72, 240, 212, 112, 148, + 228, 212, 240, 184, 112, 240, 108, 248, + 216, 236, 240, 216, 240, 176, 124, 188, + 184, 212, 164, 184, 212, 240, 212, 240, + 240, 152, 132, 252, 164, 188, 216, 216, + 224, 224, 184, 188, 216, 176, 224, 244, + 188, 216, 244, 224, 92, 176, 60, 180, + 184, 212, 116, 192, 228, 212, 184, 212, + 180, 212, 232, 192, 196, 232, 200, 204, + 140, 156, 156, 156, 140, 168, 204, 204, + 168, 204, 176, 176, 100, 200, 204, 136, + 136, 168, 204, 160, 48, 176, 176, 120, + 200, 176, 200, 204, 200, 232, 200, 204, + 108, 232, 232, 140, 76, 56, 36, 56, + 80, 196, 196, 80, 196, 64, 76, 76, + 80, 96, 96, 80, 96, 108, 168, 196, + 96, 156, 136, 140, 156, 148, 136, 140, + 140, 156, 148, 196, 168, 244, 32, 228, + 252, 52, 12, 236, 44, 104, 148, 104, + 148, 148, 236, 44, 236, 236, 44, 52, + 52, 248, 132, 252, 172, 128, 104, 24, + 104, 104, 128, 44, 104, 64, 108, 60, + 108, 148, 104, 128, 148, 108, 64, 148, + 236, 60, 128, 236, 176, 192, 176, 60, + 172, 148, 172, 172, 236, 128, 172, 252, + 64, 172, 252, 192, 236, 148, 252, 172, + 236, 248, 248, 52, 228, 252, 44, 0, + 72, 24, 160, 104, 224, 72, 104, 172, + 24, 40, 248, 240, 84, 248, 208, 208, + 248, 40, 208, 192, 180, 240, 176, 104, + 248, 208, 248, 72, 72, 44, 104, 248, + 192, 104, 252, 240, 228, 228, 208, 72, + 228, 192, 180, 52, 228, 72, 228, 152, + 52, 236, 44, 12, 44, 160, 108, 192, + 176, 108, 132, 176, 252, 192, 192, 252, + 176, 252, 108, 132, 148, 236, 92, 148, + 152, 148, 236, 176, 44, 52, 192, 160, + 32, 108, 176, 108, 176, 160, 176, 180, + 192, 160, 180, 52, 228, 160, 92, 228, + 160, 244, 180, 228, 160, 52, 44, 160, + 176, 244, 152, 60, 92, 52, 176, 148, + 160, 132, 92, 208, 28, 68, 152, 244, + 244, 152, 244, 92, 244, 68, 152, 152, + 176, 208, 68, 88, 208, 208, 88, 208, +}; + +static encode_aux_nearestmatch _vq_auxn_lsp20_1 = { + _vq_ptr0_lsp20_1, + _vq_ptr1_lsp20_1, + _vq_p_lsp20_1, + _vq_q_lsp20_1, + 432, 432 +}; + +static static_codebook _vq_book_lsp20_1 = { + 4, 64, + _vq_lengthlist_lsp20_1, + 2, 1605458492, 1582935470, 8, 1, + _vq_quantlist_lsp20_1, + &_vq_auxn_lsp20_1, + NULL, +}; + + +#endif diff --git a/include/vorbis/book/lsp32_0.vqh b/include/vorbis/book/lsp32_0.vqh index 0729ac93..57c63b1d 100644 --- a/include/vorbis/book/lsp32_0.vqh +++ b/include/vorbis/book/lsp32_0.vqh @@ -20,3549 +20,3257 @@ #include "vorbis/codebook.h" static long _vq_quantlist_lsp32_0[] = { - 96, - 89, - 98, - 92, - 90, - 65, - 82, - 81, - 97, - 97, - 95, - 96, - 99, - 85, - 93, - 101, - 81, - 93, - 97, - 163, - 101, - 107, - 94, - 91, - 103, - 87, - 100, - 95, - 96, - 94, - 98, - 93, - 98, - 98, - 98, - 94, - 89, - 63, - 77, - 79, - 62, - 64, - 71, - 83, - 95, - 100, - 100, - 97, - 101, - 87, - 96, - 96, - 102, - 92, - 93, - 93, - 81, - 64, - 78, - 83, - 103, - 97, - 97, - 88, - 92, - 98, - 101, - 95, - 84, - 66, - 81, - 83, - 91, - 92, - 100, - 98, - 99, - 87, - 100, - 99, - 73, - 66, - 79, - 86, - 96, - 89, - 91, - 90, - 93, - 86, - 97, - 96, - 101, - 96, - 92, - 97, - 88, - 81, - 93, - 98, - 88, - 90, - 94, - 93, - 97, - 101, - 101, - 91, - 93, - 65, - 82, - 85, - 98, - 95, - 91, - 86, - 101, - 76, - 91, - 95, - 94, - 69, - 84, - 81, - 65, - 66, - 73, - 83, - 102, - 101, - 150, - 186, + 131, + 131, + 132, + 120, + 132, + 134, + 138, + 124, + 133, + 111, + 132, + 125, + 155, + 156, + 157, + 130, + 146, + 126, + 131, + 129, + 129, 135, - 69, - 107, + 142, + 133, + 140, + 142, + 141, 126, - 96, - 103, - 102, - 97, - 103, - 111, - 103, - 96, - 34, - 114, - 109, - 152, - 98, - 98, - 104, - 103, - 1, - 79, - 77, - 93, - 120, - 71, - 104, - 119, + 151, + 129, + 133, + 132, + 128, + 125, + 123, + 130, + 150, + 143, 141, - 71, - 79, - 84, - 98, - 122, - 117, - 153, - 96, - 67, - 83, - 88, - 102, - 70, - 88, - 88, - 119, - 95, - 103, - 103, - 99, - 101, - 96, - 98, - 109, - 102, - 104, - 89, - 109, - 89, - 89, - 92, + 142, + 124, + 118, + 145, + 132, + 139, + 144, + 133, + 127, + 126, + 120, + 126, + 111, 130, - 86, - 95, - 108, - 99, - 106, - 100, - 95, + 118, + 145, + 135, 133, - 84, - 91, - 91, - 163, - 70, - 78, - 90, - 108, - 93, - 101, - 98, - 85, + 138, + 139, + 125, + 139, + 128, + 131, 115, - 101, - 75, - 146, - 77, - 108, + 137, 124, - 166, - 76, - 87, - 105, - 103, - 99, - 101, - 90, - 106, - 100, - 97, - 103, + 129, + 111, + 128, + 131, + 131, 117, - 92, - 98, - 100, - 114, + 138, + 122, + 123, + 127, + 127, + 109, + 128, 120, - 115, - 159, - 84, - 67, - 84, - 89, - 106, - 103, - 155, - 185, + 130, + 126, + 128, + 134, + 140, 113, - 125, - 87, - 67, - 103, - 94, - 104, - 99, - 114, + 138, + 132, + 136, + 138, + 133, 119, + 137, + 139, + 142, + 121, + 132, + 111, + 135, 134, - 172, - 104, - 82, - 84, - 82, - 87, - 96, - 90, + 141, + 146, + 141, + 128, + 131, + 136, + 134, + 118, 135, - 102, - 109, + 135, + 125, 110, - 108, - 96, - 98, - 107, - 96, + 142, + 124, + 130, 132, - 99, - 92, - 113, - 104, - 90, - 103, - 93, - 95, - 90, - 99, - 105, - 109, - 104, - 103, - 119, - 107, - 113, - 102, - 101, - 94, - 77, - 80, - 81, - 110, - 78, - 89, - 90, + 135, + 140, + 143, + 134, + 145, + 142, + 134, + 121, + 139, + 134, + 136, + 135, + 149, + 150, + 153, 128, - 104, - 107, - 118, - 88, - 99, - 111, - 102, - 102, - 109, - 99, - 96, - 96, - 99, - 111, - 180, - 104, - 95, - 93, - 99, + 142, 122, - 98, + 126, + 129, + 139, + 111, + 134, + 127, + 123, 107, - 105, - 104, - 96, - 94, - 103, - 102, - 106, - 103, + 128, + 132, + 139, 115, - 100, - 91, - 104, - 95, - 122, - 76, - 89, - 108, - 109, - 96, - 95, - 109, - 101, - 103, - 97, - 100, - 98, - 67, - 88, - 84, + 124, + 123, + 126, 111, - 94, - 96, - 89, - 129, - 112, - 219, + 133, + 135, + 148, + 144, + 134, + 123, + 130, + 121, 137, - 92, - 100, - 96, - 158, - 91, - 80, - 106, - 105, - 103, - 104, - 103, - 88, - 143, - 99, - 96, - 109, - 98, - 100, - 93, - 103, + 125, + 138, + 118, + 138, + 119, + 130, + 125, 127, 113, - 173, - 154, - 105, - 88, - 99, - 98, - 100, - 95, - 103, - 97, - 89, - 86, - 116, - 99, - 112, - 116, - 104, - 98, - 106, - 97, - 94, - 104, + 132, + 119, + 134, + 119, + 134, + 127, + 137, 124, - 90, - 107, + 135, + 118, + 116, + 126, + 140, + 140, + 131, 121, - 101, - 70, - 84, - 83, - 109, - 96, - 103, - 99, - 102, - 100, - 104, - 96, - 102, - 104, - 106, - 102, - 98, - 104, - 100, - 95, - 87, - 94, - 100, - 178, + 133, 115, - 119, - 150, - 173, - 95, - 107, - 106, - 98, - 109, - 106, - 103, + 128, + 114, + 153, + 130, + 140, + 135, + 131, 109, - 97, - 66, - 76, - 78, - 115, - 116, - 111, - 107, - 108, - 111, - 86, - 96, + 128, + 125, + 123, + 123, + 130, + 120, + 125, + 131, + 139, + 124, + 142, + 125, + 137, + 119, + 118, + 82, 109, - 98, - 170, - 184, - 106, - 95, 107, - 91, - 96, - 96, - 97, - 108, - 119, - 116, + 122, + 130, + 135, + 122, + 136, + 110, 118, - 96, - 105, - 113, - 100, - 98, - 85, - 61, - 71, + 119, + 122, + 114, + 132, + 125, + 122, + 121, + 138, + 125, + 138, + 138, + 126, + 115, + 140, + 127, + 137, + 132, + 123, + 109, + 125, + 120, + 148, + 146, + 143, + 124, + 127, + 131, + 143, + 128, + 147, + 125, + 134, + 136, + 145, + 131, + 136, + 143, + 172, + 158, + 149, + 141, 73, - 110, - 100, - 99, + 79, + 89, + 105, 104, - 141, + 97, + 120, + 131, + 109, + 95, + 127, + 136, 133, - 74, - 72, - 124, + 133, + 149, + 131, + 133, + 125, 116, - 117, - 104, - 107, - 100, - 100, - 108, - 93, - 76, - 87, - 92, - 89, - 69, - 87, + 106, + 197, 89, - 114, - 103, + 136, + 146, + 182, + 98, + 130, + 134, + 127, + 83, 104, - 106, - 80, 101, - 123, - 163, - 77, - 84, - 116, - 105, - 95, - 95, - 102, - 122, - 106, + 128, + 117, + 121, 106, - 110, - 72, - 101, - 103, - 97, - 104, - 96, + 164, + 143, + 137, + 149, 102, - 106, - 163, - 83, - 75, - 92, - 100, - 100, + 91, + 111, + 121, + 137, 96, + 116, 111, - 104, - 85, - 73, - 81, - 86, - 81, - 72, - 88, - 95, - 74, - 114, + 148, 116, - 143, - 106, + 153, + 132, + 139, + 133, + 159, + 123, + 127, + 125, + 155, + 137, + 99, + 73, + 92, 97, + 139, + 115, + 147, + 135, 117, - 103, + 80, 102, - 104, - 100, - 113, - 106, - 92, 101, - 106, - 107, - 89, - 103, - 96, - 79, - 119, + 139, + 148, + 148, + 132, + 153, 121, - 159, - 107, - 79, - 99, - 106, 119, - 108, - 98, - 93, - 117, - 99, - 203, - 168, - 97, 114, - 131, - 168, - 98, - 103, - 95, - 105, + 118, + 116, + 143, + 141, + 97, + 78, + 101, 104, - 106, - 103, + 145, + 134, + 162, + 136, + 133, + 138, + 116, + 104, + 83, + 80, 98, - 95, - 82, - 88, - 86, - 125, + 110, + 135, + 131, 128, - 122, + 143, + 149, + 135, + 132, 116, + 51, + 81, + 80, 106, - 108, - 133, - 181, - 96, - 105, - 103, - 98, - 99, - 101, - 136, - 187, - 107, - 109, - 97, - 97, - 106, - 105, - 95, - 95, - 110, - 110, - 98, - 97, + 131, + 112, + 111, + 119, + 118, + 127, + 142, + 148, 111, + 79, 102, - 114, - 135, - 94, - 93, - 107, - 99, - 92, - 117, - 117, - 145, - 112, - 110, - 104, - 93, + 102, + 132, 130, - 111, - 220, + 126, + 138, + 126, + 120, + 113, + 128, + 116, + 109, + 138, 139, - 77, - 68, - 82, - 88, - 95, - 108, - 123, - 164, 102, - 112, - 82, - 75, - 101, - 104, - 101, - 103, - 63, - 76, - 104, + 81, + 105, 108, - 90, - 74, - 87, - 90, - 100, - 103, - 96, - 112, 113, - 101, - 181, - 177, - 98, - 95, - 110, - 130, - 103, + 113, + 149, + 134, + 124, + 113, + 123, 105, + 107, + 77, 98, - 96, - 88, - 71, - 104, + 100, + 148, + 155, + 166, + 156, + 142, + 119, + 122, 108, - 96, - 99, - 127, - 185, - 124, + 122, + 81, + 103, 101, + 139, + 136, + 148, + 142, + 175, + 122, + 125, + 141, + 166, 111, - 109, + 130, + 153, 102, - 101, - 96, - 96, - 147, - 83, - 94, - 100, 95, - 206, - 98, - 116, - 99, + 115, + 126, + 122, + 85, 109, - 101, - 140, - 103, - 89, - 103, - 103, + 107, + 154, + 146, + 126, + 135, + 199, + 111, + 119, + 125, + 125, + 85, + 111, + 109, + 166, + 121, + 141, + 155, + 122, 102, + 119, + 115, + 148, + 135, + 137, + 151, + 132, + 92, + 114, 110, - 104, - 160, - 101, - 97, - 104, - 93, + 113, + 89, + 109, + 115, + 162, + 111, + 121, + 142, 147, - 63, - 94, - 112, - 99, - 101, + 148, + 154, + 151, + 122, + 114, + 113, + 113, 107, - 97, + 100, + 135, + 139, + 135, + 89, 108, - 110, + 104, + 136, + 130, + 145, + 92, + 130, + 88, 106, - 95, 102, - 107, - 107, - 102, - 100, - 89, - 101, - 100, + 140, + 126, + 133, + 155, + 186, + 119, + 131, + 145, + 114, 108, - 103, + 134, + 126, + 112, + 81, + 109, + 109, + 109, + 126, + 135, 121, + 130, + 100, + 120, + 124, + 128, 88, - 109, - 105, + 113, 110, - 100, - 107, + 147, + 135, + 124, 116, - 104, - 102, - 105, - 111, - 109, - 101, - 100, 107, - 105, - 96, - 112, - 98, - 104, - 105, - 91, - 105, - 115, - 104, - 104, + 83, 106, - 98, + 108, + 118, + 93, + 113, + 113, + 118, + 103, + 128, + 120, + 158, + 147, + 140, + 124, + 129, + 113, + 152, + 155, + 97, + 86, + 112, + 118, + 214, + 78, + 94, 102, - 109, - 100, - 104, - 100, + 168, + 133, 134, - 138, - 117, - 135, - 112, + 104, + 145, + 161, + 110, + 114, + 111, + 102, + 139, + 146, + 110, + 93, + 97, 111, + 136, + 113, + 158, + 158, + 171, + 129, 107, 118, - 112, - 104, - 100, - 104, 107, + 124, + 114, + 115, 108, - 99, + 108, + 123, + 119, + 176, + 98, 105, + 146, + 100, + 128, + 153, + 158, + 111, + 127, + 123, + 113, + 228, + 75, + 99, + 112, + 129, + 103, + 103, + 126, 134, + 123, + 172, + 148, + 218, + 79, 136, - 118, - 137, - 106, - 107, + 148, + 117, 102, - 97, + 111, + 137, + 223, + 147, + 110, + 154, + 119, 102, - 105, 108, + 119, + 125, + 107, + 147, + 153, + 189, + 177, 95, - 102, - 105, - 100, - 99, - 100, - 113, - 108, - 98, - 96, + 87, + 142, + 138, + 135, + 73, + 136, + 255, + 160, + 152, + 142, 111, + 123, + 163, + 144, + 156, + 95, 105, + 230, + 91, + 104, + 116, + 144, + 136, + 149, + 85, + 145, + 84, + 126, + 142, + 223, 101, - 108, - 111, - 125, - 110, - 108, - 102, - 102, - 111, - 117, - 111, - 111, - 96, + 118, + 134, + 118, + 77, + 93, 98, - 103, - 104, - 95, + 171, + 83, + 139, + 126, + 120, + 133, + 145, + 86, + 216, + 106, + 145, + 154, + 88, + 91, + 154, 146, + 196, + 181, + 136, + 163, + 127, + 135, + 155, + 142, + 168, + 159, + 140, + 111, + 122, + 151, + 161, + 146, + 129, + 147, + 183, + 140, + 121, + 111, 104, 103, - 118, - 99, + 82, + 88, + 148, + 129, + 144, + 133, + 154, + 166, + 153, + 178, + 172, + 151, + 89, + 85, 106, - 103, - 97, - 105, - 108, + 114, + 117, + 123, + 161, + 128, + 164, + 94, + 148, + 175, + 158, 107, - 98, - 113, 104, - 110, - 113, + 141, + 121, + 90, + 122, + 118, + 97, + 146, + 144, + 123, + 121, + 133, + 138, + 169, + 101, + 111, + 144, + 111, + 85, 115, - 93, - 102, + 137, + 124, + 199, + 96, + 117, 115, + 135, + 130, + 171, + 211, + 184, + 89, 108, - 116, - 113, - 103, - 106, - 95, + 105, + 219, + 71, + 120, + 137, + 183, + 96, + 125, + 108, + 128, + 72, + 148, + 134, + 120, + 131, + 166, + 196, + 144, + 162, + 130, + 63, + 120, 106, - 102, - 112, 116, - 119, - 76, - 110, - 100, - 99, + 139, + 158, + 79, + 135, + 152, + 197, + 123, + 129, + 143, + 133, + 130, + 146, + 173, + 146, + 142, + 156, + 91, + 190, + 78, + 139, + 161, + 129, + 85, + 154, + 123, + 136, + 127, + 157, 109, - 101, - 106, - 103, - 93, - 100, - 103, + 200, + 68, 123, - 116, - 115, - 119, - 99, - 106, + 142, + 135, + 148, + 188, + 208, + 159, 103, - 76, - 80, - 79, + 96, + 130, + 170, + 78, + 143, + 159, + 185, + 94, + 151, + 169, + 100, 110, - 116, - 103, - 108, - 99, - 126, - 97, - 90, - 105, - 106, - 114, - 179, - 106, + 155, + 127, + 146, 100, 113, - 93, + 108, + 184, + 118, + 149, + 161, + 140, + 94, + 109, 104, - 107, - 106, - 106, + 108, + 154, + 141, + 126, + 195, + 164, + 110, + 127, + 99, 118, - 111, - 125, + 113, 110, - 108, - 112, + 81, + 139, + 147, + 148, 109, - 97, - 105, - 106, - 104, - 101, - 104, - 106, - 101, + 130, + 152, + 190, + 135, + 80, + 122, + 128, 106, - 110, - 114, - 98, - 102, - 125, + 139, + 171, + 140, + 162, + 61, 124, - 119, - 92, - 113, - 108, 121, - 101, - 86, + 114, + 162, + 151, + 127, + 247, + 105, + 97, 129, - 176, - 43, - 55, + 128, + 157, + 116, + 65, + 63, + 134, + 152, 146, - 131, - 169, - 104, - 112, - 104, - 102, - 104, - 115, - 105, - 107, - 124, + 213, + 198, + 63, + 99, 118, + 62, + 151, + 130, + 58, + 85, + 148, + 139, + 124, + 131, + 132, + 66, + 113, 102, - 90, 100, - 112, - 101, - 98, 101, - 127, - 131, - 164, - 150, - 137, - 78, - 108, - 113, + 119, 113, - 96, - 108, - 118, - 117, - 103, - 142, - 112, - 118, + 126, + 89, + 161, + 225, 116, - 114, - 107, - 112, - 113, - 101, - 112, - 109, - 109, + 133, + 115, 99, - 112, - 110, - 114, + 97, + 135, + 116, + 80, + 124, + 119, + 179, + 155, + 101, + 86, + 158, + 179, + 119, + 82, + 175, + 63, + 130, + 133, + 158, + 121, + 89, 96, - 104, - 111, - 114, - 107, - 149, + 155, + 147, + 171, + 59, 153, - 255, - 106, - 108, - 106, - 106, + 166, + 83, + 61, + 87, + 136, + 129, + 133, + 65, + 214, + 117, + 25, + 158, + 101, + 65, + 154, + 228, + 243, + 53, + 128, + 115, + 156, + 162, + 70, + 122, + 145, 97, - 103, - 103, - 104, - 99, + 77, + 39, + 131, + 147, + 156, + 144, + 126, + 67, + 108, 113, - 103, - 109, 108, - 112, - 120, + 126, + 190, + 61, 127, 119, + 112, + 117, + 144, + 74, + 64, + 148, + 0, + 159, + 118, }; static long _vq_lengthlist_lsp32_0[] = { - 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10, + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, + 10,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12, }; static long _vq_ptr0_lsp32_0[] = { -1, -2, -3, -4, -5, -6, -7, -8, - 236, 237, 242, -12, -13, 59, -15, -16, - -17, -18, -19, 59, 151, 201, -23, -24, - 64, 21, 201, 75, -29, 59, 242, 59, - -27, -34, -35, 59, -37, -38, -39, 197, - 151, -42, 201, 3, -45, 151, 243, -48, - -49, 211, -51, 234, -43, -54, -55, 211, - 245, -58, 123, -60, 151, -52, -63, -64, - -65, 234, 165, -167, -66, 21, -71, -72, - -73, -74, -75, -76, 61, 64, -79, 64, - -81, 109, 115, 236, -69, -86, -87, 197, - -89, 96, -91, -92, -93, 64, -95, -96, - -97, 201, 96, 18, -101, 96, 109, 96, - -105, -106, -107, -108, 90, -110, -103, -99, - 146, -114, -115, -116, -117, -118, -119, -120, - 32, 152, -123, 61, 152, 237, -19, 21, - -24, 75, -129, -82, 22, -134, -135, -136, - -137, -138, 41, 59, -141, -142, -19, -127, - 3, -146, 147, -144, -149, -150, 226, -147, - -153, 147, -151, 41, -154, -158, 236, -160, - -161, -162, 41, 3, -29, 18, 3, -281, - -166, 0, -171, 236, -169, 54, -175, -176, - -177, -178, 226, 164, -181, 147, -43, -178, - -182, 154, -187, -188, 237, -184, -189, -192, - -193, -194, -195, -196, -197, 33, 69, -200, - -201, 198, 102, 102, -205, -206, -207, -208, - 198, 222, -211, 69, -190, -214, -208, -212, - 158, -218, 102, -220, -221, -222, 54, 18, - -225, -226, 54, -228, 76, 53, -231, -211, - -229, -232, -233, -236, 133, 54, -239, 198, - -241, 158, 245, -244, -245, -246, -247, -248, - -249, -250, 198, 113, -253, 216, 25, -256, - -257, 207, 24, -4781, -258, 150, -208, -261, - 113, -257, -263, -268, -269, -270, -271, 209, - 235, -264, -127, -274, -264, -129, -277, -280, - -252, -318, 40, 65, 113, 222, -226, 40, - -289, -290, -291, -292, -293, 198, 113, -296, - 76, -287, -228, -297, -299, -302, -303, -304, - 76, -306, 207, -228, 53, -310, -311, -312, - 207, -294, 43, 229, -314, -273, -494, -261, - -314, 118, -323, -324, -325, -293, -320, 158, - -296, 223, 65, -296, -330, 245, -3093, 43, - -335, -338, -339, -340, -341, -342, -343, -344, - -345, 41, 160, 158, -336, -334, -348, -350, - -353, -293, -351, -356, -357, -358, 41, -354, - 158, -362, -363, 207, -359, 173, -367, 207, - 158, -222, 75, -372, 158, -374, 226, -370, - -377, -378, 54, 66, -381, -382, -383, 207, - 246, -379, -387, -388, -389, 229, 25, -56, - -390, -258, 158, -393, -132, -398, -399, -400, - 207, 160, 221, -404, -405, -406, -407, -408, - -409, 79, -396, -349, 92, -412, 128, -416, - 128, -418, -419, -420, 143, -413, -421, -147, - 133, 143, -427, -428, -429, -345, -423, 164, - -374, -430, 129, -436, 143, -438, -439, -440, - -441, 133, -443, 133, 179, -446, -241, -434, - 129, -346, -448, 22, -453, -454, 133, -456, - -457, 143, -223, -346, 92, -460, -463, -464, - -465, -466, -467, -468, 54, 55, -471, -472, - -226, -461, 94, -211, -473, -476, -479, 69, - 94, -482, -483, -484, -485, -228, 129, 240, - -489, 118, -491, -264, 66, -492, -4781, -493, - -497, -211, 53, -498, -501, -502, -503, 76, - -209, 66, -505, -508, -509, -510, 69, -512, - 69, 222, -474, 4, -515, 122, -519, -520, - -521, -522, -523, -271, 36, -524, -264, 36, - 113, -527, -531, -532, 113, -529, 118, -273, - -2740, -533, 99, 118, -498, -542, -543, 122, - -545, 218, 0, -548, 222, -550, -551, -552, - -553, -554, -468, -546, 211, -469, 92, -558, - 211, -562, -563, -564, -565, -566, 76, -568, - -569, -570, 76, 0, -573, -560, -571, -576, - 123, -578, 211, 94, -581, -582, 211, 234, - 94, 118, -587, -588, -589, -590, -591, -304, - -574, 118, -595, -596, 76, -294, -168, 118, - -598, -602, -331, -3094, -600, 92, -607, 229, - 71, -610, -611, -612, 123, -608, 3, -388, - -1289, -614, -379, -333, -618, -585, -620, -622, - -625, 234, -627, -628, -629, -503, -623, 99, - -633, 94, 71, 94, -531, -2329, -614, 99, - -534, -639, 234, -644, -645, -646, -647, 55, - 122, 94, -651, -581, -637, 18, 92, -656, - 122, -658, 94, -654, -661, -662, -663, -664, - 122, -659, -652, 71, -667, 236, 122, -668, - -673, -674, -675, -676, -677, -678, -679, -680, - -681, -207, -666, -671, 3, -684, -687, -688, - -689, 198, 214, 214, -693, -694, -695, 81, - 0, -698, 214, -696, -701, 81, -703, -704, - -210, -682, -699, 12, -695, -707, 7, -712, - -713, 81, -698, -710, 224, -718, -719, 69, - -721, -722, -723, -724, 81, 224, -727, 214, - -715, -730, 81, 244, -724, 71, -735, -736, - -737, -738, -739, 69, 100, -742, -743, 209, - -733, -746, 81, -744, -749, -719, 3, -752, - -724, -750, 100, 100, -757, -742, -705, -753, - -759, -696, -763, -764, 209, 145, -545, -750, - -767, -770, -771, -772, -773, 209, -713, -696, - -743, -775, -779, 100, -777, -782, -783, -784, - -785, -773, -780, 235, 81, -695, -786, 71, - 81, 218, -795, -796, -271, 2, -797, 0, - -799, -802, -803, -804, -805, 188, 145, 218, - -809, -810, -811, -812, 44, 81, -815, -816, - -817, 48, -819, 69, 6, -822, -719, -820, - 145, -826, -724, -823, 16, -830, -831, 127, - 7, -834, 48, -719, -832, 102, -839, 102, - 214, -842, 127, -608, -845, -846, -847, -848, - -849, -850, 33, 177, -853, -854, 48, -843, - -857, -858, -859, 48, -608, -862, -819, -860, - -865, -866, -739, -538, -869, 33, 53, -872, - -226, -870, -873, -231, -758, 0, -877, -2537, - -878, 71, -883, -884, 33, 81, -887, 54, - -889, 51, -891, 51, -893, -894, -895, -896, - -211, 2, -897, -898, -899, -902, -903, -764, - -900, 13, 19, -908, -909, 69, -911, -891, - -906, 122, -915, 55, 12, -918, -919, 62, - -916, -913, -920, -924, -479, 6, 240, -928, - -929, 218, -925, -932, 145, 2, -935, -936, - -937, -938, -939, 100, 225, -942, 188, 218, - -945, -946, 216, -933, -949, 218, -925, -952, - -953, -954, -955, 209, 2, -958, 198, -960, - -740, -956, 222, 216, -961, -966, -967, 188, - -969, -970, -971, -972, -973, -974, -975, 198, - 12, 7, -979, -980, -981, -982, -983, 214, - 247, 235, -977, -988, -989, 216, 6, -2562, - -990, -994, -995, 214, -992, 78, 7, 2, - -1001, -982, -997, -999, -1003, -1006, 224, -1004, - -1009, 224, 247, -1012, -1013, 247, 250, 249, - -1017, -1018, -1019, 190, -1007, -1022, -946, -1020, - 3, 224, -1024, -1028, -989, -1026, -1005, -1002, - 12, -27, -1035, 239, 6, -1038, -1039, -995, - 13, -1042, -1010, -1032, 248, 7, -1047, -1048, - -1049, -1050, -1051, 190, 247, -1054, 224, -1045, - -1057, -1058, 230, -1055, -1122, -43, -1061, -1064, - -1065, 100, -1062, -1068, 224, -1009, -169, 2, - -1073, -1074, -1075, -1076, 190, 247, 248, -1068, - -1071, 53, -1083, -1084, 224, -731, -1081, 0, - -1089, -1090, -1091, 214, 239, -1094, 224, 224, - -1097, -1092, -43, -1098, -1099, -1102, -1103, -1104, - -1105, -1106, 188, 218, -1109, -1106, -1100, 191, - 225, 188, -867, -1116, -1117, -1118, -1119, -1120, - 188, 53, -4125, 71, -1123, -379, -1127, -1128, - -1129, -1130, -1131, 100, -1125, -3430, 92, 71, - -1135, -1138, 218, -1140, 230, 161, -1143, 218, - -1145, 145, 3, -1148, -1149, -1150, 188, 161, - -1153, 230, -1146, -1156, 225, 230, -1159, -1160, - -1161, -1162, -1163, -1164, 189, -1166, -1167, 189, - -1154, -1170, -1171, -1172, 190, -1174, -1175, -1176, - -1177, -1178, 190, 239, -1181, 230, -1183, -1184, - 191, -1168, 212, 99, -1189, -1190, 191, 73, - 110, 66, -1193, -1050, -1241, -605, -860, 92, - -1201, -1202, 189, 73, 73, -1206, -1207, -1208, - -1209, -1210, -1076, 66, -1211, 244, -1212, -1092, - -1214, -1218, 244, 248, -1216, -831, -1220, -1224, - 233, -1226, -1227, 127, 230, -842, 4, -1230, - -1233, -1234, -1172, 36, -1237, -1238, -1203, -1235, - -1239, -1519, 165, -27, -1243, 190, -1247, -755, - -1081, -1156, 15, 47, -1253, -1254, -1255, -831, - -1251, 233, -1256, -1260, -1261, -1262, -1051, 144, - 47, -1266, 233, -1264, -1269, -1065, 75, -1270, - -1146, -1065, -1272, -1140, -820, 47, -1279, -1280, - -1281, 127, 233, -1277, -1285, -1286, -1287, -1065, - -1283, -1470, -1288, -1290, -1257, -1291, -1293, -1296, - -1065, -1294, 75, 78, 40, -1300, -1303, 198, - -1305, -1306, -1307, -785, -1299, 75, 47, -949, - -1310, -253, -287, -1314, -1317, 216, -1315, -1320, - -1321, -1322, -918, 93, 66, -1324, -545, -1325, - -1327, 218, 225, -1332, -1333, -764, 24, 167, - 218, 134, -1339, -1340, -1341, -1342, -1343, 100, - -1337, -1346, 218, -1323, -1344, -434, 218, 225, - 222, -1349, -1355, -1356, -1357, -1358, -1359, -1360, - -869, -524, 215, -834, 150, -1366, -1367, -1368, - 44, 215, 102, -1372, 81, 53, -1375, 48, - 43, -1378, -1379, 188, -1381, -1368, 150, -1384, - 215, -730, 125, -1388, -1389, -1390, -1391, -869, - -1386, -1394, 72, 33, -1397, -1398, -1399, -1400, - -1401, 67, 221, -1404, 72, -1406, -1407, -1408, - 72, 221, -1411, 83, 221, 139, -1415, 83, - 171, -1418, 215, 43, -1421, -1422, -1423, -1424, - 189, -1419, 139, -1428, -1429, -1401, -1425, 111, - -1404, -1430, 125, 111, -1437, -1438, -1439, -1440, - -1441, 72, -1434, -1435, -1442, -1444, -1447, 102, - -1445, -1450, -1451, 215, 111, -1454, -1455, 73, - -1457, -1458, 111, -1448, -1347, 137, 134, -1464, - -1465, -1466, -1467, -1468, -1469, 188, 78, -1462, - 126, -1474, -1475, -1476, -1477, -1478, -1479, 188, - -1472, 27, -1483, 189, 88, -1479, 136, -1488, - 188, -1486, -1491, -1492, -1483, 112, 67, 67, - -1497, -1498, -1499, 191, 111, -1502, 67, -1493, - 67, -1503, -1507, -1508, -1509, 188, 191, -1512, - -1513, -1499, 74, -1516, -1517, 191, -1514, -2523, - 112, 42, -1523, -1494, -1521, -1524, -1092, -1525, - -1529, -1469, 137, -1499, 134, 205, -1535, -1536, - -1537, -1538, -1539, -1540, 189, -1532, -1204, 74, - -1545, -1546, -1547, -1499, -1543, 238, -1500, 42, - -1553, -1554, 73, 220, 88, 73, -1556, -1560, - -1561, -1150, 74, 191, -1202, -1562, -1565, 188, - -1569, 205, 88, -1572, -1573, 198, -1575, -1576, - 72, 126, 239, 198, -1581, -1582, 72, -1584, - -1585, -1441, 126, -1562, -1933, -1587, -1591, -840, - -1589, 88, -1092, -1593, -1595, -840, -1577, 42, - -1601, -1602, -1603, -1452, -1599, -1606, 73, 111, - 127, -1257, -1604, -1610, 127, -1611, -1615, -1616, - -1617, -1094, -1613, -1618, -1621, -1622, -1623, -1624, - 207, -691, -1619, 221, -1629, -1630, -1631, -250, - -1626, -1632, 74, 214, 53, -1638, -1639, 207, - 235, -989, 88, 125, -1645, 221, 160, -1648, - -1649, -1650, -1395, -1570, -1653, -1654, -1655, -1656, - 72, 74, 72, -1660, -1661, -1662, -975, -1657, - -1663, 221, -1667, -983, -1551, -1668, -1671, 214, - -1665, -1669, 158, -1676, -1658, -1673, -1677, -1680, - -203, 112, -1599, -1665, -1682, -1686, -1687, -1665, - -1684, 160, -1691, -236, 125, -1634, -1674, 223, - 103, 224, -1699, -1700, -1701, 67, 239, -1696, - 239, -1658, 74, 221, 179, -1710, -1711, -1712, - -1713, -1502, -1706, 138, -1717, 194, -1665, -1714, - -1719, 33, -1723, -1724, 67, 223, -1727, -1728, - 83, -335, -1731, 205, 221, -1729, -1735, -1736, - -1737, -1395, -1733, 88, -1741, -1742, -1743, -1744, - 91, 43, -1715, -1745, 74, 128, -1751, -1752, - 221, -1732, -1748, -1756, -1757, -1665, 74, 42, - -1761, 138, -1763, -236, -1759, -1764, -4955, -1765, - -1767, -1770, -1771, -1772, -1773, 221, -1768, -1776, - -441, -1774, -1779, 138, 120, -236, 10, -1782, - 143, -1786, -1787, -1788, -1789, 79, 128, -1792, - 108, 167, 108, -1796, -416, 38, -1797, -1800, - 138, -1802, -1803, -1804, -1805, -1806, -1807, -1808, - -1809, -1810, 33, -1812, 44, 48, 163, -1816, - -1817, -1424, 20, 44, -1821, -1822, 72, -1824, - -1368, -1818, 120, -1828, -1829, 199, -1826, 215, - 44, -1834, -1835, -1836, -1837, 193, 36, -1840, - 208, -1838, -1843, 199, 136, -1846, -1847, 189, - -1844, -1850, 193, 227, -1853, -1854, -1855, -1856, - -1857, -1858, -1859, 193, 208, -1862, 200, 137, - -1865, -1866, 199, 200, 60, -1870, -1859, -1868, - 215, -1860, -1871, -1874, -1877, -1878, -1879, 193, - 120, -1882, -1883, 208, 228, 83, -1887, -1888, - -1889, -1890, 200, 231, 208, -1894, -1895, 228, - -1897, 231, 232, -1900, 227, 139, -1903, -1904, - -1905, -1843, -1880, 200, -1909, -1907, -1906, -1912, - -1913, -1914, 72, -1916, -1917, 208, 111, -1914, - 10, 14, -1923, -1924, -1401, 9, -1925, -1885, - -1926, -1925, -1931, -1932, 208, 93, 112, 17, - 1, -1938, -1488, -1936, -1941, -1942, -1943, -1944, - 189, -1946, -1947, 189, -1949, 44, -1951, 193, - 199, -1954, -1944, -1939, 73, 191, -1959, -1947, - -1955, 185, -1963, 238, -1837, 136, -1905, -3551, - 60, -1968, -1971, -1972, 199, 111, -1975, 73, - -1520, -1978, -1368, 1, -1981, -1982, -1983, -1984, - 199, -1979, -1985, -1988, -1606, -1986, -1989, -1607, - 136, -1907, 126, 184, -1994, 60, -1999, -2000, - -2001, -2002, 193, 199, 200, 83, -2007, -2008, - -2009, -2010, -2011, 213, -2013, 193, -1951, -1997, - -2017, -2018, -2019, 200, 213, 200, -2011, -2015, - 228, -2026, -2021, -2023, -2027, -2030, -2031, 200, - -2449, -2028, -2033, -2036, -1951, -2034, -2039, 213, - 116, -3270, 89, 89, -2045, -2046, -2047, -2048, - -2049, -1488, -2043, 101, -2053, -2054, 205, -2056, - -2057, -1424, 52, -2058, -2061, -2020, -2059, 228, - -2062, -2066, 188, 205, -2069, -2070, 189, -1957, - -2064, 205, -2075, -2076, -2077, -1947, 132, -2020, - 101, -2080, -1202, 132, 238, -1563, 101, 213, - -2086, -2090, -2091, -2071, -2041, 86, -2093, -2096, - -2097, 67, -2094, -2100, -2097, -2098, 228, -2104, - 83, 86, 188, -2054, -2105, 57, -2111, -2112, - 194, -1401, -2109, -2114, -2117, -2118, -2119, 188, - -2115, -2122, -2123, -2124, 205, 87, -2092, 57, - -2127, -2130, -2131, 213, -2128, -2126, 101, -2134, - -2137, -2138, -2139, -2140, -2141, -2142, -2143, -2144, - -2145, -2146, -2147, 44, -806, 87, -2151, 199, - -2153, 145, -2155, -2156, -2157, 199, 57, -2160, - 157, 127, -2163, -1292, 203, -2158, -2165, 87, - -2169, 127, -806, 217, 157, -2174, -817, 57, - -2175, -2178, -2179, -2180, -2181, 188, -2183, 44, - -2185, -2147, -2176, -2186, -2164, 217, 105, -2192, - 188, 46, -2160, 217, -2197, -2181, -2195, 52, - -1947, -2199, 44, -2201, -2205, -2206, -2207, -2208, - -2209, 225, -2203, -2212, 233, -2210, -2213, -2216, - -1150, -2214, 225, -2220, -2221, -2222, -2223, -1203, - -2217, 131, -2227, 119, -1203, 114, -2229, -2232, - -2218, 89, -2233, -2160, 5, -2236, -2239, -2240, - 119, -2242, -1156, -2237, -2243, -2246, 233, 53, - -2249, -2250, 62, 225, -2247, -1107, -2252, -1143, - 225, 114, -2259, -2260, -2261, -2262, -2263, -2264, - -2265, 44, -2193, -2257, 62, -2193, -2268, 58, - -2273, -2274, 46, 50, 50, -2278, -859, -2270, - 53, -2280, -2283, -2250, -2281, -2286, -2287, 46, - -2289, 114, 155, -2292, 62, -2284, -2295, -2275, - 132, 105, -2299, -2300, -2301, 48, 50, 48, - 50, -2297, -2307, -2275, 87, -2308, -2311, -2312, - -2313, -2314, 46, 62, 131, -2318, -2319, -2292, - -2309, -2188, 204, -2322, -2325, -2326, 62, -2242, - -2321, 57, -2329, -2316, -2330, -2329, -1107, -2333, - 225, -2335, -2339, -2340, 44, 188, -2250, -2337, - -2308, -2346, -2347, -2348, -2349, 50, 51, -853, - -2328, 52, -2201, -2349, -2354, -2356, -2359, -2360, - 48, -2357, -479, 101, 52, -2366, -2367, -891, - -2364, -2370, 62, 52, -2373, -2374, -2375, -2376, - -2377, -2378, -2379, 44, -2381, 46, -2383, -2384, - -2385, -2386, 44, 48, -2371, 48, -2391, 193, - 114, -2394, 193, 58, -2397, -854, -2392, -2134, - 89, -2402, -2403, 46, -2405, -2276, 89, -2408, - 58, 121, 46, 199, -2413, -2414, 188, 189, - 199, 156, -2419, -2420, -2421, -2422, -2423, -2424, - -2183, 87, -2425, -2352, 5, -2428, -1952, -2429, - 157, 46, 227, -2436, -2437, -2438, -2403, -2308, - 202, 5, -2443, -2444, -2445, -2446, -1951, -2441, - -2430, -2577, -2447, -2450, -2019, 87, -2455, -2456, - -2457, -2458, -2459, 196, 56, -2460, -2463, 200, - -2465, 155, -2461, -2468, 200, 89, 196, -2469, - -2473, -2474, -1951, 116, -2475, -1952, -2353, -2478, - -2481, -1951, -2479, 231, -2485, 196, -2460, -1951, - -2058, -2490, -2491, 202, -2488, -2434, -2492, -2494, - -2497, -2498, -2499, 44, -2501, -2502, -2394, -2495, - 219, -2506, 200, -2503, -2509, -2510, 199, -2507, - 199, -2514, -2411, 5, 220, -2518, 200, 93, - -1889, 104, -2519, 78, -2525, -1952, -2523, -2528, - -2529, -2019, -2526, -2020, 114, 93, -2533, -2536, - -2020, 78, -1900, -2537, -2539, -2542, -2543, -2544, - -2545, 62, -2547, 114, -2549, 78, 225, -2540, - -2553, -2554, -2555, -2403, -2441, 114, 58, -2556, - -2268, -2559, 93, -2564, -2565, -2566, -2567, -2568, - -2569, -2570, -2571, 35, 203, 35, -2573, 49, - -2575, -2668, 49, -2578, 227, -2582, -2583, 203, - -2585, 205, 206, -2588, 194, -2590, 225, -2592, - -2593, -2594, -2595, -2596, -2597, -2598, 35, 46, - 46, -2579, -2601, 46, -2602, 225, -2607, 78, - -2609, -2610, -2611, -2612, -2613, -2614, 35, 202, - 35, 202, 203, 116, 203, 220, -2623, -2624, - -2625, -2626, -2627, 35, 155, -2590, 116, -2632, - 119, 225, 202, -2519, -2637, -2638, -2468, -2635, - -2639, -3442, -2297, 202, -2645, -2646, -2647, -2648, - -2649, -2193, -2522, 49, -2653, -2654, -2655, 35, - -2657, 202, -2651, -2660, -2517, -2641, -2658, -2662, - -2665, 119, -2663, -2656, -2709, 56, 49, 203, - -2670, -2672, -2675, -2676, -2677, -2678, 35, -2673, - -2491, -2679, -2681, -2684, -2685, 46, 89, -2671, - 56, -2688, -2691, -2692, -2693, -2678, 89, -2687, - 5, -2696, -2491, 56, 119, -2702, -2463, -2699, - -2705, 202, 200, -2240, -2703, -2735, -2708, -2712, - -2713, -2714, -2715, -2124, -2710, -1203, -2716, -2720, - 213, -2718, -2723, -2724, -2725, -2726, 199, 73, - -2729, 200, -1975, -2523, 119, -2734, -2430, -2809, - 212, 212, -2700, 212, 204, -2742, -2019, -2740, - -2743, -2744, -2730, -4789, -2651, -2748, -2751, -2752, - -2753, -2020, -2749, -2754, -1963, -2755, -2757, -2760, - -2700, -2758, -2761, 238, -2762, -2432, -2764, 110, - -2769, -2770, -2771, -2772, -2773, -2774, 188, -2776, - -1150, 53, 205, -2780, -2181, -2777, 194, -2747, - 77, 110, -2787, -2571, 110, 205, -2677, -2783, - 210, -2792, -2020, -2793, 153, -2798, -1150, 110, - 68, -2802, -2803, -2804, 35, 205, -2800, 225, - -2760, -2812, -2806, -2810, -2822, 37, -2813, -2816, - -2817, -2818, -2819, -2678, 68, -2531, -2936, 34, - -2823, -2824, -2827, -2131, -2825, -2828, -2829, -2531, - -3967, -2830, 5, 87, -2837, -2838, -1469, 37, - -2600, -2839, 148, -2844, -2193, 49, -2268, 87, - 218, -2847, -2851, -2852, -2853, -2854, -2855, -1890, - 107, 114, -2859, -2860, -2861, -2862, 208, 219, - -2865, -2866, 219, 124, 232, 83, -2847, -2872, - -1401, 210, -2875, -2876, -2877, -2878, 208, -2873, - -2881, 83, -2879, -2878, 87, 49, -1897, -2885, - -2889, -2881, -2887, -2890, -1895, 34, -2893, -2896, - -2897, 83, 139, 124, -2894, -2902, -2903, -2904, - -2112, -2900, -2907, -2908, 203, 106, -1900, -2905, - -2913, 106, -2915, -2916, 194, 67, -2919, -2920, - 67, -2911, -2923, -2924, 194, 206, -2881, -2921, - -2112, -2927, -2909, 34, 210, -2934, -2935, -2930, - -2158, 34, -2937, -2986, -2938, 63, -2943, 227, - 124, 135, -2947, -2948, 194, -2950, 205, -2952, - -2586, -2941, -2953, -2956, -2957, -2958, -2959, 194, - -2961, 106, 135, -2964, -2965, -2966, -2967, 206, - -2897, 68, 63, -2972, -2973, -2974, 206, -2970, - -2977, -2909, 37, -1898, -2894, -3967, 68, -2982, - -2985, -1896, -2158, -2983, -2987, 241, 140, -2992, - -2993, -2994, -2995, -2996, 33, 208, -2999, -1822, - -2696, 83, 215, -3004, 215, -3006, -3007, -1415, - 15, -3010, 91, -3010, -2280, -3014, 140, -3016, - 39, -3018, -3019, 33, -3012, -3022, -3023, 39, - 56, -1418, 53, 26, -3029, -3030, -2112, 107, - -3031, -3034, 67, -3036, -3023, 5, -3039, -3040, - 194, -3037, -3043, 135, -2969, -1883, -3044, -3048, - -3049, -3050, -3040, 93, 210, -3052, -3055, -1411, - -2932, 116, -2898, -2932, 56, -3062, 33, -3064, - -3065, -3010, -3060, -3066, -3067, -1794, -3068, -2669, - -3073, 206, 217, 49, -3075, -3078, -3079, -3080, - -3081, -3082, -3083, -3084, 39, 86, 217, 58, - -3086, 56, -3091, -334, -3423, 195, 104, 195, - -3097, -3098, 196, 104, -3094, -3089, 196, 124, - -3105, -3106, -3107, -3108, -3109, 196, 49, 217, - -1850, -3110, -3115, 217, 124, -3118, 193, -3120, - 58, -3122, 196, -3124, -3125, -3126, 39, 215, - 58, -1384, -3113, -3132, 39, -3134, -3135, -3136, - -3137, -3138, 217, -3130, 106, -2961, -3139, -3142, - 53, -3146, -2913, -3075, -3147, -3148, -3151, -3152, - -3153, -3154, -3093, -3149, 166, -3158, 124, -3160, - -3161, 106, 105, -3162, -3165, -3166, 206, -3168, - -3169, 106, 140, -3158, -3060, -3052, -3175, -3176, - -3177, -3120, 107, -2394, -2428, -3095, -2460, -3109, - -3182, -3186, 104, 121, -3189, -3190, 193, -2834, - -3193, 58, 195, -3196, -3197, -3198, 39, -3200, - -3201, -3202, -3203, 58, -3191, -3206, 86, -3208, - 86, 215, -3211, -3212, 86, 56, -3215, 219, - -3213, 86, 5, -3220, -3221, 195, -3223, -2504, - 49, 86, 114, -3224, -3229, -3230, -1859, -3227, - -1860, -3231, -3235, -3236, -3237, -1859, 210, 196, - -3241, 193, -3243, 196, 56, -3244, -1890, -3110, - -2866, 210, -3251, -3095, -3249, 124, 140, -3243, - 49, -2867, -3256, -3258, -3261, -3262, -3263, -3264, - -3265, 195, -3267, -3268, -3269, -3270, 192, 149, - -3259, -3274, -3275, 203, -3272, -3161, -3276, -3280, - -3093, -3278, -3281, -3161, -2453, 176, -3287, 203, - 206, -2941, -3291, -3292, -3293, -3294, 217, -3275, - 63, -3296, 217, 106, -3297, -3302, -3303, -2381, - -2453, 196, -3307, -3308, 46, -3310, 203, 227, - -3313, -3305, 63, 104, -3317, -3318, -3319, -3320, - 196, -3314, -3323, 106, 104, -3092, -3321, -2059, - -3325, -3327, 196, -3329, -3333, -3242, -3328, 89, - 142, -3338, -2627, -3057, 202, 149, -3343, -3344, - -2573, -3060, -3345, 52, -3349, -3350, -1897, -3347, - -3351, -3354, 232, -3354, -3352, 63, -3359, -3360, - -3361, 195, 106, -3364, -3365, -3287, -3347, 106, - -3366, -2909, -3368, 68, -3373, -3374, -3375, -3376, - 196, 232, -1891, -3371, -3311, -3379, 231, -3384, - -3385, -2909, -3381, 105, 141, 148, -3323, -2083, - -3391, -3394, -3395, -3396, 195, 101, -3399, -3400, - -3401, -2908, -3397, -2909, 63, -3404, -2586, 63, - 58, -3407, -3409, -1898, -2190, -3414, -3415, -3416, - -3417, -3418, -3419, -3420, -3421, -3422, -3423, 46, - -2195, -3426, -2537, 105, 155, -2557, 217, -3432, - -3433, -3434, 195, -3430, -3435, -3438, -2537, 135, - -2532, -3439, 217, -3444, -3423, -3442, -3447, -3448, - -2403, -3404, 78, -3452, -2403, -3449, -2440, -3453, - 149, 104, 225, -3460, -3461, 195, -3455, -2607, - -3462, -2617, 105, -3466, -3469, -3470, -3471, -3308, - -3467, 78, -3310, 39, -3357, -3357, -3479, 46, - -3481, 46, 52, -3484, -3485, -3486, -3479, -3482, - -3487, -3490, -3491, -2403, -3488, 63, -2459, -3493, - -3495, -4824, -3496, 52, -3452, -3526, -3499, -3376, - -3502, -2440, -3504, -2403, -3506, -2532, -3508, -3512, - -3375, -2600, -3510, 63, -3517, -1891, -3515, 210, - -3521, -3522, -3523, 202, -3382, -3493, -4438, -3525, - -3527, -3530, -3531, -2468, -3051, 49, -3535, -2440, - -3533, 121, -3536, -3540, -3541, -3542, -3543, -3544, - 33, -2575, -3547, -3548, 39, -2788, -1813, 212, - -3551, -850, -3552, 39, -3550, -3758, -2792, -3558, - 105, -3559, -3563, -3564, -854, -3427, -2349, 212, - -3558, -3570, -3571, -3572, -3573, -3574, -3575, -3576, - -3577, -3578, -3579, -3580, -3581, -2893, -3551, 212, - 37, -3586, -3587, 45, 95, 5, -3591, 107, - -3593, -3594, -3595, -3596, -3597, -3598, -3599, 34, - 68, -3602, 37, -2885, -3605, -3606, -2937, -3603, - 98, -2969, -3607, -3610, -3613, -2941, -3611, -3614, - -4789, 116, 68, -3620, -3621, -2813, 63, 98, - -3625, -2839, -3622, 68, -3629, -3630, -2969, -3626, - 68, -3608, 135, -3622, 70, -3638, -3639, -3640, - 70, 39, 159, -3644, 63, -3646, 63, 142, - -3649, -3650, -3651, -3652, -3653, -3584, -3635, 141, - -3657, 63, -3646, -2800, 141, -3646, 37, -3623, - -3662, 98, 117, -3668, -3669, -3586, -3051, -3664, - -3671, -3674, 82, -3672, -3677, -3588, -3675, -3678, - -3681, -3682, 82, -3684, 98, 148, -3682, -3679, - -3666, -3389, 153, -3692, -3693, -3694, -3695, -3696, - -3697, 5, -3699, -3700, 56, -3702, -3703, -3704, - 82, 142, -2042, -2083, 148, -3710, -3711, -3347, - -3707, 141, -3715, 101, -2043, -2839, -3717, -3720, - -3721, -3722, -3723, -2460, -3718, -2847, -3727, -3728, - -3729, 45, -2839, -3670, -3730, 37, 5, -3733, - -3737, 98, -3735, -3740, -3741, -2931, -3733, -3742, - -3745, -3746, -3747, -3748, -2937, -2737, 132, -3752, - 45, 110, -3752, -2885, -3755, -3754, 104, -3756, - -3533, -3760, -2937, -3761, -3031, -3763, -3765, -3768, - -3769, -3770, -3771, -3729, -3766, -3314, -3772, -3657, - 40, -3778, 45, 5, -3781, -3729, -3776, -3782, - -3785, -2453, -3783, -2229, -3178, 62, -3789, -3790, - -3793, -3794, -3795, -3796, -3797, -3798, -3314, 89, - -3799, -3704, -2233, 50, 46, -3803, -3805, -3808, - -3809, -3357, -3806, 98, -3813, 82, -3810, -2941, - -282, -3816, -3819, -3820, -3658, -3804, -3817, -3822, - -3682, 85, -2302, -3821, -1300, -3828, -3645, -3827, - -3829, -2042, -3660, 85, -3835, -3838, -3839, -3657, - -2363, 101, -3843, -2835, -2469, -3844, -3825, -3841, - -2558, -3848, -3849, -3852, -3853, -3854, -3855, -3856, - -3857, -3858, 45, 80, 82, -3862, 80, 82, - -3865, 95, 89, -3868, -3869, -3870, 70, 58, - 97, -3874, 80, -3871, 85, -3878, -3879, -3880, - 70, -3870, 58, -3882, 80, -3886, -3887, -3888, - -3889, 80, -3891, 82, -3872, -3883, 85, -3896, - 82, -3898, -3899, -3900, -3901, -3902, -3903, 56, - -3894, -3906, -3907, -3729, 89, 15, -3911, 80, - 52, -3914, -2428, -3912, -3915, -3831, -3916, -3918, - 56, 70, -3923, -3924, -3925, 56, -3700, -3919, - -2302, -3903, -3928, -3930, -3933, -3934, 70, -3936, - -3937, 80, 89, -3931, -2043, 104, 217, -2233, - 57, 15, -3947, -3948, -3949, -3754, -3917, -3944, - -3482, -3950, -3952, -3954, -3957, -3958, -3959, 70, - -3955, -4011, 58, -3482, 142, -2363, -3934, 58, - -3969, -3970, -3060, -3967, 86, -3027, 58, -3336, - 57, -3976, -3979, -3729, -3977, -3037, 86, -3984, - -3985, -3986, -3987, -3988, -3989, -3990, 80, 58, - 52, -3994, -3995, 82, -3997, -3998, -3999, -4000, - 47, -4002, -4003, 70, -3992, -4006, -3990, -4004, - 97, -3835, 104, -4140, -4013, 47, 80, 97, - -4017, -4018, 47, -820, -3976, -4022, -3889, -4020, - 85, 85, -4027, -4028, -4029, -4030, 40, -4032, - -1310, -3992, -4033, -2233, -4034, -4030, -4036, -4038, - -4041, -4042, -4043, -3990, -4039, -4044, -3835, -4045, - -3894, -4050, -3813, -4048, 85, -3555, -4055, 80, - -4057, -4058, -3813, 85, 58, -4062, -4063, 39, - -4060, -4066, -4067, 39, 85, 39, -4071, 85, - 144, -4074, -4075, 40, -4069, -4078, -2236, -4076, - -3275, 50, -4081, -3894, -4082, 89, -3482, -4088, - 39, 39, -3710, 220, 104, -4089, -4093, -4092, - -4094, -4098, 85, 86, -4096, -4102, -4103, -4104, - -4105, -4106, 53, -4108, -4109, -4110, 68, 11, - -4113, 84, -4100, 84, 70, -4118, -4119, -870, - -4114, -4122, -4109, -4095, -2475, 104, 77, 117, - -4129, -4130, -4131, 77, 16, -4134, 11, -4125, - -4137, -4138, 117, -4135, 57, -2329, -4141, -4144, - 53, -4146, 77, 99, 16, -4150, 71, 93, - 99, -4154, -4155, -4156, -4157, -4158, -4159, -4160, - 45, 95, -4163, 8, -3636, 116, -4116, -2533, - 8, 70, -2471, -4172, 95, 46, -4170, -4151, - -4177, -4178, -4116, -4175, 98, 8, -3423, -4184, - -4185, -4112, -4191, -4182, -4187, -4180, -4188, -2329, - -4193, -4168, -3092, -4194, -2381, -2600, 89, -4200, - -4201, 84, 98, -4204, 95, -4198, -4207, -4208, - -3636, -4205, -4211, 84, -4209, -3862, -4212, -4216, - -4211, -4214, 206, -3865, 135, -4222, -4223, -4224, - -4225, -4226, 68, 159, -3666, 194, -4229, -4138, - -4230, -3043, -4235, -4236, -4237, 84, 98, -4240, - 98, -4196, -2959, -4242, -4245, -4237, 130, -4246, - -4241, -3040, -4249, 70, -4253, -4254, -4255, 71, - -4257, 144, 159, -4260, -4261, 117, -4250, 91, - -4228, -4248, -4263, -4266, -4269, -4270, -4271, 84, - 180, -4258, -4220, 130, -4277, 97, -4275, -4280, - -4281, -4282, -4283, -4284, -4285, -4286, 34, 86, - -4265, -2093, 39, -4292, 68, 77, -4295, -4296, - 53, 53, 77, -4300, -4301, -4302, -4285, -4288, - -4290, -4304, -4109, -4303, -4305, -4089, -4309, -4310, - -4313, -4314, 34, 37, 68, 117, -4319, -4320, - -4321, -4322, 45, -4311, -4202, 166, -4327, -4328, - 117, -4220, -3169, -4332, -4296, 110, -4335, -4322, - -4333, -4336, -3037, 110, 206, -4342, -4343, -4344, - -4345, -4346, -4347, -4348, -4349, 2, 53, -4340, - -4353, -870, -4351, 7, -4357, -4358, -4359, -4360, - -897, -4354, -4333, -4364, -4365, -4366, -4367, -4113, - -4230, 11, -4371, -4168, -4368, -4111, -4220, 16, - -4369, -4218, -4229, -4380, -4381, -4382, 6, -4384, - -4385, -4386, 2, 6, -4378, 6, 7, -4392, - -4393, -3921, -4388, 217, -4168, -4395, 15, -4400, - -4401, -4402, -4403, -4404, 70, -4406, 80, 8, - -4409, -4410, -4411, 6, -4397, -4414, -4003, 135, - 8, -4418, 84, -3160, -4421, 6, 217, -4424, - -4425, 6, 8, -4428, -4406, -4422, 15, -4407, - -4429, 110, -4435, 84, 95, -4407, 212, -4440, - 95, -4442, -4443, -4444, -4445, -4446, 45, 8, - -3862, -4438, 192, -4407, -4450, -4452, -3037, -4453, - -4457, -4458, -4322, -4433, -4459, -4307, -4460, -4462, - 135, -4466, -3144, -4422, -2236, 132, -3945, -4469, - 23, -4474, -4475, -4476, -2247, -3430, -4477, -4480, - -4481, -4482, -1264, 217, 132, -4438, -4487, -4488, - 13, -4485, -4430, -4489, 165, -4491, 53, -4496, - -4497, -4425, -3634, 7, -4501, -4421, 132, -3549, - -905, -4503, -4505, 37, -4509, -4032, -4461, -4507, - -4511, -3884, -4512, -4510, 212, -4516, -3921, -4517, - -4428, -4515, -4519, -3254, -4525, 97, 124, -4528, - -4529, -4530, -4531, -4532, -4533, -1264, -4526, -4534, - -4537, -4421, 217, -4538, -4539, -4542, -4421, -4540, - -2078, -4525, 132, -4538, -4547, 84, 70, -4525, - -4548, -4554, -1264, -4552, -2189, -4558, -4559, -3889, - 39, 144, -4560, -4564, -4565, 95, -4562, -4568, - 97, 117, -4571, -4572, -4573, -4574, -4255, -3212, - -3126, -4152, -4576, -4578, -4581, 95, -4521, -4579, - -4583, -4586, 53, 7, 16, -4590, 53, -4147, - -3617, -4594, -4237, -3430, 227, -4708, -2788, -2959, - -4601, -4602, -4603, -4604, -4605, -897, -4599, -4606, - -4127, 203, -4204, 184, -3551, -4614, -4615, -4616, - -4617, 2, 16, -4620, 11, 212, 95, 206, - -4625, -4626, -4627, -4271, 192, -4628, -4631, -4632, - 8, -4629, 8, -4636, -4637, 8, -4633, 95, - 84, -4642, -4643, -4644, 71, -4638, -4261, -4645, - 203, -4261, -4648, 206, -4653, -4654, -4655, -4656, - -4657, -4658, -4616, 117, -2782, -4660, -4661, -4664, - -4665, 84, -4662, -4666, 236, -4670, -4671, 6, - -4271, 194, -4673, -4676, 7, -4678, -4679, -4680, - -933, 131, -4651, 130, 194, -4684, -990, -2777, - -4687, -4671, -4688, 23, -4257, -3632, -1717, -4696, - -4697, -4698, -4617, -4694, 19, -4643, 114, -4699, - -4703, -4700, -4704, -4089, 212, -4707, 39, -4712, - -4713, -956, -4710, -4526, -710, -4422, -4717, 95, - -4538, -2093, -4723, -4724, -4725, 39, -4727, 36, - 53, -4730, -4731, -4732, -527, -4721, -4735, 4, - -4737, 66, -4739, 36, -1193, 217, -4743, 77, - -2083, -4746, -4747, -1717, 57, -4750, 77, -4735, - -4748, 99, -4755, 39, 4, -4758, -4759, 39, - 66, -4762, -4763, -4764, -4765, -1211, -4752, -4768, - 77, -4770, -4771, 66, 130, -4569, -4766, -4774, - -4777, -4778, -4255, -4775, 77, 204, -4781, -4784, - -4785, 77, -4787, -4131, 124, 217, -4791, -4792, - 117, 130, -4789, 130, -4794, 66, -4785, -334, - -4801, -4802, -4803, -4804, -4805, 36, -416, -3086, - -4809, -4810, -4735, -3212, -4811, 66, -3095, -4717, - -4263, 195, -4817, -4820, -4821, -4822, -3023, -3265, - 57, -3010, -4824, -4826, 91, -4830, -3040, -4827, - -4246, -4831, -4833, -4836, -4837, -4838, -4839, -4840, - -4841, -4842, -4843, -4844, -4845, -2893, -4834, -2813, - -4846, -4813, -4848, 195, -2813, -4851, 68, 58, - 77, 77, -4859, 68, -3120, -4862, -3666, -3967, - -4865, -4866, -4867, -3584, -4020, 130, -4317, -4868, - -4871, -4874, -2839, -4872, -4875, -4878, -4879, 39, - -3555, -4882, -4883, -4884, -4885, -4886, 37, 135, - -4880, -4890, -4891, 130, -4888, 114, -3660, -2549, - 192, -4898, 130, -3388, -4896, 195, -4903, 53, - -4905, -2959, 192, 130, -4856, -4906, 53, 77, - -4909, -4914, -4915, 53, -4785, -4912, -4919, -4857, - -4917, 206, 71, 204, -3154, -4926, 71, -3270, - -4929, 117, -4927, -4879, -4930, -4932, -4935, -4936, - -4937, -4938, -4939, -3824, -4922, 105, -3942, 105, - -4945, -3666, -4943, 93, -4949, -4878, -4940, 204, - -4951, -4891, -3435, 212, -4957, 39, -4955, -4067, - -4958, -4962, -4089, -4960, 130, 130, -4967, -2093, - 212, 78, -4971, -2086, -4969, 105, + -9, -10, -11, -12, -13, -14, 5, 14, + -17, -18, -19, -20, -21, 68, -23, 78, + -25, 78, 225, -28, -29, 77, 76, -15, + 121, 14, 77, 29, -14, 234, 79, -40, + -41, 68, 31, -44, -45, 29, 126, 31, + -37, -50, -51, -52, 77, 117, 29, 234, + -57, -58, -59, 78, 29, -62, 225, -55, + 175, -66, 154, -68, -69, 5, -71, 79, + 223, -74, 223, -72, 234, -78, 221, -76, + 14, -38, -79, -84, 225, 248, 207, -88, + -89, -90, -91, -92, -93, -94, 248, 225, + -97, 23, 123, -100, 78, -97, 179, 204, + -105, -106, 248, -108, 166, -110, 142, 166, + 248, -114, 142, 30, 242, -118, -119, -120, + 248, 124, -123, -124, 22, -102, -108, 123, + 117, -128, -131, -132, -133, -134, 14, 22, + 14, 22, 158, -140, 22, 57, -143, -144, + -145, -146, 11, -138, -136, 179, -151, -152, + -153, -154, -155, -156, 6, -149, -159, 23, + -157, -162, -163, 11, -160, -159, 153, -168, + 7, 11, -171, 78, -173, -156, -166, -174, + -177, -178, -179, 77, -166, -25, -30, -182, + -29, -183, 76, -100, 153, -190, -191, -192, + -193, 7, 62, -42, -188, -196, -199, 77, + -42, 222, 14, -204, -205, 11, -201, -45, + 179, -208, -211, -212, -213, -214, -15, -166, + -140, -215, 31, -220, -221, -222, -223, -224, + 7, 23, -227, -228, -229, 7, 91, 45, + -233, -234, 23, -217, 246, -238, -239, -240, + 11, -236, -243, 23, -241, -243, -244, -246, + 45, 91, -251, -252, 77, 187, -255, -256, + 142, 30, -259, -260, -240, -128, 179, -311, + -262, 158, -267, -268, -269, -97, -265, -272, + 23, -270, -275, 91, -273, -230, 222, -280, + -281, -15, -278, 219, -214, -4309, -283, -97, + 158, 45, -97, 156, -291, -294, -295, -296, + -297, -298, -299, -300, -301, -302, -303, 5, + 207, -306, 1, -308, -309, 81, 153, -1488, + -310, -314, -315, 79, -312, 81, -319, 68, + -321, -322, -323, 5, 61, -326, 79, 223, + -329, -330, 90, -309, 153, 90, -335, 81, + -337, 81, 1, -340, -341, -342, 14, -344, + 22, -346, -347, -348, -349, -350, -351, 22, + 26, 26, -353, -332, 1, -358, 28, 219, + -330, -359, 28, -364, -15, -361, 1, -368, + 81, 179, -371, -372, -373, -374, -375, -376, + 5, -378, 5, -380, -381, 68, 234, -38, + -382, 77, 79, 81, -29, 115, -391, -392, + -368, 179, -393, -396, -397, -398, -399, 5, + 207, -402, -403, -404, -405, 4, -37, -408, + -409, -410, 14, 45, -413, 22, -406, -416, + -417, 4, 147, -420, 51, -418, -423, -424, + 4, -421, -399, -425, -429, -430, -431, -417, + -427, 28, -435, 90, 76, -438, 22, -436, + 158, 4, 156, -444, 5, -446, -447, -448, + -449, -450, -451, -452, 5, -410, -442, 31, + -457, -458, 68, 147, 171, -459, -461, -398, + -460, 115, -369, -410, -138, -468, -471, 77, + 153, 77, 31, 77, -472, -478, -479, -480, + -481, -482, -483, 4, -485, 90, -487, -488, + 81, -476, -518, -489, 147, -494, -485, -492, + -497, -498, -499, -500, 5, 31, -503, 90, + -495, -506, -507, -508, 81, 58, -511, 126, + -504, -514, -515, -516, 90, -512, -1313, 222, + -519, -522, -474, -278, -476, 85, 76, -526, + -529, -530, 68, -471, -527, -532, -535, 77, + -533, -538, -539, -199, -536, -540, 158, -522, + -525, 147, -545, -548, 126, -550, -551, -552, + 68, 77, 147, -556, 77, -558, -559, 7, + -554, 147, -563, -564, -565, 81, -567, -568, + 90, 119, -571, 81, -561, -574, 81, 163, + 28, 170, -579, -580, 163, -582, 119, 126, + -585, -586, -587, -588, -589, -590, -591, -592, + 138, 163, -595, -503, -545, 189, -599, 163, + 219, -602, -571, -600, -603, -503, -604, -606, + -609, -610, -611, 79, -607, 100, 251, 123, + -4276, -102, 254, -620, -621, 81, -599, -618, + -625, -626, -627, -628, -629, 145, 245, 249, + -633, -634, 77, -631, -621, -283, 254, -640, + -641, 77, -638, -611, -642, -644, -647, 79, + -649, -650, -651, -652, -653, -69, -645, 132, + -657, -658, 68, 125, -611, -659, 179, -641, + -662, -666, -667, -500, 179, -668, -742, 236, + -671, 79, 236, -676, -677, -658, -674, -488, + 113, 77, 79, -488, -680, -686, -687, -688, + -592, -684, 223, -692, 145, -689, -695, -696, + -692, 233, 175, -690, 236, -700, -703, -647, + -701, 236, -670, -705, -662, -688, -706, 158, + -711, -714, 221, -712, -717, -718, -719, -720, + -721, -722, 149, -724, 140, 194, -727, -728, + 146, 164, -715, 149, 140, -734, -735, -736, + 140, -738, 152, 192, -741, -723, 150, -359, + -743, 140, -747, -748, 149, 196, -751, 194, + -149, -754, -755, -756, -757, 7, 71, 146, + -761, -762, -728, -752, 119, -766, -767, 146, + 119, -770, 91, 72, -773, -774, 71, 123, + -777, 91, 170, -780, 84, -768, 179, 196, + -785, -786, -787, -788, -789, 71, 208, -792, + 170, -782, -792, 254, -795, -798, -799, -800, + 149, -796, -803, 170, 130, 254, -805, -808, + -809, -810, -731, -806, 224, -814, 170, 222, + -817, -780, -815, -818, -1191, -98, 246, -824, + 170, -822, -827, -828, 142, -825, -829, 149, + 164, -834, -835, -836, -837, 142, -839, 141, + 146, -114, 255, 238, -845, -846, -847, -848, + 142, 91, 166, -852, -853, -854, -855, 141, + 166, -777, -842, -860, -861, 146, -858, -862, + -865, -866, 146, -856, 187, -870, -871, 141, + -873, 142, 91, -114, -868, -878, 141, 142, + 239, -882, -850, 237, -883, -886, -887, -888, + -889, -890, 142, 146, 142, 238, 238, -896, + -897, -898, 84, -900, -866, -884, -903, 196, + -905, 161, 199, -908, -909, 164, -674, -912, + -913, -914, -915, 142, -910, -767, -680, 236, + 164, -922, -923, -861, -919, -924, -850, 236, + 196, -930, -931, -932, -933, -934, -935, -879, + 158, 166, -939, -940, 91, -936, -941, -944, + -228, -820, -942, -919, 66, -950, -872, -945, + -948, -952, -953, -956, -240, -711, -951, 219, + -961, -962, -963, 142, -965, -140, -959, -966, + -969, -351, -948, 133, 45, -970, -975, -976, + 164, 219, -979, 166, -981, -982, -112, -977, + -985, -986, 161, 66, -987, -990, 199, -988, + -993, -994, -995, 71, -997, -229, -991, -1000, + 4, 67, -559, 230, 119, -1006, -1007, -1008, + -1000, 66, -230, -1009, -249, -1011, 255, -1016, + -1017, -1018, 4, -1014, -770, -1019, 166, -1024, + -1025, -1026, 163, 149, 28, 190, -799, -1069, + 224, 230, -4266, -1033, -1035, -1038, -1039, -1040, + -1041, -1042, 4, 84, -1045, -358, 230, -1048, + -1049, 84, 33, 33, -1053, -1054, 84, 117, + -1057, -1058, -1059, -1060, -1061, 4, -1063, 28, + 51, -1066, -351, 222, -1067, -1291, -1068, 234, + -1073, 4, -1075, 90, -1063, 219, -1079, -1080, + 84, -1082, 248, -1084, 161, 166, -1087, -1088, + 84, -1090, -969, 100, 234, 115, -979, -936, + 148, -1098, 161, -1179, -1096, -1100, -1103, -1104, + -1105, -1043, -1101, 219, -1107, -1110, -1111, -1112, + -1113, -1061, -1108, 147, -3249, -1115, 219, -1018, + -1118, 45, -1123, -1124, 4, -1120, -1127, -1088, + 190, 147, -1064, 115, 156, -1134, 84, -1132, + -1137, 84, 166, -1135, 4, -1142, -124, -1093, + -1064, 148, -108, -1145, 51, -1150, -1151, -1152, + -1153, -1154, -1155, -1156, -1157, -1158, -1159, 138, + 159, -1162, 150, -1147, 159, -1166, -592, -1163, + 147, -1170, -1171, 150, 189, -1174, 221, -1176, + -1177, 150, -1168, -1294, -1178, -1180, -1183, 85, + -1185, -1186, 159, -593, -1181, 94, -1191, 220, + -1193, -1194, -1195, -1196, -1197, -1198, 150, 94, + -1201, 159, -1188, -1204, -1205, -1206, 10, 122, + 100, -1207, -1145, -1212, -1213, 85, -1208, -1210, + -1132, 150, 100, -1220, -1221, -1222, 150, 188, + -1225, 184, -1145, -1228, -1205, 171, -1226, 156, + 94, -3676, 67, -1234, -327, -1235, 184, -1240, + -1241, -1242, -1243, -1244, -1245, -1246, -1247, -1248, + -1249, 10, 50, -1252, 39, -1237, -1255, -1256, + 20, -1253, -3240, -1168, -1259, -1262, -1263, 13, + 20, 20, -1264, -1260, 94, -1267, 94, 184, + -1273, -1265, 197, 34, -1277, 24, 222, -1280, + -1281, -1282, -1283, -1284, 10, 24, -1287, 85, + -1278, 20, 8, 85, -1293, -1294, 8, 53, + -1288, -1298, 10, 85, -1301, -1302, -1303, 10, + -1305, -1306, 10, 50, -1309, -1284, -1296, -1132, + -1313, 188, -1207, -1316, 171, -1234, -1317, -1320, + -1321, -1322, -1323, -1324, -1325, -1326, -1327, -1328, + -1329, 10, 13, 10, -1265, -1318, 21, 10, + -1337, -1338, -1339, 20, 24, -1333, -1343, 21, + -1341, -1346, 13, -1348, 20, 10, -1351, 159, + 20, 24, 163, -1356, -1357, -1358, -1359, -1159, + -1344, 163, -1160, 190, -1365, -1366, 13, 148, + -1160, -1367, 147, 163, 94, -1374, -1375, -1298, + -1370, 190, -1379, -1380, 13, 148, -1201, -1381, + -1385, -1386, 21, -580, -1383, 201, -1391, -1392, + -1340, 219, 163, -1396, -1397, -1398, -1399, -1400, + -1401, -1402, -1403, -1404, 138, -1159, -1393, -1406, + -1488, 228, -1409, -1412, -1413, -1414, 13, -1410, + -1075, 245, 191, -1420, 81, -1075, -1363, -1424, + -1425, -1426, -1427, -1159, 122, 79, 79, -1428, + -1433, -1434, 13, 90, -1437, -1438, -1439, -1440, + 13, 184, -1443, 94, -1445, -315, -1431, 156, + -3249, 173, -1451, -315, 228, -1452, -1455, -1456, + -1457, -1458, -592, -1453, 230, -647, 148, 79, + 122, -1429, 148, -1430, -1466, 223, -593, -1468, + -1473, -1474, 184, -1476, -326, 122, -1477, -1225, + 67, -1480, -1483, -690, -1481, -1484, -1487, -120, + 100, -1485, 184, 148, -1493, -1494, -308, -2224, + -987, -1496, -1497, -1500, -1501, -1502, -1503, 26, + 43, -306, -1498, 173, -306, -1507, 122, -1512, + -333, 173, -1513, -1516, -1517, 96, 230, -3766, + -1518, 173, -1523, 26, 1, -1526, -1527, -1528, + -1529, -1530, -1531, -1532, -368, 67, 43, -358, + -1533, -1536, -1539, 21, -1537, -1519, -1540, -1542, + 40, -1546, -1547, -1548, -353, -1543, -1549, -1552, + -356, -1550, -1534, -1553, -1535, -1541, -1555, 180, + -356, 180, 250, -1564, -1565, -1566, -1420, -1562, + -1567, 90, 163, -1572, -1573, -1574, -1575, -1576, + 81, -1449, 230, -1580, 21, -1582, 90, 96, + -1585, -1586, 81, 28, -1589, 21, -1578, -1592, + -1589, -1590, 33, -1596, 96, -1593, -1599, -1600, + -309, 173, 228, -1602, -1605, -1606, -1607, -1608, + 90, -1603, -1587, -1003, 109, -1583, 109, -1596, + -1614, -1616, 90, 191, -1621, 81, 219, -1624, + -1625, 21, -792, -1622, -580, -1627, 201, -987, + -1633, -1634, -1635, -1636, -1637, 20, -1639, 21, + 96, -1631, -1643, -1644, -1645, -1263, -1641, 39, + -1264, 245, -1649, -1652, -1653, -1263, -1650, -1656, + 39, -1658, 21, -1647, 180, 40, -1663, -1664, + -1665, -1666, -1667, 0, 43, -1670, 96, -1003, + -1673, -1674, 26, 255, 96, -1675, -1264, 236, + 118, -1682, -1683, -1263, -883, 236, 35, -1685, + -1687, -1690, -1691, -1263, -674, 233, -4276, -680, + 110, -1698, 21, -1700, 21, -1696, -1703, 10, + 40, 13, 39, -1701, -1674, -697, 124, -1712, + -1713, -1714, -1715, -1440, -1709, 50, 184, -1716, + -1199, -1719, -1721, -1724, -1715, -4377, 219, 254, + -1517, -1727, -1729, -1725, 109, 233, -1735, 248, + -1737, -1738, 184, 236, -1223, 75, -1307, -1741, + -1745, -1746, -1747, -1503, -1743, -1748, -1731, 233, + -1622, 26, -1752, 53, -1757, 248, 184, 124, + 50, -1762, -1763, -1764, -1765, -1766, -1767, -1768, + -1769, -1770, -1771, -1332, 55, -1754, -674, -1776, + -1777, -1667, -1774, 109, -2592, -1779, -1781, -1648, + -1780, -1782, -959, -1786, 21, -1787, -1791, -1589, + -674, 66, -1594, -1793, -1795, -1798, -1799, 20, + -1796, -1802, -1639, 75, -1920, 109, 75, -1808, + -1809, -1810, -1811, 18, -1813, -1814, 18, 34, + -1658, -1806, -1817, -1820, -1821, -1822, 20, -1818, + 34, -1009, -1827, -1334, -1825, -1815, -1828, -1830, + -1833, 20, 33, -1816, -2602, -1831, -1837, 52, + -1841, -1799, 237, 75, -1836, -1843, 255, -1848, + 16, 18, -1846, 21, 163, 33, -1855, -1856, + -1857, -1858, 0, 26, 16, -1862, -1863, -1864, + -1865, -1667, 255, -1661, 237, -1674, -1685, 248, + 26, 40, 110, -1876, -1877, 88, 248, 245, + -1881, -1882, -1883, -1884, -1885, -1886, -1887, -1888, + 16, -1890, 17, 27, -1893, 17, 88, -1896, + -1897, 16, -1874, -1900, 17, 18, -1803, -1904, + -1890, -1902, 40, -1905, -1909, -1910, -1911, -1912, + -1913, -1914, 17, 118, -1844, 110, -1917, 159, + -1923, 233, -1921, -1961, -1922, -1924, -1647, 236, + -1929, -1814, 113, 110, -1931, -1890, 233, 171, + -1937, -1938, -1757, -1934, 113, -1942, -1943, 171, + 110, -1946, -1913, -4381, -1944, 72, -1949, -1952, + 171, -1954, -1955, -1956, -1957, -1958, -1959, -1960, + 8, 171, -1950, 233, -1340, -1949, -1329, -1965, + -1967, -1970, -1971, 8, 18, -1332, 167, -1968, + 105, -1978, -1811, 72, -1979, -1982, -1811, -1980, + -1974, -1983, -1985, -1988, -1989, -1990, 18, 163, + 18, -1994, -1995, 20, -1976, -1998, -1999, 21, + 105, -2002, -2003, 24, 34, -1394, -2000, 144, + -2009, -2010, -1848, -2007, -2011, -2057, 82, -2007, + -2017, 104, -2019, -2020, -2021, 8, -2023, 8, + 44, -1992, -2015, 36, -2029, -2030, -2031, -2032, + 8, 36, 34, -2036, -2037, 24, -2026, -2040, + 34, -1979, -2041, -2044, -2045, -2046, 34, -2042, + -2049, 186, 240, -2052, -2053, -2054, -2055, -2056, + -2057, 88, -2059, 104, -2061, -2062, -2063, 8, + 18, -2066, -2063, 169, 36, -2057, 254, -2072, + -2073, -2074, -2075, -2076, -2077, 16, 171, -2080, + 104, -2082, -2057, 72, -2083, -2086, 104, -2088, + 88, -2090, 17, -2084, -2086, -2091, 89, 17, + -2097, 18, 18, 86, -2101, -2102, -2103, -1265, + -2099, -2106, 171, -2108, 171, -1309, -3769, -2104, + 255, -2114, -2115, 39, 42, 80, -2119, -2120, + 8, 41, -2123, -2124, -2125, -2126, 8, 39, + -1293, -4107, 65, -2130, -2116, -2131, -2133, -2136, + -1285, 99, 86, -2140, -2115, -2138, 169, 42, + 95, -1256, -2144, 24, -2146, -2150, -2151, -1914, + 80, -2152, -2155, 171, -2157, -2158, -2159, -2160, + -2161, -2120, 255, -2162, -1914, 231, -2167, -2168, + -2120, -2165, 42, -1252, -2169, -1675, -2175, -1914, + 231, -2094, -4102, -2177, 255, -2182, -2183, 17, + 183, -2186, -2187, 17, 99, -2190, 18, 99, + -2193, 8, 139, -2121, -2194, -2196, 18, -2127, + -2197, 40, -2203, -2204, -2126, -2200, -2205, -2208, + -2209, -2210, 8, -2068, -2206, -2214, 36, 41, + -2063, -2212, -2219, -2220, -1294, 139, 95, -2224, + 2, 95, -2136, -4251, 82, -2228, 37, -2229, + -2231, -2234, -2235, -2236, -2237, -2238, 140, -2240, + -2241, -2242, -2243, -748, 139, 255, -2245, -2248, + -814, 82, -751, -2015, -2253, -824, 254, 240, + -751, -2254, 144, -2260, -780, -2258, -1741, -814, + 139, -2264, 140, -2268, -2269, -2270, 84, -2272, + -2273, -2274, 104, -2276, 36, 186, -2279, 170, + -2265, -2282, -2283, -2284, 84, 104, -2287, -2288, + 104, 194, -2291, -2292, 186, 240, -2289, -2280, + 255, -2298, -2299, 161, -2296, -732, -2300, 194, + -2305, -2306, -2307, -2308, -2283, 97, -2302, -2310, + 164, -2314, 161, -2316, -2317, 84, 88, -2320, + 88, 164, -2323, -2320, -2311, 164, 224, -2328, + 104, -2330, 186, -2289, 222, 241, -2335, -2336, + 161, 227, -2339, -909, -2332, 241, -2337, -2340, + 246, -2346, -2347, -2348, -2349, 16, 131, -2352, + 16, 200, -2355, 16, -2353, -2358, -2359, -2025, + -2309, 115, -2361, -2328, -1132, -2364, -2367, 84, + -2369, -2370, -2371, 15, -1043, -1278, -2375, -2376, + -2377, 171, -1081, -1919, -2373, -2360, -2380, 200, + -2385, -898, -2332, -2388, -2389, -2390, -2391, 15, + -2393, 124, -1088, 156, 153, -1888, -2396, 84, + -2401, -2402, -2403, -2404, 161, -2406, -1888, -2398, + -2407, -2408, -2411, -2088, 147, 246, -2415, 161, + 161, -2381, -2413, -2420, -2421, -2422, -2423, -2424, + 84, 97, -1877, 93, -2427, -2428, -2431, -2432, + -2433, -1088, 121, -1891, -2434, -2438, -2439, 161, + -2398, -2442, 27, -2440, -2445, -1088, -2443, 147, + -976, 246, 224, 171, -2450, -2454, 161, 170, + -2457, 245, -2459, 248, 227, -2462, -2463, -2464, + -2336, 214, -30, -2337, -2466, -2468, -2471, -909, + 246, -2472, -2415, -2473, -2477, -2478, -2479, -2480, + -2481, -2482, -2483, 16, 18, -2486, -2097, 246, + -2487, 93, -2491, -2492, -1813, -2417, 121, 153, + -2379, -2493, 93, -2498, -2396, 33, 34, -2504, + 33, -2500, 170, -2508, 170, 124, -2511, -2512, + -2513, -2514, -2515, 149, 186, -2518, -2519, 163, + 76, -2522, -1051, -2520, -2396, -2520, -2527, -2528, + 163, -2530, -1343, -2525, 33, -2534, -1343, -2531, + -1999, -2535, 170, -2537, -2541, 149, -2543, -792, + -2539, 246, -2545, -2548, -2549, 248, -2551, 163, + -2553, -1596, -2546, -2556, -1592, 48, -2554, -2558, + -1535, -2581, 59, -2350, -1050, -2353, -2567, -2568, + -2569, -2570, -2571, -2572, -2573, 0, -2565, -2576, + 26, 121, -3250, -2577, -2579, -2598, -2580, -1131, + -2585, -2586, -2587, -2588, -2589, -2590, 15, -2583, + 37, -1131, -4385, -2592, 234, -2596, 171, -2597, + -2601, -1548, 97, -1131, 101, -2602, -2604, -2606, + -1587, -2577, -1131, -2612, -353, -2610, -2604, -1062, + -2605, -2614, 101, 33, -2621, 33, 76, -2624, + 40, -2622, -2627, -2628, 15, 0, -2625, -2632, + -2633, -2391, -2630, -2634, -2899, -2635, 151, -2640, + 248, -2642, -2643, -2644, -2645, 0, 15, -2648, + -2649, 15, -2638, -2650, -2653, -1858, 151, -2654, + -2577, 27, -2659, 0, -1168, 33, 37, -2660, + -2663, -2666, -2667, -1848, -2604, -1814, -2668, 151, + -2673, -2674, 0, -1990, -2671, 27, -1992, -2638, + -1168, -2682, -2683, -2684, -2685, -2686, -2687, -2688, + -2689, 218, 226, -2692, 157, -2680, -2695, 247, + -2697, 157, 226, -2700, -2701, 160, -2693, 165, + -2705, -2706, -2707, -2708, 160, 112, -2711, 165, + -2702, -2714, -2715, -2716, 160, 176, 176, -2716, + -2712, 112, -2723, 165, -2725, -2726, -2727, -2728, + 218, 160, -2731, -2732, 218, 176, -2735, 160, + 101, -2738, 168, -2740, -2733, 93, 127, -2744, + 112, -2741, -2747, -2748, -2749, 155, 172, -2752, + 168, 151, 112, -2749, -2753, -2756, -2759, -2760, + -2761, -2762, -2763, -2764, -2765, 70, 112, -2768, + 155, 101, -2498, -2772, -2773, 155, -2520, -2776, + 168, 112, -2779, -2780, -2781, 70, 205, 195, + -2785, 155, -2787, -2788, -2789, 152, 192, -2792, + -2793, -2794, 165, -2774, -2766, -2795, 200, -2800, + 112, 93, -2801, -2804, -2805, -2806, -2807, -2808, + -2809, 141, 239, 238, -2802, -2812, 112, -2816, + 111, 239, 242, -2820, -2821, -2822, 107, 127, + -2825, 112, 232, -2828, 111, -2830, -2831, -2832, + -2833, 70, 114, -2836, 107, 101, -2836, -2837, + 151, -2780, -2662, -2840, -2843, 127, -2847, -2848, + -2849, -2850, -2851, -2852, -2853, -2854, 64, 174, + -2857, 157, 172, -2689, 249, 245, -2863, -2864, + -2865, 218, 229, -2695, -2861, -2870, 157, 249, + -2873, -2874, 247, 174, -2877, -2878, 162, 235, + -2855, -2871, -55, -2884, -2885, -2886, -2887, 64, + 103, 3, -2618, -2890, 162, 182, -2895, -2896, + -2897, 218, 160, -3022, 121, 249, 3, 101, + -2905, -2906, -2907, -2908, -2909, 64, 3, -2910, + 93, -2914, 74, 202, -2917, 64, -2919, 74, + -2912, -2785, -2427, -2750, -2625, -2926, 155, -2924, + -2929, -2930, -2931, 64, 172, 172, -2935, -2936, + -2937, 103, 193, 212, 193, -2927, -2943, -2944, + -2945, -2946, -2947, -2948, 3, -2941, -2951, -2952, + -2953, 3, 32, 32, 103, -2958, 74, -2960, + -2954, 249, -2837, -2671, -2965, -2966, -2967, -2968, + 103, 193, -2963, 178, -2973, -2974, -2975, -2976, + -2977, 9, 181, -2980, 87, -418, -2983, -2984, + -2985, 9, 114, -2988, 74, -2981, -2991, -2992, + -2977, -2989, 32, -2980, -2993, -2998, 87, 32, + -3001, 181, 93, -3004, -2914, 151, 151, -3008, + 120, 73, -3011, -2998, -3009, 178, -3015, -2971, + -3012, -3018, -3019, 181, 193, -3007, -3125, -3016, + -3023, -3024, -3027, -3028, -3029, -3030, -3031, 74, + -4230, -3025, -3033, -3036, -2977, -3034, -3037, -3040, + -3041, 9, 114, -3044, -3045, 107, 111, 93, + 97, -2755, 2, 93, -3051, -3054, -2914, 54, + -3057, -2926, -2912, 73, -3061, 127, -3059, -2740, + -3050, -3062, -3065, -2716, -3066, -3070, -3071, 176, + 131, -3074, 239, -3072, -3077, -3078, -3079, -3080, + -3081, -3082, 152, -3084, -3085, -3086, -3087, -3088, + -839, 206, 35, -3092, 71, -3090, -3095, 141, + 107, -3098, -3099, -3100, 146, 97, -2741, -3104, + 71, -3102, 35, -840, -3106, -774, -3101, 192, + -3113, -840, 19, -3114, -3064, -3115, -3117, -3120, + -3121, -3122, -3123, -2765, -3118, -4244, -3106, -3101, + -3129, 71, -3131, 71, -3127, -3134, 70, -3132, + -3137, -738, -3135, 195, -739, 19, -3141, -3144, + -3145, -3146, -3147, -3148, 70, -3150, -3151, 141, + 71, -3154, 146, -3142, -3157, 7, -3159, 141, + 71, -3162, -3163, -3164, -3165, 7, -3167, -3168, + 7, 108, -995, -3155, -3171, 71, -3160, -3005, + 108, -3178, -3179, -871, -2736, 71, -3183, 146, + -3102, -3186, -3187, 7, -3189, -3190, -634, -2741, + -3193, -3194, 108, -3005, -2756, -3198, -774, 93, + 73, -3148, -3200, -3204, -3205, -3206, -3207, -995, + -3202, -3208, -3209, 19, -3213, 108, -3211, -788, + -3238, 73, -3217, -3220, 205, -3218, -3223, -3224, + -3225, -3226, -3227, -3228, -3229, 141, -114, -3221, + 239, -3234, -3235, -878, -3231, -3236, -3466, -3237, + 206, -3242, -3243, 239, 130, -990, 35, -3248, + -3230, 37, 167, -3250, -843, -3251, 130, 238, + -3249, 35, 97, -3260, -3261, -3262, -3263, 141, + -3265, -3266, -3267, 7, -873, -3258, 30, 38, + -3273, 142, 146, -3276, -3263, -3269, 142, -3280, + -3281, -878, -3257, 19, 142, -3286, -3287, -3288, + 141, -257, -3283, 38, -3293, -879, -3290, -3256, + -3294, 19, -3299, -878, 12, -3302, 7, -3304, + -3157, -3300, 38, -3308, 107, 111, -3311, -3312, + 25, -3314, -3159, -3305, 97, -3318, -3319, -3320, + -3321, 141, 151, -3273, 151, -3324, -3327, -3328, + 141, -3330, 38, 204, -3333, 111, 47, -3235, + -3295, -3325, 12, -3340, -3341, 141, 60, -3338, + -3345, -3346, -3347, 108, -3349, -192, -3336, -3343, + -3324, 77, -3217, -52, -3354, 108, 108, 111, + -3361, -3362, -3363, -3364, -3365, -3366, -3367, -3368, + 6, 11, -3371, 7, -3356, -3157, -3372, 30, + -3157, -3374, 77, -3380, 6, -3382, -3383, -3384, + 6, -3377, -205, 12, 171, 77, 151, 6, + -3390, -3378, 12, -3396, 78, 142, -3399, -3400, + -3401, -3402, -3403, 6, -3405, 11, 25, 25, + -3409, -3410, -3411, -3412, -3380, -3394, -3413, -3414, + -3417, 25, 151, -3420, 6, -3418, -3423, -3375, + 101, 73, -3425, -3428, 111, -3430, -3431, -3432, + -3433, -3434, -3435, -3436, -3437, -3438, -3439, 78, + 106, -66, -3426, -3444, 154, 106, -3447, -3448, + 225, 175, -3440, -3442, -3453, -3454, -3455, -3456, + 78, -3451, 87, -3460, -3461, 83, -3457, -3464, + 87, -3460, -4220, 200, 222, -3448, -3468, -3472, + -3473, 83, -3475, -3476, 87, 116, -3479, 106, + 197, -3482, -3483, -3484, -3485, -3486, 77, 29, + -3489, -3490, -3491, -3492, -3493, 6, -3480, -3496, + 25, 131, -3499, -3500, 78, -3250, -3501, -171, + 224, -3527, -3504, -2326, -62, 197, -60, -2332, + -3511, -3514, -3515, -52, -3512, 47, -3519, 106, + -3516, -3522, -3523, -3524, -3384, 246, -3525, -3772, + 131, -3051, -3531, -3407, -3529, -2472, -4385, -2520, + -3535, -3538, -3539, 78, -3519, -3536, 11, -2425, + -3545, -3546, -3547, 77, -3357, -3543, -3549, -3531, + -3534, -3550, 213, -3556, 116, 130, -3559, -3560, + -3561, -3562, 145, -3564, 221, 189, 189, -3568, + -3569, -3570, 145, -3572, -3573, 145, 175, -3576, + 154, -3557, -72, 128, -3448, -3579, -3574, -3581, + 177, -3586, -3587, -3588, -3589, -3590, -3591, -3573, + -1363, 126, -3595, 185, -3597, -3598, -3599, 145, + 77, 145, -3592, -52, 128, -3606, 185, -3608, + -3609, -3610, 77, 143, -3611, -3614, -3615, -45, + -3612, 228, -1409, -3620, 175, 106, -3623, 175, + -46, 220, 203, -3628, -3629, -3486, -3625, 185, + -3633, -3634, 108, -3630, -3637, -3638, -52, 143, + -3639, -3357, -3640, -3642, -3600, -3643, 185, -3645, + -3649, -3650, -3651, -3652, -3573, 100, 98, -3654, + -3576, 220, -3621, -3657, -3661, -3575, -3552, -3659, + 130, -3666, -3621, 100, 98, -3668, -3595, -3667, + 116, -3674, -3675, -641, 100, 185, -3679, -3213, + 220, -3677, -3680, -3682, -3677, -3683, -3685, -3688, + -3689, -3690, -3691, -3692, -3693, -3694, -3695, -3576, + 130, -3696, -3621, 100, -3699, -3621, -3700, 206, + -3705, 177, -3707, 181, 98, -3710, -3711, -3712, + 9, 181, -3715, 87, -3708, -3718, -3719, -3473, + -3716, 177, -3723, 106, -3720, -3726, -3715, 143, + 106, -3727, -3731, 87, -3729, -3734, -3735, -3736, + 154, -3732, 177, -3740, -3741, 87, 128, -3744, + -3745, 177, -3013, -3742, 181, -3750, -3751, -3752, + 108, 185, -3755, -3756, 114, 98, -3759, 185, + -3757, -3762, -3712, -3760, 114, 185, 98, -3768, + -3706, 167, -3769, -1519, 2, -3757, -3773, -3776, + -3756, 143, -3777, -3778, -3781, -3782, -3783, 154, + 181, -3779, -3787, -3788, -3789, -3790, 154, 181, + -3793, 178, -3785, -3796, -3797, 177, 188, -4002, + 245, 190, -3791, -3801, 193, -3806, 145, -3808, + 221, 223, -3811, -3599, 151, -3812, -3815, 185, + -3817, -3576, -3813, 198, -3584, -1370, -3821, -3824, + -3825, -3826, -3827, -3828, -3829, -171, 245, -3832, + 83, 225, -3830, -3836, -3837, -3838, -3839, 83, + -3741, 188, -3625, -2032, -3842, -1191, -3847, -3848, + 9, 83, -3849, -3845, 167, -3851, -3853, -3854, + -3857, -2810, 173, 197, -3861, -2954, 122, -3864, + -3865, 9, 87, -3868, -3041, -3862, -3611, -3872, + 32, -3870, -3875, -3876, -3877, -3878, -3879, -3396, + 173, -3880, -3883, -3884, -3380, -3881, -1428, -3396, + -3640, 228, -3611, -3892, -3893, 83, -3890, -3896, + -3897, 25, -3894, -3330, -3898, 167, 197, 78, + 83, -3906, -3907, -3908, -3909, -3910, -3911, 9, + 167, 116, -3912, -3476, 128, -3918, -3919, -3920, + 83, -3902, -3866, 122, -3852, 122, -3925, -3924, + -3579, -3639, -3896, -3927, -3929, -3932, -3933, -3936, + -3937, -3938, -3865, -3934, -3939, -3942, 116, -3944, + -3945, -3896, -3931, -3940, 35, 201, 19, -3950, + -3899, 240, -3951, -3757, 159, -3955, -3957, -3417, + 151, -3480, -2828, -3961, -3604, -3966, -3967, -3968, + -2977, -3611, -3969, -3970, -3973, -3974, -3041, 143, + -3975, -3976, -2997, -3956, 167, 143, -3981, -3984, + -3985, -3986, 70, -3988, 107, -3990, -3045, -3982, + -3176, -3991, -3995, -3996, -3997, -3998, 107, -3993, + -4001, -3868, -4005, -3999, -3509, 2, -4004, -1207, + -3250, -4007, -1278, -4012, -3045, -4010, -4015, 114, + -4013, -3309, 128, 114, -4021, -4022, -3308, -4018, + -3480, -4019, -4024, -1128, -4029, 114, -4027, -1128, + -4033, -4034, -3866, -1207, -4035, -4036, 35, -4040, + -4041, -4042, -4043, -4044, -4045, -4046, -4047, -4048, + 245, -4050, -4051, -4052, -4053, 69, 227, -2320, + -4038, -1363, -4054, -3812, 232, -4059, -4063, -4064, + -4065, -4066, -4067, 69, 241, -4070, 249, -2638, + -4073, 251, -4071, -4076, -4077, -4078, -4079, 69, + -4081, 73, -4083, 73, -4085, -4086, -4079, -1168, + 171, 88, -4087, -4092, -4093, -4094, -4095, -4096, + -4097, -4098, -4099, 69, 44, -4102, 41, -4090, + -2086, -4103, -4107, 104, -4105, -4110, -2057, -3925, + -4111, -4114, -4115, -4116, 69, -4112, -2288, -4117, + 147, -2318, -2364, 241, 210, -4126, -4127, -4128, + -4099, -1145, -1168, -4130, -4102, -4131, -4133, -4136, + -4137, -4138, -4139, -4140, -4067, 234, -4141, -4142, + -4145, -4081, -4143, -4146, -2594, 36, 2, -3051, + 167, -4154, -4155, 69, 44, -3048, -4152, 240, + -4161, -4156, 44, 46, -4165, -4166, 93, 251, + -3757, -4162, 36, -4172, 246, -4170, -2472, -4173, + -4177, -4067, -2059, -4178, -4068, -4179, 167, -4184, + 140, -4186, -4187, -3525, -4182, -4190, -4191, -4192, + 224, -4188, -4193, -4196, 240, 167, -2293, 246, + -3055, -4199, 46, -2285, 44, -4206, 194, -4208, + -4209, 194, -4204, -4168, 97, -4214, -4215, -4216, + -4217, -3217, 36, -3059, -4218, 19, -4223, -4224, + -4225, -4226, 12, -4228, -4229, 12, 48, -3258, + -2059, -4232, -4235, 19, 2, -4238, -4239, -4240, + -3283, 36, -4241, -3257, -2210, -4244, -4231, 24, + -1960, -4248, -4251, 35, 48, -4249, -4255, -3048, + 48, 167, -4259, -4260, -4261, -4262, 12, 97, + -4163, -4263, 167, -4268, -4156, -4266, -4269, -4247, + -4270, -4272, -4275, -3048, 49, -4276, -4271, -2116, + -2121, -4282, -4283, -4284, -4285, 73, -3338, -4280, + 49, 245, 41, -4292, 245, -3388, 171, 188, + -4297, -4298, -4299, -4300, -4229, -4294, -4301, -4304, + 49, -2220, -4307, -3258, -4305, 188, 37, 171, + -4311, -3388, -1285, 49, -4317, -4318, -4319, 12, + -4321, -4322, -4323, 12, 46, -4326, 41, -2224, + -4329, -4330, 171, -1294, -4331, -4334, 246, -4336, + -2450, -4332, 167, -4337, -4341, -4342, -3059, 48, + -4324, 44, -4345, -4348, -4349, -4350, -4351, -4352, + 8, -4354, -4355, -1183, -4346, 37, -1164, 2, + 159, 24, -4363, -4364, 220, -4359, -4367, -4368, + -4369, -4370, 150, -4365, -4373, -4374, -4375, -4376, + 85, 98, -4168, 98, -4371, 37, -4383, 100, + -4379, 8, }; static long _vq_ptr1_lsp32_0[] = { - -3569, -672, -191, -113, -70, -47, -11, -9, - 255, -10, 178, -33, -14, 211, -31, -28, - -22, -21, -20, 242, 242, 151, -26, -20, - 242, 28, -20, 28, -30, 255, 255, -10, - -25, -36, 178, 151, -44, -41, -40, 243, - 243, -40, 243, 28, -46, 178, 178, -62, - -53, -50, -8, 255, -25, -57, -56, 255, - 255, -59, 151, -56, 255, -32, 245, -44, - -46, 178, -61, -1060, 66, 25, -104, -85, - -83, -78, 242, -77, 109, 109, -80, 115, - -82, 170, 170, -10, 28, -90, -88, 178, - 178, 236, -103, -94, 178, 201, -100, -21, - -98, 109, 109, 28, -102, 178, 178, 170, - -109, 146, 178, 251, 162, 178, -112, -84, - 170, -133, -131, -126, -125, -124, -122, -121, - 242, 242, 242, 152, 154, 242, -128, 29, - -121, 29, -127, 237, 29, -173, -157, -155, - -140, -139, 226, 226, -148, -145, -121, -132, - 29, -121, 242, -132, -152, -124, 154, -143, - -124, 154, -130, -125, -43, -170, -159, -28, - -164, -56, 255, -27, -56, 22, 22, -879, - -165, 28, -125, 242, -99, -174, -186, -183, - -180, -179, 174, 174, -179, 174, 18, -185, - -172, 174, -185, -179, 174, -168, -163, -462, - -337, -243, -235, -204, -199, -198, 102, -203, - -202, 158, 158, 179, -219, -213, -210, -209, - 175, 175, -209, 175, -156, -217, -216, -111, - 175, 158, 175, -230, -224, -202, 158, 25, - -227, 158, 175, -216, 175, 25, -228, -218, - -223, -215, -68, -237, 179, -238, -240, 181, - -242, 181, 181, -286, -267, -265, -262, -255, - -252, -251, 235, 235, -251, 235, 29, -252, - -251, 235, 29, -3094, -254, 29, -264, -254, - 175, 158, -260, -279, -276, -273, -272, 175, - 175, -272, -261, -266, -209, -143, -275, -284, - 218, -616, 165, 75, -285, 224, -288, 75, - -322, -301, -298, -295, -294, 246, 246, -294, - 246, -283, -264, -282, 223, -317, -309, -305, - 229, -307, 175, 113, -300, -315, -313, 118, - 246, 118, 29, -294, -129, -321, -603, -258, - -258, 235, -214, -331, -328, -327, -319, 246, - -327, 150, 150, -333, -329, 246, -3094, 150, - -329, -397, -376, -369, -366, -352, -240, -347, - -346, 181, 181, -346, -332, -259, -326, -316, - -355, 158, -308, -361, -360, -327, 246, -278, - 160, -327, -360, 160, -234, 29, -368, 164, - 164, -371, -365, -373, 245, -242, 181, 85, - -8, -380, -372, 92, -386, -327, -384, 255, - 255, 173, -394, -391, -384, 255, 173, -384, - 29, -365, -333, -392, -365, -403, -402, 236, - -401, 164, 158, -426, -424, -415, -414, -177, - -179, 174, -395, -4010, 29, -365, 174, -417, - 237, -188, -401, -179, 174, -390, -410, -422, - -425, 160, -437, -435, -432, -431, -385, 181, - -431, -375, 173, 237, 164, 237, -452, -445, - -442, 160, -444, 181, 181, -449, -444, -390, - 25, -444, -223, 25, -455, 181, 143, -459, - -431, 181, -451, -431, 25, -451, -549, -518, - -481, 122, -470, -469, 94, 94, -478, -475, - -474, -458, 175, -474, -450, -447, -480, 177, - 177, -507, -496, -490, -488, -487, 18, 175, - 240, 175, -488, -487, 18, -486, -4091, -477, - -500, -228, 18, -495, 245, -504, 175, 240, - -487, 173, -434, -517, -514, -511, 94, -513, - 240, 240, -487, -434, -506, 240, -541, -535, - -530, -528, -526, -209, 173, -434, 222, 66, - -489, -525, -534, -513, 240, -516, 240, -539, - 104, -499, 18, -272, -538, -547, 236, -544, - -534, 240, 99, 122, 225, -643, -561, 243, - -560, -557, -556, -540, 94, -556, 22, -165, - 245, -626, -586, -580, -567, 118, 94, -577, - -572, -560, 245, 22, -575, 229, -165, 229, - 245, -579, 123, 123, -584, -583, 243, 243, - -585, 234, -624, -621, -601, -384, -594, -593, - -559, 229, -597, 246, 118, -599, -559, 246, - -592, -609, -606, -4091, -555, 18, -333, 246, - 18, -615, -333, -56, 255, -605, 92, -619, - -3094, -613, -617, 255, -604, -389, -537, -433, - 255, 236, -636, -635, -632, -534, -364, 144, - -534, 240, -631, 245, -640, 156, -634, 19, - -642, 18, 240, -660, -650, -649, -648, 243, - 243, 122, -657, -655, -4010, 19, 19, 243, - 234, -656, 234, -653, -670, -669, -64, -46, - 178, -641, -536, 19, -653, 178, -545, -641, - -1801, -1614, -1354, -934, -844, -801, -734, -702, - -686, -211, -411, -665, -605, -683, -692, -691, - -690, 102, 102, 235, -700, -697, -218, 175, - 19, -218, 175, -639, 175, 235, -717, -711, - -708, -67, -685, 19, -209, -653, 19, -714, - 175, 224, -716, -653, 175, -720, 102, 244, - -732, -729, -726, -725, 244, 244, -725, 244, - -709, -731, 254, 254, 102, 12, -769, -756, - -748, -741, -740, 81, 222, -745, -740, 222, - -668, -740, 222, -728, -751, 145, 19, -755, - -754, -653, 244, 145, -762, -513, -2532, -668, - -747, -707, -766, -765, 240, 240, -765, -707, - -761, -781, -776, -774, 224, 249, 249, -710, - -778, -768, -285, 224, -760, -794, -792, -789, - -788, -787, -706, 249, 249, -272, -638, 7, - -793, 235, -513, -209, -695, 7, -791, -798, - -790, -838, -808, -807, 81, -806, 161, 145, - -833, -821, -814, -813, 145, 145, -818, 145, - 81, 244, -813, 145, 144, -825, -824, 7, - 244, -829, -824, -800, 18, -824, 161, 244, - 18, -835, 102, -837, -828, 244, -841, -840, - 254, -731, 254, -828, -892, -888, -864, -856, - -852, -851, 183, 183, 81, -851, 183, -836, - -861, -813, 177, 145, -538, 177, 81, -855, - -882, -871, -868, -828, -198, 102, 16, -875, - -218, -867, -863, -694, -2032, 53, -538, 104, - -874, 16, -886, -885, 177, 177, 177, 81, - -890, 55, 183, 177, -907, -901, -813, -695, - -271, 16, -881, 53, -880, 175, -765, -545, - -827, 23, 23, -917, -910, 122, -914, -913, - 144, 177, -913, 177, 144, -921, -517, 240, - -912, -923, -905, -927, -926, 19, 177, -931, - -926, 177, 23, -926, 177, 23, -1302, -1101, - -951, -941, -940, 218, 236, -944, -943, 236, - -948, -787, 249, -930, -787, 249, -710, -965, - -957, 100, -253, 235, 19, -959, 216, -754, - -962, -710, -963, 224, -950, -968, 249, 254, - -1037, -1016, -1011, -978, -250, -963, 224, 250, - 13, 13, -1000, -993, -987, -985, -984, 250, - 250, -984, -976, -985, -984, 250, 13, 131, - -976, -945, -787, 249, -986, 131, 12, 12, - -1008, -1005, 114, -998, -996, -984, 250, -964, - -1010, 249, 249, -1015, -1014, 254, 254, 254, - -1027, -1021, -963, 224, -947, -1025, -1010, -922, - 23, -1010, 144, -1030, 224, -1023, -1034, -991, - 28, -1032, -984, 250, -1033, -1088, -1046, -1041, - 28, -1013, -1044, -1040, 249, 28, -1072, -1063, - -1056, -1053, -1052, 248, 248, -1052, 248, -1040, - -1042, -1044, 249, -1043, -1196, -1059, -1036, -1067, - -1054, 248, -1029, -1069, 247, -1044, -1045, 28, - -1082, -1079, -1077, 248, 254, -1078, 254, -1078, - -1070, 28, -1085, 248, 254, -1078, -1080, -27, - -1095, -1093, 244, -1092, 254, 244, 239, -1096, - -1035, -1013, -1087, -1086, -1066, -1158, -1115, -1108, - 236, -1107, 225, 225, -1113, -1111, -904, -1112, - 230, -1013, 129, -1147, -1126, -949, -1057, -1044, - 249, -1114, -2516, 92, 144, 144, -1142, -1137, - -949, -1057, -1044, 249, -1124, -3617, 144, 144, - -1134, -1139, 230, -1141, 248, 248, -1144, 161, - -1141, 248, 144, -1155, -1152, -1151, 185, 185, - -1151, 185, -1134, -1157, 161, 161, -1232, -1205, - -1200, -1169, -1165, 73, 191, -842, 254, 248, - -1136, -1195, -1173, 127, 73, -1097, -1188, -1182, - -1180, -1179, 247, 247, 247, 239, -1180, -1179, - 247, -1132, -1133, 129, 239, -1191, 230, 230, - 220, 129, -1187, -1013, -1588, -538, -1197, 99, - -1204, -1203, 185, 185, 127, -1225, -1221, -1217, - -1215, -1213, -1078, 99, -1199, -1078, -1198, 244, - -1194, -1219, 248, -842, -1185, -1223, -1121, 244, - 239, -1229, -1228, 233, 233, -1078, 129, -1193, - -1246, -1245, -1236, -1231, -1141, -1152, -1151, -1222, - -1110, -1555, 28, -1242, -1032, 225, -1252, -1249, - -1242, -806, 28, -1250, -1278, -1259, -1218, -1257, - -1248, 244, -1244, -1273, -1268, -1265, -1218, 23, - 23, -1218, 248, -1263, -1257, -1218, 144, -916, - -916, -1275, -1271, -1266, -916, 13, -1284, -1282, - 244, 248, -1218, -976, -1295, -1292, -1265, 244, - -992, -4091, -1276, -1271, -824, -1274, -1267, -1144, - -1141, -1258, 85, 212, 85, -1298, -1319, -1304, - 236, -1316, -1313, -1311, -1289, 165, 165, 235, - -1309, -793, 165, -1312, -939, 218, -1301, -1331, - 236, -1329, -1326, -1308, -1318, -1297, -517, -1240, - -630, -1330, 122, -1338, -1336, -513, 173, 173, - -517, 173, -1352, -1350, -766, -1345, -513, 240, - -1335, 240, 222, -1192, -1334, -1335, -1351, 145, - -824, -1348, -1463, -1387, -1377, 183, -1365, -1363, - -1362, -1353, 102, 215, 25, -1374, -1371, -1369, - 127, -1370, 127, -1370, 127, -1364, -1362, 127, - 173, -1380, 139, 189, -1385, -1383, 24, 127, - 139, 127, 24, -1420, -1396, 139, -1395, -1393, - -1382, 215, 102, 179, -1417, -1414, -1405, -1403, - -1402, 139, 139, 221, 139, -1410, -1409, 139, - 171, 171, -1412, 171, -1413, 171, -1416, 179, - 179, -1413, 171, 24, -1436, -1427, -1426, -1401, - 139, 150, 254, -1435, -1432, -1431, -1392, 139, - -1431, -1376, 134, 254, -1453, -1449, -1446, -1443, - -842, 254, 173, -842, 168, -1433, -842, 254, - -1373, 102, -1452, 127, 127, -1456, 127, 111, - -1255, -1257, 244, -1361, -1186, 167, 167, -1571, - -1534, -1528, -1473, -1400, 139, 236, 253, -1461, - -1337, -1506, -1490, -1485, -1482, -967, -1164, 191, - -1471, 30, -1426, 254, -1481, -1487, 30, -1401, - 139, -1481, -1496, -1495, -1494, 30, 254, 111, - -1504, -1501, -1500, 239, 239, -1500, 239, -1481, - -1092, -1489, -1511, 254, -1510, 67, 67, -1522, - -1515, 254, 112, -1012, -1014, 254, -1505, -2417, - 27, 27, -1526, -1014, -1520, -1518, 250, -1484, - -1531, 205, 168, -1533, 168, 225, -1567, -1559, - 233, -1544, -1542, -1452, 127, -1530, 111, 136, - -1557, -1552, -1550, -1549, -1541, 239, 238, 168, - -1550, 238, 239, -2417, 134, -1452, -1551, 127, - -1564, -1563, 30, 185, -1563, 168, -1486, -1568, - 225, -1549, 168, -1600, -1579, -1574, -1578, -1094, - 239, 168, 244, -1580, -1597, -1583, 221, -1590, - -1526, -1014, 30, -1586, -2417, -1577, -1594, -1014, - -1570, 30, -1014, 168, -1577, -1447, 30, 30, - -1612, -1609, -1608, -1605, 168, -1607, 233, 233, - 239, -1578, -1598, -1596, -1092, -1592, -1709, -1647, - -1620, -940, -1566, -1558, 236, -1644, -1628, -1625, - 221, -1627, -1548, 235, -1637, -1635, -691, -253, - -1527, -1480, 150, -989, -1634, -1641, -1640, 250, - 250, -1640, -1532, 168, -1646, 250, 250, -1697, - -1685, -1652, 158, -1643, -1675, -1659, -1658, -1645, - 250, 168, 179, -1670, -1666, -1665, -1645, -1643, - -1651, 179, -1645, 179, -1643, -1651, -1672, 221, - -1674, -1664, 179, -1679, -1665, -1642, -1636, -1683, - -1674, 223, -1562, 158, -1493, 250, -1690, -1689, - -1681, 179, -1694, -1689, 150, -1692, -1689, 125, - 125, -1698, -1705, -1704, -1702, 72, -1656, -1695, - 179, -1707, 223, -1708, 250, -1734, -1730, -1721, - -1716, -1715, 125, 179, -1718, 138, -1715, -1703, - -1693, -1722, -1726, -1415, 179, -1692, -1416, 179, - 221, -1692, -940, -1732, 138, -1725, -1785, -1769, - -1740, -236, -1720, 125, -1750, -1749, -1746, -1416, - 179, 125, -1416, -1739, -1747, 138, -1755, -1753, - 128, 171, -1738, -1762, -1760, -1416, 88, 88, - 179, 171, -1746, -1416, -1758, -1754, -3156, -1688, - -1678, -1784, -1775, -1715, 179, 133, -1633, -1781, - -1778, -1459, -425, 160, 31, -1715, 31, -1780, - 237, -1795, -1794, -1791, -1790, 133, 133, -1790, - 133, -1783, 138, -1799, -1784, 167, -1793, 237, - 143, -2850, -2136, -1937, -1852, -1815, -854, -1811, - 139, 215, 44, -1813, 215, 215, 167, -1833, - -1820, -1819, 167, 139, -1832, -1823, 215, -1827, - -1451, -1814, -1825, -1831, -1452, 127, -1798, 111, - 244, -1845, -1842, -1839, -1831, 111, 38, -1831, - 111, -1830, -1831, 111, 163, -1849, -1837, 111, - 137, -1851, 139, 139, -1902, -1886, -1876, -1869, - -1864, -1861, -1860, 219, 219, -1860, 219, 163, - -1862, -1867, 208, 208, 163, -1873, -1872, -1863, - 219, -1872, -1848, 167, -1881, -1851, 139, 228, - 14, -1885, -1884, 139, 139, 139, -1899, -1893, - -1892, -1891, 232, 232, 231, -1896, 232, 186, - -1898, 186, 186, -1901, 186, 186, -1922, -1908, - 215, -1907, -1875, 111, -1911, 83, -1841, -1919, - -1915, 83, 111, 83, -1918, 228, 228, -1831, - -1880, 17, -1930, -1927, -1884, 17, -1921, -1884, - -1920, 112, -1883, -1916, 83, -2516, 136, 136, - 136, -1998, -1940, -1935, -1977, -1964, -1953, -1945, - 238, -1948, 44, 252, -1950, 193, -1952, 252, - 252, -1958, -1956, -1934, -1957, 238, -1962, -1961, - -1929, 252, 185, 252, -1966, 27, -1970, 253, - 27, -1965, -1974, -1973, 238, 238, -1973, 238, - -1965, 244, -1980, 27, -1993, -1987, -1452, -1227, - 233, -1965, -1976, -1991, -1227, -1969, -1960, 127, - 137, -1605, 137, 253, -1992, 137, -2044, -2006, - -2004, -2003, 200, 200, -2005, 228, -2035, -2025, - -2016, -2014, -2012, 231, 252, 231, 228, -1992, - -2022, -2021, -2020, 252, 252, 231, -2024, -1996, - 231, -2029, -2024, -1990, -1928, -1896, 232, 186, - -4963, -1910, -1777, -2038, 227, -1328, -1899, -1901, - 142, -1995, 142, 176, -2110, -2089, -2065, -2052, - -1424, 205, 101, 176, -2055, 228, 139, -2060, - 252, -1884, 176, -2051, -1884, -2063, -2050, 252, - -2042, -2068, -2067, 213, -2074, -2071, 205, -2073, - -2040, 238, -2085, -2082, -2079, 238, 141, -1963, - 141, -2078, -2084, 169, 185, -2087, 169, -2084, - -2083, -2106, 225, -2095, -1967, 169, -2083, -2099, - -2073, 238, -2088, -2103, -2102, -2081, 238, -2102, - 238, 141, -2107, -1884, -2080, 141, -2116, -2113, - 139, -2054, -2080, -2108, -2121, -1851, 139, 213, - -2101, -2129, -1899, -1901, 186, 101, -1766, 101, - -2125, -1899, -1901, 186, -2120, -3275, 114, -2132, - -2372, -2338, -2258, -2204, -2177, -2173, -2162, -2154, - -2150, -2148, 157, 161, 157, 132, -2152, 161, - 161, 157, -2161, -2159, -1151, 185, 132, 161, - 185, 161, -2168, -2153, 217, -2149, 141, 105, - -2170, 145, -2172, 105, 161, -824, 157, 105, - -2171, -2191, -2184, -2182, 161, 252, 161, 252, - -2170, -2172, -2167, -2166, -2133, 141, 116, -2194, - -2193, 157, -2196, 116, -2200, -2183, -2190, 116, - -2202, -2190, -1961, -2198, -2248, -2215, -824, -2211, - -2153, 157, -2189, -2153, 157, -2167, -2187, -2219, - -2218, -2135, 185, -2238, -2231, -2228, -2226, -2218, - -2072, 165, 225, 185, -2160, 165, -2225, -2235, - -1151, 165, -2225, -1151, 165, -2225, -2241, 233, - 225, -2245, -2172, -2234, -2230, -2172, 161, 165, - -2253, -2251, 145, -824, -2225, -2255, -2244, -806, - 131, 131, -2310, -2306, -2282, -2277, -2272, -2269, - -2266, 46, -2153, -2256, 131, -2271, -2256, 157, - -2276, -2275, 145, 145, 58, -2276, -2275, -2267, - 131, -2256, -2294, -2285, -2279, -2291, -2288, 114, - -2290, 157, 157, -2289, 157, -2254, -2298, -2250, - 172, 172, -2304, -2303, -2302, 114, 114, 157, - -859, -2296, -2268, 131, 172, -2296, -2334, -2317, - -2315, 145, 161, -2316, 161, -2324, -2208, 145, - -2305, -1470, 132, 172, -2327, 131, 161, -2331, - -1460, 172, 132, -2172, -2323, -2297, -2336, -2332, - -2316, -2320, -2345, -2341, 48, -2342, -807, -2125, - -2297, -2365, -2358, -2351, -2350, 183, 183, -2355, - -1031, 172, -2353, -851, -2344, -2125, -2362, -932, - 177, -2343, -932, 156, 156, -932, -2369, 122, - -2363, 122, 177, 57, -2541, -2412, -2401, -2396, - -2382, 131, -2380, 227, 58, 227, -2390, -2389, - -2387, 215, 219, -1872, -2368, 58, -2393, -1872, - -2388, -2395, 121, 121, -2276, -2349, -2361, 156, - -2399, -2410, -2404, 155, -2407, 114, -2368, -2409, - 155, 155, -2411, 157, -2418, -2415, 44, -2416, - -1961, 172, -2524, -2496, -2435, -2433, -2430, -1950, - -1952, -2417, -2406, -876, 176, -2051, -2432, -2050, - 252, -2434, 252, -2442, 227, -2290, -2440, 101, - 155, 172, -2487, -2472, -2454, 121, -2448, -2439, - -2452, -4972, -2431, -2426, 157, 176, -2470, -2464, - -2462, -2409, -2440, 155, 176, -2453, 155, 202, - -2467, -2411, 172, -2440, 155, 156, -2432, 116, - -2480, -2477, -2019, 172, 156, -2019, -2417, -2476, - -2484, -2483, -2471, 252, -2483, 252, -2043, -2489, - -2043, -2493, -2483, 252, -2486, -2483, -2482, -2466, - -2520, -2513, -2500, 199, -2508, -2505, -2504, -2451, - 121, -2504, 121, -2400, -2512, -1862, 219, -2398, - 121, -2517, -2290, -2257, 172, -2290, 157, 172, - 155, -3617, -2516, 172, -2535, -2527, -2516, -1891, - -2531, 231, -2522, -2483, 156, 156, -2532, -2538, - 227, 156, -1897, -2532, -2534, -2644, -2563, -2552, - -2546, 225, -2548, 225, -2550, 225, -2290, -2530, - -2560, -2302, -2558, -2557, -2519, 155, 114, 114, - -2257, -2551, 220, -2591, -2587, -2581, -2580, -2538, - -2574, -2573, -2572, 227, 227, 186, -2124, 220, - -2562, -4597, 78, 5, 131, -2584, 241, 131, - -2586, 241, 241, -2589, 205, 131, 241, -2608, - -2605, -2603, -2572, -2580, -2600, -2599, 78, 78, - 131, -2576, -2561, -2256, -2515, -2606, 155, 241, - -2622, -2620, -2618, -2617, -2616, -2615, 149, 149, - 231, 241, -2615, 131, -2571, 116, -2636, -2634, - -2631, -2629, -2628, 241, 241, 155, -2417, -2633, - 155, 155, -2632, -2417, -2643, -2634, -2632, -2630, - -2621, 104, -2516, 231, -2836, -2711, -2706, -2674, - -2652, -2290, -2642, 172, -2659, -2656, 155, 157, - -2290, 157, 220, -2667, -2664, -2521, -2642, -2650, - -2290, 157, -2640, -2664, -4186, 116, 56, 116, - 105, -2669, -2690, -2683, -2680, -2434, 252, -2666, - -2434, -2619, -2604, -2680, -2434, 252, 114, 227, - 5, 131, -2701, -2698, -2490, 231, 15, -3111, - 15, -2694, -2700, -2694, 252, -2704, 231, -2697, - 252, 119, -2707, -2550, -2689, -3961, -2469, -2768, - -2722, -2717, 225, 185, -2669, -2719, -2686, -2084, - 185, -2682, 225, -2746, -2733, -2728, -2727, 119, - -2730, 119, -2732, 114, 238, -2741, -2738, -3616, - -2297, 132, -2432, 172, 172, -2518, -2700, -2739, - -2737, -2736, -2750, -3094, -2296, -2297, -2765, -2759, - -2756, -1961, -2745, 116, -1961, 5, -2731, -2763, - -1961, -2721, -2511, -1961, -2293, -1961, -2224, 131, - -2815, -2801, -2797, -2786, -2775, 205, 35, -2779, - -2778, 225, 185, -2753, -1961, -2767, 110, -2695, - -2782, 153, -2790, -2789, 184, 227, -2794, -2661, - 184, -2788, -2434, -2785, 184, -1533, 225, -2796, - 184, -2807, -1533, -2805, 119, 119, 153, -2808, - -2765, -3501, -2799, -2795, -2939, 68, -2811, -2831, - -2826, -2821, 231, 227, 210, -2434, 105, 210, - -2820, -2813, -1900, -1897, 116, -2814, -2784, -2700, - -2532, -2781, 107, 148, -2843, -2840, 131, 153, - -2580, -2835, 153, -2846, 155, -2842, -2848, 153, - -2256, -2845, -3077, -2991, -2901, -2871, -2858, -2857, - 153, 140, -2869, -2864, 215, -2863, 232, 232, - -2868, -2867, 140, 140, 140, -2868, -2856, -2895, - -2874, 153, -2886, -2883, -2880, -1895, 186, -2856, - -1895, 186, -2870, -1901, 107, 153, -2888, -2856, - -2892, -1898, -2884, -2882, -1898, 153, -2873, -2899, - -2898, 140, 140, -2868, -2847, -2946, -2933, -2914, - -2906, -2891, -2910, -2909, 186, 186, -2912, -2849, - 186, 139, -2922, -2918, -2917, 205, -1901, 186, - 83, -2841, -2926, -2925, 106, 106, -2928, -2834, - -2930, 53, -1901, 107, 182, -2944, -2942, -1899, - -2322, 182, -2932, -3387, -2931, 182, 139, 135, - -2945, 139, -2955, -2949, 225, -2951, 83, 83, - -2590, 107, -2940, -2984, -2963, -2960, 140, 135, - -2962, 140, 140, -2960, -2971, -2968, 140, 232, - -2868, 182, -2969, -2976, -1898, 140, 186, -2954, - -2979, 140, -2873, 140, -2978, -4010, -2980, -2975, - -2990, -2989, -3074, -2929, -2833, 186, 241, -3061, - -3028, -3005, -3003, -2998, -2997, 215, -3002, -3001, - 165, 215, 179, 114, 140, -3015, -3011, -3009, - 131, 179, 171, -3013, -3008, 169, 171, -3017, - 91, -3021, -1418, 171, -3000, -3025, -3014, 171, - -2619, -3014, -3024, 182, -3035, -3033, -1402, 182, - -3027, 139, 221, -3045, -3038, 26, -3042, -1413, - 171, -3032, -1413, 171, 210, -3047, -3041, -1416, - -3054, -1413, -3014, 116, 116, -3051, -3058, -3014, - -3031, 182, 171, -3057, 182, -3072, -3063, -3069, - -1749, -1761, -3057, -3059, -3056, -1749, -3053, -3051, - -1746, 179, 132, 93, -3071, -3539, -3260, -3174, - -3131, -3104, -3087, -3085, 124, -3086, 124, -3088, - -3090, 107, -3096, -3095, -4010, 253, 253, 124, - -3100, -3099, 121, 121, -3102, -2834, -3103, 253, - -3123, -3117, -3112, -3111, -3086, 124, 107, 227, - -3114, -2834, -3116, 139, 139, -3119, 58, -3121, - 104, 227, 104, -3129, -3128, -3127, 217, 217, - 215, 124, -3101, -3150, -3133, -3145, -3116, -3141, - -3140, -2962, 140, -3076, 135, -2867, -3070, -3046, - 5, -1851, -3116, 5, -3144, -3143, 186, -3164, - -3159, -3157, -3156, -3026, 253, 253, 166, -3103, - -3156, 253, 182, -3057, -3167, 140, 166, -3171, - -3170, 166, 166, -3170, -3163, -3172, -3228, -3219, - -3188, -3179, 176, -3181, -3178, -3183, -3178, -3185, - -3180, -3187, 124, 124, -3192, -3128, 215, -2884, - -3195, -3194, 121, -3199, 215, 58, 140, -3217, - -3207, -3205, -1872, 219, -3184, 215, 219, -3210, - -3209, 124, -3214, -3187, 124, 87, -3187, 124, - 5, -2866, 87, -3222, 114, 86, -2557, -3225, - 87, -3226, 121, -3218, -3250, -3234, -3232, -3216, - 215, -3204, -3246, -1898, -3240, -3239, -3089, 219, - -3242, 232, -1891, 232, 105, -3238, -3248, -2884, - 232, 87, -3255, -3253, 105, -3254, 169, -3257, - 105, -2868, -3252, -3247, -3413, -3332, -3290, -3286, - -3266, 166, -3279, -3273, -3161, -3271, 253, 253, - -3245, -3277, -3271, 253, -3233, 149, -3173, -3283, - -3271, -3155, -3020, -3271, -3178, 182, -3288, 106, - -3169, -3285, -3301, 139, -2943, -3298, -3295, -3161, - 107, -3289, -3299, 227, -3284, -3312, -3306, -3305, - -2051, 227, -3309, 227, 149, -3311, 149, 149, - -3316, -3315, 176, 227, -3330, -3273, -3322, -3271, - 253, 101, 253, 149, -4973, -2981, -3304, -3304, - -2832, -3326, -3299, -3300, -3358, -3337, -2257, -2040, - 182, -3342, -3340, -3336, -3341, 241, -3348, -3341, - -2989, -3336, -3339, 142, -3355, -3353, -2989, -2040, - -3336, 186, 241, -3341, -3346, 142, -3393, -3363, - -3362, 232, 232, -3372, -3369, -3367, -3357, -1897, - -3356, -1900, -3335, -3370, -3383, -3380, -3378, -3377, - 149, 149, 149, -3331, -3382, -3282, 149, -3390, - -1896, 232, -2988, -3497, 169, 169, -3377, -3389, - -3388, -3398, -2925, 232, 106, -3388, -3411, -3406, - -3403, 241, -3392, -2989, 141, -2080, -3403, 87, - -4092, -3405, -3402, 241, 184, -3511, -3483, -3468, - -3458, -3446, -3443, -3431, -3425, -2557, 155, 156, - -3412, -3429, -3428, 184, 156, 156, 184, -3437, - -2532, -2557, 155, -3427, 141, -3440, 155, 141, - -3428, 184, 135, 104, 114, 141, -3457, -3451, - -3450, -3439, 155, -3454, 149, -3445, -3456, -3441, - 155, 149, -3459, -3463, -2607, 241, -3436, -3465, - -3424, -3341, 132, 141, -3478, -3341, -3474, -3473, - -3464, 149, -3473, -3472, -2040, 141, -3480, 104, - -3271, 253, 141, -3507, -3500, -3489, -3120, 142, - -3477, -3097, -3494, -2409, -3476, 105, -2409, -2167, - -3466, -4484, -3404, 105, -3503, -4484, -3493, -3505, - -3482, 149, -3498, -3509, -3492, 155, -3475, -3529, - -3516, -2619, -3410, 116, -3520, -2627, 184, 105, - -3355, -3524, 149, 232, 232, -3519, -3560, -2792, - -3518, -2628, -3534, -2409, -3528, 210, -3537, 232, - 93, 232, -3532, -3562, -3556, -3553, -3546, -1813, - 215, -2792, -3550, -3128, 215, -2796, -3128, 184, - -2796, -3555, -3549, 183, -3205, 116, -2796, -3549, - 166, -3554, -2302, -3566, 58, -2796, 58, -3565, - -3567, -2037, -4582, -4722, -4101, -3983, -3691, -3637, - -3592, -3589, -3585, 26, -3584, -2842, 105, 153, - 148, 26, -3588, 148, 148, -3590, 148, 26, - -3628, 77, -3624, -3619, -3604, -3601, -3600, 98, - 98, -3600, 98, -3583, -3612, -3609, -3608, -3582, - 182, -3608, -3568, -3561, -3609, -3608, -3545, -3538, - -1766, 184, -3617, -3623, 148, 63, 184, 148, - 148, -3627, -2792, 153, -3636, -3633, -3027, -3427, - 135, -3027, 184, -3634, 98, -3648, -3641, 98, - 84, -3642, -3643, -3645, 98, -3647, 180, 180, - -3667, -3665, -3661, -3658, -3656, -3655, -3632, 148, - 141, 148, -3660, 135, 180, -3663, 184, 180, - -3634, -3666, 180, -3686, -3676, -3673, -2621, -3659, - -3654, -3588, 148, -3631, -3680, -3623, -3618, 77, - -3683, 148, 180, -3685, 180, 180, -3688, -3615, - -3685, 153, 169, -3851, -3719, -3698, 101, 148, - 165, 114, -3709, -3701, 142, -3708, -3706, -3705, - 176, 176, 176, -3690, 176, -3716, -3714, -3713, - -3689, 142, 141, 142, -2051, -2842, -3690, -3792, - -3767, -3736, -3726, -2428, -3712, -2842, -3734, -3180, - -3178, 176, 148, -3557, -3725, 63, -3591, -3732, - -3739, -3357, -3724, -3744, 98, -3296, -3252, -3738, - -3762, -3757, -3754, -3751, -3031, 105, 153, -3031, - 182, -3750, -3027, -3750, -2737, -3608, 220, -3753, - -3759, -3749, -3764, -3743, -3285, -3687, -3514, -3588, - -3777, -3775, -3773, 148, -3386, 148, -2766, 98, - 183, -3780, -3779, 148, -3784, -3708, -2350, -2348, - -3788, -3708, 62, 131, -3708, 165, -2225, -3787, - -3588, -3837, -3818, -3807, -3703, -3801, -2051, 131, - -2257, -2051, -2229, 165, 116, 114, -3802, -3815, - -3812, -3811, -3800, 142, -3811, 142, -3791, -3336, - -2233, -2229, -3830, -3405, -3824, -4092, -3789, -3814, - -3660, 114, -3825, -3758, -3826, -3823, -3834, -3731, - -3786, -2040, -3647, 142, -3833, -3847, -3842, -3841, - 114, 148, -3708, -3841, -2532, -3840, 89, -3655, - -2686, -3846, -3845, -3897, -3877, -3867, -3864, -3861, - -3860, -3859, 82, 82, 98, -3863, 95, 95, - -3684, 180, 116, -3873, -3872, -3684, 180, 116, - 180, -3682, -3872, -3866, 89, -3885, -3884, -3881, - 80, -3872, 101, 89, 15, -3895, -3892, -3890, - 142, 97, 142, 97, -3647, -3876, 101, 142, - 89, -3946, -3943, -3922, -3920, -3905, -2696, 15, - 89, -3913, -3910, -3909, 101, 176, -3909, 176, - 101, -3910, -3909, -3908, -3904, -3513, -3893, -3875, - -3921, 15, -3932, -3929, -3926, 70, -2042, -3850, - 89, -2694, 85, -3927, -3935, 15, 142, -3940, - -3938, 89, -3705, -3836, -3909, -2195, 104, -3945, - 104, 165, -3978, -3966, -3956, -3633, -3408, -3942, - 57, -3334, -2189, -3951, -3964, -3633, -3027, 182, - -3941, -2171, -3960, -2080, -3608, -2532, -3968, 156, - -3975, -3973, -3285, -3965, 101, 176, -3972, -3285, - 156, -2363, -3981, 26, -3974, 176, 104, -4073, - -4056, -4026, -3996, -3993, -3863, -3813, 142, -3982, - 104, 142, 85, 144, -4016, -4012, -4001, 70, - 85, -4005, -3889, 97, -3982, -4009, -4008, -3991, - 142, -4008, 156, -2747, -4014, 80, -4015, 15, - -4019, 85, 144, -4021, -4010, -4025, -4024, -2981, - 97, 144, -4040, -4037, -4031, 165, 89, -4035, - -3945, 156, -3120, 15, -4023, -3876, -4007, -3980, - -4054, -4049, -4046, -2042, -3971, -3963, -2042, -3962, - -4047, -3835, -2042, -3939, 183, -4052, 15, 165, - -4061, -4025, 117, 86, 86, -4065, -3835, 142, - -4059, -4070, -4068, 85, -3660, 86, -4072, 180, - 180, -4087, -4077, -4052, -4059, -4083, -3802, -4064, - -4091, 85, -4079, -4085, -4053, -2134, -2105, -4090, - -4052, 141, -4097, 253, 116, -2105, -4086, 220, - -4059, -4099, 141, -2080, 169, -4341, -4279, -4153, - -4143, -4117, -4107, -4115, -4112, -4111, 26, 26, - -4111, 26, -4084, -4116, 26, -4121, 68, 77, - -4051, -4128, -4126, -4080, -2417, 172, -4127, 11, - -4136, -4133, -4132, 159, 159, -4132, 159, -2417, - -4133, -4132, 159, -4124, 217, -2417, -4139, -4148, - -4145, -4147, 16, 16, -4149, -4152, -4138, 131, - 159, -4221, -4206, -4171, -4169, -4164, -4162, -4161, - 98, 98, 95, 98, -4166, 156, -4168, -4165, - 26, -3862, -4167, -4176, -4109, 220, -4151, -2619, - -4183, -4181, -4180, -4165, 26, -4180, 116, -4199, - -4192, -4189, -2297, 131, -4179, -4111, -4174, -4125, - -4189, -4111, -4190, -4142, -2572, -2257, -4197, -4203, - -4202, 11, 11, -4202, 11, 50, -4213, -4210, - 95, -4195, -3684, 180, -4120, -4215, -3832, -4219, - -3872, -3774, 169, 97, 169, -4251, -4234, -4231, - -4228, -4227, 180, 180, -4227, 169, -4220, -4134, - -4218, -3014, -4244, -4239, -4238, 159, 159, -4228, - 117, -2600, -4233, -4232, -4231, -4134, 171, -3043, - -4173, -3043, -4247, -4252, -4264, -4259, -4256, 159, - -4258, 187, 187, -4257, -4258, 187, -1761, 138, - -4268, -3481, -4262, -4243, -4276, -4273, -4272, 187, - 187, -4272, -3388, -3388, -4272, 187, -4274, -4331, - -4299, -4297, -4294, -4291, -4109, -4111, 26, -3254, - -4123, 141, 169, -4293, 11, 11, 77, 68, - 26, -4298, 153, -4318, -4312, -4127, -4306, -3953, - 141, -4289, -4180, -2791, -4287, -3439, -4308, -4278, - -4317, -4315, 148, -4316, 148, 148, -4326, 148, - -4324, -4111, 26, -4267, 26, 169, -3623, 11, - -3588, -4325, -4329, 95, -4334, 169, -4338, -3591, - -4325, -4329, -3591, 135, 135, -4527, -4473, -4399, - -4356, -4352, -797, 165, -4350, 15, 15, -4339, - 70, -4355, -4337, 16, -4379, -4363, 11, 95, - -4355, -4330, -4220, -4204, -4376, -4370, -4369, 16, - -4362, 16, -4373, 16, -4361, -4375, -3254, 26, - 159, -4374, 140, -4391, -4383, 7, 84, -4389, - -4349, -4387, 8, 8, -4374, -4390, 8, -4396, - -4113, 26, -4377, -3254, -4398, -4394, 26, -4441, - -4434, -4423, -4408, -4405, 8, -4407, 23, 23, - -4420, -4413, -4003, 97, -4372, -4417, -4416, 166, - 97, -4416, 97, -4415, -4407, 23, 166, -4427, - -4426, 15, 15, -4431, -4430, -4415, 23, -4430, - -4419, 166, -4437, -4436, 97, -4439, 166, 97, - 23, -4465, -4454, -4451, -4448, -4447, 95, 95, - -4447, -4433, 166, -4440, -4438, -3156, -4456, -4449, - -4430, -4396, -4398, -4415, -4455, -2427, -4432, -4412, - -2083, -4468, 165, 184, -4470, 184, -4472, -4467, - 165, -4508, -4494, -4479, -3945, -3634, -4471, -4492, - -4486, -3945, -4430, -3156, 166, -4484, -4490, -4472, - 165, -4483, 165, -4478, -1250, -4464, -4495, -3921, - -4500, -4499, 169, 15, -4504, -4430, -2796, -4502, - -4430, -3690, -4498, 169, -4518, -4513, -4933, 184, - -4498, -4470, -4506, -4892, -2796, -4514, -4520, -4493, - -4524, -4706, -4463, -4325, -4430, 23, 169, -4570, - -4553, -4549, -4025, -4541, -4536, -905, -4325, -4523, - -4525, -905, 169, -4325, -4523, -4545, -1263, -4535, - 169, -1263, -4325, -4546, -4544, -4550, -4551, 144, - -4274, -4557, -4025, -4543, -3439, -4567, -4563, -4561, - 135, -4525, 141, -4525, 23, 144, -4556, -4569, - 144, 144, -4600, -4585, -4580, -4577, -4132, -3086, - -4575, -4132, -4566, -4555, -4137, 16, -4217, -4522, - -4323, -4589, -4587, -4588, 19, -4591, 99, -4593, - -3634, -4133, -4132, -4592, -4595, -3324, -3634, 203, - -4652, -4640, -4613, -4610, -4608, -4369, -4598, -4596, - 16, 184, -4127, -3270, -4611, -4624, -4622, -4619, - -4618, 187, 187, -4618, 187, 110, -4620, -4621, - -4635, -4630, -4620, 16, 110, -4621, -4634, -4369, - 16, -4623, 187, -4639, -4204, 11, -4612, 187, - -4641, -4649, -4646, -4257, 187, -4609, -4257, 131, - 110, -4618, 206, 110, -4695, -4692, -4677, -4669, - -4355, -4663, -4632, -3389, -4651, -4650, 227, -4618, - -4632, 16, -4647, -4607, 237, -4675, -4672, 187, - -4618, 184, -3634, 16, 84, -4689, -4686, -4537, - -905, -4674, 225, -4659, -4682, 131, -977, -4685, - -4681, -4691, -4668, 187, -4691, 77, 77, -4711, - -4692, -4701, -4700, -4693, 187, -4705, -4683, -4690, - -4667, -4257, -4584, -2189, -4091, 104, -4289, -4616, - -4716, -4588, -4709, -3254, -4588, -3158, -4715, 117, - 166, -4325, -4835, -4800, -4754, -4726, -4729, -4728, - 66, -4745, -4738, -4734, 138, -4720, -4736, 138, - 138, 77, -4740, 129, -4742, -4325, -1187, 129, - -4325, -4753, -4749, 130, 169, -4751, 138, 130, - -4325, 130, -4757, -4756, 130, -4761, -4760, 130, - 130, -4797, -4776, -4769, -4767, 130, -4744, 99, - 130, -4773, -4772, 144, 144, -4772, -4741, -4733, - -4783, -1135, -4780, -4718, -4152, 253, -3156, -4790, - -4786, 99, -4138, 180, -4782, 253, -4795, -4793, - 130, -4227, 104, -4072, -4788, -4798, 16, -4796, - -4819, -4808, 108, -4806, 237, 138, 138, -3186, - -4816, -3069, -1749, -3186, -4807, 117, -4812, -3186, - -1794, 104, 124, -4829, -4828, -4825, -4246, -3158, - 166, -4246, -3158, -4823, 169, -4832, 138, -4818, - -1761, -4815, -4814, -4934, -4913, -4902, -4864, -4858, - -4857, -4856, -4852, -3581, -4847, 68, -4799, 153, - -4779, -4719, -4714, -2532, -4854, 104, -4298, -2532, - 135, 180, -4861, -4293, -3982, 11, 148, 104, - -4877, -4873, -4870, -4869, -3099, 148, -4869, -4863, - -4860, -3389, 169, -4855, -4853, -4881, -3660, 180, - 86, -4897, -4894, -4889, -3660, -4887, 180, 180, - -4876, -3439, -3660, 180, -4850, -2256, -3685, -4893, - 241, -4899, 169, -3389, -2586, 78, -4910, -4904, - -4908, -4907, 78, 135, 130, -4901, -4911, -2785, - -4900, -4928, -4925, -4916, -4918, 131, -4228, -4227, - -4895, -4325, -4849, 166, -4923, -870, 117, -3156, - -4931, -4072, -4924, -4891, -4921, -4920, -4950, -4959, - -4956, -4948, -4944, -3685, -4025, -2195, -4941, 220, - 148, -4072, -4942, -4943, -3655, -4953, -4702, -4947, - -4946, 141, -2195, 253, -4025, 144, 105, -4961, - -4954, -4965, -4964, -4952, 141, -4966, -4970, -3388, - 220, -2516, -4899, -3389, -4968, -2516, + -4039, -2681, -1149, -716, -293, -87, -77, -56, + -39, -36, -33, -16, -15, 225, 207, 207, + -31, -27, -24, -22, 207, 225, 225, 207, + -26, 29, 29, 29, -23, 207, 216, 225, + -30, -34, -35, 31, -38, 121, 207, -49, + -43, -42, 63, -47, -46, 63, 63, -46, + -32, -54, -42, 62, 63, 216, -42, 216, + -65, -64, -61, -60, 175, -60, 175, -53, + 126, -67, 175, -73, -70, 175, -72, 175, + 175, -75, 225, 189, 179, -80, -74, -63, + -81, -83, -48, -85, 217, -86, 217, -142, + -117, -113, -109, -104, -99, -96, -95, 207, + -95, 207, 216, -101, 204, -103, 216, 207, + -107, 204, 207, 204, 207, -112, -111, 45, + 166, -115, 199, -116, 204, -130, -111, -122, + -121, 207, -126, -121, 207, -98, -121, 132, + 132, -127, -139, -137, -136, -135, 1, 1, + 217, -86, 117, -141, 45, 217, -210, -189, + -150, -148, -15, -129, 225, 123, -187, -170, + -167, -161, -158, -26, 29, 132, -26, 29, + -147, -165, -26, 29, -125, 225, 216, -169, + 23, 23, -172, 225, -176, -25, -102, -164, + -184, -181, -159, 29, -53, -159, -53, -180, + -97, -98, 222, 207, -186, -202, -198, -195, + -194, 63, 63, -194, -185, -175, -200, 62, + 62, 224, -203, -207, -42, 63, -197, -42, + 251, 216, -254, -219, -218, -216, 45, -98, + 207, -149, 45, -250, -248, -237, -226, -225, + 31, 31, -232, -231, -230, 45, 45, 62, + -230, -231, 62, -209, 216, -245, -242, -218, + 45, 251, -218, 45, -235, -230, -206, -82, + -249, 207, -97, 62, 23, 132, -279, -258, + -257, 204, -266, -245, -230, -253, 132, -490, + -128, 132, -277, -274, -271, 91, -128, -257, + 204, -264, 204, -108, -261, 30, 117, -290, + -284, -124, -276, 179, -287, -263, -282, -289, + 236, 207, -108, 236, -288, -477, -370, -339, + -328, -320, -318, -313, -307, -305, -304, 61, + 61, 207, 61, -305, -304, 61, 236, -1313, + -288, -317, -309, 61, -292, 207, 207, 79, + -327, -325, -324, 217, 217, 61, 217, 217, + -334, -331, 1, -333, 222, 61, -336, 28, + 51, -338, 43, -363, -345, -343, 90, 45, + 51, 217, -360, -357, -354, -353, -352, 57, + 57, 51, -356, -316, 51, -356, 51, 236, + -362, -355, 1, -367, -366, -286, 207, -121, + 51, 117, -395, -388, -387, -385, -379, -377, + 79, 207, 81, -383, -317, 207, 117, 81, + -369, -386, 81, 90, -390, 121, 170, 207, + -358, 121, -389, -443, -426, -401, -400, 58, + 58, -422, -415, -407, -140, 45, -389, -124, + -412, -411, 58, 58, 45, 58, -394, -419, + -400, 58, 121, -400, 58, -389, -218, 58, + 31, -394, -428, -414, -441, -437, -434, -433, + -384, 58, -433, 58, 234, -435, -433, -432, + 115, -420, 115, -445, 90, -475, -473, -470, + -463, -456, -453, 58, 31, -455, -440, 58, + -453, -455, 58, 115, -4295, -440, -454, -467, + -285, 117, -465, -400, -465, -466, -400, 58, + 117, -474, 62, -231, -465, -584, -562, -493, + -486, -484, 119, 28, 28, 119, -434, -433, + 58, -466, -616, -469, 153, -549, -496, 179, + -528, -505, -502, -501, 126, 126, -501, 126, + -459, -513, -510, -509, 62, 62, -509, 62, + -491, -521, -510, -509, 62, -462, -804, 115, + -442, -510, -509, -465, -523, 188, 117, -465, + -534, -531, 77, -488, -523, -524, -537, -488, + -520, -543, -511, -509, -517, -439, 179, -547, + -613, 179, -542, 62, 58, -555, -52, -553, + 31, 31, 148, -557, 119, -52, -199, 62, + -546, 156, -577, -566, 163, 21, -573, -569, + 163, -570, -503, 126, -560, -575, 119, -576, + 119, -578, -581, 126, 211, -583, 211, 211, + -685, -648, -624, -619, -608, -601, -594, -593, + 189, 189, -598, -597, 234, 126, -597, 126, + -76, -605, -599, -596, -572, -599, -541, -365, + -570, -595, -597, 126, -247, 188, 216, -614, + -804, -615, 251, -622, 126, 211, 211, -617, + -646, -639, -632, -583, -571, 126, 234, 179, + -636, -583, 211, -76, -583, -76, -637, -643, + -571, 126, -635, -571, -630, -623, 126, 189, + -675, -665, -663, -656, 126, -71, -612, 135, + -660, -64, 126, 135, -64, -655, 135, 175, + -661, -673, -595, -597, -127, -664, -613, -127, + -669, -597, 135, -682, -681, -679, 132, 126, + 135, 81, -683, 90, -655, -709, -694, -691, + -690, -678, 189, -690, 189, -672, -702, -699, + -698, 135, 189, -698, -697, 179, -699, -698, + -693, 132, -544, 135, -655, -713, -4295, 135, + -655, -690, 189, -708, -929, -833, -753, -733, + -732, -726, -723, -725, 196, 196, -731, -729, + 196, -725, -707, 196, 243, -740, -737, 208, + 192, -739, 208, 208, -746, -745, 188, 179, + -730, 208, -750, -749, 208, 208, -749, 208, + -744, -826, -784, -778, -760, -758, -759, 119, + -772, -765, -764, -704, 196, -769, -768, 133, + 133, -768, 133, -763, -776, -764, 196, 125, + 119, 196, -779, -781, 196, -783, 125, 133, + -807, -797, -794, -791, -790, 211, 211, -790, + 211, -775, -582, 125, -793, -791, -802, -582, + 211, -618, 211, 119, 56, 72, -801, -823, + -816, -813, -764, -771, 123, -764, 196, 236, + -813, -764, -671, -812, -742, 251, 123, -749, + 208, -812, -831, -767, -770, -821, -819, -832, + 133, -885, -880, -844, -841, -838, -840, 192, + 192, -843, 125, 199, -869, -851, -850, -849, + 166, 166, 199, -864, -859, -857, -856, 196, + 196, 166, -830, -856, -849, 166, -811, -654, + -867, 196, 199, 199, 135, -875, -872, 91, + -874, 30, 30, -877, -655, -879, 204, 204, + -881, -116, 204, 135, -655, -895, -894, -893, + -892, -891, 238, 238, 164, 243, 192, -911, + -899, 196, 161, -904, -902, -876, 199, 243, + -907, -906, 243, 133, -906, 243, -655, -921, + -920, -917, -832, 133, -901, -832, -883, 237, + 199, -926, -728, 133, -918, -916, -928, 187, + 199, -1023, -992, -980, -960, -943, -938, -937, + 187, 204, -257, -937, 204, -927, -253, -949, + -874, -710, -925, 135, 135, -955, -230, -464, + -883, -947, -946, -277, 30, -674, -1031, 135, + -974, -964, 166, 45, -968, -111, -674, -957, + -972, -971, -288, 57, -971, -967, -978, -971, + 57, 191, 133, 57, -989, -984, 164, 148, + -920, -850, 199, 191, -983, -116, 204, -973, + -1005, -996, 77, 119, -1002, -999, -954, -231, + 62, 230, -1004, 237, 62, -1015, -1012, -1010, + 45, 237, 62, -1003, -108, -1001, 113, -1022, + -1020, -768, 133, -1013, 119, -998, 133, -1078, + -1037, -1030, -1027, -1028, -1004, 197, -794, -1229, + -1029, 190, 240, 122, -1032, -1074, -1056, -1052, + -1044, -1043, 51, 119, -1047, 119, 187, -1051, + -1050, 51, 51, 119, -1043, 51, 170, 187, + -1072, 207, -1065, -1062, 51, 57, -1064, 57, + 57, -1062, -1064, -1055, -1046, -1099, -1036, 190, + 62, 119, -1076, 96, 33, -1071, -1102, -1086, + -1081, -1083, 161, -1085, 124, 124, -1089, 164, + 57, -1097, -1094, -3240, 115, 187, -971, -1093, + 187, -975, 164, -4332, -1093, -1095, -1109, -856, + 207, -803, -1092, -936, -1106, -1136, -1122, -1119, + -969, -971, -1077, 190, -1091, -1071, 147, -1121, + -1117, 133, -1133, -1126, -1064, -1114, -1130, -971, + 136, -1128, -971, 136, 136, -768, 133, -1131, + -1140, -1138, -121, -1093, -1141, -1146, -1144, 136, + 207, 136, -1148, 187, 207, -1761, -1395, -1239, + -1190, -1182, -1175, -1165, -1164, -1161, -1160, 94, + 94, -1160, 94, -1143, 252, -1169, -714, -1139, + 136, -1173, -1172, 252, 252, 189, 252, -713, + -690, 189, -1131, -1285, -442, -1167, -1184, 252, + -1187, 252, 163, -1189, -1129, 189, -1192, 188, + -1236, -1219, -1217, -1203, -1200, -1199, 184, 184, + -1199, 184, -1125, -1211, -1200, -1199, 184, 136, + 55, 190, -1128, -1200, 94, 184, -3249, -1209, + 122, -1218, 184, -1227, -1224, -1223, 217, 217, + -1223, 217, -1207, -1224, -1232, -1258, -1216, 122, + 188, -1214, 136, -1207, -1238, -1231, 188, -1319, + -1300, -1279, -1272, -1270, -1266, -1261, -1254, -1251, + -1250, 53, 53, -1250, 53, -1230, -1251, -1250, + 53, -1215, -1408, 190, 156, -1265, -1264, 50, + 50, 39, -1268, -1257, -1263, -1202, -1271, 50, + -1276, -1275, 136, 39, -1275, 39, 136, -1297, + -1292, -1289, -1286, -1285, 56, 56, -1285, 56, + -1131, -1290, -1291, 24, -1256, -1295, 56, 56, + -1135, -1299, 94, 94, -1304, 184, 100, 85, + -1315, -1308, -1307, 217, -1312, -1295, -1274, -1207, + -1295, 56, 197, -1223, -1271, -1274, -1314, -1384, + -1355, -1354, -1347, -1345, -1336, -1335, -1332, -1331, + -1330, 39, 39, 20, -1334, -1311, 39, 34, + -1342, -1265, -1340, 34, 34, -1310, -1340, 34, + -1269, 163, 21, -1350, -1349, 24, -1353, -1352, + 163, 163, 96, -1373, -1371, -1364, -1362, -1361, + -1070, 94, 163, 244, -1368, -1361, 94, 244, + -1361, -1363, -1363, -1372, 96, -1378, 184, -1160, + -1369, 191, -1382, -1199, 184, 191, 94, -1377, + -1390, -1387, 163, -1389, -1376, 211, 206, -1394, + 201, 148, 201, -1632, -1525, -1486, -1472, -1454, + -1423, -1411, -1365, -1405, 90, -1366, -554, -1388, + -1495, 244, -1407, -1419, -1416, -1354, 96, -561, + -1354, -1415, 244, -1421, 163, 163, -1418, -1432, + 90, -386, -1430, -1429, 244, 94, 184, -1418, + -1436, -1435, 81, 94, -1450, -1444, -1442, -1441, + 61, 61, 184, 61, -1442, -1441, -1422, -1446, + -3254, 191, -309, 184, 191, -1449, -1470, -1465, + -1463, -1461, -1189, -1447, -1377, 94, -1231, -690, + 190, -1467, 190, -1469, -1464, 184, 94, -1377, + -1482, -1475, 207, -1479, -324, 191, -1377, -324, + 191, -1377, -1225, 217, -1478, -1471, -1492, -1490, + 56, -1462, -86, 156, -1522, -1499, -333, -1694, + -1381, -1491, -1489, -1511, -1508, -1505, -1504, 61, + 61, -1504, -1460, 190, -304, -1464, 197, -1515, + -306, 197, -1510, -1505, -1504, 61, 173, -3254, + -1514, 122, -1524, 217, 217, -1620, -1563, -1545, + 207, -1544, -1538, -1535, -1534, 197, 51, -1534, + -1510, -1521, -1535, -1534, -1520, -1448, -1509, -1506, + 43, -1556, -1551, 207, -1534, -1459, -1417, -1554, + 207, -1360, 207, -1021, -1560, -1233, -863, 191, + -1534, 253, 253, -1598, -1571, -1569, -1386, -1561, + -1559, -1570, 28, -1591, -1584, -1579, -335, -1075, + 96, -1559, 191, -1581, 28, -1583, 28, 28, + -1588, -1587, 43, 43, -1587, 43, -1559, -1595, + -1594, -1577, 43, -1594, 43, -1568, -1604, -1587, + -1504, 250, 250, -1601, -1618, -1613, -1610, -338, + 43, -1597, -338, -1559, 253, -1615, 191, -338, + -1559, -1612, -306, 253, -1623, -580, 253, -1628, + -1626, 211, 201, -1619, -1630, -1617, -792, -1559, + -1711, -1702, -1642, -1354, -1638, 96, -1640, 33, + 33, -977, -1662, -1651, -1648, -1647, -1629, 50, + -1647, -1646, -1611, -1657, -1655, 40, -1609, 50, + 40, -1659, 40, -1661, 237, 50, -1681, -1678, + -1672, -1669, -1668, 50, 50, -1668, 50, -1660, + -1676, -1668, 50, 180, -1668, -1671, -1670, -1677, + 135, -1689, -1678, -1670, -1680, 118, 37, 135, + -1684, -1697, -1669, -1668, 118, -1692, -1772, -1680, + 135, -1699, 96, -1668, 50, -1680, -1708, -1704, + -1705, -1706, -1250, -1695, -1710, -1680, 50, -1734, + -1723, -1720, -1718, -1717, -680, 61, -1717, -1707, + -1717, -1693, -1688, -1678, -1728, -1686, 233, 233, + -1717, -1726, -1722, -1557, 118, -1732, -1756, -1736, + -1744, -1740, -1223, -1733, -1742, 253, 53, -1612, + -1755, -1753, -1728, -1717, 236, -1739, -1116, 253, + 236, -324, -1751, 217, -1758, 124, -1759, -1760, + 207, -2233, -1953, -1875, -1854, -1851, -1847, -1807, + -1797, -1790, -1788, -1775, 56, -1749, -1680, -1783, + -1659, -1661, -1684, 135, 130, -1680, -1684, -1656, + -1750, -1778, -1680, -674, -1544, -1785, -1794, -1544, + -883, -883, -1544, -1792, -966, -1801, -1639, 33, + -1789, -1595, 43, 237, -4273, 180, 180, -1840, + -1832, -1819, -1812, 39, -1816, -1815, 40, 40, + -1815, -1805, -1803, -1826, -1824, -1656, 40, 236, + -1656, -1823, -1829, 40, -1800, -1656, -1773, -1730, + -1835, -1834, 40, -1834, 37, -1679, -1654, 129, + -1638, -1640, -1839, 129, 35, -1842, 129, -1849, + 40, -1815, -1845, -1852, -1853, 186, -1871, -1861, + -1860, -1859, 27, 27, 27, 96, 217, -1869, + -1867, 43, 237, 43, 118, 43, -1868, -1872, + -1873, -1710, 237, -1880, -1878, 164, -1879, 227, + -1936, -1908, -1903, -1899, -1895, -1892, -1889, 27, + 124, -1891, 124, 124, -1894, 27, 27, -1888, + 171, 88, -1870, -1894, -1901, 27, -1898, -1814, + -1906, -1866, 124, -1850, -1933, -1928, -1926, -1254, + -1251, -1250, 53, 52, -1784, 52, -1915, 100, + -4339, 52, -1915, -2561, -1918, 113, 40, -1925, + -1265, -1656, 236, 236, -1930, -1935, 236, 124, + -1941, 188, -1935, -1932, 125, 27, -1945, -1223, + 125, -1951, -1755, -2557, -1940, 125, -1940, 53, + 217, -2051, -2008, -1987, 186, -1969, -1964, -1338, + 24, -2013, -1948, 125, -1966, -1963, -1277, -1962, + -1939, -1973, -1972, 20, 20, -1977, 48, -1927, + 52, -1981, -1265, 52, -1976, -1829, 40, -1975, + -4251, 255, -1907, -1993, -1991, 20, 33, -1992, + 186, -1997, -1353, 21, -1921, -2001, -1394, 201, + 129, -2005, -2004, 201, 201, -2004, -1839, 129, + -2016, -1813, -1815, -1839, -2006, -2129, 129, -2014, + -2043, -2018, -2028, -2025, -2022, 36, -2024, 186, + 186, -2027, -2012, 186, -2027, -2035, -2034, -2033, + 2, 2, 36, -2039, -2033, 2, -1996, -2033, + 2, -1921, -2038, -2048, 240, -2027, 186, -1843, + -2050, 201, 201, -2100, -2098, 186, -2071, -2060, + -2058, 41, 41, 44, -2065, -2064, 88, 41, + 88, -2069, -2068, -2047, 41, 44, -1934, -2095, + -2092, -2087, -2081, -2079, -2078, 41, 41, 41, + 171, -2085, -2078, -2070, -2067, 171, 41, -2089, + 171, -2057, 41, -1986, -2068, -1838, 183, -2096, + 88, 36, -1906, 183, -2202, -2149, -2118, -2105, + -2094, -2107, 188, -2109, 56, -2113, -1984, 253, + -2111, -1295, -2116, 56, 56, 89, -2122, -2121, + 53, 53, -2145, -2135, -2128, -2127, 42, 42, + -2132, -2178, 89, -2117, -1295, 92, -2112, -2139, + -2116, 102, 102, -2143, -1295, -2137, 102, -1295, + 102, -2147, -2142, -1252, -2141, -2156, -2154, -2121, + 86, -2148, 41, 53, -2198, -2192, -2181, -2166, + -2164, -1256, -2153, -2134, 20, 253, -2174, -2171, + -2170, -1561, 53, -2170, -1567, -2172, -2171, -2170, + 183, -2176, 44, -2165, -2179, -2185, -1972, 20, + 253, -2189, -2127, 42, 183, -2127, 42, 134, + -2195, -2170, 134, -2170, -2191, -2188, -2199, -2201, + -2184, 42, -2216, -2207, -2190, 255, -2180, -2213, + -2211, 41, 44, 44, -2173, -2215, 42, 42, + -2218, -2163, -2226, -2223, -2116, -2191, 169, -2116, + 56, 134, -2223, -2230, 134, -2225, 48, -2222, + -2221, -2476, -2345, -2297, -2266, -2239, 149, -2259, + -2252, -2247, -725, -751, -2014, -2244, -2232, -2250, + 208, 169, 196, -2249, -2256, -2255, -2251, 208, + -2255, -2246, 253, -2263, -725, 75, -1561, -725, + 180, 253, -2267, -2281, -2271, 170, 104, -2278, + -2275, 186, 240, -2277, 240, 240, -2277, 240, + -2262, -2286, 240, -2285, 194, 194, -2290, -2289, + 210, 210, -2294, -2293, 210, 210, -2293, -2261, + -2295, -2304, -2301, -725, 245, -2303, -2257, 243, + -2334, -2322, -2315, -2313, -2312, 48, -2217, -2093, + 194, 164, 194, -2319, 241, -2318, 104, -2321, + 241, 241, -2327, -2325, -1558, -2292, 131, -2329, + 186, -2331, 194, -2333, 131, 210, -2338, -2337, + 243, 243, -2342, -2341, -2326, 243, -2341, 197, + -2343, -2374, -2368, -2357, -2351, -1054, 136, -2354, + -2318, 136, -2034, 36, -2350, -2366, -2318, -2363, + -2230, 131, -2356, 36, -2353, -2362, 104, 186, + -2372, 170, 40, 84, 186, -2350, -2456, -2453, + -2384, -2378, 57, 206, -2356, -2227, -2365, 131, + -2400, -2387, -2383, -2397, -2394, -2392, 51, 57, + 51, 57, -2393, 200, 131, -2399, -2383, 124, + -2419, -2416, -2410, -2405, 104, -2080, -1935, -2395, + -2386, -2382, -2414, -2080, -2409, -2412, 104, 171, + -2317, -2110, -2344, -2451, -2430, -1084, -2426, -1098, + 164, 200, -1098, 121, 131, -2383, -2444, -2437, + -2435, 124, 131, 57, -2383, -2441, -2393, 57, + -2436, -2393, 57, -2429, -2448, -2442, -2425, -2446, + -2442, -2447, 214, -1084, 216, -2455, 196, 124, + -2461, -2458, -2460, 199, 199, -2474, -2470, -2467, + -906, 216, -2465, -906, -2452, -166, -2337, 199, + 214, -2450, 166, -2469, -2547, -2510, -2507, -2490, + -2485, 33, -2484, 34, 34, -1992, -2034, -614, + -2475, 251, -2503, -2501, -1835, -1947, 216, -2494, + 252, -1916, 131, -2434, -2434, -2502, 170, -2506, + -2046, -2499, 186, -2509, 40, 51, -2540, -2526, + -2521, -2517, -2516, 119, 119, -1853, 186, 119, + 131, -2506, -803, -2434, -2361, -2361, -2533, -2529, + 186, 186, -2532, -2524, 34, -2049, -2536, -2523, + -2538, -2505, 201, -2495, -2542, 170, -2050, -1389, + -2489, 93, 251, -2639, -2550, 217, -2566, -2552, + -2555, 28, -2544, -2560, 51, 206, -2488, -2449, + -2564, 206, 136, -2562, 43, -2562, -2626, -2584, + 57, -1794, -1595, -2575, -1596, 43, -2563, -1596, + 43, 136, -2557, -2562, -2563, -2636, -2574, -2350, + -2620, -2611, -2600, -2560, -2564, -1534, 51, -2582, + 49, 121, -4345, -4343, 136, 121, -4324, -2593, + -2608, -1535, 49, -2577, 136, -4343, -2603, -2599, + -1594, -2350, 131, -2615, -358, -2609, -2350, -2619, + -2595, -2613, 121, 57, -2623, -1534, 121, -1534, + 51, -2618, -2631, -1906, -2629, 124, -389, -1148, + -2392, -1064, -2617, -2607, -4148, -2591, 136, -2665, + -2641, -2661, -2657, -2652, -2647, -2646, 124, -2646, + -1848, 40, -2562, -2579, -1888, -1860, -2353, -2651, + -2353, -2658, -1834, 40, -2353, -2441, -4263, -2656, + -2655, -2678, -2672, -2669, -2577, -1834, -37, 121, + -2675, 27, 33, -2677, -2670, 33, -1894, 234, + 234, -3076, -2846, -2758, -2704, -2699, -2694, -2691, + -2690, 172, 172, -2690, 172, -2679, -2696, 229, + -2698, 229, 229, -2703, -2698, 229, -2676, 226, + -2722, -2713, -2710, -2709, 238, 238, -2709, 238, + -2664, -2719, -2718, -2717, 239, 239, 242, -2721, + -2637, 239, -2724, 112, -2746, -2737, -2730, -2729, + 168, 168, -2734, -2733, 202, 202, -2733, 202, + 59, -2739, 112, -2743, -2742, 59, 202, -2742, + 202, -2736, -2754, -2751, -2750, 202, 202, -2750, + 202, 59, -2755, -2742, -2736, -2745, -2803, -2786, + -2778, -2771, -2738, -2767, -2766, 195, 195, -2766, + 195, 131, -2769, -2775, -2742, 168, -2769, -2777, + 127, 127, -2784, -2783, -2782, 212, 212, 205, + 195, 212, -2738, -2791, -2790, 195, 195, -2799, + -2796, -2790, 195, -2770, -2790, -2757, 59, -894, + 192, 97, -2798, -2829, -2819, -2814, -2709, -2811, + -2810, 242, 242, -2810, -2797, -2720, -2815, -2817, + 239, -2818, 137, -2827, -2824, -2823, 137, 137, + -2823, 137, 234, 239, 137, -2841, -2838, -2835, + -2834, 127, 127, -2834, 127, 234, -2777, -2826, + 234, -2845, -2616, 232, -2839, 212, -2942, -2904, + -2894, -2883, -2862, -2859, -2856, -2855, 172, 182, + -2858, 174, 174, -2692, 232, -2860, -2872, -2867, + -2866, 235, 235, -2869, -2844, -2866, 235, 121, + -2876, -2875, 235, 235, -2880, -2879, 182, 182, + -2879, 234, 121, -2892, -2879, -2889, -2888, 182, + 182, -2888, -2882, -2881, -2893, 209, -2902, -2864, + -2898, 176, 176, -3216, -2465, -2900, -2717, 214, + -2928, -2921, -2916, -2911, -2910, 74, 74, -2913, + 214, -2915, 215, 215, -2918, 202, -2733, 202, + -2903, -2923, -2618, -2925, -2922, -2915, 215, -2920, + -2934, -2933, -2932, 215, 215, 182, -2893, -2940, + -2938, 193, -2939, 215, 209, -2901, -3026, -2964, + -2957, -2950, 103, -2914, 215, -2891, -2956, -2955, + -2954, 242, 242, 178, 178, -2959, 176, -2810, + -2718, 234, -2961, -2618, -2972, -2971, -2940, -2969, + 215, 215, -2840, 193, -3010, -3000, -2982, -2979, + -2978, 114, 114, -2978, 114, -37, -2990, -2987, + -2986, 120, 120, -2986, 120, -2970, -2997, -2995, + -2994, -2962, 114, 32, -2949, -2999, 120, 120, + -3003, -2939, 249, -3007, -2939, 97, 93, -2939, + 215, 93, -3014, -3013, -3006, 120, -3017, 120, + -3005, -3021, -3020, 212, 212, -2969, -4242, -2912, + -3002, -2996, -3063, -3049, -2742, -3035, -2835, 114, + -4304, -2868, -2813, -3039, -3031, -2559, -2418, -3043, + -3042, 137, 137, -2828, -3046, 114, 114, 101, + 54, -3053, 55, 54, -3048, -3056, 212, 214, + -3060, -2939, -3055, 54, -2939, 215, 214, -3067, + 49, -3058, -3052, -3069, -3047, -3073, -2818, 137, + 59, -2818, 137, 206, -3429, -3222, -3143, -3119, + 242, -3083, 238, -3112, -3107, -3097, -3094, -3091, + -2800, 59, -3089, -2800, 192, -3075, -3096, 112, + 112, -3103, -2800, -3096, 112, 59, -3072, -3096, + -2800, -3101, 59, -3109, -3072, -3111, -3106, 196, + -2799, -894, 59, -3106, -3032, -3110, -3108, -3136, + 149, -3133, -3128, -2796, -3105, -4005, -2798, -2798, + -3130, 112, -2790, 195, -3126, -3096, 112, -3124, + -3140, -3139, -3093, 208, -3139, 131, 167, -3185, + -3177, -3161, -3156, -3149, 71, -3153, -3152, 107, + 107, -3152, 107, 206, -3158, 47, -3160, 47, + 47, -3174, -3173, -3166, 119, 146, -3170, -3169, + 119, 119, -3169, -3138, -2562, 77, -3176, -3172, + 47, 204, -3182, -3181, -3072, 91, -3181, 91, + -3180, -3197, -3188, 77, -1004, -3192, 126, -3101, + -583, 211, 62, -3191, -2741, -3201, -634, -2736, + 59, -3203, -2736, -3215, -3212, -748, -3169, -2515, + -3199, -3196, -3195, 97, -582, 211, -2801, -3219, + -3799, 97, -2801, -790, 211, -3214, -3344, -3259, + -889, -3247, -3233, -3230, 199, 239, -3232, -3210, + 199, -3241, -989, -116, -3184, -3175, -3505, -3068, + 55, -3245, -116, 204, -3240, 242, 206, -3255, + -3252, 55, 206, -3246, -3232, -3244, 55, 242, + -4304, 55, 55, -3310, -3298, -3275, -3264, 146, + -3272, -3268, 142, 38, -3270, -3257, -3271, 111, + -3274, 111, 111, -3279, -3278, -3254, 146, -3285, + -3284, -940, -3254, 55, 91, -3292, -3289, 204, + 38, -3291, -3254, 204, -3289, 38, -3282, -3032, + -3277, 130, -3301, 107, 130, -3303, 108, -3307, + -3306, -3297, 47, -3309, 47, 47, -3335, -3313, + 204, -3317, -3308, -3296, 35, -3332, -3326, -3323, + -3271, 111, -3316, -3271, 19, -3115, -3329, 204, + 60, -3331, 60, 60, -3334, 60, 60, -3339, + -3116, -3322, 97, -2822, -3342, 137, 137, -3211, + -3360, -3358, -3348, 126, -3355, -3353, -2842, -3005, + 97, -194, -3211, -3357, -3352, 63, -3359, 116, + -3397, -3393, -3391, -3379, -3376, -3373, -3370, -3369, + 30, 30, -3369, 30, -3351, -3375, -3337, 47, + -3378, -3315, 47, -3381, 47, -3389, -3386, -45, + 63, -3253, -45, 232, 130, -45, 130, -874, + -3388, -3395, 151, 204, 47, -3398, -3427, -3408, + 78, -3407, -3404, 25, -3406, 38, 38, 63, + -3422, -3419, -3416, -3306, -3396, -3392, -3387, 19, + -3306, 47, 232, -100, 204, 101, -3291, -3306, + 232, 232, -3424, 47, 63, -3823, -3687, -3558, + -3481, -3471, -3452, -3446, -3443, -3441, -3440, 175, + 175, 106, -3421, -3445, 177, 177, -3450, -3449, + 177, 177, 177, -3415, -3465, -3459, -3458, -3445, + 177, -3385, 106, -3463, -3445, 177, -3239, 106, + 177, -3469, -4101, -2332, 197, 106, -3467, -3474, + 87, 116, -3478, -3477, 47, 47, -3477, 47, + 206, -3544, -3542, -3513, -3488, -3487, 106, 106, + -3508, -3503, -3498, -3495, -3487, 106, 131, -3487, + 106, 206, -3496, -3487, 106, -3497, -3494, -3499, + 206, -4101, -3502, 197, -3510, 131, -3440, -3509, + -3507, -3521, -3518, -3517, -3506, 63, -3517, 63, + -3470, -3537, -3530, -3518, -3517, 224, -3520, -4100, + 54, -3528, -3518, -3517, -3055, -3532, -4359, 214, + -2450, -3540, 47, 63, 47, -3533, -45, -3541, + -3551, 205, -3548, 108, -3517, -3526, -3462, -3555, + -4345, -3038, 244, -3517, 63, 244, -3585, -3566, + 126, -3563, 221, -3565, 203, 203, -3567, -3578, + -3571, 223, 154, -3575, -3574, 203, 203, -3574, + 203, -3554, -3580, 244, -3582, -3554, -3584, -3577, + 203, -3673, -3648, -3627, -3607, -3596, -3594, -3593, + -3554, 203, 126, 203, -3603, -3601, -3600, 185, + 185, -3519, -3583, -3605, 213, 63, 126, -3613, + -3440, -60, 175, 213, -3604, -3619, -3440, -3519, + -3602, 252, -3554, -3622, -3621, 203, -3624, 63, + -3626, 244, 63, -3646, -3632, -3631, -3554, 116, + -3636, -3631, 116, -3618, -3644, -3641, -46, 244, + -3554, -46, -3618, -3635, 63, -3617, -3593, -3616, + -3670, -3660, -3656, -3621, -3595, 252, 252, -3653, + -3658, 150, 185, 252, -3665, 177, -3350, -3655, + 213, -3449, -3574, 213, -3667, -3664, -3672, 188, + 203, -3684, -3678, -3677, 130, 211, -3681, 126, + 130, -583, 188, -3676, -3220, -3671, -3669, -3780, + -3749, -3733, -3709, -3704, -3701, -3698, 116, -3595, + 206, 213, -3672, 206, 213, -3584, -3697, 213, + -3706, 181, -3672, 203, 213, -3717, -3714, -3713, + 116, 116, -3713, 116, -3703, -3725, -3722, -3721, + -3664, 116, -3721, 116, -3702, -3730, -3728, -3703, + -3713, -3667, -3705, 181, -3724, -3739, -3738, -3705, + 181, -3686, 178, -3743, -3738, 178, 206, -3746, + 181, 120, -3748, -3696, 120, -3761, -3754, -3753, + 205, 205, -3758, -2782, 212, 206, -2782, 212, + -3696, -3767, -3764, -3747, -3765, -3477, 55, -3775, + -3670, 37, -3662, -3282, 46, -3771, -3763, -3631, + -3759, 128, -3774, -3737, -3805, -3786, -3784, 185, + -3759, -3663, -3802, -3795, -3792, -3791, 198, 198, + -3791, 198, -3647, -3792, -3791, 198, -3388, -4132, + -3798, 130, -3804, 244, 198, -3810, -3807, -3809, + 198, 198, -3814, -3783, 244, -3557, -3816, 198, + -3820, -3819, -3803, 203, -3819, -3818, 200, -3965, + -3874, -3856, -3835, -3448, -3831, 204, -3822, -3833, + 204, 204, -3800, -3448, -3846, -3740, -3840, 32, + -2955, 244, -3841, -2037, -3554, 130, -3850, -3849, + 87, 87, -2997, -3844, -3843, -1409, -3834, -3794, + -3860, -100, 252, 213, 239, -3863, 213, -3867, + -3866, 60, 60, -3871, -3342, -3859, 197, -3342, + 137, -3869, -3905, -3903, -3891, -3882, -3849, 87, + 213, 197, -3312, -3887, -3417, -3873, -3554, -3417, + -3886, 213, -3889, -3331, -3895, -3334, -3888, -3899, + -3334, 60, -3885, -3334, -3858, 252, 200, -3904, + 225, -3935, -3930, -3478, -3917, -3915, -3913, -3334, + 200, -3334, -3902, 60, 200, -3475, -3922, -3334, + 60, -3916, 47, -3921, -3770, 200, -3579, -2578, + 200, 200, -3477, -2497, -3928, -3926, -3923, -3962, + -3943, -3941, -3334, -3914, -3901, 47, 60, -3959, + -3952, -3332, -1034, -3900, 128, 206, 128, -3948, + -3332, -3949, -3742, -3246, 24, -3251, -3954, -3477, + -3958, -3742, -3342, -3703, -3703, -3983, -3972, -3731, + -2980, -3703, -3964, -3963, -3978, -2999, -3872, 206, + -3246, -3251, -3013, -3953, 197, -3980, -3977, -3994, + -3989, -3987, 107, 205, 108, -3992, 47, -3971, + 114, 252, -4032, -4020, -4011, -4000, -3342, -3960, + -3332, -3962, 46, -3947, -2383, 42, -2353, -2353, + -4381, -4006, -2353, -4017, -4014, -2364, -3334, 60, + -4009, -4019, 136, 47, -4028, -4025, -3477, 206, + 136, -3477, -4023, -1274, -3309, -3359, -4026, -4018, + -4019, -3477, -3334, -4018, -4031, -4030, -4037, -2324, + -4147, -4347, -4213, -4183, -4091, -4075, -4062, -4049, + 232, -2341, -4058, -4055, -4054, 241, 241, -4054, + -4016, -3579, -4060, -3579, 241, -4057, -2341, -4072, + -4069, 232, -4068, 214, 214, -4060, 241, -4018, + 214, 241, -4031, -4084, -4082, -4080, 214, 232, + 232, 214, 232, 249, -4089, -4088, 104, -4018, + 232, -4088, -4031, -4135, -4125, -4123, -4113, -4109, + -4104, -4101, -4100, 46, 46, -4100, 46, -4074, + -4106, -4061, -4100, 46, -2654, 44, -2086, -3916, + -3579, -4121, -4118, -2333, 210, -4057, -2333, -4108, + 244, 241, -4007, -4124, 214, 49, -2082, -2078, + -4102, 122, -4129, -4122, 42, -4120, -4119, -4164, + -4160, -4151, -4144, -3051, -3055, -4134, -4056, -4003, + -3058, -3055, -3855, -3553, -4380, -2050, 201, -4153, + -4150, -4157, -4156, 54, 54, -4156, -4149, -2292, + 214, -4163, 210, 54, -4171, -4140, -4167, 214, + -4381, -2292, 210, -4174, -4073, -2292, -4176, -4169, + -4180, -4124, 210, -4175, -4124, -4159, 240, -4185, + 241, -4189, 241, 214, 186, -4203, -4195, -4124, + -4068, -2293, -4181, -4198, -4197, 210, -4200, -4194, + -4124, -4158, 48, -4205, 48, -4207, 240, -4123, + -4124, 214, -4202, -4008, -4210, -4333, -4281, -4222, + 232, -4219, 46, -4221, -4100, 54, -4254, -4234, + -4227, 46, 206, -4231, -4230, 55, 55, -4230, + 46, -4220, -4237, -3250, 44, -4252, -4246, -4243, + -4230, 44, -4236, -4230, -4236, -4242, -4250, 167, + -4245, -4233, 55, 48, -3240, -4212, -4258, -4257, + 54, 54, -4274, -4267, -4264, -4256, 54, 44, + -4256, -4256, 201, -4264, -4256, 48, -4265, -4211, + -4253, -4201, -4268, -4256, 56, -1295, -3979, -4277, + 42, -4291, -4289, 171, -4286, 151, -3005, -4279, + 53, -4088, -4288, -4296, -4293, -4295, 49, 130, + -4316, -4313, -4306, -4303, -3254, -4290, -4287, -3254, + 55, -2215, -4303, -3254, -4302, 53, 130, -4309, + -4308, -4315, -2224, 130, 55, -4320, 49, 44, + -4328, -4325, -4324, 49, 49, -4324, 49, -4276, + -4294, -4102, 46, -4276, -4327, -4340, -4335, -4182, + -4338, -4314, 214, -4312, -3048, -4081, -3051, 49, + -4343, 49, -4343, -1804, -958, -3946, -4278, -4362, + -4353, -4360, -4358, -4357, -4344, 252, 37, 49, + -4361, 37, -4366, -1171, 252, -4343, -4384, -4372, + -1164, 252, 100, -4344, -2496, -3655, -4378, -4377, + 37, 37, -4382, 130, -4356, 206, 206, 37, + -4310, 49, }; static long _vq_p_lsp32_0[] = { - 792, 980, 256, 788, 492, 236, 944, 944, - 944, 948, 968, 844, 844, 236, 604, 604, - 236, 236, 236, 236, 604, 804, 256, 256, - 256, 84, 804, 300, 236, 236, 968, 236, - 300, 236, 604, 236, 788, 788, 788, 788, - 604, 804, 804, 12, 604, 604, 972, 844, - 936, 844, 936, 936, 12, 844, 844, 844, - 980, 492, 492, 604, 604, 12, 604, 936, - 936, 936, 660, 816, 12, 84, 804, 244, - 256, 244, 256, 244, 244, 256, 256, 256, - 436, 436, 460, 944, 84, 788, 788, 788, - 384, 384, 436, 256, 804, 256, 804, 384, - 804, 804, 384, 72, 384, 384, 436, 384, - 360, 360, 360, 648, 360, 384, 384, 72, - 584, 128, 244, 244, 128, 128, 128, 128, - 128, 608, 244, 244, 608, 948, 236, 84, - 256, 300, 300, 460, 88, 164, 904, 588, - 164, 164, 164, 236, 236, 236, 236, 84, - 12, 588, 588, 12, 904, 904, 904, 12, - 588, 588, 12, 164, 84, 164, 944, 164, - 164, 164, 164, 12, 236, 72, 12, 816, - 12, 0, 944, 944, 0, 216, 588, 588, - 904, 904, 904, 656, 588, 588, 12, 904, - 12, 616, 948, 948, 948, 0, 0, 512, - 276, 408, 304, 132, 132, 132, 276, 632, - 792, 792, 408, 408, 792, 276, 792, 792, - 792, 888, 276, 276, 0, 792, 792, 88, - 632, 408, 408, 216, 408, 216, 216, 72, - 216, 216, 216, 304, 304, 212, 276, 276, - 212, 212, 212, 716, 532, 216, 792, 792, - 632, 632, 980, 864, 792, 792, 940, 792, - 792, 792, 792, 452, 864, 864, 100, 828, - 828, 828, 96, 816, 96, 600, 792, 600, - 452, 828, 600, 836, 836, 836, 836, 836, - 940, 452, 84, 84, 452, 300, 88, 864, - 864, 816, 160, 260, 452, 888, 216, 160, - 828, 792, 792, 792, 792, 792, 452, 304, - 304, 160, 304, 260, 260, 828, 304, 916, - 304, 828, 828, 304, 212, 828, 828, 828, - 828, 452, 172, 916, 172, 452, 816, 600, - 172, 472, 304, 632, 792, 792, 172, 632, - 304, 892, 260, 304, 260, 980, 780, 172, - 172, 916, 164, 164, 164, 980, 164, 164, - 164, 164, 640, 632, 172, 780, 260, 260, - 792, 792, 96, 164, 164, 164, 164, 260, - 632, 828, 828, 828, 260, 692, 828, 828, - 632, 216, 300, 632, 632, 904, 904, 300, - 828, 216, 216, 264, 828, 828, 828, 828, - 984, 264, 916, 916, 916, 916, 100, 980, - 100, 96, 632, 96, 88, 944, 828, 828, - 828, 640, 884, 316, 316, 316, 316, 316, - 316, 316, 88, 780, 368, 368, 512, 512, - 512, 572, 572, 572, 572, 368, 368, 12, - 532, 572, 164, 164, 164, 164, 12, 656, - 904, 12, 516, 572, 572, 572, 632, 532, - 640, 532, 532, 532, 716, 632, 632, 516, - 516, 640, 516, 88, 532, 532, 532, 572, - 572, 572, 72, 640, 368, 368, 836, 304, - 216, 220, 220, 216, 216, 220, 216, 216, - 216, 368, 376, 276, 368, 368, 276, 276, - 376, 304, 452, 304, 304, 304, 516, 960, - 472, 472, 452, 452, 264, 264, 816, 264, - 276, 276, 212, 212, 888, 304, 304, 304, - 888, 264, 264, 376, 276, 376, 276, 276, - 276, 888, 376, 16, 16, 488, 836, 836, - 836, 836, 836, 836, 144, 144, 452, 144, - 452, 264, 452, 452, 452, 144, 472, 452, - 816, 144, 396, 472, 212, 872, 872, 488, - 872, 872, 0, 888, 888, 304, 216, 844, - 216, 216, 216, 0, 844, 220, 368, 368, - 844, 492, 844, 492, 472, 304, 304, 304, - 304, 304, 304, 0, 844, 844, 0, 492, - 492, 844, 844, 376, 844, 844, 844, 936, - 376, 472, 472, 492, 472, 916, 916, 304, - 0, 472, 304, 304, 304, 452, 12, 472, - 12, 304, 304, 416, 368, 368, 916, 916, - 284, 492, 492, 492, 492, 284, 12, 916, - 312, 12, 264, 980, 264, 936, 396, 516, - 944, 936, 304, 304, 304, 304, 368, 396, - 376, 376, 284, 376, 452, 228, 12, 396, - 472, 396, 936, 376, 220, 220, 220, 220, - 488, 376, 844, 844, 228, 72, 368, 488, - 488, 376, 376, 368, 936, 936, 488, 488, - 488, 368, 228, 284, 284, 944, 488, 284, - 856, 580, 960, 324, 644, 836, 856, 792, - 276, 792, 228, 284, 12, 12, 792, 792, - 792, 792, 856, 856, 856, 324, 324, 324, - 0, 856, 856, 0, 940, 324, 888, 888, - 276, 780, 0, 48, 324, 48, 28, 324, - 324, 324, 856, 28, 896, 276, 276, 276, - 856, 856, 324, 324, 324, 896, 856, 856, - 28, 324, 324, 976, 324, 284, 276, 276, - 888, 276, 276, 276, 400, 836, 836, 836, - 48, 324, 324, 284, 276, 276, 12, 324, - 324, 12, 400, 400, 400, 836, 312, 12, - 12, 0, 836, 836, 836, 580, 872, 12, - 12, 896, 324, 836, 836, 836, 324, 0, - 836, 28, 400, 400, 0, 872, 836, 836, - 836, 836, 28, 940, 324, 324, 76, 284, - 324, 872, 836, 836, 836, 8, 8, 0, - 8, 324, 752, 752, 752, 752, 580, 872, - 324, 176, 176, 176, 176, 324, 192, 192, - 192, 192, 276, 276, 24, 276, 276, 24, - 580, 324, 324, 24, 64, 508, 508, 508, - 28, 192, 192, 276, 28, 408, 856, 408, - 856, 508, 508, 284, 132, 192, 192, 132, - 132, 132, 132, 708, 192, 192, 192, 284, - 192, 192, 192, 192, 284, 276, 276, 396, - 276, 132, 324, 396, 132, 132, 212, 216, - 216, 212, 212, 276, 780, 0, 0, 312, - 0, 284, 132, 132, 132, 324, 216, 216, - 220, 204, 708, 204, 324, 276, 276, 276, - 276, 8, 8, 8, 8, 836, 836, 836, - 64, 52, 76, 204, 276, 276, 204, 204, - 76, 488, 220, 220, 48, 248, 248, 248, - 48, 488, 48, 276, 276, 24, 960, 872, - 872, 872, 76, 580, 580, 8, 764, 864, - 872, 400, 872, 400, 900, 752, 752, 872, - 864, 864, 864, 8, 872, 872, 24, 836, - 836, 836, 836, 836, 8, 792, 792, 896, - 400, 8, 888, 864, 8, 752, 752, 752, - 864, 856, 856, 792, 864, 792, 792, 792, - 48, 28, 864, 988, 856, 856, 856, 856, - 988, 940, 28, 864, 864, 864, 24, 372, - 24, 856, 856, 856, 24, 312, 28, 8, - 856, 856, 312, 8, 8, 896, 896, 48, - 896, 896, 988, 988, 988, 988, 1000, 996, - 760, 760, 760, 760, 52, 864, 864, 24, - 12, 896, 12, 864, 864, 12, 896, 312, - 48, 300, 956, 956, 24, 760, 856, 856, - 52, 992, 988, 48, 992, 28, 400, 760, - 760, 760, 760, 760, 988, 896, 896, 28, - 920, 920, 920, 28, 416, 12, 12, 400, - 400, 400, 300, 988, 896, 896, 0, 8, - 760, 760, 760, 760, 760, 988, 992, 896, - 8, 212, 896, 896, 896, 976, 212, 0, - 856, 856, 856, 856, 956, 896, 896, 896, - 988, 956, 12, 12, 0, 752, 988, 872, - 872, 752, 752, 872, 920, 752, 300, 764, - 900, 752, 396, 872, 752, 752, 752, 752, - 752, 212, 416, 284, 284, 264, 400, 400, - 400, 400, 400, 400, 264, 868, 368, 284, - 284, 872, 872, 920, 920, 644, 872, 872, - 580, 580, 12, 752, 752, 752, 752, 644, - 920, 920, 12, 900, 900, 920, 756, 292, - 920, 756, 292, 756, 756, 756, 756, 756, - 12, 920, 508, 292, 760, 920, 760, 760, - 760, 760, 760, 956, 920, 920, 764, 764, - 764, 12, 848, 396, 292, 764, 764, 292, - 440, 264, 264, 992, 312, 368, 284, 368, - 756, 756, 756, 292, 292, 760, 760, 760, - 760, 760, 760, 264, 264, 976, 264, 956, - 368, 976, 976, 992, 396, 508, 284, 932, - 932, 920, 508, 508, 920, 508, 16, 16, - 292, 292, 760, 144, 920, 292, 292, 16, - 264, 312, 660, 300, 300, 760, 900, 400, - 212, 900, 60, 188, 920, 508, 508, 508, - 188, 932, 188, 760, 760, 760, 760, 576, - 188, 932, 932, 188, 400, 400, 300, 300, - 12, 400, 12, 920, 24, 188, 508, 508, - 508, 508, 932, 188, 932, 400, 400, 400, - 188, 312, 188, 188, 932, 188, 52, 400, - 400, 52, 300, 312, 160, 160, 864, 792, - 872, 836, 836, 836, 848, 300, 188, 872, - 188, 864, 160, 160, 864, 864, 188, 248, - 872, 248, 248, 372, 264, 340, 872, 160, - 76, 872, 900, 836, 836, 836, 96, 668, - 872, 536, 400, 400, 400, 400, 400, 400, - 536, 872, 872, 848, 536, 516, 872, 900, - 888, 516, 860, 176, 132, 132, 132, 132, - 132, 144, 860, 192, 600, 176, 176, 176, - 176, 860, 408, 324, 324, 212, 192, 192, - 172, 756, 752, 752, 176, 176, 600, 860, - 860, 324, 500, 716, 132, 288, 288, 132, - 500, 288, 288, 132, 288, 288, 268, 268, - 268, 268, 884, 288, 288, 288, 288, 288, - 288, 884, 332, 332, 884, 556, 332, 332, - 684, 860, 860, 172, 756, 756, 756, 756, - 756, 172, 556, 288, 268, 268, 172, 444, - 288, 96, 500, 444, 288, 288, 288, 288, - 288, 288, 536, 444, 536, 536, 408, 408, - 96, 860, 860, 860, 444, 292, 444, 292, - 444, 444, 444, 600, 880, 548, 536, 268, - 268, 268, 884, 752, 752, 752, 312, 536, - 504, 756, 752, 756, 752, 756, 752, 752, - 504, 108, 756, 756, 352, 764, 544, 752, - 752, 544, 756, 756, 756, 448, 268, 268, - 764, 764, 764, 764, 444, 268, 268, 448, - 268, 448, 752, 752, 752, 752, 764, 764, - 956, 956, 296, 764, 764, 764, 296, 312, - 448, 168, 268, 268, 168, 168, 956, 168, - 752, 752, 548, 764, 536, 820, 764, 292, - 292, 756, 756, 756, 756, 536, 292, 296, - 764, 764, 764, 764, 544, 952, 444, 168, - 292, 292, 292, 880, 352, 292, 536, 756, - 752, 752, 296, 764, 756, 296, 296, 752, - 820, 820, 352, 288, 976, 792, 288, 288, - 288, 504, 956, 792, 288, 884, 288, 288, - 288, 288, 504, 296, 372, 296, 856, 856, - 296, 352, 956, 352, 352, 856, 504, 168, - 444, 444, 444, 508, 168, 292, 292, 444, - 508, 932, 168, 168, 508, 168, 828, 828, - 956, 896, 504, 504, 828, 828, 884, 828, - 828, 856, 504, 884, 792, 792, 792, 792, - 504, 296, 296, 856, 212, 828, 828, 828, - 940, 864, 352, 500, 884, 884, 640, 792, - 792, 132, 132, 352, 856, 288, 884, 288, - 288, 296, 288, 792, 792, 792, 792, 296, - 296, 884, 856, 856, 168, 168, 856, 856, - 884, 168, 632, 288, 288, 500, 500, 408, - 408, 448, 168, 884, 296, 884, 884, 884, - 296, 640, 532, 532, 500, 296, 632, 892, - 412, 896, 268, 288, 268, 268, 956, 412, - 956, 288, 296, 884, 716, 332, 268, 552, - 268, 268, 296, 552, 776, 776, 884, 296, - 892, 132, 268, 268, 268, 892, 884, 884, - 332, 172, 820, 820, 884, 172, 364, 512, - 132, 132, 172, 352, 364, 364, 364, 364, - 364, 172, 552, 172, 296, 512, 512, 512, - 884, 552, 352, 884, 884, 884, 296, 168, - 552, 552, 532, 532, 168, 168, 848, 352, - 412, 552, 884, 884, 884, 884, 892, 640, - 532, 448, 552, 552, 480, 532, 40, 40, - 572, 532, 512, 316, 316, 316, 512, 432, - 432, 668, 432, 512, 512, 152, 152, 552, - 552, 644, 444, 860, 176, 192, 132, 132, - 132, 132, 132, 176, 176, 192, 652, 176, - 756, 756, 80, 176, 796, 288, 288, 176, - 176, 80, 480, 796, 796, 796, 80, 860, - 176, 860, 772, 772, 772, 772, 144, 832, - 832, 144, 796, 796, 544, 444, 756, 756, - 544, 772, 772, 908, 772, 772, 860, 796, - 772, 772, 772, 772, 832, 800, 800, 548, - 796, 796, 796, 800, 240, 772, 772, 240, - 860, 832, 240, 548, 772, 772, 772, 772, - 480, 832, 832, 832, 912, 332, 912, 832, - 800, 800, 800, 924, 832, 912, 912, 912, - 924, 924, 928, 908, 908, 556, 860, 796, - 796, 796, 56, 800, 800, 800, 56, 832, - 288, 288, 288, 832, 832, 832, 444, 288, - 40, 56, 268, 268, 268, 36, 36, 332, - 36, 36, 912, 332, 832, 372, 448, 68, - 4, 444, 752, 4, 756, 756, 796, 952, - 756, 756, 756, 756, 176, 176, 772, 772, - 796, 292, 756, 4, 292, 764, 756, 756, - 4, 740, 952, 952, 772, 544, 800, 848, - 240, 240, 796, 796, 796, 444, 292, 292, - 448, 932, 176, 4, 796, 796, 796, 796, - 796, 4, 4, 292, 292, 4, 240, 444, - 544, 800, 504, 736, 504, 240, 800, 796, - 796, 772, 772, 796, 800, 332, 912, 852, - 772, 852, 852, 852, 772, 772, 772, 240, - 800, 852, 800, 800, 852, 800, 852, 240, - 912, 912, 800, 504, 448, 800, 800, 800, - 664, 68, 80, 772, 772, 240, 852, 852, - 464, 768, 356, 356, 912, 756, 912, 752, - 752, 752, 356, 404, 820, 820, 820, 756, - 756, 756, 208, 208, 852, 852, 208, 912, - 208, 752, 752, 820, 820, 756, 756, 764, - 208, 820, 756, 852, 756, 756, 528, 852, - 404, 404, 756, 528, 952, 764, 404, 852, - 404, 268, 820, 764, 768, 344, 344, 820, - 268, 268, 344, 268, 268, 344, 912, 332, - 332, 344, 752, 820, 344, 228, 776, 776, - 776, 268, 228, 228, 752, 752, 752, 752, - 228, 820, 820, 820, 820, 348, 768, 228, - 228, 852, 852, 852, 348, 768, 404, 456, - 580, 476, 752, 796, 796, 176, 796, 176, - 176, 176, 176, 176, 580, 348, 796, 796, - 628, 580, 796, 796, 796, 796, 228, 628, - 628, 508, 932, 932, 812, 228, 228, 348, - 508, 508, 580, 868, 628, 192, 192, 228, - 228, 644, 752, 752, 752, 752, 176, 176, - 176, 176, 228, 420, 868, 868, 420, 184, - 752, 184, 628, 868, 752, 752, 868, 208, - 756, 208, 176, 208, 752, 580, 932, 900, - 900, 900, 208, 932, 932, 208, 208, 752, - 752, 208, 900, 292, 292, 476, 292, 292, - 348, 524, 476, 476, 292, 456, 456, 900, - 900, 356, 356, 628, 20, 20, 476, 900, - 476, 900, 900, 20, 20, 932, 932, 212, - 248, 248, 248, 900, 212, 900, 212, 872, - 900, 456, 456, 184, 232, 176, 176, 176, - 176, 176, 184, 456, 248, 184, 248, 232, - 184, 184, 184, 200, 200, 192, 192, 248, - 212, 212, 184, 580, 212, 184, 184, 184, - 456, 456, 620, 248, 248, 248, 248, 200, - 528, 420, 456, 456, 192, 192, 200, 192, - 200, 420, 200, 200, 348, 348, 248, 184, - 184, 184, 184, 248, 524, 580, 248, 248, - 348, 768, 816, 816, 248, 248, 248, 900, - 768, 228, 228, 524, 228, 228, 872, 420, - 900, 228, 752, 176, 176, 752, 248, 228, - 348, 200, 200, 204, 200, 200, 204, 192, - 768, 208, 464, 200, 208, 208, 192, 192, - 192, 208, 276, 404, 208, 248, 204, 204, - 208, 248, 248, 208, 860, 232, 176, 184, - 184, 184, 176, 176, 184, 184, 176, 176, - 176, 176, 176, 192, 228, 192, 876, 772, - 456, 772, 772, 232, 192, 192, 624, 456, - 356, 620, 184, 184, 456, 232, 356, 232, - 232, 484, 184, 796, 752, 752, 752, 756, - 796, 624, 784, 784, 176, 176, 176, 176, - 176, 348, 348, 768, 20, 20, 796, 20, - 628, 184, 908, 184, 184, 184, 184, 348, - 808, 20, 784, 808, 772, 772, 772, 20, - 796, 816, 348, 20, 800, 348, 808, 784, - 784, 784, 784, 784, 224, 224, 808, 800, - 796, 620, 348, 800, 800, 356, 784, 356, - 800, 772, 772, 464, 464, 796, 208, 208, - 772, 772, 208, 924, 784, 784, 224, 772, - 208, 808, 808, 808, 208, 908, 224, 208, - 876, 484, 176, 176, 772, 772, 772, 224, - 876, 800, 800, 20, 876, 796, 796, 20, - 796, 796, 796, 20, 880, 800, 800, 372, - 800, 416, 372, 312, 796, 796, 312, 800, - 800, 800, 312, 852, 456, 372, 372, 852, - 852, 312, 908, 312, 312, 312, 456, 900, - 248, 248, 456, 456, 312, 312, 900, 624, - 184, 184, 184, 184, 20, 456, 232, 20, - 248, 20, 372, 820, 140, 140, 812, 140, - 812, 812, 140, 140, 812, 140, 140, 196, - 196, 816, 196, 196, 908, 812, 812, 812, - 820, 820, 824, 820, 776, 900, 900, 184, - 184, 140, 184, 184, 140, 140, 140, 184, - 184, 20, 196, 184, 372, 900, 312, 312, - 596, 808, 140, 140, 808, 140, 140, 808, - 140, 808, 812, 464, 812, 880, 140, 140, - 140, 140, 140, 140, 620, 900, 464, 476, - 476, 900, 808, 372, 800, 800, 800, 372, - 372, 868, 420, 808, 140, 808, 140, 628, - 184, 184, 372, 196, 140, 140, 140, 140, - 808, 808, 196, 800, 800, 868, 196, 196, - 476, 476, 420, 808, 816, 224, 196, 812, - 196, 420, 908, 140, 140, 140, 140, 224, - 808, 372, 224, 184, 184, 184, 356, 812, - 224, 224, 140, 140, 140, 140, 356, 812, - 20, 20, 808, 224, 476, 800, 800, 224, - 476, 808, 800, 476, 356, 816, 20, 800, - 820, 820, 820, 820, 356, 292, 20, 852, - 852, 356, 476, 800, 292, 796, 796, 292, - 800, 800, 292, 312, 476, 796, 796, 816, - 848, 848, 476, 848, 816, 476, 800, 816, - 816, 816, 292, 868, 196, 196, 476, 852, - 852, 852, 196, 420, 952, 196, 196, 476, - 476, 848, 196, 952, 60, 628, 372, 440, - 820, 852, 140, 752, 140, 752, 752, 820, - 752, 212, 820, 752, 752, 212, 776, 416, - 308, 440, 820, 140, 440, 820, 140, 812, - 840, 840, 852, 840, 612, 752, 752, 440, - 272, 140, 140, 140, 140, 820, 272, 900, - 476, 816, 272, 272, 816, 148, 148, 140, - 140, 140, 140, 140, 272, 852, 816, 136, - 136, 136, 852, 852, 272, 136, 272, 852, - 232, 136, 20, 348, 752, 752, 752, 148, - 184, 148, 592, 184, 184, 196, 248, 348, - 872, 348, 332, 812, 832, 860, 800, 928, - 428, 456, 832, 832, 832, 832, 832, 876, - 876, 876, 876, 496, 928, 332, 348, 832, - 268, 840, 832, 332, 832, 832, 832, 840, - 332, 332, 840, 832, 348, 196, 924, 196, - 332, 332, 196, 196, 912, 136, 136, 332, - 332, 332, 556, 496, 136, 556, 776, 812, - 776, 136, 812, 812, 812, 424, 908, 428, - 556, 424, 820, 820, 776, 268, 332, 332, - 268, 136, 824, 776, 776, 824, 332, 196, - 776, 196, 424, 136, 840, 424, 424, 424, - 228, 136, 136, 868, 840, 252, 540, 908, - 496, 540, 820, 776, 776, 820, 820, 824, - 824, 252, 252, 824, 776, 776, 776, 776, - 424, 424, 540, 824, 332, 824, 824, 824, - 332, 272, 252, 824, 824, 824, 824, 272, - 424, 424, 148, 928, 136, 232, 272, 148, - 928, 928, 228, 252, 196, 964, 560, 776, - 860, 288, 332, 832, 132, 832, 332, 288, - 60, 332, 860, 860, 860, 332, 332, 332, - 60, 684, 364, 364, 212, 560, 560, 364, - 156, 132, 132, 132, 212, 156, 156, 156, - 224, 860, 212, 104, 268, 776, 776, 428, - 428, 268, 268, 540, 156, 20, 776, 776, - 776, 20, 540, 540, 272, 832, 272, 332, - 776, 776, 776, 372, 840, 840, 332, 332, - 840, 464, 556, 840, 224, 364, 132, 364, - 364, 364, 224, 224, 224, 432, 224, 224, - 824, 824, 868, 196, 196, 824, 496, 424, - 784, 780, 344, 156, 156, 344, 868, 232, - 868, 224, 780, 416, 184, 780, 416, 780, - 484, 784, 784, 416, 416, 224, 784, 496, - 772, 868, 908, 784, 784, 784, 196, 868, - 772, 196, 868, 868, 496, 772, 772, 232, - 232, 784, 784, 156, 156, 156, 156, 860, - 232, 860, 196, 868, 156, 868, 868, 868, - 868, 868, 868, 20, 424, 424, 196, 224, - 212, 424, 424, 196, 196, 212, 424, 780, - 780, 780, 780, 372, 664, 496, 496, 424, - 424, 424, 420, 420, 824, 824, 824, 424, - 424, 424, 560, 496, 224, 840, 484, 232, - 784, 232, 428, 772, 20, 780, 224, 784, - 224, 416, 416, 484, 772, 772, 772, 20, - 780, 232, 780, 156, 156, 156, 156, 496, - 232, 232, 232, 232, 348, 344, 344, 860, - 344, 860, 344, 344, 344, 224, 876, 876, - 224, 344, 20, 780, 780, 780, 484, 876, - 196, 344, 456, 196, 876, 832, 772, 196, - 832, 196, 784, 924, 876, 772, 840, 784, - 772, 772, 784, 784, 224, 420, 800, 196, - 876, 840, 780, 780, 840, 496, 560, 784, - 196, 496, 196, 840, 768, 768, 780, 768, - 664, 780, 768, 768, 768, 768, 768, 596, - 196, 812, 812, 812, 420, 424, 428, 780, - 780, 348, 224, 424, 348, 704, 812, 812, - 824, 252, 868, 908, 424, 812, 868, 812, - 252, 428, 868, 424, 252, 184, 784, 184, - 348, 784, 184, 184, 184, 812, 812, 908, - 416, 784, 252, 416, 812, 784, 784, 784, - 784, 252, 424, 424, 416, 184, 252, 208, - 184, 208, 784, 208, 140, 784, 184, 356, - 568, 808, 140, 464, 808, 596, 140, 140, - 140, 224, 224, 208, 924, 924, 924, 208, - 208, 928, 928, 928, 208, 252, 596, 780, - 780, 780, 424, 812, 812, 812, 208, 424, - 252, 424, 224, 272, 784, 784, 784, 784, - 784, 928, 924, 224, 908, 252, 924, 924, - 424, 424, 372, 420, 564, 592, 424, 528, - 528, 780, 780, 780, 780, 404, 424, 812, - 812, 812, 404, 424, 252, 252, 824, 252, - 232, 348, 348, 928, 420, 780, 780, 780, - 620, 780, 780, 184, 184, 184, 184, 184, - 868, 312, 312, 420, 620, 456, 868, 780, - 780, 780, 780, 868, 420, 312, 312, 540, - 456, 540, 868, 184, 184, 868, 184, 312, - 184, 252, 312, 184, 184, 252, 808, 252, - 596, 416, 900, 780, 780, 780, 252, 312, - 252, 808, 420, 528, 312, 312, 184, 184, - 528, 312, 812, 156, 252, 252, 416, 184, - 184, 184, 208, 232, 484, 232, 184, 208, - 208, 184, 184, 184, 208, 252, 784, 252, - 348, 228, 528, 208, 184, 848, 208, 784, - 252, 808, 208, 184, 420, 456, 208, 784, - 784, 184, 208, 252, 140, 928, 464, 840, - 808, 808, 808, 808, 924, 252, 848, 420, - 420, 928, 800, 800, 372, 196, 808, 808, - 196, 484, 196, 156, 156, 192, 132, 132, - 132, 196, 156, 156, 156, 440, 192, 848, - 848, 132, 848, 156, 232, 416, 840, 840, - 420, 840, 232, 192, 192, 420, 200, 848, - 840, 136, 468, 280, 208, 136, 308, 272, - 180, 136, 136, 136, 136, 136, 848, 848, - 148, 180, 180, 180, 380, 20, 428, 428, - 136, 272, 136, 136, 148, 136, 136, 136, - 272, 148, 148, 196, 136, 136, 136, 196, - 392, 272, 196, 196, 252, 252, 848, 440, - 868, 464, 272, 148, 148, 148, 252, 392, - 148, 148, 252, 272, 272, 272, 272, 252, - 272, 392, 540, 252, 280, 280, 280, 280, - 280, 156, 636, 392, 252, 252, 252, 568, - 252, 148, 148, 148, 148, 148, 252, 564, - 252, 252, 252, 272, 564, 252, 148, 392, - 148, 392, 468, 380, 180, 180, 372, 148, - 148, 328, 328, 148, 380, 380, 252, 272, - 328, 328, 328, 392, 392, 592, 328, 148, - 468, 592, 612, 348, 208, 20, 20, 20, - 20, 20, 328, 224, 224, 328, 328, 328, - 328, 568, 356, 528, 592, 208, 208, 208, - 528, 564, 404, 404, 356, 148, 148, 180, - 136, 224, 224, 224, 148, 348, 180, 180, - 180, 180, 148, 372, 148, 148, 20, 252, - 568, 392, 348, 252, 252, 136, 252, 420, - 180, 136, 428, 136, 136, 848, 528, 180, - 180, 440, 180, 196, 196, 180, 416, 196, - 840, 196, 136, 196, 428, 528, 148, 180, - 252, 180, 180, 180, 868, 252, 136, 252, - 160, 20, 180, 20, 180, 180, 160, 160, - 348, 348, 200, 456, 428, 248, 248, 248, - 328, 328, 392, 704, 252, 252, 252, 356, - 356, 328, 356, 200, 184, 200, 200, 392, - 252, 252, 200, 392, 328, 328, 200, 252, - 160, 160, 328, 328, 252, 184, 160, 160, - 328, 340, 200, 184, 160, 340, 252, 184, - 340, 356, 564, 340, 340, 252, 252, 252, - 404, 404, 348, 348, 356, 356, 340, 404, - 232, 232, 232, 328, 392, 180, 328, 180, - 180, 180, 180, 320, 328, 320, 320, 328, - 380, 380, 356, 280, 280, 280, 280, 232, - 388, 320, 320, 232, 340, 280, 280, 320, - 280, 280, 232, 232, 320, 320, 328, 320, - 320, 320, 328, 328, 388, 232, 340, 356, - 328, 60, 20, 20, 180, 224, 224, 224, - 340, 180, 180, 180, 356, 60, 320, 320, - 208, 20, 20, 208, 208, 372, 208, 208, - 224, 280, 224, 280, 280, 224, 224, 208, - 200, 224, 200, 200, 280, 280, 280, 320, - 320, 320, 356, 208, 356, 416, 868, 356, - 228, 60, 224, 180, 180, 180, 184, 228, - 208, 372, 208, 208, 280, 280, 280, 280, - 208, 416, 232, 208, 568, 404, 280, 232, - 224, 224, 224, 232, 344, 104, 232, 568, - 228, 228, 180, 180, 228, 20, 344, 328, - 388, 280, 328, 320, 320, 320, 320, 232, - 208, 340, 328, 328, 568, 280, 188, 188, - 188, 280, 280, 280, 208, 320, 320, 208, - 388, 340, 416, 228, 188, 188, 320, 388, - 188, 188, 188, 24, 228, 388, 320, 228, - 340, 340, 188, 188, 160, 160, 160, 188, - 188, 208, 208, 356, 208, 160, 228, 208, - 356, 320, 320, 320, 344, 344, 340, 344, - 340, 328, 328, 228, 340, 156, 320, 320, - 328, 328, 328, 340, 232, 568, 156, 156, - 232, 156, 156, 156, 340, 156, 340, 340, - 576, 356, 160, 160, 156, 20, 20, 156, - 812, 200, 200, 340, 200, 356, 208, 156, - 156, 156, 208, 880, 416, 156, 156, 416, - 156, 340, 340, 344, 344, 148, 32, 396, - 336, 336, 212, 272, 272, 272, 272, 44, - 336, 336, 208, 336, 280, 212, 212, 212, - 156, 272, 272, 416, 464, 416, 308, 468, - 308, 308, 308, 308, 64, 44, 44, 416, - 468, 468, 468, 416, 228, 228, 228, 308, - 212, 308, 308, 396, 64, 284, 284, 372, - 396, 380, 32, 180, 180, 180, 180, 180, - 180, 380, 32, 32, 392, 464, 280, 372, - 32, 280, 356, 272, 380, 184, 356, 372, - 280, 280, 280, 372, 392, 32, 184, 32, - 336, 336, 416, 184, 184, 392, 184, 228, - 32, 32, 416, 372, 184, 184, 356, 336, - 336, 336, 392, 380, 380, 184, 280, 280, - 280, 456, 336, 336, 184, 320, 156, 336, - 336, 232, 824, 380, 540, 44, 272, 272, - 272, 272, 272, 636, 468, 776, 776, 468, - 776, 540, 392, 336, 336, 336, 392, 392, - 392, 908, 776, 560, 336, 336, 520, 520, - 812, 776, 776, 280, 576, 284, 284, 284, - 576, 576, 636, 468, 468, 468, 776, 364, - 468, 812, 364, 520, 336, 336, 336, 336, - 720, 636, 540, 520, 388, 388, 520, 136, - 308, 136, 136, 136, 136, 136, 136, 344, - 184, 344, 156, 272, 272, 308, 212, 212, - 212, 212, 308, 136, 44, 272, 136, 812, - 156, 156, 272, 372, 156, 156, 540, 156, - 148, 136, 136, 148, 272, 468, 180, 180, - 180, 180, 180, 156, 392, 664, 380, 380, - 468, 540, 424, 180, 212, 440, 180, 180, - 440, 440, 20, 440, 824, 60, 8, 8, - 212, 8, 212, 212, 8, 8, 212, 824, - 212, 212, 824, 28, 44, 8, 8, 8, - 8, 824, 440, 32, 336, 336, 336, 336, - 776, 44, 32, 32, 776, 44, 540, 64, - 64, 824, 776, 24, 336, 24, 24, 8, - 32, 8, 8, 24, 776, 24, 28, 336, - 280, 280, 776, 868, 32, 868, 60, 280, - 320, 280, 320, 280, 280, 320, 320, 32, - 388, 24, 24, 24, 560, 280, 280, 540, - 32, 336, 336, 424, 24, 24, 868, 24, - 24, 24, 32, 320, 320, 868, 60, 32, - 868, 440, 336, 336, 380, 32, 848, 380, - 380, 320, 320, 320, 180, 180, 180, 32, - 320, 848, 768, 32, 768, 768, 20, 768, - 32, 180, 180, 440, 540, 184, 768, 768, - 540, 212, 212, 664, 20, 528, 60, 528, - 92, 24, 188, 212, 212, 868, 540, 52, - 188, 188, 188, 868, 528, 848, 52, 52, - 52, 848, 60, 848, 660, 664, 212, 24, - 28, 24, 540, 28, 24, 24, 528, 440, - 52, 440, 440, 148, 188, 188, 880, 148, - 148, 320, 148, 880, 848, 848, 280, 440, - 320, 184, 148, 560, 388, 388, 496, 388, - 24, 24, 188, 188, 188, 188, 496, 496, - 24, 24, 868, 868, 868, 24, 24, 868, - 564, 388, 528, 868, 868, 336, 280, 388, - 868, 340, 188, 540, 868, 380, 320, 320, - 156, 576, 156, 380, 380, 380, 156, 388, - 388, 468, 636, 468, 284, 284, 284, 344, - 156, 396, 344, 344, 380, 380, 424, 344, - 148, 76, 212, 28, 64, 212, 212, 396, - 464, 336, 336, 868, 908, 848, 440, 776, - 380, 8, 468, 8, 8, 8, 776, 776, - 468, 812, 380, 736, 848, 8, 8, 8, - 8, 8, 64, 44, 44, 848, 380, 824, - 336, 336, 336, 336, 768, 768, 44, 32, - 32, 768, 32, 32, 32, 32, 440, 380, - 336, 284, 284, 284, 284, 768, 468, 768, - 812, 468, 812, 824, 24, 24, 32, 8, - 8, 8, 8, 468, 776, 776, 812, 336, - 336, 336, 776, 768, 944, 24, 24, 24, - 336, 776, 776, 28, 28, 8, 8, 8, - 8, 524, 824, 520, 776, 440, 24, 212, - 440, 24, 212, 92, 576, 272, 776, 284, - 8, 8, 8, 776, 76, 284, 456, 272, - 272, 76, 812, 156, 848, 868, 156, 76, - 8, 8, 344, 496, 28, 868, 664, 380, - 868, 344, 16, 264, 776, 156, 212, 144, - 212, 264, 16, 144, 144, 344, 16, 16, - 264, 264, 144, 144, 264, 868, 308, 308, - 528, 308, 776, 776, 228, 308, 308, 16, - 228, 396, 16, 156, 16, 156, 156, 156, - 264, 284, 264, 308, 264, 264, 228, 308, - 308, 264, 264, 264, 520, 468, 228, 228, - 284, 396, 284, 344, 308, 816, 816, 308, - 396, 308, 308, 308, 496, 868, 468, 468, - 468, 520, 868, 520, 868, 264, 308, 780, - 16, 144, 144, 144, 144, 144, 512, 868, - 16, 16, 16, 344, 344, 264, 780, 868, - 364, 780, 416, 364, 520, 156, 156, 780, - 228, 364, 228, 228, 364, 776, 776, 228, - 520, 228, 228, 148, 272, 148, 308, 148, - 148, 148, 136, 148, 136, 136, 228, 148, - 780, 264, 228, 780, 148, 780, 272, 232, - 308, 308, 308, 272, 232, 468, 468, 232, - 468, 520, 148, 148, 228, 520, 468, 228, - 228, 148, 148, 344, 228, 156, 156, 156, - 156, 148, 148, 148, 148, 148, 148, 540, - 156, 520, 520, 520, 232, 456, 564, 312, - 768, 520, 520, 564, 768, 780, 776, 212, - 776, 776, 768, 520, 308, 768, 212, 308, - 312, 308, 308, 212, 396, 312, 308, 308, - 780, 824, 284, 816, 780, 468, 284, 768, - 468, 468, 768, 156, 768, 816, 328, 328, - 328, 468, 328, 328, 468, 420, 416, 420, - 468, 468, 880, 372, 520, 156, 380, 816, - 372, 520, 420, 848, 156, 156, 848, 340, - 848, 156, 156, 848, 520, 520, 344, 344, - 848, 312, 404, 404, 312, 420, + 256, 0, 28, 56, 92, 272, 20, 272, + 20, 272, 272, 20, 20, 20, 20, 56, + 272, 272, 272, 272, 272, 272, 312, 312, + 312, 312, 900, 308, 308, 308, 304, 56, + 484, 56, 308, 116, 20, 936, 316, 272, + 272, 272, 124, 116, 116, 116, 504, 124, + 936, 308, 308, 308, 308, 468, 116, 936, + 312, 116, 312, 312, 116, 900, 900, 936, + 700, 616, 616, 316, 20, 20, 316, 316, + 892, 900, 892, 700, 936, 892, 884, 716, + 56, 316, 716, 900, 900, 992, 828, 992, + 900, 992, 92, 92, 900, 992, 992, 900, + 92, 92, 492, 312, 312, 92, 716, 816, + 992, 992, 992, 664, 664, 568, 568, 664, + 992, 796, 568, 120, 968, 992, 88, 992, + 992, 496, 88, 88, 88, 716, 664, 492, + 468, 468, 56, 56, 88, 56, 56, 88, + 56, 88, 632, 88, 88, 228, 24, 92, + 56, 44, 44, 632, 56, 716, 92, 28, + 24, 24, 24, 24, 24, 492, 92, 92, + 716, 44, 44, 44, 468, 92, 612, 28, + 28, 44, 900, 312, 24, 24, 612, 612, + 312, 308, 308, 308, 612, 312, 304, 304, + 308, 468, 304, 312, 612, 28, 28, 28, + 28, 28, 248, 124, 888, 888, 308, 308, + 124, 888, 56, 44, 44, 44, 896, 116, + 716, 1004, 28, 56, 56, 56, 56, 612, + 88, 612, 124, 28, 92, 28, 124, 28, + 28, 92, 28, 28, 28, 28, 364, 180, + 92, 92, 92, 612, 984, 44, 44, 44, + 44, 984, 92, 92, 984, 92, 984, 612, + 180, 364, 308, 308, 308, 748, 44, 568, + 568, 120, 44, 44, 44, 468, 716, 400, + 716, 632, 92, 92, 364, 92, 632, 92, + 92, 632, 664, 364, 632, 364, 888, 88, + 88, 56, 888, 876, 56, 212, 876, 92, + 632, 180, 92, 624, 624, 4, 4, 20, + 20, 4, 20, 20, 20, 20, 20, 20, + 828, 4, 4, 324, 324, 324, 612, 400, + 612, 316, 316, 316, 612, 324, 272, 272, + 316, 20, 20, 20, 244, 316, 316, 892, + 360, 4, 360, 324, 612, 360, 112, 324, + 4, 324, 4, 88, 56, 56, 56, 88, + 88, 4, 88, 88, 88, 88, 88, 88, + 104, 104, 104, 888, 4, 112, 112, 876, + 360, 876, 112, 4, 56, 612, 4, 204, + 324, 716, 324, 360, 20, 272, 20, 316, + 20, 324, 20, 272, 272, 272, 936, 316, + 936, 308, 316, 324, 308, 460, 324, 324, + 324, 716, 716, 16, 56, 20, 20, 20, + 828, 56, 88, 16, 16, 16, 936, 56, + 56, 56, 56, 180, 88, 88, 936, 16, + 16, 16, 588, 204, 204, 588, 16, 16, + 16, 588, 20, 588, 112, 16, 16, 16, + 460, 112, 360, 360, 304, 88, 88, 304, + 632, 16, 624, 360, 20, 124, 232, 272, + 272, 20, 20, 20, 20, 56, 624, 124, + 272, 272, 272, 588, 684, 588, 588, 20, + 684, 460, 716, 56, 632, 632, 308, 308, + 612, 308, 124, 308, 612, 28, 308, 16, + 16, 16, 16, 16, 360, 360, 324, 324, + 324, 612, 752, 612, 588, 504, 476, 612, + 20, 20, 20, 20, 20, 124, 360, 360, + 612, 324, 324, 324, 324, 232, 504, 504, + 588, 360, 360, 360, 360, 612, 752, 888, + 888, 124, 124, 888, 612, 340, 304, 304, + 272, 272, 272, 308, 304, 304, 324, 308, + 612, 308, 308, 308, 304, 612, 632, 124, + 340, 588, 588, 504, 504, 124, 124, 272, + 272, 308, 588, 476, 308, 248, 28, 28, + 592, 588, 324, 84, 84, 324, 360, 652, + 360, 476, 324, 324, 624, 324, 324, 652, + 112, 680, 652, 652, 652, 476, 476, 504, + 272, 580, 552, 552, 552, 552, 552, 552, + 552, 652, 360, 360, 588, 756, 652, 652, + 876, 324, 324, 876, 876, 360, 592, 460, + 316, 316, 316, 316, 460, 400, 1004, 492, + 196, 716, 1016, 324, 324, 324, 652, 1016, + 580, 580, 580, 580, 580, 580, 980, 996, + 308, 308, 308, 996, 324, 876, 1016, 308, + 308, 308, 1016, 316, 1016, 996, 756, 316, + 20, 700, 272, 20, 20, 20, 1016, 528, + 272, 272, 272, 500, 316, 500, 716, 308, + 716, 20, 20, 20, 716, 492, 600, 944, + 944, 316, 944, 272, 272, 272, 944, 324, + 452, 308, 316, 324, 452, 580, 552, 552, + 552, 452, 892, 580, 580, 452, 580, 580, + 580, 932, 700, 892, 944, 932, 316, 316, + 932, 944, 600, 944, 716, 552, 400, 632, + 632, 884, 884, 632, 584, 596, 608, 584, + 656, 560, 596, 560, 560, 776, 584, 584, + 584, 656, 632, 596, 560, 768, 560, 560, + 560, 608, 608, 768, 560, 784, 600, 876, + 876, 560, 596, 596, 596, 784, 776, 776, + 492, 336, 584, 584, 28, 28, 284, 584, + 584, 784, 584, 876, 476, 584, 584, 584, + 476, 364, 364, 288, 284, 284, 284, 492, + 364, 364, 680, 336, 336, 476, 716, 784, + 284, 284, 284, 284, 284, 284, 832, 680, + 680, 716, 680, 1016, 1016, 596, 596, 596, + 596, 492, 680, 680, 520, 1016, 288, 596, + 596, 596, 596, 1016, 896, 680, 680, 888, + 336, 336, 888, 888, 880, 492, 984, 680, + 680, 984, 584, 568, 568, 984, 984, 596, + 656, 364, 564, 768, 584, 568, 564, 564, + 584, 568, 1020, 952, 664, 568, 568, 568, + 568, 364, 664, 564, 564, 564, 564, 564, + 664, 364, 1020, 584, 584, 584, 896, 288, + 584, 584, 584, 664, 748, 364, 564, 564, + 568, 568, 364, 796, 748, 564, 564, 568, + 956, 796, 796, 948, 948, 952, 584, 656, + 584, 568, 568, 584, 568, 952, 952, 644, + 336, 644, 336, 584, 584, 948, 784, 784, + 644, 644, 796, 656, 656, 656, 944, 568, + 568, 568, 568, 568, 944, 584, 452, 944, + 656, 584, 664, 664, 944, 452, 664, 944, + 784, 364, 568, 568, 364, 664, 568, 568, + 632, 664, 364, 364, 364, 632, 632, 28, + 28, 880, 632, 944, 264, 568, 568, 340, + 264, 264, 264, 44, 44, 632, 520, 876, + 568, 568, 568, 568, 664, 88, 876, 876, + 88, 88, 264, 532, 180, 264, 656, 656, + 656, 876, 664, 664, 664, 992, 992, 876, + 644, 644, 644, 264, 264, 796, 796, 592, + 28, 308, 284, 284, 16, 28, 876, 16, + 16, 268, 28, 920, 476, 180, 180, 16, + 16, 264, 364, 264, 364, 264, 1020, 364, + 16, 16, 16, 1020, 364, 920, 664, 112, + 596, 652, 652, 596, 112, 760, 596, 340, + 896, 920, 668, 920, 920, 16, 680, 112, + 16, 16, 16, 336, 112, 112, 920, 336, + 336, 336, 132, 132, 680, 680, 336, 468, + 112, 204, 16, 16, 16, 16, 112, 112, + 204, 88, 88, 888, 888, 340, 888, 936, + 16, 16, 360, 360, 112, 876, 656, 496, + 336, 992, 992, 644, 644, 664, 336, 336, + 336, 88, 88, 400, 936, 460, 664, 632, + 592, 644, 644, 96, 592, 592, 680, 680, + 680, 336, 592, 876, 876, 180, 88, 88, + 16, 16, 592, 588, 148, 588, 876, 16, + 876, 180, 16, 16, 16, 588, 336, 336, + 760, 588, 204, 460, 624, 336, 336, 624, + 496, 336, 664, 624, 16, 88, 88, 460, + 204, 592, 664, 592, 204, 884, 340, 600, + 552, 552, 552, 376, 600, 552, 552, 552, + 636, 600, 600, 592, 636, 552, 552, 592, + 588, 600, 600, 600, 756, 884, 884, 600, + 600, 600, 588, 32, 588, 588, 340, 340, + 636, 636, 636, 652, 592, 376, 880, 880, + 600, 340, 340, 600, 600, 600, 600, 376, + 636, 636, 624, 40, 40, 40, 40, 488, + 400, 488, 592, 340, 340, 340, 400, 592, + 624, 600, 400, 600, 600, 600, 600, 752, + 736, 736, 592, 376, 736, 684, 592, 624, + 376, 520, 268, 268, 892, 268, 736, 340, + 80, 52, 40, 40, 40, 40, 40, 40, + 40, 40, 200, 156, 156, 268, 80, 80, + 80, 268, 824, 588, 588, 52, 52, 52, + 80, 80, 80, 588, 376, 268, 376, 736, + 80, 80, 788, 136, 96, 96, 888, 80, + 40, 40, 40, 40, 40, 96, 340, 340, + 888, 80, 32, 340, 32, 32, 32, 212, + 888, 40, 40, 340, 340, 40, 340, 40, + 40, 200, 40, 200, 40, 40, 888, 624, + 752, 752, 488, 736, 684, 268, 268, 636, + 80, 80, 52, 80, 40, 84, 52, 52, + 40, 40, 52, 40, 80, 268, 84, 40, + 80, 96, 80, 80, 96, 268, 84, 84, + 888, 52, 52, 40, 80, 40, 636, 636, + 80, 96, 652, 552, 52, 552, 552, 552, + 268, 652, 636, 760, 52, 52, 52, 592, + 636, 592, 588, 652, 376, 40, 40, 40, + 588, 760, 52, 52, 52, 592, 636, 592, + 84, 84, 84, 652, 764, 804, 96, 96, + 96, 876, 652, 324, 52, 52, 376, 360, + 384, 376, 552, 360, 552, 552, 876, 876, + 400, 912, 912, 52, 52, 52, 52, 592, + 360, 980, 764, 324, 324, 360, 760, 552, + 552, 552, 552, 552, 488, 316, 316, 488, + 360, 324, 52, 360, 52, 52, 52, 52, + 52, 736, 376, 376, 316, 316, 488, 624, + 148, 692, 316, 316, 912, 912, 552, 552, + 552, 552, 552, 692, 920, 316, 592, 316, + 488, 376, 592, 316, 592, 892, 652, 592, + 316, 828, 736, 316, 316, 488, 488, 736, + 268, 268, 892, 892, 268, 268, 992, 992, + 400, 268, 736, 592, 244, 324, 324, 8, + 264, 264, 264, 104, 104, 104, 104, 104, + 172, 4, 268, 692, 4, 692, 488, 360, + 360, 692, 692, 384, 384, 384, 920, 392, + 920, 692, 104, 104, 4, 360, 104, 324, + 324, 84, 324, 324, 324, 268, 172, 112, + 268, 268, 84, 84, 268, 392, 920, 692, + 160, 104, 104, 104, 104, 268, 264, 4, + 4, 264, 172, 624, 112, 392, 692, 720, + 4, 720, 1000, 84, 652, 84, 324, 1000, + 1000, 360, 652, 112, 384, 324, 360, 324, + 324, 692, 920, 84, 84, 360, 360, 384, + 324, 324, 324, 112, 84, 84, 920, 84, + 84, 920, 132, 384, 384, 692, 324, 324, + 324, 692, 912, 912, 172, 360, 360, 360, + 360, 912, 112, 920, 436, 112, 436, 384, + 436, 720, 360, 764, 324, 324, 876, 84, + 84, 84, 680, 876, 652, 876, 804, 264, + 172, 80, 132, 84, 80, 80, 84, 84, + 384, 264, 160, 80, 52, 52, 264, 156, + 80, 980, 264, 52, 52, 52, 264, 156, + 156, 84, 84, 156, 720, 160, 0, 0, + 0, 0, 0, 0, 172, 384, 384, 920, + 104, 104, 104, 1020, 384, 1020, 80, 944, + 472, 80, 52, 52, 948, 944, 140, 944, + 944, 52, 52, 52, 944, 932, 196, 452, + 440, 384, 84, 84, 84, 440, 40, 40, + 160, 52, 156, 440, 104, 932, 496, 376, + 376, 52, 52, 52, 932, 200, 736, 932, + 376, 452, 452, 52, 52, 392, 876, 1016, + 384, 1016, 876, 140, 436, 932, 104, 992, + 736, 736, 736, 944, 752, 300, 200, 300, + 200, 200, 104, 104, 436, 300, 392, 932, + 876, 104, 876, 212, 992, 992, 736, 496, + 200, 32, 104, 0, 72, 80, 0, 0, + 0, 0, 0, 84, 220, 876, 944, 0, + 0, 0, 944, 436, 196, 436, 436, 80, + 196, 436, 876, 876, 84, 876, 84, 84, + 944, 264, 132, 264, 264, 80, 80, 80, + 264, 84, 84, 300, 684, 436, 300, 72, + 72, 72, 156, 72, 72, 72, 72, 136, + 84, 300, 436, 80, 80, 80, 80, 436, + 136, 264, 84, 84, 300, 136, 720, 436, + 80, 80, 132, 84, 388, 264, 472, 208, + 80, 80, 948, 300, 388, 300, 1020, 64, + 64, 72, 1020, 84, 652, 132, 0, 64, + 0, 0, 0, 104, 64, 0, 104, 0, + 0, 0, 1020, 160, 948, 104, 944, 992, + 104, 160, 440, 908, 352, 352, 992, 980, + 72, 64, 64, 64, 68, 64, 64, 64, + 64, 68, 68, 108, 68, 68, 352, 684, + 352, 64, 440, 72, 68, 72, 300, 68, + 68, 300, 160, 472, 160, 68, 68, 68, + 68, 68, 68, 472, 388, 440, 440, 636, + 184, 932, 932, 416, 932, 440, 156, 944, + 72, 72, 452, 440, 440, 68, 932, 684, + 992, 684, 992, 932, 452, 68, 752, 684, + 440, 68, 68, 148, 440, 288, 288, 684, + 684, 136, 80, 32, 72, 40, 80, 32, + 32, 684, 288, 932, 136, 288, 40, 932, + 288, 32, 32, 32, 72, 84, 668, 288, + 420, 80, 72, 288, 288, 72, 72, 420, + 668, 288, 452, 72, 80, 72, 72, 652, + 72, 80, 80, 80, 420, 84, 84, 84, + 420, 96, 96, 96, 136, 652, 420, 576, + 64, 64, 64, 576, 576, 352, 328, 576, + 96, 416, 72, 32, 144, 32, 32, 32, + 176, 72, 328, 144, 136, 32, 32, 32, + 32, 144, 136, 96, 96, 96, 576, 136, + 136, 288, 288, 136, 144, 136, 136, 576, + 744, 744, 960, 64, 64, 144, 32, 416, + 352, 352, 416, 416, 72, 32, 32, 32, + 72, 144, 32, 676, 144, 352, 1016, 64, + 64, 64, 64, 64, 64, 64, 684, 416, + 416, 352, 352, 288, 1016, 416, 416, 684, + 352, 68, 68, 576, 416, 676, 356, 68, + 72, 72, 72, 344, 68, 40, 40, 80, + 344, 752, 684, 684, 684, 40, 148, 344, + 1020, 156, 156, 156, 168, 320, 164, 32, + 32, 164, 32, 32, 156, 32, 32, 156, + 32, 416, 260, 260, 168, 260, 320, 96, + 96, 396, 344, 156, 156, 344, 676, 168, + 380, 80, 380, 96, 380, 684, 68, 68, + 320, 320, 684, 684, 68, 68, 32, 80, + 32, 32, 1020, 396, 68, 924, 32, 32, + 32, 924, 168, 156, 924, 1020, 68, 68, + 924, 356, 164, 732, 1020, 80, 68, 68, + 732, 68, 68, 68, 396, 72, 72, 396, + 32, 32, 556, 164, 556, 556, 72, 156, + 556, 160, 144, 72, 32, 556, 556, 32, + 32, 32, 32, 144, 556, 144, 144, 164, + 164, 556, 32, 32, 32, 556, 380, 8, + 8, 380, 96, 140, 328, 328, 148, 328, + 380, 336, 776, 596, 596, 560, 560, 596, + 596, 596, 596, 596, 556, 1020, 516, 680, + 680, 328, 776, 576, 680, 680, 1016, 960, + 776, 576, 576, 336, 336, 576, 300, 680, + 556, 556, 560, 680, 336, 336, 336, 416, + 416, 416, 416, 144, 144, 744, 680, 680, + 556, 336, 776, 336, 336, 416, 416, 416, + 416, 776, 744, 744, 744, 960, 776, 556, + 1020, 560, 644, 644, 556, 560, 300, 776, + 776, 336, 776, 336, 336, 388, 576, 732, + 656, 644, 644, 336, 416, 336, 352, 352, + 352, 656, 352, 352, 556, 656, 896, 416, + 416, 744, 744, 776, 888, 964, 644, 644, + 644, 908, 656, 656, 888, 964, 908, 888, + 984, 72, 64, 64, 336, 64, 524, 416, + 64, 800, 64, 64, 800, 72, 72, 72, + 388, 460, 460, 416, 624, 624, 336, 336, + 680, 336, 336, 60, 336, 888, 352, 336, + 992, 684, 496, 636, 888, 388, 888, 800, + 60, 644, 888, 60, 60, 60, 60, 60, + 496, 496, 336, 624, 612, 64, 612, 336, + 64, 64, 64, 644, 644, 64, 64, 612, + 612, 612, 352, 352, 588, 984, 644, 644, + 644, 388, 612, 352, 352, 352, 336, 336, + 336, 388, 352, 372, 372, 372, 644, 336, + 336, 336, 484, 108, 484, 644, 644, 644, + 612, 108, 108, 612, 336, 336, 372, 588, + 656, 984, 896, 684, 896, 644, 644, 680, + 992, 980, 992, 992, 908, 908, 644, 644, + 644, 856, 304, 908, 304, 304, 656, 656, + 984, 984, 644, 984, 960, 64, 64, 64, + 64, 72, 64, 64, 72, 144, 72, 984, + 1004, 372, 72, 84, 72, 668, 484, 612, + 636, 192, 372, 372, 612, 132, 136, 132, + 132, 612, 680, 680, 680, 496, 744, 596, + 596, 596, 596, 596, 744, 652, 652, 652, + 304, 132, 132, 304, 612, 304, 132, 652, + 652, 132, 84, 304, 132, 680, 136, 612, + 84, 304, 680, 304, 596, 596, 680, 680, + 484, 984, 984, 104, 992, 992, 84, 652, + 384, 384, 984, 84, 84, 192, 372, 304, + 112, 8, 236, 524, 132, 800, 104, 0, + 104, 0, 0, 0, 0, 0, 800, 104, + 104, 484, 668, 484, 484, 684, 484, 460, + 60, 60, 60, 60, 60, 60, 60, 460, + 148, 460, 32, 148, 936, 936, 684, 936, + 104, 104, 388, 460, 404, 388, 404, 404, + 112, 484, 460, 104, 104, 460, 404, 112, + 388, 404, 404, 132, 132, 132, 304, 160, + 160, 304, 160, 60, 60, 0, 304, 496, + 60, 60, 304, 304, 164, 404, 604, 60, + 992, 60, 60, 60, 0, 0, 60, 160, + 60, 60, 604, 604, 108, 0, 604, 800, + 484, 108, 0, 0, 588, 132, 148, 588, + 588, 64, 64, 64, 404, 72, 404, 604, + 0, 0, 0, 72, 604, 108, 72, 604, + 588, 808, 660, 704, 904, 872, 872, 872, + 872, 872, 904, 628, 628, 588, 988, 988, + 628, 628, 904, 640, 640, 640, 588, 660, + 956, 952, 640, 640, 640, 448, 660, 660, + 404, 704, 956, 640, 640, 704, 704, 640, + 588, 448, 660, 660, 872, 640, 672, 872, + 872, 640, 872, 872, 872, 704, 640, 640, + 404, 672, 672, 704, 704, 372, 508, 448, + 448, 372, 672, 620, 620, 620, 688, 672, + 672, 604, 448, 620, 604, 604, 672, 620, + 508, 280, 620, 280, 280, 280, 448, 620, + 620, 404, 372, 620, 620, 620, 304, 672, + 672, 448, 280, 280, 280, 280, 820, 780, + 620, 620, 660, 608, 608, 608, 768, 660, + 660, 660, 660, 304, 448, 524, 800, 448, + 448, 372, 372, 564, 564, 564, 564, 564, + 564, 564, 956, 952, 800, 372, 448, 444, + 444, 956, 968, 428, 428, 428, 428, 508, + 448, 448, 928, 444, 444, 456, 280, 280, + 280, 280, 456, 428, 428, 404, 428, 404, + 604, 280, 176, 604, 604, 508, 256, 872, + 256, 696, 256, 256, 256, 256, 256, 696, + 628, 628, 688, 872, 996, 980, 628, 872, + 872, 872, 916, 988, 996, 628, 628, 996, + 988, 988, 988, 696, 648, 648, 648, 940, + 696, 996, 936, 256, 256, 256, 256, 256, + 412, 12, 404, 404, 648, 728, 640, 704, + 872, 872, 640, 32, 484, 996, 12, 404, + 12, 256, 12, 256, 256, 256, 12, 12, + 372, 296, 296, 808, 256, 256, 296, 296, + 372, 848, 372, 688, 304, 620, 620, 304, + 256, 256, 256, 256, 688, 688, 412, 412, + 412, 412, 772, 848, 772, 304, 128, 12, + 12, 296, 12, 12, 12, 304, 12, 12, + 12, 12, 128, 128, 412, 296, 296, 704, + 128, 996, 404, 604, 412, 412, 412, 412, + 412, 772, 404, 712, 128, 456, 724, 36, + 36, 36, 724, 348, 348, 588, 296, 36, + 36, 36, 456, 296, 296, 588, 36, 36, + 36, 588, 128, 348, 604, 348, 348, 128, + 724, 724, 372, 296, 296, 604, 604, 480, + 480, 292, 348, 348, 292, 712, 712, 712, + 372, 724, 724, 724, 772, 480, 32, 292, + 292, 292, 296, 456, 296, 508, 296, 296, + 192, 292, 292, 296, 36, 996, 304, 36, + 36, 36, 456, 428, 428, 428, 444, 372, + 388, 808, 8, 372, 372, 296, 296, 216, + 620, 620, 372, 292, 508, 508, 292, 508, + 8, 292, 292, 640, 292, 704, 704, 704, + 524, 956, 956, 524, 584, 284, 780, 784, + 564, 608, 608, 564, 564, 564, 284, 564, + 564, 824, 140, 284, 284, 140, 564, 564, + 428, 584, 584, 584, 584, 388, 372, 284, + 284, 372, 140, 584, 140, 284, 388, 768, + 584, 584, 76, 76, 8, 76, 76, 284, + 284, 284, 280, 280, 76, 32, 140, 388, + 448, 284, 284, 284, 388, 280, 280, 800, + 608, 608, 76, 780, 768, 76, 76, 428, + 28, 428, 428, 280, 280, 564, 564, 564, + 284, 584, 584, 668, 28, 28, 564, 564, + 284, 28, 28, 584, 584, 28, 28, 28, + 28, 432, 284, 668, 524, 284, 284, 604, + 432, 564, 564, 564, 404, 284, 584, 584, + 372, 28, 28, 28, 432, 308, 308, 372, + 432, 432, 432, 604, 604, 308, 284, 372, + 292, 280, 292, 432, 284, 284, 284, 284, + 292, 292, 292, 76, 432, 432, 76, 284, + 144, 292, 292, 820, 820, 292, 564, 956, + 564, 564, 568, 564, 564, 564, 568, 76, + 956, 564, 564, 564, 76, 292, 144, 76, + 824, 956, 956, 956, 520, 796, 140, 956, + 568, 148, 668, 668, 952, 140, 520, 952, + 148, 140, 388, 364, 120, 28, 564, 564, + 28, 28, 28, 28, 568, 388, 120, 152, + 568, 568, 584, 584, 564, 388, 568, 364, + 564, 564, 140, 76, 568, 564, 564, 564, + 564, 120, 76, 152, 568, 568, 76, 148, + 76, 76, 564, 564, 48, 432, 28, 152, + 28, 48, 152, 428, 428, 444, 444, 100, + 100, 428, 564, 48, 388, 152, 444, 564, + 564, 564, 604, 568, 604, 604, 564, 564, + 564, 152, 152, 816, 444, 444, 188, 816, + 148, 76, 48, 564, 564, 564, 240, 48, + 432, 28, 504, 432, 28, 28, 8, 48, + 604, 308, 292, 308, 292, 432, 432, 444, + 28, 24, 28, 28, 24, 24, 24, 24, + 24, 44, 28, 28, 292, 28, 292, 120, + 28, 604, 308, 188, 24, 24, 24, 24, + 24, 76, 44, 48, 684, 308, 604, 24, + 604, 308, 48, 312, 312, 568, 152, 44, + 24, 24, 24, 24, 44, 44, 100, 100, + 24, 152, 24, 24, 24, 48, 604, 48, + 100, 100, 604, 24, 24, 604, 120, 120, + 404, 292, 292, 444, 444, 884, 116, 332, + 332, 312, 616, 312, 312, 312, 312, 312, + 424, 616, 292, 616, 616, 424, 900, 900, + 900, 700, 424, 292, 312, 312, 312, 312, + 312, 404, 348, 332, 332, 332, 48, 348, + 348, 332, 144, 800, 888, 900, 788, 332, + 332, 332, 348, 348, 348, 464, 424, 424, + 788, 424, 24, 116, 308, 308, 308, 116, + 312, 100, 24, 24, 24, 24, 788, 100, + 100, 524, 312, 312, 312, 668, 668, 900, + 896, 8, 896, 896, 900, 788, 116, 888, + 888, 308, 308, 308, 888, 188, 424, 424, + 668, 24, 24, 24, 24, 984, 984, 8, + 524, 372, 100, 100, 372, 984, 32, 304, + 304, 312, 312, 312, 424, 304, 44, 800, + 432, 432, 308, 308, 432, 372, 304, 100, + 32, 76, 852, 464, 464, 520, 884, 884, + 756, 580, 580, 884, 884, 756, 756, 616, + 892, 616, 580, 580, 580, 580, 700, 616, + 616, 520, 892, 512, 900, 512, 700, 512, + 708, 580, 308, 580, 580, 812, 580, 580, + 760, 504, 740, 740, 580, 308, 580, 580, + 308, 580, 760, 308, 512, 504, 740, 308, + 308, 308, 308, 572, 572, 116, 116, 116, + 572, 912, 912, 424, 700, 424, 700, 700, + 504, 880, 812, 464, 424, 424, 880, 740, + 464, 432, 432, 880, 432, 308, 308, 572, + 572, 432, 572, 572, 740, 880, 740, 880, + 424, 580, 580, 580, 580, 400, 392, 392, + 616, 880, 424, 880, 616, 616, 32, 880, + 520, 424, 424, 400, 392, 400, 740, 400, + 464, 432, 308, 308, 400, 740, 432, 432, + 880, 740, 880, 880, 740, 880, 880, 36, + 348, 36, 616, 616, 616, 616, 616, 616, + 520, 520, 424, 400, 400, 424, 400, 824, + 708, 708, 724, 724, 392, 36, 36, 36, + 36, 724, 348, 348, 392, 332, 332, 332, + 392, 708, 424, 424, 392, 424, 348, 572, + 424, 572, 348, 348, 572, 616, 616, 616, + 616, 572, 708, 348, 348, 348, 512, 708, + 708, 708, 712, 512, 724, 432, 432, 432, + 432, 740, 456, 456, 456, 392, 740, 740, + 392, 36, 36, 392, 456, 740, 392, 724, + 724, 668, 668, 392, 8, 824, 140, 456, + 456, 572, 572, 512, 724, 740, 616, 616, + 724, 572, 712, 616, 616, 616, 616, 724, + 712, 712, 392, 708, 708, 708, 752, 8, + 980, 760, 724, 760, 772, 884, 580, 884, + 884, 892, 580, 580, 604, 604, 740, 740, + 616, 616, 604, 792, 708, 588, 604, 100, + 128, 332, 312, 332, 312, 312, 980, 332, + 332, 900, 604, 332, 712, 332, 332, 332, + 348, 752, 880, 32, 880, 752, 36, 36, + 36, 332, 332, 520, 668, 880, 880, 604, + 816, 968, 692, 788, 128, 968, 488, 348, + 36, 36, 348, 36, 36, 488, 572, 128, + 128, 572, 816, 100, 312, 332, 312, 312, + 692, 692, 312, 24, 24, 692, 488, 312, + 572, 912, 572, 100, 332, 332, 912, 100, + 100, 100, 912, 152, 572, 668, 788, 312, + 332, 332, 332, 332, 36, 36, 36, 36, + 668, 464, 668, 348, 512, 332, 332, 332, + 332, 788, 348, 488, 96, 488, 488, 148, + 512, 572, 100, 96, 572, 572, 572, 36, + 36, 36, 36, 572, 572, 464, 464, 444, + 100, 100, 8, 512, 140, 804, 76, 76, + 152, 960, 140, 392, 636, 392, 392, 100, + 604, 788, 444, 788, 512, 128, 724, 36, + 36, 572, 572, 572, 36, 36, 36, 572, + 572, 572, 348, 96, 668, 572, 788, 432, + 280, 280, 280, 432, 428, 428, 428, 140, + 432, 572, 36, 36, 36, 428, 428, 572, + 36, 36, 8, 140, 788, 8, 788, 488, + 668, 488, 888, 428, 428, 888, 456, 456, + 888, 444, 512, 456, 428, 428, 428, 512, + 788, 456, 788, 760, 464, 456, 760, 760, + 348, 348, 348, 488, 488, 488, 140, 8, + 144, 292, 276, 292, 928, 908, 908, 980, + 980, 908, 276, 276, 276, 276, 908, 352, + 512, 760, 908, 604, 928, 604, 996, 996, + 276, 276, 276, 276, 964, 996, 996, 604, + 964, 1004, 604, 292, 276, 276, 276, 276, + 292, 292, 292, 292, 276, 276, 276, 588, + 684, 352, 588, 416, 416, 276, 176, 276, + 276, 276, 276, 276, 176, 164, 164, 588, + 164, 588, 416, 416, 512, 352, 352, 488, + 488, 276, 276, 276, 276, 488, 416, 488, + 588, 352, 624, 964, 840, 164, 276, 276, + 276, 592, 588, 588, 164, 800, 592, 176, + 276, 292, 276, 276, 276, 936, 588, 760, + 292, 292, 888, 512, 32, 144, 8, 372, + 668, 276, 276, 276, 176, 388, 668, 960, + 216, 176, 176, 184, 216, 372, 372, 1004, + 392, 176, 144, 1004, 984, 144, 984, 144, + 276, 276, 416, 416, 964, 144, 668, 560, + 560, 984, 984, 984, 668, 896, 896, 896, + 896, 668, 668, 668, 960, 668, 960, 984, + 216, 744, 184, 416, 176, 960, 776, 776, + 776, 776, 176, 392, 388, 184, 192, 292, + 292, 388, 144, 292, 144, 76, 76, 48, + 184, 48, 48, 48, 48, 48, 192, 388, + 416, 416, 668, 76, 8, 76, 76, 76, + 76, 144, 144, 140, 32, 32, 388, 96, + 96, 8, 140, 140, 192, 8, 668, 388, + 192, 668, 48, 48, 48, 48, 48, 388, + 184, 176, 668, 176, 176, 668, 668, 96, + 668, 32, 388, 388, 196, 196, 668, 168, + 164, 604, 292, 48, 292, 292, 48, 164, + 196, 980, 164, 752, 980, 684, 684, 752, + 388, 48, 48, 48, 48, 684, 684, 196, + 196, 32, 388, 388, 32, 752, 148, 684, + 752, 684, 96, 196, 196, 176, 176, 48, + 48, 48, 48, 48, 184, 164, 164, 8, + 164, 684, 684, 32, 32, 668, 984, 896, + 896, 32, 668, 8, 372, 216, 292, 192, + 184, 176, 176, 392, 148, 340, 600, 96, + 32, 340, 340, 340, 176, 148, 636, 8, + 636, 96, 880, 880, 880, 8, 400, 600, + 600, 600, 600, 8, 340, 340, 340, 340, + 340, 392, 392, 392, 8, 148, 400, 400, + 392, 32, }; static long _vq_q_lsp32_0[] = { - 72, 744, 408, 696, 584, 980, 604, 712, - 1020, 712, 712, 972, 604, 844, 712, 1020, - 256, 804, 604, 968, 968, 604, 804, 604, - 968, 112, 604, 112, 968, 1020, 1020, 968, - 84, 788, 712, 604, 712, 804, 604, 972, - 972, 604, 972, 112, 972, 712, 712, 972, - 604, 936, 944, 1020, 84, 604, 980, 1020, - 1020, 1020, 604, 980, 1020, 300, 980, 604, - 972, 712, 112, 688, 264, 100, 648, 384, - 712, 460, 968, 256, 436, 436, 436, 460, - 460, 680, 680, 968, 112, 804, 384, 712, - 712, 944, 680, 436, 712, 804, 712, 604, - 384, 436, 436, 112, 436, 712, 712, 680, - 384, 584, 712, 1004, 648, 712, 584, 100, - 680, 588, 460, 256, 948, 616, 244, 608, - 968, 968, 968, 608, 616, 968, 608, 116, - 608, 116, 84, 948, 116, 656, 980, 948, - 588, 236, 904, 904, 904, 588, 608, 88, - 116, 608, 968, 88, 588, 608, 616, 84, - 608, 616, 300, 948, 112, 948, 1020, 968, - 236, 980, 1020, 300, 980, 88, 88, 624, - 72, 112, 948, 968, 72, 904, 948, 616, - 588, 656, 696, 696, 656, 696, 72, 616, - 0, 696, 616, 656, 696, 88, 300, 972, - 656, 940, 980, 216, 632, 408, 408, 716, - 408, 632, 632, 716, 304, 408, 276, 888, - 700, 700, 888, 700, 84, 408, 632, 100, - 700, 632, 700, 276, 700, 408, 632, 100, - 304, 632, 700, 632, 700, 100, 304, 408, - 72, 112, 660, 724, 716, 980, 632, 724, - 980, 724, 724, 984, 888, 632, 700, 828, - 864, 452, 940, 940, 452, 940, 116, 864, - 452, 940, 116, 416, 100, 116, 452, 100, - 700, 632, 96, 864, 888, 452, 940, 700, - 700, 940, 600, 100, 888, 84, 100, 888, - 872, 312, 660, 300, 888, 896, 304, 300, - 632, 828, 700, 304, 452, 984, 984, 452, - 984, 260, 452, 660, 892, 940, 984, 700, - 916, 304, 700, 452, 260, 916, 452, 472, - 984, 472, 116, 984, 300, 472, 416, 96, - 96, 940, 700, 980, 304, 632, 600, 984, - 632, 600, 600, 980, 892, 984, 416, 600, - 892, 572, 1020, 904, 656, 984, 980, 632, - 640, 724, 724, 724, 260, 816, 116, 300, - 828, 632, 660, 828, 640, 632, 984, 84, - 640, 984, 632, 640, 112, 116, 632, 656, - 656, 980, 116, 724, 980, 980, 724, 340, - 944, 828, 980, 368, 916, 632, 984, 1020, - 1020, 692, 632, 980, 984, 1020, 692, 984, - 116, 692, 980, 100, 692, 948, 884, 944, - 640, 656, 632, 724, 532, 572, 512, 904, - 656, 696, 100, 624, 116, 692, 696, 572, - 948, 948, 640, 656, 696, 100, 88, 368, - 572, 640, 640, 948, 904, 656, 264, 724, - 656, 300, 692, 948, 656, 948, 656, 632, - 724, 640, 716, 724, 724, 640, 716, 100, - 100, 716, 72, 100, 640, 724, 572, 640, - 656, 724, 88, 656, 100, 88, 492, 940, - 304, 488, 708, 220, 376, 376, 708, 276, - 376, 72, 700, 376, 516, 692, 376, 708, - 708, 376, 888, 452, 472, 960, 72, 700, - 960, 700, 472, 960, 72, 516, 880, 368, - 888, 304, 72, 516, 980, 888, 700, 960, - 960, 692, 516, 488, 700, 960, 376, 888, - 960, 960, 960, 516, 264, 960, 872, 940, - 960, 472, 452, 888, 692, 516, 888, 264, - 472, 516, 472, 888, 960, 16, 960, 472, - 416, 212, 72, 940, 396, 900, 944, 960, - 472, 960, 396, 488, 900, 488, 304, 972, - 980, 220, 844, 72, 376, 844, 88, 72, - 980, 960, 1020, 936, 492, 472, 376, 376, - 492, 844, 980, 88, 492, 916, 72, 916, - 980, 376, 492, 492, 376, 936, 972, 972, - 936, 936, 944, 936, 492, 1020, 984, 472, - 368, 916, 452, 984, 472, 472, 368, 984, - 0, 492, 916, 880, 396, 72, 980, 984, - 72, 916, 984, 980, 1020, 368, 368, 980, - 416, 72, 72, 1020, 396, 1020, 516, 96, - 1020, 944, 452, 980, 376, 472, 84, 576, - 472, 960, 576, 980, 472, 624, 576, 76, - 936, 72, 960, 960, 844, 376, 488, 972, - 972, 488, 376, 488, 416, 76, 76, 972, - 936, 488, 936, 72, 960, 944, 936, 972, - 712, 396, 816, 76, 72, 712, 960, 396, - 484, 640, 684, 992, 708, 644, 996, 896, - 408, 276, 780, 368, 368, 76, 700, 940, - 856, 408, 408, 940, 940, 856, 408, 700, - 76, 408, 700, 396, 700, 940, 976, 896, - 324, 312, 72, 76, 888, 72, 76, 856, - 700, 896, 896, 72, 700, 324, 408, 976, - 408, 1016, 856, 896, 976, 976, 896, 976, - 48, 976, 1016, 1016, 408, 48, 700, 960, - 976, 836, 888, 324, 888, 324, 400, 888, - 76, 400, 888, 28, 324, 580, 76, 580, - 400, 72, 976, 580, 580, 960, 456, 284, - 48, 48, 872, 580, 960, 960, 580, 48, - 0, 700, 400, 324, 896, 996, 996, 28, - 400, 48, 888, 896, 72, 960, 872, 700, - 324, 940, 396, 996, 996, 940, 576, 28, - 872, 940, 960, 888, 324, 28, 284, 28, - 76, 1016, 176, 872, 324, 580, 644, 580, - 408, 508, 192, 324, 580, 580, 276, 580, - 324, 976, 324, 580, 576, 324, 580, 28, - 976, 508, 580, 76, 72, 580, 644, 976, - 72, 276, 408, 408, 64, 976, 976, 1016, - 1016, 976, 1016, 64, 872, 204, 408, 276, - 192, 708, 732, 732, 324, 708, 732, 28, - 276, 324, 708, 580, 396, 708, 324, 64, - 708, 216, 408, 64, 276, 408, 64, 276, - 408, 396, 28, 324, 664, 212, 72, 416, - 28, 64, 216, 324, 708, 708, 708, 324, - 708, 220, 732, 708, 708, 960, 580, 324, - 836, 64, 284, 212, 28, 700, 580, 872, - 76, 92, 92, 872, 708, 488, 220, 488, - 576, 708, 488, 708, 576, 580, 488, 960, - 76, 960, 52, 580, 960, 76, 708, 580, - 960, 708, 92, 960, 708, 92, 960, 740, - 988, 996, 900, 872, 944, 996, 872, 944, - 872, 940, 996, 76, 940, 996, 28, 996, - 896, 400, 864, 940, 76, 896, 864, 976, - 896, 28, 896, 896, 24, 988, 996, 1016, - 400, 956, 1016, 856, 940, 864, 896, 1000, - 52, 52, 896, 996, 864, 940, 988, 1000, - 1000, 1000, 48, 940, 988, 1000, 52, 524, - 48, 864, 940, 996, 28, 524, 48, 48, - 996, 896, 456, 28, 52, 988, 1000, 76, - 988, 996, 996, 996, 1000, 1016, 1016, 1016, - 956, 988, 864, 896, 92, 896, 988, 576, - 92, 988, 576, 988, 896, 48, 956, 372, - 112, 48, 988, 1000, 48, 956, 896, 1016, - 112, 1016, 992, 52, 996, 112, 976, 400, - 920, 896, 988, 992, 992, 988, 992, 52, - 988, 992, 996, 48, 624, 48, 300, 996, - 896, 992, 576, 996, 988, 992, 28, 112, - 976, 896, 988, 992, 1016, 992, 1016, 1016, - 28, 112, 976, 992, 1016, 992, 28, 112, - 988, 896, 976, 1016, 1016, 976, 956, 956, - 1000, 988, 0, 28, 48, 756, 992, 920, - 944, 872, 900, 900, 988, 920, 368, 920, - 920, 988, 516, 900, 644, 872, 920, 992, - 996, 64, 880, 368, 576, 576, 580, 644, - 872, 920, 992, 996, 284, 464, 576, 576, - 368, 644, 920, 644, 992, 992, 580, 644, - 644, 992, 576, 900, 920, 644, 740, 740, - 644, 740, 368, 920, 644, 644, 644, 932, - 740, 920, 508, 292, 764, 508, 1016, 992, - 284, 992, 920, 508, 292, 1016, 292, 764, - 920, 956, 988, 988, 988, 956, 920, 956, - 988, 264, 736, 516, 956, 292, 920, 920, - 880, 516, 396, 1016, 372, 396, 368, 396, - 508, 292, 740, 740, 508, 920, 932, 508, - 956, 976, 992, 396, 368, 1016, 284, 976, - 516, 1016, 992, 1016, 576, 932, 64, 976, - 956, 992, 920, 932, 932, 992, 516, 264, - 932, 900, 920, 16, 992, 920, 644, 396, - 112, 880, 112, 660, 48, 900, 932, 900, - 660, 580, 112, 112, 644, 920, 992, 932, - 660, 976, 300, 920, 400, 932, 976, 92, - 92, 976, 992, 576, 932, 976, 576, 48, - 48, 920, 300, 932, 48, 52, 644, 932, - 976, 992, 976, 48, 644, 580, 932, 976, - 24, 880, 576, 300, 580, 12, 92, 580, - 644, 112, 340, 848, 340, 300, 888, 864, - 944, 400, 864, 872, 880, 660, 660, 940, - 300, 872, 660, 188, 400, 872, 340, 580, - 944, 900, 872, 880, 300, 576, 488, 516, - 88, 900, 488, 400, 872, 888, 692, 692, - 960, 692, 976, 900, 580, 872, 888, 960, - 668, 960, 888, 440, 96, 668, 580, 580, - 976, 96, 988, 444, 556, 732, 176, 192, - 860, 668, 408, 860, 100, 192, 324, 860, - 508, 408, 508, 408, 508, 100, 408, 508, - 692, 508, 556, 756, 324, 860, 96, 508, - 556, 508, 96, 976, 332, 556, 716, 860, - 600, 860, 408, 716, 860, 716, 332, 288, - 884, 556, 556, 884, 556, 332, 884, 556, - 684, 684, 556, 684, 556, 684, 684, 716, - 716, 556, 684, 96, 508, 444, 1016, 268, - 556, 600, 1016, 1016, 288, 444, 500, 556, - 444, 692, 536, 1016, 976, 860, 408, 444, - 508, 1016, 692, 508, 672, 96, 508, 1016, - 100, 408, 444, 508, 508, 932, 508, 444, - 508, 932, 976, 668, 736, 668, 668, 288, - 952, 820, 1000, 884, 556, 944, 1012, 548, - 536, 1000, 956, 268, 556, 1016, 756, 764, - 548, 120, 556, 1016, 108, 268, 120, 268, - 556, 108, 764, 444, 268, 120, 1016, 444, - 1016, 268, 444, 956, 956, 444, 956, 108, - 1016, 544, 1000, 1016, 764, 268, 268, 268, - 1000, 1016, 448, 988, 1000, 1016, 120, 624, - 108, 108, 956, 1000, 448, 120, 1000, 352, - 764, 820, 672, 820, 672, 900, 820, 740, - 932, 764, 292, 444, 508, 548, 444, 544, - 508, 292, 444, 952, 548, 956, 952, 672, - 444, 952, 956, 688, 536, 444, 672, 508, - 756, 764, 120, 740, 764, 672, 544, 820, - 900, 952, 672, 444, 1016, 288, 976, 896, - 956, 672, 976, 856, 408, 1000, 884, 856, - 956, 1000, 120, 504, 624, 672, 956, 1000, - 352, 120, 1000, 672, 504, 408, 120, 120, - 1016, 976, 956, 932, 672, 444, 932, 932, - 956, 956, 504, 352, 1016, 296, 552, 632, - 1000, 900, 544, 536, 944, 640, 1000, 940, - 884, 884, 548, 940, 828, 1000, 856, 864, - 108, 668, 600, 1000, 296, 864, 940, 1000, - 1000, 940, 536, 672, 640, 1000, 1000, 896, - 640, 408, 632, 500, 408, 856, 716, 884, - 1000, 672, 716, 632, 856, 716, 884, 500, - 352, 716, 884, 716, 500, 352, 632, 884, - 632, 296, 716, 408, 884, 536, 600, 884, - 632, 892, 296, 632, 448, 1000, 632, 640, - 892, 716, 632, 640, 600, 500, 640, 500, - 500, 1000, 884, 716, 1000, 288, 1000, 892, - 716, 884, 892, 1000, 1000, 532, 820, 684, - 884, 716, 500, 716, 884, 552, 552, 412, - 600, 684, 884, 332, 716, 600, 684, 716, - 884, 500, 900, 884, 552, 892, 432, 572, - 684, 532, 412, 500, 532, 512, 552, 684, - 716, 500, 684, 352, 352, 552, 532, 552, - 512, 684, 412, 532, 552, 684, 352, 352, - 716, 684, 552, 684, 296, 412, 664, 120, - 672, 948, 640, 552, 716, 532, 544, 716, - 572, 516, 572, 640, 124, 552, 124, 480, - 948, 572, 552, 432, 512, 532, 532, 512, - 532, 124, 552, 552, 572, 668, 40, 948, - 572, 676, 628, 740, 876, 796, 732, 192, - 556, 860, 176, 192, 860, 860, 668, 772, - 508, 176, 668, 556, 976, 444, 860, 796, - 860, 652, 80, 860, 444, 508, 124, 444, - 976, 556, 796, 832, 860, 444, 152, 860, - 444, 668, 860, 444, 652, 556, 772, 444, - 548, 908, 556, 556, 444, 924, 556, 860, - 796, 800, 832, 876, 876, 832, 876, 652, - 876, 800, 832, 832, 652, 832, 860, 548, - 876, 860, 544, 668, 832, 908, 556, 912, - 56, 332, 912, 556, 556, 556, 556, 912, - 832, 924, 928, 928, 924, 924, 928, 744, - 928, 744, 744, 556, 744, 744, 556, 832, - 860, 800, 652, 444, 832, 332, 80, 860, - 832, 332, 444, 332, 444, 912, 912, 860, - 480, 68, 444, 332, 912, 68, 56, 912, - 480, 448, 556, 912, 332, 880, 544, 544, - 544, 912, 756, 68, 508, 444, 292, 1008, - 952, 796, 176, 1008, 796, 772, 796, 1008, - 1008, 740, 292, 448, 952, 952, 952, 740, - 36, 1008, 740, 1008, 796, 108, 952, 1012, - 108, 544, 292, 444, 952, 952, 444, 952, - 544, 976, 796, 108, 800, 292, 444, 508, - 932, 544, 448, 444, 508, 240, 68, 508, - 548, 932, 548, 1012, 544, 548, 952, 1008, - 912, 796, 800, 800, 912, 912, 556, 744, - 800, 912, 1008, 924, 1008, 924, 912, 544, - 912, 924, 852, 1008, 1008, 924, 912, 504, - 924, 744, 912, 108, 480, 924, 928, 744, - 736, 652, 600, 556, 908, 24, 908, 556, - 568, 736, 568, 704, 744, 268, 952, 852, - 756, 820, 404, 704, 852, 912, 556, 852, - 1008, 912, 704, 404, 556, 912, 356, 1008, - 568, 756, 820, 852, 852, 764, 820, 820, - 464, 952, 764, 740, 852, 952, 564, 952, - 564, 528, 952, 676, 740, 952, 676, 952, - 528, 556, 900, 268, 848, 676, 528, 912, - 820, 952, 404, 332, 912, 564, 952, 912, - 952, 564, 556, 912, 404, 564, 908, 820, - 556, 820, 404, 344, 820, 908, 556, 852, - 528, 852, 908, 556, 744, 404, 664, 404, - 348, 908, 556, 744, 528, 812, 456, 528, - 596, 708, 524, 292, 1008, 192, 932, 508, - 796, 580, 628, 644, 628, 528, 628, 644, - 644, 628, 508, 628, 644, 740, 528, 644, - 740, 644, 644, 628, 868, 348, 564, 420, - 644, 580, 628, 420, 644, 580, 628, 420, - 868, 740, 580, 176, 644, 1008, 644, 1008, - 580, 628, 348, 528, 1012, 564, 464, 1008, - 184, 628, 1008, 464, 740, 176, 420, 464, - 740, 420, 1008, 868, 872, 644, 976, 932, - 580, 628, 564, 580, 628, 348, 228, 644, - 900, 404, 740, 932, 644, 628, 476, 900, - 704, 660, 900, 740, 628, 660, 524, 628, - 644, 660, 524, 644, 660, 524, 628, 932, - 900, 932, 628, 356, 456, 628, 644, 660, - 872, 900, 580, 580, 524, 644, 20, 580, - 524, 524, 900, 524, 456, 192, 200, 232, - 628, 184, 580, 900, 524, 232, 900, 628, - 232, 200, 580, 580, 232, 232, 200, 456, - 524, 900, 200, 628, 248, 248, 628, 456, - 620, 628, 628, 456, 628, 660, 456, 248, - 688, 688, 580, 628, 200, 456, 456, 628, - 580, 528, 248, 524, 688, 528, 872, 628, - 524, 580, 644, 524, 644, 644, 900, 580, - 420, 312, 528, 688, 900, 524, 644, 524, - 880, 688, 528, 628, 816, 420, 524, 528, - 524, 348, 200, 580, 192, 580, 872, 404, - 420, 248, 580, 708, 204, 732, 732, 200, - 524, 688, 688, 708, 348, 404, 276, 580, - 708, 228, 580, 624, 624, 580, 248, 488, - 404, 488, 708, 228, 900, 784, 628, 200, - 484, 524, 232, 908, 232, 908, 772, 232, - 192, 860, 876, 860, 624, 232, 484, 876, - 624, 232, 484, 484, 232, 200, 688, 624, - 456, 628, 232, 620, 620, 456, 624, 484, - 620, 620, 796, 628, 908, 1008, 176, 1008, - 1008, 688, 744, 876, 784, 908, 628, 772, - 796, 688, 404, 816, 704, 404, 628, 356, - 1008, 908, 1008, 784, 908, 628, 808, 404, - 620, 688, 908, 924, 784, 484, 796, 348, - 800, 312, 704, 624, 628, 704, 1008, 796, - 800, 484, 808, 620, 704, 348, 620, 808, - 800, 628, 688, 808, 620, 624, 1008, 464, - 924, 796, 800, 688, 624, 800, 624, 464, - 784, 924, 356, 1008, 924, 1008, 356, 908, - 356, 908, 924, 1008, 224, 924, 464, 348, - 928, 620, 772, 796, 796, 800, 876, 20, - 484, 876, 484, 456, 484, 800, 876, 528, - 484, 800, 620, 524, 688, 620, 628, 688, - 620, 464, 880, 688, 908, 800, 880, 928, - 852, 924, 372, 924, 624, 624, 456, 924, - 908, 624, 924, 456, 372, 740, 596, 524, - 456, 900, 620, 900, 620, 900, 620, 688, - 524, 200, 232, 456, 372, 620, 456, 456, - 456, 624, 880, 476, 900, 964, 524, 924, - 820, 744, 812, 908, 908, 744, 820, 880, - 372, 880, 312, 20, 524, 820, 964, 524, - 824, 964, 964, 900, 820, 524, 964, 808, - 620, 900, 812, 908, 524, 184, 312, 312, - 524, 372, 688, 524, 524, 620, 620, 964, - 620, 908, 812, 964, 924, 808, 596, 596, - 924, 964, 596, 524, 908, 464, 800, 808, - 476, 900, 620, 964, 964, 620, 688, 900, - 620, 620, 620, 624, 924, 808, 476, 464, - 880, 416, 880, 924, 524, 852, 900, 1008, - 808, 620, 420, 688, 476, 808, 620, 628, - 620, 628, 880, 808, 476, 464, 420, 372, - 620, 628, 464, 476, 688, 464, 224, 464, - 420, 464, 924, 184, 808, 908, 1008, 372, - 908, 524, 20, 808, 908, 1008, 456, 908, - 20, 524, 800, 476, 808, 924, 60, 868, - 60, 356, 476, 356, 1008, 476, 924, 20, - 1008, 476, 476, 628, 524, 416, 624, 924, - 476, 952, 900, 740, 464, 952, 456, 952, - 740, 372, 900, 852, 628, 800, 292, 476, - 952, 476, 476, 456, 952, 800, 476, 1012, - 420, 528, 628, 688, 688, 628, 476, 848, - 528, 420, 740, 416, 528, 420, 628, 476, - 952, 740, 848, 464, 740, 20, 312, 952, - 740, 880, 348, 740, 660, 740, 564, 524, - 744, 476, 900, 908, 740, 820, 140, 852, - 820, 900, 740, 852, 740, 440, 440, 908, - 440, 612, 852, 820, 736, 908, 852, 736, - 736, 440, 908, 612, 736, 820, 900, 612, - 736, 1008, 900, 820, 476, 476, 612, 740, - 628, 848, 440, 840, 664, 272, 612, 476, - 744, 852, 924, 908, 840, 908, 420, 840, - 272, 148, 908, 924, 464, 612, 308, 476, - 456, 212, 428, 592, 900, 908, 524, 612, - 908, 592, 612, 524, 620, 592, 900, 612, - 900, 592, 484, 684, 424, 556, 832, 560, - 612, 560, 332, 560, 860, 876, 928, 928, - 928, 496, 560, 560, 560, 560, 428, 560, - 332, 612, 928, 556, 332, 912, 744, 428, - 912, 744, 348, 556, 428, 612, 928, 428, - 912, 928, 348, 840, 928, 612, 840, 928, - 556, 560, 560, 560, 348, 560, 540, 824, - 908, 428, 908, 424, 744, 744, 556, 592, - 744, 556, 824, 744, 820, 820, 556, 744, - 332, 148, 744, 824, 424, 424, 556, 20, - 424, 212, 556, 428, 728, 496, 540, 908, - 816, 728, 840, 664, 428, 728, 556, 540, - 556, 556, 744, 824, 900, 824, 332, 332, - 900, 428, 840, 964, 824, 424, 560, 540, - 540, 560, 560, 540, 744, 332, 560, 928, - 928, 728, 728, 424, 928, 560, 744, 840, - 928, 560, 612, 560, 148, 416, 840, 252, - 560, 964, 868, 348, 440, 744, 964, 552, - 556, 684, 560, 332, 860, 860, 716, 332, - 660, 860, 716, 456, 560, 860, 560, 684, - 524, 716, 684, 560, 60, 676, 684, 684, - 364, 156, 860, 684, 660, 860, 560, 684, - 524, 560, 524, 728, 332, 268, 884, 728, - 104, 556, 884, 560, 556, 104, 540, 556, - 684, 428, 556, 684, 840, 332, 104, 716, - 332, 556, 560, 464, 464, 372, 556, 560, - 428, 728, 684, 464, 728, 716, 364, 432, - 512, 552, 464, 840, 428, 512, 372, 372, - 552, 716, 528, 372, 224, 732, 596, 928, - 424, 908, 416, 868, 496, 496, 496, 416, - 416, 428, 484, 496, 416, 1012, 1012, 496, - 496, 416, 484, 484, 496, 20, 496, 1012, - 860, 416, 556, 908, 868, 496, 428, 908, - 496, 20, 496, 556, 556, 784, 232, 784, - 416, 908, 416, 556, 232, 860, 868, 868, - 860, 496, 224, 1012, 868, 908, 556, 496, - 424, 540, 560, 372, 540, 496, 840, 104, - 20, 908, 496, 20, 212, 104, 744, 560, - 424, 496, 664, 524, 1012, 1012, 664, 496, - 664, 1012, 728, 464, 424, 560, 664, 496, - 560, 664, 664, 560, 464, 728, 928, 456, - 876, 484, 704, 784, 428, 484, 428, 484, - 20, 484, 496, 496, 876, 232, 860, 348, - 496, 484, 484, 344, 860, 232, 560, 560, - 484, 344, 860, 876, 704, 860, 876, 876, - 860, 496, 876, 484, 496, 348, 484, 496, - 20, 560, 348, 484, 456, 344, 620, 456, - 348, 456, 484, 20, 496, 928, 832, 224, - 860, 428, 800, 744, 928, 784, 428, 876, - 924, 928, 924, 928, 420, 428, 876, 348, - 928, 348, 928, 560, 420, 560, 676, 496, - 420, 928, 840, 428, 312, 964, 784, 824, - 1012, 664, 780, 812, 424, 596, 1012, 1012, - 224, 424, 596, 1012, 704, 596, 728, 424, - 596, 372, 60, 596, 428, 728, 824, 424, - 424, 704, 416, 556, 540, 908, 1012, 424, - 428, 728, 908, 908, 348, 416, 596, 784, - 404, 908, 812, 908, 596, 908, 596, 596, - 1012, 416, 704, 908, 908, 812, 424, 596, - 1012, 404, 1012, 596, 880, 232, 348, 348, - 456, 252, 908, 728, 812, 596, 524, 568, - 728, 924, 596, 568, 596, 964, 924, 596, - 964, 568, 464, 568, 596, 928, 964, 464, - 728, 744, 964, 596, 224, 568, 964, 596, - 424, 928, 928, 596, 908, 744, 252, 744, - 728, 908, 356, 728, 424, 908, 924, 928, - 596, 596, 596, 704, 924, 840, 596, 596, - 924, 928, 440, 664, 676, 676, 928, 592, - 564, 964, 824, 928, 424, 564, 928, 824, - 424, 964, 528, 964, 564, 404, 424, 348, - 416, 404, 528, 964, 736, 928, 484, 1012, - 964, 596, 416, 780, 312, 456, 620, 624, - 420, 456, 620, 736, 624, 624, 736, 312, - 624, 456, 620, 420, 564, 456, 620, 564, - 620, 736, 540, 416, 456, 564, 416, 596, - 312, 540, 620, 808, 596, 868, 596, 736, - 620, 596, 964, 596, 312, 964, 420, 596, - 464, 596, 528, 564, 1012, 964, 812, 312, - 736, 596, 312, 564, 464, 564, 1012, 416, - 596, 1012, 564, 456, 596, 484, 232, 568, - 252, 416, 784, 484, 464, 420, 484, 348, - 528, 528, 564, 420, 784, 528, 252, 808, - 564, 596, 348, 456, 464, 620, 868, 484, - 808, 464, 404, 464, 808, 964, 736, 420, - 964, 924, 596, 928, 928, 840, 420, 736, - 464, 964, 928, 484, 420, 840, 484, 928, - 372, 928, 420, 200, 344, 732, 156, 192, - 860, 840, 192, 232, 860, 612, 232, 736, - 612, 156, 440, 732, 344, 464, 612, 440, - 664, 848, 456, 200, 232, 612, 232, 736, - 420, 88, 1012, 520, 64, 340, 356, 720, - 392, 428, 180, 104, 148, 592, 420, 612, - 592, 104, 380, 592, 592, 428, 592, 104, - 104, 308, 612, 592, 252, 148, 272, 392, - 392, 272, 392, 848, 252, 272, 392, 420, - 728, 392, 840, 440, 272, 392, 880, 464, - 664, 736, 464, 392, 592, 252, 736, 592, - 592, 272, 840, 612, 280, 392, 104, 420, - 540, 104, 736, 540, 392, 328, 720, 392, - 336, 720, 720, 720, 392, 568, 720, 720, - 328, 468, 392, 720, 252, 564, 272, 592, - 564, 592, 564, 540, 720, 392, 736, 720, - 540, 720, 720, 468, 392, 328, 880, 272, - 252, 380, 592, 840, 720, 392, 464, 308, - 392, 592, 720, 592, 720, 720, 468, 612, - 592, 612, 676, 60, 252, 704, 404, 592, - 660, 456, 404, 704, 568, 592, 356, 568, - 704, 704, 704, 612, 704, 704, 404, 564, - 592, 568, 564, 568, 404, 592, 676, 328, - 592, 728, 428, 20, 528, 592, 104, 20, - 428, 704, 592, 416, 348, 252, 428, 348, - 728, 568, 528, 728, 392, 252, 348, 528, - 704, 392, 104, 180, 428, 420, 612, 428, - 728, 612, 104, 528, 848, 392, 880, 440, - 612, 420, 428, 348, 704, 736, 564, 380, - 348, 392, 252, 592, 104, 592, 624, 392, - 732, 704, 20, 592, 428, 592, 204, 200, - 428, 592, 248, 524, 592, 660, 524, 456, - 380, 592, 720, 728, 568, 328, 404, 524, - 456, 404, 456, 660, 464, 456, 356, 728, - 328, 392, 524, 568, 392, 568, 248, 568, - 356, 456, 568, 404, 328, 416, 248, 200, - 564, 456, 340, 880, 200, 356, 564, 372, - 732, 464, 568, 568, 356, 564, 348, 404, - 456, 592, 704, 404, 456, 404, 356, 564, - 356, 340, 624, 704, 568, 280, 720, 380, - 392, 320, 328, 328, 392, 328, 380, 380, - 392, 720, 464, 320, 388, 392, 720, 464, - 720, 328, 388, 356, 356, 568, 60, 388, - 320, 388, 404, 356, 60, 356, 720, 328, - 568, 388, 568, 388, 568, 340, 404, 568, - 356, 104, 660, 356, 280, 704, 20, 60, - 356, 20, 320, 60, 404, 704, 60, 704, - 404, 320, 60, 356, 340, 524, 232, 464, - 60, 60, 704, 60, 568, 280, 356, 624, - 356, 356, 340, 232, 320, 60, 568, 60, - 704, 356, 704, 568, 60, 464, 416, 60, - 416, 660, 20, 704, 280, 392, 232, 868, - 228, 624, 868, 416, 568, 392, 104, 728, - 464, 420, 416, 404, 728, 456, 728, 624, - 568, 104, 704, 456, 404, 704, 344, 704, - 624, 404, 20, 104, 344, 704, 416, 404, - 720, 356, 388, 340, 380, 328, 568, 344, - 416, 568, 340, 576, 576, 60, 388, 280, - 340, 568, 320, 388, 344, 340, 388, 232, - 568, 388, 624, 416, 60, 320, 60, 60, - 388, 340, 576, 388, 416, 576, 340, 232, - 388, 576, 320, 340, 188, 660, 356, 356, - 60, 624, 232, 60, 228, 340, 344, 404, - 60, 328, 340, 356, 456, 564, 356, 868, - 344, 340, 356, 356, 732, 340, 60, 660, - 720, 340, 468, 344, 344, 720, 340, 568, - 340, 576, 720, 340, 564, 344, 576, 720, - 720, 568, 356, 340, 340, 404, 356, 232, - 880, 340, 232, 356, 732, 404, 344, 564, - 340, 564, 340, 1012, 464, 344, 208, 880, - 340, 404, 564, 404, 676, 52, 428, 576, - 396, 636, 104, 280, 336, 44, 104, 104, - 44, 104, 232, 104, 104, 44, 272, 308, - 568, 636, 308, 1012, 624, 688, 44, 44, - 468, 44, 64, 636, 636, 64, 636, 624, - 44, 64, 636, 464, 868, 624, 416, 636, - 308, 396, 64, 64, 636, 396, 636, 524, - 636, 468, 388, 44, 320, 104, 32, 380, - 392, 392, 380, 392, 104, 624, 32, 464, - 104, 320, 372, 392, 44, 880, 524, 464, - 336, 32, 392, 624, 104, 104, 464, 380, - 32, 392, 420, 524, 372, 44, 356, 416, - 392, 44, 464, 688, 812, 456, 456, 380, - 392, 44, 44, 392, 44, 200, 388, 336, - 380, 624, 392, 720, 232, 388, 160, 380, - 388, 428, 676, 388, 676, 748, 392, 44, - 468, 636, 720, 720, 636, 676, 540, 44, - 824, 560, 44, 720, 392, 636, 636, 720, - 468, 524, 560, 676, 468, 44, 684, 540, - 880, 540, 520, 336, 720, 468, 576, 636, - 636, 748, 748, 576, 636, 748, 552, 552, - 748, 1012, 684, 676, 388, 636, 720, 748, - 748, 720, 564, 676, 720, 748, 540, 428, - 468, 612, 212, 308, 272, 44, 104, 676, - 416, 564, 676, 308, 44, 44, 308, 272, - 104, 308, 612, 180, 592, 468, 272, 372, - 564, 344, 392, 736, 560, 540, 676, 520, - 468, 272, 592, 272, 592, 592, 380, 592, - 392, 44, 104, 684, 104, 676, 392, 44, - 592, 664, 540, 380, 20, 676, 20, 428, - 664, 540, 428, 540, 540, 76, 52, 92, - 104, 64, 28, 660, 212, 60, 60, 440, - 280, 28, 664, 64, 60, 32, 44, 380, - 28, 424, 540, 380, 636, 32, 44, 64, - 440, 64, 44, 64, 824, 64, 560, 104, - 636, 560, 560, 280, 32, 28, 336, 28, - 60, 24, 32, 32, 540, 28, 32, 32, - 336, 104, 824, 560, 60, 540, 104, 104, - 380, 60, 388, 320, 32, 32, 92, 92, - 92, 336, 280, 388, 664, 336, 32, 664, - 388, 32, 388, 540, 32, 92, 664, 92, - 32, 60, 60, 32, 60, 540, 92, 60, - 1012, 664, 32, 388, 388, 380, 664, 388, - 92, 660, 60, 92, 320, 32, 380, 380, - 32, 440, 664, 380, 848, 1012, 60, 440, - 92, 32, 60, 540, 1012, 312, 424, 824, - 676, 60, 660, 736, 60, 736, 92, 664, - 660, 388, 24, 112, 60, 540, 664, 112, - 52, 660, 60, 664, 664, 528, 60, 92, - 660, 1012, 660, 736, 112, 676, 60, 280, - 52, 28, 676, 60, 52, 60, 736, 528, - 60, 676, 540, 676, 388, 92, 964, 736, - 540, 92, 440, 496, 736, 440, 388, 664, - 388, 776, 776, 664, 60, 92, 676, 748, - 380, 336, 340, 576, 24, 52, 664, 560, - 388, 52, 676, 664, 560, 388, 576, 496, - 676, 576, 676, 664, 564, 388, 388, 576, - 540, 380, 340, 560, 540, 468, 380, 92, - 540, 92, 564, 388, 92, 576, 868, 468, - 576, 576, 748, 44, 468, 396, 64, 868, - 344, 64, 564, 676, 468, 64, 704, 848, - 520, 636, 28, 64, 76, 64, 396, 636, - 540, 44, 64, 540, 540, 688, 540, 812, - 92, 284, 748, 380, 468, 44, 440, 908, - 64, 736, 468, 1012, 1012, 32, 380, 44, - 64, 748, 748, 64, 748, 440, 748, 440, - 380, 32, 44, 64, 440, 848, 748, 44, - 64, 824, 748, 748, 380, 44, 736, 748, - 748, 64, 468, 576, 748, 812, 576, 524, - 440, 64, 824, 440, 76, 576, 92, 24, - 28, 336, 32, 592, 824, 812, 908, 748, - 32, 64, 848, 540, 948, 28, 336, 748, - 64, 736, 540, 64, 336, 748, 28, 24, - 52, 736, 900, 592, 440, 524, 28, 440, - 736, 92, 944, 748, 92, 308, 308, 64, - 92, 284, 76, 272, 748, 76, 468, 736, - 868, 576, 424, 868, 880, 416, 344, 748, - 28, 64, 868, 560, 64, 496, 676, 468, - 664, 664, 456, 364, 576, 520, 308, 212, - 264, 520, 516, 16, 552, 868, 264, 552, - 552, 308, 264, 516, 308, 664, 396, 516, - 664, 396, 308, 520, 676, 520, 552, 520, - 664, 520, 264, 16, 520, 576, 264, 520, - 520, 64, 284, 468, 308, 520, 528, 396, - 520, 468, 520, 576, 576, 520, 868, 344, - 468, 576, 396, 496, 396, 1012, 664, 520, - 636, 396, 468, 720, 664, 1012, 576, 720, - 520, 720, 416, 576, 664, 308, 64, 664, - 520, 16, 432, 512, 948, 552, 552, 416, - 364, 432, 512, 416, 868, 468, 344, 416, - 432, 416, 496, 552, 676, 364, 520, 496, - 664, 520, 496, 780, 676, 520, 552, 416, - 552, 868, 344, 328, 636, 776, 520, 468, - 720, 540, 308, 592, 148, 272, 816, 612, - 676, 380, 564, 624, 308, 416, 308, 456, - 540, 720, 468, 308, 344, 44, 592, 416, - 720, 676, 468, 520, 484, 592, 520, 232, - 344, 592, 676, 456, 780, 520, 564, 720, - 344, 676, 592, 520, 564, 540, 720, 720, - 232, 540, 564, 720, 868, 900, 592, 456, - 964, 564, 676, 592, 824, 312, 440, 308, - 308, 520, 312, 540, 520, 780, 308, 440, - 964, 520, 64, 308, 636, 524, 468, 636, - 456, 664, 468, 664, 816, 64, 468, 664, - 520, 720, 780, 520, 824, 312, 380, 404, - 340, 520, 468, 592, 576, 464, 464, 880, - 592, 576, 464, 880, 592, 520, 592, 880, - 464, 564, 464, 1012, 340, 576, 420, 404, - 736, 344, 520, 880, 564, 676, 404, 564, - 880, 880, 564, 592, 848, 880, + 344, 456, 168, 532, 232, 92, 868, 700, + 504, 316, 124, 272, 56, 900, 828, 828, + 56, 308, 116, 312, 828, 900, 900, 828, + 900, 116, 116, 116, 312, 828, 864, 900, + 864, 124, 124, 124, 316, 484, 828, 308, + 116, 124, 252, 124, 504, 252, 252, 252, + 864, 116, 124, 248, 252, 864, 252, 864, + 892, 504, 900, 700, 700, 116, 700, 468, + 504, 892, 700, 900, 316, 700, 892, 700, + 700, 700, 900, 756, 716, 868, 892, 864, + 868, 868, 484, 828, 868, 828, 868, 252, + 868, 796, 180, 664, 816, 92, 900, 828, + 900, 828, 864, 828, 816, 816, 864, 828, + 664, 816, 828, 816, 828, 992, 180, 180, + 664, 816, 796, 816, 816, 868, 180, 664, + 828, 828, 664, 496, 828, 492, 496, 528, + 528, 492, 180, 828, 868, 88, 4, 4, + 868, 828, 468, 228, 180, 868, 120, 124, + 92, 900, 56, 528, 900, 492, 816, 308, + 28, 44, 92, 900, 116, 528, 900, 116, + 468, 92, 900, 116, 864, 900, 864, 44, + 92, 92, 116, 900, 92, 312, 716, 468, + 828, 312, 92, 116, 468, 92, 468, 612, + 92, 492, 888, 828, 888, 44, 308, 124, + 248, 252, 252, 248, 468, 528, 124, 248, + 248, 896, 124, 116, 124, 252, 864, 124, + 1004, 864, 120, 92, 124, 88, 180, 492, + 828, 716, 180, 308, 828, 44, 248, 92, + 124, 124, 92, 248, 364, 180, 180, 248, + 364, 180, 248, 1004, 864, 364, 92, 124, + 180, 1004, 124, 180, 612, 364, 896, 484, + 828, 828, 828, 248, 92, 528, 56, 44, + 120, 816, 120, 92, 364, 748, 528, 520, + 468, 528, 180, 664, 120, 364, 468, 120, + 816, 716, 816, 664, 748, 120, 468, 664, + 180, 88, 748, 716, 92, 224, 632, 180, + 944, 828, 664, 944, 632, 504, 232, 56, + 360, 868, 272, 316, 324, 4, 828, 244, + 244, 828, 244, 4, 828, 244, 944, 752, + 632, 828, 324, 244, 624, 828, 828, 316, + 892, 316, 244, 868, 868, 244, 868, 868, + 112, 244, 4, 360, 888, 244, 4, 112, + 204, 4, 172, 828, 4, 88, 360, 180, + 204, 868, 360, 112, 4, 204, 104, 228, + 228, 204, 4, 624, 204, 4, 204, 944, + 112, 632, 4, 204, 4, 468, 828, 828, + 204, 468, 232, 112, 360, 308, 272, 324, + 316, 828, 324, 316, 324, 828, 468, 324, + 716, 324, 324, 360, 324, 484, 680, 828, + 112, 484, 460, 248, 360, 56, 828, 232, + 232, 124, 204, 232, 88, 180, 460, 828, + 88, 180, 232, 232, 180, 232, 716, 204, + 828, 232, 484, 828, 232, 460, 180, 232, + 124, 716, 360, 936, 204, 88, 360, 112, + 468, 232, 112, 232, 936, 360, 232, 460, + 460, 204, 460, 232, 360, 180, 248, 308, + 828, 272, 56, 232, 124, 124, 632, 232, + 56, 124, 232, 460, 752, 632, 624, 56, + 224, 468, 460, 828, 460, 716, 828, 232, + 468, 248, 248, 248, 460, 580, 844, 248, + 232, 360, 476, 112, 112, 476, 360, 112, + 232, 716, 196, 632, 612, 252, 248, 716, + 272, 232, 360, 124, 504, 504, 124, 504, + 460, 360, 504, 232, 248, 248, 232, 248, + 632, 124, 504, 232, 248, 624, 520, 460, + 624, 504, 232, 460, 888, 752, 468, 460, + 124, 232, 308, 324, 888, 612, 248, 324, + 624, 124, 504, 232, 716, 484, 716, 504, + 400, 716, 632, 248, 232, 248, 252, 308, + 124, 124, 592, 248, 476, 252, 308, 248, + 632, 624, 844, 112, 652, 84, 112, 504, + 652, 504, 360, 504, 632, 112, 476, 112, + 476, 844, 476, 504, 844, 504, 844, 844, + 892, 700, 580, 844, 316, 324, 504, 652, + 756, 756, 652, 756, 936, 504, 756, 504, + 716, 360, 652, 588, 632, 652, 460, 748, + 324, 360, 756, 504, 864, 752, 864, 1004, + 520, 1004, 1004, 652, 504, 844, 844, 716, + 756, 316, 308, 844, 324, 504, 936, 716, + 324, 504, 844, 936, 504, 936, 716, 316, + 324, 504, 996, 324, 980, 1004, 504, 756, + 324, 756, 308, 272, 504, 316, 748, 540, + 316, 700, 504, 540, 700, 528, 540, 700, + 500, 316, 360, 756, 492, 500, 400, 528, + 500, 756, 540, 316, 308, 324, 528, 504, + 540, 324, 324, 360, 528, 884, 316, 580, + 892, 944, 756, 892, 756, 500, 316, 892, + 700, 540, 756, 700, 540, 716, 892, 700, + 500, 528, 340, 540, 528, 884, 520, 540, + 528, 892, 756, 716, 88, 796, 844, 768, + 972, 584, 776, 776, 784, 784, 596, 656, + 784, 784, 944, 784, 972, 784, 608, 832, + 768, 768, 832, 832, 596, 832, 752, 716, + 540, 832, 776, 784, 832, 832, 784, 832, + 528, 656, 596, 336, 364, 476, 476, 476, + 284, 532, 476, 932, 784, 364, 476, 532, + 532, 476, 532, 500, 364, 476, 784, 500, + 476, 784, 784, 532, 784, 784, 500, 532, + 784, 596, 476, 680, 832, 844, 844, 832, + 844, 492, 476, 500, 716, 832, 680, 476, + 844, 1004, 844, 476, 224, 288, 500, 832, + 336, 680, 476, 876, 492, 476, 784, 944, + 680, 476, 528, 896, 600, 1004, 492, 784, + 832, 896, 656, 584, 364, 1004, 944, 656, + 532, 532, 968, 784, 952, 584, 584, 768, + 768, 952, 500, 796, 816, 584, 796, 364, + 664, 664, 796, 796, 584, 364, 664, 784, + 784, 664, 864, 784, 364, 664, 932, 484, + 664, 784, 796, 796, 540, 816, 568, 364, + 364, 120, 120, 816, 528, 568, 816, 816, + 796, 968, 816, 540, 528, 796, 768, 972, + 656, 584, 952, 952, 656, 972, 768, 664, + 656, 784, 644, 656, 784, 748, 796, 972, + 656, 796, 972, 532, 796, 972, 528, 664, + 796, 584, 656, 532, 748, 656, 948, 948, + 796, 796, 784, 532, 540, 528, 784, 748, + 796, 204, 476, 796, 532, 180, 364, 664, + 748, 816, 120, 664, 816, 944, 528, 44, + 120, 400, 540, 540, 540, 44, 180, 224, + 948, 944, 748, 364, 120, 944, 220, 540, + 656, 532, 664, 180, 532, 664, 944, 632, + 180, 532, 944, 228, 532, 876, 664, 532, + 228, 764, 532, 228, 816, 796, 656, 592, + 656, 664, 796, 764, 876, 968, 816, 632, + 364, 248, 308, 476, 476, 248, 748, 180, + 248, 920, 476, 948, 248, 532, 828, 364, + 180, 948, 248, 920, 664, 268, 452, 664, + 364, 476, 532, 920, 476, 748, 532, 532, + 336, 844, 476, 476, 476, 788, 680, 400, + 788, 760, 960, 488, 788, 360, 828, 680, + 112, 476, 204, 476, 132, 476, 748, 476, + 132, 204, 204, 476, 476, 204, 680, 748, + 476, 828, 88, 112, 204, 228, 204, 228, + 228, 112, 204, 748, 920, 224, 788, 760, + 248, 476, 112, 384, 132, 760, 476, 228, + 496, 664, 644, 664, 496, 496, 532, 656, + 228, 656, 664, 824, 460, 748, 532, 460, + 748, 228, 656, 8, 460, 632, 204, 784, + 828, 680, 936, 632, 592, 828, 204, 180, + 88, 532, 760, 760, 824, 936, 588, 180, + 760, 532, 476, 532, 204, 592, 204, 532, + 544, 760, 532, 544, 544, 476, 532, 460, + 204, 664, 496, 748, 204, 664, 204, 544, + 828, 544, 204, 748, 828, 964, 4, 136, + 736, 652, 892, 756, 1008, 600, 636, 376, + 376, 636, 376, 460, 1008, 600, 884, 624, + 544, 884, 756, 1008, 1008, 756, 1008, 884, + 892, 756, 460, 96, 624, 592, 636, 1008, + 376, 1008, 652, 376, 760, 756, 600, 752, + 892, 752, 400, 340, 636, 376, 736, 736, + 376, 736, 632, 340, 636, 376, 736, 544, + 220, 760, 760, 636, 376, 736, 148, 488, + 488, 400, 736, 376, 736, 752, 868, 868, + 752, 868, 488, 868, 752, 196, 624, 488, + 752, 220, 544, 488, 736, 624, 752, 636, + 752, 340, 96, 736, 376, 52, 80, 156, + 200, 212, 212, 200, 212, 592, 156, 200, + 212, 760, 224, 760, 624, 156, 80, 200, + 200, 156, 376, 592, 200, 748, 736, 200, + 96, 136, 544, 156, 136, 156, 544, 376, + 212, 80, 340, 96, 224, 224, 96, 224, + 460, 96, 96, 96, 80, 212, 224, 224, + 624, 340, 376, 376, 224, 736, 400, 340, + 736, 212, 200, 868, 752, 212, 788, 488, + 212, 224, 788, 752, 736, 788, 488, 804, + 376, 384, 636, 652, 96, 136, 84, 80, + 52, 156, 156, 80, 84, 624, 156, 136, + 84, 156, 96, 136, 136, 888, 96, 136, + 748, 652, 84, 636, 96, 96, 96, 652, + 652, 652, 384, 736, 384, 52, 636, 652, + 920, 376, 652, 976, 636, 652, 376, 976, + 652, 760, 976, 376, 384, 52, 736, 636, + 592, 764, 636, 376, 736, 764, 376, 760, + 136, 804, 652, 804, 976, 844, 824, 652, + 804, 592, 804, 156, 84, 172, 868, 756, + 244, 384, 652, 376, 360, 52, 588, 764, + 220, 976, 764, 324, 360, 652, 384, 624, + 652, 912, 976, 360, 652, 652, 764, 52, + 360, 324, 736, 316, 976, 376, 736, 764, + 244, 360, 324, 376, 324, 316, 376, 736, + 244, 244, 736, 244, 376, 736, 760, 976, + 520, 764, 324, 736, 764, 692, 652, 736, + 892, 316, 376, 488, 764, 376, 624, 892, + 760, 736, 760, 892, 488, 736, 376, 764, + 892, 244, 828, 736, 244, 764, 760, 244, + 764, 760, 736, 868, 488, 592, 104, 868, + 224, 624, 868, 624, 868, 172, 360, 196, + 592, 624, 268, 384, 828, 4, 172, 244, + 244, 172, 920, 760, 828, 488, 788, 384, + 4, 788, 488, 4, 172, 244, 692, 520, + 788, 488, 4, 868, 868, 804, 384, 4, + 828, 160, 84, 112, 172, 788, 204, 172, + 488, 692, 112, 172, 920, 148, 760, 764, + 172, 112, 4, 828, 172, 976, 876, 172, + 828, 748, 828, 944, 4, 400, 1004, 764, + 172, 1012, 1012, 4, 384, 112, 84, 720, + 764, 652, 112, 132, 172, 84, 112, 360, + 384, 720, 764, 384, 112, 384, 112, 112, + 84, 112, 172, 172, 112, 172, 720, 384, + 132, 692, 172, 132, 172, 1000, 360, 112, + 172, 1000, 1000, 692, 244, 384, 112, 4, + 172, 764, 4, 720, 1012, 172, 764, 4, + 720, 1012, 4, 1012, 84, 652, 1012, 652, + 680, 844, 804, 764, 804, 436, 844, 720, + 244, 212, 172, 652, 84, 384, 384, 132, + 132, 876, 172, 84, 80, 156, 436, 200, + 156, 1012, 920, 84, 156, 160, 692, 200, + 160, 156, 160, 160, 948, 200, 84, 80, + 104, 384, 172, 200, 200, 172, 200, 720, + 384, 172, 200, 720, 172, 920, 384, 948, + 540, 84, 80, 384, 472, 472, 148, 540, + 948, 84, 384, 172, 472, 944, 220, 472, + 540, 172, 384, 172, 200, 472, 496, 156, + 200, 200, 200, 452, 496, 472, 200, 868, + 384, 376, 736, 200, 452, 244, 200, 440, + 200, 944, 948, 80, 384, 140, 932, 932, + 200, 876, 540, 220, 472, 472, 496, 868, + 244, 200, 868, 472, 212, 1012, 212, 436, + 212, 868, 384, 200, 944, 472, 824, 1012, + 944, 868, 932, 868, 736, 496, 496, 200, + 828, 336, 8, 68, 108, 652, 64, 72, + 384, 132, 172, 160, 224, 436, 472, 80, + 156, 160, 948, 540, 520, 472, 948, 160, + 220, 944, 472, 944, 160, 436, 132, 160, + 948, 948, 160, 944, 876, 384, 84, 132, + 436, 384, 172, 948, 840, 720, 720, 384, + 132, 80, 160, 156, 84, 136, 160, 160, + 136, 436, 948, 84, 136, 156, 160, 944, + 156, 436, 136, 160, 472, 156, 1012, 452, + 84, 132, 160, 132, 148, 920, 764, 516, + 84, 384, 208, 516, 140, 208, 516, 72, + 160, 160, 948, 132, 132, 744, 496, 160, + 64, 104, 108, 108, 108, 384, 868, 104, + 160, 172, 948, 172, 472, 172, 948, 496, + 496, 496, 948, 684, 908, 656, 908, 908, + 868, 156, 160, 72, 684, 352, 68, 108, + 496, 108, 496, 496, 352, 108, 108, 496, + 684, 352, 472, 352, 72, 108, 472, 72, + 160, 1020, 496, 208, 496, 72, 160, 80, + 156, 200, 212, 208, 220, 208, 472, 400, + 224, 208, 472, 144, 440, 452, 160, 472, + 80, 156, 944, 944, 452, 684, 944, 496, + 868, 752, 684, 440, 500, 108, 212, 752, + 500, 684, 868, 192, 452, 500, 452, 212, + 868, 168, 144, 652, 744, 160, 156, 80, + 96, 164, 440, 500, 156, 932, 96, 440, + 944, 136, 72, 80, 80, 136, 192, 208, + 208, 136, 80, 208, 420, 136, 160, 440, + 140, 1020, 948, 136, 652, 80, 132, 744, + 744, 136, 652, 84, 932, 136, 652, 804, + 516, 652, 136, 804, 804, 136, 208, 516, + 144, 72, 136, 208, 420, 416, 516, 328, + 804, 144, 136, 72, 176, 144, 176, 744, + 744, 144, 420, 744, 744, 96, 136, 144, + 8, 8, 144, 136, 144, 8, 932, 144, + 8, 932, 420, 804, 960, 144, 744, 300, + 960, 804, 804, 168, 160, 744, 68, 144, + 416, 164, 164, 176, 144, 72, 352, 164, + 352, 176, 144, 420, 164, 176, 932, 72, + 144, 68, 352, 416, 684, 164, 164, 164, + 684, 416, 684, 932, 676, 684, 164, 164, + 684, 352, 164, 472, 144, 764, 732, 72, + 352, 144, 160, 732, 144, 160, 96, 212, + 356, 212, 752, 212, 224, 156, 192, 1012, + 344, 212, 168, 224, 224, 356, 168, 164, + 212, 212, 80, 96, 212, 156, 168, 168, + 168, 164, 356, 320, 212, 368, 344, 156, + 168, 408, 408, 168, 212, 396, 408, 224, + 408, 156, 676, 156, 396, 168, 684, 164, + 344, 408, 164, 212, 160, 164, 72, 156, + 68, 80, 320, 732, 80, 1012, 68, 156, + 168, 720, 212, 168, 1000, 924, 156, 168, + 732, 924, 176, 1012, 924, 156, 72, 80, + 1012, 72, 156, 168, 732, 156, 168, 536, + 164, 168, 536, 168, 396, 732, 168, 160, + 1012, 168, 8, 144, 72, 1020, 924, 168, + 144, 164, 176, 176, 720, 164, 168, 168, + 168, 408, 96, 8, 168, 536, 676, 168, + 224, 536, 8, 148, 536, 380, 192, 676, + 396, 132, 496, 656, 744, 776, 596, 336, + 960, 680, 784, 776, 516, 516, 536, 776, + 832, 676, 784, 676, 776, 960, 576, 832, + 960, 536, 1012, 680, 776, 300, 720, 776, + 720, 1012, 776, 776, 744, 680, 416, 680, + 144, 744, 960, 744, 960, 960, 744, 960, + 300, 744, 960, 416, 776, 776, 744, 776, + 840, 840, 776, 960, 840, 840, 960, 576, + 720, 964, 972, 776, 980, 776, 516, 972, + 972, 744, 964, 644, 656, 192, 732, 540, + 776, 656, 776, 656, 964, 416, 416, 656, + 964, 964, 416, 744, 304, 744, 524, 840, + 744, 840, 776, 964, 524, 840, 656, 908, + 972, 972, 908, 964, 896, 972, 964, 788, + 896, 108, 160, 72, 416, 336, 544, 144, + 416, 544, 136, 144, 524, 336, 352, 416, + 148, 524, 544, 144, 800, 460, 416, 744, + 744, 680, 160, 336, 744, 524, 908, 680, + 108, 496, 228, 824, 800, 140, 460, 524, + 108, 496, 800, 64, 336, 496, 204, 228, + 204, 228, 496, 800, 524, 336, 800, 496, + 108, 336, 352, 496, 416, 416, 684, 624, + 888, 460, 644, 416, 544, 612, 416, 684, + 416, 668, 896, 684, 108, 496, 352, 644, + 656, 800, 644, 484, 524, 800, 656, 644, + 108, 496, 524, 228, 800, 108, 496, 228, + 484, 496, 228, 372, 656, 108, 388, 612, + 108, 612, 856, 496, 864, 496, 784, 496, + 644, 908, 908, 796, 796, 684, 656, 908, + 796, 864, 856, 796, 896, 612, 908, 796, + 856, 896, 664, 612, 868, 804, 496, 160, + 144, 132, 72, 136, 136, 744, 136, 1004, + 856, 1004, 744, 680, 132, 824, 864, 864, + 1008, 220, 524, 484, 484, 680, 680, 680, + 744, 372, 744, 204, 160, 204, 960, 804, + 680, 652, 744, 476, 476, 132, 744, 476, + 524, 744, 680, 484, 460, 460, 680, 132, + 744, 744, 132, 612, 136, 744, 680, 484, + 680, 372, 804, 864, 804, 680, 960, 804, + 1004, 372, 1004, 108, 496, 868, 160, 112, + 132, 112, 612, 112, 204, 824, 856, 800, + 132, 824, 544, 236, 172, 236, 496, 60, + 228, 160, 132, 104, 384, 172, 524, 384, + 172, 544, 192, 236, 524, 164, 800, 524, + 160, 228, 104, 112, 132, 172, 204, 484, + 196, 484, 176, 192, 544, 484, 184, 460, + 132, 112, 196, 484, 544, 192, 484, 936, + 132, 524, 524, 228, 112, 484, 524, 132, + 148, 484, 484, 228, 160, 172, 484, 172, + 204, 404, 204, 160, 496, 496, 460, 828, + 496, 204, 524, 936, 196, 236, 544, 72, + 496, 228, 132, 108, 160, 60, 496, 496, + 64, 160, 236, 484, 496, 64, 800, 236, + 800, 132, 132, 160, 800, 228, 176, 484, + 604, 352, 108, 72, 484, 132, 936, 484, + 72, 108, 132, 108, 404, 132, 108, 936, + 936, 248, 412, 548, 672, 640, 916, 628, + 904, 688, 688, 904, 688, 604, 628, 916, + 904, 916, 916, 660, 904, 916, 484, 904, + 808, 956, 660, 448, 952, 952, 448, 952, + 236, 448, 968, 704, 956, 956, 968, 448, + 460, 956, 672, 448, 688, 448, 808, 640, + 672, 672, 640, 704, 808, 808, 704, 808, + 236, 808, 448, 448, 508, 236, 808, 508, + 808, 404, 508, 672, 688, 808, 808, 688, + 808, 236, 508, 508, 404, 372, 548, 660, + 848, 508, 672, 620, 448, 780, 780, 448, + 780, 524, 404, 448, 508, 672, 404, 448, + 508, 508, 620, 780, 820, 848, 848, 820, + 780, 848, 672, 660, 768, 780, 780, 952, + 448, 768, 780, 372, 768, 236, 236, 952, + 768, 388, 800, 280, 428, 548, 448, 952, + 956, 968, 968, 956, 524, 484, 548, 548, + 956, 548, 548, 444, 448, 508, 548, 548, + 508, 548, 936, 956, 548, 848, 448, 428, + 456, 508, 508, 456, 508, 936, 448, 928, + 936, 508, 192, 928, 404, 848, 128, 808, + 704, 836, 940, 872, 628, 728, 688, 728, + 688, 696, 696, 628, 928, 996, 696, 628, + 916, 940, 940, 628, 936, 916, 940, 484, + 648, 696, 940, 940, 696, 940, 728, 728, + 940, 936, 484, 836, 940, 12, 412, 728, + 728, 412, 936, 996, 728, 836, 956, 940, + 640, 704, 704, 164, 864, 864, 704, 856, + 412, 688, 704, 860, 12, 296, 296, 860, + 856, 808, 860, 860, 704, 808, 704, 808, + 404, 860, 404, 860, 372, 808, 860, 856, + 412, 728, 688, 860, 860, 728, 728, 836, + 860, 772, 860, 860, 836, 864, 548, 480, + 704, 128, 412, 296, 860, 936, 412, 712, + 128, 968, 968, 712, 712, 128, 704, 956, + 704, 936, 996, 404, 480, 712, 836, 772, + 860, 860, 936, 772, 712, 848, 480, 348, + 724, 456, 456, 724, 456, 936, 128, 296, + 456, 480, 480, 456, 480, 604, 480, 348, + 128, 996, 456, 128, 372, 128, 480, 480, + 480, 848, 996, 480, 848, 388, 372, 848, + 860, 372, 724, 712, 604, 480, 724, 480, + 388, 480, 772, 848, 848, 772, 144, 856, + 996, 404, 704, 848, 808, 548, 508, 456, + 196, 928, 236, 548, 296, 1004, 888, 444, + 456, 548, 548, 548, 444, 456, 456, 404, + 216, 860, 220, 216, 388, 508, 848, 856, + 508, 848, 216, 216, 848, 860, 856, 548, + 196, 372, 388, 704, 404, 956, 968, 548, + 236, 968, 548, 824, 724, 120, 820, 832, + 968, 768, 952, 952, 784, 584, 428, 284, + 448, 236, 824, 448, 768, 524, 428, 448, + 448, 284, 768, 428, 448, 236, 524, 428, + 768, 388, 236, 284, 524, 768, 140, 784, + 448, 952, 236, 140, 192, 388, 524, 832, + 596, 428, 284, 448, 372, 168, 800, 800, + 768, 448, 768, 780, 140, 428, 448, 524, + 768, 780, 824, 832, 780, 524, 668, 820, + 364, 432, 188, 428, 284, 584, 284, 428, + 428, 284, 428, 824, 564, 188, 284, 188, + 188, 188, 308, 284, 476, 584, 284, 432, + 476, 476, 432, 140, 544, 308, 432, 236, + 188, 816, 584, 284, 524, 364, 284, 364, + 404, 284, 432, 308, 476, 432, 504, 388, + 504, 844, 248, 236, 372, 432, 308, 236, + 236, 820, 404, 820, 844, 832, 432, 596, + 372, 604, 388, 388, 476, 844, 372, 820, + 168, 388, 372, 832, 844, 76, 308, 548, + 584, 952, 816, 568, 796, 956, 956, 236, + 796, 956, 796, 968, 524, 140, 8, 216, + 220, 796, 968, 816, 824, 968, 824, 968, + 952, 220, 824, 140, 956, 520, 220, 968, + 196, 220, 220, 240, 188, 364, 152, 584, + 584, 120, 568, 152, 152, 140, 152, 444, + 584, 444, 444, 364, 568, 520, 584, 120, + 568, 364, 520, 220, 364, 568, 120, 816, + 152, 152, 520, 816, 120, 152, 140, 192, + 388, 520, 152, 428, 520, 188, 432, 444, + 152, 76, 188, 444, 188, 188, 548, 152, + 816, 444, 428, 220, 140, 188, 240, 568, + 152, 444, 388, 152, 76, 236, 152, 816, + 240, 816, 240, 240, 188, 240, 240, 240, + 8, 388, 388, 428, 240, 548, 548, 76, + 188, 444, 252, 504, 432, 308, 176, 604, + 388, 252, 76, 432, 604, 252, 444, 464, + 152, 312, 364, 252, 308, 188, 28, 44, + 120, 120, 44, 120, 48, 120, 236, 188, + 308, 520, 188, 252, 188, 308, 44, 116, + 252, 824, 116, 928, 520, 252, 520, 120, + 684, 312, 604, 816, 188, 44, 444, 120, + 312, 252, 44, 100, 100, 152, 152, 252, + 120, 816, 100, 152, 312, 520, 928, 76, + 152, 188, 928, 312, 816, 404, 816, 152, + 928, 928, 404, 188, 252, 956, 724, 812, + 100, 188, 348, 900, 708, 616, 424, 700, + 700, 424, 604, 424, 708, 708, 424, 700, + 708, 708, 708, 48, 900, 332, 348, 424, + 708, 236, 424, 348, 424, 708, 372, 424, + 708, 900, 164, 524, 788, 424, 524, 424, + 348, 464, 424, 464, 188, 188, 464, 188, + 824, 464, 44, 252, 312, 116, 424, 424, + 700, 900, 312, 100, 116, 424, 524, 116, + 424, 824, 100, 116, 424, 524, 788, 116, + 824, 164, 668, 788, 116, 524, 424, 788, + 896, 312, 424, 188, 668, 252, 188, 252, + 800, 312, 100, 424, 188, 896, 668, 176, + 216, 524, 424, 188, 856, 372, 8, 856, + 896, 424, 188, 252, 188, 372, 116, 524, + 464, 820, 188, 432, 188, 668, 404, 464, + 176, 484, 976, 188, 252, 976, 740, 892, + 504, 812, 884, 756, 812, 812, 812, 708, + 700, 892, 616, 616, 700, 812, 812, 700, + 812, 852, 708, 976, 700, 852, 708, 520, + 812, 844, 616, 432, 700, 252, 740, 504, + 852, 812, 504, 812, 504, 424, 308, 740, + 740, 424, 512, 504, 852, 252, 504, 252, + 424, 116, 700, 852, 512, 504, 700, 424, + 976, 1008, 852, 252, 812, 812, 504, 252, + 812, 976, 252, 812, 252, 464, 852, 464, + 252, 740, 464, 912, 740, 432, 504, 976, + 852, 504, 912, 880, 252, 1008, 504, 520, + 464, 700, 616, 424, 740, 1008, 1008, 400, + 424, 600, 740, 1008, 424, 708, 148, 400, + 852, 708, 700, 852, 400, 520, 464, 752, + 812, 820, 432, 844, 520, 844, 740, 504, + 520, 504, 752, 400, 820, 852, 392, 792, + 456, 712, 348, 724, 708, 424, 464, 740, + 824, 852, 464, 824, 852, 708, 520, 852, + 812, 724, 464, 812, 852, 332, 348, 724, + 464, 464, 724, 464, 824, 348, 424, 708, + 520, 464, 708, 464, 400, 708, 424, 852, + 464, 400, 708, 724, 392, 348, 712, 708, + 724, 880, 712, 724, 708, 712, 824, 712, + 724, 480, 724, 520, 480, 464, 456, 740, + 820, 820, 740, 820, 848, 824, 820, 848, + 520, 724, 456, 512, 464, 464, 220, 456, + 740, 148, 192, 140, 184, 220, 512, 464, + 740, 512, 392, 852, 812, 792, 724, 740, + 740, 1008, 772, 708, 712, 724, 792, 792, + 724, 792, 976, 712, 724, 792, 520, 164, + 684, 520, 772, 976, 792, 812, 884, 892, + 792, 792, 812, 616, 976, 520, 812, 792, + 708, 792, 760, 812, 792, 604, 800, 456, + 444, 240, 348, 708, 332, 816, 588, 900, + 816, 816, 684, 900, 480, 708, 348, 128, + 128, 976, 752, 96, 852, 520, 128, 332, + 348, 348, 128, 976, 8, 912, 604, 512, + 240, 816, 1008, 852, 956, 548, 852, 128, + 348, 240, 240, 128, 240, 788, 788, 240, + 548, 488, 548, 900, 240, 100, 332, 348, + 852, 788, 816, 312, 100, 488, 852, 100, + 488, 852, 912, 816, 100, 240, 976, 152, + 188, 240, 692, 188, 1008, 1008, 800, 900, + 900, 444, 100, 424, 332, 348, 464, 240, + 800, 188, 788, 240, 800, 464, 348, 188, + 240, 512, 188, 788, 148, 800, 512, 824, + 800, 800, 464, 392, 512, 488, 788, 548, + 444, 464, 188, 668, 1008, 188, 240, 464, + 152, 444, 804, 852, 512, 824, 512, 140, + 444, 804, 824, 140, 96, 668, 512, 464, + 512, 512, 240, 852, 824, 240, 480, 724, + 348, 824, 512, 788, 348, 480, 128, 824, + 140, 668, 712, 804, 788, 788, 824, 464, + 456, 820, 428, 820, 432, 432, 188, 512, + 456, 1008, 348, 464, 456, 444, 240, 392, + 188, 444, 184, 800, 800, 168, 544, 800, + 148, 788, 800, 444, 188, 624, 188, 240, + 788, 456, 544, 188, 444, 456, 464, 824, + 544, 464, 512, 788, 188, 464, 512, 512, + 456, 464, 188, 512, 760, 788, 512, 472, + 544, 96, 48, 960, 184, 684, 996, 908, + 928, 972, 928, 352, 908, 964, 964, 908, + 800, 512, 928, 512, 964, 760, 972, 1004, + 996, 928, 964, 856, 856, 928, 964, 512, + 856, 964, 760, 684, 996, 292, 856, 928, + 928, 856, 928, 996, 352, 684, 416, 512, + 928, 684, 760, 216, 684, 856, 840, 352, + 416, 164, 176, 184, 184, 176, 184, 604, + 184, 976, 176, 184, 800, 176, 416, 512, + 976, 352, 416, 964, 840, 760, 964, 544, + 976, 964, 488, 840, 856, 196, 352, 684, + 164, 488, 592, 800, 168, 976, 760, 840, + 184, 388, 292, 372, 216, 760, 788, 852, + 372, 216, 752, 236, 8, 960, 804, 388, + 804, 388, 176, 216, 216, 176, 960, 840, + 856, 184, 840, 216, 840, 216, 856, 856, + 148, 744, 840, 856, 1004, 744, 840, 176, + 964, 840, 840, 144, 840, 960, 960, 776, + 964, 840, 964, 856, 744, 776, 960, 840, + 856, 840, 176, 216, 840, 840, 856, 840, + 840, 804, 192, 840, 192, 840, 960, 964, + 840, 856, 184, 668, 176, 856, 196, 48, + 928, 216, 184, 76, 176, 216, 216, 76, + 192, 184, 824, 388, 192, 220, 220, 192, + 184, 144, 192, 668, 176, 824, 388, 140, + 192, 176, 8, 192, 8, 144, 140, 668, + 8, 184, 220, 192, 824, 192, 192, 668, + 216, 216, 388, 176, 184, 192, 216, 176, + 192, 216, 804, 184, 192, 192, 176, 148, + 8, 744, 176, 192, 224, 212, 804, 196, + 168, 520, 928, 684, 48, 604, 604, 196, + 212, 684, 196, 196, 684, 752, 196, 520, + 176, 684, 388, 196, 520, 164, 224, 520, + 220, 164, 196, 520, 196, 212, 520, 752, + 196, 196, 8, 520, 220, 184, 196, 176, + 684, 164, 184, 196, 196, 184, 196, 196, + 196, 164, 184, 196, 8, 216, 668, 960, + 668, 96, 856, 168, 388, 856, 372, 196, + 192, 196, 192, 416, 224, 196, 960, 400, + 148, 96, 636, 148, 184, 1008, 148, 196, + 96, 148, 400, 600, 1008, 192, 520, 340, + 636, 1008, 400, 184, 636, 1008, 400, 392, + 148, 148, 400, 520, 176, 824, 824, 148, + 148, 196, }; static encode_aux_nearestmatch _vq_auxn_lsp32_0 = { @@ -3570,13 +3278,13 @@ static encode_aux_nearestmatch _vq_auxn_lsp32_0 = { _vq_ptr1_lsp32_0, _vq_p_lsp32_0, _vq_q_lsp32_0, - 4974, 4974 + 4386, 4386 }; static static_codebook _vq_book_lsp32_0 = { 4, 256, _vq_lengthlist_lsp32_0, - 2, 1603583344, 1584581135, 8, 1, + 2, 1603593466, 1583043971, 8, 1, _vq_quantlist_lsp32_0, &_vq_auxn_lsp32_0, NULL, diff --git a/include/vorbis/book/lsp32_1.vqh b/include/vorbis/book/lsp32_1.vqh new file mode 100644 index 00000000..9c9670f8 --- /dev/null +++ b/include/vorbis/book/lsp32_1.vqh @@ -0,0 +1,3638 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_lsp32_1_VQH_ +#define _V_lsp32_1_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_lsp32_1[] = { + 99, + 32, + 72, + 64, + 41, + 18, + 45, + 57, + 65, + 25, + 61, + 65, + 96, + 37, + 75, + 78, + 85, + 34, + 73, + 75, + 152, + 121, + 128, + 139, + 4, + 23, + 36, + 63, + 110, + 80, + 126, + 107, + 135, + 136, + 145, + 92, + 126, + 92, + 105, + 96, + 101, + 104, + 107, + 88, + 68, + 49, + 93, + 115, + 155, + 131, + 112, + 101, + 62, + 30, + 66, + 72, + 98, + 115, + 115, + 94, + 112, + 127, + 111, + 95, + 129, + 98, + 108, + 102, + 98, + 96, + 92, + 113, + 104, + 103, + 117, + 31, + 67, + 59, + 110, + 108, + 207, + 28, + 58, + 64, + 140, + 67, + 59, + 110, + 104, + 110, + 118, + 103, + 131, + 121, + 103, + 87, + 124, + 120, + 100, + 90, + 111, + 88, + 96, + 68, + 62, + 80, + 91, + 79, + 76, + 73, + 123, + 112, + 177, + 57, + 107, + 120, + 78, + 35, + 66, + 70, + 109, + 85, + 133, + 122, + 117, + 130, + 124, + 106, + 124, + 112, + 97, + 90, + 85, + 90, + 89, + 84, + 81, + 65, + 101, + 96, + 80, + 94, + 134, + 107, + 151, + 76, + 94, + 110, + 92, + 96, + 115, + 98, + 115, + 120, + 105, + 92, + 129, + 88, + 89, + 107, + 101, + 78, + 109, + 69, + 97, + 91, + 96, + 82, + 94, + 82, + 134, + 125, + 133, + 134, + 121, + 109, + 60, + 50, + 70, + 88, + 106, + 87, + 114, + 99, + 106, + 115, + 114, + 89, + 111, + 104, + 98, + 87, + 112, + 70, + 83, + 81, + 84, + 94, + 100, + 82, + 84, + 92, + 129, + 164, + 241, + 25, + 61, + 78, + 125, + 84, + 127, + 100, + 111, + 115, + 125, + 96, + 111, + 91, + 106, + 76, + 99, + 79, + 75, + 74, + 99, + 104, + 103, + 83, + 92, + 106, + 125, + 103, + 226, + 178, + 57, + 125, + 120, + 85, + 116, + 99, + 119, + 93, + 140, + 105, + 109, + 94, + 94, + 99, + 106, + 66, + 79, + 91, + 110, + 68, + 100, + 86, + 218, + 29, + 111, + 132, + 85, + 28, + 56, + 55, + 99, + 100, + 104, + 96, + 116, + 125, + 122, + 100, + 120, + 92, + 100, + 75, + 95, + 61, + 92, + 98, + 94, + 81, + 117, + 109, + 229, + 80, + 103, + 131, + 60, + 18, + 49, + 56, + 119, + 78, + 114, + 98, + 124, + 103, + 142, + 106, + 104, + 101, + 95, + 76, + 100, + 54, + 73, + 83, + 103, + 120, + 103, + 85, + 103, + 74, + 126, + 109, + 147, + 146, + 97, + 20, + 39, + 24, + 55, + 67, + 110, + 100, + 97, + 114, + 114, + 109, + 118, + 89, + 114, + 107, + 109, + 53, + 113, + 119, + 102, + 87, + 104, + 82, + 112, + 93, + 137, + 254, + 134, + 135, + 0, + 25, + 34, + 64, + 110, + 94, + 91, + 116, + 122, + 118, + 122, + 87, + 115, + 114, + 84, + 78, + 101, + 83, + 79, + 96, + 103, + 111, + 106, + 85, + 96, + 100, + 107, + 114, + 203, + 67, + 84, + 90, + 106, + 101, + 104, + 98, + 103, + 124, + 116, + 92, + 101, + 112, + 100, + 78, + 96, + 92, + 85, + 106, + 121, + 103, + 114, + 76, + 92, + 80, + 110, + 104, + 255, + 38, + 75, + 97, + 57, + 24, + 59, + 65, + 118, + 93, + 101, + 102, + 114, + 109, + 116, + 103, + 109, + 107, + 92, + 72, + 108, + 65, + 99, + 105, + 118, + 115, + 113, + 94, + 203, + 86, + 93, + 111, + 80, + 22, + 54, + 56, + 116, + 105, + 110, + 99, + 124, + 125, + 144, + 95, + 119, + 89, + 96, + 98, + 116, + 77, + 111, + 92, + 99, + 72, + 102, + 79, + 194, + 170, + 49, + 45, + 72, + 20, + 51, + 54, + 106, + 106, + 111, + 92, + 121, + 132, + 144, + 129, + 118, + 88, + 96, + 72, + 121, + 91, + 108, + 83, + 96, + 100, + 106, + 77, + 94, + 17, + 121, + 99, + 193, + 66, + 126, + 145, + 90, + 29, + 61, + 57, + 96, + 73, + 104, + 101, + 115, + 120, + 120, + 100, + 138, + 99, + 118, + 107, + 114, + 74, + 107, + 91, + 99, + 86, + 91, + 74, + 71, + 57, + 121, + 125, + 154, + 156, + 144, + 134, + 5, + 52, + 126, + 111, + 107, + 70, + 107, + 106, + 105, + 107, + 131, + 101, + 122, + 121, + 108, + 93, + 100, + 83, + 107, + 93, + 94, + 103, + 94, + 66, + 22, + 78, + 133, + 120, + 142, + 127, + 119, + 83, + 99, + 33, + 60, + 57, + 101, + 91, + 119, + 83, + 102, + 124, + 132, + 107, + 135, + 102, + 102, + 108, + 110, + 93, + 106, + 88, + 97, + 80, + 93, + 62, + 70, + 51, + 77, + 96, + 155, + 149, + 129, + 94, + 83, + 52, + 65, + 69, + 103, + 92, + 96, + 82, + 99, + 121, + 164, + 113, + 123, + 128, + 104, + 102, + 106, + 91, + 102, + 86, + 91, + 73, + 87, + 62, + 44, + 60, + 109, + 91, + 108, + 95, + 116, + 90, + 120, + 110, + 119, + 140, + 134, + 114, + 106, + 127, + 109, + 89, + 86, + 102, + 81, + 82, + 89, + 79, + 85, + 60, + 77, + 107, + 127, + 142, + 159, + 120, + 39, + 31, + 65, + 77, + 95, + 98, + 124, + 94, + 134, + 91, + 107, + 134, + 122, + 111, + 114, + 119, + 120, + 83, + 92, + 95, + 101, + 57, + 84, + 85, + 86, + 51, + 83, + 82, + 127, + 130, + 78, + 78, + 119, + 98, + 100, + 109, + 125, + 117, + 131, + 134, + 112, + 109, + 108, + 89, + 108, + 79, + 109, + 77, + 95, + 69, + 97, + 78, + 82, + 61, + 119, + 99, + 132, + 127, + 108, + 91, + 84, + 65, + 94, + 79, + 104, + 106, + 105, + 121, + 127, + 101, + 118, + 104, + 112, + 70, + 103, + 93, + 81, + 82, + 113, + 96, + 56, + 92, + 115, + 88, + 183, + 61, + 87, + 75, + 118, + 44, + 77, + 67, + 96, + 98, + 98, + 91, + 96, + 99, + 153, + 193, + 150, + 69, + 85, + 79, + 106, + 88, + 83, + 62, + 109, + 98, + 112, + 77, + 142, + 38, + 107, + 135, + 213, + 18, + 94, + 122, + 106, + 41, + 64, + 60, + 94, + 105, + 113, + 91, + 116, + 103, + 105, + 118, + 127, + 104, + 94, + 79, + 111, + 108, + 73, + 63, + 113, + 103, + 106, + 90, + 98, + 54, + 122, + 114, + 144, + 104, + 123, + 115, + 89, + 30, + 70, + 64, + 91, + 74, + 104, + 92, + 107, + 90, + 143, + 143, + 117, + 119, + 129, + 18, + 91, + 68, + 93, + 115, + 127, + 115, + 145, + 42, + 112, + 73, + 110, + 105, + 174, + 91, + 98, + 126, + 78, + 28, + 67, + 67, + 92, + 95, + 104, + 83, + 110, + 110, + 112, + 127, + 120, + 142, + 62, + 16, + 101, + 64, + 97, + 92, + 122, + 109, + 122, + 74, + 88, + 75, + 116, + 142, + 163, + 33, + 117, + 149, + 112, + 36, + 74, + 69, + 97, + 78, + 104, + 88, + 95, + 99, + 107, + 90, + 115, + 114, + 97, + 85, + 110, + 81, + 84, + 92, + 108, + 96, + 129, + 95, + 179, + 28, + 92, + 115, + 110, + 118, + 175, + 212, + 74, + 27, + 63, + 64, + 102, + 76, + 106, + 91, + 90, + 96, + 108, + 94, + 112, + 110, + 100, + 80, + 116, + 80, + 90, + 89, + 109, + 105, + 111, + 99, + 169, + 52, + 123, + 156, + 60, + 39, + 68, + 81, + 103, + 67, + 99, + 94, + 81, + 81, + 126, + 109, + 126, + 122, + 122, + 93, + 111, + 83, + 88, + 75, + 103, + 101, + 116, + 100, + 127, + 95, + 103, + 107, + 147, + 108, + 120, + 143, + 89, + 65, + 71, + 65, + 86, + 72, + 104, + 87, + 85, + 94, + 106, + 90, + 128, + 132, + 114, + 102, + 136, + 65, + 46, + 74, + 96, + 111, + 111, + 93, + 125, + 99, + 108, + 117, + 70, + 133, + 74, + 9, + 74, + 15, + 94, + 94, + 78, + 118, + 143, + 109, + 105, + 102, + 133, + 65, + 143, + 15, + 99, + 107, + 93, + 79, + 128, + 86, + 45, + 103, + 132, + 123, + 154, + 107, + 86, + 106, + 72, + 121, + 114, + 83, + 123, + 87, + 100, + 130, +}; + +static long _vq_lengthlist_lsp32_1[] = { + 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, +}; + +static long _vq_ptr0_lsp32_1[] = { + -1, -2, -3, -4, -5, -6, -7, -8, + -9, -10, -11, -12, -13, -14, 7, 42, + 178, -18, -19, -20, 30, 3, -23, 50, + 148, -26, -15, -24, 146, -30, 50, -23, + -28, 190, -35, -36, -37, 7, 57, -40, + 30, -32, -20, 247, -45, 81, -43, -48, + -49, -50, -51, 7, 30, -14, 132, -56, + 52, 59, 190, 247, -61, -20, -59, 215, + 42, -33, 132, 247, -69, -56, -67, -72, + -73, -74, -75, -76, 7, 81, -79, -80, + 59, 81, 44, -84, 117, -86, -81, -82, + 229, -90, 178, -87, -93, -94, -95, 59, + -97, -98, 81, 178, -101, 170, 247, -44, + -4260, -102, 44, -108, 170, -106, -111, -112, + -113, -99, -109, 221, -117, -118, 14, -114, + 61, -119, -121, -124, -125, -76, 246, 221, + -90, -126, 138, -132, -133, 57, -66, -120, + 11, -136, -139, -140, 52, 194, -143, -144, + -145, 30, 248, 50, -52, -137, -151, -152, + -153, -154, -155, -156, 14, 11, -159, 22, + -157, -156, -160, -162, 22, -166, -167, -168, + -169, 22, -163, -135, 148, 140, -175, 30, + 57, -178, -40, -173, 248, -38, 4, 148, + -185, -175, -183, 134, -189, 57, -191, 248, + 140, -194, -195, -196, -197, -198, -199, 14, + -169, -192, 248, -204, -205, -206, -159, -201, + 194, -99, 0, -210, 96, -214, -215, -216, + -217, -218, -219, -220, 22, 178, 194, -224, + -225, 30, -227, 248, -229, -230, 30, 134, + -227, 0, -235, 248, 96, -238, -239, -240, + -241, -242, 22, -233, -140, -243, -245, 52, + -102, -236, -248, -252, -247, -250, -255, -256, + 104, 247, -259, -52, -257, -262, -20, 200, + 208, -266, -267, -20, 29, -270, 194, 210, + -273, -16, -268, -222, -274, -276, -279, -280, + 77, -171, -192, 124, 178, -283, -287, -288, + -289, -247, 29, 170, -293, -294, 110, -290, + -101, -295, -299, -300, -301, -302, 52, 194, + -305, 110, 246, -308, 104, 110, -311, 104, + -313, 194, 237, -316, -317, 52, 170, -320, + -321, -322, 36, 255, -325, 52, -306, -323, + -326, -56, -328, 109, -333, -334, -335, -336, + -337, -338, -339, 9, -341, 16, 65, 102, + -345, -322, 102, 2, 52, -350, -351, 16, + -353, -354, -355, 32, 84, -358, 38, -347, + 110, -362, -363, -309, -359, -364, -367, -368, + -369, -370, -371, 16, 72, -313, -372, -281, + 132, 72, -302, 1, -309, -379, -383, 38, + -432, 6, -385, -388, -389, -390, -391, 16, + -386, -394, -395, -396, -397, 16, -399, 82, + 99, -402, -403, 52, -1282, -392, -405, -408, + -409, -341, 109, 2, 99, -414, 52, -411, + -417, -418, -419, -420, -421, 24, 38, -424, + 32, 208, 32, -428, -429, -430, -431, -354, + -2073, 224, -264, -436, 82, 124, -357, 61, + 65, -440, -439, -441, -443, 32, 247, -398, + -4834, -446, 65, -452, -453, 84, -450, -456, + -457, -458, -459, -460, 46, -268, -463, 84, + -461, -460, -59, 99, -435, -4608, 162, 13, + -473, 84, -471, -467, -54, -476, -479, -480, + -481, -482, -483, 46, 14, -486, -487, 14, + -156, -477, 117, -492, -487, 246, -495, 77, + 172, -498, 46, -500, 46, -493, -503, -504, + 249, 117, 117, -508, -509, -510, -511, -512, + -500, -501, -513, 160, 146, -518, 82, 249, + 99, -516, -523, 7, 249, -526, -527, 59, + 177, 168, -531, -84, -529, 26, -127, -533, + -537, -538, -539, -540, -541, 9, -535, -544, + 9, 160, -541, 26, -549, 9, -551, 110, + -302, -547, -553, -80, -554, 99, -559, -294, + 216, -529, -101, 192, -563, -566, -567, -568, + 52, 82, -517, -729, 3, -574, 110, -572, + -294, -575, -577, -580, -581, -582, -583, -584, + -585, -586, -587, 22, 148, 82, -591, -592, + 46, 96, -436, -588, -597, -598, 38, 84, + -436, -595, -603, -604, -605, -156, -601, -159, + 148, 146, 14, 46, -613, 77, -568, -609, + -617, -618, -619, -620, -621, -484, -615, 46, + 46, -626, -627, -628, 22, 46, -631, 22, + -518, 0, -633, -631, -634, -638, 82, -636, + -3901, -4770, 246, 146, -641, 146, -533, -648, + -484, -646, 249, -649, -653, -654, 248, 246, + -655, -656, -659, -660, -661, -662, -663, -624, + -657, 122, 96, -665, -669, 249, -671, -672, + -597, -644, 122, -674, 19, -678, -589, -676, + -679, -674, -683, -684, -685, 52, -687, -688, + 249, -399, -157, -666, -690, -694, -695, -696, + 249, -698, 203, 205, -701, -666, -692, -702, + -673, 3, 122, -708, -709, -710, -711, -628, + -706, -712, -704, 247, -715, -718, -719, -631, + -67, 104, -236, -720, 154, -726, -638, -516, + 122, 128, -728, -730, -733, -734, 96, 53, + 60, 11, -739, -740, -741, -742, -743, -744, + 16, 104, -436, -737, -747, -750, -414, -748, + -751, 166, -752, 168, -545, -758, -759, -598, + 122, -760, -763, -358, -761, -547, -4687, -765, + -767, -399, -760, 19, -383, -771, -775, -247, + -773, -776, -308, 26, -371, -779, -676, -784, + -785, -786, -787, -788, -789, -790, -791, -792, + -793, 59, 120, -796, 249, -782, -799, -800, + -801, 9, 59, 172, -805, 99, -157, -808, + -809, 9, 26, -766, -810, -747, -317, -813, + -815, -818, -819, -820, 9, 197, -816, -824, + 172, -826, 197, -828, -829, 249, 46, -832, + -833, 46, -835, -836, -796, -822, -837, -840, + 117, -838, -843, -844, 77, 192, -889, 250, + 246, -850, -851, -852, 77, -854, 99, -856, + 84, 184, -859, -860, -861, 9, 39, -864, + 7, -57, -857, 73, -869, -870, 59, 81, + -873, -874, -875, -876, -877, -809, 76, 170, + -881, 103, -878, -884, -793, -882, -881, 246, + -792, 88, -887, -890, -881, -891, 153, -896, + -897, -898, 39, 103, -901, 59, -894, 103, + -905, 170, 103, 76, -909, -910, 39, -907, + -45, -911, -553, -916, -917, -871, 3, 122, + -101, 184, -923, -95, 122, 197, -490, 76, + -927, -930, -931, -932, -933, -495, -928, -934, + -926, -4689, -935, -938, -496, -939, -941, -944, + -945, -101, -942, -937, 167, 160, -824, -760, + -951, -954, -98, -545, 159, -490, -956, -101, + -958, 159, -963, -964, -965, -966, -967, -968, + -969, 9, 52, 32, -973, -341, 69, -974, + -977, -978, 32, -948, -424, -956, -981, 159, + -985, -986, -987, -988, 9, 69, -991, 39, + -989, -992, -995, -996, -997, -998, -999, -988, + -983, 34, -978, -1001, 32, -1003, 32, 34, + -1009, 32, -1007, -1008, -1021, -1010, -1013, -1016, + -856, -1014, -907, -1020, 170, 166, -1018, 167, + -360, 250, 170, -1028, -1029, -1030, -1031, 9, + 250, -1034, -1035, -1036, 39, 59, 39, 85, + -1032, -1042, -1043, -1044, -1045, 36, 215, -1048, + 190, 122, -1051, -910, 69, -1052, -1053, -1056, + -1057, -1058, 39, 73, -1061, -1062, 39, 187, + 62, -1066, 20, -1068, 183, -1044, -1039, -1064, + -1071, 183, -970, 69, 249, -1078, -1079, -1080, + -1081, 79, -421, 122, -453, -1083, 169, -1070, + -1085, 76, -1091, -1092, -1093, -1094, -1095, -424, + -1089, -1096, -400, -1097, -452, -1180, -1099, 184, + 99, -1086, 250, -1106, -1109, 36, -1111, -1112, + 249, -1114, -1115, 77, -830, 167, 84, -1120, + 99, -453, -1089, 62, -1125, -1126, 36, -1045, + -1123, -1128, -1131, -1132, -1133, -1134, -1135, 36, + -1137, -1138, 32, -1129, -1138, 55, -1143, 32, + 99, -1146, 39, -854, 153, -1150, -1151, 90, + 195, -1154, 169, -1089, -1157, -1158, -1159, 77, + 55, -854, -1160, -1162, -1165, -1146, 246, -1166, + -1151, -1167, -1171, -1172, -1173, 99, 219, -1176, + 195, 159, -1179, 120, -1206, 153, -1181, -1184, + -1185, -1186, 249, 55, -1189, -1190, -1191, 83, + 195, -1194, -1144, -1187, -1195, -1144, 76, -1200, + 249, -1173, -1187, -1204, -1205, 77, -4051, -1202, + -1207, -1210, -1211, 169, -1213, -1214, -1215, 20, + -1208, -1218, 51, -1073, -983, 191, -1223, -1215, + -989, 62, 21, -1225, -1229, -1230, -1231, 83, + -1233, -1234, 169, 187, -1237, 183, -1227, -1240, + -1241, -1086, -1238, 183, 153, -1246, -1247, 183, + -1244, 203, -1251, -1252, -1253, -1254, 79, 203, + -1257, 183, -1248, -1260, -1261, 169, 55, -4360, + -1262, -1264, 115, -1268, -1269, -1270, -1271, -1272, + -1273, -1274, 113, -1276, -1277, 21, -1279, 39, + 88, 112, 21, -1215, -1265, -1286, -1282, -1284, + -1289, 21, 33, -1063, -1290, 153, -1295, -1296, + -1297, -1298, 39, 68, 68, -1302, -1303, -1304, + -1305, -1306, 47, 90, -1309, -1310, 68, 112, + 145, -1314, -1315, 68, 113, -1318, -1319, -1320, + 61, -1312, -1281, 55, -1323, -1326, 88, -1281, + -1324, 246, -1331, -1332, -1333, -1334, 68, 90, + -1337, -1320, -1329, 105, -1335, -1338, -1315, -1341, + 119, -1346, 90, 166, -1349, -1350, -1351, -1352, + -1353, -1354, -1355, 54, -1343, -1315, 246, 113, + 68, -1362, -1363, 61, 113, -1358, -1367, -1368, + -1369, 54, 144, -1372, 141, -894, -1364, -878, + 141, -1378, -1379, -1380, 56, 61, -1383, -1384, + 10, 66, -1387, 56, -1375, 61, -4971, 55, + -1391, -1394, -1395, -1396, 61, -1398, -1399, 47, + 97, -1335, -1392, -1402, -1405, -1406, -1407, -1408, + 10, 160, -1411, 97, -547, -1414, -1415, 47, + 153, -4381, -1416, -547, -1421, -1422, 47, 97, + -1363, -1419, -1425, -1428, -1429, -1430, -1368, -1417, + -1426, 159, -1411, 153, -1437, 68, 26, 61, + -1441, -1442, 68, 105, -1438, -1446, -1447, -1448, + -1449, 18, -1451, 113, 55, -1454, -1455, -1456, + -1457, -1458, 68, 83, -1461, -1462, -1463, -1464, + 47, 189, -1467, 97, -1437, 246, -1469, -1472, + 47, -1474, -1475, -1458, -1470, 90, -1479, -1459, + -1476, -1477, -1480, -1482, -1485, 90, -1431, 138, + 130, -1490, -1491, -1492, 68, -1369, -1488, 56, + 252, -1498, 54, -1486, -1496, -1500, -1503, -1504, + -1505, 18, 19, -1508, 83, -1506, -1511, -1512, + 54, -1282, -1509, -1514, -1369, 250, -1517, -1520, + 77, -1522, -1523, 18, -1518, -1526, 83, 175, + -1529, -1530, -1531, -1532, -1533, -1534, -1299, 130, + 119, 105, 119, -1540, -1541, 90, 105, 187, + -1545, -1546, 18, -1231, -1535, 122, -1551, 18, + 56, 69, -1553, -1556, -1557, -1522, -1552, -1554, + -1559, 187, -1525, 141, -1560, 34, -1561, -1565, + -1569, 90, -1567, -1298, 130, -1574, -1575, -1576, + -1577, -1578, 83, -1549, -1581, 90, 34, -1717, + -1582, 175, -1548, 54, -1585, 34, -1591, 20, + -1063, -1589, -1595, -1596, -1597, -1598, -1599, -1600, + -1601, -1602, 39, 112, -1059, -1593, -1605, -1059, + -1488, -1610, -1611, -1062, -1506, -1612, 73, -1587, + -1613, -1616, -1619, -1620, -1621, 73, -1617, -1326, + -1622, -1626, -1627, 73, 88, 190, 34, -1632, + -1633, -1634, -1635, -1636, -1637, -1638, -1058, 26, + -760, -903, -1001, -1642, -1645, -1646, 47, -771, + -1615, -1647, -1649, 39, 90, 47, 88, -1656, + -1657, -1658, 47, -1650, 103, -1662, -1663, 81, + -1654, -1659, -1667, 95, -1665, -1670, -1671, -1672, + 39, -1668, 120, -1581, 69, -1676, -1679, -1680, + -1681, -1682, -1384, 182, 95, -1422, 159, 33, + -1689, -1690, -1363, -1687, -1691, 88, -1695, -1696, + 88, -1698, -1684, 33, -1701, 73, 112, -1704, + 73, 69, -1707, 59, -1705, -1710, -1711, -1704, + -1708, -1714, -1658, 204, 175, -1839, 69, -1718, + -1604, -4994, -1719, 182, -1725, -1726, 103, -1716, + -1729, -1730, -1731, 73, 155, -1734, 120, -1736, + -1737, 47, -1414, -1721, 34, -1740, -1743, 120, + -1741, -1746, -1747, 95, -1744, -1370, -1748, -1750, + -1753, -1754, -1755, -1756, 39, -1758, -1759, -1760, + -1761, -1762, 47, 95, 174, -1766, 47, 159, + -1769, 92, 155, 95, -1773, 81, 95, 69, + 39, -1778, -1779, -793, -1775, -1780, -1783, -881, + 246, -794, -1001, -1786, -1789, -1790, 73, -1419, + -1726, -1791, -1793, -1796, -1797, -1798, -1799, 10, + 92, -1802, 47, -1794, 10, -1806, -1807, -1737, + -1803, 95, -1811, 92, -1813, 92, -1808, -1816, + -1817, -1818, -1205, -1814, -1821, -1459, -1819, -1822, + -1825, 120, 181, -1828, -1829, -1830, 47, -1832, + -1205, -1496, 98, -1836, -1477, 125, 98, -1846, + 91, -1840, -1843, 39, -1464, -1841, -1913, -1845, + 181, -1850, -1851, -1159, -1699, -1854, -1855, -1856, + 249, 77, -1859, -1860, -1861, -1862, 249, 125, + -1825, 91, -1865, -1862, 201, 181, -1871, -1459, + -1869, 125, -1825, -1873, -1875, 83, 49, -1880, + -1832, -4994, -1878, -1882, -826, -1883, -1885, -1888, + -1646, 181, 33, -1892, -1893, -1894, -1895, -1464, + -1890, 92, -1899, -1464, -1896, -1900, -1881, -1901, + -1903, -1463, -1902, 49, -1907, -1906, -1908, -1910, + -1785, 54, 217, 181, -1915, -1918, -1897, 125, + -1919, -1920, -1923, -1924, -1925, -1926, -1927, -1928, + -1929, -1930, 7, 45, -1933, 81, -1930, 225, + 88, -1938, -1939, -1940, -14, 100, 217, 7, + -1945, 73, -1942, -1614, 100, -1950, 88, -1948, + -1953, -1954, -1955, -1931, -1951, 78, -1956, 73, + -1961, -1962, 78, -1964, -1627, 98, -1965, -1968, + 78, -1970, -1971, -1972, -1973, 42, 50, 190, + 78, -1978, -1979, 88, 78, -1982, 93, -1984, + -1985, 249, -1987, -1988, -1989, 35, 93, -1992, + 78, -1966, -1995, -1996, 42, 98, 61, -1907, + -1999, 88, -2003, -2004, -2005, -2006, 37, -2000, + 17, -2007, -2009, -2012, -2013, 45, 233, -2008, + 254, 252, -2019, 78, -2021, -2022, -2023, -2024, + -2025, -2026, -1931, -2017, -2027, -2030, -1663, 233, + 93, -1693, -1915, 251, -2037, -2038, -2039, 73, + -2035, 95, -2040, -2044, -2045, 81, -1948, 128, + -2046, -2050, -2051, -2052, 45, -2048, -2053, -1626, + -1363, 49, -2057, -2060, 7, -2062, -2063, 45, + -1790, -2058, 144, -2068, -2069, -2070, -2071, -2052, + -2065, 113, -2072, 198, 61, -1628, 201, -2080, + -2081, -2082, 61, 66, -1848, 66, -2087, -2088, + -2089, -2090, -2091, -1682, -2143, -2084, 198, -1385, + -2094, -2098, -2099, 45, -1837, 66, -2103, 45, + -2105, -2106, -2107, -2108, -2109, 37, 93, -2112, + 66, -2100, -2115, -2116, 45, -2113, -4384, -1527, + -2119, -2122, -2109, 251, 163, -2110, -2123, 252, + -2129, -2013, -2127, 95, -2133, -2134, -2135, 10, + 95, -2112, 130, -2140, -2116, -2138, -2141, -2228, + -2142, -2146, 7, -1848, -2149, -2150, -2151, -2152, + -1408, -1527, -2153, -4880, -1527, -2156, -1684, -1848, + 27, -1811, -2160, -2162, -2165, -2166, -2167, 10, + -2163, -2170, -2136, -2168, -2173, 163, 193, -2176, + 155, -2171, -2179, 18, 249, 97, 163, -2184, + -2185, -2186, -2187, -2188, -2189, -2190, -2191, -2135, + -2177, 141, -2112, -2192, 130, -2198, -2199, 56, + 27, 66, -2135, -2200, 97, -1385, -2203, 252, + 141, -2210, 249, -2212, -2213, 249, -2193, 252, + -1376, -2017, -1372, 181, 27, 249, -2220, -2224, + 249, -2208, -2222, -2122, -2311, -2226, -2229, -2193, + -2230, 214, -2235, -2236, -2237, -2238, -2239, -2240, + -2241, 35, 198, -2244, 42, -2242, -2247, -2248, + 35, -2250, -2251, -2252, -2253, -76, 100, 163, + -2257, 93, -2254, -2260, -133, -2219, -2254, -4783, + -2262, -2220, 7, -2268, -2269, -1989, -2265, 57, + -1996, -2270, 251, -2271, -2274, -2262, -2279, -37, + -2277, -2282, -2283, 42, -2280, -2286, -2287, -2288, + -2289, -37, 98, 93, -2290, -2294, -81, -2292, + -2295, -2257, -2296, 125, 133, -2302, -2303, -77, + 198, -2306, -2307, -76, 100, -2308, -2253, -4891, + -2309, -2312, -2315, 95, -2317, 155, -2313, -1663, + -1914, -2322, 59, 81, -2325, -80, 125, -2326, + -84, 98, -2329, -2332, -2333, -2334, -2335, -118, + -2330, -1948, -2339, 249, -2341, -524, 98, -2344, + -84, -2342, -2345, -2317, -2346, 106, 106, -2352, + -2353, -2354, -2266, 100, -2355, 249, -2359, 249, + 155, -2362, -132, 61, -2356, 98, -2365, 249, + -2366, -2370, 77, -796, -2368, -2094, -2375, -2376, + 73, -2378, 59, 73, -2381, -2382, -2383, -2384, + -80, -1535, 117, -2385, -793, 198, 125, -2392, + -881, -2390, -2393, -840, 250, 106, -2399, -2400, + -2401, -2323, -2397, 95, -2405, -2315, 98, -2406, + -2439, -2407, -2409, -2412, -1809, 201, 117, -1726, + -2413, -2418, 81, 204, -881, -2390, -2421, -2424, + -2425, -2426, -2427, -2428, -2429, -2430, 14, 248, + -2433, -2434, -2435, -2436, -2437, -2438, 35, -1355, + -1865, -2440, -2271, -2441, -2445, 57, 248, -2448, + -2449, 93, 106, 254, -2182, -2450, -4381, 91, + -2455, -2357, -2456, -2460, -2461, -2462, -2438, -2458, + 57, 91, -2465, -2468, 81, -38, -2466, -2464, + 250, -2474, -2475, -2476, 77, -2478, -2479, -2480, + 81, 117, -2483, 95, -2472, -2484, -2487, -2488, + 93, -2485, -2491, -2492, -2493, -2494, -2495, -2496, + 249, 155, -2326, -2500, -2501, -2502, -2167, -2123, + 217, -2483, -2390, -2450, -2509, -2510, 92, -2507, + -1344, -2329, -2513, 155, 250, 254, -2167, -2516, + -2521, -2496, -2519, -2413, 121, 40, 251, -2528, + -2529, -2530, -2531, -2430, 63, -2532, -2496, 40, + -2535, -2538, -2539, 249, 92, -2542, -2543, -2544, + 77, -2510, -2536, -2546, -844, -2547, -2549, -2482, + -2524, -2550, -2553, -4919, -1316, 129, 106, 128, + 98, -2560, -2563, -2564, -487, 91, -1186, -2565, + -2567, -2570, -2210, -2568, 106, -2544, 91, -2510, + -2574, 97, -2579, -2580, 18, -1186, 129, -2584, + -2585, 249, 97, -2588, 97, -2574, 63, -2592, + -2593, -2594, -2595, -2596, -2597, -2598, -2599, -2600, + -2601, -2602, 52, 60, -2605, -2606, -735, -2590, + -2607, -2603, -2608, -2610, 82, -403, 21, 60, + 96, -2614, -2619, -2620, -2621, -2622, -2623, -371, + -2617, 179, -311, -1914, -2535, -2630, -2631, 52, + 40, -4381, -2632, -2634, -2637, 52, 38, -2640, + -2641, -2642, -2643, -2644, -2645, 15, -2647, 53, + 96, -1965, -2651, -2652, -2638, -2649, 209, -2656, + -2657, -2658, -2659, 53, 104, -2662, 96, 41, + -2665, -2666, 82, -2663, -2633, -2667, 40, -2659, + -2670, 107, -2672, -2676, -2677, 53, 104, 179, + 38, -2682, 107, 91, -2685, -2686, 38, 96, + -2683, -371, -2688, -2692, -311, -2663, 210, -313, + 49, -2696, -2699, -2700, -2631, 129, -2703, -2704, + 60, -2692, -2668, 41, -2707, -313, -2708, -2712, + -2602, -1878, -229, -2706, 41, -2716, -2719, 60, + -2717, -2722, 60, 96, -2725, -2726, 15, -2728, + 15, 53, 89, -2732, -2733, -61, -2715, -1878, + 40, -2976, -2736, -2738, -2741, -2742, -370, 113, + -2739, -2744, -2747, 36, -2745, -2750, -2751, 36, + 91, -2754, 52, 49, -2757, -2758, -2759, 36, + -2761, 164, -2755, 210, -2747, -2762, 255, -2768, + -2769, -2770, 52, 143, -2773, 60, 164, -2776, + -2777, -2778, 30, 52, 210, -2782, -2631, -2574, + 164, -2704, -2716, -2786, -2789, 30, 164, -2792, + -2793, -2794, -2795, -2796, -2797, -2798, 23, 79, + -2801, -2802, 79, -2787, -2805, 169, -2803, -2808, + -2809, -2810, -2798, -2806, 253, 143, 127, -2816, + -2817, -2818, -2819, 23, -2730, -2811, -2823, 23, + -2821, 137, -2827, -2805, 246, -2830, -2831, -424, + -2828, -2832, -2833, -2836, -391, 181, -2839, -2840, + -2841, 24, 143, -2837, 33, -2844, -2847, -2848, + -2849, 205, -2851, -2852, -2853, 15, 38, 107, + -2857, -421, -2837, -1716, -422, -2859, 204, -2864, + -2865, -2866, -2728, -2862, 135, -2730, -2867, 175, + -2873, -2874, -2730, -2138, -2868, -2875, -2879, -2855, + -2877, 201, -2883, 135, -2837, -2886, -2887, -2888, + -2889, -2890, -2891, -351, -1716, -2894, 24, -2892, + -2897, 24, 107, -2900, 16, -2895, -2903, -2682, + 174, -2906, 143, 114, -2909, -2897, -2907, 179, + -421, -2910, 143, -2916, -2917, -2918, -2919, -2920, + 28, -2907, -2751, -1687, -2923, -1135, 114, -2928, + -2929, -2930, 28, 143, -2933, 127, 33, -2936, + 28, 127, -2939, -2940, -2941, -2900, -2934, -2944, + 127, -2942, -2905, 144, -2881, -1687, -2784, -2949, + -1687, -2954, -2955, -2956, 36, -2952, -2959, -2960, + -2961, -2962, -2963, 23, -2965, 32, -2967, -2968, + -2969, -2823, -2957, -2972, 183, -2970, -2975, -2801, + -3060, 212, -2419, -2413, 183, -2982, -2983, -2984, + -2920, -2979, -2096, -2988, 36, 204, 175, -1135, + -2990, -2992, -2995, -2996, -2799, -2993, 114, -3000, + -3001, -3002, 28, -2998, 253, -3006, -3007, -3008, + 79, 94, -3003, 79, 250, -3014, 51, -3016, + -1218, -3012, -3017, -3020, 94, -3018, -3023, -3024, + -3025, -3026, -3027, -3028, -3029, -3030, 15, -2659, + 114, -256, -3032, -3036, -3037, -3038, -3039, -3040, + 53, 165, 142, -3044, -3045, 126, -3034, -3042, + -2455, -3048, -3051, -2719, -3049, 201, -3427, 114, + -3055, 33, -3059, -3051, -3069, -3057, -3061, -3064, + -2704, -3062, -1699, -3068, 179, -3148, 33, -3070, + -3073, -3074, -2784, -3071, 69, -3078, 165, -3076, + -2784, 201, 33, -3084, -3085, 248, -3087, -3088, + -3089, -3090, -3040, 174, -3076, -231, 62, -3094, + -3097, -3098, 96, -3095, -231, 33, -722, -1363, + -3101, -3104, -3105, -3108, -3109, -3110, 60, 134, + 62, 104, -3112, -3116, -3117, -3118, -3119, -3120, + -3121, 50, -3123, -230, -3114, 202, -227, -3124, + 250, -3130, 50, 202, -3133, 248, 150, -3128, + -3137, 186, 156, -3140, 202, -3142, -3143, -3144, + -3145, 60, 164, -3123, -3219, -3135, 40, -2719, + 114, -2683, -3155, -20, -2696, -2761, -3156, -2790, + 40, -3160, -3163, -3164, 28, 215, -3167, 164, + -3161, -3170, -3171, -3172, 150, -3174, -3175, -3176, + 60, 156, -3179, 142, 33, -3182, -3183, 74, + 49, -1387, 49, 33, -3178, -3185, -3187, -3190, + -3193, 150, -3191, -3196, -3197, -3198, -3151, -3189, + -3194, -3200, -3042, -3201, -3203, -3206, -231, 114, + -3207, 142, 129, -3212, -3213, -227, 48, -3214, + -3199, -3215, -3217, 75, -3160, 145, -146, 137, + -3223, -3226, -3227, -3145, 129, 74, -3228, -3232, + -3233, -2719, -3230, 164, -3237, 156, -3235, 137, + 40, -3242, -3243, 156, -3240, -3244, 60, -3245, + -3249, -3250, -3251, -3252, -3253, -3254, -3255, 15, + -3257, -3258, 23, 135, -3261, 24, 18, -3262, + -3265, -3266, -3267, -3268, -3269, -3270, 23, 253, + -3273, 151, -3275, 127, 246, 176, -3276, -3278, + -3281, -3282, -3283, -3284, -3255, -3279, 89, -3288, + -3289, 67, -3291, 89, 151, -3291, -3207, 176, + 127, -3295, 40, -3298, -3301, -3302, -3303, -3304, + 15, 96, -3307, 53, -3309, -3310, -3311, -3312, + -3313, -3314, -3315, 15, 107, 89, -3319, -3320, + 53, -3299, 49, -3324, -2677, -3298, 126, -3328, + 89, -3325, -3331, -3332, -3333, 15, 126, 165, + -3337, -3338, -3339, -3340, 15, -3334, -3329, 151, + -3317, -3342, -3347, -3348, -3349, -3328, 145, 49, + 127, -3351, -3296, -3353, 33, -3358, -3359, -3326, + -3356, -3360, -3363, 135, -3365, 127, 66, -3361, + 246, -3370, -3371, -3372, -3373, -3258, -3368, 143, + -3377, -3365, -3374, -3378, -3381, 143, 174, -3384, + -3385, -2944, 114, -2934, 164, -3387, -3391, -2905, + -3366, 145, -2926, -3078, 48, -3074, -1339, -3396, + -3399, 165, -2942, -3404, -2930, -3055, 253, -3408, + -3409, -2937, 48, -3410, -2813, 62, -3406, 48, + 157, -3418, -2937, -3415, 151, 127, -3423, -3424, + -3425, -3426, -3319, 56, -3419, 114, -3431, 60, + -2934, 60, 126, 60, 142, -3438, -3439, -3440, + 31, -3442, -3443, -3444, -3445, 67, -3291, -3187, + 205, -3450, -3451, 74, -3447, 74, 74, -3452, + -3457, -3458, -3459, -3460, 31, 142, -3463, 74, + -3455, -3466, 67, -3427, 55, 145, -3471, 74, + 33, -3474, 74, -3476, -3477, -3478, -3289, -3472, + 126, -3286, -1323, -3286, -3482, -1312, -3487, -3483, + -3467, -2934, -3489, -3492, -3493, 127, -3490, -3292, + -3494, -3496, 55, -3500, -3501, -3502, -3503, -2677, + 246, -3504, -3507, -3508, -2773, -3505, -3509, -3488, + -3510, -3512, -3334, -3513, 142, -3518, -3471, -3515, + 142, -2701, -3516, 91, 156, -3526, -3527, -2930, + -3523, -3240, -2565, -3532, -3533, -3534, -3328, 129, + 63, 126, -3536, -3538, -3541, -3463, -3539, -3544, + -3421, 91, 151, -3548, -3549, 156, -3551, -3385, + -3511, -3545, -3553, -2774, 48, -3556, -3559, 157, + 164, -3562, -3563, -3564, -3565, -3566, -3567, -3568, + -3569, -3570, 5, -3572, 12, 108, -3575, -3576, + 64, -3557, -3579, -3580, 71, 108, -3577, -3584, + -3585, -3586, -3587, 58, 115, -3580, 40, -3590, + 101, 58, -3595, 101, -3597, -3598, 12, 21, + -3581, -3599, -3601, -3604, -3605, -3606, 5, -3608, + -3609, 8, 43, 12, -3613, -3614, -3615, -3616, + -3617, 8, -3619, 12, 79, 250, 79, -3621, + 8, 43, -3627, -3628, -3629, 58, -3587, 63, + 131, 131, -3635, -3636, -3637, -3638, 5, 118, + -3641, -3642, -3643, 5, 147, -3646, 131, -3631, + -3633, 40, 161, 123, -3653, -3580, -2455, 63, + -3657, -3658, -3659, -3660, -3661, -3662, 5, 8, + 12, 12, 123, -3668, -3617, -3655, -3664, -3669, + -3673, -3674, -3617, 48, -3677, 43, -3679, -3680, + 43, 111, -3683, -3684, 43, 199, 111, -3675, + -3689, -3690, -3691, -3692, 64, 108, 101, -3696, + -3697, -3698, -3699, 12, 123, -3693, -3687, -3702, + -3572, -3703, -3707, 5, 40, -3710, -3666, -3708, + 230, -3714, 199, -3716, 207, -3711, -3719, -3720, + -3721, -3722, -3723, -3707, -3717, 118, -3727, 8, + 62, -3728, -3731, -3732, 118, -3734, -3735, -3736, + -3737, 111, 171, -3740, -3741, -3725, 188, 186, + -3738, -3523, 48, -3172, -3746, 171, -3743, -3748, + -3753, -3666, -3751, -3743, -3754, -3415, 186, -3760, + -3761, -3762, -3763, -3764, 51, 94, -1123, -3768, + -3769, 64, 101, -3772, 94, -3774, -3775, 64, + 94, -3778, -3779, -3780, -3781, -3164, -1141, 207, + -3785, 64, -3782, -3785, 48, 191, -3791, -3692, + -3788, 94, -3792, -3793, -3794, 253, -3799, -3800, + -3619, -3796, 108, -3804, -3805, -3806, -2802, -3801, + 139, -3810, 94, 94, -3811, -3807, 108, -3816, + -3817, -2936, -3813, -3795, -3869, 246, -3821, -3824, + 139, -3822, -3693, -3012, -3699, 91, -3829, -3832, + -3833, -3834, -3835, -3836, -3837, -3838, -3839, -3840, + 31, 199, 171, -3844, -3845, 157, -3094, -3846, + -3849, -3850, 111, -3847, 91, -3854, -3855, -3856, + 74, 157, -3829, -3860, 111, 48, -3863, -3864, + -3865, -3866, -3867, 43, -3861, -1320, -3868, -3870, + -3860, -3871, 139, -3876, -3877, -3878, -3879, 43, + -3873, -3844, -3944, -3728, 48, -3886, 171, -3884, + -3889, -3890, 157, 62, -3738, 21, -3893, 43, + -3894, -3898, -3899, -3900, -3854, -5072, -4439, -3896, + -3903, -3904, -3907, -3908, 156, -3857, -3905, -3910, + -3913, 74, -3915, 171, 199, -3918, -3919, 156, + -3911, -3922, -3923, -3924, 127, 196, -3927, 157, + -3925, -3927, 187, 211, -3785, 20, -3935, -3936, + -3890, -3933, -3937, 18, -3941, -3685, -3939, 250, + -3950, 20, -3933, -3948, -3949, -3459, 21, -3946, + -3951, 150, -3474, -3952, -3461, -3955, 188, -3960, + -3961, -3962, -3963, -3913, 196, -3919, 21, -3966, + -3969, -3919, 196, 21, -3973, 186, -3975, -3976, + -3193, -3971, -3977, -3177, 196, 235, -3983, 156, + -3893, -3984, -3987, -3988, -3989, 8, -3991, -3992, + 79, -3994, -3995, 139, -3997, -3866, -4783, -3742, + -3999, -4002, 139, -3893, -3849, -3998, -4003, -4006, + -4186, -4007, -4009, -3808, 228, 220, -4015, -4016, + 74, -4018, 31, -3466, -4013, -3460, -3980, -3549, + -3966, -4026, -4027, -4028, -4029, -4030, 127, 67, + -4033, -4034, -4035, 31, 157, -3546, -4024, -4040, + -3445, 119, -4041, -3292, 25, -4044, -4047, -4048, + -4049, 31, -4045, 21, -4053, -4054, -3451, -4051, + 199, -4055, -4059, -4060, 127, -4057, -4063, -4064, + -4065, -4066, -3493, -4061, -3925, -3295, 246, -4070, + -4073, -4036, -4070, -3958, 137, -3495, 128, -4076, + -4079, -4078, 25, -4082, -4085, -3845, -4083, 234, + -3841, -4086, 188, -4092, -3451, 137, -3860, -4093, + -3850, -1551, -4097, -4100, -3451, -4098, 246, -3275, + -4102, -3295, -4104, -4106, -4109, -4110, -4111, -4112, + -4113, -4114, -3164, -4107, -4115, 25, -4119, -2933, + 18, 157, -4120, -4124, -3421, -4122, 253, -4128, + -4129, -3781, -4081, -4125, 106, -3916, 250, -4134, + -4137, -4138, 157, -3916, 48, -4142, -3797, -2614, + -4143, -4138, -4144, 173, 127, -4150, -4151, -4152, + -3992, -4147, -4155, -3995, 220, 180, 253, 253, + 151, 176, -4163, -3611, -4157, -4166, -4167, -4168, + 43, 63, -3824, -4169, -4171, -4174, -4175, -4176, + -4002, 63, 207, -3841, -4177, 253, -4180, -4184, + -3797, -4051, 158, -4185, 63, -3844, -4219, -4188, + 21, -4161, -4192, -4194, -4197, -4198, -4199, -4200, + -4201, -4202, -4203, -4204, -4205, -4206, -4207, -4208, + -4209, -4210, 17, 85, -4213, 70, -3536, -4216, + -4217, 37, -3556, -4041, -4218, -3415, -4223, -4210, + 21, -4224, -4225, 61, -4226, -4230, -4231, 37, + 45, -4234, -4235, 37, 45, -4216, -4782, 40, + 41, -2052, -4240, -4242, -4245, -4246, -2071, -4238, + -4076, 137, -4211, -2701, -4251, -4254, 66, 91, + -4257, -4258, 61, -4260, 61, -4255, -4263, 66, + -4265, -4266, -4267, -4268, 17, 61, -4269, 41, + 45, -4271, 17, 41, -4277, -4278, -4279, -4280, + 17, -4275, 70, 41, -4285, -4286, 17, 88, + -2052, -4283, -4289, -4292, -4293, 17, -4177, -4972, + 173, 40, -4299, 78, 93, -1968, -4297, -1975, + -3535, -4306, -4307, 37, -4309, -4310, 37, -4312, + -4313, -4314, -4315, -4316, -4317, 37, 70, 78, + -2019, -4271, -4323, -4324, 85, -4321, 251, -4328, + -4329, -4330, -2006, -4297, 254, -2193, -4331, -4334, + -4337, -4338, -4339, 17, 85, -4342, 37, -4335, + -4345, -4346, -4347, -4348, 37, -4324, -4343, -4350, + 37, -4354, -4355, -4348, 40, 40, -4359, -4360, + 121, -4348, 25, -4352, -4362, 218, -4367, 121, + -3262, -4370, 254, -4368, -4373, -4374, -4339, -4371, + -4377, 254, -4379, -4380, -4381, 56, 193, -4384, + 141, -4386, -4387, 66, -4375, 166, -3746, -4339, + -4390, -4394, 121, 185, 254, -4398, -4399, -2201, + -4392, -4400, -4401, -4404, -4405, 17, 21, 180, + 133, -4410, 61, 85, 152, -4263, 251, -4340, + -4414, 251, -4419, -4420, -4421, -4422, -4423, 78, + -4417, 98, -4427, -4428, -4429, -4430, -4431, -2438, + -4425, 133, -4132, -1973, -4434, -1957, 98, 113, + 250, -4440, -1974, 149, -4443, -4446, -4447, -4448, + -4449, 17, -4451, -4452, -4453, -4454, -4455, 35, + -4457, 70, 78, -4460, -4235, 173, -4439, -4461, + -4463, -4466, -4310, -4443, -4467, -4470, 70, -4468, + -4473, -4470, 158, 78, -4474, -4455, -4444, -4480, + -4481, 35, 180, -2017, 158, -4484, -4487, -4488, + -4489, 37, 251, -4489, 149, -4494, -4495, 17, + 70, -4352, -2560, -4498, -2017, -4499, -4503, -4504, + 251, -4506, 254, -4508, 226, -4510, -4511, -4512, + -2006, -4501, 158, 78, 251, 141, 78, -4318, + -2558, 18, -4523, -4352, 98, -4524, -4527, -4504, + 21, -4528, 141, -4532, -4533, -4534, -4535, -4536, + -4537, -4538, -4495, -4188, 100, -4542, 98, -2350, + 98, -4546, -4547, 98, -4549, 100, 133, -4552, + -4553, -4554, -4555, -4556, 70, 251, -4559, 100, + -2532, -4562, -4563, -4496, -4560, 136, -4564, -4568, + -4540, 220, -4407, -4572, 251, -4574, 70, -2342, + -4577, -4578, -4579, -4574, -4575, -4580, -2254, 41, + -4583, 141, -4584, 217, -4589, 70, -2716, -4592, + -4495, -4590, -4593, -2274, -4560, -2035, -2535, -4600, + 254, -4598, -4603, -4604, -4605, -4606, -4607, -4608, + 17, 136, -4611, 133, 41, -4614, -4615, 98, + -4612, -5003, 40, -4618, -4621, -4622, -4623, -4624, + 85, -4619, -4625, -4628, -4629, -4630, 128, 158, + -4633, 136, -4635, 133, -4626, -4855, -4636, -4640, + -4633, -4600, 173, -4644, -4645, -4646, -4647, -4648, + -4495, -2825, 185, -4565, -1965, -2707, -4655, -4656, + 85, -4565, -4653, -4660, -4661, -4662, 17, 158, + -4665, 152, 173, -4624, 185, -4670, 152, -4672, + -4547, 149, -4675, 98, -4673, -4678, 136, 209, + 98, -4682, -4683, -4684, -4685, -4656, -4680, 136, + -4689, 121, 98, -4692, 85, 121, -4695, -4696, + -4340, 41, -4697, -4412, -4698, -4700, -4701, -4704, + -4705, -4706, -4707, 121, -4650, -2654, -2345, -4712, + -4565, 225, 209, -4637, -4461, -4583, -4707, 41, + -4719, -4722, -4723, -4724, -4417, -4720, 121, -4728, + 136, -4666, -2535, -4732, -4490, -4730, 121, -4736, + -4737, -4707, -4733, -4738, -4370, -2035, 40, -4742, + -4745, -4746, -4747, 106, -4749, 17, 133, 149, + -4753, -4754, -4755, -4756, 70, 41, -4759, 133, + -4757, -1975, -4760, -4762, -4715, -4763, 149, -4768, + -4769, -4770, 21, -4772, -2300, -4766, 21, 250, + -4777, -4778, -4779, -4780, 17, -4782, 61, 85, + -4785, -4608, 149, 88, -4789, 61, -4615, -4792, + -4793, -4794, -4608, -4790, 251, 136, -4799, -4800, + -4210, -4408, 158, -4787, -4557, 158, 136, -4808, + 85, 133, -4811, -4812, 128, -2035, -4815, -4816, + -4817, -4556, -4813, -2123, -4806, -4822, 85, -4458, + -2337, -1976, -4824, -4458, -4826, -4830, -4831, -4832, + -4211, -2342, 128, -2073, -4833, -4836, -4839, 251, + -4841, 251, -4843, -4834, -4837, -4844, -4845, -4848, + -4849, -4850, -4851, -4852, -4853, -4854, -4855, 54, + 128, -4858, 119, -4846, -4782, -4147, -4863, 75, + -4612, -4866, -4867, -4868, -4869, 18, 75, -4872, + -4873, 25, 149, 196, -4877, -4878, -4863, 98, + 121, -4879, -4693, -4881, 75, -4886, -4887, -4888, + -4889, 18, -4891, 54, 75, 75, 54, -4896, + -4897, -4894, -4884, 152, -4901, 75, -4044, -4764, + -1523, -4904, -4907, -4908, -4909, -4910, 75, -4905, + -4913, -4914, -4915, 121, -4070, -4903, -4916, 18, + -4921, -4922, -4923, 136, 173, -4926, -4673, 137, + -4927, -4930, -4931, -4910, -4673, -4757, -4665, -4933, + -4937, -4938, -4939, -4812, -4935, -4618, -4786, -4941, + -4618, -4946, -4687, 137, -4949, 149, -4873, -4952, + 128, -4954, 128, -4950, -4957, -4786, -4955, -4960, + -4961, 25, -4958, -4964, 75, -4443, 121, -4966, + -4969, -4970, -4971, -4972, 128, 75, -4443, -4973, + -4917, 137, 25, -4980, -4443, -4978, 121, -4474, + -4982, -4950, -4987, -4467, -4976, -4985, -4899, -4989, + -4993, 152, 18, -4996, -4997, -4998, -4999, -1551, + -4994, -5000, -5003, -4044, -5001, -5004, -4892, -5005, + -5009, -5010, -4919, -5007, -5013, -5014, 75, -5011, + -5015, -5018, -5019, -1551, -5016, -1538, 196, 97, + -1542, 21, -5025, -5028, -5029, 25, -4988, -5026, + -1546, -5034, -4443, -5032, 98, -5035, -5039, -5040, + -5041, -5042, -5043, 56, 187, 196, 250, -5046, + 54, 61, -5051, -5052, -5053, -1504, 97, -5047, + 21, 97, -5059, -5060, -5061, -5062, 54, -5056, + -5065, 56, -5063, -1498, -5066, 75, -1498, -1223, + 21, -5074, -5075, 18, 54, +}; + +static long _vq_ptr1_lsp32_1[] = { + -4196, -2591, -1267, -783, -332, -193, -142, -68, + -47, -34, -31, -17, -16, -15, 255, 255, + 255, -25, -22, -16, 255, 4, -16, 255, + 4, -29, -16, -21, 4, 255, 178, -33, + -21, 255, -42, -39, -38, 178, 178, -38, + 178, -27, -44, 146, -16, 255, -41, -60, + -58, -53, -52, 52, 52, -55, 231, -57, + 255, 255, -57, 231, -64, -63, -54, 255, + -65, -63, 154, 154, -110, -71, -66, -92, + -83, -78, -77, 178, 236, 178, -77, -81, + 236, 236, 154, -85, 236, -89, -88, -66, + 236, -88, 236, -70, -103, -96, 81, 229, + -100, -99, 229, 229, -99, 229, 4, -107, + -1021, -28, 4, -16, 255, -28, -138, -123, + -116, -115, -105, 229, -89, -88, 236, -91, + 128, -62, -46, -131, -128, -127, 154, 236, + -127, -122, 154, -128, -127, 236, -130, -104, + 138, 154, 229, -141, 221, 221, -148, -147, + -146, 202, 202, 248, -150, -134, -184, -165, + -164, -161, -158, -115, 229, 154, -115, 229, + -67, -99, 122, -149, 248, -177, -174, -39, + -38, 178, -129, -384, 192, 192, -176, 221, + 221, -181, -180, -172, 178, -180, 200, 200, + -188, -187, -182, 221, -190, 248, -187, 221, + 200, -278, -258, -213, -203, -202, -200, 178, + 96, -182, 96, -212, -115, -209, -208, -186, + 229, 194, 200, -182, 194, -237, -234, -228, + -226, -223, -222, -221, 194, 194, 210, 178, + 210, 194, 178, 210, -232, -231, 210, 210, + 134, 148, -236, 134, 134, -249, -236, -247, + -244, -187, 221, -211, -187, -207, -27, 194, + -21, -251, -246, -254, 134, -179, 134, -222, + 210, 208, -63, -261, 231, -265, -23, 208, + 231, -272, -269, 210, 231, -271, 255, 255, + -275, 210, -264, 255, -263, -260, -286, -284, + -100, -571, -183, 200, -33, -192, -315, -298, + -292, -291, 124, 194, -296, -208, 229, -285, + 194, -282, -310, -307, -304, -303, 237, 237, + -303, 237, -297, -309, 194, 194, -312, 245, + -314, 245, 245, -319, -318, 59, 237, -329, + -324, -323, 237, 237, -327, -314, -277, 245, + -253, -63, -170, 116, -579, -478, -387, -349, + -344, -318, -340, 52, -302, 237, -331, 116, + -348, -302, 162, 162, 215, -361, -352, 38, + -360, -357, -356, 110, 110, -356, 110, -346, + 172, -366, -291, 172, -343, -342, -382, -378, + -304, -373, -314, 245, 162, 237, -346, -846, + -374, 80, -380, 80, 237, -377, -304, 194, + -448, 87, 80, -416, -393, -358, 110, 213, + -381, -407, -401, -398, 213, 99, -400, 213, + 213, -398, 99, 213, -375, -376, -365, -413, + -412, -305, 224, 224, 110, -412, 110, -410, + -427, 169, -426, -423, -422, 213, 213, -422, + 213, -415, 84, -455, -447, -445, -438, -435, + -1021, 231, -433, -356, 110, 208, -435, -4812, + 208, -437, 88, -434, -425, -399, 124, -451, + -1021, -444, 124, 110, -400, 213, 140, 213, + -468, -465, -462, -360, 172, -454, -360, 172, + -449, -467, 132, 172, -472, -442, 231, 231, + -475, -360, -470, -360, -474, -347, -536, -522, + -507, -502, -485, -484, 221, -491, -488, 77, + -490, -466, 229, -497, -494, -489, -496, 229, + 229, -499, 77, -496, 229, -464, -506, -505, + 172, 172, 221, -463, -519, -517, -467, -496, + -115, -406, -330, 168, 168, 99, 221, -520, + 221, -515, -525, -524, 221, -530, -115, -88, + 239, 239, -534, -88, -528, 239, 229, -528, + -565, -555, -550, -543, -414, 110, -532, -546, + -95, 177, -548, 177, 229, 170, -552, 170, + -305, -545, -542, -557, -521, -558, -562, -496, + 239, -560, -496, 239, -560, -570, -569, 221, + 82, 99, -573, -753, 239, -576, -467, -560, + -115, -564, -561, -707, -658, -614, -602, -596, + -590, -589, -436, 110, 239, 96, -594, -593, + 110, 110, 96, -563, -600, -599, 96, 96, + 84, -529, -611, -610, -607, 46, -578, -500, + 3, 3, 96, -612, 84, 96, -616, -608, + -652, -647, -154, -625, -624, -623, -606, 221, + 96, -635, -630, -629, 82, 82, -632, 134, + -187, 192, -172, -637, -563, -236, 134, -622, + -5037, -469, -639, 154, -404, 148, -588, -650, + 96, -645, -187, -643, -236, -524, -187, 26, + -651, -642, -682, -670, -668, -569, -666, -589, + -556, 130, 213, 138, 82, 99, 169, -677, + -453, -1101, 154, 138, 154, -666, -599, -130, + -675, -130, -693, -686, 213, 249, -689, 134, + 213, -691, -130, 134, -681, -700, -697, 213, + 205, -699, 213, 213, -697, -699, -680, -667, + -1583, 168, 168, -738, -732, -717, -244, -568, + -705, -515, -640, 3, -609, -725, -722, -721, + 122, 134, -721, -716, 168, -722, -721, -705, + 146, 190, -727, -724, -736, 213, -735, 134, + -721, 168, -772, -757, -403, -749, -746, -745, + 110, 110, -745, -706, -674, -746, -745, -731, + -723, 190, -713, 177, -755, -769, -762, -589, + 177, -755, -746, -745, -756, -755, 173, -756, + -764, -666, -545, 177, -774, -545, -778, -308, + -770, -768, -780, 154, -313, 122, -674, -1077, + -1027, -962, -858, -827, -817, -814, -798, -795, + -794, 197, 197, -794, 197, -781, -807, -804, + -802, 59, -803, 197, -803, 197, -674, -792, + -794, 197, 168, -4899, -706, -812, -669, -806, + -797, -823, -794, -821, 219, 219, -777, -825, + 219, 219, 227, -849, -831, -830, 99, -834, + 77, 249, -842, -839, -803, -754, -703, -803, + 197, -664, -839, -803, 197, 243, -1012, -845, + -847, -853, 197, 219, 84, -855, 219, -824, + 219, 239, -915, -868, -863, -862, 59, -865, + 59, -867, -560, 255, -908, -872, -871, 170, + -904, -895, -888, -883, -880, -879, 239, 197, + -879, 197, -560, -886, 170, -866, 170, 239, + -892, 190, -563, -885, -794, -848, 239, -903, + -900, -899, 170, 170, -899, 170, -528, 120, + -906, 219, -821, 177, -912, -108, 255, 160, + -108, -902, -913, -929, -920, -881, 216, 160, + -922, 216, -926, -925, -921, 229, -925, 216, + -921, -953, -943, -936, -803, 197, -924, 177, + -940, -4665, -919, -918, -925, -914, -893, -950, + -940, 197, -841, -811, 177, -948, -821, -948, + -949, -957, -101, -948, 177, -959, -948, -925, + -955, 160, -984, -323, -980, -972, -971, 36, + -970, 99, 99, 99, -976, -322, -961, -960, + 99, -322, 237, 174, -400, 174, -979, 174, + -994, -910, -990, -318, 237, 174, -318, 237, + -983, -982, -1011, -1008, -1006, -1004, -1002, -305, + 177, 177, 110, 174, -318, -1000, -905, 167, + -854, 219, -1005, -1015, 190, -993, -975, -1019, + -854, -952, -545, -1024, -855, 206, -1017, 174, + -1026, 184, 172, -1065, -1055, -1041, -1033, -910, + 167, -58, -1038, -1037, 73, 73, 190, -4923, + 122, -1050, -1047, 255, -1046, 222, 222, -1046, + 222, 167, -1048, -33, 167, -1049, -1040, -1060, + 190, -1059, 120, 120, -1048, -1063, 222, 222, + 167, -1074, -1067, -1069, 191, -1073, -4693, -1032, + -1054, 222, -1076, 160, 187, -1209, -1124, -1090, + -697, -1082, -1084, -1075, -1086, -1072, 213, -947, + -1025, 184, -1110, -1108, -1105, -1100, -1098, -1086, + 160, -1088, 169, -1023, -1104, -1513, -1022, 243, + 169, -698, 243, -1103, 169, 213, -1113, 203, + 77, -1119, -1116, 99, -1118, 184, 99, -1121, + 203, -698, -1117, 184, -1130, -1127, 39, -1063, + -1122, -1103, -1183, -1156, -1145, -1136, 39, 169, + -1140, -1135, 169, -1107, -1142, 243, -1144, 195, + 195, -1147, 219, -1149, 184, -1153, -1152, 219, + 219, -1152, 219, -1148, -1164, -1161, -824, 219, + 153, -824, -1155, -1141, -1168, -1152, 184, 243, + -1170, -1163, -1178, -1175, -1174, 227, 227, -1174, + 227, 167, -1175, 195, -1390, 167, -1177, -1199, + -1188, -1120, 203, 167, -1197, -1193, -1192, 203, + 203, -1192, 219, -1177, -1182, 120, 167, -1203, + -1201, 120, -1198, -1172, 219, 227, -4474, -1196, + -1169, -1228, -1222, -1212, 203, -1217, -1073, 222, + -1139, -1219, 191, -1221, -1023, 222, -1226, -1063, + -1023, 174, -1063, -1023, -1250, -1239, -1232, 187, + -1236, -1235, 195, 195, -1235, 195, -1224, -1245, + -1243, 203, -1220, -698, 174, -1249, -1192, 203, + -1023, 205, -1266, -1259, -1256, -1255, 211, 211, + -1255, 211, -1220, -1256, -1255, 211, 174, 218, + -1023, -1220, 211, -1922, -1594, -1445, -1348, -1294, + -1283, -1275, 190, -1282, -1278, 166, -1280, 88, + -1281, 166, 190, -1285, -1258, -1288, 39, -1242, + -1291, -1048, -983, -1048, -1287, 159, -1330, -1301, + -1300, -1299, 187, 187, 90, -1299, -1313, -1308, + -1307, 112, 88, 112, -1307, -1311, 113, 113, + 159, -1317, -1316, 166, 166, -1325, -1322, -1316, + 166, -1293, -1316, 159, -1293, -1327, 113, 113, + -1321, 55, -1345, -1342, -1336, -1335, 105, 105, + -1340, -1339, -1328, 166, 166, -1292, -1344, -1216, + 166, -1347, 187, 187, -1393, -1377, -1366, -1361, + -1359, -1357, -1316, 166, -1102, 113, -845, -1360, + 144, -1316, -1364, 144, 144, -1141, -1374, -1371, + -1370, 189, 189, -1370, 189, -857, -1376, -857, + 144, -1389, -1382, -1381, 66, 66, -1386, -1385, + 144, 144, -1385, 144, -1373, -1371, -4983, -1089, + -1388, -1427, -1404, -1397, 97, -1401, -1400, 105, + 105, -1400, -907, 160, -1420, -1413, -1410, -1370, + 189, -907, -1370, 189, -1409, -1410, -1370, 189, + 177, -1263, -956, -956, -1424, -1423, 144, 144, + -1423, -1418, -1412, -1439, 119, -1436, -1434, -4395, + -1403, 182, 144, -1433, -1370, 189, 159, -1440, + -1400, -1443, 119, 119, -1435, -1528, -1519, -1453, + -1450, 249, -1411, 141, -1293, -1489, -1473, -1460, + 97, -1459, 227, 227, -1471, -1468, -1466, -1465, + 227, 227, 189, 227, -1411, 159, -1452, 105, + 68, -1484, -1478, -1477, -1444, 227, -1481, 97, + -1432, -1467, -1365, -1356, -1333, 97, -3427, 182, + 182, -1502, -1497, -1493, 97, -1495, -1487, -1411, + 182, -1441, 105, -1087, -1487, -1494, -1510, -1507, + -1400, 105, 182, -1400, 105, -1487, -1516, -1507, + 83, -4775, -1501, -665, -1411, 204, 130, -1521, + 203, -1525, -1255, 211, 122, -1255, 211, 204, + -1590, -1571, -1555, -1544, -1539, -1537, -1536, 204, + 187, -1538, 196, -1543, -1542, 196, 196, 196, + -1550, -1547, 187, -1346, -1527, 175, -1540, 196, + 141, 175, -1549, -1568, -1562, -1561, -4360, -1548, + -1524, 211, -1566, 173, -919, 160, 203, -919, + -1561, 211, 204, -1573, 175, -1260, -1261, -1568, + -1580, -1235, 195, -1572, -1235, 195, -1572, -2737, + -1579, 182, -1585, 141, 204, 204, -1592, 211, + 211, 182, -1752, -1631, -1372, -1618, -1609, 113, + -1607, -1604, -1603, 120, -1603, -1588, -1586, 187, + -1585, -1291, -1614, -1048, -1585, -1608, 190, -4360, + -1606, -1584, -1625, -1623, -1311, 113, -1570, 112, + -1564, -1629, -1628, 206, 206, 206, 182, -1678, + -1669, -1655, -1653, -1651, -1644, -1641, -1603, -1630, + 160, -1603, -545, -1640, -1641, -1603, 120, -760, + -1563, 160, -1643, -1652, 120, -1654, 112, -1661, + -1660, -1654, 112, -553, 112, -1664, 88, 95, + -1666, -1639, -1660, 112, -1624, -1675, -1674, -1179, + 195, -1515, 187, -1179, 204, 160, -1706, -1688, + 103, -1685, -1684, 240, 144, -1684, 240, 240, + -1694, -1693, -1684, -1686, -1683, 95, -1697, 95, + 103, -1703, -1700, 204, -1702, 144, 144, -1660, + 112, 159, -1709, -903, -1699, -1728, -1720, -1713, + -1692, -1666, -1660, 240, 240, -2092, 240, -1716, + -1724, 121, -1715, -1715, -1603, 120, 155, -1683, + -1735, -1733, -1732, 189, 189, 189, 155, -1745, + -1738, 155, -1742, -1648, 240, -1683, -1370, 189, + -1727, -1749, -1732, 189, -1723, -1732, -1722, -1712, + -1815, -1795, -1776, -1757, 81, -1772, -1768, -1765, + -1726, -1763, 103, 103, 175, -881, 197, -1764, + -1771, -1770, 197, 197, -1774, 197, -881, -1767, + -1777, -1788, -1782, -881, -1751, -1677, -1785, 155, + -1639, -1770, -956, -545, -1792, -1734, 155, -961, + -1734, -1787, -1686, -1805, -1804, -1801, -1800, 97, + 97, -1800, 97, -1784, 95, -1812, -1810, -1809, + -1781, 155, 155, 95, -1732, 189, -1673, -1849, + -1827, 203, -1820, -1483, -1824, -1176, -946, -514, + -1176, 227, 182, -1842, 169, -1831, 90, -1835, + -1174, -1826, 181, -1175, -1174, 204, -1837, -2056, + 204, 125, -1844, 47, -1824, -1838, 105, -1834, + 204, -1879, -1877, -1853, -1848, -1858, 197, -1857, + 83, 83, -1870, -1867, -1864, -826, 227, 201, + -826, 201, -1863, -1465, 217, 217, -1874, -1465, + -1868, 217, -1465, -1868, -1872, -1520, 217, -1887, + -1884, -4417, -1868, -1872, -1174, -1876, -1866, -1891, + -903, 201, -1889, -1917, -1912, -1905, -1898, -1897, + -1865, 227, -1864, -826, -1886, -1852, -1739, -1847, + -1833, -1874, -1558, 241, 137, -1499, 254, 98, + -1732, 61, 241, 241, -1914, -1813, -1467, 241, + -1914, -1916, -2234, -2020, -1983, -1969, -1952, -1937, + -1932, -1931, 93, 93, -1934, 88, -1936, 241, + 93, -1947, -1944, -1943, -45, -1935, 225, 88, + -1933, 88, -1941, -1949, 241, -33, 255, -1919, + -1960, -1959, -1936, -1957, -1946, 93, -1921, 78, + -1963, 190, 88, -1967, -1629, 241, -1920, 190, + 206, -1977, -1976, -1975, -1974, 214, 214, 214, + 190, -1980, 190, 214, -1981, 214, 255, -2001, + 254, -1986, -1994, -1991, -1990, 163, 163, -1990, + 163, -1958, -1991, -1990, 163, -1915, -4663, -1914, + -1916, -2002, -2018, -2011, -1991, -1990, 163, -1997, + 61, -1993, -1911, -1991, -1990, 163, -1915, -1998, + -2014, 233, 163, 141, -2086, -2067, -2059, -2049, + -2036, -2029, -1936, 254, -2016, -2033, -2032, 241, + 95, -2032, -2031, 241, -2043, -2041, -1693, 95, + 233, -1660, -2034, -1695, -1763, 103, 233, -2015, + -2034, -2055, -1701, -1627, 206, -2042, -2028, 112, + 113, 181, 254, -2061, 45, -2064, 144, 155, + -2066, -2054, 155, -2079, -2076, -1363, -1364, -2073, + -2010, 206, -1904, 201, -2077, 93, 204, -2085, + -2083, 144, 95, -1684, -2078, 88, -2178, -2145, + -2104, -2102, -2097, -2095, -2556, -2075, 204, 95, + 201, -2101, -1385, 144, -2078, 95, 95, 88, + -2128, -2121, -2114, -2111, -2110, 193, 193, -2110, + 193, -2096, -2111, -2110, 193, -2093, -4412, -2094, + -2117, -2125, -2124, 198, 193, -2124, -2120, 130, + -2132, -2131, 182, 163, -2139, -2137, -2136, 193, + 193, 95, 198, -2137, -2136, 204, -2119, -2408, + 182, -2148, -1790, 182, -2164, -2161, -2158, -1749, + -1732, 182, -2147, -2118, -1848, -2094, -1732, 198, + 204, -1732, -2094, -2159, -2169, -1809, 155, 244, + -2157, -2175, -2172, -2154, -2174, 244, 244, -2124, + 193, -2144, -2183, -2180, -2181, -2182, 254, -2223, + -2221, -2209, -2208, -2205, -2202, -2197, -2194, -2193, + -2130, 193, -2193, -2126, 214, -2201, -2193, 193, + 214, 141, -2204, 198, 193, -1376, -2196, 214, + 155, -2211, 97, -2216, -2214, 189, 189, -1826, + -2218, 181, -1732, 233, 233, -1813, -2219, -2225, + 141, -2227, -2217, -2231, -1441, -2215, -2207, -2124, + -2206, 233, -2423, -2301, -2278, -2249, -2246, -2243, + -147, 248, 233, -147, 248, -2233, 248, 249, + 57, -2267, -2266, -2259, -2256, -2255, 233, 236, + -2255, 236, -2245, -2256, -2255, 198, -2242, -2155, + -2261, -2242, 221, -2275, -2272, -2271, -2261, 163, + -2271, -2264, 233, -1990, -2242, -2276, -2285, -2281, + -2273, 255, -30, 178, -2258, -1936, -16, -2293, + -90, -2291, -2284, 178, 204, -2297, -90, -2232, + -2195, 178, -2074, 198, 198, -2369, -2331, -2305, + 214, -2319, -2310, -81, 214, -2304, -2314, -1443, + -2300, -2299, -2316, 236, -2255, 236, -2123, -2321, + 225, -2324, -2323, 117, -2328, -2317, 225, -2320, + -2317, 217, 241, -2351, -90, -2340, -2338, -127, + -2327, -1935, 221, 236, -2343, 155, 225, -2347, + -127, 241, -2337, -127, -2336, 133, 225, -2358, + -2357, -524, 155, 225, -2350, 163, -2361, -2360, + 163, -2367, -2255, -4665, -2349, 100, -2364, -127, + -2348, -2374, -2371, -840, -2318, 214, -2380, -2377, + 81, -2379, 103, 103, -2398, -2391, -2388, -2386, + 155, 214, -2317, -2373, -1770, 232, 232, -2395, + -1770, -2389, -2387, -1770, -2394, 204, -2417, -2411, + -2404, -2403, -1837, 117, -2328, -2317, 204, -1837, + -2512, -2402, -2329, -2415, -2414, 232, 155, 117, + 204, -2420, -840, 232, -840, -2419, -2416, -2473, + -2459, -2432, -2431, 249, 96, 254, 244, 249, + -2457, -2447, -2444, -2442, -2275, 163, 93, -2559, + 232, 204, 254, -2422, -2446, 254, 254, -2452, + -2451, -2174, 232, 244, -2172, -2419, -4395, 232, + 204, 254, -2453, -2467, -147, -189, -2464, -2443, + 93, -1873, -2463, -2469, 93, -2471, -2410, 244, + -2470, -2490, -2486, -2477, 117, -1693, -2482, -2481, + 244, 244, -2481, 244, -2396, -2372, 155, -2483, + 244, -2298, -2562, -2527, -2517, -2499, -1732, -2497, + 244, 244, -1942, -2515, -2508, -2505, -2497, -2498, + 232, -2497, -2504, -2504, -2505, -2497, 244, -2506, + -2559, -2511, 198, -1408, 198, -2518, -2520, -2514, + -2172, -2174, -2503, -2504, 218, -2523, 217, -2508, + -2551, -2537, -2534, -2481, 225, -1942, -2481, 225, + -1942, -2541, -2540, 117, 117, -2548, -2545, 117, + 244, -2481, -2533, -2526, -840, -2123, 220, 197, + -4412, -2525, -2522, -5054, -2559, 220, 220, 166, + 220, -2558, -2578, -2569, -2566, 220, -1520, -2558, + -2561, -2573, -1800, -2557, 217, -2575, 217, -2577, + -2572, 244, -2583, -2581, 203, 254, 217, -2587, + -2586, 254, 254, -2451, -2174, -2582, 217, -3561, + -3022, -2791, -2731, -2721, -2684, -2618, -2616, -2613, + -2604, -2603, 134, 134, -2612, -2609, -721, -2582, + -2589, -721, -2576, -2571, 104, -2615, 250, 213, + -721, -2611, -2639, -2638, -2636, -2629, -2626, -2625, + -2554, 245, -2625, -1935, -2627, -2626, -2625, 245, + 241, -4412, -2035, -2628, 213, 179, 104, -2680, + -2675, -2650, -598, -2646, 96, 104, -2648, 104, + 104, 225, -2655, 213, -2648, -2635, 241, -2671, + -2664, -2661, -2660, 107, 107, -2660, 107, 241, + -2661, -2660, 107, -2654, -2552, -1965, 41, -2673, + -2669, -666, -2653, -2679, -2678, 179, 179, 213, + -2681, -2625, 245, 129, -2698, -2689, -2687, -256, + 220, -2691, -2560, -2695, -2694, -1914, 245, -2694, + 129, 137, -2711, -2702, 60, 137, -2705, 210, + 245, -2709, -2454, 137, -2701, 210, -2697, -2714, + 210, -2582, -2718, -2363, 217, -2582, -231, 210, + -2713, -2724, -2723, 205, -2730, -2727, 96, -2729, + 213, 213, 213, -2767, -2740, -269, -2263, 129, + 217, -3882, -2582, -2735, -2753, -2749, -2746, -1385, + -2720, -2710, -314, 245, -2693, 245, -348, 215, + 98, -2756, -2751, 98, -2763, -2760, 215, 255, + -63, 255, -2752, -2764, -2766, -2574, 245, -2788, + -2775, -2772, -2771, 179, -2774, 179, 179, -2780, + 210, -2779, 60, 60, -2781, -2785, -2784, -2329, + 245, -2784, -2329, -2783, -2790, 215, 215, -2958, + -2915, -2846, -2826, -2807, -2800, -2799, 169, 169, + -2804, -1249, 205, -2765, -1249, 205, -1999, -2815, + -2814, -2813, -2812, -2748, 169, 253, 143, -1086, + -2822, -2820, 213, 127, 127, -2690, -699, 213, + -2674, 254, -2812, -2829, -2825, -2835, -1135, -1109, + -2824, -2624, -2489, -2838, 143, 240, -1086, -1138, + -2842, 169, 169, -1683, -1686, -2843, -2885, -2863, + 169, -2850, -2856, -2855, -2854, 107, 107, 213, + -2860, -2855, -1715, -1715, -2855, -2858, -1718, -699, + -2872, -2869, -2868, -2861, 213, -2868, -2845, 198, + -2878, -2876, 179, -2871, 179, -1585, -2882, -2679, + -2870, 240, 213, 179, -2881, -2911, -2908, -2902, + -2899, -2896, -2893, 107, -2881, -2854, 107, -2884, + -2898, 143, 143, -2771, 179, -2859, -2905, 179, + -1716, -2625, 245, 240, 38, 32, -2904, -2912, + -2914, -2901, 213, -2938, -2927, -2925, -2922, -2790, + 215, -2881, -2790, -2881, -2921, 253, 174, -2935, + -2932, -2931, 164, 164, -2931, 164, 174, -2937, + 253, 253, -2953, -314, -2946, -2943, -2926, -2771, + 179, -2924, -2950, 152, -1715, -1715, 179, -2948, + -1718, 52, -2931, 245, 143, -2951, -2981, -2966, + -2964, 36, 169, 24, 213, 36, -2974, -2971, + 183, 169, -2945, -699, 213, -2913, -2980, -2805, + -3820, 232, -2977, -2977, 205, -2994, -2991, -2987, + -2751, -2978, -2985, -1046, -1221, 212, 212, -2812, + -2989, -2094, -2999, 115, -2812, -2986, 175, -3013, + -3005, -3004, -2980, -2389, 183, -3011, -2802, -3009, + 253, 253, -2997, -3004, 212, -3015, 79, -3019, + -1068, 175, -2989, -1068, 191, -3010, -3248, -3115, + -3083, -3058, -3035, -3031, 210, 142, 53, -3033, + 232, 107, -2977, -256, -3050, -3043, -3042, -3041, + 210, 210, 210, -3047, -3041, 210, -2979, -3041, + -2977, -2979, -3047, -3041, -3046, 212, -2947, 212, + -3053, 212, -3072, -3063, -1542, -3053, -3056, -3067, + -2694, -3052, -1840, -2626, 210, -3398, 201, -3066, + -3080, -3077, -2625, -3065, 212, -2625, 245, -2989, + -2694, -3079, -3081, 205, -3086, 142, -3107, -3102, + -3096, -3093, -3042, 212, -3091, -3042, 212, -3091, + -3100, -3042, 210, -3092, 142, 69, -231, -1385, + 212, -3091, -3099, -3113, -231, -3111, 142, 142, + -3055, -231, -3106, -3169, -3136, -3132, -3129, -3122, + 248, 210, -3126, -3125, -3082, 210, -3125, -3075, + -3127, -3131, 215, 215, -3134, 186, -3131, -3021, + -3141, -3138, -3139, 210, 230, -3162, -3154, -3147, + -3146, 202, 202, -3151, -1344, -2973, -3149, -3125, + 129, -3152, -3159, -3157, -3152, 215, -3153, -3131, + 129, -3152, -3166, -3165, 230, 230, -3165, 230, + -3158, -3225, -3195, -3173, 186, -3188, -3181, -3178, + -3177, 202, -3177, 202, 181, -3178, -3177, 202, + 114, 66, 91, 91, -3192, -3103, -3186, -3184, + -3177, 202, -3180, -3222, -3211, -3205, -3202, -3054, + -1687, -3168, -3125, -3150, -2880, -3209, -3125, 145, + 129, -3125, 145, -3202, -3093, -3042, 145, -3210, + -2743, -3208, -3153, 166, -3218, 188, -3193, 188, + -3221, -3246, -3231, -3229, 188, -3177, -3221, -3241, + -3236, -3235, -3224, 210, -3238, 164, -3041, 145, + 188, -3125, -3235, 210, -3221, -3239, -2694, -3234, + -3422, -3369, -3280, -3264, -2799, -3256, 24, 151, + -3260, -3259, 151, 151, -3259, 151, 137, -3247, + -2802, -2812, -3277, -3274, -3272, -3271, 176, 176, + 253, 176, -3273, 176, 188, 205, -3221, 18, + -3300, -3297, -3296, -3287, -3286, -3263, 151, -3293, + -3290, 151, -3292, 234, 234, -3295, -3210, 234, + 151, -1249, 145, -3210, -3308, 205, -3306, -3305, + 142, 142, 142, 96, 205, -3336, -3330, -3323, + -3318, -3317, -3316, 126, 126, 126, -3316, -3317, + 126, -3294, 145, -3327, -3326, -3322, 179, -3326, + 179, -3321, -3335, -3334, 165, 210, 165, 179, + -3346, -3344, -3341, 151, 165, -3343, -3221, 165, + 151, -3285, -3357, -3354, -3352, -2883, 182, 137, + -2883, 145, -3259, 114, 145, -3364, -3362, -3335, + -3207, -3355, 179, 165, -3341, 165, 152, -3350, + 182, -3403, -3383, 210, -3376, -3375, -3367, 151, + -3380, -3343, -3345, -3220, -3343, 165, 240, -3390, + -3388, -3335, -3382, 69, -3335, -3386, -3397, -3395, + -4585, 174, -3393, 179, 174, -3401, -1344, -3393, + -3394, -2625, -3400, -3407, -3406, 174, 164, -3417, + -3412, -2813, -3405, -3095, -3414, 91, -3416, 91, + 164, -3421, -3420, -3413, 253, 157, -3499, -3437, + -3435, -3433, -3430, 152, -3411, -3091, -3317, 126, + -3429, -3434, 142, -3436, 205, -3475, -3473, -3456, + -3441, -3454, -3449, -3446, 205, 234, -3448, -3432, + 234, -3453, -3291, 234, -3428, 205, -3436, -3402, + -3470, -3465, -3462, -3461, 156, 156, -3461, 156, + -3389, -3462, 74, -4585, 91, -1683, -3434, 142, + 159, 205, 150, -3486, -3483, -3481, -3480, 240, + 151, 126, 174, -3296, -3393, 174, -3448, -3491, + -3392, -983, -3485, -3495, -3295, 234, -3484, -3295, + -3479, -3469, 145, -3525, -3517, 210, -3506, -2773, + 145, -3498, -3514, -3359, -3335, 182, -3497, -3216, + -3468, -3464, -3516, -3379, 165, -3522, -3520, -3204, + -3334, 188, -3524, 188, 165, -3531, -3167, -2933, + -3521, -3528, -2557, -3540, -3480, -3537, -2944, 235, + 235, -2944, 220, -3535, -3543, 127, -3530, -3547, + -3546, 235, 157, -3550, 164, 157, -3558, -3555, + -2734, 220, -3535, -3335, 235, -3535, -3560, 165, + 165, -3759, -3656, -3626, -3603, -3583, -3574, -3573, + -3571, 123, 147, 147, 123, 123, -3578, -3573, + 123, -3554, -3573, -3581, 147, 147, -3542, -3594, + -3592, -3589, -3588, 147, 147, -3588, 63, -3582, + -3593, 115, -3596, 115, -3600, -3588, 147, 91, + -3588, -3591, -3529, -3612, -3607, 12, 118, -3611, + -3610, 118, 118, 43, -3624, -3622, -3598, -3618, + 79, 139, -3620, 139, 139, 232, -3588, -2450, + -3625, 79, -3634, -3633, -3630, 86, -3632, 250, + 147, 223, -3652, -3651, -3640, -3639, 223, 223, + -3648, -3645, -3644, 161, 161, -3644, 161, -3623, + -3650, -3647, 223, 223, 123, -3632, -3032, 232, + -3718, -3688, -3667, -3665, -3664, -3663, 12, 12, + 238, -3666, 238, -3672, -3670, -3032, 139, -3654, + -3678, -3676, 111, 232, 139, 111, -3682, -3681, + 171, 171, -3686, -3685, 238, 238, -3685, -3032, + -3695, 230, -3694, -3693, 207, 207, 108, -3709, + -3704, -3701, -3700, 207, 207, -3700, -3654, -3671, + -3706, -2419, -3666, 238, 114, -3713, -3712, -3705, + 238, -3715, 207, -3712, 238, -3649, -3752, -3733, + -3730, -3643, -3726, -3725, -3602, 238, -3725, 238, + 243, -1107, 150, 223, 161, -3750, -3739, 150, + -3738, 238, 238, -3747, -3744, -3743, 243, 238, + -3743, -3228, 188, -3749, -3221, 186, 223, -3230, + -3758, -3755, -3745, -3712, -3742, -3468, 223, -3831, + -3798, -3773, -3767, -3765, 101, -3595, 243, -3771, + -3770, 191, 191, 191, 101, -3777, -3776, 108, + 108, -3795, -3790, -3787, -3784, -3783, -1103, 230, + -3783, 230, -3766, -3789, 243, 230, -3020, -3793, + -1103, 207, -3782, -3797, -3214, 207, -3815, -3803, + -3802, -3786, 139, -3812, -3811, -3809, -3808, -3757, + 205, 139, 205, 115, -3814, -3756, 115, -3826, + -3819, 207, -3729, -3823, 196, 243, -3742, -3797, + 207, -3818, -3828, -2989, -3824, 212, -2989, -3986, + -3947, -3897, -3862, -3853, -3848, -3843, -3842, -3841, + 242, 242, 199, -3842, -3841, 242, -2989, -3830, + -3842, -3841, 242, -3827, -3152, -3859, -3842, -3857, + 199, 199, -3055, -3842, 199, 212, -3875, 207, + -3872, -3849, -3841, 242, -3055, -4186, -3858, -3852, + -3874, -3012, 199, -3895, -3888, -3881, -3842, 199, + -3851, -3885, -4406, 250, 250, -3841, 242, -3883, + -3892, -3685, 238, 250, -3685, 243, -1106, -3716, + -3891, -3932, -3917, -3912, -3906, -5071, -4856, -3887, + -3880, -3825, -3909, 171, 199, -3842, -3724, -3519, + -3914, 230, -3916, 230, 230, -3921, -3167, 230, + -2834, -3929, -3926, -3916, 230, 243, -3916, 230, + 211, -3167, -3928, 243, -3934, 243, -3940, -3783, + -3712, -3931, -3930, -1591, -3715, -3712, -3938, 187, + -4008, -3943, -1106, -3959, -3954, -3953, -4041, 222, + -3894, 156, -3956, -3945, -3953, -3942, 235, -3167, + -3974, -3968, -3965, 171, -3958, -3915, 235, -3964, + -3972, -3140, -2565, 220, 230, 202, -3982, -3979, + -3973, -3970, -3967, -3973, 235, 243, -3749, 186, + -3981, -3980, -4108, -4014, -3990, 111, -3993, 205, + 176, -4011, -3996, 176, -4004, -4001, -4856, -3925, + -3985, -3841, 242, -3788, -4001, -3902, -3966, -4000, + -4190, -3978, -3894, -3277, 235, 235, -4025, -4017, + 127, -4021, -4019, 165, -4012, -4023, -4020, 165, + -3980, -4099, -4091, -4062, -4046, -4032, -4031, 157, + -4039, -4037, -4036, 234, 234, 234, -4022, -4043, + -4036, 228, 196, -4036, 196, 228, -4052, -4036, + -3857, 199, -4042, 228, -4058, -3857, -4056, 196, + 234, -4050, 234, -3857, 199, -4038, -4084, -4077, + -4072, -4069, -4056, -4010, -3931, -4056, 211, -4068, + -3857, -3295, -1523, -3980, 235, -4073, -4782, -3980, + -4075, -4005, 235, -3980, -4088, -4087, -4075, 242, + -4087, -4080, 196, -4094, 199, 196, -4096, -4090, + -4087, -4090, -4095, -4103, -3448, -4089, 196, -4105, + -4090, -3448, -4095, -4101, -4149, -4148, -4127, -4123, + -4118, -3927, -3167, -4074, -4071, 119, -4121, 230, + -4117, -3167, -4116, 164, -4126, -4067, 157, -4141, + -4136, -4133, -1451, -3957, 180, -3783, 180, -4132, + -4139, 230, 207, 207, -4135, -4145, -3714, -3884, + -1106, -3714, -4140, 228, 205, -4162, -4159, -4154, + 253, -4020, -4158, -3271, 228, 228, 205, -4160, + -4161, 242, -4165, 207, -4156, -4173, -4170, -3714, + 207, 228, -3714, -4156, -4164, -4183, -4181, -4179, + -4178, 173, 242, 207, -4172, -4178, -4153, -4189, + -4145, -4157, 166, -4182, 106, -4193, -4295, -2561, + 106, -3841, -4191, -4187, -1823, -5020, -4847, -4531, + -4418, -4311, -4305, -4264, -4229, -4227, -4222, -4215, + -4212, -4211, 206, 206, -4211, 206, -4013, -4212, + -4211, 206, -4013, -4389, -4214, -4220, -1968, -4217, + 48, -4221, -4195, -4211, -4146, -4244, -4233, -4232, + 113, -4237, -4236, 78, 78, -4241, -4439, -2590, + 98, -4211, -4239, -4228, -4256, -4253, -4250, -1364, + -3958, -4013, -2073, -4249, -4248, -4211, 206, 137, + -4262, -4259, 113, -4211, 206, -4252, 113, 85, + -4276, -4274, -4270, -4269, 88, 88, -4272, 235, + -2085, -4013, -2052, 129, -4301, -4298, -4284, -4282, + -1957, -4273, -1957, 63, -4291, -4287, 78, -4288, + -1968, 129, -4281, -2026, -1936, 93, -4290, -4389, + 235, 235, -4300, 214, 214, -4303, -4296, 206, + -4076, -4308, 78, 45, 254, 193, 93, -4372, + -4327, -4320, 163, -4319, -4318, 85, 85, 85, + -4322, -4076, -4326, -1451, 141, -4304, 141, -4336, + -4333, -4332, 193, -4076, 193, -4332, -4304, -4325, + -4344, -4341, -4340, 218, 218, -4340, 218, -4302, + -4353, -4352, -4349, 251, 141, -4326, -4294, -4261, + 226, -4358, 226, -4326, -4177, 137, -4366, -4361, + 141, -4363, 137, -4365, -4357, 226, -4369, -4365, + -4357, -4365, 226, -4364, -4397, -4391, -4376, -4356, + -4378, 218, -4385, -4383, -4382, 218, 218, 193, + 218, -4383, -4382, 218, -4351, 228, 63, -4393, + 250, -4396, -4395, 218, 185, -4403, -1451, -4324, + -4388, -4243, -4131, -4409, -4338, 66, -4617, 225, + 225, -4413, -4411, -4412, 218, -4415, -4408, -4412, + -4407, 173, -4509, -4486, -4426, 251, -1975, -2304, + -4416, 180, -4445, -4442, -1972, -4435, -4300, -1957, + -4424, 180, -4433, -4437, 198, 214, -4436, 152, + -4438, -4432, -2207, 228, -4156, -4477, -4450, 214, + 93, 35, -4472, -4465, -4459, -4456, 78, 251, + -4458, 251, 251, -4456, 251, 225, -4585, -4407, + 228, -4469, -1957, 173, -4464, -1957, 93, -4444, + -4475, 214, 228, -4300, -4156, -4479, -4476, -4483, + -2233, 233, 220, -2233, -4482, -4478, -4500, -4491, + -4490, 254, 254, -4493, 220, -4497, -4496, 226, + 226, -4496, -4482, -4492, -4502, -4485, -4505, 233, + 226, -4507, 233, 233, 241, -4521, -4518, -4515, + -1992, -4471, 220, -4516, -4517, 163, -4519, 251, + -4514, -4522, -4526, -4370, 106, -4520, -4530, -4370, + -4525, -4513, 254, -4744, -4602, -4591, -4551, -4545, + -4544, -4541, -4540, 220, 226, -4540, 226, -4407, + 214, -4548, 133, 136, -4550, 136, 136, -4576, + -4573, -4561, -4558, -4557, 133, 133, -4557, 133, + -4407, -4567, -4504, -4565, -4543, 226, -4539, -4571, + -4565, 225, -4569, 226, 136, -2274, 233, 220, + -4588, -2245, -4582, -2233, -4570, -4566, -2233, 225, + -2342, 152, -2560, -2532, -2300, 198, -4587, -4595, + -4542, -4586, -4581, -4597, -4463, -4599, -4461, -4508, + 241, -4596, -4721, -4643, -4620, -4613, -4610, -4609, + 158, 158, -4609, 158, 220, -4610, -4609, 158, + 173, -5045, 173, -4616, -4639, -4627, -4550, -4609, + 158, -4601, -4594, -4634, -4632, -4631, 180, 180, + 158, 180, -4632, -4631, -4529, -4585, -4441, 158, + -4642, -2654, 180, -4681, -4671, -4659, -4654, -4651, + -4650, -4641, 226, -4650, -4649, 98, -4657, 226, + 185, 185, -4652, -4667, -4664, -4663, 185, 185, + -4663, 185, 209, -4669, 209, 185, 158, -4677, + -4674, 209, -4663, 185, -4668, -4650, -4679, 226, + 209, -4703, -4694, -4691, -4688, -4687, -4676, 185, + -4687, 185, 149, -4693, 173, 173, -4687, -4699, + -4395, 149, -4690, -4395, -4686, -4666, -4658, -4718, + -4711, -4708, 209, 226, -4679, -1935, -4709, -4708, + -4679, -2663, 225, -4462, -4714, -1942, -4365, 209, + -4717, -4731, -4550, -4726, 209, -4716, -4727, -4666, + 209, 225, -4714, -4735, -4734, -4729, 254, -4508, + -4740, -4679, -4725, -4713, -4679, 173, -4741, -4739, + -4776, -4767, -4752, -4748, -1975, -4750, 190, 173, + -2245, -4761, -4758, -2304, 214, 173, -2304, 214, + -4751, -2304, -4743, -4710, -1374, -4702, 225, -4774, + -4771, 106, 158, 158, 180, 173, -4775, 190, + -4814, -4791, -4784, -4781, 85, -4783, 152, 152, + -4788, -4787, 158, 158, -4787, 158, -4786, -4807, + -4798, -4556, -4611, -4773, -4461, 225, -4805, -4803, + -4802, -4797, 206, 206, -4801, -1629, 241, -4810, + -4809, 206, -4611, 206, 158, -4806, -4825, -4823, + -4821, -4819, -4797, 133, -1935, 251, 133, 198, + -4820, -4827, -4818, -4829, -4804, -4840, -4838, -4835, + -4834, -4797, 206, -4834, -4801, -4828, 113, 206, + -4842, 128, -4433, -4809, -4796, -4795, -4765, -714, + -5038, -4995, -4906, -4865, -4860, -4857, -4856, 152, + 152, -4856, 152, -4638, -4862, -4157, -4858, 152, + -4478, -4885, -4871, -4870, 173, 121, 121, -4876, + -4874, 149, -4693, 220, -4882, -4693, -4880, -4875, + 152, -4864, -4751, -4861, 196, -4895, -4893, -4890, + 119, 75, -4892, 119, 119, -4894, 173, -4878, + -4900, -4899, -4093, 173, -4899, 173, -4898, -4247, + 196, -4093, -4956, -4929, -4912, -4689, 185, -4902, + -4920, -4676, -4668, 209, 137, -4130, -4911, 254, + -4925, -4924, 209, 173, 185, 185, -4666, 209, + -4673, -4936, -4934, -4663, 173, 209, 158, -4932, + -4951, -4945, -4942, -4670, -4928, -4927, -4670, -4940, + 137, -4948, 158, 149, -4663, 185, -4947, -4953, + 136, -4899, 173, -4751, -4968, -4959, -4944, -4963, + -4147, 228, -4943, -4965, 228, -4147, 149, -4947, + -4986, -4979, -4974, -4157, 228, 149, -4861, -4967, + -3552, 173, 173, -4983, -4157, -4977, 137, -4157, + -4981, -4984, -4992, -4990, -2047, -4975, 228, -4962, + -4474, 228, 173, -5027, -5017, -5008, -5002, -4884, + -4618, -4978, -5006, -1538, -4991, -4919, 196, -4918, + 196, -5012, 121, -4883, -2825, -4982, 137, -4859, + -4402, -5023, -5022, -1542, -3920, -1543, 211, -5024, + -1538, 196, -1543, -5033, 196, -4931, -1909, -5021, + -1542, -5036, 185, -5031, -4663, -1523, -5030, -5050, + -5048, -4909, -4689, 185, -1048, 228, 222, -1048, + -5049, 75, -2555, -5073, -5058, -5057, -4734, -5044, + 222, 121, -5070, -5067, -5064, -4870, 121, -1048, + -4870, 121, -1291, -5069, -5055, 105, -1400, -5068, + 119, -5076, 121, 141, -4360, +}; + +static long _vq_p_lsp32_1[] = { + 48, 216, 64, 416, 200, 28, 168, 120, + 200, 168, 168, 28, 28, 28, 28, 168, + 712, 120, 120, 120, 120, 12, 200, 200, + 592, 168, 168, 592, 584, 200, 200, 200, + 584, 760, 28, 28, 28, 28, 228, 120, + 120, 584, 120, 988, 324, 324, 988, 208, + 28, 120, 28, 28, 120, 28, 528, 208, + 208, 236, 760, 988, 120, 120, 988, 860, + 168, 760, 528, 988, 236, 208, 988, 28, + 236, 28, 28, 28, 28, 324, 236, 236, + 236, 324, 176, 468, 468, 324, 324, 176, + 916, 712, 712, 176, 236, 236, 236, 236, + 324, 324, 324, 712, 680, 680, 988, 324, + 244, 988, 176, 680, 680, 176, 712, 56, + 884, 712, 176, 884, 56, 56, 56, 584, + 244, 176, 176, 28, 28, 28, 984, 884, + 712, 984, 552, 228, 228, 228, 528, 512, + 44, 44, 884, 208, 208, 776, 200, 120, + 120, 120, 992, 200, 208, 44, 88, 56, + 56, 88, 56, 56, 56, 44, 88, 88, + 44, 56, 988, 988, 88, 88, 88, 88, + 88, 88, 44, 244, 592, 560, 120, 120, + 228, 120, 120, 560, 992, 228, 16, 592, + 120, 120, 592, 536, 228, 228, 992, 992, + 560, 88, 884, 56, 56, 88, 56, 56, + 88, 560, 992, 88, 88, 88, 88, 560, + 776, 712, 0, 0, 384, 120, 88, 88, + 88, 88, 88, 88, 88, 712, 776, 120, + 120, 120, 992, 992, 120, 120, 120, 536, + 992, 0, 992, 992, 384, 88, 88, 88, + 88, 88, 88, 592, 208, 0, 0, 208, + 988, 384, 988, 208, 208, 0, 416, 416, + 416, 988, 120, 208, 988, 200, 120, 800, + 832, 120, 120, 120, 116, 776, 776, 840, + 712, 712, 116, 776, 116, 116, 712, 680, + 308, 452, 560, 496, 712, 496, 776, 680, + 208, 208, 116, 680, 440, 440, 440, 116, + 680, 116, 208, 208, 208, 208, 208, 776, + 440, 440, 984, 416, 416, 440, 416, 416, + 776, 776, 948, 680, 208, 208, 680, 144, + 144, 144, 144, 1020, 208, 208, 496, 1020, + 116, 208, 116, 436, 36, 128, 36, 36, + 64, 36, 36, 36, 64, 64, 260, 408, + 144, 144, 408, 8, 208, 128, 64, 64, + 336, 128, 128, 128, 336, 152, 152, 8, + 440, 680, 440, 440, 8, 8, 64, 64, + 64, 64, 64, 64, 288, 776, 288, 244, + 528, 288, 208, 4, 440, 4, 152, 152, + 452, 24, 24, 64, 152, 64, 64, 64, + 24, 328, 64, 64, 64, 64, 328, 328, + 396, 208, 208, 208, 84, 320, 288, 64, + 64, 64, 436, 8, 396, 208, 208, 8, + 96, 96, 152, 96, 96, 96, 152, 128, + 128, 832, 128, 152, 128, 152, 128, 128, + 452, 896, 832, 328, 328, 496, 152, 244, + 260, 260, 244, 260, 260, 128, 988, 328, + 512, 988, 260, 336, 336, 336, 260, 396, + 184, 336, 184, 184, 184, 116, 336, 336, + 116, 184, 988, 396, 328, 68, 648, 52, + 336, 336, 52, 396, 528, 52, 184, 56, + 308, 184, 884, 184, 56, 468, 308, 56, + 56, 52, 468, 56, 56, 984, 308, 308, + 688, 308, 184, 184, 184, 52, 996, 996, + 996, 468, 468, 184, 184, 184, 184, 184, + 184, 52, 408, 640, 584, 328, 328, 996, + 396, 584, 996, 28, 996, 236, 236, 236, + 708, 672, 468, 468, 672, 104, 884, 104, + 236, 36, 36, 208, 36, 36, 104, 236, + 36, 640, 440, 104, 680, 36, 680, 440, + 208, 104, 640, 236, 104, 396, 440, 440, + 864, 672, 680, 768, 768, 208, 208, 208, + 208, 328, 328, 512, 12, 688, 440, 12, + 440, 12, 12, 184, 88, 440, 440, 184, + 88, 88, 88, 88, 592, 328, 184, 184, + 184, 384, 328, 592, 152, 152, 152, 336, + 328, 592, 56, 184, 56, 56, 592, 88, + 592, 584, 56, 184, 308, 308, 208, 584, + 56, 184, 184, 56, 56, 56, 584, 184, + 184, 184, 184, 88, 88, 184, 88, 88, + 328, 0, 0, 88, 592, 328, 328, 0, + 80, 84, 984, 584, 632, 584, 104, 56, + 56, 104, 996, 104, 992, 992, 992, 984, + 984, 104, 676, 184, 184, 184, 328, 184, + 12, 488, 384, 520, 996, 996, 152, 152, + 152, 664, 488, 488, 76, 328, 328, 76, + 76, 488, 208, 208, 208, 208, 996, 996, + 996, 328, 44, 384, 44, 996, 996, 996, + 996, 812, 812, 820, 384, 384, 44, 76, + 68, 12, 488, 88, 208, 208, 328, 88, + 488, 488, 664, 988, 988, 88, 88, 88, + 988, 416, 384, 488, 616, 328, 328, 584, + 488, 512, 488, 584, 384, 212, 384, 212, + 240, 44, 440, 64, 328, 64, 64, 64, + 64, 416, 328, 44, 44, 208, 208, 44, + 44, 664, 44, 672, 640, 152, 384, 152, + 488, 488, 152, 152, 488, 104, 544, 104, + 104, 328, 488, 76, 152, 76, 208, 208, + 76, 76, 416, 104, 64, 104, 76, 36, + 184, 996, 396, 36, 396, 36, 996, 236, + 236, 236, 480, 996, 996, 76, 396, 36, + 36, 36, 236, 688, 396, 396, 44, 36, + 36, 36, 104, 544, 104, 44, 236, 104, + 44, 36, 36, 36, 36, 788, 44, 688, + 688, 788, 788, 184, 396, 996, 184, 184, + 184, 184, 996, 996, 996, 104, 104, 468, + 468, 488, 308, 308, 308, 768, 352, 1000, + 984, 308, 308, 308, 308, 396, 396, 336, + 336, 736, 36, 292, 156, 36, 156, 28, + 28, 236, 736, 292, 236, 324, 236, 324, + 36, 36, 36, 36, 36, 36, 304, 680, + 412, 412, 304, 236, 236, 304, 412, 984, + 236, 352, 984, 768, 412, 736, 612, 156, + 156, 156, 156, 412, 236, 236, 612, 412, + 680, 680, 412, 304, 156, 156, 156, 304, + 324, 304, 104, 236, 324, 324, 12, 488, + 680, 736, 236, 236, 488, 788, 468, 304, + 304, 308, 308, 308, 308, 308, 304, 304, + 468, 484, 304, 304, 688, 864, 12, 680, + 680, 680, 304, 484, 668, 640, 688, 488, + 488, 324, 324, 640, 636, 468, 636, 680, + 636, 636, 144, 144, 64, 36, 36, 36, + 36, 36, 208, 128, 64, 64, 276, 276, + 128, 128, 128, 668, 128, 636, 636, 636, + 156, 680, 36, 36, 36, 276, 156, 156, + 276, 276, 36, 36, 36, 36, 36, 36, + 636, 136, 128, 136, 128, 136, 128, 136, + 128, 128, 668, 128, 664, 136, 136, 396, + 336, 136, 304, 336, 680, 664, 304, 668, + 440, 1000, 680, 156, 144, 36, 36, 36, + 1000, 156, 236, 156, 156, 236, 156, 340, + 1000, 144, 144, 144, 144, 144, 860, 760, + 760, 488, 156, 156, 276, 276, 276, 480, + 292, 156, 156, 292, 156, 156, 156, 748, + 248, 144, 80, 764, 732, 144, 340, 248, + 248, 732, 208, 276, 996, 144, 336, 96, + 676, 316, 96, 488, 336, 640, 676, 340, + 668, 304, 128, 128, 396, 128, 128, 128, + 304, 304, 396, 276, 336, 512, 248, 736, + 396, 676, 1000, 1000, 144, 144, 996, 996, + 996, 308, 308, 308, 184, 668, 336, 396, + 396, 336, 304, 248, 748, 156, 144, 144, + 248, 248, 676, 128, 128, 156, 144, 144, + 144, 128, 128, 248, 676, 220, 128, 128, + 396, 156, 156, 396, 612, 360, 360, 360, + 780, 676, 676, 304, 308, 308, 308, 308, + 220, 396, 220, 736, 156, 156, 984, 984, + 360, 984, 396, 396, 396, 396, 876, 780, + 780, 636, 480, 480, 84, 612, 612, 332, + 996, 996, 996, 220, 332, 332, 332, 332, + 780, 396, 396, 220, 220, 396, 304, 996, + 996, 396, 220, 308, 308, 308, 84, 304, + 668, 80, 732, 676, 732, 80, 80, 80, + 220, 204, 204, 732, 636, 764, 80, 80, + 276, 248, 84, 248, 748, 332, 332, 332, + 676, 676, 676, 748, 732, 732, 248, 676, + 676, 676, 248, 732, 612, 732, 732, 732, + 612, 812, 316, 316, 316, 316, 316, 812, + 732, 732, 612, 676, 676, 676, 220, 484, + 220, 220, 460, 272, 272, 244, 448, 84, + 664, 452, 452, 664, 84, 84, 156, 156, + 352, 448, 84, 80, 220, 156, 84, 220, + 84, 84, 132, 748, 132, 612, 188, 156, + 156, 156, 156, 272, 272, 448, 188, 188, + 188, 188, 188, 360, 272, 272, 272, 448, + 580, 272, 272, 272, 452, 244, 244, 244, + 244, 580, 448, 220, 220, 352, 352, 448, + 220, 984, 272, 420, 272, 272, 272, 360, + 244, 244, 984, 420, 360, 580, 272, 132, + 476, 360, 360, 664, 224, 216, 244, 216, + 216, 216, 216, 216, 612, 272, 984, 452, + 272, 244, 244, 244, 452, 984, 216, 216, + 216, 216, 576, 564, 564, 612, 452, 304, + 564, 224, 244, 224, 224, 244, 40, 40, + 40, 264, 224, 224, 304, 244, 512, 220, + 220, 188, 420, 244, 244, 188, 188, 188, + 388, 360, 612, 304, 40, 40, 40, 40, + 40, 640, 388, 388, 104, 188, 188, 188, + 612, 224, 612, 104, 188, 188, 188, 388, + 244, 104, 636, 216, 272, 216, 216, 484, + 104, 636, 388, 612, 272, 272, 104, 244, + 272, 272, 272, 420, 104, 452, 756, 996, + 996, 72, 564, 452, 220, 188, 188, 332, + 332, 272, 272, 332, 388, 188, 188, 188, + 188, 756, 388, 388, 272, 984, 984, 272, + 188, 332, 272, 272, 984, 360, 332, 332, + 984, 360, 736, 104, 388, 360, 484, 552, + 520, 272, 388, 272, 272, 216, 520, 224, + 1008, 216, 216, 564, 1008, 1008, 72, 72, + 72, 72, 76, 332, 332, 76, 332, 216, + 216, 84, 76, 76, 216, 1000, 1000, 308, + 308, 72, 72, 72, 1000, 332, 332, 700, + 72, 272, 784, 272, 272, 272, 272, 520, + 476, 420, 476, 360, 360, 360, 420, 748, + 332, 72, 72, 332, 520, 488, 72, 72, + 224, 276, 276, 332, 72, 72, 224, 276, + 276, 748, 332, 564, 276, 136, 748, 136, + 360, 360, 136, 156, 520, 332, 360, 332, + 332, 332, 332, 488, 360, 360, 136, 452, + 136, 700, 520, 216, 700, 136, 80, 80, + 748, 136, 448, 452, 452, 156, 452, 292, + 156, 156, 156, 448, 292, 136, 136, 480, + 520, 156, 156, 156, 76, 76, 292, 216, + 76, 76, 452, 292, 292, 292, 76, 352, + 136, 352, 292, 292, 352, 760, 136, 156, + 188, 156, 156, 188, 156, 156, 156, 104, + 488, 412, 136, 136, 188, 188, 188, 76, + 216, 76, 76, 156, 360, 188, 352, 188, + 188, 188, 188, 76, 412, 324, 324, 324, + 352, 76, 380, 380, 104, 156, 156, 156, + 156, 104, 480, 360, 276, 276, 40, 188, + 380, 40, 40, 728, 380, 188, 636, 132, + 244, 244, 244, 132, 636, 352, 352, 352, + 352, 380, 380, 132, 292, 292, 448, 292, + 292, 276, 236, 236, 276, 448, 188, 292, + 276, 188, 188, 816, 700, 244, 276, 276, + 292, 72, 276, 728, 412, 412, 412, 700, + 292, 292, 292, 292, 620, 480, 480, 188, + 620, 188, 188, 72, 136, 136, 480, 480, + 136, 380, 380, 380, 136, 576, 136, 136, + 324, 480, 188, 156, 156, 188, 188, 380, + 380, 188, 188, 380, 696, 188, 188, 636, + 368, 368, 620, 380, 324, 324, 380, 276, + 156, 236, 236, 236, 696, 136, 412, 412, + 984, 480, 136, 136, 292, 292, 292, 104, + 412, 104, 136, 40, 188, 40, 40, 40, + 368, 188, 188, 636, 40, 188, 188, 188, + 104, 380, 368, 368, 368, 368, 132, 360, + 332, 332, 308, 520, 332, 332, 132, 708, + 480, 480, 724, 360, 360, 188, 188, 308, + 308, 1008, 392, 360, 360, 500, 392, 216, + 364, 364, 156, 156, 188, 364, 244, 500, + 724, 332, 996, 876, 132, 308, 308, 996, + 996, 308, 996, 480, 996, 996, 996, 500, + 480, 364, 364, 996, 804, 724, 332, 332, + 724, 500, 480, 500, 500, 332, 196, 308, + 308, 72, 196, 196, 788, 196, 196, 412, + 188, 724, 132, 188, 368, 368, 368, 188, + 132, 368, 188, 188, 132, 804, 1004, 196, + 196, 188, 216, 196, 196, 216, 196, 196, + 480, 216, 868, 724, 724, 388, 368, 500, + 500, 500, 180, 168, 28, 28, 28, 180, + 180, 28, 28, 180, 324, 324, 28, 900, + 352, 28, 28, 324, 28, 400, 868, 28, + 292, 292, 868, 292, 400, 352, 352, 400, + 180, 180, 180, 180, 500, 312, 400, 292, + 352, 352, 312, 292, 292, 392, 392, 312, + 312, 168, 168, 168, 168, 168, 200, 760, + 312, 352, 352, 352, 312, 372, 372, 140, + 140, 996, 140, 140, 140, 140, 372, 312, + 312, 392, 168, 168, 168, 392, 244, 196, + 196, 352, 180, 148, 148, 148, 148, 196, + 68, 196, 400, 180, 180, 180, 932, 68, + 1016, 1008, 312, 312, 452, 292, 380, 380, + 180, 180, 180, 1008, 1008, 324, 324, 932, + 372, 352, 724, 1004, 292, 292, 292, 292, + 1004, 380, 1004, 324, 324, 324, 400, 512, + 400, 180, 180, 180, 180, 400, 1004, 352, + 244, 196, 196, 28, 28, 180, 180, 180, + 292, 196, 576, 180, 180, 180, 180, 180, + 1004, 452, 1016, 792, 244, 352, 804, 244, + 244, 244, 244, 264, 724, 264, 180, 180, + 352, 264, 40, 40, 216, 724, 792, 264, + 792, 180, 180, 180, 500, 264, 352, 180, + 372, 180, 148, 148, 148, 148, 372, 264, + 264, 500, 180, 180, 180, 500, 564, 700, + 700, 148, 148, 1004, 652, 372, 1004, 1008, + 652, 180, 1008, 380, 40, 40, 40, 40, + 380, 264, 520, 180, 180, 520, 520, 272, + 520, 28, 28, 724, 368, 40, 40, 40, + 40, 700, 700, 484, 700, 700, 380, 724, + 108, 368, 108, 108, 40, 40, 40, 40, + 108, 380, 380, 108, 652, 652, 772, 620, + 620, 108, 1016, 72, 996, 388, 652, 40, + 40, 40, 40, 40, 224, 40, 40, 40, + 108, 564, 264, 108, 520, 224, 224, 224, + 108, 264, 40, 108, 388, 264, 108, 1008, + 564, 388, 996, 996, 996, 996, 564, 1008, + 576, 1008, 564, 724, 108, 996, 108, 996, + 996, 620, 108, 148, 216, 108, 108, 564, + 1008, 856, 944, 372, 228, 992, 168, 140, + 140, 140, 792, 168, 168, 792, 228, 228, + 140, 28, 228, 28, 28, 28, 400, 652, + 372, 372, 400, 228, 228, 724, 400, 340, + 400, 108, 28, 168, 140, 140, 108, 228, + 168, 108, 1004, 228, 1004, 400, 168, 28, + 1004, 168, 168, 168, 108, 324, 324, 28, + 28, 28, 392, 372, 108, 324, 324, 400, + 400, 372, 792, 500, 532, 28, 236, 712, + 792, 28, 324, 28, 400, 400, 28, 216, + 400, 400, 380, 380, 620, 620, 400, 380, + 868, 324, 236, 324, 236, 236, 500, 500, + 468, 392, 392, 56, 56, 56, 56, 56, + 392, 400, 996, 996, 996, 996, 392, 468, + 468, 392, 392, 620, 400, 424, 424, 28, + 28, 28, 28, 400, 400, 996, 620, 996, + 620, 228, 228, 244, 400, 392, 392, 996, + 424, 996, 308, 996, 424, 792, 292, 324, + 292, 236, 236, 292, 236, 236, 468, 236, + 236, 520, 468, 520, 236, 792, 500, 412, + 412, 500, 500, 468, 1000, 424, 380, 324, + 324, 324, 424, 380, 380, 380, 392, 392, + 216, 392, 500, 380, 380, 804, 468, 412, + 804, 324, 324, 816, 412, 500, 500, 228, + 56, 56, 56, 56, 56, 56, 56, 992, + 228, 228, 140, 140, 140, 140, 140, 216, + 364, 364, 228, 364, 228, 228, 992, 372, + 372, 372, 424, 1016, 1016, 424, 224, 364, + 364, 996, 364, 140, 140, 140, 140, 424, + 228, 364, 868, 324, 324, 712, 364, 372, + 1000, 324, 324, 308, 308, 324, 324, 324, + 324, 468, 380, 380, 424, 804, 380, 372, + 372, 424, 40, 756, 620, 996, 996, 996, + 996, 620, 500, 368, 40, 40, 40, 1004, + 868, 380, 500, 424, 368, 368, 368, 424, + 476, 392, 424, 620, 1000, 1016, 40, 1000, + 996, 996, 424, 804, 484, 160, 1004, 468, + 368, 56, 56, 56, 252, 252, 996, 160, + 160, 996, 996, 996, 368, 368, 308, 308, + 308, 368, 160, 160, 308, 252, 252, 380, + 484, 252, 252, 72, 452, 516, 424, 512, + 392, 392, 308, 56, 56, 364, 996, 364, + 364, 996, 996, 364, 424, 308, 364, 368, + 364, 388, 72, 72, 72, 996, 516, 996, + 996, 996, 388, 388, 388, 364, 252, 716, + 64, 120, 212, 208, 428, 240, 212, 212, + 208, 208, 208, 240, 212, 212, 212, 252, + 252, 240, 252, 252, 328, 208, 84, 240, + 384, 84, 64, 64, 64, 64, 64, 64, + 364, 716, 416, 868, 160, 208, 208, 208, + 160, 224, 160, 1004, 208, 208, 152, 416, + 428, 60, 60, 60, 60, 60, 212, 212, + 384, 392, 152, 152, 152, 392, 836, 328, + 212, 212, 212, 212, 416, 384, 384, 164, + 328, 328, 328, 164, 224, 164, 160, 212, + 160, 428, 164, 212, 212, 212, 416, 716, + 152, 428, 428, 364, 64, 152, 152, 384, + 364, 64, 364, 416, 416, 164, 840, 776, + 196, 196, 416, 208, 208, 516, 240, 240, + 240, 416, 608, 164, 164, 776, 164, 208, + 536, 196, 120, 224, 164, 164, 240, 240, + 164, 820, 240, 384, 212, 384, 60, 60, + 60, 212, 356, 64, 776, 120, 224, 196, + 160, 300, 160, 160, 64, 64, 64, 452, + 160, 160, 144, 144, 196, 208, 144, 144, + 364, 208, 208, 196, 656, 144, 144, 144, + 656, 656, 196, 840, 144, 196, 1020, 208, + 716, 208, 208, 572, 240, 240, 656, 120, + 120, 120, 120, 208, 840, 208, 208, 364, + 656, 240, 164, 164, 120, 120, 656, 716, + 60, 92, 92, 316, 92, 92, 92, 316, + 316, 316, 316, 164, 676, 676, 164, 1012, + 92, 92, 92, 364, 1012, 572, 508, 92, + 356, 92, 92, 92, 356, 164, 92, 92, + 196, 548, 572, 820, 984, 144, 128, 128, + 1016, 164, 160, 64, 64, 724, 96, 96, + 96, 96, 572, 724, 132, 132, 540, 96, + 96, 820, 60, 60, 60, 60, 152, 428, + 96, 96, 724, 700, 152, 700, 816, 356, + 60, 60, 60, 276, 540, 356, 700, 700, + 356, 356, 356, 520, 540, 520, 428, 428, + 520, 804, 540, 540, 724, 64, 64, 64, + 428, 64, 64, 64, 700, 96, 96, 700, + 96, 96, 428, 64, 64, 804, 428, 428, + 696, 572, 572, 456, 96, 96, 456, 716, + 96, 456, 572, 112, 144, 112, 112, 112, + 112, 456, 144, 132, 132, 144, 456, 572, + 112, 112, 112, 572, 508, 508, 132, 112, + 112, 508, 64, 64, 64, 64, 132, 508, + 508, 696, 572, 576, 804, 132, 656, 132, + 132, 144, 144, 144, 144, 276, 92, 144, + 92, 96, 96, 92, 144, 128, 92, 92, + 676, 92, 276, 732, 732, 132, 316, 316, + 300, 848, 816, 804, 732, 144, 112, 112, + 112, 804, 792, 764, 144, 816, 700, 144, + 700, 700, 676, 316, 316, 700, 456, 112, + 112, 112, 112, 456, 1012, 376, 376, 316, + 316, 376, 456, 316, 1000, 316, 204, 204, + 204, 1000, 1000, 376, 376, 1000, 120, 60, + 60, 212, 60, 60, 60, 212, 60, 212, + 456, 416, 456, 212, 212, 212, 212, 212, + 212, 660, 568, 504, 504, 504, 456, 568, + 364, 364, 240, 240, 364, 804, 224, 456, + 456, 132, 240, 660, 476, 132, 132, 240, + 240, 132, 132, 840, 716, 300, 132, 804, + 660, 656, 656, 816, 276, 660, 660, 276, + 656, 804, 132, 212, 992, 992, 212, 212, + 212, 212, 212, 696, 276, 536, 248, 248, + 384, 384, 384, 248, 536, 132, 416, 244, + 132, 132, 132, 240, 240, 240, 240, 536, + 248, 416, 456, 120, 200, 200, 120, 200, + 200, 200, 120, 120, 248, 808, 992, 248, + 1000, 200, 200, 808, 744, 992, 600, 248, + 624, 744, 624, 808, 808, 808, 240, 656, + 240, 240, 656, 120, 300, 848, 160, 240, + 456, 364, 120, 120, 196, 656, 196, 656, + 160, 160, 112, 112, 112, 860, 656, 656, + 160, 568, 624, 744, 600, 296, 240, 240, + 240, 624, 568, 568, 132, 296, 296, 296, + 196, 224, 196, 132, 568, 224, 132, 132, + 600, 600, 196, 568, 240, 240, 240, 244, + 196, 132, 568, 196, 196, 536, 536, 456, + 456, 568, 516, 992, 992, 992, 192, 192, + 244, 192, 192, 300, 160, 580, 992, 548, + 548, 656, 296, 240, 516, 296, 516, 240, + 240, 240, 516, 656, 624, 624, 656, 548, + 160, 624, 624, 624, 160, 160, 240, 160, + 96, 540, 92, 60, 96, 60, 60, 60, + 92, 92, 92, 540, 96, 96, 72, 72, + 92, 92, 92, 92, 92, 92, 92, 1012, + 604, 604, 508, 508, 984, 704, 984, 984, + 268, 356, 356, 60, 60, 984, 356, 604, + 268, 268, 356, 356, 604, 356, 456, 704, + 508, 704, 160, 160, 384, 60, 60, 60, + 60, 384, 212, 212, 356, 428, 212, 428, + 60, 60, 60, 60, 428, 356, 212, 212, + 212, 160, 196, 212, 212, 160, 504, 356, + 356, 196, 504, 60, 60, 60, 504, 660, + 60, 60, 60, 60, 60, 504, 516, 604, + 504, 196, 356, 356, 356, 356, 580, 196, + 508, 196, 508, 196, 132, 540, 504, 504, + 132, 132, 540, 540, 508, 508, 264, 132, + 984, 92, 604, 660, 92, 92, 984, 572, + 508, 508, 132, 132, 572, 572, 696, 508, + 508, 508, 456, 132, 656, 132, 572, 572, + 264, 580, 456, 660, 192, 656, 420, 192, + 192, 660, 132, 112, 112, 456, 1012, 572, + 508, 508, 192, 192, 572, 248, 1012, 192, + 628, 604, 508, 192, 604, 508, 268, 240, + 356, 212, 212, 224, 364, 456, 240, 240, + 132, 240, 504, 240, 568, 296, 568, 356, + 124, 268, 268, 268, 268, 268, 356, 364, + 820, 356, 296, 296, 132, 296, 296, 248, + 268, 124, 124, 124, 124, 568, 296, 296, + 248, 268, 268, 224, 220, 580, 296, 296, + 132, 600, 296, 268, 268, 268, 268, 132, + 504, 356, 220, 356, 220, 580, 356, 356, + 224, 132, 132, 508, 508, 508, 132, 604, + 696, 132, 220, 240, 240, 660, 212, 212, + 984, 984, 240, 240, 240, 984, 984, 564, + 132, 220, 504, 220, 568, 296, 296, 580, + 568, 516, 568, 364, 624, 112, 112, 112, + 364, 160, 364, 504, 356, 356, 356, 516, + 252, 504, 252, 252, 296, 296, 252, 604, + 508, 364, 604, 624, 624, 624, 508, 508, + 264, 364, 364, 656, 192, 192, 628, 628, + 656, 20, 588, 32, 432, 256, 20, 48, + 20, 20, 20, 48, 48, 432, 256, 256, + 256, 192, 284, 284, 284, 432, 192, 284, + 284, 232, 232, 232, 460, 284, 160, 160, + 404, 232, 404, 404, 48, 48, 48, 84, + 432, 84, 192, 20, 20, 20, 20, 32, + 32, 32, 172, 48, 48, 48, 32, 32, + 32, 32, 48, 48, 316, 1000, 316, 1000, + 32, 172, 232, 344, 344, 232, 232, 252, + 524, 524, 20, 20, 472, 20, 20, 472, + 20, 20, 20, 20, 588, 524, 524, 252, + 524, 160, 644, 492, 284, 284, 364, 252, + 172, 172, 20, 20, 20, 20, 20, 32, + 48, 48, 492, 48, 32, 252, 48, 252, + 32, 32, 32, 192, 172, 172, 684, 172, + 172, 444, 172, 172, 172, 796, 444, 192, + 256, 256, 256, 256, 256, 432, 404, 48, + 828, 48, 48, 48, 492, 432, 192, 192, + 48, 364, 20, 20, 160, 492, 492, 160, + 920, 796, 796, 828, 828, 192, 20, 32, + 20, 472, 20, 20, 456, 472, 32, 32, + 248, 248, 472, 472, 472, 472, 444, 444, + 444, 444, 684, 472, 472, 472, 752, 744, + 684, 364, 192, 600, 192, 684, 744, 192, + 492, 492, 192, 744, 192, 192, 744, 404, + 256, 404, 204, 204, 204, 376, 248, 256, + 256, 256, 404, 376, 376, 432, 256, 256, + 376, 112, 112, 112, 112, 112, 220, 828, + 256, 256, 220, 256, 192, 764, 256, 256, + 192, 376, 192, 376, 220, 1012, 316, 48, + 48, 192, 432, 316, 316, 316, 316, 248, + 556, 376, 376, 376, 376, 220, 432, 376, + 112, 1012, 192, 376, 244, 984, 984, 556, + 556, 984, 432, 1000, 48, 364, 364, 684, + 444, 124, 124, 124, 124, 124, 124, 124, + 124, 796, 684, 628, 628, 628, 248, 248, + 444, 444, 444, 248, 364, 296, 296, 296, + 296, 628, 364, 444, 444, 192, 444, 796, + 172, 172, 172, 172, 192, 244, 192, 192, + 444, 192, 556, 796, 172, 172, 172, 172, + 192, 628, 664, 248, 192, 684, 684, 192, + 628, 628, 628, 248, 684, 84, 84, 172, + 84, 684, 296, 624, 296, 476, 452, 84, + 84, 456, 624, 624, 624, 628, 848, 84, + 296, 296, 684, 684, 796, 624, 624, 624, + 456, 508, 508, 508, 508, 784, 628, 628, + 784, 628, 748, 844, 256, 80, 628, 628, + 628, 80, 80, 72, 796, 796, 72, 1000, + 84, 80, 80, 124, 124, 124, 84, 80, + 80, 600, 296, 84, 568, 84, 752, 624, + 296, 296, 296, 296, 784, 624, 84, 84, + 624, 624, 784, 84, 744, 744, 600, 600, + 600, 84, 880, 624, 784, 940, 624, 624, + 84, 84, 444, 556, 32, 32, 316, 316, + 316, 444, 704, 556, 172, 172, 340, 752, + 752, 556, 556, 84, 444, 340, 192, 192, + 632, 192, 192, 556, 912, 880, 624, 508, + 296, 296, 124, 296, 880, 124, 784, 628, + 84, 444, 124, 124, 268, 508, 508, 268, + 124, 124, 124, 124, 628, 604, 84, 268, + 268, 476, 476, 604, 100, 100, 124, 124, + 124, 124, 100, 84, 296, 296, 296, 84, + 796, 84, 508, 508, 508, 100, 704, 508, + 508, 508, 508, 100, 784, 704, 984, 984, + 704, 628, 984, 752, 548, 604, 512, 548, + 548, 244, 100, 100, 628, 628, 100, 936, + 796, 100, 752, 296, 296, 548, 796, 548, + 444, 72, 72, 296, 296, 72, 984, 508, + 984, 704, 984, 984, 508, 112, 508, 112, + 112, 112, 112, 784, 752, 100, 508, 508, + 72, 628, 476, 628, 508, 548, 1012, 112, + 112, 112, 340, 476, 424, 796, 1000, 1000, + 628, 628, 628, 796, 192, 1012, 1012, 84, + 84, 628, 84, 692, 508, 604, 556, 316, + 316, 692, 704, 556, 880, 720, 1012, 1012, + 604, 704, 48, 48, 720, 172, 172, 172, + 172, 252, 556, 252, 252, 556, 556, 556, + 556, 252, 828, 796, 692, 1012, 252, 1012, + 1012, 84, 632, 84, 252, 628, 476, 252, + 84, 704, 84, 424, 576, 180, 280, 148, + 244, 180, 264, 148, 68, 68, 280, 68, + 68, 68, 68, 340, 280, 280, 252, 148, + 148, 148, 192, 476, 192, 364, 148, 68, + 84, 84, 192, 244, 252, 148, 452, 148, + 180, 312, 148, 148, 180, 148, 244, 160, + 164, 180, 164, 164, 180, 180, 180, 244, + 548, 548, 340, 516, 516, 264, 264, 364, + 244, 452, 244, 244, 244, 364, 264, 264, + 264, 352, 68, 68, 68, 244, 244, 164, + 180, 164, 68, 164, 352, 68, 280, 68, + 68, 516, 280, 164, 312, 68, 68, 352, + 180, 252, 252, 68, 68, 68, 692, 512, + 692, 160, 312, 312, 372, 312, 160, 760, + 516, 312, 148, 148, 148, 148, 148, 148, + 280, 148, 148, 148, 148, 148, 280, 312, + 312, 164, 340, 340, 340, 164, 1004, 772, + 148, 148, 148, 160, 1016, 564, 160, 160, + 68, 68, 68, 68, 340, 148, 148, 164, + 340, 340, 148, 148, 148, 340, 160, 160, + 148, 1004, 1004, 148, 160, 160, 148, 484, + 484, 564, 100, 148, 100, 872, 484, 484, + 72, 1016, 1016, 72, 224, 264, 68, 100, + 1016, 1016, 224, 224, 224, 224, 772, 564, + 564, 264, 264, 264, 100, 664, 192, 68, + 192, 484, 484, 740, 1016, 564, 340, 264, + 192, 100, 164, 68, 264, 68, 84, 720, + 532, 244, 244, 340, 608, 264, 1004, 340, + 532, 1004, 140, 140, 792, 312, 312, 312, + 692, 392, 168, 140, 140, 140, 140, 140, + 392, 532, 424, 168, 532, 312, 392, 452, + 1000, 424, 200, 596, 596, 280, 68, 68, + 68, 68, 140, 140, 140, 140, 140, 140, + 280, 280, 312, 148, 148, 692, 452, 692, + 720, 148, 148, 596, 596, 280, 280, 720, + 280, 280, 632, 312, 632, 1004, 596, 140, + 140, 140, 720, 1008, 632, 720, 280, 1004, + 148, 148, 1004, 1016, 596, 68, 68, 68, + 280, 148, 392, 392, 1008, 392, 1004, 1004, + 1004, 1016, 1016, 904, 904, 652, 148, 148, + 148, 392, 632, 312, 1004, 564, 312, 340, + 424, 72, 148, 148, 392, 392, 1004, 1004, + 84, 424, 564, 544, 280, 400, 68, 68, + 68, 68, 68, 424, 400, 392, 392, 424, + 392, 392, 392, 392, 400, 400, 532, 1004, + 400, 532, 280, 280, 280, 1004, 400, 400, + 252, 280, 280, 280, 252, 544, 720, 400, + 400, 880, 720, 1004, 1004, 280, 280, 392, + 400, 400, 280, 280, 392, 392, 400, 164, + 164, 564, 164, 868, 280, 280, 164, 392, + 68, 252, 164, 932, 252, 1004, 160, 1016, + 1016, 160, 340, 532, 68, 68, 68, 68, + 68, 544, 532, 532, 164, 392, 392, 392, + 164, 476, 160, 160, 512, 340, 340, 340, + 340, 164, 160, 512, 512, 512, 512, 632, + 544, 544, 532, 532, 164, 216, 160, 544, + 544, 1016, 692, 68, 68, 544, 68, 68, + 68, 548, 740, 544, 392, 164, 340, 340, + 340, 544, 164, 68, 68, 68, 68, 632, + 608, 608, 692, 340, 740, 608, 608, 392, + 544, 596, 392, 392, 596, 544, 544, 836, + 392, 340, 484, 544, 340, 340, 392, 544, + 484, 484, 392, 340, 340, 484, 340, 340, + 340, 164, 164, 608, 164, 596, 740, 740, + 484, 484, 484, 484, 740, 836, 392, 544, + 544, 900, 836, 216, 692, 164, 484, 164, + 836, 544, 1004, 1004, 1004, 164, 484, 544, + 544, 692, 160, 1004, 1004, 160, 484, 836, + 484, 484, 160, 836, 1016, 1004, 160, 1004, + 424, 68, 68, 424, 68, 68, 532, 596, + 280, 532, 280, 280, 280, 164, 532, 532, + 164, 760, 596, 164, 216, 160, 596, 532, + 424, 84, 84, 532, 532, 596, 84, 1000, + 244, 244, 340, 68, 68, 244, 244, 340, + 68, 68, 596, 352, 244, 244, 392, 68, + 532, 68, 68, 392, 1004, 544, 352, 68, + 68, 532, 632, 352, 1004, 632, 544, 340, + 340, 532, 512, 512, 512, 1004, 280, 280, + 280, 280, 1004, 1004, 544, 340, 340, 312, + 400, 760, 400, 312, 400, 340, 340, 340, + 340, 392, 512, 452, 392, 392, 1004, 1004, + 1004, 1004, 512, 512, 544, 544, 544, 608, + 100, 216, 476, 512, 216, 216, 216, 216, + 512, 476, 476, 544, 244, 692, 300, 300, + 164, 100, 72, 72, 72, 72, 300, 100, + 100, 100, 596, 784, 300, 300, 300, 392, + 484, 784, 484, 596, 300, 476, 476, 72, + 72, 72, 216, 216, 300, 300, 216, 216, + 216, 216, 300, 608, 300, 300, 100, 216, + 72, 72, 544, 484, 300, 300, 300, 72, + 484, 484, 484, 484, 984, 216, 984, 72, + 544, 544, 544, 544, 692, 596, 596, 548, + 548, 300, 300, 300, 596, 164, 608, 164, + 596, 608, 512, 512, 164, 160, 596, 160, + 160, 544, 544, 548, 596, 596, 100, 544, + 512, 512, 512, 100, 100, 632, 100, 100, + 100, 100, 100, 300, 300, 596, 484, 484, + 512, 512, 512, 512, 512, 300, 596, 300, + 216, 548, 100, 596, 596, 100, 484, 632, + 484, 596, 596, 596, 608, 100, 608, 484, + 608, 608, 72, 420, 300, 100, 72, 72, + 72, 72, 100, 100, 72, 548, 300, 596, + 300, 72, 72, 100, 484, 300, 300, 100, + 596, 72, 72, 72, 476, 476, 784, 388, + 420, 84, 84, 300, 300, 100, 512, 84, + 72, 596, 596, 72, 392, 784, 300, 244, + 224, 224, 224, 224, 748, 784, 1000, 1000, + 216, 244, 224, 224, 72, 72, 388, 1000, + 84, 388, 224, 224, 216, 216, 216, 84, + 224, 224, 84, 216, 84, 300, 216, 80, + 84, 72, 72, 72, 216, +}; + +static long _vq_q_lsp32_1[] = { + 584, 796, 224, 780, 812, 980, 992, 884, + 860, 228, 760, 120, 712, 168, 1020, 1020, + 1020, 168, 200, 712, 1020, 16, 712, 1020, + 16, 200, 712, 12, 16, 1020, 712, 760, + 12, 1020, 1020, 120, 228, 712, 712, 228, + 712, 592, 712, 584, 712, 1020, 16, 860, + 760, 1020, 120, 208, 208, 236, 924, 236, + 1020, 1020, 1020, 924, 760, 860, 528, 1020, + 760, 860, 616, 616, 884, 236, 528, 1020, + 916, 236, 324, 712, 944, 712, 712, 324, + 944, 944, 616, 916, 944, 712, 916, 528, + 944, 916, 944, 988, 1020, 680, 324, 916, + 680, 712, 916, 916, 712, 916, 16, 680, + 664, 584, 16, 712, 1020, 584, 776, 228, + 944, 884, 988, 916, 712, 916, 944, 616, + 512, 924, 592, 228, 712, 884, 616, 944, + 884, 592, 616, 712, 884, 944, 552, 664, + 552, 616, 916, 776, 884, 884, 228, 200, + 992, 808, 808, 992, 884, 528, 536, 228, + 992, 712, 88, 884, 916, 616, 884, 916, + 988, 712, 488, 528, 992, 992, 884, 120, + 228, 712, 584, 452, 768, 768, 228, 884, + 884, 228, 992, 592, 712, 992, 800, 800, + 992, 536, 16, 884, 884, 992, 536, 884, + 800, 440, 1020, 536, 916, 992, 88, 712, + 384, 16, 384, 384, 884, 712, 776, 592, + 916, 776, 800, 16, 776, 208, 384, 536, + 992, 120, 840, 712, 776, 776, 840, 712, + 840, 776, 712, 840, 992, 536, 840, 840, + 536, 592, 384, 536, 536, 416, 384, 776, + 208, 536, 884, 16, 536, 560, 12, 776, + 12, 416, 800, 416, 536, 768, 536, 776, + 840, 832, 860, 776, 924, 840, 200, 832, + 924, 712, 776, 840, 924, 840, 1020, 1020, + 776, 840, 832, 1020, 800, 988, 776, 1020, + 680, 760, 592, 800, 1020, 560, 1020, 948, + 440, 680, 496, 776, 680, 776, 916, 800, + 776, 592, 980, 416, 440, 776, 948, 948, + 776, 948, 496, 440, 776, 776, 776, 980, + 948, 980, 980, 1020, 948, 236, 948, 860, + 208, 1020, 948, 948, 1020, 948, 832, 980, + 16, 860, 176, 464, 536, 468, 396, 440, + 144, 680, 948, 208, 208, 948, 436, 464, + 860, 208, 648, 648, 860, 948, 128, 152, + 688, 152, 336, 440, 440, 336, 440, 408, + 688, 948, 680, 688, 464, 436, 152, 208, + 440, 776, 948, 980, 648, 948, 408, 352, + 648, 320, 440, 320, 948, 288, 440, 776, + 512, 348, 320, 128, 328, 152, 440, 852, + 4, 440, 208, 328, 852, 396, 396, 852, + 852, 328, 396, 852, 664, 648, 464, 208, + 396, 440, 896, 896, 440, 396, 440, 436, + 328, 676, 336, 128, 152, 852, 852, 152, + 852, 896, 336, 184, 396, 852, 152, 328, + 664, 924, 896, 336, 440, 832, 328, 632, + 832, 496, 352, 896, 436, 852, 496, 336, + 664, 832, 496, 440, 396, 852, 560, 852, + 328, 396, 336, 440, 688, 260, 440, 688, + 832, 396, 528, 688, 396, 244, 924, 924, + 396, 440, 648, 440, 648, 8, 440, 944, + 336, 996, 916, 884, 884, 688, 468, 308, + 468, 988, 916, 184, 916, 924, 688, 916, + 916, 688, 308, 688, 916, 896, 884, 468, + 688, 688, 884, 336, 996, 328, 396, 688, + 884, 408, 584, 672, 672, 396, 884, 396, + 884, 640, 916, 884, 884, 468, 884, 916, + 956, 956, 884, 916, 708, 956, 916, 708, + 884, 688, 948, 236, 208, 440, 672, 680, + 236, 708, 680, 708, 916, 680, 948, 680, + 440, 640, 672, 916, 584, 688, 680, 688, + 956, 864, 688, 956, 864, 440, 396, 884, + 328, 396, 440, 664, 956, 916, 688, 864, + 884, 768, 672, 416, 852, 884, 916, 336, + 184, 384, 328, 440, 956, 384, 328, 384, + 440, 440, 384, 768, 328, 336, 384, 384, + 336, 672, 308, 384, 88, 184, 12, 184, + 12, 12, 384, 308, 336, 384, 884, 592, + 992, 996, 916, 88, 384, 184, 672, 884, + 384, 384, 884, 184, 328, 328, 884, 536, + 536, 768, 592, 384, 956, 384, 536, 12, + 844, 352, 768, 616, 664, 592, 592, 996, + 384, 584, 884, 616, 384, 996, 536, 104, + 956, 672, 820, 336, 996, 396, 852, 328, + 640, 520, 852, 552, 328, 396, 676, 328, + 852, 912, 616, 552, 616, 852, 336, 552, + 488, 552, 812, 328, 852, 996, 328, 536, + 852, 384, 552, 536, 488, 384, 812, 852, + 820, 820, 852, 852, 812, 820, 76, 520, + 420, 672, 672, 440, 240, 416, 536, 208, + 12, 640, 748, 12, 584, 328, 384, 416, + 488, 536, 416, 12, 672, 384, 416, 12, + 584, 760, 672, 616, 416, 852, 536, 536, + 536, 672, 776, 152, 852, 208, 328, 416, + 440, 440, 416, 488, 616, 328, 416, 584, + 988, 760, 640, 708, 672, 852, 416, 328, + 708, 672, 328, 416, 640, 672, 692, 640, + 488, 384, 640, 708, 416, 640, 980, 416, + 488, 104, 980, 616, 776, 488, 488, 780, + 888, 852, 680, 184, 876, 208, 396, 996, + 480, 788, 788, 480, 788, 104, 480, 396, + 688, 236, 688, 788, 688, 788, 488, 236, + 480, 788, 672, 608, 488, 104, 996, 616, + 76, 688, 480, 788, 876, 876, 640, 788, + 876, 876, 908, 336, 688, 396, 396, 688, + 308, 996, 308, 468, 688, 584, 552, 688, + 788, 864, 468, 688, 788, 972, 664, 768, + 768, 688, 788, 876, 336, 688, 876, 688, + 876, 956, 688, 412, 292, 156, 236, 292, + 236, 292, 864, 1020, 1020, 412, 324, 680, + 876, 156, 480, 236, 412, 680, 956, 788, + 680, 788, 864, 412, 680, 736, 680, 956, + 412, 760, 768, 864, 480, 972, 956, 480, + 236, 412, 680, 680, 412, 680, 708, 480, + 788, 876, 788, 708, 324, 680, 1020, 640, + 680, 956, 956, 688, 916, 412, 864, 640, + 788, 864, 468, 788, 736, 916, 788, 864, + 736, 324, 876, 468, 688, 788, 488, 708, + 688, 608, 640, 12, 788, 956, 768, 876, + 688, 788, 672, 692, 708, 708, 788, 668, + 640, 468, 680, 668, 708, 788, 668, 788, + 640, 640, 156, 1020, 852, 948, 128, 144, + 208, 396, 396, 396, 128, 144, 640, 668, + 396, 144, 948, 696, 396, 696, 668, 696, + 876, 1020, 156, 680, 948, 696, 680, 948, + 636, 668, 688, 396, 876, 680, 128, 440, + 708, 708, 440, 696, 948, 636, 876, 668, + 396, 876, 708, 336, 760, 276, 640, 688, + 396, 488, 640, 440, 876, 824, 668, 696, + 680, 736, 688, 732, 748, 144, 236, 156, + 668, 1020, 760, 236, 292, 292, 760, 692, + 488, 156, 760, 1020, 860, 888, 888, 860, + 888, 668, 888, 760, 668, 488, 1000, 748, + 760, 292, 480, 480, 760, 748, 888, 888, + 668, 208, 888, 888, 764, 732, 484, 1000, + 276, 888, 996, 640, 748, 732, 876, 128, + 812, 676, 676, 640, 676, 668, 852, 608, + 736, 736, 184, 144, 812, 336, 396, 676, + 640, 668, 676, 696, 676, 760, 636, 972, + 676, 812, 972, 736, 676, 852, 396, 812, + 308, 812, 336, 396, 336, 736, 396, 852, + 812, 812, 668, 736, 780, 748, 156, 748, + 668, 972, 812, 688, 876, 780, 156, 676, + 780, 144, 676, 1000, 780, 972, 396, 780, + 780, 780, 876, 780, 736, 676, 780, 876, + 876, 780, 876, 612, 908, 396, 688, 876, + 612, 688, 736, 972, 480, 780, 736, 972, + 780, 612, 480, 780, 876, 908, 908, 876, + 908, 668, 908, 780, 720, 668, 636, 908, + 332, 396, 812, 668, 480, 396, 780, 812, + 812, 812, 876, 636, 612, 480, 668, 308, + 396, 480, 304, 396, 876, 908, 632, 612, + 736, 844, 748, 732, 812, 204, 732, 888, + 248, 732, 764, 764, 668, 888, 84, 748, + 668, 696, 748, 668, 844, 812, 780, 748, + 732, 748, 780, 780, 748, 780, 276, 780, + 732, 812, 636, 812, 696, 820, 780, 812, + 668, 820, 460, 676, 732, 812, 844, 844, + 812, 844, 636, 732, 812, 844, 696, 872, + 668, 636, 844, 652, 480, 332, 576, 360, + 748, 664, 760, 760, 156, 664, 664, 352, + 664, 664, 760, 748, 612, 748, 156, 248, + 748, 888, 636, 760, 220, 636, 420, 448, + 360, 272, 748, 748, 360, 748, 244, 272, + 360, 448, 352, 448, 360, 448, 452, 452, + 636, 448, 452, 664, 664, 352, 448, 452, + 664, 612, 452, 636, 612, 448, 452, 452, + 580, 220, 748, 476, 664, 360, 420, 420, + 360, 420, 612, 664, 664, 696, 476, 304, + 664, 664, 748, 748, 388, 224, 564, 244, + 576, 272, 452, 664, 708, 452, 972, 576, + 576, 664, 452, 576, 576, 220, 452, 564, + 576, 756, 756, 576, 756, 736, 564, 736, + 576, 564, 576, 244, 264, 264, 224, 264, + 576, 576, 264, 576, 612, 576, 632, 736, + 612, 272, 576, 420, 388, 360, 388, 420, + 420, 388, 708, 640, 244, 188, 388, 576, + 756, 708, 576, 756, 640, 388, 576, 756, + 708, 484, 636, 636, 244, 388, 576, 576, + 388, 612, 640, 420, 476, 272, 388, 740, + 956, 728, 576, 636, 576, 756, 636, 420, + 388, 420, 476, 476, 612, 748, 812, 332, + 756, 996, 756, 564, 612, 216, 360, 756, + 388, 332, 908, 908, 420, 272, 388, 756, + 908, 908, 756, 908, 388, 636, 612, 420, + 272, 420, 332, 360, 104, 908, 360, 388, + 956, 388, 972, 136, 420, 388, 608, 728, + 728, 332, 420, 756, 388, 388, 552, 388, + 728, 272, 420, 692, 552, 520, 216, 332, + 388, 420, 728, 388, 420, 552, 756, 420, + 332, 1000, 520, 488, 388, 816, 520, 332, + 812, 332, 812, 844, 488, 812, 844, 816, + 80, 780, 844, 332, 360, 420, 476, 816, + 748, 476, 784, 748, 420, 784, 784, 784, + 420, 332, 748, 360, 700, 700, 420, 784, + 564, 700, 488, 360, 332, 748, 484, 816, + 1000, 844, 748, 692, 640, 640, 812, 488, + 748, 844, 816, 360, 700, 812, 676, 844, + 360, 748, 780, 520, 748, 780, 700, 912, + 488, 728, 728, 564, 816, 816, 748, 844, + 844, 728, 788, 576, 564, 352, 760, 452, + 748, 292, 448, 480, 448, 700, 520, 748, + 700, 748, 292, 760, 700, 520, 760, 484, + 136, 488, 824, 352, 448, 452, 640, 448, + 276, 760, 352, 824, 824, 824, 728, 292, + 780, 324, 352, 360, 188, 412, 448, 728, + 640, 448, 640, 488, 412, 448, 480, 488, + 692, 640, 136, 360, 480, 448, 448, 380, + 412, 352, 448, 104, 448, 412, 352, 380, + 412, 728, 412, 448, 520, 360, 748, 480, + 780, 552, 748, 480, 816, 640, 756, 448, + 412, 188, 380, 960, 576, 380, 960, 960, + 448, 352, 380, 636, 728, 380, 448, 380, + 412, 412, 448, 816, 448, 576, 576, 412, + 448, 636, 292, 412, 816, 576, 480, 412, + 960, 380, 412, 960, 960, 664, 960, 700, + 412, 484, 816, 816, 448, 480, 620, 728, + 576, 480, 620, 756, 756, 756, 620, 380, + 756, 620, 480, 216, 960, 728, 576, 756, + 700, 576, 620, 756, 816, 620, 276, 636, + 876, 756, 480, 412, 324, 324, 368, 788, + 620, 380, 412, 412, 700, 412, 788, 696, + 380, 788, 788, 788, 412, 788, 412, 696, + 412, 292, 480, 412, 960, 640, 480, 620, + 728, 620, 636, 640, 412, 480, 620, 640, + 480, 136, 960, 756, 380, 188, 368, 388, + 388, 368, 388, 728, 380, 756, 368, 380, + 816, 620, 620, 380, 620, 756, 520, 368, + 360, 812, 332, 736, 480, 780, 584, 924, + 780, 908, 728, 480, 676, 908, 360, 360, + 876, 724, 724, 780, 876, 816, 500, 576, + 816, 500, 480, 188, 480, 392, 420, 724, + 816, 388, 812, 908, 724, 908, 788, 308, + 332, 332, 332, 756, 480, 788, 908, 804, + 788, 804, 500, 756, 868, 868, 480, 756, + 804, 868, 756, 804, 724, 812, 868, 368, + 788, 1004, 804, 724, 876, 500, 364, 788, + 412, 804, 804, 388, 620, 756, 788, 368, + 364, 908, 480, 788, 196, 816, 564, 392, + 728, 480, 224, 964, 548, 608, 1016, 392, + 756, 244, 964, 964, 868, 756, 388, 964, + 868, 724, 944, 388, 652, 168, 312, 292, + 352, 180, 372, 372, 372, 352, 352, 964, + 372, 760, 292, 352, 324, 964, 900, 352, + 324, 352, 964, 352, 964, 760, 1020, 500, + 824, 292, 352, 312, 868, 372, 724, 312, + 824, 760, 352, 312, 760, 964, 500, 760, + 824, 372, 312, 760, 200, 856, 856, 856, + 760, 372, 760, 856, 372, 856, 1020, 148, + 1016, 652, 168, 312, 372, 652, 652, 372, + 652, 400, 312, 372, 652, 964, 632, 868, + 724, 372, 564, 180, 312, 372, 652, 392, + 244, 500, 548, 312, 372, 652, 964, 632, + 964, 932, 652, 564, 564, 452, 620, 576, + 292, 380, 352, 1016, 724, 352, 372, 964, + 380, 372, 932, 964, 324, 412, 352, 380, + 932, 412, 724, 352, 380, 412, 932, 632, + 724, 352, 576, 292, 824, 1004, 1016, 448, + 452, 724, 1016, 292, 180, 292, 576, 620, + 576, 964, 620, 264, 352, 244, 576, 452, + 900, 824, 728, 804, 352, 372, 816, 352, + 264, 576, 380, 576, 804, 352, 564, 620, + 372, 352, 180, 264, 452, 792, 816, 380, + 804, 380, 264, 576, 804, 380, 380, 352, + 380, 652, 180, 264, 372, 772, 772, 372, + 772, 792, 264, 372, 772, 724, 608, 792, + 804, 372, 652, 792, 772, 652, 500, 520, + 772, 380, 728, 652, 180, 264, 380, 772, + 772, 380, 792, 264, 380, 816, 700, 664, + 728, 652, 620, 728, 976, 368, 380, 576, + 620, 728, 724, 564, 724, 792, 620, 792, + 816, 756, 792, 724, 772, 380, 620, 976, + 700, 620, 976, 728, 772, 976, 976, 652, + 772, 520, 772, 996, 1016, 1016, 1016, 652, + 368, 756, 620, 576, 388, 224, 264, 564, + 1008, 772, 564, 500, 856, 264, 564, 772, + 856, 564, 388, 792, 772, 564, 520, 856, + 620, 756, 388, 620, 564, 756, 756, 728, + 756, 724, 620, 932, 932, 756, 724, 652, + 564, 652, 1008, 564, 272, 728, 856, 652, + 520, 932, 976, 380, 712, 944, 228, 168, + 200, 992, 932, 200, 992, 856, 992, 996, + 228, 168, 884, 228, 372, 652, 932, 944, + 652, 944, 792, 372, 652, 792, 792, 564, + 724, 792, 884, 372, 168, 228, 724, 652, + 228, 400, 932, 372, 792, 1004, 372, 168, + 724, 1020, 200, 712, 856, 352, 1020, 324, + 944, 372, 400, 712, 816, 372, 712, 1008, + 500, 712, 900, 792, 792, 292, 884, 944, + 856, 236, 380, 324, 856, 792, 620, 420, + 532, 500, 620, 944, 652, 944, 1004, 944, + 900, 944, 324, 468, 468, 620, 900, 868, + 620, 868, 964, 228, 712, 468, 996, 884, + 500, 900, 884, 944, 468, 620, 900, 620, + 884, 964, 400, 884, 500, 532, 900, 944, + 652, 996, 620, 900, 424, 652, 944, 620, + 652, 996, 652, 608, 532, 400, 424, 884, + 500, 620, 468, 468, 792, 856, 620, 412, + 324, 292, 412, 412, 324, 412, 788, 468, + 620, 856, 620, 792, 620, 928, 928, 468, + 620, 792, 816, 620, 792, 816, 788, 412, + 944, 380, 500, 468, 468, 620, 816, 500, + 476, 424, 868, 412, 468, 928, 620, 468, + 816, 412, 468, 928, 468, 816, 804, 368, + 712, 228, 992, 996, 384, 1016, 976, 996, + 996, 976, 992, 1016, 228, 652, 372, 512, + 928, 816, 1016, 500, 992, 1016, 1016, 652, + 1016, 976, 928, 976, 772, 816, 740, 928, + 816, 1016, 424, 324, 200, 992, 228, 500, + 372, 868, 928, 976, 372, 976, 392, 976, + 424, 368, 372, 324, 468, 352, 380, 468, + 976, 976, 468, 976, 792, 964, 620, 380, + 976, 724, 388, 788, 652, 368, 756, 620, + 976, 976, 868, 756, 368, 380, 620, 900, + 928, 620, 868, 868, 380, 620, 976, 500, + 512, 424, 792, 756, 792, 772, 772, 424, + 652, 772, 900, 868, 872, 868, 868, 620, + 380, 308, 996, 468, 900, 868, 468, 900, + 868, 308, 368, 468, 468, 788, 368, 468, + 976, 468, 252, 1004, 468, 792, 880, 788, + 608, 928, 424, 484, 512, 880, 880, 664, + 880, 424, 1016, 976, 996, 880, 308, 424, + 392, 308, 368, 516, 868, 368, 868, 388, + 424, 976, 388, 996, 812, 1016, 868, 772, + 388, 1016, 1016, 1016, 772, 516, 868, 796, + 660, 1012, 656, 820, 776, 716, 384, 852, + 416, 240, 536, 536, 328, 240, 416, 516, + 364, 416, 424, 880, 416, 240, 1000, 852, + 536, 364, 428, 152, 852, 208, 416, 716, + 928, 980, 716, 900, 868, 416, 716, 980, + 964, 608, 1004, 900, 852, 716, 416, 980, + 716, 428, 152, 212, 384, 416, 384, 416, + 416, 900, 428, 852, 384, 868, 964, 852, + 328, 384, 416, 428, 428, 416, 428, 964, + 384, 416, 428, 836, 484, 392, 164, 852, + 836, 852, 868, 852, 416, 716, 716, 852, + 428, 716, 980, 516, 208, 980, 416, 416, + 880, 416, 392, 776, 840, 868, 980, 840, + 516, 548, 536, 416, 240, 548, 416, 840, + 980, 776, 740, 548, 516, 840, 196, 240, + 840, 516, 240, 244, 868, 516, 536, 840, + 196, 852, 820, 820, 356, 852, 384, 212, + 852, 852, 852, 716, 980, 840, 564, 516, + 868, 912, 516, 196, 656, 208, 144, 576, + 164, 548, 948, 980, 964, 980, 208, 860, + 392, 980, 860, 392, 980, 656, 860, 1020, + 860, 1020, 364, 980, 1020, 868, 980, 860, + 980, 240, 716, 716, 656, 716, 716, 980, + 840, 208, 240, 240, 980, 240, 656, 392, + 980, 656, 392, 364, 656, 860, 860, 732, + 656, 540, 96, 1012, 820, 316, 676, 676, + 676, 812, 820, 196, 812, 820, 964, 820, + 508, 572, 1012, 516, 676, 1012, 572, 676, + 820, 356, 852, 508, 508, 880, 820, 852, + 836, 1016, 1012, 852, 1016, 572, 676, 144, + 964, 252, 724, 96, 572, 960, 852, 128, + 572, 676, 676, 728, 960, 728, 572, 540, + 676, 852, 96, 852, 152, 428, 428, 852, + 152, 428, 816, 816, 428, 724, 960, 820, + 428, 356, 540, 700, 852, 540, 728, 792, + 428, 540, 716, 700, 716, 728, 540, 716, + 816, 960, 852, 716, 804, 852, 128, 980, + 716, 572, 96, 428, 804, 152, 428, 724, + 428, 572, 572, 572, 716, 816, 572, 716, + 700, 716, 980, 960, 152, 128, 696, 852, + 572, 804, 852, 208, 572, 1012, 144, 656, + 860, 804, 656, 804, 456, 1012, 696, 1012, + 508, 572, 656, 656, 572, 656, 696, 508, + 1012, 1012, 144, 948, 980, 572, 456, 572, + 716, 960, 656, 608, 816, 816, 716, 804, + 276, 208, 656, 980, 572, 816, 1012, 732, + 852, 144, 676, 96, 852, 144, 316, 820, + 732, 676, 696, 820, 852, 724, 732, 676, + 632, 928, 848, 848, 820, 732, 1012, 764, + 144, 816, 928, 860, 764, 848, 848, 1012, + 816, 792, 732, 460, 1012, 804, 700, 764, + 376, 1012, 732, 928, 732, 732, 820, 376, + 1012, 1012, 804, 732, 848, 376, 316, 376, + 732, 700, 816, 732, 764, 792, 704, 808, + 384, 716, 504, 416, 840, 568, 212, 416, + 928, 428, 848, 416, 240, 504, 568, 660, + 840, 840, 840, 568, 660, 840, 804, 660, + 848, 804, 568, 660, 456, 848, 576, 848, + 804, 848, 656, 716, 784, 804, 456, 716, + 840, 364, 364, 980, 840, 420, 804, 816, + 840, 660, 716, 848, 848, 716, 980, 816, + 840, 848, 848, 820, 536, 568, 240, 416, + 384, 536, 568, 848, 696, 568, 848, 696, + 536, 568, 840, 276, 568, 276, 840, 264, + 848, 696, 248, 416, 840, 536, 568, 568, + 848, 840, 696, 536, 656, 744, 860, 808, + 992, 840, 992, 808, 816, 840, 808, 364, + 848, 808, 860, 860, 808, 744, 808, 792, + 656, 808, 808, 840, 920, 920, 860, 840, + 656, 808, 808, 240, 476, 960, 456, 808, + 516, 456, 808, 656, 456, 860, 364, 808, + 516, 456, 656, 860, 920, 920, 860, 920, + 196, 660, 840, 808, 744, 600, 296, 568, + 808, 808, 624, 808, 724, 568, 624, 808, + 456, 264, 364, 364, 600, 244, 196, 456, + 624, 808, 724, 600, 992, 536, 568, 608, + 960, 516, 808, 804, 728, 568, 808, 580, + 516, 840, 580, 808, 536, 568, 580, 516, + 452, 456, 364, 664, 456, 752, 600, 752, + 580, 980, 660, 296, 752, 624, 580, 808, + 660, 656, 548, 840, 660, 656, 660, 580, + 752, 808, 656, 840, 580, 548, 840, 516, + 296, 572, 356, 704, 676, 540, 96, 604, + 96, 540, 604, 604, 540, 604, 548, 160, + 316, 676, 820, 508, 604, 1012, 704, 704, + 1012, 704, 604, 704, 752, 820, 580, 72, + 504, 820, 508, 268, 356, 548, 604, 704, + 356, 604, 604, 936, 936, 704, 516, 936, + 604, 820, 580, 516, 428, 820, 212, 384, + 568, 568, 568, 384, 820, 540, 660, 716, + 212, 356, 428, 504, 504, 504, 428, 356, + 504, 456, 580, 356, 504, 196, 716, 504, + 716, 516, 716, 504, 660, 840, 660, 716, + 540, 356, 504, 604, 660, 604, 752, 660, + 604, 548, 504, 604, 508, 540, 728, 548, + 716, 580, 540, 456, 580, 604, 540, 660, + 456, 196, 716, 660, 604, 660, 608, 728, + 728, 1012, 716, 840, 508, 572, 580, 604, + 572, 604, 516, 364, 604, 660, 960, 572, + 656, 660, 696, 276, 660, 960, 656, 660, + 564, 696, 580, 716, 696, 660, 476, 580, + 456, 716, 580, 508, 1012, 696, 656, 604, + 656, 572, 848, 248, 656, 364, 628, 364, + 656, 628, 604, 248, 1012, 628, 660, 296, + 820, 568, 240, 608, 848, 848, 356, 504, + 456, 568, 568, 820, 820, 508, 600, 504, + 268, 568, 296, 356, 820, 936, 820, 456, + 936, 820, 356, 936, 248, 820, 568, 580, + 504, 268, 296, 568, 624, 624, 568, 624, + 276, 568, 296, 564, 364, 728, 504, 568, + 636, 820, 600, 936, 508, 356, 504, 960, + 604, 504, 696, 508, 580, 696, 820, 936, + 264, 636, 580, 604, 704, 936, 220, 704, + 960, 728, 580, 508, 296, 840, 504, 240, + 580, 220, 568, 504, 660, 728, 132, 576, + 364, 248, 568, 752, 660, 624, 660, 804, + 660, 752, 624, 752, 660, 660, 920, 508, + 516, 516, 516, 660, 604, 504, 508, 940, + 940, 716, 880, 516, 660, 508, 364, 660, + 604, 940, 628, 660, 656, 628, 628, 656, + 872, 880, 516, 660, 940, 516, 656, 660, + 660, 508, 796, 644, 556, 404, 284, 432, + 48, 492, 588, 588, 492, 492, 284, 432, + 492, 364, 492, 432, 588, 588, 252, 432, + 404, 284, 460, 588, 588, 460, 252, 516, + 460, 460, 432, 460, 432, 460, 588, 364, + 460, 192, 752, 588, 32, 48, 472, 48, + 172, 472, 472, 172, 172, 460, 588, 48, + 316, 556, 316, 556, 556, 928, 460, 424, + 172, 316, 284, 892, 524, 344, 524, 1000, + 588, 892, 284, 492, 644, 472, 892, 892, + 892, 524, 588, 644, 644, 588, 644, 928, + 644, 252, 892, 892, 492, 524, 456, 928, + 472, 828, 172, 492, 952, 32, 48, 48, + 952, 492, 952, 172, 48, 456, 556, 364, + 952, 172, 444, 928, 556, 444, 952, 444, + 684, 684, 444, 796, 952, 952, 952, 456, + 492, 920, 404, 432, 828, 828, 432, 796, + 952, 432, 492, 828, 828, 492, 364, 252, + 952, 816, 492, 952, 456, 828, 920, 252, + 952, 952, 828, 920, 952, 1000, 492, 444, + 892, 644, 32, 472, 516, 952, 472, 952, + 972, 1000, 600, 892, 644, 892, 472, 600, + 684, 952, 952, 600, 684, 744, 972, 952, + 744, 516, 752, 684, 580, 744, 892, 516, + 892, 920, 364, 920, 972, 220, 892, 600, + 556, 432, 764, 376, 404, 404, 972, 376, + 404, 764, 764, 764, 404, 828, 376, 432, + 432, 1012, 376, 764, 256, 828, 736, 920, + 828, 920, 248, 764, 972, 920, 764, 376, + 736, 828, 220, 1012, 580, 828, 1012, 316, + 432, 248, 556, 432, 460, 376, 556, 364, + 820, 556, 820, 460, 432, 752, 460, 432, + 376, 828, 1000, 556, 784, 972, 752, 1012, + 828, 220, 556, 816, 556, 848, 816, 704, + 600, 624, 172, 296, 444, 628, 684, 796, + 968, 968, 796, 684, 796, 968, 816, 364, + 684, 796, 968, 1000, 516, 444, 684, 628, + 796, 796, 456, 684, 796, 848, 684, 828, + 556, 444, 796, 968, 456, 632, 364, 516, + 556, 1000, 796, 828, 952, 968, 684, 796, + 248, 684, 784, 1000, 1000, 796, 968, 248, + 684, 796, 952, 1000, 796, 972, 1000, 828, + 248, 952, 508, 920, 624, 748, 512, 192, + 816, 580, 628, 684, 796, 684, 928, 728, + 796, 920, 796, 920, 920, 628, 656, 920, + 868, 656, 628, 796, 920, 972, 796, 920, + 844, 656, 784, 972, 828, 972, 796, 828, + 920, 844, 748, 844, 828, 920, 784, 748, + 664, 748, 1000, 684, 296, 600, 912, 888, + 84, 624, 624, 748, 600, 784, 940, 656, + 600, 808, 624, 684, 940, 684, 940, 784, + 744, 808, 880, 880, 920, 808, 684, 624, + 744, 364, 940, 744, 940, 972, 684, 744, + 940, 784, 828, 936, 556, 444, 556, 820, + 704, 820, 968, 704, 444, 556, 512, 784, + 940, 796, 968, 192, 556, 452, 940, 752, + 912, 880, 1000, 704, 940, 940, 936, 628, + 508, 628, 296, 660, 912, 628, 912, 660, + 784, 820, 444, 968, 296, 936, 628, 628, + 268, 604, 628, 936, 936, 936, 912, 604, + 628, 912, 784, 628, 784, 912, 296, 936, + 628, 796, 476, 912, 508, 628, 796, 784, + 936, 476, 936, 628, 796, 940, 968, 604, + 628, 704, 796, 752, 844, 796, 844, 972, + 796, 704, 72, 784, 940, 628, 608, 784, + 752, 452, 940, 784, 796, 936, 752, 968, + 936, 548, 784, 444, 796, 784, 968, 752, + 936, 752, 548, 508, 820, 100, 784, 936, + 752, 820, 548, 72, 704, 820, 796, 1012, + 508, 628, 656, 844, 972, 476, 628, 920, + 100, 656, 784, 656, 1012, 880, 628, 1012, + 628, 796, 564, 748, 720, 828, 720, 424, + 796, 920, 828, 828, 1000, 628, 796, 192, + 972, 796, 424, 912, 820, 628, 968, 556, + 1012, 940, 820, 1012, 912, 912, 820, 704, + 704, 968, 556, 828, 880, 968, 556, 796, + 828, 912, 796, 880, 720, 704, 1012, 796, + 828, 692, 968, 828, 720, 828, 940, 704, + 628, 720, 664, 880, 424, 704, 512, 880, + 424, 796, 880, 720, 584, 456, 476, 544, + 932, 564, 772, 372, 264, 244, 312, 148, + 280, 340, 824, 824, 340, 824, 880, 280, + 340, 824, 880, 664, 252, 880, 312, 148, + 192, 880, 720, 824, 1000, 264, 824, 180, + 452, 824, 180, 312, 312, 180, 452, 252, + 392, 340, 252, 880, 244, 264, 340, 576, + 752, 940, 452, 940, 752, 340, 824, 548, + 264, 824, 452, 340, 824, 940, 452, 340, + 372, 824, 264, 244, 352, 352, 264, 940, + 264, 880, 824, 516, 760, 856, 824, 280, + 372, 940, 312, 252, 372, 824, 312, 824, + 312, 516, 940, 180, 352, 372, 940, 664, + 940, 940, 372, 856, 856, 760, 692, 824, + 548, 372, 312, 180, 1016, 772, 372, 264, + 904, 564, 652, 312, 280, 340, 340, 340, + 340, 548, 1004, 452, 564, 516, 564, 872, + 564, 1016, 772, 548, 772, 1016, 516, 164, + 904, 148, 340, 872, 872, 340, 872, 692, + 872, 904, 340, 1004, 564, 1004, 252, 752, + 904, 872, 904, 1004, 692, 548, 1016, 872, + 564, 872, 548, 872, 160, 904, 1016, 872, + 160, 872, 904, 100, 608, 740, 264, 692, + 772, 872, 264, 564, 772, 872, 872, 772, + 872, 564, 772, 872, 940, 912, 252, 740, + 1000, 1016, 872, 872, 740, 872, 452, 340, + 940, 912, 784, 244, 872, 264, 784, 900, + 900, 264, 608, 608, 872, 872, 532, 608, + 720, 692, 652, 1016, 932, 1004, 760, 856, + 720, 720, 280, 1008, 200, 168, 856, 312, + 532, 720, 532, 312, 792, 856, 424, 608, + 424, 900, 1008, 912, 880, 932, 280, 856, + 372, 140, 856, 372, 148, 280, 312, 1004, + 312, 1004, 1004, 280, 1004, 900, 564, 720, + 912, 280, 312, 692, 720, 312, 372, 880, + 312, 856, 912, 856, 880, 932, 632, 1008, + 856, 932, 880, 856, 720, 912, 932, 904, + 1004, 1016, 1016, 904, 880, 148, 280, 904, + 904, 280, 720, 596, 1016, 632, 1016, 932, + 904, 904, 932, 932, 964, 1016, 340, 1004, + 312, 900, 880, 564, 564, 652, 1004, 1004, + 632, 1016, 1004, 1016, 424, 632, 564, 1016, + 424, 720, 1016, 824, 340, 964, 280, 532, + 856, 392, 400, 880, 904, 400, 904, 720, + 856, 400, 532, 544, 532, 544, 544, 792, + 932, 544, 400, 1004, 532, 532, 1004, 532, + 720, 400, 1004, 544, 424, 904, 880, 1004, + 544, 900, 880, 904, 544, 1004, 932, 880, + 532, 792, 400, 856, 720, 424, 856, 900, + 392, 608, 880, 900, 532, 792, 900, 964, + 392, 880, 720, 964, 692, 904, 692, 904, + 964, 252, 1004, 904, 340, 392, 532, 544, + 632, 632, 544, 632, 880, 532, 544, 632, + 692, 912, 692, 164, 692, 512, 532, 544, + 632, 900, 868, 532, 544, 632, 720, 720, + 632, 720, 544, 720, 596, 564, 1004, 632, + 692, 836, 720, 872, 392, 632, 340, 544, + 740, 836, 904, 740, 836, 392, 544, 904, + 740, 740, 836, 340, 608, 632, 740, 740, + 632, 740, 836, 608, 836, 740, 632, 904, + 740, 836, 632, 740, 740, 740, 904, 904, + 836, 904, 872, 692, 484, 544, 740, 740, + 544, 740, 596, 484, 692, 692, 544, 608, + 740, 596, 392, 740, 836, 692, 964, 872, + 544, 740, 836, 904, 836, 900, 836, 740, + 836, 964, 900, 452, 836, 868, 872, 836, + 900, 904, 532, 544, 836, 692, 836, 692, + 836, 900, 836, 904, 484, 692, 1016, 964, + 1016, 836, 164, 964, 836, 692, 1004, 836, + 512, 632, 280, 532, 856, 532, 760, 692, + 932, 760, 532, 792, 856, 692, 792, 856, + 596, 792, 836, 392, 576, 548, 900, 760, + 532, 424, 632, 632, 720, 692, 760, 760, + 452, 824, 632, 244, 340, 340, 608, 608, + 244, 352, 632, 632, 352, 632, 596, 340, + 824, 280, 532, 900, 692, 900, 760, 352, + 632, 544, 824, 824, 544, 760, 964, 512, + 824, 824, 532, 824, 632, 544, 824, 312, + 340, 1004, 900, 532, 900, 1004, 532, 792, + 544, 824, 1004, 824, 532, 532, 1004, 452, + 512, 544, 824, 512, 532, 400, 452, 824, + 532, 512, 720, 532, 692, 596, 836, 664, + 564, 420, 912, 692, 300, 476, 512, 608, + 608, 512, 608, 720, 300, 720, 476, 608, + 596, 476, 100, 300, 692, 484, 484, 300, + 692, 596, 692, 880, 596, 692, 484, 784, + 608, 912, 596, 692, 784, 608, 692, 216, + 476, 300, 300, 476, 476, 692, 692, 484, + 300, 608, 548, 692, 608, 692, 548, 244, + 784, 548, 720, 608, 596, 484, 740, 100, + 692, 596, 740, 836, 548, 512, 72, 1016, + 596, 740, 836, 692, 740, 740, 692, 836, + 596, 596, 608, 632, 692, 836, 632, 596, + 692, 740, 596, 608, 548, 548, 608, 164, + 548, 596, 632, 596, 632, 740, 548, 692, + 544, 608, 692, 692, 512, 912, 160, 596, + 692, 912, 164, 596, 912, 692, 596, 548, + 608, 632, 692, 720, 912, 596, 692, 548, + 224, 692, 692, 632, 720, 548, 548, 720, + 692, 692, 632, 608, 632, 300, 912, 836, + 632, 912, 692, 632, 420, 484, 100, 300, + 160, 100, 300, 476, 548, 1016, 784, 784, + 784, 300, 484, 912, 1016, 484, 548, 900, + 940, 476, 844, 420, 960, 748, 844, 420, + 476, 784, 748, 596, 784, 300, 692, 476, + 784, 632, 740, 476, 632, 844, 608, 420, + 244, 300, 484, 740, 760, 912, 888, 760, + 244, 300, 1016, 564, 216, 484, 1016, 748, + 888, 484, 388, 420, 224, 300, 484, 760, + 300, 484, 748, 300, 1000, 420, 388, 84, + 476, 216, 484, 564, 484, +}; + +static encode_aux_nearestmatch _vq_auxn_lsp32_1 = { + _vq_ptr0_lsp32_1, + _vq_ptr1_lsp32_1, + _vq_p_lsp32_1, + _vq_q_lsp32_1, + 5077, 5077 +}; + +static static_codebook _vq_book_lsp32_1 = { + 4, 256, + _vq_lengthlist_lsp32_1, + 2, 1603705124, 1582427982, 8, 1, + _vq_quantlist_lsp32_1, + &_vq_auxn_lsp32_1, + NULL, +}; + + +#endif diff --git a/include/vorbis/book/res0a0aux.vqh b/include/vorbis/book/res0a0aux.vqh new file mode 100644 index 00000000..9c299332 --- /dev/null +++ b/include/vorbis/book/res0a0aux.vqh @@ -0,0 +1,291 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0a0aux_VQH_ +#define _V_res0a0aux_VQH_ +#include "vorbis/codebook.h" + +static long _huff_lengthlist_res0a0aux[] = { + 15,15,15,15,15,15,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,14,14,14,14,13,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,12,14,14, + 14,14,14,14,14,12,10,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,13,14,14,14,14,14, + 14,14,14,14,14,14,13,14,14,14,13,13,14,14,13,14, + 14,14,14,14,13,14,13,14,14,14,13,13,13,14,14,13, + 14,14,13,14,14,13,11,14,14,14,14,14,14,14,13,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,13,14,13,14, + 14,14,13,12,14,13,12,14,14,14,12,14,12,12,11,14, + 14,14,14,14,14,11,10,14,14,14,14,14,14,13,12,14, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,13,12,11,11,11,13, + 14,14,13,11,11,10,11,14,14,14,13,10,12, 9, 8,13, + 14,14,14,13,12, 9, 8,13,14,14,14,14,14,12,12,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,13,14,14,14,13,12,11,11,12,14, + 14,14,12,11,10,10,10,13,14,14,13,11,10, 8, 8,14, + 14,14,14,12,11, 9, 8,14,14,14,14,14,14,13,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,13,14,14,13,14,14,14,13,12,11,11,12,14, + 14,14,13,10,10, 9,10,14,14,13,13,10,10, 7, 7,14, + 14,14,14,12,11, 8, 6,13,14,14,14,14,14,13,11,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,13,14,14, + 14,14,14,12,12,12,13,14,14,14,14,12,11,10, 9,14, + 14,14,14,13,12, 9, 7,13,14,14,14,14,14,12, 9,12, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,12,14,14,14,14,14,14,14,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,13,14,14,14,14,14,14,14,13,13,14,14,14, + 14,14,14,14,13,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,13,14,14,14,14,14,14,14,14,13,13,14,14,14, + 14,14,14,14,13,14,13,14,14,14,14,13,13,13,12,14, + 14,14,13,14,14,14,11,14,14,14,14,14,14,14,13,14, + 14,14,13,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,13,13,13,13,14,14, + 14,14,14,13,13,13,12,14,14,14,14,12,13,11,11,14, + 14,13,13,14,13,12,10,13,14,14,14,14,14,14,13,13, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,14,14, + 14,14,13,14,14,14,14,14,14,13,14,11,11,11,11,14, + 14,13,12,10,10, 9,10,14,14,14,13,10,10, 8, 8,13, + 14,13,13,11,12, 9, 8,14,14,14,14,14,14,13,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,12,14,14,14,14,14,13,13,10,10,10,12,14, + 14,13,13,10, 9, 9,10,14,14,14,12,10, 9, 8, 8,13, + 14,14,13,12,12, 9, 8,13,14,14,14,14,14,13,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,14,14, + 14,14,14,13,14,13,13,14,14,14,12,10,10, 9,12,14, + 14,14,13,10, 9, 9,10,14,14,14,13, 9, 8, 7, 7,14, + 14,14,13,12,10, 8, 7,14,14,14,14,14,13,12,10,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,13,14,14,14,13,12,13,12,14,13, + 14,14,14,11,12,11,12,14,14,14,13,13,11, 9,10,14, + 14,14,14,12,11, 9, 8,12,14,14,14,14,14,11, 9,12, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,13,11,14,14,14,14,14,14,14,12,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,13,14,13,13,14,14,14,14,13,13,13,13,14, + 14,14,14,14,14,13,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,13,14,14,14,14,12,12,13,13,14, + 14,14,14,13,12,12,11,14,14,14,13,12,12,12,11,13, + 14,14,13,13,12,12,11,14,14,14,14,14,14,14,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,13,14,14,14,14,12,11,12,11,12,13, + 14,14,14,10,10, 9,10,14,14,14,14, 9,10, 9, 8,13, + 14,14,12,12,11,10, 9,14,14,14,14,14,14,14,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,13,14,13,14,14,14,14,14,14,13,10,11,11,13,12, + 14,14,13,10,10, 9,10,13,14,14,12, 9, 9, 8, 8,14, + 14,14,13,12,11, 9, 8,14,14,14,14,14,14,13,12,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,14, + 14,14,14,12,14,14,14,13,14,14,13,10,11,10,11,13, + 14,14,13,10, 9, 9,11,13,14,14,12, 9, 8, 8, 8,12, + 14,14,13,11,10, 9, 8,13,14,14,14,14,13,12,11,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,13,13,14,13, + 14,14,14,12,12,12,13,14,14,14,14,13,11,11,11,13, + 14,14,14,14,13, 9, 8,12,14,14,14,14,14,11,10,12, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,11,12,14,14,14,14,14,14,13,12,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,14,14, + 14,14,14,13,14,14,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,13,14, + 14,14,13,14,14,13,14,14,14,14,14,13,13,14,13,14, + 14,14,14,14,14,14,13,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,13,14,13,14,14,14,14,14,13,13,13,11,14, + 14,14,14,14,13,14,11,14,14,14,14,14,14,13,13,14, + 14,14,14,14,14,14,14,14,14,14,13,14,14,14,14,14, + 14,14,14,13,13,13,13,13,13,14,14,11,11,13,12,12, + 14,14,13,10,10,10,10,13,14,14,14,11,10, 9, 8,12, + 14,14,14,13,12,10, 9,13,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,13,14,14,14,14,14,14, + 14,13,13,13,13,13,13,13,14,14,12,11,10,11,12,12, + 14,14,13,10,10,10,11,11,14,14,13,10,10, 8, 8,11, + 14,14,14,13,12,11, 9,11,14,14,14,14,14,14,13,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,13,14,13,13,14,14,12,14,13,13,11,11,11,12,10, + 14,14,12,10,10, 9,11,10,14,14,13,10, 9, 8, 8, 9, + 14,14,14,12,11,10, 9,10,14,14,14,14,14,13,13,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,13,13,13,13,13,14,13, + 14,14,13,12,12,12,13,11,14,14,13,13,12,10,11,11, + 14,14,14,14,12,11,10, 8,14,14,14,14,14,13,11,11, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 14,14,14,14,14,13,14,13,14,14,14,14,14,14,13,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,13,13,14,13,14,14,14,14,14,14,13,14,14,14,12, + 14,14,14,13,13,12,14,12,14,14,14,14,13,12,11,11, + 14,14,14,14,14,14,14,13,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,13,14,14,14,14,14, + 13,14,14,14,14,14,14,14,14,13,13,14,13,14,13,11, + 14,14,13,13,12,12,12,11,14,14,14,13,12,12,11,10, + 14,14,14,14,14,13,11,10,14,14,14,14,14,14,14,13, + 14,14,14,14,14,14,14,14,14,14,13,13,14,14,14,14, + 14,14,13,12,13,14,14,12,14,14,13,12,14,13,14,10, + 14,14,13,12,13,12,12, 9,14,14,14,12,11,10,11, 8, + 14,14,14,14,12,13,11, 8,14,14,14,14,14,14,14,10, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,13,14,14,14,13,14,13,12,12,13,14,14,11, + 14,14,14,13,14,13,14,11,14,13,14,13,13,13,13, 8, + 14,14,14,14,14,13,13, 7,14,14,14,14,14,14,14, 8, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,13,14,14,14,14,14,14,14,11, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 14,13,14,14,14,14,14,13,14,14,13,13,14,13,13,11, + 14,14,14,14,13,13,14,11,14,14,14,13,14,14,13,10, + 14,14,14,14,14,14,14,12,14,14,14,14,14,14,14,13, + 14,14,14,14,14,14,14,14,14,13,13,13,14,14,14,14, + 14,14,14,12,14,13,14,14,14,14,13,12,13,13,14,11, + 14,14,13,13,12,13,13, 9,14,14,14,14,13,14,13, 8, + 14,14,14,14,14,13,14, 9,14,14,14,14,14,14,14,11, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 14,14,13,12,14,14,14,14,14,14,12,11,12,12,13, 9, + 14,14,13,12,13,12,12, 8,14,14,14,13,12,12,13, 6, + 14,14,14,13,14,12,12, 6,14,14,14,14,14,14,14, 8, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,13,14,14,13,14,14,12,12,13,13,14,11, + 14,14,13,12,13,13,13, 8,14,14,13,13,13,13,14, 6, + 14,14,14,14,13,13,14, 5,14,14,14,14,14,14,13, 6, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13, + 14,14,14,14,14,14,13,10,14,14,14,14,14,14,14,11, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 14,14,14,13,14,14,14,12,14,14,14,14,14,14,14,12, + 14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,13, + 14,14,14,14,14,14,14,14,14,14,14,13,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,13,12,13,12, + 14,14,14,14,14,13,14,10,14,14,14,14,14,14,14, 8, + 14,14,14,14,13,14,14, 9,14,14,14,14,14,14,14,12, + 14,14,14,14,14,14,14,14,14,14,14,14,13,14,14,14, + 14,14,13,14,14,14,13,13,14,14,14,12,14,13,14,10, + 14,14,14,13,13,13,14, 8,14,14,14,13,14,13,13, 6, + 14,14,14,14,14,14,14, 6,14,14,14,14,14,14,14, 7, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,13,13,13,14,11,14,14,14,13,13,14,13,11, + 14,14,13,13,13,13,14, 9,14,14,14,13,12,12,14, 6, + 14,14,14,14,14,13,13, 4,14,14,14,14,14,14,14, 4, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13, + 14,14,14,14,14,14,14,10,14,14,14,14,14,14,14, 9, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,13,14,14,14,14,14,14,14,13, + 14,14,14,14,14,14,14,13,14,14,14,14,14,14,14,12, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12, + 14,14,14,14,14,14,14,10,14,14,14,14,14,14,14,11, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,13,14,14,14,14,14,14,14,10, +}; + +static static_codebook _huff_book_res0a0aux = { + 4, 4096, + _huff_lengthlist_res0a0aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, +}; + + +#endif diff --git a/include/vorbis/book/res0a1aux.vqh b/include/vorbis/book/res0a1aux.vqh new file mode 100644 index 00000000..82e55393 --- /dev/null +++ b/include/vorbis/book/res0a1aux.vqh @@ -0,0 +1,291 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by huff/huffbuld + + ********************************************************************/ + +#ifndef _V_res0a1aux_VQH_ +#define _V_res0a1aux_VQH_ +#include "vorbis/codebook.h" + +static long _huff_lengthlist_res0a1aux[] = { + 13,12,13,13,14,14,17,20,13,13,13,13,14,15,16,20, + 13,12,12,12,14,14,16,20,13,12,12,12,14,14,15,19, + 14,14,14,14,15,16,17,20,15,14,14,14,16,16,17,20, + 15,14,15,15,19,16,18,20,20,20,20,19,20,20,17,19, + 13,13,13,13,14,15,17,18,13,12,12,12,14,14,16,20, + 13,12,12,12,13,14,15,20,13,12,11,11,13,13,15,19, + 14,13,13,13,14,14,16,20,15,13,14,13,14,15,15,20, + 15,15,15,15,16,17,15,18,20,20,20,20,20,20,17,18, + 13,12,12,12,13,14,16,20,13,11,11,11,13,14,15,20, + 12,11,11,10,12,13,15,18,12,10,10,10,11,12,15,18, + 13,12,12,11,13,13,15,18,14,13,13,12,13,13,14,17, + 15,15,14,14,16,15,15,16,20,20,18,19,20,20,17,20, + 13,12,12,11,13,13,15,19,12,11,11,10,12,13,15,20, + 12,10,10,10,11,12,15,19,11,10, 9, 9,10,11,13,20, + 13,11,11,10,11,12,13,18,13,12,12,11,12,12,12,15, + 15,14,13,14,15,14,13,14,20,19,17,18,18,19,16,16, + 15,14,14,13,14,14,16,20,14,13,12,12,13,13,15,20, + 13,12,11,11,13,13,15,20,12,11,10,10,11,12,14,18, + 14,13,12,11,12,12,13,20,15,14,13,12,12,12,13,15, + 18,15,14,14,15,14,13,13,20,20,18,20,18,17,16,15, + 16,14,14,13,14,14,15,20,15,14,14,13,14,14,15,18, + 14,13,13,12,13,14,15,19,13,13,12,11,12,12,14,19, + 15,14,13,11,12,12,14,17,15,14,13,12,12,12,12,15, + 16,14,15,13,14,13,12,13,19,17,17,16,17,16,15,14, + 17,16,16,15,16,15,17,20,17,17,16,16,16,16,17,18, + 17,18,15,15,16,15,16,20,16,16,15,14,14,14,15,20, + 17,17,15,14,14,14,15,20,17,15,15,14,14,13,13,17, + 18,15,14,14,13,13,12,14,19,17,15,15,16,14,14,15, + 20,19,18,19,18,19,18,20,20,19,19,19,20,20,19,20, + 20,20,19,20,20,19,20,18,20,19,20,20,20,20,18,20, + 20,20,20,20,19,19,20,20,20,20,19,19,19,16,16,19, + 19,19,18,17,17,16,14,16,20,19,18,18,17,17,15,14, + 14,13,14,13,15,14,15,20,14,14,13,13,14,14,17,20, + 14,13,13,13,14,14,16,20,14,13,13,12,14,14,15,19, + 16,15,14,14,15,16,17,20,15,15,15,14,16,15,16,20, + 17,16,16,15,17,17,16,19,20,19,19,20,20,20,19,20, + 14,14,13,13,15,15,15,20,14,13,13,13,14,14,17,20, + 14,13,12,12,14,14,17,20,14,13,12,12,13,13,15,20, + 17,15,14,14,15,15,16,18,16,16,14,14,15,15,17,20, + 17,17,16,15,17,16,16,17,20,20,20,20,20,19,19,18, + 15,13,13,12,14,14,16,19,14,13,12,12,13,14,16,19, + 14,12,12,11,13,14,16,20,13,12,11,11,12,13,15,20, + 15,14,13,13,13,14,15,20,15,15,14,14,14,14,15,18, + 17,16,16,16,16,15,15,17,20,20,20,20,20,19,19,19, + 15,13,13,12,13,14,15,19,14,13,12,12,13,14,16,20, + 13,12,11,11,12,13,15,18,13,12,11,10,11,12,14,19, + 15,14,12,11,12,12,14,20,15,14,13,12,13,12,14,17, + 18,15,14,14,15,14,14,16,20,20,20,19,18,18,17,16, + 16,16,15,14,15,14,16,20,16,15,14,14,14,15,15,19, + 15,14,13,12,14,14,16,20,15,14,12,11,13,13,15,19, + 17,15,14,12,13,13,14,20,17,15,14,13,13,13,14,18, + 19,15,15,15,16,15,15,15,20,20,20,20,20,19,18,17, + 18,16,16,15,16,16,16,19,16,16,15,15,15,15,16,20, + 16,15,14,13,15,14,15,18,16,14,13,12,13,13,14,18, + 17,15,14,13,13,13,15,20,17,15,14,13,13,13,13,19, + 17,15,15,14,16,14,14,15,20,19,18,17,19,17,16,17, + 19,18,17,17,17,17,17,20,19,17,17,16,17,15,16,17, + 18,16,16,15,16,15,15,19,18,16,15,14,15,14,14,18, + 17,16,16,15,15,15,15,19,17,16,16,15,15,14,14,18, + 18,15,15,15,16,15,13,16,18,18,17,16,17,16,15,16, + 20,20,20,20,20,20,20,20,20,20,20,20,19,19,19,19, + 20,19,20,20,20,19,17,17,20,19,20,18,20,20,18,16, + 20,20,19,20,20,19,17,19,20,20,18,20,20,18,17,18, + 20,20,18,18,20,18,15,16,20,19,16,16,18,16,14,14, + 14,14,13,13,14,14,15,18,14,14,13,13,14,15,16,20, + 14,14,13,12,14,14,15,20,14,13,13,12,13,13,15,19, + 15,15,14,14,15,14,16,20,16,16,15,14,15,15,16,20, + 16,16,16,15,16,15,15,19,20,20,19,20,20,19,17,20, + 14,14,13,13,14,14,16,20,15,14,13,12,15,15,16,20, + 14,13,12,12,13,14,15,19,15,14,12,11,12,13,15,18, + 17,16,14,13,14,15,16,20,17,15,14,14,14,14,15,18, + 19,16,17,16,15,15,15,19,20,20,20,20,19,20,19,18, + 14,14,13,12,14,14,16,20,15,14,13,12,13,14,16,19, + 15,13,12,11,12,13,15,17,14,13,12,10,11,12,14,17, + 16,15,13,12,12,13,14,19,16,15,14,13,13,13,14,18, + 20,17,15,15,15,14,14,17,20,20,20,20,18,20,17,16, + 15,14,13,13,14,14,15,19,15,14,13,12,13,13,15,19, + 15,13,12,11,12,12,14,17,14,13,11,10,10,11,13,15, + 16,14,13,11,11,11,13,17,17,14,13,11,12,11,12,17, + 17,15,14,13,13,12,12,15,20,19,19,19,20,17,17,15, + 18,17,15,14,15,16,17,18,17,16,15,14,15,15,16,20, + 17,16,14,13,13,13,14,18,16,15,13,11,12,12,13,17, + 18,15,14,12,12,12,13,18,17,16,14,12,12,12,12,17, + 19,16,15,13,14,13,13,16,20,20,20,18,19,18,17,16, + 18,17,16,15,15,16,17,18,17,16,15,15,15,14,15,18, + 17,15,14,14,14,13,14,18,17,15,14,12,13,12,13,17, + 17,16,14,12,13,12,13,19,17,15,14,12,12,12,12,18, + 18,16,15,13,14,12,12,15,20,20,18,17,17,17,15,16, + 18,19,17,17,17,17,17,20,20,19,17,16,17,15,15,19, + 17,16,16,14,15,15,14,16,17,16,14,14,14,13,13,16, + 19,16,15,14,14,14,14,18,18,15,16,14,14,13,12,16, + 18,17,14,13,14,13,12,14,20,19,16,15,16,15,14,15, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,19,19, + 20,20,19,19,20,17,16,17,20,20,20,19,18,17,15,16, + 20,20,20,20,17,17,16,17,20,20,18,16,17,16,16,17, + 20,19,16,15,17,16,14,15,20,18,15,14,15,15,14,13, + 14,14,14,13,14,14,15,19,14,14,13,13,14,15,15,19, + 14,14,13,12,13,14,15,18,14,14,13,12,13,13,14,19, + 16,15,14,13,14,14,15,18,15,15,14,14,14,14,14,19, + 16,17,15,15,15,15,14,20,19,18,19,19,20,19,18,20, + 14,13,13,13,14,14,15,20,15,14,13,12,14,14,16,19, + 15,13,12,11,13,13,15,19,14,13,12,11,12,13,14,17, + 16,15,14,13,13,13,15,18,16,15,14,13,14,14,14,17, + 17,16,15,15,15,14,14,16,20,19,19,20,20,18,19,16, + 14,13,13,13,14,14,15,18,14,14,13,12,13,14,16,19, + 14,14,12,11,12,12,15,15,14,13,11,10,10,11,13,14, + 16,14,12,11,11,12,13,17,16,14,13,11,12,11,13,17, + 18,15,15,13,13,13,13,16,20,19,19,19,18,18,18,13, + 15,14,13,13,13,14,15,18,15,14,13,12,13,13,15,18, + 15,13,12,10,11,11,13,14,14,13,11, 8, 9, 9,11,13, + 15,14,12, 9, 9, 9,11,16,16,14,12, 9, 9, 9,10,15, + 18,15,13,12,11,11,11,14,20,20,18,16,18,18,15,13, + 18,16,15,15,15,15,16,19,16,16,14,14,15,14,15,18, + 16,15,14,12,12,12,14,16,15,15,12,10,10,10,11,15, + 15,15,13,10, 9, 9,11,16,16,15,13,10, 9, 9,10,15, + 18,16,14,12,11,10,11,15,19,20,19,17,19,16,16,14, + 18,17,17,16,15,15,16,19,18,16,15,14,15,14,14,17, + 17,15,13,13,13,12,13,16,15,14,12,10,10,10,11,16, + 16,15,13,10,10, 9,11,16,16,15,13,10, 9, 8, 9,15, + 17,16,14,11,11,10,10,14,20,20,18,16,17,15,15,14, + 19,20,18,18,18,17,17,19,20,20,17,15,16,15,14,16, + 20,17,16,14,14,13,12,15,18,16,15,12,12,11,11,15, + 18,16,14,12,12,11,11,15,17,16,14,12,11,10,10,15, + 18,15,13,11,12,10, 9,13,19,20,16,14,16,15,13,13, + 20,20,20,20,20,20,20,20,20,20,20,20,20,18,17,18, + 20,20,20,20,19,18,16,16,20,20,20,20,17,18,15,16, + 20,19,19,17,17,17,16,16,20,20,17,16,17,15,15,16, + 20,18,15,14,14,15,13,15,20,17,16,14,16,15,14,11, + 15,16,15,14,16,16,16,19,16,17,16,15,15,16,17,19, + 15,15,15,14,15,14,16,19,16,15,14,14,14,14,15,18, + 17,17,16,15,15,14,16,19,17,16,16,15,15,14,15,18, + 17,16,16,15,15,15,16,19,20,20,20,18,18,18,17,20, + 15,16,15,15,16,16,17,20,16,16,15,14,15,16,16,20, + 16,16,14,13,14,15,15,20,17,15,14,13,13,14,15,18, + 17,17,15,14,15,14,15,18,18,16,15,15,15,14,15,20, + 18,16,16,15,15,15,15,17,20,20,19,18,18,18,18,18, + 15,15,15,14,15,15,17,20,17,15,14,14,15,15,16,20, + 16,15,14,13,14,13,15,19,16,15,13,11,12,12,14,17, + 16,16,14,12,13,13,14,17,17,16,14,13,13,12,13,17, + 18,16,15,14,14,14,14,16,20,20,18,20,19,18,17,15, + 17,15,15,14,15,15,15,19,17,15,14,14,14,14,16,19, + 17,15,13,12,12,12,14,17,16,14,12, 9, 9, 9,12,14, + 17,15,13,10, 9, 9,11,15,16,15,13,10, 9, 9,10,15, + 20,16,14,12,12,11,11,15,20,20,20,18,19,17,16,13, + 18,16,16,15,15,16,16,19,18,18,17,15,16,16,16,20, + 17,16,15,13,13,13,14,18,16,15,13,10, 9,10,12,14, + 17,15,14,10, 9, 8,11,14,16,17,13,10, 8, 8,10,14, + 19,16,15,12,11,10,11,15,20,20,17,17,17,17,16,13, + 20,19,16,15,16,16,16,20,19,19,17,15,16,16,16,18, + 16,16,15,13,13,13,13,17,16,15,13,10,10, 9,11,15, + 16,16,14,10, 9, 8,10,13,16,16,14,10, 8, 7, 8,12, + 19,17,15,11,10, 9, 9,13,20,20,18,15,17,15,15,12, + 19,20,18,18,19,18,18,19,19,18,17,17,17,15,15,18, + 19,18,16,15,15,14,13,16,17,16,15,13,12,11,11,15, + 19,17,15,12,12,11,11,15,18,16,14,12,10, 9, 9,13, + 18,17,14,12,11,10, 9,12,20,20,17,16,16,15,13,13, + 20,20,20,20,20,20,20,20,20,20,20,20,20,18,20,20, + 20,20,20,20,20,18,18,18,20,20,20,18,17,17,15,16, + 20,20,20,17,18,18,16,18,20,20,20,17,17,16,15,17, + 20,20,18,15,18,16,14,15,20,18,17,16,16,16,14,10, + 16,16,16,15,16,16,16,18,17,17,16,16,16,16,17,20, + 16,17,16,15,15,15,16,19,16,16,16,14,14,14,15,18, + 17,17,16,16,15,16,15,17,16,17,16,15,16,15,15,17, + 17,17,16,15,16,15,15,17,20,20,19,18,18,17,15,17, + 16,16,16,15,16,16,17,20,17,17,16,15,16,15,18,20, + 18,16,15,14,15,15,15,20,17,16,15,14,14,14,14,17, + 20,17,16,15,15,15,15,18,18,16,15,15,15,14,14,17, + 17,16,15,14,14,14,14,16,20,20,20,20,18,16,16,17, + 17,16,15,16,15,16,17,20,17,17,16,14,15,15,16,19, + 17,16,15,13,14,14,16,19,16,15,14,12,13,12,14,19, + 18,17,15,13,13,13,14,18,17,16,14,13,13,12,13,17, + 19,16,15,13,14,13,13,15,20,20,18,19,18,17,16,15, + 16,16,15,14,15,15,16,20,17,16,15,14,15,15,16,19, + 16,15,14,12,13,12,14,17,16,14,12,10,10,10,11,15, + 17,15,13,10,10, 9,11,15,18,15,13,10, 9, 9,10,14, + 18,15,14,12,12,11,10,14,20,19,19,17,17,16,15,13, + 17,18,17,16,16,16,17,19,18,17,16,15,15,15,15,20, + 18,17,16,13,14,13,14,19,16,16,13,10, 9, 9,11,14, + 17,16,13,10, 8, 8,10,13,17,16,13,10, 8, 7, 9,12, + 17,17,14,12,11, 9, 9,13,20,20,19,16,16,15,14,12, + 18,18,16,15,17,16,17,18,18,16,16,15,15,15,15,18, + 18,17,15,13,13,13,13,17,17,16,13,10, 9, 9,11,14, + 16,17,13, 9, 8, 7, 9,12,17,16,13, 9, 7, 6, 7,10, + 16,16,14,11, 9, 7, 7,11,20,20,20,16,15,14,14,10, + 17,17,18,16,17,17,16,18,20,17,18,16,17,16,14,17, + 18,18,16,15,15,14,13,16,17,16,14,12,11,11,11,14, + 18,16,14,11,10, 9,10,13,17,16,14,11, 9, 7, 7,11, + 16,16,14,11,10, 7, 6, 9,19,18,17,15,15,13,11,10, + 20,20,20,20,20,20,20,19,20,20,20,20,20,20,19,18, + 20,20,20,19,20,20,18,20,20,20,19,18,17,16,16,15, + 20,20,19,17,17,16,15,15,20,20,18,17,16,15,14,14, + 19,20,18,15,15,14,12,13,19,19,16,15,16,15,13, 8, + 18,19,20,17,16,17,16,20,19,20,18,19,18,17,19,20, + 17,17,17,17,18,17,18,19,16,18,17,16,17,16,16,18, + 19,20,17,17,19,17,18,18,18,20,19,17,19,17,16,16, + 17,19,17,17,16,15,16,16,20,19,19,18,17,16,16,16, + 18,17,19,17,17,16,19,18,17,18,18,17,19,18,19,19, + 18,18,17,16,16,15,16,20,20,18,16,15,16,14,15,18, + 18,18,18,16,16,16,15,17,20,18,17,16,15,16,15,17, + 20,17,16,15,15,15,14,15,20,20,17,18,17,16,15,15, + 17,18,17,17,18,17,16,20,18,19,17,16,16,16,16,19, + 18,17,16,15,16,15,16,18,20,16,16,14,14,14,15,17, + 18,17,17,15,15,15,14,17,17,19,16,14,15,14,13,16, + 18,17,15,14,14,14,13,14,20,20,20,20,17,16,15,14, + 17,17,17,16,17,18,17,18,18,18,17,15,15,15,15,19, + 19,17,16,14,14,13,13,17,17,16,14,12,12,11,12,15, + 18,17,15,12,12,11,12,16,18,17,15,12,11,11,11,15, + 17,17,15,12,12,11,10,13,20,20,17,16,16,15,13,13, + 19,19,17,17,17,17,18,20,19,18,16,16,18,15,17,20, + 18,19,16,14,15,14,14,16,18,18,15,12,12,11,12,16, + 20,18,15,12,11,10,11,15,17,17,15,11,11, 9,10,13, + 19,18,15,12,12,10, 9,13,20,20,18,16,16,15,13,12, + 20,20,17,18,18,16,16,18,18,18,17,15,16,15,14,18, + 18,18,16,14,14,13,13,16,18,17,14,11,11,11,11,14, + 20,19,15,11,10, 9,10,13,18,17,14,10, 9, 7, 7,11, + 18,16,14,11,10, 8, 6,10,19,19,17,15,15,13,11, 9, + 18,19,18,16,17,18,16,18,18,20,17,17,18,15,14,16, + 18,18,17,15,16,14,13,15,17,17,14,12,12,11,10,13, + 18,17,15,12,11,10,10,13,17,18,14,11, 9, 7, 7,10, + 16,14,13,11,10, 7, 4, 7,18,15,16,14,13,12, 8, 7, + 20,20,20,20,20,20,19,19,20,20,19,20,20,20,18,20, + 20,19,20,18,20,19,16,17,20,20,20,18,17,16,14,14, + 20,20,18,16,17,15,14,14,20,20,18,16,15,14,12,12, + 18,19,15,14,14,12, 8, 9,16,17,16,14,15,13,10, 7, + 20,20,20,20,20,20,20,20,20,20,20,19,20,20,20,20, + 20,20,20,20,20,20,20,20,19,20,20,20,20,20,19,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,19, + 20,20,20,20,20,20,19,20,20,20,20,20,20,20,20,17, + 20,20,20,20,19,20,20,20,20,19,20,20,20,20,20,20, + 18,20,20,20,20,20,20,20,20,20,20,20,20,20,19,20, + 20,20,19,20,20,20,19,19,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,18,18,20,20,20,20,20,20,19,16, + 20,20,20,19,20,20,19,20,19,20,20,20,20,20,20,20, + 19,20,20,19,20,20,18,20,20,20,20,20,19,19,18,19, + 20,20,20,20,20,20,18,19,20,20,20,19,18,19,20,19, + 20,20,20,18,18,17,16,16,20,20,20,18,16,16,15,14, + 19,20,20,20,19,20,20,20,20,20,20,20,20,20,19,20, + 20,20,20,19,19,20,19,19,20,19,20,17,18,17,16,16, + 20,20,18,20,20,18,17,17,20,20,20,19,18,18,16,16, + 20,20,18,15,15,14,13,14,20,20,18,16,15,14,14,12, + 20,20,20,20,20,20,20,20,20,20,20,20,20,19,20,20, + 20,20,20,20,20,19,17,19,20,20,19,20,18,18,16,16, + 20,20,20,18,20,19,16,17,20,20,20,17,19,16,15,17, + 20,19,20,16,15,15,14,15,20,20,20,16,16,16,14,12, + 20,18,20,20,20,20,19,20,20,20,20,20,20,20,20,20, + 20,20,19,20,20,19,17,18,20,19,18,17,17,16,15,15, + 20,20,20,17,17,16,15,17,20,19,18,17,17,15,14,15, + 20,20,18,15,16,14,12,13,20,20,20,17,16,16,13,12, + 20,20,20,20,20,20,19,20,20,20,20,20,20,19,18,20, + 20,20,19,18,20,19,16,16,20,20,19,16,18,15,14,14, + 20,20,20,16,16,15,13,15,20,19,16,16,15,13,12,13, + 19,20,17,14,14,12, 8, 9,19,20,18,16,17,14,10, 9, + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, + 20,20,20,19,19,20,18,15,20,20,20,18,18,17,14,13, + 20,20,20,18,19,17,14,13,20,20,19,16,17,15,13,12, + 18,20,17,14,15,13,10,10,18,19,16,14,14,12, 9, 2, +}; + +static static_codebook _huff_book_res0a1aux = { + 4, 4096, + _huff_lengthlist_res0a1aux, + 0, 0, 0, 0, 0, + NULL, + NULL, + NULL, +}; + + +#endif diff --git a/include/vorbis/book/res0a_0.vqh b/include/vorbis/book/res0a_0.vqh new file mode 100644 index 00000000..7e06cb10 --- /dev/null +++ b/include/vorbis/book/res0a_0.vqh @@ -0,0 +1,151 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_0_VQH_ +#define _V_res0a_0_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_0[] = { + 0, + 8, + 14, + 20, + 25, + 30, + 34, + 37, + 40, + 42, + 44, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 56, + 58, + 60, + 63, + 66, + 70, + 75, + 80, + 86, + 92, + 100, +}; + +static long _vq_lengthlist_res0a_0[] = { + 20,20,20,20,19,19,19,19,19,19,18,18,18,17,16,15, + 16,18,18,19,18,18,19,19,19,19,19,19,19,19,19,19, + 19,19,19,19,19,18,18,19,17,18,18,17,16,15,14,16, + 17,17,18,18,17,17,17,19,19,19,19,19,19,19,19,19, + 19,19,17,17,17,17,17,18,16,16,16,15,13,12,14,14, + 16,16,16,16,17,17,18,18,19,19,19,19,19,19,19,18, + 17,16,17,15,16,15,15,15,14,14,13,12,11,12,13,14, + 14,14,15,16,16,16,16,18,19,19,19,19,16,17,15,16, + 15,13,13,13,13,13,13,12,13,12,11, 9,11,12,12,13, + 12,13,13,13,14,14,16,17,18,18,19,14,14,14,14,13, + 12,12,11,11,11,11,11,11,10, 9, 8, 9,10,11,11,11, + 11,11,12,12,12,13,16,17,17,17,14,14,14,14,13,11, + 12,11,11,11,11,11,11,10,10, 8,10,10,11,11,11,11, + 11,12,12,12,13,15,16,18,18,14,14,13,14,13,11,11, + 11,11,11,11,11,11,10,10, 8,10,10,11,11,11,11,11, + 11,11,11,13,15,17,17,16,14,14,14,14,12,11,11,11, + 11,11,10,10,10,10, 9, 8, 9,10,10,10,10,11,11,11, + 11,11,13,15,16,16,17,14,14,14,14,12,11,11,11,11, + 11,10,10,10,10, 9, 8, 9,10,10,10,10,10,10,11,11, + 11,12,14,16,17,16,13,14,14,13,12,10,10,10,10,10, + 9, 9,10, 9, 9, 7, 9, 9,10, 9, 9,10,10,10,10,10, + 12,14,16,16,18,14,14,14,13,12,10,10,10,10,10, 9, + 9, 9, 9, 8, 7, 8, 9, 9, 9, 9,10,10,10,10,10,12, + 14,15,18,18,14,15,14,13,12,10,10,10,10,10, 9, 9, + 9, 9, 8, 7, 8, 9, 9, 9, 9,10,10,10,10,10,12,14, + 15,17,17,14,14,13,13,11,10,10,10, 9, 9, 9, 9, 9, + 8, 8, 6, 8, 8, 9, 9, 9, 9, 9,10,10,10,11,13,15, + 16,18,14,14,13,12,10, 9, 9, 9, 9, 9, 8, 8, 8, 7, + 7, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,10,12,14,16, + 16,12,12,11,10, 9, 7, 8, 8, 8, 8, 7, 7, 7, 6, 5, + 4, 5, 6, 7, 7, 7, 8, 8, 8, 8, 7, 8,10,11,12,13, + 14,14,13,11,10, 9, 9, 9, 9, 9, 8, 8, 8, 7, 7, 6, + 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,10,12,14,15,16,14, + 14,13,13,11,10,10,10,10, 9, 9, 9, 9, 8, 8, 6, 8, + 8, 9, 9, 9, 9,10,10,10,10,11,13,14,16,17,14,14, + 14,13,12,10,10,10,10,10, 9, 9, 9, 9, 8, 7, 8, 9, + 10, 9, 9,10,10,10,10,10,12,14,15,17,18,14,14,14, + 13,11,10,10,10,10,10, 9, 9, 9, 9, 8, 7, 8, 9, 9, + 9, 9,10,10,10,10,10,12,14,16,16,18,13,14,14,13, + 12,10,10,10,10,10, 9, 9,10, 9, 9, 7, 9, 9,10, 9, + 10,10,10,10,10,10,12,14,16,16,19,14,14,14,14,12, + 11,11,11,10,10,10,10,10,10, 9, 8, 9,10,10,10,10, + 10,11,11,11,11,12,15,16,18,18,14,14,14,14,12,11, + 11,11,11,11,10,10,10,10, 9, 8, 9,10,10,10,10,11, + 11,11,11,11,13,15,16,18,17,14,14,13,14,13,11,11, + 11,11,11,11,10,11,10,10, 8,10,10,11,11,11,11,11, + 11,11,11,13,15,16,18,18,14,14,14,14,13,12,11,11, + 11,11,11,11,11,10,10, 8,10,10,11,11,11,11,11,11, + 11,12,13,15,16,18,17,15,15,14,14,13,12,12,11,11, + 11,11,11,11,10, 9, 8, 9,10,11,11,11,11,11,12,12, + 12,13,15,16,17,18,16,16,16,15,15,14,13,13,13,13, + 12,13,13,12,11, 9,11,12,12,12,13,13,13,13,13,14, + 16,18,18,19,19,18,18,17,18,16,16,16,17,15,16,14, + 14,14,13,12,11,12,13,14,14,15,15,15,15,16,17,17, + 19,18,19,19,19,19,19,19,18,18,17,18,18,16,16,17, + 15,15,13,12,13,15,16,16,16,17,17,16,17,17,19,19, + 19,19,19,19,19,19,19,19,18,18,18,16,18,19,17,17, + 17,15,13,15,17,17,17,17,18,19,18,18,18,19,19,19, + 19,19,19,19,19,19,19,18,18,19,19,18,18,17,18,19, + 16,15,16,17,18,18,18,19,18,19,19,19,19,19,19,19, + 19, +}; + +static double _vq_quantthresh_res0a_0[] = { + -46, -39, -33, -28, -23, -18, -14.5, -11.5, + -9, -7, -5, -3.5, -2.5, -1.5, -0.5, 0.5, + 1.5, 2.5, 3.5, 5, 7, 9, 11.5, 14.5, + 18, 23, 28, 33, 39, 46, +}; + +static long _vq_quantmap_res0a_0[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, +}; + +static encode_aux_threshmatch _vq_aux_res0a_0 = { + _vq_quantthresh_res0a_0, + _vq_quantmap_res0a_0, + 31, + 31 +}; + +static static_codebook _vq_book_res0a_0 = { + 2, 961, + _vq_lengthlist_res0a_0, + 1, -524746752, 1611661312, 7, 0, + _vq_quantlist_res0a_0, + NULL, + &_vq_aux_res0a_0 +}; + + +#endif diff --git a/include/vorbis/book/res0a_1.vqh b/include/vorbis/book/res0a_1.vqh new file mode 100644 index 00000000..1a4b2747 --- /dev/null +++ b/include/vorbis/book/res0a_1.vqh @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_1_VQH_ +#define _V_res0a_1_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_1[] = { + 0, + 3, + 6, + 8, + 10, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 22, + 24, + 26, + 29, + 32, +}; + +static long _vq_lengthlist_res0a_1[] = { + 13,13,13,13,13,12,12,11,10, 9,10,11,12,12,13,13, + 13,13,14,13,12,12,12,11,11,11,10, 9, 7, 8,10,11, + 11,11,12,12,12,13,13,12,12,12,11,11,11,10, 9, 7, + 9,10,11,11,11,12,12,12,13,12,11,11,12,11,11,11, + 10, 9, 8, 9,10,11,11,11,12,12,12,12,12,11,11,11, + 11,10,10,10, 8, 7, 8, 9,11,10,11,11,11,11,12,11, + 10,10,11,10,10,10, 9, 8, 7, 8, 9,10,10,10,11,10, + 10,11,11,10,10,11,10,10,10, 9, 8, 7, 8, 9,10,10, + 10,11,10,10,11,10, 9,10,10, 9, 9, 9, 8, 7, 6, 7, + 8, 9, 9, 9,10,10, 9,10, 9, 8, 8, 9, 8, 8, 8, 7, + 6, 5, 6, 7, 8, 8, 8, 9, 8, 8, 9, 8, 7, 7, 8, 7, + 7, 6, 6, 5, 3, 5, 6, 6, 7, 7, 8, 7, 7, 8, 9, 8, + 8, 9, 8, 8, 8, 7, 6, 5, 6, 7, 8, 8, 8, 9, 8, 8, + 9,10, 9,10,10, 9, 9, 9, 8, 7, 6, 7, 8, 9, 9, 9, + 10, 9, 9,10,11,10,10,11,10,10,10, 9, 8, 7, 8, 9, + 10,10,10,11,10,10,11,11,10,10,11,10,10,10, 9, 8, + 7, 8, 9,10,10,10,11,10,10,11,12,11,11,11,11,10, + 10, 9, 8, 7, 8, 9,10,10,11,11,11,11,11,12,11,11, + 12,11,11,11,10, 9, 8, 9,10,11,11,11,12,11,11,12, + 12,12,12,12,11,11,11,10, 9, 7, 9,10,11,11,11,12, + 12,12,12,13,12,12,12,11,11,11,10, 9, 7, 9,10,11, + 11,11,12,12,12,13,13,13,13,13,13,12,12,11,10, 9, + 10,11,12,12,12,13,13,13,14, +}; + +static double _vq_quantthresh_res0a_1[] = { + -14.5, -11.5, -9, -7, -5, -3.5, -2.5, -1.5, + -0.5, 0.5, 1.5, 2.5, 3.5, 5, 7, 9, + 11.5, 14.5, +}; + +static long _vq_quantmap_res0a_1[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, +}; + +static encode_aux_threshmatch _vq_aux_res0a_1 = { + _vq_quantthresh_res0a_1, + _vq_quantmap_res0a_1, + 19, + 19 +}; + +static static_codebook _vq_book_res0a_1 = { + 2, 361, + _vq_lengthlist_res0a_1, + 1, -527433728, 1611661312, 6, 0, + _vq_quantlist_res0a_1, + NULL, + &_vq_aux_res0a_1 +}; + + +#endif diff --git a/include/vorbis/book/res0a_2.vqh b/include/vorbis/book/res0a_2.vqh new file mode 100644 index 00000000..4ada5d27 --- /dev/null +++ b/include/vorbis/book/res0a_2.vqh @@ -0,0 +1,85 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_2_VQH_ +#define _V_res0a_2_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_2[] = { + 0, + 2, + 4, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 16, + 18, + 20, +}; + +static long _vq_lengthlist_res0a_2[] = { + 16,15,13,13,12,11,10, 8,10,11,12,13,13,14,16,14, + 13,12,11,11,10, 8, 7, 8,10,11,11,12,13,14,13,12, + 11,11,10,10, 8, 7, 8,10,10,11,11,12,14,12,11,11, + 11,10, 9, 8, 7, 8, 9,10,11,11,11,12,12,11,10,10, + 10, 9, 8, 7, 8, 9,10,10,10,11,12,11,10, 9, 9, 9, + 8, 7, 6, 7, 8, 9, 9, 9,10,11, 9, 8, 8, 8, 8, 7, + 5, 4, 6, 7, 8, 8, 8, 8, 9, 8, 7, 7, 7, 6, 6, 4, + 3, 4, 6, 6, 7, 7, 7, 8, 9, 8, 8, 8, 8, 7, 5, 4, + 6, 7, 8, 8, 8, 8, 9,11,10, 9, 9, 9, 8, 7, 6, 7, + 8, 9, 9, 9,10,11,12,11,10,10,10, 9, 8, 7, 8, 9, + 10,10,10,11,12,12,11,11,11,10, 9, 8, 7, 8, 9,10, + 10,11,11,12,13,12,11,11,11,10, 8, 7, 8, 9,11,11, + 11,12,13,14,13,12,11,11,10, 8, 7, 8,10,11,11,12, + 13,14,16,15,14,12,12,11,10, 8,10,11,12,13,13,14, + 16, +}; + +static double _vq_quantthresh_res0a_2[] = { + -9, -7, -5, -3.5, -2.5, -1.5, -0.5, 0.5, + 1.5, 2.5, 3.5, 5, 7, 9, +}; + +static long _vq_quantmap_res0a_2[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, +}; + +static encode_aux_threshmatch _vq_aux_res0a_2 = { + _vq_quantthresh_res0a_2, + _vq_quantmap_res0a_2, + 15, + 15 +}; + +static static_codebook _vq_book_res0a_2 = { + 2, 225, + _vq_lengthlist_res0a_2, + 1, -529268736, 1611661312, 5, 0, + _vq_quantlist_res0a_2, + NULL, + &_vq_aux_res0a_2 +}; + + +#endif diff --git a/include/vorbis/book/res0a_3.vqh b/include/vorbis/book/res0a_3.vqh new file mode 100644 index 00000000..9aeeb2d3 --- /dev/null +++ b/include/vorbis/book/res0a_3.vqh @@ -0,0 +1,74 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_3_VQH_ +#define _V_res0a_3_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_3[] = { + 0, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 12, +}; + +static long _vq_lengthlist_res0a_3[] = { + 14,12,12,11, 9, 8, 9,11,12,12,14,12,11,10, 9, 7, + 6, 8, 9,10,11,12,11,10,10, 9, 8, 7, 8, 9,10,10, + 12,10, 9, 9, 8, 6, 6, 6, 8, 9, 9,10, 9, 7, 8, 6, + 5, 4, 5, 6, 8, 7, 9, 8, 6, 7, 5, 4, 3, 4, 5, 7, + 6, 8, 9, 7, 8, 6, 5, 4, 5, 6, 8, 7, 9,11, 9, 9, + 8, 6, 6, 6, 8, 9, 9,10,12,10,10, 9, 8, 7, 8, 9, + 10,10,12,12,11,10, 9, 8, 6, 7, 9,10,11,12,14,12, + 12,11, 9, 8, 9,11,12,12,14, +}; + +static double _vq_quantthresh_res0a_3[] = { + -5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, + 3.5, 5, +}; + +static long _vq_quantmap_res0a_3[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, +}; + +static encode_aux_threshmatch _vq_aux_res0a_3 = { + _vq_quantthresh_res0a_3, + _vq_quantmap_res0a_3, + 11, + 11 +}; + +static static_codebook _vq_book_res0a_3 = { + 2, 121, + _vq_lengthlist_res0a_3, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0a_3, + NULL, + &_vq_aux_res0a_3 +}; + + +#endif diff --git a/include/vorbis/book/res0a_4.vqh b/include/vorbis/book/res0a_4.vqh new file mode 100644 index 00000000..ef64452f --- /dev/null +++ b/include/vorbis/book/res0a_4.vqh @@ -0,0 +1,211 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_4_VQH_ +#define _V_res0a_4_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_4[] = { + 0, + 1, + 2, + 3, + 4, + 5, + 6, +}; + +static long _vq_lengthlist_res0a_4[] = { + 18,17,18,17,17,19,18,18,17,15,15,16,17,18,18,16, + 14,14,14,16,17,17,15,14,13,14,15,17,17,16,15,14, + 14,16,17,19,17,16,15,16,17,18,21,18,17,17,17,19, + 20,17,17,15,15,15,16,18,17,15,14,13,14,16,17,16, + 14,13,12,13,14,16,15,14,12,11,12,13,15,16,14,13, + 12,13,14,16,17,15,14,13,14,16,17,17,16,16,15,16, + 16,19,18,16,14,14,14,16,17,16,14,13,12,13,14,16, + 14,13,11,10,11,13,15,14,12,11, 9,10,12,14,15,13, + 11,10,11,13,14,15,14,13,12,13,14,16,18,16,15,14, + 15,16,17,17,16,14,13,14,16,16,15,14,12,11,12,14, + 15,14,12,11,10,11,12,14,13,11,10, 8, 9,11,13,14, + 12,10,10,11,12,14,15,14,12,11,12,13,15,17,15,14, + 13,14,15,16,17,16,15,14,15,16,17,16,14,13,12,13, + 14,15,15,13,11,10,11,13,15,14,12,10, 9,11,12,14, + 15,13,11,10,11,13,15,16,14,13,12,13,14,16,18,16, + 15,14,15,15,19,18,17,16,15,15,17,18,17,15,14,13, + 14,15,16,16,14,13,12,13,14,16,15,13,12,11,12,14, + 15,16,14,13,12,13,14,16,16,15,14,14,14,15,17,18, + 17,16,15,15,17,18,18,18,17,16,16,17,19,19,16,16, + 15,16,17,17,17,16,15,13,14,16,17,16,15,14,13,14, + 15,17,17,16,15,14,15,16,16,19,17,16,15,16,18,19, + 19,18,18,17,18,18,21,17,16,15,15,16,17,18,17,15, + 14,13,14,15,17,16,14,13,12,13,15,16,15,13,12,11, + 12,14,15,16,14,13,12,13,14,16,17,15,14,13,14,16, + 16,19,17,16,15,16,17,18,16,15,14,13,14,15,17,15, + 14,13,13,14,15,15,14,13,12,11,12,13,14,13,13,12, + 11,11,13,14,14,13,12,11,12,13,14,16,15,13,13,13, + 14,15,17,15,14,13,14,15,17,16,14,13,12,13,14,16, + 14,13,12,11,12,13,14,13,12,11,10,11,12,13,12,11, + 10, 9,10,12,12,13,12,11,10,11,12,13,14,13,12,11, + 12,13,14,15,14,13,12,13,14,16,16,13,12,11,12,13, + 15,13,13,12,11,12,13,13,12,12,10, 9,10,12,12,11, + 11, 9, 8, 9,11,11,12,11,10, 9,10,11,12,13,13,11, + 11,12,13,14,15,13,12,11,12,13,15,16,14,13,12,13, + 14,15,14,14,12,11,12,13,14,13,12,11,10,11,12,13, + 12,12,10, 9,10,12,12,13,12,11,10,11,12,13,14,13, + 12,12,12,14,14,15,14,13,12,13,14,16,17,15,14,13, + 14,15,16,16,14,14,13,13,14,15,14,14,12,11,12,13, + 14,14,13,12,11,11,13,13,14,13,12,11,12,13,14,16, + 14,13,13,13,14,16,16,16,14,14,14,16,16,18,16,16, + 15,16,16,17,17,15,14,13,14,15,17,16,14,13,12,13, + 14,16,15,14,12,11,12,14,16,16,14,13,12,13,14,16, + 18,16,14,13,14,16,17,17,17,16,16,16,17,17,16,15, + 14,14,14,16,17,16,14,13,12,13,14,16,14,13,11,10, + 11,13,15,14,12,11,10,11,12,14,15,13,11,10,11,13, + 15,15,14,13,12,13,14,15,17,16,14,14,14,15,17,15, + 14,13,12,13,14,16,14,13,12,11,12,13,14,13,12,11, + 10,11,12,13,12,11,10, 9,10,11,12,13,12,11,10,11, + 12,13,14,13,12,11,12,13,14,16,14,13,12,13,14,16, + 14,13,11,10,11,13,15,13,12,11,10,11,12,13,11,11, + 9, 8, 9,11,11,10,10, 9, 8, 9,10,10,11,11, 9, 9, + 9,11,11,13,12,11,10,11,12,13,14,13,11,11,11,13, + 14,14,12,10,10,11,12,14,12,11,10, 9,10,11,12,10, + 10, 9, 8, 8,10,10, 9, 9, 8, 7, 8, 9, 9,10,10, 9, + 8, 9,10,10,12,11,10, 9,10,11,12,14,12,10, 9,10, + 12,14,14,13,11,11,11,12,15,13,12,11,10,11,12,13, + 11,11, 9, 9, 9,11,11,10,10, 9, 8, 9,10,10,11,11, + 9, 9, 9,11,11,13,12,11,10,11,12,13,14,13,11,11, + 11,13,14,16,14,13,12,13,14,15,14,13,12,11,12,13, + 14,13,12,11,10,11,12,13,12,11,10, 9,10,12,12,13, + 12,11,10,11,12,13,14,13,12,11,12,13,14,15,14,13, + 12,13,14,16,17,16,15,14,14,15,17,15,14,13,12,13, + 14,15,14,13,11,10,11,13,15,14,12,10,10,11,12,14, + 14,13,11,10,11,13,14,16,14,13,12,13,14,15,18,16, + 15,14,15,16,17,16,15,14,13,14,15,16,15,13,12,11, + 12,14,15,13,12,10, 9,10,12,14,13,11,10, 8,10,11, + 13,14,12,10, 9,10,12,14,15,13,12,11,12,13,15,16, + 15,14,13,14,15,17,15,13,12,11,12,13,15,13,12,11, + 10,11,13,13,12,11,10, 9,10,11,12,11,11, 9, 8, 9, + 11,11,12,12,10, 9,10,11,12,13,12,11,11,11,13,13, + 15,13,12,11,12,13,15,14,12,10, 9,10,12,14,12,11, + 10, 9,10,11,12,10,10, 8, 8, 8,10,10, 9, 9, 8, 7, + 8, 9, 9,10,10, 8, 8, 8,10,10,12,11,10, 9,10,11, + 12,13,12,10, 9,10,12,13,12,11, 9, 8, 9,11,13,11, + 10, 9, 8, 9,10,11, 9, 9, 8, 7, 8, 9, 9, 8, 8, 7, + 5, 7, 8, 8, 9, 9, 8, 7, 8, 9, 9,11,11, 9, 8, 9, + 10,11,13,11, 9, 8, 9,11,13,14,12,10, 9,10,12,14, + 12,11,10, 9,10,11,12,10,10, 8, 8, 9,10,10, 9, 9, + 8, 7, 8, 9, 9,10,10, 8, 8, 8,10,10,12,11,10, 9, + 10,11,12,14,12,10, 9,10,12,13,15,13,12,11,12,13, + 15,13,13,11,11,11,12,13,12,11,10, 9,10,11,12,11, + 11, 9, 8, 9,11,11,12,11,10, 9,10,11,12,14,13,11, + 11,11,12,13,15,13,12,11,12,13,15,16,15,14,13,14, + 15,16,15,13,12,11,12,13,15,14,12,10, 9,10,12,14, + 13,11,10, 8,10,11,13,14,12,11, 9,10,12,14,15,14, + 12,11,12,13,15,16,15,14,13,14,15,16,17,16,14,14, + 15,16,16,16,14,13,12,13,14,16,15,13,11,10,11,13, + 15,14,12,11,10,11,12,14,15,13,11,10,11,13,14,15, + 14,13,12,13,14,16,17,15,15,14,14,16,17,16,14,13, + 12,13,14,16,14,13,12,11,12,13,14,13,12,11,10,11, + 12,13,12,12,10, 9,10,11,12,13,12,11,10,11,12,13, + 14,13,12,11,12,13,14,16,14,13,12,13,14,15,14,13, + 11,11,11,13,15,13,12,11,10,11,12,13,11,11, 9, 9, + 9,11,11,10,10, 9, 8, 9,10,10,11,11, 9, 9, 9,11, + 11,13,12,11,10,11,12,13,14,13,11,10,11,13,14,14, + 12,10,10,10,12,14,12,11,10, 9,10,11,12,10,10, 9, + 8, 9,10,10, 9, 9, 8, 7, 8, 9, 9,10,10, 9, 8, 9, + 10,10,12,11,10, 9,10,11,12,14,12,11,10,10,12,14, + 14,13,11,10,11,13,14,13,12,11,10,11,12,13,11,11, + 9, 9, 9,11,11,10,10, 9, 8, 9,10,10,11,11, 9, 9, + 9,11,11,13,12,11,10,11,12,13,14,13,11,10,11,12, + 14,16,14,13,12,13,14,16,14,13,12,11,12,13,14,12, + 12,11,10,11,12,13,12,12,10, 9,10,12,12,13,12,11, + 10,11,12,13,14,13,12,11,12,13,14,16,14,13,12,13, + 14,16,19,16,15,14,14,15,17,16,14,13,12,13,14,16, + 14,13,11,10,11,13,15,14,12,11, 9,10,12,14,15,13, + 11,10,11,13,15,16,14,13,12,13,14,16,17,17,15,14, + 14,15,17,18,16,16,15,15,17,19,17,15,14,13,14,15, + 18,16,14,13,12,13,14,15,15,14,12,11,12,14,15,16, + 14,13,12,13,14,16,16,15,14,13,14,15,16,18,16,16, + 15,16,18,18,16,15,14,14,14,15,17,16,15,14,13,13, + 14,16,14,13,12,12,12,13,14,14,13,11,11,11,13,13, + 14,13,12,11,12,14,14,15,14,13,13,13,15,15,16,15, + 14,13,14,16,17,16,14,13,12,13,14,16,14,13,12,11, + 12,13,14,13,12,11,10,11,12,13,12,12,10, 9,10,12, + 12,13,12,11,10,11,12,13,14,13,12,11,12,14,14,16, + 14,13,12,13,15,16,15,14,12,11,12,13,15,13,13,11, + 11,11,13,13,12,11,10, 9,10,11,12,11,11, 9, 8, 9, + 11,11,12,12,10, 9,10,12,12,13,13,11,11,11,13,13, + 15,14,12,11,12,14,15,16,14,13,12,13,14,16,14,13, + 12,11,12,13,14,13,12,11,10,11,12,13,12,11,10, 9, + 10,12,12,13,12,11,10,11,12,13,14,13,12,12,12,13, + 14,16,14,13,12,13,14,16,16,15,14,14,14,16,16,16, + 14,13,13,13,15,16,14,13,12,11,12,13,14,13,13,11, + 11,11,13,14,14,13,12,11,12,13,14,15,15,13,13,13, + 14,15,16,16,14,13,14,15,16,18,17,16,15,16,17,19, + 17,15,14,13,14,16,17,16,14,13,12,13,14,16,15,13, + 12,11,12,13,15,16,14,13,12,13,14,16,17,15,14,13, + 14,15,17,18,17,15,15,16,16,18,20,18,17,18,17,18, + 19,18,17,16,15,16,17,18,17,16,15,14,15,16,18,16, + 15,14,13,14,15,16,17,16,15,14,14,16,17,18,16,15, + 15,16,17,18,19,17,16,16,17,19,18,18,18,16,15,16, + 17,18,16,15,14,14,14,15,17,16,14,13,12,13,14,17, + 15,13,12,11,12,14,15,16,14,13,12,13,14,16,17,16, + 14,13,14,15,17,19,17,16,15,16,16,18,17,16,15,14, + 15,15,17,16,14,13,12,13,14,16,15,13,11,11,11,13, + 14,14,12,10, 9,10,12,14,15,13,11,11,11,13,15,16, + 15,13,12,13,14,16,17,16,14,14,14,16,17,16,15,14, + 13,14,15,16,15,14,12,11,12,14,15,14,12,11,10,11, + 12,14,13,11,10, 8,10,11,13,14,12,11,10,11,12,14, + 15,13,12,11,12,14,15,17,15,14,13,14,15,16,18,16, + 14,14,14,16,17,15,14,13,12,13,14,16,15,13,11,10, + 11,13,14,14,12,10, 9,11,12,14,15,13,11,10,11,13, + 15,16,14,13,12,13,14,15,16,16,15,14,14,16,19,19, + 18,16,15,16,17,18,18,16,14,14,14,15,17,16,14,13, + 12,13,14,16,15,13,12,11,12,13,15,16,14,13,12,13, + 14,16,16,16,14,13,14,16,16,18,17,16,15,16,16,20, + 19,17,17,16,18,17,19,17,17,16,15,16,17,20,17,16, + 15,14,15,16,18,16,15,14,13,14,15,17,17,16,14,14, + 15,16,17,18,17,16,15,16,17,19,20,18,17,16,18,17, + 17, +}; + +static double _vq_quantthresh_res0a_4[] = { + -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, +}; + +static long _vq_quantmap_res0a_4[] = { + 0, 1, 2, 3, 4, 5, 6, +}; + +static encode_aux_threshmatch _vq_aux_res0a_4 = { + _vq_quantthresh_res0a_4, + _vq_quantmap_res0a_4, + 7, + 7 +}; + +static static_codebook _vq_book_res0a_4 = { + 4, 2401, + _vq_lengthlist_res0a_4, + 1, -533200896, 1611661312, 3, 0, + _vq_quantlist_res0a_4, + NULL, + &_vq_aux_res0a_4 +}; + + +#endif diff --git a/include/vorbis/book/res0a_5.vqh b/include/vorbis/book/res0a_5.vqh new file mode 100644 index 00000000..8b90e46c --- /dev/null +++ b/include/vorbis/book/res0a_5.vqh @@ -0,0 +1,98 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_5_VQH_ +#define _V_res0a_5_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_5[] = { + 0, + 1, + 2, + 3, + 4, +}; + +static long _vq_lengthlist_res0a_5[] = { + 15,14,13,14,16,14,12,11,12,14,13,12,11,12,13,14, + 12,12,12,14,16,14,13,14,16,14,12,12,12,14,12,10, + 9,11,13,11,10, 8,10,12,12,10,10,10,12,14,12,12, + 12,14,13,12,11,12,13,11,10, 9,10,12,11, 8, 7, 9, + 11,11,10, 8,10,12,13,12,11,11,13,14,12,12,12,14, + 12,11,10,10,12,12,10, 8,10,11,12,10,10,11,12,14, + 12,12,12,14,15,14,13,14,15,14,12,11,12,14,13,11, + 11,12,13,14,12,12,12,14,15,14,13,14,16,13,12,11, + 12,14,12,10, 9,10,12,12,10, 9,10,12,13,11,10,11, + 12,14,12,12,12,14,12,10,10,11,12,10, 9, 8, 9,11, + 10, 8, 7, 8,10,11, 9, 8, 9,10,12,10,10,10,12,11, + 10, 9,10,12,10, 8, 7, 8,10, 8, 7, 6, 7, 8, 9, 8, + 7, 8, 9,12,10, 9,10,12,12,11,10,10,12,11, 9, 8, + 9,10,10, 8, 7, 8,10,10, 9, 8, 9,10,12,10,10,10, + 12,14,12,12,12,13,12,10,10,10,12,12,10, 8,10,12, + 12,10,10,10,12,14,12,12,12,14,13,11,11,12,13,11, + 10, 8,10,12,11, 9, 7, 9,11,12,10, 8,10,12,13,11, + 11,12,13,11, 9, 8,10,11, 9, 8, 7, 8, 9, 8, 7, 6, + 7, 8, 9, 8, 7, 8, 9,11, 9, 9, 9,12,10, 8, 7, 8, + 11, 8, 7, 6, 7, 8, 7, 6, 4, 6, 7, 8, 7, 6, 7, 8, + 10, 8, 7, 8,10,11,10, 9, 9,11, 9, 8, 7, 8, 9, 8, + 7, 6, 7, 8, 9, 8, 7, 8, 9,11, 9, 9, 9,11,13,12, + 11,11,13,12,10, 8,10,12,11, 8, 7, 9,11,11,10, 8, + 10,11,13,12,11,11,13,14,12,11,12,14,12,11,10,10, + 12,12,10, 9,10,11,12,10,10,10,12,14,12,11,12,14, + 12,10,10,11,12,10, 9, 8, 9,10,10, 8, 7, 8, 9,10, + 9, 8, 9,10,12,10,10,11,12,11,10, 9,10,11, 9, 8, + 7, 8,10, 8, 7, 6, 7, 8, 9, 8, 7, 8, 9,12,10, 9, + 10,11,12,10,10,10,12,10, 9, 8, 9,10,10, 8, 7, 8, + 10,10, 9, 8, 9,10,12,10,10,10,12,14,12,12,12,14, + 12,10,10,11,12,12,10, 9,10,12,12,10, 9,10,12,14, + 12,11,12,14,15,14,13,14,15,14,12,11,12,14,13,11, + 11,11,13,14,12,12,12,14,15,14,13,14,16,14,12,12, + 12,14,12,10, 9,10,12,12,10, 8,10,12,12,10,10,10, + 12,14,12,12,12,14,13,12,11,12,13,12,10, 8,10,12, + 11, 9, 7, 8,11,12,10, 9,10,11,13,12,11,12,13,14, + 12,12,12,14,12,10, 9,11,12,12, 9, 8,10,12,12,10, + 10,10,12,14,12,11,12,14,16,14,13,14,16,14,12,12, + 12,14,13,12,10,12,13,14,12,11,12,14,16,14,13,14, + 15, +}; + +static double _vq_quantthresh_res0a_5[] = { + -1.5, -0.5, 0.5, 1.5, +}; + +static long _vq_quantmap_res0a_5[] = { + 0, 1, 2, 3, 4, +}; + +static encode_aux_threshmatch _vq_aux_res0a_5 = { + _vq_quantthresh_res0a_5, + _vq_quantmap_res0a_5, + 5, + 5 +}; + +static static_codebook _vq_book_res0a_5 = { + 4, 625, + _vq_lengthlist_res0a_5, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0a_5, + NULL, + &_vq_aux_res0a_5 +}; + + +#endif diff --git a/include/vorbis/book/res0a_6.vqh b/include/vorbis/book/res0a_6.vqh new file mode 100644 index 00000000..6902a34c --- /dev/null +++ b/include/vorbis/book/res0a_6.vqh @@ -0,0 +1,62 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0a_6_VQH_ +#define _V_res0a_6_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0a_6[] = { + 0, + 1, + 2, +}; + +static long _vq_lengthlist_res0a_6[] = { + 10, 8,10, 8, 7, 8,10, 8,10, 8, 7, 8, 7, 4, 7, 8, + 7, 8,10, 8,10, 8, 7, 8,10, 8,10, 8, 7, 8, 7, 5, + 7, 8, 7, 8, 6, 5, 7, 4, 2, 4, 7, 4, 6, 8, 7, 8, + 7, 5, 7, 8, 7, 8,10, 8,10, 8, 7, 8,10, 8,10, 8, + 7, 8, 7, 4, 7, 8, 7, 8,10, 8,10, 8, 7, 8,10, 8, + 10, +}; + +static double _vq_quantthresh_res0a_6[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0a_6[] = { + 0, 1, 2, +}; + +static encode_aux_threshmatch _vq_aux_res0a_6 = { + _vq_quantthresh_res0a_6, + _vq_quantmap_res0a_6, + 3, + 3 +}; + +static static_codebook _vq_book_res0a_6 = { + 4, 81, + _vq_lengthlist_res0a_6, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0a_6, + NULL, + &_vq_aux_res0a_6 +}; + + +#endif diff --git a/include/vorbis/book/res0b_0.vqh b/include/vorbis/book/res0b_0.vqh new file mode 100644 index 00000000..8f8f4322 --- /dev/null +++ b/include/vorbis/book/res0b_0.vqh @@ -0,0 +1,132 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0b_0_VQH_ +#define _V_res0b_0_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_0[] = { + 0, + 8, + 14, + 20, + 25, + 30, + 34, + 37, + 40, + 42, + 44, + 46, + 48, + 50, + 52, + 54, + 56, + 58, + 60, + 63, + 66, + 70, + 75, + 80, + 86, + 92, + 100, +}; + +static long _vq_lengthlist_res0b_0[] = { + 19,19,19,19,19,19,19,19,19,19,18,17,16,14,17,18, + 18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19, + 19,18,18,19,17,18,17,15,13,16,17,18,17,17,17,19, + 19,19,19,19,19,19,19,19,19,19,17,17,17,17,17,18, + 16,15,14,12,13,15,16,16,16,17,18,18,19,19,19,19, + 19,19,19,18,17,16,16,15,16,15,15,15,14,12,10,12, + 13,14,15,16,16,16,16,18,19,19,19,19,16,17,15,16, + 15,13,13,13,13,13,13,12,11, 9,11,12,12,13,13,13, + 14,14,15,17,18,18,19,14,14,14,14,13,12,12,11,11, + 11,11,10, 9, 7, 9,10,11,11,11,11,12,12,13,16,17, + 17,17,14,14,14,14,13,11,11,11,11,11,11,10, 9, 8, + 9,10,11,11,11,11,11,12,13,15,16,18,18,14,14,13, + 13,13,11,11,11,11,11,11,10, 9, 8, 9,10,11,11,11, + 11,11,11,13,15,17,16,16,14,14,14,13,12,11,11,11, + 11,11,10,10, 9, 8, 9,10,10,11,11,11,11,11,13,15, + 16,16,17,13,14,14,14,12,11,11,11,10,10,10, 9, 9, + 7, 9, 9,10,10,10,11,11,11,12,14,15,17,16,13,14, + 14,13,12,10,10,10,10,10, 9, 9, 8, 7, 8, 9, 9,10, + 10,10,10,10,12,14,15,16,18,13,13,13,12,11, 9, 9, + 9, 9, 9, 9, 8, 7, 6, 7, 8, 9, 9, 9, 9, 9,10,11, + 13,15,18,17,13,13,12,11,10, 8, 8, 9, 8, 8, 8, 7, + 6, 5, 6, 7, 8, 8, 8, 9, 9, 8,10,12,14,15,17,12, + 12,10, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 3, 4, 6, 7, + 7, 7, 8, 7, 7, 8, 9,11,12,13,13,13,12,11,10, 8, + 9, 9, 8, 8, 8, 7, 6, 5, 6, 7, 8, 8, 8, 9, 9, 8, + 10,12,13,15,16,13,14,13,12,11, 9,10, 9, 9, 9, 9, + 8, 7, 6, 7, 8, 9, 9, 9,10, 9, 9,11,13,15,16,18, + 13,13,13,13,12,10,10,10,10,10, 9, 9, 8, 7, 8, 9, + 9,10,10,10,10,10,12,14,15,16,19,13,14,13,14,12, + 11,11,11,10,10,10, 9, 9, 7, 9, 9,10,10,10,11,11, + 11,12,14,16,18,18,13,14,14,14,12,11,11,11,11,11, + 10,10, 9, 8, 9,10,10,11,11,11,11,11,13,15,16,18, + 17,14,14,13,14,13,11,11,11,11,11,10,10, 9, 8, 9, + 10,11,11,11,11,11,11,13,15,16,18,18,14,14,14,14, + 13,11,11,11,11,11,11,10, 9, 8, 9,10,11,11,11,11, + 11,12,13,15,16,18,17,14,14,14,13,13,12,12,11,11, + 11,11,10, 9, 7, 9,10,11,11,11,11,12,12,13,15,16, + 17,18,16,16,16,15,15,13,13,13,13,13,12,12,10, 9, + 11,12,13,13,13,13,13,14,15,18,18,19,19,18,18,17, + 18,16,16,16,17,15,16,14,14,12,10,12,13,15,15,15, + 15,16,17,17,19,18,19,19,19,19,19,19,18,18,17,18, + 18,16,16,16,14,11,14,15,16,17,17,16,17,17,19,19, + 19,19,19,19,19,19,19,19,18,18,18,16,18,19,16,16, + 13,15,16,17,18,19,18,18,18,19,19,19,19,19,19,19, + 19,19,19,18,18,19,19,18,18,16,17,14,16,18,18,19, + 18,19,19,19,19,19,19,19,19, +}; + +static double _vq_quantthresh_res0b_0[] = { + -46, -39, -33, -28, -23, -18, -14.5, -11.5, + -9, -7, -5, -3, -1, 1, 3, 5, + 7, 9, 11.5, 14.5, 18, 23, 28, 33, + 39, 46, +}; + +static long _vq_quantmap_res0b_0[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, +}; + +static encode_aux_threshmatch _vq_aux_res0b_0 = { + _vq_quantthresh_res0b_0, + _vq_quantmap_res0b_0, + 27, + 27 +}; + +static static_codebook _vq_book_res0b_0 = { + 2, 729, + _vq_lengthlist_res0b_0, + 1, -524746752, 1611661312, 7, 0, + _vq_quantlist_res0b_0, + NULL, + &_vq_aux_res0b_0 +}; + + +#endif diff --git a/include/vorbis/book/res0b_1.vqh b/include/vorbis/book/res0b_1.vqh new file mode 100644 index 00000000..636dddcc --- /dev/null +++ b/include/vorbis/book/res0b_1.vqh @@ -0,0 +1,85 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0b_1_VQH_ +#define _V_res0b_1_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_1[] = { + 0, + 3, + 6, + 8, + 10, + 12, + 14, + 16, + 18, + 20, + 22, + 24, + 26, + 29, + 32, +}; + +static long _vq_lengthlist_res0b_1[] = { + 14,13,13,13,13,12,10, 8,10,12,13,13,13,13,14,13, + 12,12,12,11,11, 9, 7, 9,11,11,12,12,12,13,13,12, + 12,12,11,11, 9, 7, 9,11,11,12,12,12,13,12,11,12, + 12,11,11, 9, 8, 9,11,12,12,12,12,12,12,11,11,11, + 11,10, 8, 7, 9,10,11,11,11,11,12,11,10,10,10,10, + 9, 8, 6, 7, 9,10,10,10,10,11, 9, 8, 8, 9, 8, 7, + 6, 4, 6, 7, 8, 9, 9, 8, 9, 8, 6, 7, 7, 7, 6, 4, + 2, 4, 6, 6, 7, 7, 6, 8, 9, 8, 9, 9, 8, 7, 6, 4, + 6, 7, 8, 9, 9, 8, 9,11,10,10,10,10, 9, 7, 6, 7, + 9,10,10,10,10,11,12,11,11,11,11,10, 9, 7, 8,10, + 11,11,11,11,12,12,12,12,12,11,11, 9, 8, 9,11,11, + 12,12,11,12,12,12,12,12,11,11, 9, 7, 9,11,11,12, + 12,12,12,13,12,12,12,12,11, 9, 7, 9,10,11,12,12, + 12,13,14,13,13,13,13,12,10, 8,10,12,13,13,13,13, + 14, +}; + +static double _vq_quantthresh_res0b_1[] = { + -14.5, -11.5, -9, -7, -5, -3, -1, 1, + 3, 5, 7, 9, 11.5, 14.5, +}; + +static long _vq_quantmap_res0b_1[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, +}; + +static encode_aux_threshmatch _vq_aux_res0b_1 = { + _vq_quantthresh_res0b_1, + _vq_quantmap_res0b_1, + 15, + 15 +}; + +static static_codebook _vq_book_res0b_1 = { + 2, 225, + _vq_lengthlist_res0b_1, + 1, -527433728, 1611661312, 6, 0, + _vq_quantlist_res0b_1, + NULL, + &_vq_aux_res0b_1 +}; + + +#endif diff --git a/include/vorbis/book/res0b_2.vqh b/include/vorbis/book/res0b_2.vqh new file mode 100644 index 00000000..48069951 --- /dev/null +++ b/include/vorbis/book/res0b_2.vqh @@ -0,0 +1,74 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0b_2_VQH_ +#define _V_res0b_2_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_2[] = { + 0, + 2, + 4, + 6, + 8, + 10, + 12, + 14, + 16, + 18, + 20, +}; + +static long _vq_lengthlist_res0b_2[] = { + 16,14,13,12,10, 8,10,12,13,14,16,14,13,12,10, 8, + 6, 8,10,12,13,14,13,12,11,10, 8, 6, 8,10,11,12, + 13,12,10,10, 9, 7, 6, 7, 9,10,10,12,10, 8, 8, 7, + 6, 4, 5, 7, 8, 8,10, 7, 6, 6, 5, 4, 2, 4, 5, 6, + 6, 7,10, 8, 8, 7, 5, 4, 6, 7, 8, 8,10,12,10,10, + 9, 7, 6, 7, 9,10,10,12,13,12,11,10, 8, 6, 8,10, + 11,12,13,14,13,12,10, 8, 6, 8,10,12,13,14,16,14, + 14,12,10, 8,10,12,13,14,16, +}; + +static double _vq_quantthresh_res0b_2[] = { + -9, -7, -5, -3, -1, 1, 3, 5, + 7, 9, +}; + +static long _vq_quantmap_res0b_2[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, +}; + +static encode_aux_threshmatch _vq_aux_res0b_2 = { + _vq_quantthresh_res0b_2, + _vq_quantmap_res0b_2, + 11, + 11 +}; + +static static_codebook _vq_book_res0b_2 = { + 2, 121, + _vq_lengthlist_res0b_2, + 1, -529268736, 1611661312, 5, 0, + _vq_quantlist_res0b_2, + NULL, + &_vq_aux_res0b_2 +}; + + +#endif diff --git a/include/vorbis/book/res0b_3.vqh b/include/vorbis/book/res0b_3.vqh new file mode 100644 index 00000000..e272e46c --- /dev/null +++ b/include/vorbis/book/res0b_3.vqh @@ -0,0 +1,211 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0b_3_VQH_ +#define _V_res0b_3_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_3[] = { + 0, + 2, + 4, + 6, + 8, + 10, + 12, +}; + +static long _vq_lengthlist_res0b_3[] = { + 21,21,20,20,21,21,21,21,19,18,18,19,20,19,20,19, + 18,17,18,19,20,20,19,17,15,17,18,19,20,20,18,17, + 19,18,19,20,20,20,19,19,20,20,20,20,20,19,20,19, + 20,20,20,18,19,19,19,20,20,19,17,17,19,19,19,19, + 18,16,15,16,18,19,18,17,15,13,15,17,19,19,18,16, + 15,16,17,19,19,19,18,17,18,19,20,19,19,20,19,20, + 19,20,20,19,20,17,18,19,20,19,19,16,15,17,19,18, + 18,17,14,13,14,17,17,17,15,13,11,13,15,17,19,17, + 14,13,14,16,18,19,18,17,15,17,18,20,19,19,18,17, + 19,19,20,19,19,17,16,18,19,19,18,18,15,13,15,17, + 20,17,15,13,11,13,15,17,15,13,11, 9,11,13,15,17, + 15,13,11,13,15,17,19,17,15,13,15,16,19,19,18,17, + 16,17,20,20,20,20,18,18,18,18,20,20,17,16,15,16, + 19,18,18,16,14,13,14,16,17,16,15,13,11,13,15,16, + 19,17,14,13,14,16,18,19,18,16,15,17,19,18,19,19, + 18,16,19,19,20,20,20,20,18,19,19,20,20,19,18,17, + 18,18,20,19,17,17,14,16,17,19,18,18,15,13,15,17, + 19,19,18,16,15,16,18,19,20,20,18,17,19,19,20,20, + 20,20,17,20,20,20,20,20,19,20,20,19,20,19,20,19, + 19,19,20,20,20,20,19,16,18,19,20,20,19,17,16,17, + 19,19,20,19,19,16,18,19,20,20,20,20,18,20,19,20, + 20,20,20,19,20,20,20,20,20,18,18,20,20,20,20,19, + 17,16,19,19,19,19,18,16,15,16,18,20,19,17,15,13, + 15,17,19,20,19,16,15,17,18,20,19,19,18,18,18,20, + 20,20,19,18,19,19,20,20,20,19,19,17,18,19,20,19, + 17,15,14,17,17,18,19,16,14,13,14,17,18,17,15,13, + 11,13,15,17,18,16,14,13,14,16,18,20,18,16,15,16, + 17,19,20,19,19,17,18,19,19,19,17,16,15,17,19,19, + 19,16,14,13,14,16,18,17,14,12,10,12,14,16,15,13, + 10, 9,11,13,15,17,14,12,11,12,14,16,18,16,14,13, + 14,17,17,19,18,17,15,16,18,19,19,17,15,13,15,17, + 19,17,15,13,11,13,15,18,15,13,11, 9,11,13,15,13, + 11, 9, 7, 9,11,13,15,13,11, 9,11,13,15,18,15,13, + 11,13,15,17,18,18,15,14,15,17,18,20,18,17,16,16, + 18,19,20,16,14,13,14,16,18,17,15,12,10,12,14,17, + 15,13,11, 9,10,13,15,17,14,12,11,12,14,16,19,16, + 14,13,14,17,18,20,19,16,15,16,17,20,20,19,19,17, + 18,19,20,19,18,16,14,16,16,20,19,16,14,13,14,16, + 18,17,15,13,11,13,15,17,17,16,14,13,14,16,19,19, + 19,16,15,16,17,19,19,19,18,18,18,19,20,20,20,19, + 18,20,20,20,20,19,18,17,18,19,20,19,18,16,15,17, + 18,20,17,18,15,13,15,17,18,19,18,16,15,16,17,20, + 20,20,19,18,17,18,20,20,20,19,19,19,20,20,20,18, + 17,17,18,19,20,20,17,16,15,17,18,19,18,16,14,13, + 14,16,19,17,15,13,11,13,15,17,19,17,14,13,14,16, + 19,19,19,16,15,16,18,20,20,19,19,17,19,19,20,18, + 17,16,15,16,17,19,19,16,14,13,14,16,18,16,14,12, + 10,12,14,16,15,13,11, 9,10,13,15,17,14,12,10,12, + 14,17,17,16,14,13,14,16,19,20,18,16,15,16,18,18, + 17,16,15,13,14,17,18,16,14,12,11,12,14,16,14,12, + 10, 9,10,12,14,13,11, 9, 7, 9,10,13,15,12,10, 9, + 10,12,14,16,14,12,11,12,14,16,19,16,14,13,14,16, + 18,17,15,13,11,13,15,17,15,13,11, 9,11,13,15,12, + 10, 9, 7, 9,10,13,11, 9, 7, 6, 7, 9,11,13,10, 9, + 7, 9,10,13,15,12,11, 9,11,13,15,17,15,13,11,13, + 15,17,18,16,14,13,14,16,18,17,14,12,10,12,14,17, + 14,12,10, 9,10,12,14,13,10, 9, 7, 9,11,13,14,12, + 10, 9,10,12,14,17,14,12,11,12,14,16,18,16,14,13, + 14,16,19,19,20,16,15,16,18,18,18,16,14,13,14,15, + 17,17,14,12,10,12,14,16,15,13,11, 9,11,13,15,16, + 14,12,10,12,14,16,17,16,14,13,14,15,19,19,19,16, + 15,16,18,19,20,19,19,16,18,18,20,19,18,17,15,16, + 18,19,19,16,14,12,14,16,19,18,15,13,11,13,15,16, + 18,16,14,13,14,16,18,20,18,16,15,16,18,19,20,19, + 20,17,17,19,20,20,19,17,15,17,18,20,18,17,15,13, + 15,17,18,17,15,12,11,13,15,17,15,13,11, 9,11,13, + 15,17,15,13,11,12,15,17,19,17,14,13,15,16,18,20, + 19,17,15,18,18,19,17,16,15,13,15,16,19,16,15,13, + 11,13,15,17,15,13,10, 9,10,13,15,13,11, 9, 7, 9, + 11,13,14,13,10, 9,10,13,15,17,15,13,11,13,15,16, + 18,17,15,13,15,17,19,17,15,12,11,12,15,16,14,12, + 10, 9,10,12,15,13,10, 9, 7, 9,10,12,11, 9, 7, 5, + 7, 9,11,12,10, 9, 7, 9,10,12,14,12,10, 9,10,13, + 14,17,15,12,11,13,15,16,15,13,11, 8,11,13,15,13, + 11, 9, 7, 9,11,13,10, 8, 7, 5, 7, 8,10, 8, 6, 5, + 3, 5, 6, 8,10, 8, 7, 5, 7, 8,10,13,11, 9, 7, 9, + 11,13,15,13,11, 8,11,13,15,17,15,13,11,12,15,16, + 15,12,10, 9,10,12,15,12,10, 9, 7, 9,10,12,11, 9, + 7, 5, 7, 9,11,12,10, 9, 7, 9,10,12,14,13,10, 9, + 10,12,14,16,15,12,11,12,15,16,19,17,15,13,15,17, + 18,17,15,12,11,13,15,17,15,13,10, 9,11,13,15,13, + 11, 9, 7, 9,11,13,15,13,10, 9,10,12,15,17,15,13, + 11,12,14,17,18,17,15,13,15,17,18,20,19,17,15,17, + 19,20,19,17,15,13,15,17,18,17,15,13,11,13,15,17, + 15,13,11, 8,11,13,15,16,15,13,11,13,15,16,19,17, + 15,13,15,16,18,20,18,16,15,16,19,18,20,19,19,17, + 17,20,20,19,18,17,15,17,19,19,18,16,14,13,14,17, + 18,16,15,13,11,13,15,17,18,17,14,13,14,16,19,18, + 18,16,15,16,18,18,20,20,18,18,17,19,20,19,17,16, + 15,17,19,19,18,16,14,13,14,17,18,16,14,12,10,12, + 14,16,15,13,11, 9,11,13,15,16,14,12,10,12,14,17, + 18,16,14,12,14,16,18,18,18,17,15,16,19,19,19,16, + 15,13,14,16,19,16,14,12,11,12,14,16,14,12,10, 9, + 10,12,14,12,11, 9, 7, 9,10,12,14,12,10, 9,10,12, + 14,16,14,12,11,12,14,17,19,16,14,13,14,17,18,17, + 15,13,11,13,15,17,15,13,11, 9,10,12,14,12,10, 9, + 7, 9,10,12,11, 9, 7, 6, 7, 9,11,12,10, 9, 7, 9, + 10,12,15,13,10, 9,10,13,15,16,15,13,11,13,15,17, + 19,16,14,13,14,16,18,16,14,12,11,12,14,16,14,12, + 10, 9,10,12,14,13,11, 9, 7, 9,10,13,14,12,10, 9, + 10,12,14,16,14,12,10,12,14,16,18,16,14,13,14,16, + 18,19,17,16,16,16,19,20,17,16,14,13,14,16,18,16, + 14,12,10,12,14,17,15,13,11, 9,11,13,15,16,14,12, + 10,12,14,16,18,16,14,12,13,16,19,19,18,17,15,16, + 17,20,20,20,17,17,18,20,20,20,18,16,15,16,18,19, + 18,16,14,13,14,16,18,17,15,13,11,13,15,17,18,16, + 14,13,15,16,19,19,18,17,15,16,19,20,20,18,18,18, + 18,19,19,20,19,19,19,20,20,19,20,18,19,17,18,18, + 19,20,18,16,15,16,19,18,19,17,15,13,15,16,20,20, + 18,16,15,16,19,19,20,18,18,17,18,19,20,20,19,19, + 18,20,20,20,19,19,17,17,18,19,20,18,19,16,15,16, + 19,20,18,16,14,13,14,16,18,16,15,13,11,13,15,17, + 19,16,14,13,14,16,18,18,17,16,15,16,18,19,19,20, + 19,17,18,19,20,20,18,17,15,16,18,18,19,16,14,13, + 14,16,18,17,14,12,11,12,14,17,15,13,11, 9,11,13, + 15,17,14,12,10,12,14,16,18,16,14,13,14,16,17,19, + 18,16,15,16,19,20,17,17,15,13,15,17,19,16,15,13, + 11,13,15,17,15,13,11, 9,11,13,15,13,11, 9, 7, 9, + 11,13,15,13,11, 9,11,13,15,17,15,13,11,13,15,17, + 19,18,15,14,15,17,18,20,18,16,15,17,17,19,18,16, + 14,13,14,16,19,16,14,12,11,12,15,16,15,13,10, 9, + 11,13,15,16,14,12,10,12,14,16,18,16,14,13,14,16, + 19,20,19,17,16,16,19,19,19,19,18,16,18,18,20,20, + 17,16,14,16,18,19,19,16,14,13,14,16,19,17,15,13, + 11,13,15,18,17,16,14,12,14,16,18,20,18,16,15,15, + 16,20,20,19,17,17,18,20,20,20,20,20,19,20,20,20, + 19,19,17,17,19,20,20,19,18,16,15,16,18,20,20,17, + 15,13,15,17,19,20,18,17,15,16,18,20,20,20,18,18, + 17,18,20,20,20,19,18,20,19,20,20,20,19,20,20,20, + 20,20,20,20,18,20,20,20,20,20,19,17,19,19,20,20, + 18,17,15,17,19,19,20,19,18,17,18,19,20,20,20,19, + 18,19,20,20,20,19,20,20,20,20,20,20,20,20,18,20, + 20,20,20,19,18,17,18,20,20,19,18,16,15,17,18,20, + 18,17,15,13,15,17,18,19,18,16,15,16,17,20,20,19, + 18,16,17,18,19,20,19,19,19,20,20,20,20,20,19,17, + 20,20,20,20,18,16,15,16,18,19,18,17,14,13,14,16, + 18,17,15,13,11,13,15,17,18,16,14,13,14,17,17,19, + 18,16,15,16,17,19,20,19,19,17,19,19,20,19,20,17, + 16,17,19,20,19,17,15,13,15,17,20,17,15,13,11,13, + 15,17,15,13,11, 9,11,13,15,16,15,13,11,13,15,17, + 18,18,15,13,15,18,19,19,19,17,16,17,18,20,19,19, + 17,17,19,19,20,20,18,17,15,16,18,20,18,16,14,13, + 14,16,19,17,15,13,11,13,15,16,18,16,14,13,14,16, + 19,19,18,16,15,17,18,20,20,20,18,17,19,19,20,20, + 20,19,18,20,20,19,20,19,19,17,19,20,20,19,18,16, + 15,17,19,19,18,18,15,13,15,17,20,19,19,16,15,16, + 17,20,19,19,17,17,17,19,20,20,20,19,20,19,19,20, + 20,20,20,20,20,20,20,20,20,20,20,19,19,20,20,19, + 18,17,17,20,20,19,18,18,15,17,19,19,18,19,19,16, + 19,19,20,20,20,19,19,19,20,20,20,20,19,20,19,20, + 20, +}; + +static double _vq_quantthresh_res0b_3[] = { + -5, -3, -1, 1, 3, 5, +}; + +static long _vq_quantmap_res0b_3[] = { + 0, 1, 2, 3, 4, 5, 6, +}; + +static encode_aux_threshmatch _vq_aux_res0b_3 = { + _vq_quantthresh_res0b_3, + _vq_quantmap_res0b_3, + 7, + 7 +}; + +static static_codebook _vq_book_res0b_3 = { + 4, 2401, + _vq_lengthlist_res0b_3, + 1, -531103744, 1611661312, 4, 0, + _vq_quantlist_res0b_3, + NULL, + &_vq_aux_res0b_3 +}; + + +#endif diff --git a/include/vorbis/book/res0b_4.vqh b/include/vorbis/book/res0b_4.vqh new file mode 100644 index 00000000..ff4cbdaa --- /dev/null +++ b/include/vorbis/book/res0b_4.vqh @@ -0,0 +1,98 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0b_4_VQH_ +#define _V_res0b_4_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_4[] = { + 0, + 1, + 3, + 5, + 6, +}; + +static long _vq_lengthlist_res0b_4[] = { + 14,14,13,15,16,14,14,12,14,15,13,12, 9,12,13,14, + 14,12,14,15,15,15,13,15,16,15,13,12,14,15,14,12, + 10,13,14,12,11, 8,10,12,14,13,10,12,13,15,14,12, + 14,15,13,12,10,12,13,12,11, 8,11,12,10, 8, 6, 8, + 10,12,11, 8,11,12,13,12,10,12,13,14,14,12,14,15, + 14,13,11,13,14,12,11, 8,11,12,14,13,10,13,14,15, + 14,12,14,15,16,15,13,14,15,15,14,11,13,15,13,12, + 9,12,13,14,14,12,14,15,15,15,13,15,16,14,13,11, + 14,15,14,12,10,12,14,12,10, 8,10,12,14,12,11,12, + 14,15,14,12,13,14,13,12,10,13,14,12,12,10,12,13, + 11,10, 8,10,11,13,12,10,12,12,13,12,11,12,14,12, + 10, 8,11,12,10,10, 8,10,11, 8, 8, 5, 8, 8,11,10, + 8,10,10,11,11, 8,10,12,14,12,10,12,13,13,12,10, + 12,13,10,10, 8,10,11,12,12,10,12,13,13,13,11,13, + 14,15,13,11,13,14,13,13,10,13,14,12,10, 8,11,12, + 14,13,10,12,14,15,14,12,13,15,12,11, 9,12,13,12, + 10, 8,11,12, 9, 8, 6, 8, 9,12,10, 8,10,12,12,11, + 9,12,13,11,10, 8,10,11,10,10, 8,10,10, 8, 8, 5, + 8, 8,10,10, 8,10,10,11,10, 8,10,11, 9, 8, 6, 8, + 9, 8, 7, 5, 7, 8, 6, 5, 3, 5, 6, 8, 8, 5, 7, 8, + 9, 8, 6, 8, 9,11,10, 8,10,11,10,10, 8,10,10, 8, + 8, 5, 8, 8,10,10, 7,10,10,11,10, 8,10,11,13,12, + 9,11,13,11,10, 8,10,12,10, 8, 6, 8,10,12,10, 8, + 10,12,13,12, 9,12,12,15,14,12,13,15,14,12,11,13, + 14,12,10, 8,10,12,14,13,10,13,13,14,13,11,14,15, + 14,13,11,12,14,13,12,10,12,12,10,10, 8,10,10,13, + 12,10,12,13,13,12,10,13,14,12,10, 8,10,12,10,10, + 8,10,10, 8, 8, 5, 8, 8,11,10, 8,10,10,12,11, 8, + 11,12,14,13,10,12,14,12,12,10,12,13,10,10, 8,10, + 11,12,12,10,12,12,13,13,10,12,13,15,14,12,14,15, + 14,12,10,12,14,12,10, 8,11,12,14,13,10,12,14,15, + 14,12,13,14,16,15,13,15,16,15,13,12,14,15,13,12, + 9,12,13,15,13,11,13,15,15,14,13,15,16,15,14,12, + 14,15,14,13,11,13,14,12,11, 8,11,12,14,13,10,13, + 14,15,14,12,14,15,13,12,10,12,13,12,11, 8,10,12, + 10, 8, 6, 8,10,12,11, 8,11,12,13,12,10,12,13,15, + 14,12,14,15,14,13,10,13,14,12,10, 8,11,12,14,13, + 10,12,14,15,14,12,13,15,16,15,13,15,16,14,14,12, + 14,15,13,12, 9,12,13,15,14,11,13,15,16,15,13,14, + 15, +}; + +static double _vq_quantthresh_res0b_4[] = { + -2, -1, 1, 2, +}; + +static long _vq_quantmap_res0b_4[] = { + 0, 1, 2, 3, 4, +}; + +static encode_aux_threshmatch _vq_aux_res0b_4 = { + _vq_quantthresh_res0b_4, + _vq_quantmap_res0b_4, + 5, + 5 +}; + +static static_codebook _vq_book_res0b_4 = { + 4, 625, + _vq_lengthlist_res0b_4, + 1, -533200896, 1611661312, 3, 0, + _vq_quantlist_res0b_4, + NULL, + &_vq_aux_res0b_4 +}; + + +#endif diff --git a/include/vorbis/book/res0b_5.vqh b/include/vorbis/book/res0b_5.vqh new file mode 100644 index 00000000..b7f8e9f4 --- /dev/null +++ b/include/vorbis/book/res0b_5.vqh @@ -0,0 +1,62 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/latticebuild + + ********************************************************************/ + +#ifndef _V_res0b_5_VQH_ +#define _V_res0b_5_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_5[] = { + 0, + 2, + 4, +}; + +static long _vq_lengthlist_res0b_5[] = { + 11, 9,12, 9, 7, 9,12, 9,12, 9, 7,10, 7, 4, 7, 9, + 7, 9,12, 9,11, 9, 7, 9,12, 9,12, 9, 7, 9, 7, 4, + 7, 9, 7, 9, 7, 4, 7, 4, 2, 4, 7, 4, 7, 9, 7, 9, + 7, 4, 7, 9, 7, 9,12, 9,12,10, 7, 9,11, 9,12, 9, + 7,10, 7, 4, 7,10, 7, 9,12, 9,12, 9, 7,10,12, 9, + 11, +}; + +static double _vq_quantthresh_res0b_5[] = { + -1, 1, +}; + +static long _vq_quantmap_res0b_5[] = { + 0, 1, 2, +}; + +static encode_aux_threshmatch _vq_aux_res0b_5 = { + _vq_quantthresh_res0b_5, + _vq_quantmap_res0b_5, + 3, + 3 +}; + +static static_codebook _vq_book_res0b_5 = { + 4, 81, + _vq_lengthlist_res0b_5, + 1, -533725184, 1611661312, 3, 0, + _vq_quantlist_res0b_5, + NULL, + &_vq_aux_res0b_5 +}; + + +#endif diff --git a/include/vorbis/book/res0b_6.vqh b/include/vorbis/book/res0b_6.vqh new file mode 100644 index 00000000..35d34096 --- /dev/null +++ b/include/vorbis/book/res0b_6.vqh @@ -0,0 +1,166 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 * + * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: static codebook autogenerated by vq/somethingorother + + ********************************************************************/ + +#ifndef _V_res0b_6_VQH_ +#define _V_res0b_6_VQH_ +#include "vorbis/codebook.h" + +static long _vq_quantlist_res0b_6[] = { + 0, + 1, + 2, +}; + +static long _vq_lengthlist_res0b_6[] = { + 10, 8,10, 8, 7, 8,10, 8,10, 8, 6, 8, 7, 0, 4, 8, + 7, 8,10, 8,10, 8, 6, 8,10, 8,10, 8, 7, 8, 7, 0, + 6, 8, 7, 8, 4, 0, 6, 0, 2, 0, 6, 0, 6, 8, 6, 8, + 7, 0, 3, 8, 4, 8,10, 8,10, 8, 6, 8,10, 8,10, 8, + 6, 8, 6, 0, 4, 8, 7, 8,10, 8,10, 8, 6, 8,10, 8, + 10, +}; + +static double _vq_quantthresh_res0b_6[] = { + -0.5, 0.5, +}; + +static long _vq_quantmap_res0b_6[] = { + 0, 1, 2, +}; + +static encode_aux_threshmatch _vq_auxt_res0b_6 = { + _vq_quantthresh_res0b_6, + _vq_quantmap_res0b_6, + 3, + 3 +}; + +static long _vq_ptr0_res0b_6[] = { + -1, -2, -3, -4, -5, 4, -7, 28, + 40, -10, -11, 10, 38, -14, -15, 28, + 40, -18, 38, 40, -21, -22, -23, 10, + 40, -26, -27, 36, 46, -30, 40, 46, + -33, 22, -35, 40, 46, -38, -39, -40, + 4, -42, 12, 22, -45, -46, -47, 12, + 42, -50, 40, 42, -53, 30, 40, -56, + -57, -58, 30, -60, 40, 58, -63, -64, + 36, 48, -67, -68, 40, 66, -71, 48, + -73, -74, -75, -76, 4, -78, 14, 22, + -81, -82, -83, 14, 44, -86, 40, 44, + -89, 32, 40, -92, -93, -94, 32, -96, + 40, 58, -99, -100, 38, 50, -103, -104, + 40, 68, -107, 50, -109, -110, -111, -112, + 4, -114, 34, 40, -117, -118, -119, -120, + 16, 40, 40, -124, 34, 22, -127, -128, + -129, 16, -131, -132, 16, 44, 40, 44, + -137, -138, -139, -140, 34, -142, 40, 58, + -145, 40, 44, -148, 40, 42, -151, -152, + 22, -154, 40, -156, -157, 40, 52, -160, + 44, 52, 22, -164, 40, -166, 40, 70, +}; + +static long _vq_ptr1_res0b_6[] = { + -72, -37, -20, -9, -6, 40, -8, 58, + 58, -13, -12, 40, 40, -17, -16, 64, + 64, -19, 64, 64, -32, -25, -24, 46, + 46, -29, -28, 64, 64, -31, 64, 64, + -34, 46, -36, 76, 76, -55, -44, -41, + 40, -43, 40, 40, -52, -49, -48, 48, + 48, -51, 48, 48, -54, 42, 42, -62, + -59, 58, 66, -61, 66, 66, -66, -65, + 66, 66, -70, -69, 76, 76, 66, 76, + -108, -91, -80, -77, 40, -79, 40, 40, + -88, -85, -84, 50, 50, -87, 50, 50, + -90, 44, 44, -98, -95, 58, 68, -97, + 68, 68, -102, -101, 68, 68, -106, -105, + 76, 76, 68, 76, -126, -116, -113, 40, + 58, -115, 58, 58, -125, -123, -122, -121, + 44, 44, 42, 40, 44, 40, -150, -136, + -130, 42, -134, -133, 52, 52, -135, 52, + -147, -144, -141, 58, 70, -143, 70, 70, + -146, 70, 70, -149, 70, 70, -162, -153, + 52, -155, 42, -159, -158, 70, 70, -161, + 70, 70, -163, -165, 58, -167, 76, 76, +}; + +static long _vq_p_res0b_6[] = { + 144, 152, 112, 16, 16, 16, 112, 112, + 160, 40, 40, 40, 152, 112, 112, 112, + 160, 152, 152, 160, 40, 40, 40, 40, + 160, 144, 144, 144, 184, 160, 160, 184, + 88, 88, 160, 160, 184, 48, 16, 16, + 16, 48, 48, 88, 48, 48, 48, 48, + 168, 160, 160, 168, 120, 120, 160, 120, + 120, 120, 120, 160, 160, 232, 144, 144, + 144, 192, 160, 160, 160, 264, 192, 192, + 152, 56, 16, 16, 16, 56, 56, 88, + 56, 56, 56, 56, 176, 160, 160, 176, + 128, 128, 160, 128, 128, 128, 128, 160, + 160, 232, 152, 152, 152, 200, 160, 160, + 160, 272, 200, 200, 16, 16, 16, 16, + 16, 136, 136, 160, 64, 64, 64, 64, + 64, 160, 160, 136, 136, 88, 136, 64, + 168, 64, 64, 64, 64, 176, 160, 176, + 136, 136, 136, 136, 136, 160, 160, 232, + 160, 160, 176, 160, 160, 168, 208, 88, + 88, 168, 160, 160, 160, 160, 208, 176, + 176, 208, 88, 232, 160, 160, 160, 280, +}; + +static long _vq_q_res0b_6[] = { + 176, 168, 144, 40, 112, 160, 160, 232, + 232, 112, 152, 160, 160, 152, 160, 256, + 256, 160, 256, 256, 88, 144, 160, 184, + 184, 160, 184, 256, 256, 184, 256, 256, + 160, 184, 184, 304, 304, 144, 120, 48, + 160, 88, 160, 160, 120, 160, 168, 192, + 192, 168, 192, 192, 160, 168, 168, 144, + 160, 232, 264, 232, 264, 264, 160, 192, + 264, 264, 192, 264, 304, 304, 264, 304, + 168, 152, 128, 56, 160, 88, 160, 160, + 128, 160, 176, 200, 200, 176, 200, 200, + 160, 176, 176, 152, 160, 232, 272, 232, + 272, 272, 160, 200, 272, 272, 200, 272, + 304, 304, 272, 304, 280, 64, 136, 160, + 232, 160, 232, 232, 88, 136, 168, 160, + 176, 176, 168, 160, 176, 160, 304, 136, + 208, 168, 160, 176, 208, 208, 208, 208, + 168, 176, 160, 232, 280, 232, 280, 280, + 176, 280, 280, 168, 280, 280, 304, 160, + 208, 208, 168, 176, 208, 280, 280, 208, + 280, 280, 304, 280, 232, 280, 304, 304, +}; + +static encode_aux_nearestmatch _vq_auxn_res0b_6 = { + _vq_ptr0_res0b_6, + _vq_ptr1_res0b_6, + _vq_p_res0b_6, + _vq_q_res0b_6, + 168, 168 +}; + +static static_codebook _vq_book_res0b_6 = { + 4, 81, + _vq_lengthlist_res0b_6, + 1, -535822336, 1611661312, 2, 0, + _vq_quantlist_res0b_6, + &_vq_auxn_res0b_6, + &_vq_auxt_res0b_6, +}; + + +#endif diff --git a/include/vorbis/modes.h b/include/vorbis/modes.h index 9971e0b4..960edfa8 100644 --- a/include/vorbis/modes.h +++ b/include/vorbis/modes.h @@ -12,7 +12,7 @@ ******************************************************************** function: predefined encoding modes - last mod: $Id: modes.h,v 1.9.2.8 2000/05/04 23:08:08 xiphmont Exp $ + last mod: $Id: modes.h,v 1.9.2.9 2000/05/08 08:25:39 xiphmont Exp $ ********************************************************************/ @@ -25,8 +25,24 @@ #include "vorbis/book/lsp20_0.vqh" #include "vorbis/book/lsp32_0.vqh" -#include "vorbis/book/resaux0_short.vqh" -#include "vorbis/book/resaux0_long.vqh" +#include "vorbis/book/res0a0aux.vqh" +#include "vorbis/book/res0a1aux.vqh" + +#include "vorbis/book/res0a_0.vqh" +#include "vorbis/book/res0a_1.vqh" +#include "vorbis/book/res0a_2.vqh" +#include "vorbis/book/res0a_3.vqh" +#include "vorbis/book/res0a_4.vqh" +#include "vorbis/book/res0a_5.vqh" +#include "vorbis/book/res0a_6.vqh" + +#include "vorbis/book/res0b_0.vqh" +#include "vorbis/book/res0b_1.vqh" +#include "vorbis/book/res0b_2.vqh" +#include "vorbis/book/res0b_3.vqh" +#include "vorbis/book/res0b_4.vqh" +#include "vorbis/book/res0b_5.vqh" +#include "vorbis/book/res0b_6.vqh" /* A farily high quality setting mix */ static vorbis_info_psy _psy_set0={ @@ -43,7 +59,7 @@ static vorbis_info_psy _psy_set0={ {-35.,-40.,-60.,-80.,-95.}, {-35.,-40.,-60.,-80.,-95.}, {-35.,-40.,-60.,-80.,-95.}, - {-65.,-60.,-60.,-80.,-95.}, /* remember that el 1 is a 60 dB curve, not 40 */ + {-65.,-60.,-60.,-80.,-90.}, /* remember that el 1 is a 60 dB curve, not 40 */ 1,/*noisemaskp*/ {-100.,-100.,-100.,-200.,-200.}, /* this is the 500 Hz curve, which @@ -63,16 +79,14 @@ static vorbis_info_psy _psy_set0={ static vorbis_info_time0 _time_set0={0}; static vorbis_info_floor0 _floor_set0={20, 44100, 64, 12,150, 1, {0} }; static vorbis_info_floor0 _floor_set1={32, 44100, 256, 12,150, 1, {1} }; -static vorbis_info_residue0 _residue_set0={0, 128, 16,1,2, - {0}, - {0}, - {0}, - {}}; +static vorbis_info_residue0 _residue_set0={0, 128, 16,8,2, + {16.5,10.5,6.5,3.5,2.5,1.5,.5}, + {1,1,1,1,1,1,1,0}, + {4,5,6,7,8,9,10}}; static vorbis_info_residue0 _residue_set1={0,1024, 16,8,3, - {0}, - {0}, - {0}, - {}}; + {16.5,10.5,6.5,3.5,2.5,1.5,.5}, + {1,1,1,1,1,1,1,0}, + {4,5,6,7,8,9,10}}; static vorbis_info_mapping0 _mapping_set0={1, {0,0}, {0}, {0}, {0}, {0}}; static vorbis_info_mapping0 _mapping_set1={1, {0,0}, {0}, {1}, {1}, {0}}; static vorbis_info_mode _mode_set0={0,0,0,0}; @@ -85,7 +99,7 @@ vorbis_info info_A={ /* smallblock, largeblock */ {256, 2048}, /* modes,maps,times,floors,residues,books,psys */ - 2, 2, 1, 2, 2, 4, 1, + 2, 2, 1, 2, 2, 11, 1, /* modes */ {&_mode_set0,&_mode_set1}, /* maps */ @@ -100,16 +114,16 @@ vorbis_info info_A={ {&_vq_book_lsp20_0, /* 0 */ &_vq_book_lsp32_0, /* 1 */ - &_huff_book_resaux0_short, - &_huff_book_resaux0_long, + &_huff_book_res0a0aux, + &_huff_book_res0a1aux, - /*vq_book_res0_0a, - &_vq_book_res0_1a, - &_vq_book_res0_1a, - &_vq_book_res0_1a, - &_vq_book_res0_1a, - &_vq_book_res0_1a, - &_vq_book_res0_1a,*/ + &_vq_book_res0a_0, + &_vq_book_res0a_1, + &_vq_book_res0a_2, + &_vq_book_res0a_3, + &_vq_book_res0a_4, + &_vq_book_res0b_5, + &_vq_book_res0b_6, }, /* psy */ {&_psy_set0}, diff --git a/lib/envelope.c b/lib/envelope.c new file mode 100644 index 00000000..428a371d --- /dev/null +++ b/lib/envelope.c @@ -0,0 +1,99 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000 * + * by Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: PCM data envelope analysis and manipulation + last mod: $Id: envelope.c,v 1.15.4.1 2000/05/08 08:25:42 xiphmont Exp $ + + Preecho calculation. + + ********************************************************************/ + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <math.h> +#include "vorbis/codec.h" + +#include "os.h" +#include "mdct.h" +#include "envelope.h" +#include "bitwise.h" +#include "window.h" + +void _ve_envelope_init(envelope_lookup *e,int samples_per){ + int i; + + e->winlen=samples_per; + e->window=malloc(e->winlen*sizeof(double)); + mdct_init(&e->mdct,e->winlen); + + /* We just use a straight sin(x) window for this */ + for(i=0;i<e->winlen;i++) + e->window[i]=sin((i+.5)/e->winlen*M_PI); + +} + +void _ve_envelope_clear(envelope_lookup *e){ + if(e->window)free(e->window); + mdct_clear(&e->mdct); + memset(e,0,sizeof(envelope_lookup)); +} + +/* use MDCT for spectral power estimation */ + +static void _ve_deltas(double *deltas,double *pcm,int n,double *window, + int winsize,mdct_lookup *m){ + int i,j; + double *out=alloca(sizeof(double)*winsize); + + for(j=0;j<n;j++){ + double acc=0.; + + memcpy(out,pcm+j*winsize,winsize*sizeof(double)); + for(i=0;i<winsize;i++) + out[i]*=window[i]; + + mdct_forward(m,out,out); + + for(i=winsize/10;i<winsize/2;i++) + acc+=fabs(out[i]); + if(deltas[j]<acc)deltas[j]=acc; + } +} + +void _ve_envelope_deltas(vorbis_dsp_state *v){ + vorbis_info *vi=v->vi; + int step=vi->envelopesa; + + int dtotal=v->pcm_current/vi->envelopesa; + int dcurr=v->envelope_current; + int pch; + + if(dtotal>dcurr){ + double *mult=v->multipliers+dcurr; + memset(mult,0,sizeof(double)*(dtotal-dcurr)); + + for(pch=0;pch<vi->channels;pch++){ + double *pcm=v->pcm[pch]+dcurr*step; + _ve_deltas(mult,pcm,dtotal-dcurr,v->ve.window,v->ve.winlen,&v->ve.mdct); + } + v->envelope_current=dtotal; + + } +} + + + + + + diff --git a/lib/floor0.c b/lib/floor0.c index ea20c6a5..c8b5e9c4 100644 --- a/lib/floor0.c +++ b/lib/floor0.c @@ -12,7 +12,7 @@ ******************************************************************** function: floor backend 0 implementation - last mod: $Id: floor0.c,v 1.11.2.1.2.5 2000/04/21 16:35:38 xiphmont Exp $ + last mod: $Id: floor0.c,v 1.11.2.1.2.6 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -27,6 +27,7 @@ #include "bookinternal.h" #include "sharedbook.h" #include "scales.h" +#include "misc.h" typedef struct { long n; @@ -227,6 +228,7 @@ void _lpc_to_curve(double *curve,double *lpc,double amp, } +static long seq=0; static int forward(vorbis_block *vb,vorbis_look_floor *i, double *in,double *out){ long j,k; @@ -266,7 +268,9 @@ static int forward(vorbis_block *vb,vorbis_look_floor *i, /* LSP <-> LPC is orthogonal and LSP quantizes more stably */ vorbis_lpc_to_lsp(out,out,look->m); - +#ifdef ANALYSIS + if(vb->mode==0)_analysis_output("lsp",seq++,out,look->m,0,0); +#endif #ifdef TRAIN { int j; diff --git a/lib/mapping0.c b/lib/mapping0.c index 0dce7ed3..b7a7d8ea 100644 --- a/lib/mapping0.c +++ b/lib/mapping0.c @@ -12,7 +12,7 @@ ******************************************************************** function: channel mapping 0 implementation - last mod: $Id: mapping0.c,v 1.11.2.2.2.6 2000/05/04 06:13:28 xiphmont Exp $ + last mod: $Id: mapping0.c,v 1.11.2.2.2.7 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -198,6 +198,7 @@ static vorbis_info_mapping *unpack(vorbis_info *vi,oggpack_buffer *opb){ #include "scales.h" /* no time mapping implementation for now */ +static long seq=0; static int forward(vorbis_block *vb,vorbis_look_mapping *l){ vorbis_dsp_state *vd=vb->vd; vorbis_info *vi=vd->vi; @@ -232,6 +233,7 @@ static int forward(vorbis_block *vb,vorbis_look_mapping *l){ { double *floor=_vorbis_block_alloc(vb,n*sizeof(double)/2); + double *mask=_vorbis_block_alloc(vb,n*sizeof(double)/2); for(i=0;i<vi->channels;i++){ double *pcm=vb->pcm[i]; @@ -244,21 +246,23 @@ static int forward(vorbis_block *vb,vorbis_look_mapping *l){ memset(decay,0,n*sizeof(double)/2); /* perform psychoacoustics; do masking */ - _vp_compute_mask(look->psy_look+submap,pcm,floor,decay); + _vp_compute_mask(look->psy_look+submap,pcm,floor,mask,decay); - _analysis_output("mdct",vb->sequence,pcm,n/2,0,1); + _analysis_output("mdct",seq,pcm,n/2,0,1); + _analysis_output("lmdct",seq,pcm,n/2,0,0); + _analysis_output("prefloor",seq,floor,n/2,0,1); /* perform floor encoding */ nonzero[i]=look->floor_func[submap]-> forward(vb,look->floor_look[submap],floor,floor); - _analysis_output("floor",vb->sequence,floor,n/2,0,1); + _analysis_output("floor",seq,floor,n/2,0,1); /* apply the floor, do optional noise levelling */ - _vp_apply_floor(look->psy_look+submap,pcm,floor); - - _analysis_output("res",vb->sequence,pcm,n/2,0,0); - + _vp_apply_floor(look->psy_look+submap,pcm,floor,mask); + + _analysis_output("res",seq++,pcm,n/2,0,0); + #ifdef TRAIN if(nonzero[i]){ FILE *of; @@ -321,7 +325,7 @@ static int inverse(vorbis_block *vb,vorbis_look_mapping *l){ int submap=info->chmuxlist[i]; nonzero[i]=look->floor_func[submap]-> inverse(vb,look->floor_look[submap],pcm); - _analysis_output("ifloor",vb->sequence,pcm,n/2,0,1); + _analysis_output("ifloor",seq+i,pcm,n/2,0,1); } /* recover the residue, apply directly to the spectral envelope */ @@ -340,7 +344,7 @@ static int inverse(vorbis_block *vb,vorbis_look_mapping *l){ /* only MDCT right now.... */ for(i=0;i<vi->channels;i++){ double *pcm=vb->pcm[i]; - _analysis_output("out",vb->sequence,pcm,n/2,0,0); + _analysis_output("out",seq++,pcm,n/2,0,0); mdct_backward(vd->transform[vb->W][0],pcm,pcm); } diff --git a/lib/masking.h b/lib/masking.h index 11f2e3e9..6e68d4c6 100644 --- a/lib/masking.h +++ b/lib/masking.h @@ -12,7 +12,7 @@ ******************************************************************** function: masking curve data for psychoacoustics - last mod: $Id: masking.h,v 1.1.2.2.2.2 2000/05/04 06:13:28 xiphmont Exp $ + last mod: $Id: masking.h,v 1.1.2.2.2.3 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -141,13 +141,13 @@ double tone_4000_100dB_SL[EHMER_MAX]={ double tone_8000_60dB_SL[EHMER_MAX]={ -900,-900,-900,-900,-900,-900,-900,-900, -40, -30, -21, -12, -5, 0, 15, 35, - 43, 40, 37, 36, 36, 36, 36, 36, 36, 36, 35, 25, 15, 5, -5, -15, + 43, 40, 37, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 5, -5, -15, -25, -35,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900}; double tone_8000_80dB_SL[EHMER_MAX]={ -900,-900,-900,-900,-900,-900,-900, -10, -1, 2, 6, 10, 13, 19, 25, 35, - 63, 60, 56, 56, 57, 57, 57, 57, 57, 57, 55, 45, 35, 25, 15, 5, + 63, 60, 56, 53, 50, 47, 44, 41, 38, 35, 32, 29, 26, 22, 15, 5, -5, -15, -25, -35,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900, -900,-900,-900,-900,-900,-900,-900,-900}; @@ -12,7 +12,7 @@ ******************************************************************** function: psychoacoustics not including preecho - last mod: $Id: psy.c,v 1.16.2.2.2.12 2000/05/04 23:08:10 xiphmont Exp $ + last mod: $Id: psy.c,v 1.16.2.2.2.13 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -480,6 +480,7 @@ static int comp(const void *a,const void *b){ static int frameno=-1; void _vp_compute_mask(vorbis_look_psy *p,double *f, double *flr, + double *mask, double *decay){ double *noise=alloca(sizeof(double)*p->n); double *work=alloca(sizeof(double)*p->n); @@ -519,14 +520,7 @@ void _vp_compute_mask(vorbis_look_psy *p,double *f, } specmax=todB(specmax); - /* mask off the ATH */ - if(p->vi->athp) - for(i=0;i<n;i++) - flr[i]=p->ath[i]; - else - for(i=0;i<n;i++) - flr[i]=0.; - + memset(flr,0,n*sizeof(double)); /* seed the tone masking */ if(p->vi->tonemaskp) seed_generic(p,p->tonecurves,work,flr,specmax); @@ -538,6 +532,13 @@ void _vp_compute_mask(vorbis_look_psy *p,double *f, /* chase the seeds */ max_seeds(p,flr); + /* mask off the ATH */ + if(p->vi->athp) + for(i=0;i<n;i++) + mask[i]=max(p->ath[i],flr[i]*.5); + else + for(i=0;i<n;i++) + mask[i]=flr[i]*.5; } @@ -545,7 +546,7 @@ void _vp_compute_mask(vorbis_look_psy *p,double *f, energy in low resolution portions of the spectrum */ /* f and flr are *linear* scale, not dB */ void _vp_apply_floor(vorbis_look_psy *p,double *f, - double *flr){ + double *flr,double *mask){ double *work=alloca(p->n*sizeof(double)); double thresh=fromdB(p->vi->noisefit_threshdB); int i,j,addcount=0; @@ -553,10 +554,10 @@ void _vp_apply_floor(vorbis_look_psy *p,double *f, /* subtract the floor */ for(j=0;j<p->n;j++){ - if(flr[j]<=0) + if(flr[j]<=0 || fabs(f[j])<mask[j]) work[j]=0.; else - work[j]=rint(f[j]/flr[j]); + work[j]=f[j]/flr[j]; } /* look at spectral energy levels. Noise is noise; sensation level @@ -580,8 +581,7 @@ void _vp_apply_floor(vorbis_look_psy *p,double *f, double y=(f[i]*f[i]); original_SL+=y; if(work[i]){ - double qy=(work[i]*flr[i]); - current_SL+=qy*qy; + current_SL+=y; }else{ index[z++]=f+i; } @@ -595,15 +595,14 @@ void _vp_apply_floor(vorbis_look_psy *p,double *f, for(j=0;j<z;j++){ int p=index[j]-f; - double val=flr[p]*flr[p]+current_SL; - if(val<original_SL){ + if(val<original_SL && mask[p]<flr[p]){ addcount++; if(f[p]>0) - work[p]=flr[p]; + work[p]=1; else - work[p]=-flr[p]; + work[p]=-1; current_SL=val; }else break; @@ -12,7 +12,7 @@ ******************************************************************** function: random psychoacoustics (not including preecho) - last mod: $Id: psy.h,v 1.11.2.2.2.4 2000/05/04 06:13:28 xiphmont Exp $ + last mod: $Id: psy.h,v 1.11.2.2.2.5 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -41,10 +41,11 @@ extern void _vp_psy_clear(vorbis_look_psy *p); extern void *_vi_psy_dup(void *source); extern void _vi_psy_free(vorbis_info_psy *i); extern void _vp_compute_mask(vorbis_look_psy *p,double *f, - double *floor, - double *decay); + double *floor, + double *mask, + double *decay); extern void _vp_apply_floor(vorbis_look_psy *p,double *f, - double *flr); + double *flr,double *mask); #endif diff --git a/lib/psytune.c b/lib/psytune.c index 3903aab6..14770e39 100644 --- a/lib/psytune.c +++ b/lib/psytune.c @@ -13,7 +13,7 @@ function: simple utility that runs audio through the psychoacoustics without encoding - last mod: $Id: psytune.c,v 1.1.2.2.2.8 2000/05/04 06:13:28 xiphmont Exp $ + last mod: $Id: psytune.c,v 1.1.2.2.2.9 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -44,7 +44,7 @@ static vorbis_info_psy _psy_set0={ {-35.,-40.,-60.,-80.,-95.}, {-35.,-40.,-60.,-80.,-95.}, {-35.,-40.,-60.,-80.,-95.}, - {-65.,-60.,-60.,-80.,-95.}, /* remember that el 1 is a 60 dB curve, not 40 */ + {-65.,-60.,-60.,-80.,-90.}, /* remember that el 1 is a 60 dB curve, not 40 */ 1,/*noisemaskp*/ {-100.,-100.,-100.,-200.,-200.}, /* this is the 500 Hz curve, which @@ -134,7 +134,7 @@ int main(int argc,char *argv[]){ int framesize=2048; int order=32; - double *pcm[2],*out[2],*window,*decay[2],*lpc,*floor; + double *pcm[2],*out[2],*window,*decay[2],*lpc,*floor,*mask; signed char *buffer,*buffer2; mdct_lookup m_look; vorbis_look_psy p_look; @@ -190,6 +190,7 @@ int main(int argc,char *argv[]){ decay[0]=calloc(framesize/2,sizeof(double)); decay[1]=calloc(framesize/2,sizeof(double)); floor=malloc(framesize*sizeof(double)); + mask=malloc(framesize*sizeof(double)); lpc=malloc(order*sizeof(double)); buffer=malloc(framesize*4); buffer2=buffer+framesize*2; @@ -244,25 +245,29 @@ int main(int argc,char *argv[]){ analysis("mdct",frameno,pcm[i],framesize/2,1,1); - _vp_compute_mask(&p_look,pcm[i],floor,decay[i]); + _vp_compute_mask(&p_look,pcm[i],floor,mask,decay[i]); analysis("prefloor",frameno,floor,framesize/2,1,1); + analysis("mask",frameno,mask,framesize/2,1,1); analysis("decay",frameno,decay[i],framesize/2,1,1); amp=_curve_to_lpc(floor,lpc,&floorlook,frameno); _lpc_to_curve(floor,lpc,sqrt(amp),&floorlook,"Ffloor",frameno); analysis("floor",frameno,floor,framesize/2,1,1); - _vp_apply_floor(&p_look,pcm[i],floor); + _vp_apply_floor(&p_look,pcm[i],floor,mask); + analysis("quant",frameno,pcm[i],framesize/2,1,1); /* re-add floor */ for(j=0;j<framesize/2;j++){ - double val=pcm[i][j]; + double val=rint(pcm[i][j]); tot++; if(val){ nonz++; - acc+=log(fabs(todB(val))*2.+1.)/log(2); + acc+=log(fabs(val)*2.+1.)/log(2); pcm[i][j]=val*floor[j]; + }else{ + pcm[i][j]=0; } } @@ -12,7 +12,7 @@ ******************************************************************** function: residue backend 0 implementation - last mod: $Id: res0.c,v 1.8.4.5 2000/04/21 16:35:40 xiphmont Exp $ + last mod: $Id: res0.c,v 1.8.4.6 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -28,7 +28,6 @@ #include "vorbis/codec.h" #include "bitwise.h" #include "registry.h" -#include "scales.h" #include "bookinternal.h" #include "sharedbook.h" #include "misc.h" @@ -78,9 +77,6 @@ void pack(vorbis_info_residue *vr,oggpack_buffer *opb){ _oggpack_write(opb,info->groupbook,8); /* group huffman book */ for(j=0;j<info->partitions;j++){ _oggpack_write(opb,info->secondstages[j],4); /* zero *is* a valid choice */ - /* bit of 0 == additive, 1 == multiplicative cascade */ - if(info->secondstages[j]>1) - _oggpack_write(opb,info->addmullist[j],info->secondstages[j]-1); acc+=info->secondstages[j]; } for(j=0;j<acc;j++) @@ -100,10 +96,6 @@ vorbis_info_residue *unpack(vorbis_info *vi,oggpack_buffer *opb){ info->groupbook=_oggpack_read(opb,8); for(j=0;j<info->partitions;j++){ acc+=info->secondstages[j]=_oggpack_read(opb,4); - if(info->secondstages[j]>1) - info->addmullist[j]=_oggpack_read(opb,info->secondstages[j]-1); - else - info->addmullist[j]=0; } for(j=0;j<acc;j++) info->booklist[j]=_oggpack_read(opb,8); @@ -174,58 +166,30 @@ static int _testhack(double *vec,int n,vorbis_look_residue0 *look){ } static int _encodepart(oggpack_buffer *opb,double *vec, int n, - int stages, int addmul, codebook **books){ + int stages, codebook **books){ int i,j,bits=0; - double *work=alloca(n*sizeof(double)); - - /* pessimistic, but safe */ - long *stackword=alloca(n*stages*sizeof(long)); - int *stacklen=alloca(n*stages*sizeof(int)); - int stack=0; - - memcpy(work,vec,n*sizeof(double)); - - /* The stages are listed in *decode* order; although the stages have - to decode this way, if the encode process is to use the same - setup data as the decode process we need to run encode backwards - into a stack, then write the entries out */ - - /* If we have n samples, but book dim in m (<n), we interlace the - samples we actually encode */ - for(j=stages-1;j>=0;j--){ + for(j=0;j<stages;j++){ int dim=books[j]->dim; int step=n/dim; - for(i=step-1;i>=0;i--){ - int entry=vorbis_book_besterror(books[j],work+i,step,(addmul>>j)&1); - stackword[stack]=vorbis_book_codeword(books[j],entry); - bits+=stacklen[stack++]=vorbis_book_codelen(books[j],entry); - } - } - - while(stack){ - stack--; - _oggpack_write(opb,stackword[stack],stacklen[stack]); + for(i=0;i<step;i++) + bits+=vorbis_book_encodevs(books[j],vec+i,opb,step,0); + } return(bits); } static int _decodepart(oggpack_buffer *opb,double *work,double *vec, int n, - int stages, int addmul,codebook **books){ - int i,j,o; - - memset(work,0,n*sizeof(double)); + int stages, codebook **books){ + int i,j; + + memset(work,0,sizeof(double)*n); for(j=0;j<stages;j++){ int dim=books[j]->dim; int step=n/dim; - if(j) - for(i=0,o=0;i<n;i+=dim,o++) - vorbis_book_decodevs(books[j],work+o,opb,step,(addmul>>(j-1))&1); - else - for(i=0,o=0;i<n;i+=dim,o++) - vorbis_book_decodevs(books[j],work+o,opb,step,-1); - + for(i=0;i<step;i++) + vorbis_book_decodevs(books[j],work+i,opb,step,0); } for(i=0;i<n;i++) @@ -291,7 +255,6 @@ int forward(vorbis_block *vb,vorbis_look_residue *vl, resbits[partword[j][l]]+= _encodepart(&vb->opb,in[j]+i,samples_per_partition, info->secondstages[partword[j][l]], - info->addmullist[partword[j][l]], look->partbooks[partword[j][l]]); resvals[partword[j][l]]+=samples_per_partition; } @@ -339,7 +302,6 @@ int inverse(vorbis_block *vb,vorbis_look_residue *vl,double **in,int ch){ int part=partword[j][k]; _decodepart(&vb->opb,work,in[j]+i,samples_per_partition, info->secondstages[part], - info->addmullist[partword[j][l]], look->partbooks[part]); } } diff --git a/vq/bookutil.c b/vq/bookutil.c index 2c8f357e..fde9d409 100644 --- a/vq/bookutil.c +++ b/vq/bookutil.c @@ -12,7 +12,7 @@ ******************************************************************** function: utility functions for loading .vqh and .vqd files - last mod: $Id: bookutil.c,v 1.12.4.7 2000/05/06 05:41:14 xiphmont Exp $ + last mod: $Id: bookutil.c,v 1.12.4.8 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -377,6 +377,8 @@ void spinnit(char *s,int n){ void build_tree_from_lengths(int vals, long *hist, long *lengths){ int i,j; long *membership=malloc(vals*sizeof(long)); + long *histsave=alloca(vals*sizeof(long)); + memcpy(histsave,hist,vals*sizeof(long)); for(i=0;i<vals;i++)membership[i]=i; @@ -420,6 +422,20 @@ void build_tree_from_lengths(int vals, long *hist, long *lengths){ exit(1); } + /* for sanity check purposes: how many bits would it have taken to + encode the training set? */ + { + long bitsum=0; + long samples=0; + for(i=0;i<vals;i++){ + bitsum+=(histsave[i]-1)*lengths[i]; + samples+=histsave[i]-1; + } + fprintf(stderr,"\rTotal samples in training set: %ld \n",samples); + fprintf(stderr,"\rTotal bits used to represent training set: %ld\n", + bitsum); + } + free(membership); } diff --git a/vq/latticebuild.c b/vq/latticebuild.c index 9b0a22fa..a812031e 100644 --- a/vq/latticebuild.c +++ b/vq/latticebuild.c @@ -12,7 +12,7 @@ ******************************************************************** function: utility main for building codebooks from lattice descriptions - last mod: $Id: latticebuild.c,v 1.1.2.2 2000/04/26 07:10:16 xiphmont Exp $ + last mod: $Id: latticebuild.c,v 1.1.2.3 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -42,6 +42,15 @@ vqlattice sends residual data (for the next stage) to stdout, and produces description.vqh */ +static int ilog(unsigned int v){ + int ret=0; + while(v){ + ret++; + v>>=1; + } + return(ret); +} + int main(int argc,char *argv[]){ codebook b; static_codebook c; @@ -102,7 +111,7 @@ int main(int argc,char *argv[]){ c.thresh_tree=&t; c.dim=dim; c.entries=entries; - c.lengthlist=calloc(entries,sizeof(long)); + c.lengthlist=malloc(entries*sizeof(long)); c.maptype=1; c.q_sequencep=0; c.quantlist=calloc(quantvals,sizeof(long)); @@ -110,6 +119,7 @@ int main(int argc,char *argv[]){ quantlist=malloc(sizeof(long)*c.dim*c.entries); hits=malloc(c.entries*sizeof(long)); for(j=0;j<entries;j++)hits[j]=1; + for(j=0;j<entries;j++)c.lengthlist[j]=1; reset_next_value(); setup_line(in); @@ -162,11 +172,14 @@ int main(int argc,char *argv[]){ } c.q_min=_float32_pack(min); c.q_delta=_float32_pack(mindel); + c.q_quant=0; min=_float32_unpack(c.q_min); mindel=_float32_unpack(c.q_delta); - for(j=0;j<quantvals;j++) + for(j=0;j<quantvals;j++){ c.quantlist[j]=rint((quantlist[j]-min)/mindel); + if(ilog(c.quantlist[j])>c.q_quant)c.q_quant=ilog(c.quantlist[j]); + } } vorbis_book_init_encode(&b,&c); @@ -232,7 +245,7 @@ int main(int argc,char *argv[]){ fclose(in); /* build the codeword lengths */ - + memset(c.lengthlist,0,sizeof(long)*entries); build_tree_from_lengths(entries,hits,c.lengthlist); /* save the book in C header form */ diff --git a/vq/latticepare.c b/vq/latticepare.c index 36e5f46f..7d7d7c3b 100644 --- a/vq/latticepare.c +++ b/vq/latticepare.c @@ -12,7 +12,7 @@ ******************************************************************** function: utility for paring low hit count cells from lattice codebook - last mod: $Id: latticepare.c,v 1.1.2.2 2000/04/27 09:22:40 xiphmont Exp $ + last mod: $Id: latticepare.c,v 1.1.2.3 2000/05/08 08:25:43 xiphmont Exp $ ********************************************************************/ @@ -57,12 +57,6 @@ produces a new output book on stdout */ -void usage(){ - fprintf(stderr,"latticepare latticebook.vqh input_data.vqd <target_cells>\n" - "produces a new output book on stdout \n"); - exit(1); -} - static double _dist(int el,double *a, double *b){ int i; double acc=0.; @@ -75,24 +69,13 @@ static double _dist(int el,double *a, double *b){ static double *pointlist; static long points=0; -static long allocated=0; void add_vector(codebook *b,double *vec,long n){ int dim=b->dim,i,j; - for(i=0;i<n/dim;i++){ - for(j=i;j<n;j+=dim){ - if(points>=allocated){ - if(allocated){ - allocated*=2; - pointlist=realloc(pointlist,allocated*sizeof(double)); - }else{ - allocated=1024*1024; - pointlist=malloc(allocated*sizeof(double)); - } - } - + int step=n/dim; + for(i=0;i<step;i++){ + for(j=i;j<n;j+=step){ pointlist[points++]=vec[j]; - if(!(points&0xff))spinnit("loading... ",points); } } } @@ -118,6 +101,8 @@ static int secondbest(codebook *b,double *vec,int best){ /* hit one off on all sides of it; most likely we'll find a possible match */ + /* suboptimal for unaligned entries */ +#if 0 for(i=0;i<dim;i++){ /* one up */ if(index[i]+1<tt->quantvals){ @@ -145,7 +130,8 @@ static int secondbest(codebook *b,double *vec,int best){ } } } - + +#endif /* no match? search all cells, binary count, that are one away on one or more axes. Then continue out until there's a match. We'll find one eventually, it's relatively OK to be inefficient @@ -194,16 +180,30 @@ static int secondbest(codebook *b,double *vec,int best){ return(bestentry); } +void usage(void){ + fprintf(stderr,"Ogg/Vorbis lattice codebook paring utility\n\n" + "usage: latticepare book.vqh data.vqd <target_cells>\n" + " -<n_0,n_1,...> [-<n_0,n_1,...>]\n\n" + "where <target_cells> is the desired number of final cells (or -1\n" + "for no change) and n,n,n,n...n are explicit entries to cull\n\n" + "produces new book on stdout\n\n"); + exit(1); +} int main(int argc,char *argv[]){ char *basename; codebook *b=NULL; - int input=0; - int entries; - int dim; + int entries=0; + int dim=0; long i,j,target=-1; + int *cvec=NULL; + + long *cullist=malloc(sizeof(int)); + long culls=0; + argv++; + if(*argv==NULL){ usage(); exit(1); @@ -214,7 +214,37 @@ int main(int argc,char *argv[]){ while(*argv){ if(*argv[0]=='-'){ - /* option */ + char *ptr=argv[0]; + long index=0; + /* explicit cull */ + if(!b)usage(); + if(!cvec)cvec=malloc(dim*sizeof(int)); /* lazy ;-) */ + + for(i=0;i<dim;i++){ + if(!ptr){ + fprintf(stderr,"too few values in cull argument %s\n",argv[0]); + exit(1); + } + cvec[i]=atoi(ptr+1); + if(cvec[i]<0 || cvec[i]>=b->c->thresh_tree->quantvals){ + fprintf(stderr,"value too large in cull argument %s\n",argv[0]); + exit(1); + } + + ptr=strchr(ptr+1,','); + } + if(ptr){ + fprintf(stderr,"too many values in cull argument %s\n",argv[0]); + exit(1); + } + for(i=dim;i>0;i--) + index=index*b->c->thresh_tree->quantvals+cvec[i-1]; + + cullist=realloc(cullist,++culls*sizeof(long)); + cullist[culls-1]=index; + fprintf(stderr,"\rExplicitly culling index %ld\n",index); + argv++; + }else{ /* input file. What kind? */ char *dot; @@ -226,16 +256,12 @@ int main(int argc,char *argv[]){ else{ ext=""; target=atol(name); + if(target==0)target=entries; } /* codebook */ if(!strcmp(ext,"vqh")){ - if(input){ - fprintf(stderr,"specify all input data (.vqd) files following\n" - "codebook header (.vqh) files\n"); - exit(1); - } basename=strrchr(name,'/'); if(basename) @@ -246,11 +272,13 @@ int main(int argc,char *argv[]){ if(dot)*dot='\0'; b=codebook_load(name); + dim=b->dim; + entries=b->entries; } /* data file; we do actually need to suck it into memory */ /* we're dealing with just one book, so we can de-interleave */ - if(!strcmp(ext,"vqd")){ + if(!strcmp(ext,"vqd") && !points){ int cols; long lines=0; char *line; @@ -273,6 +301,8 @@ int main(int argc,char *argv[]){ } } vec=alloca(cols*sizeof(double)); + /* count, then load, to avoid fragmenting the hell out of + memory */ while(line){ lines++; for(j=0;j<cols;j++) @@ -280,8 +310,23 @@ int main(int argc,char *argv[]){ fprintf(stderr,"Too few columns on line %ld in data file\n",lines); exit(1); } + if((lines&0xff)==0)spinnit("counting samples...",lines*cols); + line=setup_line(in); + } + pointlist=malloc(cols*lines*sizeof(double)); + + rewind(in); + line=setup_line(in); + while(line){ + lines--; + for(j=0;j<cols;j++) + if(get_line_value(in,vec+j)){ + fprintf(stderr,"Too few columns on line %ld in data file\n",lines); + exit(1); + } /* deinterleave, add to heap */ add_vector(b,vec,cols); + if((lines&0xff)==0)spinnit("loading samples...",lines*cols); line=setup_line(in); } @@ -289,14 +334,11 @@ int main(int argc,char *argv[]){ } } } - dim=b->dim; - entries=b->entries; + if(!entries || !points)usage(); + if(target==-1)usage(); + points/=dim; - if(target==-1){ - fprintf(stderr,"Target number of cells required on command line\n"); - exit(1); - } /* set up auxiliary vectors for error tracking */ { @@ -308,6 +350,7 @@ int main(int argc,char *argv[]){ long *reventry; long *membership=malloc(points*sizeof(long)); long *cellhead=malloc(entries*sizeof(long)); + long *cellcount=calloc(entries,sizeof(long)); double *cellerror1=calloc(entries,sizeof(double)); /* error for firstentries */ double *cellerror2=calloc(entries,sizeof(double)); /* error for @@ -333,11 +376,47 @@ int main(int argc,char *argv[]){ cellhead[firstentry]=i; cellerror1[firstentry]+=firstmetric; + cellcount[firstentry]++; globalerror+=firstmetric; cellerror2[firstentry]+=secondmetric; } + /* handle the explicit cull list */ + for(i=0;i<culls;i++){ + long bestcell=cullist[i]; + char buf[80]; + sprintf(buf,"explicit culls (%d left)... ",(int)culls-i); + + /* disperse cell. move each point out, adding it (properly) to + the second best */ + if(b->c->lengthlist[bestcell]>0){ + long head=cellhead[bestcell]; + b->c->lengthlist[bestcell]=0; + cellhead[bestcell]=-1; + while(head!=-1){ + /* head is a point number */ + double *ppt=pointlist+head*dim; + int newentry=secondbest(b,ppt,bestcell); + int secondentry=secondbest(b,pointlist+head*dim,newentry); + double firstmetric=_dist(dim,b->valuelist+dim*newentry,ppt); + double secondmetric=_dist(dim,b->valuelist+dim*secondentry,ppt); + long next=membership[head]; + cellcount[newentry]++; + cellcount[bestcell]--; + cellerror1[newentry]+=firstmetric; + cellerror2[newentry]+=secondmetric; + spinnit(buf,cellcount[bestcell]); + + membership[head]=cellhead[newentry]; + cellhead[newentry]=head; + head=next; + } + cellsleft--; + } + } + + /* do the automatic cull request */ while(cellsleft>target){ int bestcell=-1; double besterror=0; @@ -385,6 +464,7 @@ int main(int argc,char *argv[]){ for(i=0;i<entries;i++){ long head=cellhead[i]; + spinnit("rearranging membership cache... ",entries-i); while(head!=-1){ long next=membership[head]; membership[head]=i; @@ -402,6 +482,7 @@ int main(int argc,char *argv[]){ int best=_best(b,pointlist+i*dim,1); if(best==-1) pointindex[indexedpoints++]=i; + spinnit("finding orphaned points... ",points-i); } /* make an entry index */ diff --git a/vq/metrics.c b/vq/metrics.c index 6c7612ba..7638724a 100644 --- a/vq/metrics.c +++ b/vq/metrics.c @@ -12,7 +12,7 @@ ******************************************************************** function: function calls to collect codebook metrics - last mod: $Id: metrics.c,v 1.6.4.4 2000/05/04 23:08:10 xiphmont Exp $ + last mod: $Id: metrics.c,v 1.6.4.5 2000/05/08 08:25:44 xiphmont Exp $ ********************************************************************/ @@ -95,28 +95,34 @@ static double _dist(int el,double *a, double *b){ void cell_spacing(codebook *c){ int j,k; - double min,max,mean=0.,meansq=0.; - + double min=-1,max=-1,mean=0.,meansq=0.; + long total=0; + /* minimum, maximum, mean, ms cell spacing */ for(j=0;j<c->c->entries;j++){ - double localmin=-1.; - for(k=0;k<c->c->entries;k++){ - double this=_dist(c->c->dim,_now(c,j),_now(c,k)); - if(j!=k && - (localmin==-1 || this<localmin)) - localmin=this; + if(c->c->lengthlist[j]>0){ + double localmin=-1.; + for(k=0;k<c->c->entries;k++){ + if(c->c->lengthlist[k]>0){ + double this=_dist(c->c->dim,_now(c,j),_now(c,k)); + if(j!=k && + (localmin==-1 || this<localmin)) + localmin=this; + } + } + + if(min==-1 || localmin<min)min=localmin; + if(max==-1 || localmin>max)max=localmin; + mean+=sqrt(localmin); + meansq+=localmin; + total++; } - - if(j==0 || localmin<min)min=localmin; - if(j==0 || localmin>max)max=localmin; - mean+=sqrt(localmin); - meansq+=localmin; } fprintf(stderr,"\tminimum cell spacing (closest side): %g\n",sqrt(min)); fprintf(stderr,"\tmaximum cell spacing (closest side): %g\n",sqrt(max)); - fprintf(stderr,"\tmean closest side spacing: %g\n",mean/c->c->entries); - fprintf(stderr,"\tmean sq closest side spacing: %g\n",sqrt(meansq/c->c->entries)); + fprintf(stderr,"\tmean closest side spacing: %g\n",mean/total); + fprintf(stderr,"\tmean sq closest side spacing: %g\n",sqrt(meansq/total)); } void process_postprocess(codebook **bs,char *basename){ |