Retrain RNN classifier weights to include reverberated speech
authorJean-Marc Valin <jmvalin@jmvalin.ca>
Mon, 24 Sep 2018 20:02:37 +0000 (16:02 -0400)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Tue, 25 Sep 2018 17:05:04 +0000 (13:05 -0400)
src/analysis.c
src/mlp_data.c

index 8ee57aa..b192ae4 100644 (file)
@@ -896,9 +896,7 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt
 
     /* Probability of speech or music vs noise */
     info->activity_probability = frame_probs[1];
-    /* It seems like the RNN tends to have a bias towards speech and this
-       warping of the probabilities compensates for it. */
-    info->music_prob = MAX16(1.f-10.f*(1.f-frame_probs[0]), MIN16(10.f*frame_probs[0], .12f+.69f*frame_probs[0]*(2.f-frame_probs[0])));
+    info->music_prob = frame_probs[0];
 
     /*printf("%f %f %f\n", frame_probs[0], frame_probs[1], info->music_prob);*/
 #ifdef MLP_TRAINING
index b4b3ecb..ae4178d 100644 (file)
 #include "mlp.h"
 
 static const opus_int8 layer0_weights[800] = {
-   21, -8, -5, 3, -16, 13, 3, -24,
-   -18, 14, 9, 2, 5, -2, 2, -3,
-   -5, 35, 10, 10, -8, 2, 1, 3,
-   -26, -61, 9, 4, -8, 18, 3, -5,
-   47, -34, -6, 35, 35, 30, 40, -40,
-   11, -39, 11, -14, 14, -24, -8, -8,
-   2, -23, -100, 1, 19, -14, 4, 7,
-   13, -26, 47, -4, 44, 5, 27, -1,
-   57, -1, -36, 34, -20, -60, 25, -73,
-   24, -70, 20, -4, -6, 68, -16, 13,
-   -24, 40, -42, -18, 0, 10, 12, -56,
-   -6, 38, 21, 5, -116, 19, 11, -14,
-   3, 26, 14, 23, 1, 35, -16, -2,
-   -4, 55, 23, 16, 22, 45, -71, -27,
-   -20, 8, -47, -47, -46, -14, -50, -82,
-   36, 45, 54, -32, -6, 14, -2, -24,
-   3, 23, -27, -8, 1, 70, 15, -4,
-   -7, 21, 17, -126, 5, -47, -53, -6,
-   34, 25, -1, 10, 17, -37, 38, -1,
-   30, 25, -35, 112, -21, 8, -10, -3,
-   15, 18, -14, -8, -20, 11, 24, 37,
-   -35, 50, 52, 16, 9, 15, -26, 43,
-   -3, -9, -26, 126, 7, 33, 55, -88,
-   9, 28, 5, -19, -76, 32, 3, 11,
-   10, -54, 2, -13, 3, 94, 52, 106,
-   26, 74, 44, -99, 58, -44, 50, 15,
-   29, 25, 50, -84, 28, 1, -30, 11,
-   8, 20, -67, 4, 11, -25, -39, -33,
-   -83, -15, -9, 18, -2, -24, 18, 77,
-   -39, -80, 25, -8, 52, -88, -21, 81,
-   29, -23, -31, 69, -28, 0, 12, 47,
-   15, 20, 34, -53, 5, 111, -39, -7,
-   1, 56, 6, 3, 7, -67, -6, -31,
-   107, -6, 12, -97, 36, -18, -34, -6,
-   -9, -63, 10, -9, 3, 12, -80, -87,
-   17, -9, 39, 126, 13, 15, 19, -6,
-   29, 11, 10, -30, 26, -54, 31, -47,
-   25, -40, -24, 23, 16, -27, -32, 30,
-   -22, -59, -9, 65, -86, -21, 120, -25,
-   -52, -12, 34, -50, 25, -17, 30, -4,
-   95, 4, 9, 61, 25, -6, 11, -33,
-   -8, -3, 26, 37, -28, 19, -17, 36,
-   11, -8, 8, -89, 2, -68, -95, 18,
-   22, 36, 9, -8, -48, 54, -26, -6,
-   30, -28, 10, -18, 2, -11, 7, 2,
-   17, -5, 27, -21, 9, 15, 10, -18,
-   -10, 0, -9, 19, 10, -48, -35, -32,
-   15, 24, 25, -6, 3, 51, -15, 9,
-   19, -17, 6, 8, -9, 13, 14, -31,
-   -24, 10, -23, 21, 16, 18, -8, 35,
-   18, -18, -18, -26, 25, 10, 55, 9,
-   3, -24, -15, 2, -28, 20, -45, -14,
-   15, -19, -8, 10, 6, 40, -31, -45,
-   40, 53, 40, 27, -15, -31, -30, 10,
-   38, 50, 28, 71, -21, 20, 1, 23,
-   22, 14, 5, -48, 39, 78, -7, -6,
-   9, 50, 88, -15, 55, 36, 32, -22,
-   -60, 13, 31, -36, -71, -2, 52, 37,
-   7, 46, -23, -43, 19, -49, -34, 15,
-   60, -66, 36, 2, -57, -32, 64, -53,
-   -36, 49, -10, 21, -2, 23, -21, 22,
-   -3, -15, -6, 18, -12, -32, -11, -11,
-   -32, 24, 36, 37, -7, 30, -22, -12,
-   22, -63, 26, 20, -16, -30, -13, -18,
-   -10, 45, 10, -24, -2, -26, 28, 18,
-   36, 44, -40, -5, -14, -4, 18, -18,
-   -1, 18, -40, 15, 29, 15, 12, 3,
-   25, -51, 8, -17, 9, -19, 22, -33,
-   -22, 39, 61, -15, 55, -24, 10, 32,
-   12, 9, 29, 5, -33, -33, 5, 0,
-   35, 105, -14, 39, 4, 43, 36, 52,
-   50, -39, 45, -51, 27, 7, 65, -34,
-   108, 127, 42, 26, 73, 19, 9, 17,
-   -62, 16, 11, 52, 85, -46, 10, -95,
-   64, 53, 90, -8, -54, -5, -77, -45,
-   127, -4, 54, -3, -19, 66, 40, -127,
-   53, 22, -26, 24, 20, -36, -2, 101,
-   1, 35, -1, -8, 5, -36, -16, 33,
-   6, -73, -21, -23, -32, -21, -4, -46,
-   -42, -66, -16, -8, 0, -20, -21, 37,
-   -128, -128, -127, 126, -128, -127, 127, -3,
-   127, 122, 127, 126, -127, -128, 127, -127,
-   127, -124, 126, -126, -127, -128, 125, -127,
-   -38, -123, 125, -128, -128, 126, 125, 127,
-   -127, -123, -127, 127, -73, -113, 127, -17,
-   127, 126, 127, 126, -126, -126, 127, -127,
-   127, -125, 121, -126, -25, -127, 127, -126,
-   26, -126, 71, -28, -128, 20, 20, 71,
-   -87, -93, 39, 116, 111, -85, 70, -26,
-   62, 23, -15, 18, 4, 32, 114, -55,
-   8, -116, 85, -67, -110, -49, 11, -5,
-   -128, -41, 61, 70, -29, 115, 127, 51,
-   127, 127, 127, -128, -127, 127, -128, -127,
-   -126, -128, -126, -127, 127, 126, -128, 127,
-   -126, 125, -55, 127, 127, 127, -125, 115,
-   -128, -126, -128, -127, 127, -128, -128, 127,
-   28, -127, -120, -127, 127, -127, -127, 9,
-   -26, -118, 73, 39, 124, 78, -126, 123,
-   10, -127, -105, -64, 118, -84, -127, 61,
-   77, 104, -128, -127, 94, -17, -28, 36
+   -30, -9, 2, -12, 5, -1, 8, 9,
+   9, 8, -13, 18, -17, -34, -5, 17,
+   -11, 0, -4, 10, 2, 10, 15, -8,
+   2, -1, 0, 5, 13, -3, -16, 1,
+   -5, 3, 7, -28, -13, 6, 36, -3,
+   19, -60, -17, -28, 7, -11, -30, -7,
+   2, -42, -21, -3, 6, -22, 33, -9,
+   7, -30, 21, -14, 24, -11, -20, -18,
+   -5, -12, 12, -49, -50, -49, 16, 9,
+   -37, -1, 9, 34, -13, -31, -31, 12,
+   16, 44, -42, 2, -9, 8, -18, -6,
+   9, 36, 19, 11, 13, 12, -21, 3,
+   -28, -12, 3, 33, 25, -14, 11, 1,
+   -94, -39, 18, -12, -11, -15, -7, 49,
+   52, 10, -43, 9, 57, 8, 21, -6,
+   14, -15, 44, -8, 7, -30, -13, -2,
+   -9, 25, -2, -127, 18, -11, -52, 26,
+   -27, 27, 10, -10, 7, 43, 6, -24,
+   41, 10, -18, -27, 10, 17, 9, 10,
+   -17, -10, 20, -6, 22, 55, 35, -80,
+   36, 25, -24, -36, 15, 9, -19, 88,
+   19, 64, -51, -35, 17, 0, -7, 41,
+   -16, 27, 4, 15, -1, 18, -16, 47,
+   -39, -54, -8, 13, -25, -20, 102, -18,
+   -5, 44, 11, -28, 71, 2, -51, -5,
+   5, 2, -83, -9, -29, 8, 21, -53,
+   58, -37, -7, 13, 38, 9, 34, -1,
+   -41, 21, 4, -24, -36, -33, -21, 32,
+   75, -2, 1, -68, -1, 47, -29, 32,
+   20, 12, -65, -87, 5, 16, -12, 24,
+   40, 15, 7, 19, -26, -17, 17, 6,
+   -2, -37, -30, -9, 32, -127, -39, 0,
+   -31, -27, 4, -22, 23, -6, -77, 35,
+   -61, 32, -37, -24, 13, -11, -1, -40,
+   -3, 17, -7, 13, 11, 59, -19, 10,
+   6, -18, 0, 13, 3, -6, -23, 19,
+   11, -17, 13, -1, -80, 40, -53, 69,
+   -29, -54, 0, -4, 33, -25, -2, 38,
+   35, 36, -15, 46, 2, -13, -16, -8,
+   -8, 12, -24, -9, -55, -5, -9, 32,
+   11, 7, 12, -18, -10, -86, -38, 54,
+   37, -25, 18, -43, 7, -27, -27, -54,
+   13, 9, 22, 70, 6, 35, -7, 23,
+   -15, -44, -6, 7, -66, -85, 32, 40,
+   -19, -9, -7, 12, -15, 7, 2, 6,
+   -35, 11, 28, 0, 26, 14, 1, 1,
+   4, 12, 18, 35, 22, -18, -3, 14,
+   -1, 7, 14, -8, -14, -3, 4, -3,
+   -19, -7, -1, -25, -27, 25, -26, -2,
+   33, -22, -27, -25, 4, -9, 7, 21,
+   26, -30, 10, -9, -20, 11, 27, 10,
+   5, -18, 14, -4, 2, -17, -5, -7,
+   -9, -13, 15, 29, 1, -10, -16, -10,
+   35, 36, -7, -22, -44, 17, 30, 22,
+   21, -1, 22, -11, 32, -8, -7, 5,
+   -10, 5, 30, -20, 29, -20, -34, 12,
+   -4, -6, 6, -13, 10, -5, -68, -1,
+   24, 9, 19, -24, -64, 31, 19, 27,
+   -26, 75, -45, 41, 39, -42, 8, 6,
+   23, -30, 16, -25, 30, 34, 8, -38,
+   -3, 18, 16, -31, 22, -4, -9, 1,
+   20, 9, 38, -32, 0, -45, 0, -6,
+   -13, 11, -25, -32, -22, 31, -24, -11,
+   -11, -4, -4, 20, -34, 22, 20, 9,
+   -25, 27, -5, 28, -29, 29, 6, 21,
+   -6, -18, 54, 4, -46, 23, 21, -14,
+   -31, 36, -41, -24, 4, 22, 10, 11,
+   7, 36, -32, -13, -52, -17, 24, 28,
+   -37, -36, -1, 24, 9, -38, 35, 48,
+   18, 2, -1, 45, 10, 39, 24, -38,
+   13, 8, -16, 8, 25, 11, 7, -29,
+   -11, 7, 20, -30, -38, -45, 14, -18,
+   -28, -9, 65, 61, 22, -53, -38, -16,
+   36, 46, 20, -39, 32, -61, -6, -6,
+   -36, -33, -18, -28, 56, 101, 45, 11,
+   -28, -23, -29, -61, 20, -47, 2, 48,
+   27, -17, 1, 40, 1, 3, -51, 15,
+   35, 28, 22, 35, 53, -61, -29, 12,
+   -6, -21, 10, 3, -20, 2, -25, 1,
+   -6, 31, 11, -3, 1, -10, -52, 6,
+   126, -105, 122, 127, -128, 127, 127, -128,
+   127, 108, 12, 127, 48, -128, -36, -128,
+   127, 127, -128, -128, 127, 89, -128, 127,
+   -128, -128, -128, 127, 127, -128, -128, -93,
+   -82, 20, 125, 65, -82, 127, 38, -74,
+   81, 88, -88, 79, 51, -47, -111, -26,
+   14, 83, -88, -112, 24, 35, -101, 98,
+   -99, -48, -45, 46, 83, -60, -79, 45,
+   -20, -41, 9, 4, 52, 54, 93, -10,
+   4, 13, 3, 123, 6, 94, -111, -69,
+   -14, -31, 10, 12, 53, -79, -11, -21,
+   -2, -44, -72, 92, 65, -57, 56, -38,
+   127, -56, -128, 127, 127, -128, 86, 117,
+   -75, -128, 127, -19, -99, -112, 127, -128,
+   127, -48, 114, 118, -128, -128, 117, -17,
+   -6, 121, -128, 127, -128, 82, 54, -106,
+   127, 127, -33, 100, -39, -23, 18, -78,
+   -34, -29, -1, -30, 127, -26, 127, -128,
+   126, -128, 27, -23, -79, -120, -127, 127,
+   72, 66, 29, 7, -66, -56, -117, -128
 };
 
 static const opus_int8 layer0_bias[32] = {
-   -39, 28, -7, -12, -36, -35, -49, 48,
-   38, -17, 44, 15, -45, -18, -45, 9,
-   11, 4, -25, 38, 12, -31, -90, -70,
-   -17, 27, 7, -73, 42, -103, 78, 99
+   51, -16, 1, 13, -5, -6, -16, -7,
+   11, -6, 106, 26, 28, -14, 21, -29,
+   7, 18, -18, -17, 21, -17, -9, 20,
+   -25, -3, -34, 48, 11, -13, -31, -20
 };
 
 static const opus_int8 layer1_weights[2304] = {
-   29, -37, -21, -34, 19, -32, 44, -43,
-   51, -5, -14, 37, -32, 74, 127, -29,
-   -75, -49, -5, -106, -64, 24, -11, 26,
-   23, 25, -6, -1, -48, -16, -26, 29,
-   24, -3, 50, -23, -45, -59, -11, -10,
-   -9, 51, 42, 16, -27, -79, 72, 7,
-   55, -15, 5, -15, -24, -1, 48, -29,
-   -44, 26, -20, -40, 57, -15, 21, 45,
-   -4, -25, 13, 24, -26, 12, -2, 20,
-   48, -60, 45, 37, 74, 27, 13, 0,
-   126, 5, 68, 110, 7, 74, 51, 65,
-   -21, 32, 27, -30, 11, -3, -43, 73,
-   31, 43, 119, -51, 13, -80, 32, -23,
-   37, 69, 101, -33, -35, 50, -47, 126,
-   -84, 64, 88, 28, 57, 56, -28, -102,
-   0, -15, -57, 1, -34, 25, 59, 36,
-   -11, 26, -42, 14, -4, -24, -37, 63,
-   -18, 2, -32, -9, -37, -15, -9, 9,
-   -41, -36, 105, 20, 14, -14, 64, 92,
-   68, -83, -7, 20, 86, 22, 38, 8,
-   -63, -6, -13, -56, 61, 55, 50, -33,
-   -9, 22, -22, 77, 44, -33, 44, -20,
-   77, 33, 34, -78, -53, 31, -108, 33,
-   -23, -54, 63, 34, -9, 43, -17, 15,
-   -15, 15, -3, -50, 15, -26, -6, -35,
-   -52, 57, 0, -10, 67, -57, -47, 36,
-   -64, 19, -19, -29, -97, -15, -49, 69,
-   -18, 84, 122, 4, -81, 18, -85, -4,
-   -40, 99, -46, 11, -10, -29, -51, -59,
-   112, -103, 29, -45, 5, 43, 94, 24,
-   -4, -37, 27, -54, -24, 30, 43, 40,
-   -10, 13, 18, 75, 51, 11, -14, -7,
-   34, 80, -119, 73, -47, -68, 50, 79,
-   42, -2, -53, 22, -9, -21, -4, 88,
-   97, -5, -28, 16, -64, -1, -25, 9,
-   -20, -63, 10, 57, -3, 127, -2, -26,
-   8, 66, -48, -118, 47, -73, 15, 51,
-   -29, 28, 72, 41, -2, 48, 75, -24,
-   -47, 44, 8, -39, 70, -73, -44, 56,
-   -14, -62, 30, 74, 31, -98, 13, 8,
-   83, -36, -7, -8, 62, 13, -29, -20,
-   21, -66, 53, -49, -24, -14, 19, 101,
-   -47, -51, 65, -52, 25, -32, -38, 39,
-   -56, 41, 49, 22, 10, 21, 1, 38,
-   -18, 48, 36, 55, -39, -10, -4, 3,
-   17, -27, -81, 61, 1, 8, -32, 35,
-   29, 85, -33, -56, 16, 3, -48, 35,
-   56, -40, 14, -65, 3, -70, -29, 84,
-   51, 75, -52, 56, -55, 0, -13, -58,
-   6, 3, 22, 31, -34, 20, -6, 26,
-   -121, 85, -75, 11, -34, -23, 46, -11,
-   0, 9, 20, 39, 59, -12, 38, 14,
-   6, -33, -15, -86, 39, -48, -5, 4,
-   29, -28, 52, -8, -51, 52, 60, -11,
-   -22, 81, 81, 17, -127, -28, 27, -40,
-   -36, -57, 43, 52, 51, -38, -10, 23,
-   -44, -72, -63, 3, 20, -68, -72, -38,
-   26, -45, 19, -75, -18, 4, 14, 15,
-   -47, 104, -9, 51, 25, 16, -95, 64,
-   -11, -2, -5, 39, 52, -40, 77, 44,
-   11, -29, -37, 5, -58, -38, -28, 36,
-   50, 2, -26, -3, -16, -11, -11, 16,
-   -14, -47, -3, -3, -48, 45, 40, -14,
-   3, -67, -4, 19, -25, 14, -34, 48,
-   -66, 67, 70, 20, 52, -21, 21, 28,
-   16, 70, -114, -11, 29, 9, -52, -52,
-   -39, 44, 17, 11, -15, -111, 84, -20,
-   -23, -60, 15, -39, 48, 10, -31, -24,
-   -38, 4, -42, -25, -70, -3, -75, -40,
-   -3, -19, 33, -14, 18, -14, -5, -16,
-   46, -56, 38, -1, 2, 9, 17, -41,
-   -44, 11, -23, 28, -32, 8, -1, 57,
-   -5, 44, -64, -21, -54, 47, 22, -19,
-   -12, -24, -48, -4, -42, -46, -17, 52,
-   -39, -33, 79, -26, 20, 21, 9, -5,
-   -127, -31, 26, -86, -20, -115, 27, 33,
-   33, 72, 30, 57, -17, 2, 71, 58,
-   -52, -10, 20, -79, -3, 40, -106, 17,
-   34, 68, -17, 31, -27, 23, 17, 18,
-   21, 25, 15, 41, -51, 30, -3, 1,
-   -4, -60, -13, -59, 53, -42, -34, -29,
-   -22, -50, 27, -70, -58, -21, -59, -27,
-   -28, 45, -66, 12, 85, -61, 0, -39,
-   -73, -75, -29, -42, -47, -88, -46, 27,
-   -43, 112, 83, -51, -36, -64, 13, 74,
-   -9, 2, 25, 38, -18, -64, -81, -23,
-   -12, 40, 18, -38, -121, -36, -6, -73,
-   -16, -59, 28, -26, -2, -69, -6, -7,
-   43, -21, 61, 0, 1, 0, 13, 18,
-   -18, -21, -3, 18, 42, 0, 67, -35,
-   39, 15, -97, -87, 103, 65, 86, 20,
-   -11, -17, 9, -9, 15, 15, -35, 52,
-   34, -105, -85, 10, -36, -68, -64, 60,
-   -85, 51, -54, -39, -19, 77, 0, 35,
-   -20, 35, -78, 41, -11, 49, 14, 17,
-   -31, 1, 41, -1, 10, -25, -90, -12,
-   -9, -12, -26, 6, 34, 22, 31, 25,
-   6, 27, -26, 5, -35, 29, 18, -12,
-   54, -42, -22, -14, -6, 36, -14, -16,
-   35, 69, 75, 7, -113, 44, -2, -18,
-   3, -15, 50, -28, -36, -9, -25, 47,
-   127, -6, -35, 35, -46, 17, 116, -62,
-   -17, -98, -105, 77, -99, -17, 41, 16,
-   -7, 17, -89, 37, -16, -72, -3, -29,
-   50, 30, -43, -7, -72, 125, 51, 59,
-   -73, 37, 61, 2, -19, -11, 4, 46,
-   33, 51, 74, 88, -51, 68, 124, 27,
-   97, -51, 16, -3, -6, -12, -30, 28,
-   33, 3, -59, 22, 72, 53, 24, -29,
-   -4, -65, 89, -59, 92, 121, 12, 11,
-   111, -20, 12, -85, -123, -33, -65, 70,
-   68, 127, 2, -25, -104, 57, -74, -94,
-   -128, -27, 28, -7, -126, -123, -2, -57,
-   -57, 76, 55, -43, -44, -92, 1, 29,
-   12, 10, 15, 10, 88, 0, -65, -57,
-   -66, 14, -10, -10, 36, 19, -49, -4,
-   33, 3, 99, -49, -28, 41, 21, 37,
-   46, 62, 16, 43, -58, 119, -32, 34,
-   27, 13, -46, -1, -4, 23, 31, -21,
-   108, 4, 107, 37, 26, -48, 70, 18,
-   30, -18, -101, 77, -91, -117, -74, 16,
-   -116, 43, -24, 26, -19, -49, 34, -54,
-   101, -14, 15, 12, 80, -9, 110, 42,
-   8, -30, 53, -42, 34, -8, 60, -89,
-   7, 41, 21, -94, 51, -1, -22, -37,
-   22, 12, 49, -1, 55, 30, 5, -26,
-   -12, 4, -29, -16, -118, -12, -48, 85,
-   -44, -5, -27, -13, -84, -39, -63, -83,
-   44, 5, -62, -52, -110, -8, -24, -36,
-   -22, -52, 20, -10, 42, 117, -19, -30,
-   21, -16, -38, 92, 35, -5, -7, 45,
-   -69, -57, -69, 20, 18, 14, 107, -36,
-   -37, 43, 25, -38, -44, -104, 46, 8,
-   93, -9, 54, 39, -48, -28, 21, 2,
-   24, 11, -5, -14, -2, -10, 28, 105,
-   5, -60, -65, -38, 121, 5, -33, -60,
-   44, 68, 21, -69, -9, 7, 55, -26,
-   -75, 19, -76, 0, 10, -101, -56, -64,
-   19, -68, 14, 19, 9, -49, 23, -1,
-   19, -52, -15, -67, -63, -18, 24, -40,
-   -44, -11, -6, 43, 62, 67, -27, 5,
-   -57, 6, 25, -14, 19, 53, 24, -29,
-   -64, -26, -50, -19, 28, -15, -29, -56,
-   6, -40, 35, 54, -6, -45, -17, 41,
-   106, -42, -47, 43, -22, 20, -2, -126,
-   -29, 72, 85, -32, -30, 43, -6, 14,
-   31, -84, 4, 7, 16, -47, -37, -33,
-   -14, -60, -52, -55, -44, 41, 39, -114,
-   -52, 24, -100, 55, -6, 40, 102, 48,
-   -1, 55, -55, -35, -27, 51, -1, 6,
-   -10, -16, -38, 29, 37, 55, 18, 22,
-   28, -58, 13, 60, -60, 18, 6, -8,
-   31, -52, 14, 2, 16, 30, -22, -39,
-   0, 35, -29, 7, -48, 41, 78, 24,
-   30, 1, -89, 72, 27, -33, -33, -12,
-   61, -82, 123, 36, -12, -25, 55, 37,
-   66, 27, -19, 37, 10, 44, -14, -17,
-   -20, 30, 20, 2, 21, 15, 37, 35,
-   3, -40, 6, 12, 4, 22, -21, -79,
-   29, 3, -55, -77, -31, 13, -19, -24,
-   10, -38, 9, -78, 24, -50, -15, 31,
-   30, -4, -33, 25, 27, 10, -24, 43,
-   -7, 78, -2, 27, 69, -23, 10, 79,
-   -19, -69, -3, 6, 25, 71, -42, -4,
-   -10, -21, -43, 18, 63, 6, 15, -41,
-   -7, 77, 37, -47, -7, 41, -34, 40,
-   6, 25, 25, -74, -32, 4, 43, -26,
-   -8, 44, -5, 39, -4, -12, -9, -90,
-   -51, 38, 32, 42, 28, -42, 13, 4,
-   30, 18, 54, -13, -11, 3, -2, 58,
-   30, -53, 5, -76, 4, -14, -13, 16,
-   10, -108, 6, -114, 28, -93, -65, -40,
-   21, 28, -31, -85, -52, 29, 9, -10,
-   -12, -26, -27, -82, 43, 0, -75, -6,
-   29, -4, 64, -12, -5, 25, 14, -2,
-   -54, -127, 81, -35, 14, -59, -75, 69,
-   -29, -65, 43, -88, -21, 34, -87, -48,
-   51, 2, 8, -37, 25, 10, -25, -7,
-   -37, -39, -8, 28, 55, -72, -26, 16,
-   -30, 41, -49, 32, 37, -7, -12, 23,
-   38, -61, -13, 28, 16, 4, -16, -122,
-   37, 8, 17, 3, -79, 23, -17, 28,
-   -28, -31, -14, -39, 114, -49, -15, -47,
-   -14, 7, -7, -79, 98, -72, 19, -26,
-   65, -44, -60, -56, 18, -20, -35, 19,
-   -72, 8, 78, -84, 40, -3, 46, 40,
-   3, -31, 16, 38, -58, 48, 34, 0,
-   -75, -25, -12, -25, -5, -15, 18, -11,
-   6, 34, 20, 21, -6, -19, -34, 22,
-   -18, -48, 69, 122, -16, 1, 12, 11,
-   80, 31, 28, -34, 23, 27, -19, 10,
-   63, 81, 66, 91, 10, 2, 123, 126,
-   126, 74, 21, 75, 9, -15, 36, 29,
-   34, -54, 101, -57, -51, -61, 47, 66,
-   41, 38, -124, 56, -36, 48, 51, -7,
-   -11, -6, 30, -55, 48, 3, -18, -20,
-   24, 24, 0, -55, 62, 3, -74, -49,
-   2, -13, -31, -3, -12, 42, -33, 5,
-   -24, -39, 117, -81, -31, -39, 0, 2,
-   6, 25, 77, 13, 6, 10, 26, -21,
-   -127, 35, 7, -26, -69, -19, -21, -25,
-   111, -34, -3, 29, 6, -31, -44, 73,
-   -1, 6, -4, 2, 99, 25, 92, 34,
-   40, 5, -94, 21, 47, 126, 61, -5,
-   2, -37, 4, 21, -27, 32, -18, -10,
-   70, -40, -15, 38, 19, 30, 12, -19,
-   -11, -2, -50, 22, -33, 3, 33, -39,
-   -19, 87, -67, -27, -11, -117, 36, 104,
-   11, -56, -29, -6, 5, 14, -5, 44,
-   38, 9, 24, 16, 127, 47, -6, -9,
-   63, -58, -106, -19, 62, -30, 29, -23,
-   69, 4, -31, 3, 14, -101, 5, 3,
-   31, -6, -88, 28, 13, 0, 42, 0,
-   6, 60, 54, -11, 5, -34, -33, -24,
-   -5, 42, 19, -63, 10, 32, -9, -32,
-   25, 26, -28, -5, -7, -45, 32, 11,
-   -12, 31, -26, -33, -46, -76, 40, -5,
-   3, -5, 3, -18, -12, 93, 17, 62,
-   -121, -14, 42, 76, 24, 4, 34, 14,
-   41, 18, -10, 93, 91, -62, 58, -55,
-   88, -64, -9, 23, 25, 45, -2, 70,
-   43, 9, 103, 22, 48, 46, -13, 9,
-   -27, -37, 35, -51, -54, -10, 57, -35,
-   -2, -1, 7, -3, -37, 5, 9, 3,
-   27, -7, 50, 5, -50, 22, 21, -13,
-   22, 43, 10, -18, 37, -20, -38, -32,
-   -2, 27, 1, -67, -41, 60, -28, -33,
-   -50, -38, 76, -18, 23, -16, -25, 0,
-   -8, -71, -10, -12, 20, -34, 40, -19,
-   12, -42, 14, 11, -28, 37, -33, 4,
-   41, 19, 65, 85, -26, 23, -50, 38,
-   3, -34, 64, 43, 1, 16, 34, 35,
-   -15, -27, 20, -1, 50, 0, -30, -50,
-   14, -60, -69, 10, -57, -45, -32, -14,
-   32, -16, 46, -61, -46, 1, -40, -75,
-   -28, -16, -73, -50, -13, -14, 9, -78,
-   5, -44, -9, -25, -79, -16, -46, 92,
-   -70, 61, -20, 12, -43, 3, -19, 40,
-   11, 25, 32, -58, 58, 45, 28, 1,
-   13, -27, -53, 30, -30, -31, -52, 10,
-   17, 68, -6, -44, -8, 25, 33, 48,
-   81, -43, -10, 67, 29, 23, 11, 20,
-   -39, -28, 31, 18, -72, 29, 22, -11,
-   -71, 39, -10, -121, -20, -8, -40, 125,
-   -7, -43, 10, 49, 12, 38, 43, -79,
-   -72, -41, -48, -60, -41, 5, -17, 35,
-   95, 35, 124, -11, 2, 70, -60, -25,
-   0, -27, 76, -19, -94, 40, -96, 65,
-   -9, -31, -8, -35, 27, -44, 64, -60,
-   -12, -72, 12, -56, 8, -45, -5, -27,
-   -6, 50, 30, -20, -18, 64, -108, -15,
-   -43, 44, 11, -14, -8, -21, -24, 42,
-   51, 47, -3, 17, -17, -24, 33, -28,
-   25, -15, -33, -21, 6, -13, 39, 19,
-   7, 116, 37, 53, 105, 4, 15, -56,
-   10, 12, -92, -30, 117, 4, 32, -13,
-   -17, -21, 43, 29, -25, -38, 51, 32,
-   74, -41, -15, 29, -5, -114, 35, -36,
-   46, 51, 15, 16, -39, 24, 17, 3,
-   -26, 40, -37, 34, 43, 20, -61, -14,
-   31, -29, 34, 25, -22, 25, -39, 39,
-   -33, -10, -56, -61, -6, -48, -114, -96,
-   -12, 3, 82, 45, 8, -2, -4, -28,
-   -42, -58, -50, -34, -54, -26, -64, -16,
-   -82, 49, -28, 0, -30, -20, -64, -68,
-   -18, 18, -44, -34, -42, -61, -17, 14,
-   -28, 8, 27, -49, -18, 45, -41, 11,
-   -2, 10, -8, -17, -24, -28, -42, 12,
-   79, 46, 30, -26, 5, 3, 3, 58,
-   12, -73, 23, 17, 5, 2, 20, 36,
-   56, -33, 80, 71, 17, 87, 40, -21,
-   26, 6, 48, -71, 76, 15, -47, 32,
-   87, 30, 58, -11, 65, -43, 91, 54,
-   -31, 8, 34, 25, -14, 37, -30, 20,
-   -35, 4, -75, 56, -29, 22, 64, 48,
-   47, -78, -74, 22, 11, -62, -28, 62,
-   -30, 12, -25, -31, 41, -42, 22, 23,
-   -8, -20, 38, 21, -6, 52, 23, 5,
-   -20, 32, 3, 16, 26, 50, 3, -4,
-   48, -77, -3, -4, 21, 23, 30, 11,
-   -1, 9, -56, -100, 39, 5, -25, 35,
-   95, 44, 22, 75, 19, -20, 126, -31,
-   -8, -24, 37, 35, -32, -4, 20, 47,
-   7, -84, 2, 10, 7, 7, 75, -64,
-   46, 36, -77, -1, -38, -19, -52, 39,
-   26, 41, 82, 38, 67, 62, -6, -25,
-   -16, -35, -5, -14, 32, 15, -3, -38,
-   28, 43, -59, 7, 58, 26, -63, -56
+   22, -1, -7, 7, 29, -27, -31, -17,
+   -13, 33, 44, -8, 11, 33, 24, 78,
+   15, 19, 30, -2, -24, 5, 49, 5,
+   36, 29, -14, -11, -48, -33, 21, -42,
+   -38, -12, 55, -37, 54, -8, 1, 36,
+   17, 0, 51, 31, 59, 7, -12, 53,
+   4, 32, -14, 48, 5, -10, -16, -8,
+   1, -16, -56, -24, -6, 18, -2, 23,
+   6, 46, -6, -10, 20, 35, -44, -15,
+   -49, 36, 16, 5, -7, -79, -67, 12,
+   70, -3, -79, -54, -85, -24, 47, -22,
+   33, 21, 69, -1, 11, 22, 14, -16,
+   -16, -22, -28, -11, 11, -41, 31, -26,
+   -33, -19, -4, 27, 32, -50, 5, -10,
+   -38, -22, -8, 35, -31, 1, -41, -15,
+   -11, 44, 28, -17, -41, -23, 17, 2,
+   -23, -26, -13, -13, -17, 6, 14, -31,
+   -25, 9, -19, 39, -8, 4, 31, -1,
+   -45, -11, -28, -92, -46, -15, 21, 118,
+   -22, 45, -51, 11, -20, -20, -15, 13,
+   -21, -97, -29, -32, -23, -42, 94, 1,
+   23, -8, 63, -3, -46, 19, -26, 32,
+   -40, -74, -26, 26, -4, -13, 30, -20,
+   -30, -25, -14, -31, -45, -43, 4, -60,
+   -48, -12, -34, 2, 2, 3, 13, 15,
+   11, 16, 5, 46, -9, -55, -16, -57,
+   29, 14, 38, -50, -2, -44, -11, -8,
+   52, -27, -38, -7, 20, 47, 17, -59,
+   0, 47, 46, -63, 35, -17, 19, 33,
+   68, -19, 2, 15, -16, 28, -16, -103,
+   26, -35, 47, -39, -60, 30, 31, -23,
+   -52, -13, 116, 47, -25, 30, 40, 30,
+   -22, 2, 12, -27, -18, 31, -10, 27,
+   -8, -66, 12, 14, 4, -26, -28, -13,
+   3, 13, -26, -51, 37, 5, 2, -21,
+   47, 3, 13, 25, -41, -27, -8, -4,
+   5, -76, -33, 28, 10, 9, -46, -74,
+   19, 28, 25, 31, 54, -55, 68, 38,
+   -24, -32, 2, 4, 68, 11, -1, 99,
+   5, 16, -2, -74, 40, 26, -26, 33,
+   31, -1, -68, 14, -6, 25, 9, 29,
+   60, 61, 7, -7, 0, -24, 7, 77,
+   4, -1, 16, -7, 13, -15, -19, 28,
+   -31, -24, -16, 37, 24, 13, 30, 10,
+   -30, 11, 11, -10, 22, 60, 28, 45,
+   -3, -40, -62, -5, -102, 9, -32, -27,
+   -54, 21, 15, -5, 37, -43, -11, 37,
+   -19, 47, -64, -128, -27, -114, 21, -66,
+   59, 46, -3, -12, -87, -9, 4, 19,
+   -113, -36, 78, 57, -26, -38, -77, -10,
+   6, 6, -75, 25, -97, -11, 33, -46,
+   1, 13, -21, -33, -20, 16, -6, -3,
+   -11, -4, -27, 38, 8, -41, -2, -33,
+   18, 19, -26, 1, -29, -22, -4, -14,
+   -55, -11, -80, -3, 11, 34, 90, 51,
+   11, 17, 43, 36, 127, -32, 29, 103,
+   9, 27, 13, 64, 56, 70, -14, 3,
+   -12, 10, 37, 3, 12, -22, -10, 46,
+   28, 10, 20, 26, -24, 18, 9, 7,
+   14, 34, -5, -7, 31, -14, -56, 11,
+   -18, -8, -17, -7, -10, -40, 10, -33,
+   -32, -43, 5, 9, 11, -4, 10, 50,
+   -12, -5, 46, 9, 7, 1, 11, 15,
+   91, -17, 7, -50, 23, 6, -30, -99,
+   0, -17, 14, 8, -10, -25, -30, -69,
+   -62, 31, 127, 114, -23, 101, -5, -54,
+   -6, -22, 7, -56, 39, 18, -29, 0,
+   46, 8, -79, 4, -21, 18, -32, 62,
+   -12, -8, -12, -58, 31, -32, 17, 6,
+   -24, 25, 24, 9, -4, -19, 45, 6,
+   17, -14, 5, -27, 16, -4, -41, 25,
+   -36, 5, 15, 12, 50, 27, 25, 23,
+   -44, -69, -9, -19, -48, -8, 4, 12,
+   -6, 13, -19, -30, -36, 26, 37, -1,
+   -3, -30, -42, -14, -10, -20, 26, -54,
+   -27, -44, 4, 73, -26, 90, 32, -69,
+   -29, -16, 3, 103, 15, -17, 37, 24,
+   -23, -31, 33, -37, -64, 25, 13, -81,
+   -28, -32, 27, 5, -35, -23, 15, -22,
+   19, -7, 9, 30, 19, -23, 27, -13,
+   43, 29, -29, -6, 9, -40, -33, -33,
+   -32, 9, 11, -48, -8, -23, -52, 46,
+   17, -22, -42, 35, -15, -41, 16, 34,
+   31, -42, -19, -11, 55, 7, -39, 89,
+   -11, -33, 20, -14, 22, 32, 3, -17,
+   -6, 14, 34, 1, 55, -21, -90, -8,
+   18, 27, 13, -29, 21, 15, -33, -51,
+   -9, -11, 4, -16, -18, 23, -4, -4,
+   48, 1, 7, 29, -14, -12, -16, 17,
+   35, 8, 0, -7, -2, 9, 8, 17,
+   -6, 53, -32, -21, -50, 5, 99, -60,
+   -5, -53, 10, -31, 12, -5, 7, 80,
+   36, 18, -31, 9, 98, 36, -63, -35,
+   4, -13, -28, -24, 28, -13, 18, 16,
+   -1, -18, -34, 10, 20, 7, 4, 29,
+   11, 25, -7, 36, 14, 45, 24, 1,
+   -16, 30, 6, 35, -6, -11, -24, 13,
+   -1, 27, 39, 20, 48, -11, -4, -13,
+   28, 11, -31, -18, 31, -29, 22, -2,
+   -20, -16, 5, 30, -12, -28, -3, 93,
+   -16, 23, 18, -29, 6, -54, -37, 28,
+   -3, -3, -47, -3, -36, -55, -3, 41,
+   -10, 47, -2, 23, 42, -7, -71, -27,
+   83, -64, 7, -24, 8, 26, -17, 15,
+   12, 31, -30, -38, -13, -33, -56, 4,
+   -17, 20, 18, 1, -30, -5, -6, -31,
+   -14, -37, 0, 22, 10, -30, 37, -17,
+   18, 6, 5, 23, -36, -32, 14, 18,
+   -13, -61, -52, -69, 44, -30, 16, 18,
+   -4, -25, 14, 81, 26, -8, -23, -59,
+   52, -104, 17, 119, -32, 26, 17, 1,
+   23, 45, 29, -64, -57, -14, 73, 21,
+   -13, -13, 9, -68, -7, -52, 3, 24,
+   -39, 44, -15, 27, 14, 19, -9, -28,
+   -11, 5, 3, -34, -2, 2, 22, -6,
+   -23, 4, 3, 13, -22, -13, -10, -18,
+   29, 6, 44, -13, -24, -8, 2, 30,
+   14, 43, 6, 17, -73, -6, -7, 20,
+   -80, -7, -7, -28, 15, -69, -38, -5,
+   -100, -35, 15, -79, 23, 29, -18, -27,
+   21, -66, -37, 8, -22, -39, 48, 4,
+   -13, 1, -9, 11, -29, 22, 6, -49,
+   32, -14, 47, -18, -4, 44, -52, -74,
+   43, 30, 23, -14, 5, 0, -27, 4,
+   -7, 10, -4, 10, 1, -16, 11, -18,
+   -2, -5, 2, -11, 0, -20, -4, 38,
+   74, 59, 39, 64, -10, 26, -3, -40,
+   -68, 3, -30, -51, 8, -19, -27, -46,
+   51, 52, 54, 36, 90, 92, 14, 13,
+   -5, 0, 16, -62, 16, 11, -47, -37,
+   -6, -5, 21, 54, -57, 32, 42, -6,
+   62, -9, 16, 21, 24, 9, -10, -4,
+   33, 50, 13, -15, 1, -35, -48, 18,
+   -11, -17, -67, -13, 21, 38, -44, 36,
+   -16, 29, 17, 5, -10, 18, 17, -32,
+   2, 8, 22, -56, -15, -32, 40, 43,
+   19, 46, -7, -100, -96, 19, 53, 24,
+   21, -26, -48, -101, -82, 61, 38, -85,
+   -28, -34, -1, 63, -5, -5, 39, 39,
+   -38, 32, -12, -28, 20, 40, -8, 2,
+   31, 12, -35, -13, 20, -25, 30, 8,
+   3, -13, -9, -20, 2, -13, 24, 37,
+   -10, 33, 6, 20, -16, -24, -6, -6,
+   -19, -5, 22, 21, 10, 11, -4, -39,
+   -1, 6, 49, 41, -15, -57, 21, -62,
+   77, -69, -13, 0, -74, 1, -7, -38,
+   -8, 6, 63, 28, 4, 26, -52, 82,
+   63, 13, 45, -33, 44, -52, -65, -21,
+   -46, -49, 64, -17, 32, 24, 68, -39,
+   -16, -5, -26, 28, 5, -61, -28, 2,
+   24, 11, -12, -33, 9, -37, -3, -28,
+   22, -37, -12, 19, 0, -18, -2, 14,
+   1, 4, 8, -9, -2, 43, -17, -2,
+   -66, -31, 56, -40, -87, -36, -2, -4,
+   -42, -45, -1, 31, -43, -15, 27, 63,
+   -11, 32, -10, -33, 27, -19, 4, 15,
+   -26, -34, 29, -4, -39, -65, 14, -20,
+   -21, -17, -36, 13, 59, 47, -38, -33,
+   13, -37, -8, -37, -7, -6, -76, -31,
+   -12, -46, 7, 24, -21, -30, -14, 9,
+   15, -12, -13, 47, -27, -25, -1, -39,
+   0, 20, -9, 6, 7, 4, 3, 7,
+   39, 50, 22, -7, 14, -20, 1, 70,
+   -28, 29, -41, 10, -16, -5, -28, -2,
+   -37, 32, -18, 17, 62, -11, -20, -50,
+   36, 21, -62, -12, -56, 52, 50, 17,
+   3, 48, 44, -41, -25, 3, 16, -3,
+   0, 33, -6, 15, 27, 34, -25, 22,
+   9, 17, -11, 36, 16, -2, 12, 21,
+   -52, 45, -2, -10, 46, 21, -18, 67,
+   -28, -13, 30, 37, 42, 16, -9, 11,
+   75, 7, -64, -40, -10, 29, 57, -23,
+   5, 53, -77, 3, -17, -5, 47, -55,
+   -35, -36, -13, 52, -53, -71, 52, -111,
+   -23, -26, -28, 29, -43, 55, -19, 43,
+   -19, 54, -12, -33, -44, -39, -19, -10,
+   -31, -10, 21, 38, -57, -20, 2, -25,
+   8, -6, 50, 12, 15, 25, -25, 15,
+   -30, -6, 9, 25, 37, 19, -4, 31,
+   -22, 2, 4, 2, 36, 7, 3, -34,
+   -80, 36, -10, -2, -5, 31, -36, 49,
+   -70, 20, -36, 21, 24, 25, -46, -51,
+   36, -58, -48, -40, -10, 55, 71, 47,
+   10, -1, 1, 2, -46, -68, 16, 13,
+   0, -74, -29, 73, -52, -18, -11, 7,
+   -44, -82, -32, -70, -28, -1, -39, -68,
+   -6, -41, 12, -22, -16, 40, -11, -25,
+   51, -9, 21, 4, 4, -34, 7, -78,
+   16, 6, -38, -30, -2, -44, 32, 0,
+   22, 64, 5, -72, -2, -14, -10, -16,
+   -8, -25, 12, 102, -58, 37, -10, -23,
+   15, 49, 7, -7, 2, -20, -32, 45,
+   -6, 48, 28, 30, 33, -1, 22, -6,
+   30, 65, -17, 29, 74, 37, -26, -10,
+   15, -24, 19, -66, 22, -10, -31, -1,
+   -18, -9, 11, 37, -4, 45, 5, 41,
+   17, 1, 1, 24, -58, 41, 5, -51,
+   14, 8, 43, 16, -10, -1, 45, 32,
+   -64, 3, -33, -25, -3, -27, -68, 12,
+   23, -11, -13, -37, -40, 4, -21, -12,
+   32, -23, -19, 76, 41, -23, -24, -44,
+   -65, -1, -15, 1, 71, 63, 5, 20,
+   -3, 21, -23, 31, -32, 18, -2, 27,
+   31, 46, -5, -39, -5, -35, 18, -18,
+   -40, -10, 3, 12, 2, -2, -22, 40,
+   5, -6, 60, 36, 3, 29, -27, 10,
+   25, -54, 5, 26, 39, 35, -24, -37,
+   30, -91, 28, -4, -21, -27, -39, -6,
+   5, 12, -128, 38, -16, 29, -95, -29,
+   82, -2, 35, 2, 12, 8, -22, 10,
+   80, -47, 2, -25, -73, -79, 16, -30,
+   -32, -66, 48, 21, -45, -11, -47, 14,
+   -27, -17, -7, 15, -44, -14, -44, -26,
+   -32, 26, -23, 17, -7, -28, 26, -6,
+   28, 6, -26, 2, 13, -14, -23, -14,
+   19, 46, 16, 2, -33, -21, 28, -17,
+   -42, 44, -37, 1, -39, 28, 84, -46,
+   15, 10, 13, -44, 72, -26, 26, 32,
+   -28, -12, -83, 2, 10, -30, -44, -10,
+   -28, 53, 45, 65, 0, -25, 57, 36,
+   -33, 6, 29, 44, -53, 11, 19, -2,
+   -27, 35, 32, 49, 4, 23, 38, 36,
+   24, 10, 51, -39, 4, -7, 26, 37,
+   -35, 11, -47, -18, 28, 16, -35, 42,
+   17, -21, -41, 28, 14, -12, 11, -45,
+   7, -43, -15, 18, -5, 38, -40, -50,
+   -30, -21, 9, -98, 13, 12, 23, 75,
+   -56, -7, -3, -4, -1, -34, 12, -49,
+   11, 26, -18, -28, -17, 33, 13, -14,
+   40, 24, -72, -37, 10, 17, -6, 22,
+   16, 16, -6, -12, -30, -14, 10, 40,
+   -23, 12, 15, -3, -15, 13, -56, -4,
+   -30, 1, -3, -17, 27, 50, -5, 64,
+   -36, -19, 7, 29, 22, 25, 9, -16,
+   -58, -69, -40, -61, -71, -14, 42, 93,
+   26, 11, -6, -58, -11, 70, -52, 19,
+   9, -30, -33, 11, -37, -47, -21, -22,
+   -40, 10, 47, 4, -23, 17, 48, 41,
+   -48, 14, 10, 15, 34, -23, -2, -47,
+   23, -32, -13, -10, -26, -26, -4, 16,
+   38, -14, 0, -12, -7, -7, 20, 44,
+   -1, -32, -27, -16, 4, -6, -18, 14,
+   5, 4, -29, 28, 7, -7, 15, -11,
+   -20, -45, -36, 16, 84, 34, -59, -30,
+   22, 126, 8, 68, 79, -17, 21, -68,
+   37, 5, 15, 63, 49, 127, -90, 85,
+   43, 7, 16, 9, 6, -45, -57, -43,
+   57, 11, -23, -11, -29, 60, -26, 0,
+   7, 42, -24, 10, 23, -25, 8, -7,
+   -40, 19, -17, 35, 4, 27, -39, -91,
+   27, -36, 34, 2, 16, -24, 25, 7,
+   -21, 5, 17, 10, -22, -30, 9, -17,
+   -61, -26, 33, 21, 58, -51, -14, 69,
+   -38, 20, 7, 80, -4, -65, -6, -27,
+   53, -12, 47, -1, -15, 1, 60, 102,
+   -79, -4, 12, 9, 22, 37, -8, -4,
+   37, 2, -3, -15, -16, -11, -5, 19,
+   -6, -43, 20, -25, -18, 10, -27, 0,
+   -28, -27, -11, 10, -18, -2, -4, -16,
+   26, 14, -6, 7, -6, 1, 53, -2,
+   -29, 23, 9, -30, -6, -4, -6, 56,
+   70, 0, -33, -20, -17, -9, -24, 46,
+   -5, -105, 47, -46, -51, 20, 20, -53,
+   -81, -1, -7, 75, -5, -21, -65, 12,
+   -52, 22, -50, -12, 49, 54, 76, -81,
+   10, 45, -41, -59, 18, -19, 25, 14,
+   -31, -53, -5, 12, 31, 84, -23, 2,
+   7, 2, 10, -32, 39, -2, -12, 1,
+   -9, 0, -10, -11, 9, 15, -8, -2,
+   2, -1, 10, 14, -5, -40, 19, -7,
+   -7, 26, -4, 2, 1, -27, 35, 32,
+   21, -31, 26, 43, -9, 4, -32, 40,
+   -62, -52, 36, 22, 38, 22, 36, -96,
+   6, -10, -23, -49, 15, -33, -18, -3,
+   0, 41, 21, -19, 21, 23, -39, -23,
+   -6, 6, 47, 56, 4, 74, 0, -98,
+   29, -47, -14, -36, 21, -22, 22, 16,
+   13, 12, 16, -5, 13, 17, -13, -15,
+   1, -34, -26, 26, 12, 32, 27, 13,
+   -67, 27, 2, 8, 10, 18, 16, 20,
+   -17, -17, 57, -64, 5, 14, 19, 31,
+   -18, -44, -46, -16, 4, -25, 17, -126,
+   -24, 39, 4, 8, 55, -25, -34, 39,
+   -16, 3, 9, 71, 72, -31, -55, 6,
+   10, -25, 32, -85, -21, 18, -8, 15,
+   12, -27, -7, 1, -21, -2, -5, 48,
+   -16, 18, 1, -22, -26, 16, 14, -31,
+   27, -6, -15, -21, 4, -14, 18, -36
 };
 
 static const opus_int8 layer1_recur_weights[1728] = {
-   -41, 5, 25, 16, -9, 22, 19, 19,
-   -16, 56, -32, 68, 95, 62, 124, 81,
-   30, 112, -24, 30, -12, 104, 49, 24,
-   -10, 33, 31, 38, 10, 71, -16, 29,
-   13, 14, 38, -7, 79, -25, -35, 6,
-   9, -90, -16, -109, -49, 35, -15, -127,
-   85, 12, -6, 16, 27, 26, 82, 10,
-   -79, -36, 42, -88, 50, -26, -7, -87,
-   127, 19, -96, -75, -3, 6, 8, -4,
-   84, -30, -26, 70, -9, -123, -13, -2,
-   64, -125, -49, -99, 126, 67, 94, -20,
-   54, 110, -15, -48, -91, -1, 64, 4,
-   31, -1, 52, -55, 16, 52, 21, 127,
-   -124, 10, 31, 127, 41, -53, 68, 40,
-   16, 48, -19, -69, -16, -100, -29, -97,
-   -2, 47, -16, 40, 80, 60, 82, -18,
-   -42, 15, -43, 42, 123, -28, 38, 18,
-   35, -8, 38, -119, 103, 33, 9, -25,
-   120, -110, -50, -30, 2, -67, -42, -33,
-   -85, 38, 59, -55, 71, 97, -29, -64,
-   14, 32, 1, -128, -26, -121, -33, -8,
-   2, -65, 22, 85, -55, -57, 17, 37,
-   2, -78, 28, -54, 17, -31, 31, 26,
-   -8, 25, 23, -52, -15, -58, -18, 4,
-   -23, -27, 4, 5, -85, 34, 29, -1,
-   -80, -8, 1, 22, -32, 22, -27, 95,
-   -55, -70, -127, -46, -58, -7, 38, -4,
-   127, -14, -7, 71, 62, 43, -57, -54,
-   60, -58, -28, -43, -50, 127, 101, 15,
-   25, 49, -53, 17, -81, -60, 83, -32,
-   46, 57, -59, 19, 49, -12, -109, 20,
-   -19, -50, -7, 14, 79, 59, -30, -57,
-   -5, -60, 13, 5, 85, -33, -89, 9,
-   127, 13, -38, 127, 57, 99, 14, -26,
-   -105, 3, -38, -77, 41, -19, 28, -31,
-   23, -88, -22, -60, -29, 14, -84, 9,
-   8, -1, -21, 49, 58, 15, -4, -6,
-   100, -9, -26, -54, 94, 84, 25, 25,
-   27, 49, -1, 0, -104, -5, 33, -10,
-   40, 54, 15, 62, -1, -39, -54, 18,
-   41, 15, -17, -84, -29, 31, -10, -65,
-   -47, 1, -66, -17, -43, 34, 5, -61,
-   94, 107, 37, 55, 46, 57, 63, -66,
-   -14, 13, -82, 7, 10, -11, 72, 123,
-   102, 1, -112, -71, 121, 56, -24, -24,
-   127, 5, -24, -49, 104, -27, 56, -15,
-   2, 76, 107, 24, 83, 86, 90, 45,
-   116, 124, 48, 29, 102, 36, 10, 55,
-   29, -29, 12, -84, -18, -50, -8, 17,
-   -28, -52, -64, -3, 118, 54, 51, 45,
-   -59, 47, -1, -35, 22, -10, 12, -79,
-   -24, 4, 60, 92, -67, 125, -90, 29,
-   -48, 64, -104, 23, -12, -51, -53, -37,
-   -66, 21, 113, 75, 37, 9, -20, 0,
-   5, -75, 32, 60, 12, 35, -68, -16,
-   48, -22, 40, -19, 40, 77, -51, 63,
-   23, 85, 8, 9, -41, -59, 98, 9,
-   -24, -48, 47, 4, 48, 48, 4, 91,
-   -69, 21, 21, 70, 22, 15, 57, 111,
-   -64, -18, -8, 49, 43, -26, 7, -82,
-   111, -21, 1, -52, 59, -82, 106, 5,
-   -5, -45, 35, -15, -2, 57, 62, 57,
-   68, -6, -27, -51, 50, 60, -21, -12,
-   -127, 34, 89, -117, -59, -83, -76, 80,
-   -59, -29, 56, -18, 27, -70, -67, 46,
-   -92, -87, 12, -116, 71, -72, 4, -51,
-   -64, 70, 6, -104, -67, 42, 3, -5,
-   98, 41, -20, -1, 64, -32, -58, 51,
-   -69, -126, 46, -21, -75, -27, -52, 52,
-   -12, -17, 28, -1, -7, -21, -3, 88,
-   68, 7, 3, 67, -7, 59, 33, 25,
-   -4, -45, -38, 46, 72, -24, -92, -25,
-   -108, 43, -35, -90, 3, -6, 22, -80,
-   91, -35, 111, 8, -54, 21, -125, 31,
-   -77, -121, -17, -56, -18, -125, -126, 36,
-   -24, 35, 1, 0, 25, -20, 14, 12,
-   3, 90, -87, 17, -54, -60, -58, -9,
-   22, -35, 32, 12, 5, 17, -92, 3,
-   8, -54, -128, -22, -75, -41, -22, 127,
-   73, -9, -6, 12, -71, 106, -54, 120,
-   -17, -51, 94, 13, -24, -67, -7, 35,
-   -69, 27, -48, -77, 56, -60, -48, 64,
-   38, 88, -20, 20, -123, 42, -91, 55,
-   -98, -41, 78, -107, 120, -82, -91, 17,
-   21, 31, 7, 31, 67, 32, -42, -9,
-   126, 49, -41, -103, -66, -8, -32, -64,
-   18, -56, 25, -14, 35, 35, -29, -18,
-   -49, 2, 75, -46, -86, 47, -71, -14,
-   18, 28, 15, 40, 33, -18, -45, 60,
-   -52, 3, 43, 61, -115, -52, -1, 21,
-   -28, 27, 17, -33, -125, 29, -9, 126,
-   91, 37, -37, 106, -39, 61, -122, 5,
-   -125, -123, 23, 35, -22, 12, 81, 20,
-   -36, 76, 34, 63, 53, -64, 46, 24,
-   41, 122, -22, 61, -14, -21, 10, 94,
-   27, -27, 78, 3, 2, 15, 14, 20,
-   -3, -15, -11, -128, -35, -58, 8, -43,
-   83, -26, 48, 44, 8, -14, -10, 56,
-   -48, 12, -39, -40, -17, 66, 69, 33,
-   -34, -16, -32, 48, -86, 2, 21, 2,
-   51, 31, -39, 57, -20, 16, -24, 66,
-   65, -6, 64, -13, 2, 73, -85, -7,
-   -127, -53, 49, -68, -44, 26, 79, -6,
-   78, 17, -34, 45, 33, 16, 17, 56,
-   -76, 28, 44, 12, 15, 35, 21, 66,
-   -47, 53, 27, -13, 13, -30, 55, -31,
-   67, -63, -4, 51, -40, 49, 51, 14,
-   -38, -62, -49, 50, 26, 3, -16, -39,
-   42, 7, 30, -27, 108, -73, -29, -6,
-   29, 42, 19, -77, -40, -17, 57, -19,
-   90, 70, -72, -40, -30, 65, 84, -4,
-   2, 9, 33, -73, 73, 81, 8, -21,
-   -22, -57, -5, -58, -32, 14, 34, 10,
-   38, 7, 41, 0, -25, 38, 3, -125,
-   62, -25, -20, 13, 20, 14, -9, -27,
-   13, 31, -128, -85, 72, -63, -49, -18,
-   81, 47, 37, 63, -10, -10, -66, 4,
-   -116, 53, 14, 49, 6, 37, 38, -4,
-   -47, 64, 15, 0, -110, -19, 45, 7,
-   -37, 20, 21, 22, 51, 17, -39, 71,
-   -59, -1, -35, -8, -73, -106, -30, 5,
-   -68, -18, -36, 35, -21, -17, -1, 4,
-   -24, -28, 5, 4, 11, -50, 27, 84,
-   -16, -60, -86, -12, -31, -8, 43, 52,
-   94, 14, 29, 46, -34, 6, -2, 51,
-   -36, -56, -9, -48, -8, 26, 78, 3,
-   -31, -46, 25, 14, -8, -9, -47, 1,
-   -23, 65, 42, -5, 104, 96, -70, 18,
-   -69, 84, -2, -28, -19, -35, 5, -49,
-   -88, -117, 9, 82, -71, -58, 33, 82,
-   17, 40, -93, 32, 5, 21, 38, -23,
-   -77, -40, 48, -8, -10, 22, -27, -47,
-   -49, 46, 67, -17, 81, -61, 92, 54,
-   8, -71, 127, 23, -61, 51, 13, 32,
-   -35, -52, -32, -4, -47, 20, 0, -62,
-   -126, 3, -17, -127, 18, -70, 11, -29,
-   -87, -27, -19, -13, -9, -128, -26, 69,
-   -67, -29, 66, 49, 1, -119, -73, -7,
-   -55, -9, 48, -45, -27, 26, 57, 12,
-   9, 51, -98, -14, -21, -37, 88, 23,
-   -37, 65, -11, 69, -7, -34, 16, 33,
-   36, 94, 56, 5, 63, -38, 25, -55,
-   -81, -74, 21, 30, -4, -16, 52, 37,
-   4, 8, -48, 8, 127, -75, -56, -79,
-   -76, 61, 17, -27, -63, -56, -53, 39,
-   -109, -50, -77, -7, -100, -88, 23, -108,
-   -120, 120, -87, -122, -87, 36, 63, -65,
-   3, -32, 84, 55, 71, 126, 10, 37,
-   29, 16, 45, 40, 75, -5, 40, -105,
-   -7, -15, -25, 12, -78, 46, -9, -114,
-   90, 50, -41, -23, 6, -58, 75, 19,
-   62, -33, -38, -24, 66, 22, 66, -4,
-   124, 29, -55, -29, 42, -17, -123, -79,
-   -8, -3, -2, 19, 59, -33, -39, 41,
-   51, 0, 45, -15, 67, 8, -42, 2,
-   -20, -49, 95, -32, 5, -56, 37, 21,
-   -11, -18, -8, 53, 17, 43, 14, 81,
-   -90, -40, 69, -33, 59, 28, -8, 44,
-   47, -11, -26, -92, 31, 86, 12, -39,
-   9, -28, -22, -6, -42, -4, -23, 6,
-   -57, 109, -46, -12, 10, -77, -66, -24,
-   -26, 119, 78, 43, -17, -14, -45, 73,
-   -4, 13, -44, -78, 26, -64, -60, -99,
-   -104, 31, -16, -93, -64, 48, -17, 108,
-   -71, 12, 34, -63, 24, 14, -28, -48,
-   1, 94, -29, -27, 2, -5, -53, 18,
-   56, 91, -19, -28, 45, -38, -55, -106,
-   -10, 41, 49, -38, -4, 1, -84, -37,
-   -77, 4, -66, 19, 56, 41, -82, 114,
-   97, -50, 83, -38, 31, -126, -22, -94,
-   -86, 44, 37, 35, 11, 60, 49, 3,
-   26, 18, 124, -64, 50, -72, 17, -80,
-   16, 30, 113, 34, -19, 32, 63, -30,
-   95, -88, 55, 126, 127, 107, 49, 83,
-   -17, -75, 1, -107, 27, 20, 115, 31,
-   57, -11, -36, 41, 91, 31, 58, -38,
-   -12, 4, 39, 38, 37, 13, -73, 33,
-   11, 43, 35, 23, -86, 36, -10, 19,
-   34, -10, -35, -8, 47, -105, -60, 75,
-   -25, 127, 14, 106, 81, -9, -46, 21,
-   35, 42, -6, 3, 118, 78, 37, 33,
-   22, 98, 46, 50, -23, 81, 122, 18,
-   30, 64, 105, 101, -116, -33, -66, 18,
-   -59, -99, -125, -79, 19, 127, 120, -98,
-   13, 27, 32, 26, 3, 20, 120, 10,
-   29, 91, 51, 78, 28, -61, 34, -12,
-   54, -19, 51, -17, 29, 56, 53, -124,
-   -10, -97, 9, -10, -9, 2, 9, 33,
-   33, 44, -47, 36, 52, -54, 63, 88,
-   -11, 70, 68, 113, 11, 127, 65, 88,
-   126, -12, 28, 81, 57, 123, 71, 26,
-   5, 117, 16, 16, -9, 92, 50, -35,
-   27, 27, -47, 39, 46, 13, 19, 61,
-   106, 74, -31, 52, 94, 22, -40, -72,
-   57, 10, 45, 25, 5, -5, 36, -7,
-   -43, 40, 40, -81, -36, -47, 8, -18,
-   63, 31, -48, 58, -49, -19, 25, -5,
-   63, -76, 9, -2, 1, 127, 19, -24,
-   32, 36, 23, 25, -49, 104, 13, 3,
-   75, 12, -31, 38, 122, 20, 49, 35,
-   -14, 16, 44, 101, -12, 119, 50, -48,
-   -7, -11, 15, -103, -9, -39, 4, -54,
-   -67, 32, 30, 47, 40, 60, 9, -17,
-   -31, 47, 13, 127, -21, -4, 50, 28,
-   34, -4, -72, -24, -2, -41, 3, 26,
-   -34, -90, 82, 1, -83, 47, 40, -8,
-   -4, 4, -65, -10, 115, 43, 104, 42,
-   32, 85, -78, 12, 59, 71, 113, 42,
-   -20, 50, -29, 61, 6, 104, 74, 65,
-   -73, 12, 93, 77, 21, 24, -14, 84,
-   58, 105, 37, 37, 85, -53, 76, -95,
-   26, -17, -51, -64, -75, -19, -1, 27,
-   25, -49, 46, 73, 19, -13, -98, -8,
-   1, -37, -69, -81, 28, 2, 7, -40,
-   -47, 55, 29, 53, 33, 103, -53, -15,
-   19, -9, 7, 120, -21, 28, 27, 13
+   20, 67, -99, 12, 41, -25, 49, -44,
+   35, 81, 110, 47, 34, -66, -14, 14,
+   -60, 34, 29, -73, 10, 41, 35, 89,
+   7, -35, 22, 7, 27, -20, -6, 56,
+   26, 66, 6, 33, -55, 53, 1, -21,
+   14, 17, 68, 55, 59, 0, 18, -9,
+   5, -41, 6, -5, -114, -12, 29, 42,
+   -23, 10, 81, -27, 20, -53, -30, -62,
+   40, 95, 25, -4, 3, 18, -8, -15,
+   -29, -82, 2, -57, -3, -61, -29, -29,
+   49, 2, -55, 5, -69, -99, -49, -51,
+   6, -25, 12, 89, 44, -33, 5, 41,
+   1, 23, -37, -37, -28, -48, 3, 4,
+   -41, -30, -57, -35, -39, -1, -13, -56,
+   -5, 50, 49, 41, -4, -4, 33, -22,
+   -1, 33, 34, 18, 40, -42, 12, 1,
+   -6, -2, 18, 17, 39, 44, 11, 65,
+   -60, -45, 10, 91, 21, 9, -62, -11,
+   8, 69, 37, 24, -30, 21, 26, -27,
+   1, -28, 24, 66, -8, 6, -71, 34,
+   24, 44, 58, -78, -19, 57, 17, -60,
+   1, 12, -3, -1, -40, 22, 11, -5,
+   25, 12, 1, 72, 79, 7, -50, 23,
+   18, 13, 21, -11, -20, 5, 77, -94,
+   24, 15, 57, -51, 3, 36, 53, -1,
+   4, 14, 30, -31, 22, 40, 32, -11,
+   -34, -36, -59, 58, 25, 21, -54, -23,
+   40, 46, 18, 0, 12, 54, -96, -99,
+   -59, 5, 119, -38, 50, 55, 12, -16,
+   67, 0, 34, 35, 39, 35, -1, 69,
+   24, 27, -30, -35, -4, -70, 2, -44,
+   -7, -6, 19, -9, 60, 44, -21, -10,
+   37, 43, -16, -3, 30, -15, -65, 31,
+   -55, 18, -98, 76, 64, 25, 24, -18,
+   -7, -68, -10, 38, 27, -60, 36, 33,
+   16, 30, 34, -39, -37, 31, 12, 53,
+   -54, 14, -26, -49, -128, -13, -5, -22,
+   -11, -85, 55, -8, -51, -11, -33, -10,
+   -31, -76, -41, 23, 44, -40, -54, -127,
+   -101, 19, -23, -15, 15, 27, 58, -60,
+   8, 14, -33, 1, 48, -9, -11, -123,
+   3, 53, 23, 4, -28, 22, 2, -29,
+   -67, 36, 12, 7, 55, -21, 88, 20,
+   -1, -21, -17, 3, 41, 32, -10, -14,
+   -5, -57, 67, 57, 21, 23, -2, -27,
+   -73, -24, 120, 21, 18, -35, 42, -7,
+   3, -45, -25, 76, -34, 50, 11, -54,
+   -91, 3, -113, -20, -5, 47, 15, -47,
+   17, 27, -3, -26, -7, 10, 7, 74,
+   -40, 64, -7, -5, -24, -49, -24, -3,
+   -10, 27, -17, -8, -3, 14, -27, 33,
+   13, 39, 28, -7, -38, 29, 16, 44,
+   19, 55, -3, 9, -13, -57, 43, 43,
+   31, 0, -93, -17, 19, -56, 4, -12,
+   -25, 37, -85, -13, -118, 33, -17, 56,
+   71, -80, -4, 6, -11, -18, 47, -52,
+   25, 9, 48, -107, 1, 21, 20, -3,
+   10, -16, -4, 24, 17, 31, -61, -18,
+   -50, 24, -10, 12, 71, 26, 11, -3,
+   4, 1, 0, -7, -40, 18, 38, -34,
+   38, 17, 8, -34, 2, 21, 123, -32,
+   -26, 43, 14, -34, -1, -9, 37, -16,
+   6, -17, -62, 68, 22, 17, 11, -75,
+   33, -80, 62, -9, -75, 76, 36, -41,
+   -8, -40, -11, -71, 40, -39, 62, -49,
+   -81, 16, -9, -52, 52, 61, 17, -103,
+   -27, -10, -8, -54, -57, 21, 23, -16,
+   -52, 36, 18, 10, -5, 8, 15, -29,
+   5, -19, -37, 8, -53, 6, 19, -37,
+   38, -17, 48, 10, 0, 81, 46, 70,
+   -29, 101, 11, 44, -44, -3, 24, 11,
+   3, 14, -9, 11, 14, -45, 13, 46,
+   -3, -57, 68, 44, 63, 98, 25, -28,
+   -23, 15, 32, -10, 53, -6, -2, -9,
+   -6, 16, -107, -11, -11, -28, 59, 57,
+   -22, 38, 42, 83, 27, 5, 29, -30,
+   12, -21, -13, 31, 38, -21, 58, -10,
+   -10, -15, -2, -5, 11, 12, -73, -28,
+   -38, 22, 2, -25, 73, -52, -12, -55,
+   32, -63, 21, 51, 33, 52, -26, 55,
+   -26, -26, 57, -32, -4, -52, -61, 21,
+   -33, -91, -51, 69, -90, -53, -38, -44,
+   12, -76, -20, 77, -45, -7, 86, 43,
+   -109, -33, -105, -40, -121, -10, 0, -72,
+   45, -51, -75, -49, -38, -1, -62, 18,
+   -1, 30, -44, -14, -10, -67, 40, -10,
+   -34, 46, -64, -32, 29, -13, 33, 3,
+   -32, -5, 28, -27, -25, 93, 24, 68,
+   -40, 57, 23, -3, -21, -58, 17, -39,
+   -17, -22, -89, 11, 18, -46, 27, 24,
+   46, 127, 61, 87, 31, 127, -36, 47,
+   -23, 47, 127, -24, 110, 122, 30, 100,
+   0, 96, -12, 6, 50, 44, -13, 73,
+   4, 55, -11, -15, 49, 42, -6, 20,
+   -35, 58, 18, 38, 42, 72, 19, -21,
+   11, 9, -37, 7, 29, 31, 16, -17,
+   13, -50, 19, 5, -23, 51, -16, -5,
+   4, -24, 76, 10, -53, -28, -7, -65,
+   74, 40, -16, -29, 32, -16, -49, -35,
+   -3, 59, -96, -50, -43, -43, -61, -15,
+   -8, -36, -34, -33, -14, 11, -3, -39,
+   4, -114, -123, -11, -49, -21, 14, -56,
+   1, 43, -63, 26, 40, 18, -10, -26,
+   -14, -15, -35, -35, -11, 32, -44, -67,
+   2, 22, 7, 3, -9, -30, -51, -28,
+   28, 6, -22, 16, 34, -25, -52, -54,
+   -8, -6, 5, 8, 20, -16, -17, -44,
+   27, 3, 31, -5, -48, -1, -3, 116,
+   11, 71, -31, -47, 109, 50, -22, -12,
+   -57, 32, 66, 8, -25, -93, -54, -10,
+   19, -76, -34, 97, 48, -36, -18, -30,
+   -39, -26, -12, 28, 14, 12, -12, -31,
+   38, 2, 10, 4, -40, 20, 16, -61,
+   2, 64, 39, 5, 15, 33, 40, -61,
+   -49, 93, -10, 33, 28, -11, -27, -18,
+   39, -62, -6, -6, 62, 11, -8, 38,
+   -67, 12, 27, 39, -27, 123, -18, -6,
+   -65, 83, -64, 20, 19, -11, 33, 24,
+   17, 56, 78, 7, -15, 54, -101, -9,
+   115, -96, 50, 51, 35, 34, 27, 37,
+   -40, -11, 8, -36, 42, -45, 2, -23,
+   0, 67, -8, -9, -13, 50, -14, -27,
+   4, 0, -8, -14, 30, -9, 29, 15,
+   9, -38, 37, -8, 50, -46, 54, 41,
+   -11, -8, -11, -26, 39, 45, 14, -26,
+   -17, -27, 69, 38, 39, 98, 66, 0,
+   42, 123, -101, -19, -83, 117, -32, 56,
+   10, 12, -88, 79, -53, 56, 63, 95,
+   -62, 9, 36, -13, -79, -16, 37, -46,
+   35, -34, 14, 17, -54, 5, 21, -7,
+   7, 63, 56, 15, 27, -76, -25, 4,
+   -26, -63, 28, -67, -52, 43, -47, -70,
+   40, -12, 40, -66, -37, 0, 35, 37,
+   -53, 4, -17, -51, 11, 21, 14, -34,
+   -4, 24, -42, 29, 22, 7, 28, 12,
+   37, 39, -39, -19, 65, -60, -50, -2,
+   1, 82, 39, 19, -23, -43, -22, -67,
+   -35, -34, 32, 102, 81, 127, 36, 67,
+   -45, 1, -67, -52, -4, 35, 20, 28,
+   71, 86, -35, -9, -83, -34, 12, 9,
+   -23, 2, 14, 28, -23, 7, -25, 45,
+   7, 17, -37, 0, -19, 31, 26, 40,
+   -27, -16, 17, 5, -21, 23, 24, 96,
+   -55, 52, -19, -14, -6, 1, 50, -34,
+   86, -53, 38, 2, -52, -36, -13, 60,
+   -85, -120, 32, 7, -12, 22, 70, -7,
+   -94, 38, -76, -31, -20, 15, -28, 7,
+   6, 40, 53, 88, 3, 38, 18, -8,
+   -22, -23, 51, 37, -9, 13, -32, 25,
+   -21, 27, 31, 20, 18, -9, -13, 1,
+   21, -24, -13, 39, 15, -11, -29, -36,
+   18, 15, 8, 27, 21, -94, -1, -22,
+   49, 66, -1, 6, -3, -40, -18, 6,
+   28, 12, 33, -59, 62, 60, -48, 90,
+   -1, 108, 9, 18, -2, 27, 77, -65,
+   82, -48, -38, -19, -11, 127, 50, 66,
+   18, -13, -22, 60, -38, 40, -14, -26,
+   -13, 38, 67, 57, 30, 33, 26, 36,
+   38, -17, 27, -28, 20, 12, -64, 18,
+   5, -33, -27, 13, -26, 32, 35, -5,
+   -48, -14, 92, 43, -47, -14, 40, 11,
+   51, 66, 22, -63, -16, -61, 4, -28,
+   27, 20, -33, -30, -21, -29, -53, 31,
+   -40, 24, 43, -4, -19, 21, 67, 20,
+   100, -16, -93, 78, -6, -18, -52, -37,
+   -9, 66, -31, -8, 26, 18, 4, 24,
+   -22, 17, -2, -13, 27, 0, 8, -18,
+   -25, 5, -21, -24, -7, 18, -93, 21,
+   7, 2, -75, 69, 50, -5, -15, -17,
+   60, -42, 55, 1, -4, 3, 10, 46,
+   16, -13, 45, -7, -10, -44, -108, 49,
+   2, -15, -64, -12, -72, 32, -38, -45,
+   10, -54, 13, -13, -27, -36, -64, 58,
+   -62, -101, 88, -86, -71, -39, -9, -128,
+   32, 15, -4, 54, -16, -39, -26, -36,
+   46, 48, -64, -10, 19, 30, -13, 34,
+   -8, 50, 60, -22, -6, -11, -30, 5,
+   50, 32, 56, 0, 25, 6, 68, 11,
+   -29, 45, -9, -12, 4, 1, 18, -49,
+   0, -38, -19, 90, 29, 35, 51, 8,
+   -48, 96, -1, -12, -9, -32, -63, -65,
+   -7, 38, 89, 28, -85, -28, -23, -25,
+   -128, 56, 79, -36, 99, -6, -37, 7,
+   -13, -69, -46, -29, 25, 64, -21, 17,
+   1, 42, -66, 1, 80, 26, -32, 21,
+   15, 15, 6, 6, -10, 15, 127, 5,
+   38, 27, 87, -57, -25, 11, 72, -21,
+   -5, 11, -13, -66, 78, 36, -3, 41,
+   -21, 8, -33, 23, 73, 28, 57, -25,
+   -5, 4, -22, -47, 15, 4, -57, -72,
+   33, 1, 18, 2, 53, -71, -99, -21,
+   -3, -111, 108, 71, -14, 82, 25, 61,
+   -48, 5, 9, -51, -20, -25, -3, 14,
+   -33, 14, -3, -34, 22, 12, -19, -38,
+   -16, 2, 21, 16, 26, -31, 75, 44,
+   -31, 16, 26, 66, 17, -9, -22, -22,
+   22, -44, 22, 27, 2, 58, -14, 10,
+   -73, -42, 55, -25, -61, 72, -1, 30,
+   -58, -25, 63, 26, -48, -40, 26, -30,
+   60, 8, -17, -1, -18, -20, 43, -20,
+   -4, -28, 127, -106, 29, 70, 64, -27,
+   39, -33, -5, -88, -40, -52, 26, 44,
+   -17, 23, 2, -49, 22, -9, -8, 86,
+   49, -43, -60, 1, 10, 45, 36, -53,
+   -4, 33, 38, 48, -72, 1, 19, 21,
+   -65, 4, -5, -62, 27, -25, 17, -6,
+   6, -45, -39, -46, 4, 26, 127, -9,
+   18, -33, -18, -3, 33, 2, -5, 15,
+   -26, -22, -117, -63, -17, -59, 61, -74,
+   7, -47, -58, -128, -67, 15, -16, -128,
+   12, 2, 20, 9, -48, -40, 43, 3,
+   -40, -16, -38, -6, -22, -28, -16, -59,
+   -22, 6, -5, 11, -12, -66, -40, 27,
+   -62, -44, -19, 38, -3, 39, -8, 40,
+   -24, 13, 21, 50, -60, -22, 53, -29,
+   -6, 1, 22, -59, 0, 17, -39, 115
 };
 
 static const opus_int8 layer1_bias[72] = {
-   47, 0, -35, 34, 104, 95, 120, -3,
-   -5, 105, -41, 79, -27, 122, 46, 89,
-   89, 34, 71, 94, 70, 68, 79, 18,
-   44, 25, -15, -22, 18, -22, 9, -14,
-   -45, 5, 1, 20, 38, 22, 15, 24,
-   28, -14, -2, 10, 8, -27, -18, -46,
-   -5, 34, -43, -33, 12, 13, 0, 0,
-   9, -47, 28, 14, -18, 17, 8, 10,
-   -38, -23, -20, -11, 59, 45, 76, 24
+   -42, 20, 16, 0, 105, 60, 1, -97,
+   24, 60, 18, 13, 62, 25, 127, 34,
+   79, 55, 118, 127, 95, 31, -4, 87,
+   21, 12, 2, -14, 18, 23, 8, 17,
+   -1, -8, 5, 4, 24, 37, 21, 13,
+   36, 13, 17, 18, 37, 30, 33, 1,
+   8, -16, -11, -5, -31, -3, -5, 0,
+   6, 3, 58, -7, -1, -16, 5, -13,
+   16, 10, -2, -14, 11, -4, 3, -11
 };
 
 static const opus_int8 layer2_weights[48] = {
-   122, -51, 118, -67, -23, -128, 126, -124,
-   127, 12, 2, -68, 117, -80, 3, 127,
-   71, 127, -128, -83, -15, 93, 13, 40,
-   27, -127, 65, 101, 84, 16, 85, 117,
-   127, -120, -59, -55, -128, -51, -128, -65,
-   127, 1, 99, 127, -60, 127, -128, 50
+   -113, -88, 31, -128, -126, -61, 85, -35,
+   118, -128, -61, 127, -128, -17, -128, 127,
+   104, -9, -128, 33, 45, 127, 5, 83,
+   84, -128, -85, -128, -45, 48, -53, -128,
+   46, 127, -17, 125, 117, -41, -117, -91,
+   -127, -68, -1, -89, -80, 32, 106, 7
 };
 
 static const opus_int8 layer2_bias[2] = {
-   34, 115
+   14, 117
 };
 
 const DenseLayer layer0 = {