diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java index 3dc8c7d..703096c 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java @@ -94,7 +94,18 @@ public void evaluate(VectorizedRowBatch batch) { // Merge the result of last evaluate to previous evaluate. int newSize = batch.size + sizeAfterFirstChild; - System.arraycopy(selectedAfterFirstChild, 0, batch.selected, batch.size, sizeAfterFirstChild); + for (int i = 0; i < batch.size; i++) { + tmp[batch.selected[i]] = 1; + } + int k = 0; + for (int j = 0; j < n; j++) { + int i = initialSelected[j]; + if (tmp[i] == 1) { + batch.selected[k++] = i; + } + } + + batch.size = newSize; if (newSize == n) { // Filter didn't do anything diff --git ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorLogicalExpressions.java ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorLogicalExpressions.java index d7b5410..144cac5 100644 --- ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorLogicalExpressions.java +++ ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorLogicalExpressions.java @@ -19,10 +19,6 @@ package org.apache.hadoop.hive.ql.exec.vector.expressions; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.util.HashSet; -import java.util.Set; import org.apache.hadoop.hive.ql.exec.vector.ColumnVector; import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector; @@ -386,29 +382,22 @@ public void testFilterExprOrExpr() { } assertEquals(5, batch1.size); - Set expectedSet = new HashSet(); - expectedSet.add(0); - expectedSet.add(2); - expectedSet.add(3); - expectedSet.add(4); - expectedSet.add(7); - - assertTrue(expectedSet.contains(batch1.selected[0])); - assertTrue(expectedSet.contains(batch1.selected[1])); - assertTrue(expectedSet.contains(batch1.selected[2])); - assertTrue(expectedSet.contains(batch1.selected[3])); - assertTrue(expectedSet.contains(batch1.selected[4])); + assertEquals(0, batch1.selected[0]); + assertEquals(2, batch1.selected[1]); + assertEquals(3, batch1.selected[2]); + assertEquals(4, batch1.selected[3]); + assertEquals(7, batch1.selected[4]); // Repeat the expression on the same batch, // the result must be unchanged. orExpr.evaluate(batch1); assertEquals(5, batch1.size); - assertTrue(expectedSet.contains(batch1.selected[0])); - assertTrue(expectedSet.contains(batch1.selected[1])); - assertTrue(expectedSet.contains(batch1.selected[2])); - assertTrue(expectedSet.contains(batch1.selected[3])); - assertTrue(expectedSet.contains(batch1.selected[4])); + assertEquals(0, batch1.selected[0]); + assertEquals(2, batch1.selected[1]); + assertEquals(3, batch1.selected[2]); + assertEquals(4, batch1.selected[3]); + assertEquals(7, batch1.selected[4]); } @Test @@ -437,18 +426,11 @@ public void testFilterExprOrExprWithBatchReuse() { orExpr.evaluate(batch1); assertEquals(5, batch1.size); - Set expectedSet = new HashSet(); - expectedSet.add(0); - expectedSet.add(1); - expectedSet.add(3); - expectedSet.add(5); - expectedSet.add(6); - - assertTrue(expectedSet.contains(batch1.selected[0])); - assertTrue(expectedSet.contains(batch1.selected[1])); - assertTrue(expectedSet.contains(batch1.selected[2])); - assertTrue(expectedSet.contains(batch1.selected[3])); - assertTrue(expectedSet.contains(batch1.selected[4])); + assertEquals(0, batch1.selected[0]); + assertEquals(1, batch1.selected[1]); + assertEquals(3, batch1.selected[2]); + assertEquals(5, batch1.selected[3]); + assertEquals(6, batch1.selected[4]); } @Test @@ -475,14 +457,9 @@ public void testFilterExprOrExprWithSelectInUse() { orExpr.evaluate(batch1); assertEquals(3, batch1.size); - Set expectedSet = new HashSet(); - expectedSet.add(0); - expectedSet.add(3); - expectedSet.add(7); - - assertTrue(expectedSet.contains(batch1.selected[0])); - assertTrue(expectedSet.contains(batch1.selected[1])); - assertTrue(expectedSet.contains(batch1.selected[2])); + assertEquals(0, batch1.selected[0]); + assertEquals(3, batch1.selected[1]); + assertEquals(7, batch1.selected[2]); } @Test diff --git ql/src/test/results/clientpositive/vectorization_1.q.out ql/src/test/results/clientpositive/vectorization_1.q.out index d3deaa8..6f428e1 100644 --- ql/src/test/results/clientpositive/vectorization_1.q.out +++ ql/src/test/results/clientpositive/vectorization_1.q.out @@ -42,4 +42,4 @@ WHERE (((cdouble > ctinyint) POSTHOOK: type: QUERY POSTHOOK: Input: default@alltypesorc #### A masked pattern was here #### -1074.8302575472298 -40.89917266161453 -21997.674998402596 -21999.063998402595 4.839282601059194E8 62 -4.839282601059194E8 1073680599 8.5414512692247E10 7.569848642620903E10 10.175 3745 -563 +1074.830257547229 -40.89917266161449 -21997.674998402596 -21999.063998402595 4.839282601059194E8 62 -4.839282601059194E8 1073680599 8.5414512692247E10 7.569848642620903E10 10.175 3745 -563 diff --git ql/src/test/results/clientpositive/vectorization_4.q.out ql/src/test/results/clientpositive/vectorization_4.q.out index 0a26237..0d6829f 100644 --- ql/src/test/results/clientpositive/vectorization_4.q.out +++ ql/src/test/results/clientpositive/vectorization_4.q.out @@ -46,4 +46,4 @@ WHERE (((csmallint >= cint) POSTHOOK: type: QUERY POSTHOOK: Input: default@alltypesorc #### A masked pattern was here #### --493101012745 277615870175435 -493101016473 136727.7868296355 -136727.7868296355 2298.5515807767374 0 0.0 1.869448769133025E10 -0.0 -278108971191908 -64 -64 0.0 +-493101012745 277615870175435 -493101016473 136727.7868296355 -136727.7868296355 2298.5515807767374 0 0.0 1.8694487691330246E10 -0.0 -278108971191908 -64 -64 0.0 diff --git ql/src/test/results/clientpositive/vectorization_6.q.out ql/src/test/results/clientpositive/vectorization_6.q.out index 32a3815..d73274f 100644 --- ql/src/test/results/clientpositive/vectorization_6.q.out +++ ql/src/test/results/clientpositive/vectorization_6.q.out @@ -55,16 +55,6 @@ NULL -36.0 NULL -197777600 200 36.0 0.73 -12924.0 NULL 200.0 39 NULL NULL 10.0 NULL -197777600 200 -10.0 -2.628 3590.0 NULL 200.0 85 NULL NULL -38.0 NULL -197777600 200 38.0 0.6915789473684211 -13642.0 NULL 200.0 37 NULL NULL -43.0 NULL -197777600 200 43.0 0.6111627906976744 -15437.0 NULL 200.0 32 NULL -true -51.0 7V65Eih84lc86QMJ2O NULL NULL 51.0 0.5152941176470588 -18309.0 -15 NULL 24 -11430 -true -51.0 4Mk3721iRh6 NULL NULL 51.0 0.5152941176470588 -18309.0 8 NULL 24 6096 -true -51.0 4Mn8007R4LoxG NULL NULL 51.0 0.5152941176470588 -18309.0 18 NULL 24 13716 -true -51.0 xjk22HQH0F0E161 NULL NULL 51.0 0.5152941176470588 -18309.0 -34 NULL 24 -25908 -true -51.0 gtulO7xHeSn NULL NULL 51.0 0.5152941176470588 -18309.0 42 NULL 24 32004 -true -51.0 M76D058tDDD25v3g NULL NULL 51.0 0.5152941176470588 -18309.0 -45 NULL 24 -34290 -true -51.0 q0YasY0Y17250cD NULL NULL 51.0 0.5152941176470588 -18309.0 -1 NULL 24 -762 -true -51.0 VfD3Byd4aV358l12 NULL NULL 51.0 0.5152941176470588 -18309.0 -6 NULL 24 -4572 -true -51.0 PYSh3CD1vxxH3Aq2B NULL NULL 51.0 0.5152941176470588 -18309.0 11 NULL 24 8382 -true -51.0 S5RB5whaBLeLnMBAUm4oXX NULL NULL 51.0 0.5152941176470588 -18309.0 49 NULL 24 37338 false -51.0 LFgU5WT87C2yJ4W4YU0r8Pp NULL NULL 51.0 0.5152941176470588 -18309.0 -25 NULL 24 -19050 false -51.0 75bFXC7TqGo1SEaYAx4C58m NULL NULL 51.0 0.5152941176470588 -18309.0 NULL NULL 24 NULL false -51.0 v3p153e2bSkGS70v04G NULL NULL 51.0 0.5152941176470588 -18309.0 3 NULL 24 2286 @@ -154,6 +144,7 @@ false -51.0 34N4EY63M1GFWuW0boW NULL NULL 51.0 0.5152941176470588 -18309.0 49 NU false -51.0 2oSudUNUX6 NULL NULL 51.0 0.5152941176470588 -18309.0 -35 NULL 24 -26670 false -51.0 Kft68MpoAc4tLMS2ck3 NULL NULL 51.0 0.5152941176470588 -18309.0 -4 NULL 24 -3048 false -51.0 wiMnfM1vb8WE0427eQ5Y6oJ5 NULL NULL 51.0 0.5152941176470588 -18309.0 -6 NULL 24 -4572 +true -51.0 7V65Eih84lc86QMJ2O NULL NULL 51.0 0.5152941176470588 -18309.0 -15 NULL 24 -11430 false -51.0 TYkMYn1v6giCqpy30s NULL NULL 51.0 0.5152941176470588 -18309.0 -47 NULL 24 -35814 false -51.0 121307nh6r0H31Mg NULL NULL 51.0 0.5152941176470588 -18309.0 10 NULL 24 7620 false -51.0 YPJn4lAy8rr58 NULL NULL 51.0 0.5152941176470588 -18309.0 26 NULL 24 19812 @@ -174,6 +165,7 @@ false -51.0 vmD7YLtKX0c4y2uU NULL NULL 51.0 0.5152941176470588 -18309.0 10 NULL false -51.0 48s0Wy10k NULL NULL 51.0 0.5152941176470588 -18309.0 18 NULL 24 13716 false -51.0 SgVxsU2832X4w NULL NULL 51.0 0.5152941176470588 -18309.0 -11 NULL 24 -8382 false -51.0 c61B47I604gymFJ NULL NULL 51.0 0.5152941176470588 -18309.0 NULL NULL 24 NULL +true -51.0 4Mk3721iRh6 NULL NULL 51.0 0.5152941176470588 -18309.0 8 NULL 24 6096 false -51.0 MXefAh62BQEYn6T54AuUf NULL NULL 51.0 0.5152941176470588 -18309.0 -42 NULL 24 -32004 false -51.0 eBRuEI2 NULL NULL 51.0 0.5152941176470588 -18309.0 4 NULL 24 3048 false -51.0 2W4Kg220OcCy065HG60k6e NULL NULL 51.0 0.5152941176470588 -18309.0 -46 NULL 24 -35052 @@ -205,6 +197,7 @@ false -51.0 uD02Qi4 NULL NULL 51.0 0.5152941176470588 -18309.0 48 NULL 24 36576 false -51.0 7X8C04JN7LRyG NULL NULL 51.0 0.5152941176470588 -18309.0 46 NULL 24 35052 false -51.0 78Mf2pj8fKk5Sq2L8 NULL NULL 51.0 0.5152941176470588 -18309.0 -25 NULL 24 -19050 false -51.0 oA5OK2dVknje1w7uS3862Da5 NULL NULL 51.0 0.5152941176470588 -18309.0 28 NULL 24 21336 +true -51.0 4Mn8007R4LoxG NULL NULL 51.0 0.5152941176470588 -18309.0 18 NULL 24 13716 false -51.0 13AA4buw5j0xj33Fie0FAl5 NULL NULL 51.0 0.5152941176470588 -18309.0 8 NULL 24 6096 false -51.0 vAHn7p7mxOGYk30547 NULL NULL 51.0 0.5152941176470588 -18309.0 36 NULL 24 27432 false -51.0 Jk1t16oBoeM0CCry7XQvR37h NULL NULL 51.0 0.5152941176470588 -18309.0 NULL NULL 24 NULL @@ -290,6 +283,7 @@ false -51.0 Ytgl8 NULL NULL 51.0 0.5152941176470588 -18309.0 30 NULL 24 22860 false -51.0 ss NULL NULL 51.0 0.5152941176470588 -18309.0 -43 NULL 24 -32766 false -51.0 gfML7L7et NULL NULL 51.0 0.5152941176470588 -18309.0 -50 NULL 24 -38100 false -51.0 0OHV13 NULL NULL 51.0 0.5152941176470588 -18309.0 -3 NULL 24 -2286 +true -51.0 xjk22HQH0F0E161 NULL NULL 51.0 0.5152941176470588 -18309.0 -34 NULL 24 -25908 false -51.0 1M4eTm8OcOW2dAMV2V5slS1 NULL NULL 51.0 0.5152941176470588 -18309.0 -37 NULL 24 -28194 false -51.0 j1lyplu58dBa NULL NULL 51.0 0.5152941176470588 -18309.0 -26 NULL 24 -19812 false -51.0 ah6jo34tl NULL NULL 51.0 0.5152941176470588 -18309.0 15 NULL 24 11430 @@ -394,6 +388,7 @@ false -51.0 e8Yq6dHfa7d61IgPcKrO NULL NULL 51.0 0.5152941176470588 -18309.0 9 NU false -51.0 EXWsAOlGYtb053ExF6u5FLyb NULL NULL 51.0 0.5152941176470588 -18309.0 5 NULL 24 3810 false -51.0 O3k76JCgFN83d58REWNvt243 NULL NULL 51.0 0.5152941176470588 -18309.0 0 NULL 24 0 false -51.0 CoMlAAYdRSe NULL NULL 51.0 0.5152941176470588 -18309.0 -45 NULL 24 -34290 +true -51.0 gtulO7xHeSn NULL NULL 51.0 0.5152941176470588 -18309.0 42 NULL 24 32004 false -51.0 l01UYMiq51W8G4LJtEp86mD7 NULL NULL 51.0 0.5152941176470588 -18309.0 16 NULL 24 12192 false -51.0 K31Po8dhUXDBDt NULL NULL 51.0 0.5152941176470588 -18309.0 26 NULL 24 19812 false -51.0 5d4rPb72As3cr1UU04go8 NULL NULL 51.0 0.5152941176470588 -18309.0 -24 NULL 24 -18288 @@ -411,6 +406,7 @@ false -51.0 1324Nbqc0C7h6niurp77wT NULL NULL 51.0 0.5152941176470588 -18309.0 -3 false -51.0 Bq245sjauEPf NULL NULL 51.0 0.5152941176470588 -18309.0 38 NULL 24 28956 false -51.0 62JFFg7GbAn1 NULL NULL 51.0 0.5152941176470588 -18309.0 -30 NULL 24 -22860 false -51.0 4W6pl6oLfgN0ax NULL NULL 51.0 0.5152941176470588 -18309.0 27 NULL 24 20574 +true -51.0 M76D058tDDD25v3g NULL NULL 51.0 0.5152941176470588 -18309.0 -45 NULL 24 -34290 false -51.0 1JGq6EC86Lc67B NULL NULL 51.0 0.5152941176470588 -18309.0 -26 NULL 24 -19812 false -51.0 D5SANA44B8Jm NULL NULL 51.0 0.5152941176470588 -18309.0 -10 NULL 24 -7620 false -51.0 5K4lM3GNCDNNA4H5H NULL NULL 51.0 0.5152941176470588 -18309.0 -14 NULL 24 -10668 @@ -422,6 +418,7 @@ false -51.0 jXQPXUOT6OR75ChPwBr NULL NULL 51.0 0.5152941176470588 -18309.0 25 NU false -51.0 40PQ82QY6 NULL NULL 51.0 0.5152941176470588 -18309.0 -2 NULL 24 -1524 false -51.0 33cr1j NULL NULL 51.0 0.5152941176470588 -18309.0 -16 NULL 24 -12192 false -51.0 8PpV88OGb NULL NULL 51.0 0.5152941176470588 -18309.0 39 NULL 24 29718 +true -51.0 q0YasY0Y17250cD NULL NULL 51.0 0.5152941176470588 -18309.0 -1 NULL 24 -762 false -51.0 p8CvcP7et NULL NULL 51.0 0.5152941176470588 -18309.0 4 NULL 24 3048 false -51.0 060EnWLmWE4K8Pv NULL NULL 51.0 0.5152941176470588 -18309.0 -19 NULL 24 -14478 false -51.0 LrOMx3GjUHE614W7s36tp NULL NULL 51.0 0.5152941176470588 -18309.0 -2 NULL 24 -1524 @@ -443,6 +440,7 @@ false -51.0 c7j0PI24L0M27GoF43v4Ucf NULL NULL 51.0 0.5152941176470588 -18309.0 2 false -51.0 dv4kivc NULL NULL 51.0 0.5152941176470588 -18309.0 -4 NULL 24 -3048 false -51.0 CJIO2 NULL NULL 51.0 0.5152941176470588 -18309.0 -48 NULL 24 -36576 false -51.0 s038hX0U8 NULL NULL 51.0 0.5152941176470588 -18309.0 16 NULL 24 12192 +true -51.0 VfD3Byd4aV358l12 NULL NULL 51.0 0.5152941176470588 -18309.0 -6 NULL 24 -4572 false -51.0 hANtHaOf NULL NULL 51.0 0.5152941176470588 -18309.0 -31 NULL 24 -23622 false -51.0 jXpBexSQ3hC342hdkv NULL NULL 51.0 0.5152941176470588 -18309.0 33 NULL 24 25146 false -51.0 702XRI NULL NULL 51.0 0.5152941176470588 -18309.0 10 NULL 24 7620 @@ -469,6 +467,7 @@ false -51.0 IbgbUvP5 NULL NULL 51.0 0.5152941176470588 -18309.0 -5 NULL 24 -3810 false -51.0 rphq0n30wctykU8E NULL NULL 51.0 0.5152941176470588 -18309.0 43 NULL 24 32766 false -51.0 2NR62NFR5 NULL NULL 51.0 0.5152941176470588 -18309.0 49 NULL 24 37338 false -51.0 xJTkdBR4QU NULL NULL 51.0 0.5152941176470588 -18309.0 42 NULL 24 32004 +true -51.0 PYSh3CD1vxxH3Aq2B NULL NULL 51.0 0.5152941176470588 -18309.0 11 NULL 24 8382 false -51.0 1Lh6Uoq3WhNtOqQHu7WN7U NULL NULL 51.0 0.5152941176470588 -18309.0 -22 NULL 24 -16764 false -51.0 0TN06s2WtHc NULL NULL 51.0 0.5152941176470588 -18309.0 -45 NULL 24 -34290 false -51.0 Ad4KRAdOpE25j1BV NULL NULL 51.0 0.5152941176470588 -18309.0 -19 NULL 24 -14478 @@ -558,6 +557,7 @@ false -51.0 LgMBG6G3Oc5baLkjeP50i8 NULL NULL 51.0 0.5152941176470588 -18309.0 -4 false -51.0 56EtJ6FmSp47bf0Jj NULL NULL 51.0 0.5152941176470588 -18309.0 -11 NULL 24 -8382 false -51.0 6502UQ2Jb18nD7kNw NULL NULL 51.0 0.5152941176470588 -18309.0 -18 NULL 24 -13716 false -51.0 6GpbwQ3mT NULL NULL 51.0 0.5152941176470588 -18309.0 -7 NULL 24 -5334 +true -51.0 S5RB5whaBLeLnMBAUm4oXX NULL NULL 51.0 0.5152941176470588 -18309.0 49 NULL 24 37338 false -51.0 Ako362FErCK8F2v31h3Ns260 NULL NULL 51.0 0.5152941176470588 -18309.0 29 NULL 24 22098 false -51.0 H8dq1J4bt18aF4W48 NULL NULL 51.0 0.5152941176470588 -18309.0 -38 NULL 24 -28956 false -51.0 QgA6r86x0JrfdHuM NULL NULL 51.0 0.5152941176470588 -18309.0 21 NULL 24 16002 @@ -578,10 +578,6 @@ NULL 55.0 NULL -1752227496 -15601 -55.0 -0.47781818181818186 19745.0 NULL -15601 NULL 29.0 NULL -1752227496 -15601 -29.0 -0.9062068965517242 10411.0 NULL -15601.0 104 NULL NULL -42.0 NULL -1752227496 -15601 42.0 0.6257142857142858 -15078.0 NULL -15601.0 33 NULL NULL -20.0 NULL -1752227496 -15601 20.0 1.314 -7180.0 NULL -15601.0 55 NULL -true 8.0 3yeQxU NULL NULL -8.0 -3.285 2872.0 4 NULL 83 3048 -true 8.0 t8Lh68DM18aEr4G7J7dX2Ee3 NULL NULL -8.0 -3.285 2872.0 -3 NULL 83 -2286 -true 8.0 H37833CDTytf1mp4 NULL NULL -8.0 -3.285 2872.0 -2 NULL 83 -1524 -true 8.0 6Ob80MBP350rI275 NULL NULL -8.0 -3.285 2872.0 -2 NULL 83 -1524 false 8.0 pCt10IJTv8 NULL NULL -8.0 -3.285 2872.0 5 NULL 83 3810 false 8.0 B7aMvVm446mg46CL NULL NULL -8.0 -3.285 2872.0 2 NULL 83 1524 false 8.0 fIjNh3dt21cMWe8 NULL NULL -8.0 -3.285 2872.0 -4 NULL 83 -3048 @@ -671,10 +667,12 @@ false 8.0 M4HtnssfQiEAD0jYL6 NULL NULL -8.0 -3.285 2872.0 2 NULL 83 1524 false 8.0 E1K2fsDf8P NULL NULL -8.0 -3.285 2872.0 -4 NULL 83 -3048 false 8.0 iStQPx6j8SvMc NULL NULL -8.0 -3.285 2872.0 2 NULL 83 1524 false 8.0 8vKN51JNM7 NULL NULL -8.0 -3.285 2872.0 -4 NULL 83 -3048 +true 8.0 3yeQxU NULL NULL -8.0 -3.285 2872.0 4 NULL 83 3048 false 8.0 fn7k8uv2T7Ifrg NULL NULL -8.0 -3.285 2872.0 1 NULL 83 762 false 8.0 mLcj2Cd6L317mcE8Wyv5 NULL NULL -8.0 -3.285 2872.0 0 NULL 83 0 false 8.0 E50C7d53L56 NULL NULL -8.0 -3.285 2872.0 4 NULL 83 3048 false 8.0 5mPiHh NULL NULL -8.0 -3.285 2872.0 5 NULL 83 3810 +true 8.0 t8Lh68DM18aEr4G7J7dX2Ee3 NULL NULL -8.0 -3.285 2872.0 -3 NULL 83 -2286 false 8.0 YNsNwqw8y7D65 NULL NULL -8.0 -3.285 2872.0 -7 NULL 83 -5334 false 8.0 ytpx1RL8F2I NULL NULL -8.0 -3.285 2872.0 1 NULL 83 762 false 8.0 e13dNAo71UXm4Yt1u NULL NULL -8.0 -3.285 2872.0 -7 NULL 83 -5334 @@ -804,6 +802,7 @@ false 8.0 HcbsR51rXDw7016fVOt83YaX NULL NULL -8.0 -3.285 2872.0 5 NULL 83 3810 false 8.0 5882EoppT NULL NULL -8.0 -3.285 2872.0 -7 NULL 83 -5334 false 8.0 wO3YtYQ6XLp7w NULL NULL -8.0 -3.285 2872.0 -3 NULL 83 -2286 false 8.0 RhOnR NULL NULL -8.0 -3.285 2872.0 7 NULL 83 5334 +true 8.0 H37833CDTytf1mp4 NULL NULL -8.0 -3.285 2872.0 -2 NULL 83 -1524 false 8.0 vkbGEG4q11J550U7u5EnSs NULL NULL -8.0 -3.285 2872.0 -4 NULL 83 -3048 false 8.0 ryp70i8Er3IclwRg11 NULL NULL -8.0 -3.285 2872.0 7 NULL 83 5334 false 8.0 Or43Y6lI NULL NULL -8.0 -3.285 2872.0 0 NULL 83 0 @@ -831,6 +830,7 @@ false 8.0 16T0Q0hg2 NULL NULL -8.0 -3.285 2872.0 4 NULL 83 3048 false 8.0 Qq3MD84DHC14CDiEGB7p04DO NULL NULL -8.0 -3.285 2872.0 3 NULL 83 2286 false 8.0 LQd03j0RQEIsglKmjFPuYXJ2 NULL NULL -8.0 -3.285 2872.0 1 NULL 83 762 false 8.0 EjY6DSn57x1v5h NULL NULL -8.0 -3.285 2872.0 -1 NULL 83 -762 +true 8.0 6Ob80MBP350rI275 NULL NULL -8.0 -3.285 2872.0 -2 NULL 83 -1524 false 8.0 v0uSTRyX5A4W NULL NULL -8.0 -3.285 2872.0 -7 NULL 83 -5334 false 8.0 0siU5JLRoUBPi88Kenqg4 NULL NULL -8.0 -3.285 2872.0 3 NULL 83 2286 false 8.0 jxNdt4 NULL NULL -8.0 -3.285 2872.0 -7 NULL 83 -5334 @@ -1103,14 +1103,6 @@ NULL -26.0 NULL 1473896544 7196 26.0 1.0107692307692309 -9334.0 NULL 7196.0 49 N NULL 32.0 NULL 1473896544 7196 -32.0 -0.82125 11488.0 NULL 7196.0 107 NULL NULL 9.0 NULL 1473896544 7196 -9.0 -2.92 3231.0 NULL 7196.0 84 NULL NULL 12.0 NULL 1473896544 7196 -12.0 -2.19 4308.0 NULL 7196.0 87 NULL -true 11.0 ce6C1MhLw NULL NULL -11.0 -2.389090909090909 3949.0 -6 NULL 86 -4572 -true 11.0 bx3NrGJIw088yHD5461A NULL NULL -11.0 -2.389090909090909 3949.0 9 NULL 86 6858 -true 11.0 yJ67FYA NULL NULL -11.0 -2.389090909090909 3949.0 -9 NULL 86 -6858 -true 11.0 M3qqxj71FawLd2slbwTO0 NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0 -true 11.0 1kFnQ8Xw3 NULL NULL -11.0 -2.389090909090909 3949.0 -5 NULL 86 -3810 -true 11.0 1j80NSLbNMdIc2H3R01D703 NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 -true 11.0 nqThW83 NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 -true 11.0 cUbphr2Or2aJQ0wNK3 NULL NULL -11.0 -2.389090909090909 3949.0 -5 NULL 86 -3810 false 11.0 57WA7Sm6RuEiouyjK3 NULL NULL -11.0 -2.389090909090909 3949.0 -1 NULL 86 -762 false 11.0 MQ0fqWv7k48r6kw NULL NULL -11.0 -2.389090909090909 3949.0 -7 NULL 86 -5334 false 11.0 bq7qevqgOC NULL NULL -11.0 -2.389090909090909 3949.0 -5 NULL 86 -3810 @@ -1136,6 +1128,7 @@ false 11.0 cv71a87hIMbVuJ2dAX NULL NULL -11.0 -2.389090909090909 3949.0 4 NULL 8 false 11.0 s5unq NULL NULL -11.0 -2.389090909090909 3949.0 7 NULL 86 5334 false 11.0 6PpbCyjf6c88b NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0 false 11.0 q4W42sg6k NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 +true 11.0 ce6C1MhLw NULL NULL -11.0 -2.389090909090909 3949.0 -6 NULL 86 -4572 false 11.0 m80sprxq3O4J4YC6gh NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 false 11.0 xbQqalYlo NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 false 11.0 10pO8p1LNx4Y NULL NULL -11.0 -2.389090909090909 3949.0 7 NULL 86 5334 @@ -1160,6 +1153,7 @@ false 11.0 gk0kJenBW237uQoxGBx36 NULL NULL -11.0 -2.389090909090909 3949.0 -4 NU false 11.0 HN3I58 NULL NULL -11.0 -2.389090909090909 3949.0 -5 NULL 86 -3810 false 11.0 C1E8E3vVL16j NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 false 11.0 6ljwSqpl7n47 NULL NULL -11.0 -2.389090909090909 3949.0 8 NULL 86 6096 +true 11.0 bx3NrGJIw088yHD5461A NULL NULL -11.0 -2.389090909090909 3949.0 9 NULL 86 6858 false 11.0 Rdj0Jt0pa8fLFYq24hu3UR NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0 false 11.0 8Lh4G52x4 NULL NULL -11.0 -2.389090909090909 3949.0 -4 NULL 86 -3048 false 11.0 mOofw7T57kng3V161Mg4YYK NULL NULL -11.0 -2.389090909090909 3949.0 -1 NULL 86 -762 @@ -1203,6 +1197,7 @@ false 11.0 rs1jgr3QXsF803w3Eu NULL NULL -11.0 -2.389090909090909 3949.0 2 NULL 8 false 11.0 PLFB86o84end3tdsS2hVL NULL NULL -11.0 -2.389090909090909 3949.0 -1 NULL 86 -762 false 11.0 M10C4DWJ0Gn NULL NULL -11.0 -2.389090909090909 3949.0 -1 NULL 86 -762 false 11.0 1q3IAyF41KDbkoUH0UF8d NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 +true 11.0 yJ67FYA NULL NULL -11.0 -2.389090909090909 3949.0 -9 NULL 86 -6858 false 11.0 c0gO7g27mjW4XEaUK1fXvEk NULL NULL -11.0 -2.389090909090909 3949.0 -9 NULL 86 -6858 false 11.0 30S16Yv88FUQsDS2 NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0 false 11.0 5VexJO NULL NULL -11.0 -2.389090909090909 3949.0 7 NULL 86 5334 @@ -1227,6 +1222,7 @@ false 11.0 ARECS NULL NULL -11.0 -2.389090909090909 3949.0 -8 NULL 86 -6096 false 11.0 myW247hI5iQQ4U37x5hK NULL NULL -11.0 -2.389090909090909 3949.0 -10 NULL 86 -7620 false 11.0 57vi3IQLIES0Q16OTuiC4Hf7 NULL NULL -11.0 -2.389090909090909 3949.0 4 NULL 86 3048 false 11.0 FwMw41y68NnU0FGJ5k6 NULL NULL -11.0 -2.389090909090909 3949.0 -10 NULL 86 -7620 +true 11.0 M3qqxj71FawLd2slbwTO0 NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0 false 11.0 Xr1Lmw7g3730qA0N6n NULL NULL -11.0 -2.389090909090909 3949.0 4 NULL 86 3048 false 11.0 BxH575uxOuCE6sxn6frt NULL NULL -11.0 -2.389090909090909 3949.0 -6 NULL 86 -4572 false 11.0 xhAUptat NULL NULL -11.0 -2.389090909090909 3949.0 9 NULL 86 6858 @@ -1303,6 +1299,7 @@ false 11.0 5e8nU8q6vy6hcskp844R8Kt NULL NULL -11.0 -2.389090909090909 3949.0 -4 false 11.0 cTWO4kFIrl1n NULL NULL -11.0 -2.389090909090909 3949.0 -9 NULL 86 -6858 false 11.0 JhS7I21kB6X43NB8U8 NULL NULL -11.0 -2.389090909090909 3949.0 -1 NULL 86 -762 false 11.0 M07G7IO4gFx1o NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 +true 11.0 1kFnQ8Xw3 NULL NULL -11.0 -2.389090909090909 3949.0 -5 NULL 86 -3810 false 11.0 MpcgmXIn662H8 NULL NULL -11.0 -2.389090909090909 3949.0 -8 NULL 86 -6096 false 11.0 78WeV1A4Fuo7mPSX NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 false 11.0 kPC4VEoqGJthyOfD1r82GId NULL NULL -11.0 -2.389090909090909 3949.0 4 NULL 86 3048 @@ -1358,6 +1355,7 @@ false 11.0 C677g7qo071FQ4a NULL NULL -11.0 -2.389090909090909 3949.0 1 NULL 86 7 false 11.0 ngUkOdOBOk67o3mcc NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 false 11.0 72F3g4s43q208a2 NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 false 11.0 D2s2711 NULL NULL -11.0 -2.389090909090909 3949.0 9 NULL 86 6858 +true 11.0 1j80NSLbNMdIc2H3R01D703 NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 false 11.0 qPiV0J6QDu NULL NULL -11.0 -2.389090909090909 3949.0 -10 NULL 86 -7620 false 11.0 0mokQ053qtj NULL NULL -11.0 -2.389090909090909 3949.0 1 NULL 86 762 false 11.0 R426VY66G3alY1rISv8 NULL NULL -11.0 -2.389090909090909 3949.0 -10 NULL 86 -7620 @@ -1373,6 +1371,7 @@ false 11.0 v0w25I0uVTf413Rar14 NULL NULL -11.0 -2.389090909090909 3949.0 4 NULL false 11.0 4yAo7t54rr50u6Vci3p NULL NULL -11.0 -2.389090909090909 3949.0 7 NULL 86 5334 false 11.0 2WKo5 NULL NULL -11.0 -2.389090909090909 3949.0 1 NULL 86 762 false 11.0 lE7AE0Cm NULL NULL -11.0 -2.389090909090909 3949.0 10 NULL 86 7620 +true 11.0 nqThW83 NULL NULL -11.0 -2.389090909090909 3949.0 -3 NULL 86 -2286 false 11.0 KnmtSR55J731b NULL NULL -11.0 -2.389090909090909 3949.0 7 NULL 86 5334 false 11.0 eoIG247 NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 false 11.0 mnfiV3 NULL NULL -11.0 -2.389090909090909 3949.0 -7 NULL 86 -5334 @@ -1400,6 +1399,7 @@ false 11.0 l1xK7L0L6TjOPrB1tc NULL NULL -11.0 -2.389090909090909 3949.0 -1 NULL false 11.0 i7n1eoq1Iw3r5q3qI3464 NULL NULL -11.0 -2.389090909090909 3949.0 -8 NULL 86 -6096 false 11.0 i0mx8w5HB8THd5N NULL NULL -11.0 -2.389090909090909 3949.0 4 NULL 86 3048 false 11.0 8k1748I2BIW53LK8dmc NULL NULL -11.0 -2.389090909090909 3949.0 3 NULL 86 2286 +true 11.0 cUbphr2Or2aJQ0wNK3 NULL NULL -11.0 -2.389090909090909 3949.0 -5 NULL 86 -3810 false 11.0 U1aid52v NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0 false 11.0 o8v1574KSnXlsC NULL NULL -11.0 -2.389090909090909 3949.0 9 NULL 86 6858 false 11.0 g6VL0j3k7pEcBq0Hbsk NULL NULL -11.0 -2.389090909090909 3949.0 0 NULL 86 0