summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2017-11-08 17:14:26 -0800
committerChris Loer <chris.loer@gmail.com>2017-11-08 17:14:46 -0800
commit5a9dcc48bbf60638fc22c49489a04046511e1c05 (patch)
tree66c8b9c9650a719bca6c82851da5bd2f638fe241
parenta2bcef5d1cf9a8acc4a4772329c6dc80c9b1e077 (diff)
downloadqtlocation-mapboxgl-upstream/start-collision-bench.tar.gz
Hacked together iOS benching.upstream/start-collision-bench
This commit makes the iOS Bench target render two scenes for 600 frames. 1) 10 second rotation at z13.86 2) 10 second zoom from z10-z14 renderer_impl and RenderSymbolLayer collect timing information and pipe it to std::cout Copy the appropriate section of the console output to a CSV file and analyze away. This commit should re-base conflict free on either start-collision or start-collision-async, but needs some adaptation for master. [skip ci]
-rw-r--r--async-frame-times.csv600
-rw-r--r--async-reproject-times.csv600
-rw-r--r--async-zoom-times.csv600
-rw-r--r--frame-timing.csv600
-rw-r--r--master-frame-times.csv600
-rw-r--r--master-reproject-times.csv600
-rw-r--r--master-zoom-times.csv600
-rw-r--r--platform/ios/benchmark/MBXBenchViewController.mm24
-rw-r--r--platform/ios/benchmark/locations.cpp18
-rw-r--r--platform/ios/benchmark/locations.hpp3
-rw-r--r--platform/ios/ios.xcodeproj/project.pbxproj3
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp25
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.hpp2
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp41
14 files changed, 4302 insertions, 14 deletions
diff --git a/async-frame-times.csv b/async-frame-times.csv
new file mode 100644
index 0000000000..99541496bc
--- /dev/null
+++ b/async-frame-times.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Render, Total
+104, 848, 128, 17, 81, 8089, 9166
+105, 889, 528, 71, 93, 7895, 9478
+106, 978, 1643, 1839, 534, 8046, 13042
+107, 870, 547, 37, 90, 8055, 9601
+108, 928, 1693, 2145, 432, 7814, 13014
+109, 854, 558, 30, 136, 8325, 9905
+110, 883, 1575, 1847, 488, 8600, 13395
+111, 1149, 866, 35, 80, 7775, 9907
+112, 1007, 1576, 1918, 476, 8299, 13278
+113, 957, 501, 26, 82, 7936, 9504
+114, 926, 1602, 1781, 487, 7843, 12642
+115, 900, 543, 28, 73, 7886, 9432
+116, 925, 1612, 2233, 485, 8273, 13532
+117, 1093, 472, 23, 73, 7806, 9468
+118, 848, 1486, 45, 332, 8157, 10870
+119, 1222, 91, 9, 59, 8332, 9716
+120, 901, 153, 17, 215, 7984, 9271
+121, 864, 138, 82, 495, 8468, 10049
+122, 983, 123, 68, 330, 7846, 9352
+123, 952, 135, 10, 389, 8127, 9614
+124, 969, 159, 16, 295, 8712, 10152
+125, 798, 157, 129, 605, 7811, 9501
+126, 770, 160, 155, 432, 7843, 9362
+127, 922, 190, 298, 768, 8516, 10695
+128, 896, 160, 217, 227, 8096, 9598
+129, 886, 161, 212, 186, 7891, 9338
+130, 1280, 146, 217, 357, 8642, 10644
+131, 945, 168, 214, 421, 8152, 9902
+132, 881, 124, 9, 260, 7876, 9152
+133, 924, 141, 11, 321, 8589, 9987
+134, 875, 126, 9, 383, 8829, 10225
+135, 877, 130, 39, 280, 7930, 9259
+136, 963, 134, 11, 383, 8455, 9949
+137, 805, 506, 29, 100, 7844, 9285
+138, 789, 1636, 2148, 456, 7607, 12637
+139, 900, 561, 33, 78, 8126, 9700
+140, 975, 1772, 2404, 461, 8659, 14273
+141, 835, 520, 114, 851, 8561, 10884
+142, 823, 1585, 54, 138, 8044, 10645
+143, 1253, 150, 208, 290, 7864, 9768
+144, 835, 156, 121, 386, 7996, 9496
+145, 902, 163, 123, 436, 8780, 10406
+146, 834, 155, 132, 413, 8348, 9883
+147, 885, 119, 40, 82, 8038, 9167
+148, 1201, 151, 11, 324, 9294, 10983
+149, 1017, 132, 10, 69, 8956, 10186
+150, 832, 110, 9, 72, 7759, 8784
+151, 942, 133, 9, 274, 7905, 9265
+152, 939, 134, 9, 253, 8381, 9718
+153, 990, 155, 14, 235, 8110, 9506
+154, 977, 138, 40, 270, 8823, 10249
+155, 928, 147, 42, 86, 8193, 9399
+156, 1019, 99, 10, 55, 7400, 8584
+157, 785, 101, 9, 65, 7723, 8684
+158, 886, 103, 9, 68, 8060, 9128
+159, 754, 107, 9, 76, 7917, 8865
+160, 736, 364, 12, 80, 8109, 9303
+161, 1264, 1709, 1930, 483, 8294, 13681
+162, 787, 372, 14, 89, 7940, 9203
+163, 850, 1815, 2141, 5134, 18147, 28089
+164, 689, 508, 25, 98, 11639, 12961
+165, 664, 1133, 2251, 803, 10938, 15792
+166, 621, 298, 11, 74, 10565, 11571
+167, 683, 95, 9, 64, 11894, 12747
+168, 645, 1171, 2346, 372, 10644, 15179
+169, 747, 323, 12, 71, 14209, 15364
+170, 972, 1467, 2098, 527, 11356, 16421
+171, 1022, 478, 26, 263, 10805, 12596
+172, 1111, 2787, 3074, 497, 10753, 18224
+173, 872, 522, 2036, 6485, 16618, 26535
+174, 1606, 1576, 2203, 614, 11559, 17559
+175, 2061, 998, 30, 315, 12006, 15412
+176, 1908, 1551, 2697, 586, 10534, 17278
+177, 1993, 2767, 475, 555, 11480, 17271
+178, 1757, 1859, 4049, 1076, 11173, 19915
+179, 985, 437, 24, 467, 11671, 13585
+180, 1775, 1421, 2902, 523, 10785, 17408
+181, 1648, 587, 235, 501, 11358, 14331
+182, 1806, 1661, 1998, 616, 11059, 17142
+183, 1746, 611, 28, 196, 11063, 13645
+184, 1239, 2061, 2380, 954, 11541, 18176
+185, 1659, 763, 2280, 5623, 19588, 29914
+186, 1643, 1824, 2280, 737, 11322, 17807
+187, 1867, 539, 25, 274, 12070, 14778
+188, 1831, 1729, 2462, 655, 11308, 17986
+189, 1215, 512, 28, 140, 11959, 13856
+190, 891, 1714, 2586, 588, 11513, 17295
+191, 1428, 615, 23, 99, 11456, 13623
+192, 1150, 1874, 2505, 573, 11130, 17233
+193, 1400, 779, 33, 106, 11321, 13641
+194, 1160, 1852, 2801, 677, 11060, 17551
+195, 1165, 734, 27, 134, 11315, 13376
+196, 891, 1626, 2933, 700, 11520, 17672
+197, 922, 594, 49, 140, 11530, 13238
+198, 894, 1545, 3336, 538, 11457, 17772
+199, 1062, 829, 29, 108, 10844, 12874
+200, 991, 1901, 2438, 572, 11475, 17378
+201, 872, 458, 21, 96, 10792, 12241
+202, 1196, 1668, 2600, 652, 11709, 17826
+203, 839, 466, 26, 228, 11630, 13190
+204, 1172, 1707, 2199, 653, 11754, 17488
+205, 852, 454, 20, 92, 11850, 13270
+206, 998, 1502, 2407, 591, 11627, 17128
+207, 810, 377, 15, 90, 12745, 14038
+208, 695, 109, 9, 73, 11286, 12174
+209, 856, 1968, 2459, 650, 11587, 17522
+210, 824, 435, 21, 99, 10868, 12249
+211, 881, 2192, 2412, 594, 11857, 17938
+212, 869, 486, 24, 331, 15034, 16746
+213, 849, 201, 16, 256, 12273, 13597
+214, 1559, 1648, 2470, 607, 12502, 18788
+215, 1074, 496, 23, 226, 13966, 15789
+216, 956, 1842, 4013, 1909, 11387, 20111
+217, 960, 478, 25, 373, 12044, 13882
+218, 792, 1767, 3236, 504, 11715, 18016
+219, 869, 478, 24, 316, 12492, 14180
+220, 1079, 2454, 3095, 481, 11164, 18274
+221, 1102, 515, 23, 124, 11316, 13082
+222, 873, 1621, 3485, 586, 11410, 17978
+223, 1038, 715, 35, 106, 10651, 12546
+224, 985, 1920, 2559, 556, 11927, 17949
+225, 865, 427, 23, 126, 11292, 12735
+226, 1384, 1600, 3560, 598, 11725, 18868
+227, 817, 551, 180, 492, 14803, 16845
+228, 811, 2086, 2272, 566, 12194, 17930
+229, 865, 461, 312, 391, 13490, 15521
+230, 822, 1500, 46, 170, 12571, 15112
+231, 841, 166, 95, 338, 12329, 13770
+232, 963, 127, 11, 135, 11852, 13089
+233, 868, 121, 11, 161, 11482, 12646
+234, 846, 124, 11, 193, 11250, 12425
+235, 1083, 158, 40, 243, 10782, 12309
+236, 976, 173, 16, 263, 11041, 12471
+237, 986, 145, 11, 285, 11256, 12685
+238, 957, 174, 16, 333, 10681, 12163
+239, 1367, 135, 39, 294, 10677, 12513
+240, 1084, 176, 16, 251, 10792, 12322
+241, 1011, 145, 43, 310, 10765, 12277
+242, 984, 172, 16, 269, 10858, 12301
+243, 1014, 171, 16, 303, 11022, 12528
+244, 1002, 384, 19, 238, 10927, 12572
+245, 988, 174, 16, 283, 10971, 12434
+246, 970, 174, 16, 275, 10688, 12125
+247, 1056, 168, 16, 439, 10589, 12269
+248, 966, 171, 16, 270, 10601, 12027
+249, 1175, 733, 51, 285, 10627, 12874
+250, 996, 1939, 2718, 539, 11475, 17668
+251, 862, 465, 25, 96, 11648, 13098
+252, 1175, 1674, 2366, 620, 11659, 17496
+253, 832, 509, 26, 95, 11291, 12754
+254, 1059, 1835, 2379, 551, 12594, 18419
+255, 810, 453, 17, 93, 11690, 13065
+256, 1187, 1643, 3063, 780, 11829, 18506
+257, 842, 461, 21, 94, 11983, 13402
+258, 865, 1685, 2125, 972, 11619, 17268
+259, 951, 556, 2013, 376, 10134, 14030
+260, 773, 1624, 2057, 489, 10919, 15865
+261, 772, 552, 24, 92, 9127, 10569
+262, 931, 1924, 1923, 497, 9055, 14332
+263, 871, 608, 33, 109, 9324, 10947
+264, 1404, 1616, 1945, 521, 9520, 15007
+265, 871, 420, 16, 102, 8881, 10292
+266, 689, 1937, 1764, 342, 8947, 13681
+267, 748, 433, 18, 120, 9678, 11000
+268, 950, 1936, 1992, 485, 9502, 14867
+269, 915, 503, 45, 91, 9179, 10735
+270, 898, 1900, 1898, 441, 8698, 13836
+271, 891, 506, 22, 97, 9060, 10577
+272, 956, 1923, 1998, 467, 8575, 13921
+273, 807, 537, 29, 110, 9610, 11094
+274, 908, 1831, 1893, 439, 8774, 13847
+275, 866, 522, 27, 99, 9238, 10754
+276, 892, 1946, 2970, 482, 9067, 15359
+277, 1083, 437, 24, 87, 9107, 10740
+278, 933, 1897, 1945, 477, 8666, 13919
+279, 1032, 768, 40, 315, 8837, 10994
+280, 1057, 1978, 2073, 675, 8840, 14624
+281, 1042, 564, 129, 748, 9664, 12149
+282, 993, 1929, 2054, 558, 9081, 14617
+283, 1239, 592, 191, 401, 9928, 12353
+284, 1920, 1482, 2598, 530, 10336, 16868
+285, 859, 423, 20, 82, 8953, 10339
+286, 978, 1780, 1868, 550, 8683, 13860
+287, 955, 630, 27, 87, 9144, 10845
+288, 906, 1907, 1903, 472, 8653, 13843
+289, 961, 573, 27, 85, 8930, 10578
+290, 1181, 1616, 1922, 503, 9346, 14571
+291, 963, 822, 35, 92, 9083, 10997
+292, 942, 1853, 2246, 722, 8579, 14344
+293, 989, 591, 35, 91, 9101, 10808
+294, 1003, 1961, 1838, 478, 9108, 14390
+295, 888, 557, 30, 89, 9032, 10598
+296, 938, 1960, 2031, 533, 8636, 14100
+297, 968, 569, 29, 82, 9780, 11430
+298, 832, 1925, 2264, 647, 8530, 14201
+299, 928, 582, 29, 85, 9139, 10765
+300, 950, 1948, 1871, 511, 8703, 13984
+301, 978, 572, 27, 86, 9095, 10759
+302, 909, 2044, 2041, 534, 8764, 14293
+303, 1178, 457, 45, 84, 8925, 10692
+304, 902, 1869, 2492, 659, 8609, 14533
+305, 1059, 556, 28, 86, 9496, 11227
+306, 895, 1947, 1939, 498, 8683, 13963
+307, 935, 568, 31, 98, 8927, 10562
+308, 917, 1939, 2997, 625, 9758, 16237
+309, 979, 734, 35, 121, 8949, 10820
+310, 985, 1857, 1966, 478, 8999, 14286
+311, 925, 676, 504, 431, 9670, 12207
+312, 934, 1923, 2213, 569, 9430, 15071
+313, 965, 521, 27, 477, 9737, 11729
+314, 1051, 1906, 1953, 510, 9392, 14813
+315, 929, 618, 28, 285, 8885, 10748
+316, 1153, 1630, 4092, 526, 9749, 17151
+317, 824, 435, 18, 86, 8914, 10279
+318, 929, 1930, 1868, 581, 8692, 14003
+319, 917, 552, 29, 85, 9032, 10616
+320, 952, 1968, 1951, 500, 9077, 14450
+321, 931, 572, 31, 87, 9047, 10669
+322, 946, 1865, 1937, 594, 8782, 14127
+323, 956, 550, 28, 100, 9137, 10773
+324, 939, 1827, 1974, 507, 9072, 14321
+325, 781, 442, 21, 100, 9458, 10804
+326, 740, 1795, 1793, 343, 9229, 13901
+327, 774, 434, 17, 165, 9488, 10881
+328, 952, 1797, 5010, 513, 9608, 17882
+329, 835, 419, 21, 99, 9089, 10465
+330, 1014, 1946, 2496, 495, 8733, 14686
+331, 1074, 575, 25, 89, 9097, 10861
+332, 1115, 1830, 2048, 503, 8794, 14292
+333, 1064, 743, 33, 99, 8800, 10740
+334, 892, 1928, 3143, 510, 9296, 15771
+335, 950, 495, 230, 102, 9581, 11360
+336, 1051, 1937, 1943, 522, 8752, 14207
+337, 906, 552, 25, 95, 9162, 10742
+338, 960, 1891, 2007, 494, 9139, 14494
+339, 964, 548, 29, 94, 9140, 10776
+340, 907, 1937, 2014, 542, 8832, 14234
+341, 895, 548, 28, 97, 9201, 10771
+342, 1240, 1801, 2033, 497, 10005, 15578
+343, 1249, 415, 19, 79, 9175, 10939
+344, 1042, 1885, 2096, 513, 10162, 15701
+345, 1355, 356, 12, 74, 9103, 10903
+346, 903, 1885, 1712, 328, 9235, 14064
+347, 752, 385, 12, 81, 9467, 10698
+348, 792, 114, 9, 89, 8903, 9910
+349, 1290, 1584, 1960, 502, 8962, 14301
+350, 785, 500, 2057, 397, 10562, 14304
+351, 1346, 1762, 2496, 3526, 16453, 25584
+352, 847, 463, 22, 87, 11335, 12755
+353, 915, 1684, 1972, 615, 11347, 16536
+354, 867, 485, 27, 95, 11506, 12982
+355, 741, 1999, 2019, 586, 11309, 16656
+356, 855, 450, 21, 88, 11620, 13036
+357, 884, 1642, 2132, 559, 11719, 16937
+358, 836, 463, 21, 88, 11285, 12695
+359, 887, 2099, 2724, 664, 14915, 21290
+360, 838, 472, 20, 294, 11443, 13069
+361, 876, 1663, 2572, 550, 10690, 16353
+362, 888, 467, 27, 168, 12865, 14417
+363, 870, 1629, 2531, 1700, 10753, 17485
+364, 863, 457, 66, 504, 12373, 14264
+365, 847, 1696, 2777, 653, 10647, 16622
+366, 838, 1272, 708, 376, 10750, 13945
+367, 839, 1560, 2997, 643, 10312, 16353
+368, 849, 463, 25, 94, 11131, 12565
+369, 814, 1735, 2326, 531, 10668, 16076
+370, 911, 449, 24, 90, 11153, 12628
+371, 1149, 1827, 2713, 839, 11507, 18037
+372, 875, 465, 24, 119, 11731, 13216
+373, 856, 1659, 2124, 913, 11372, 16926
+374, 764, 322, 12, 84, 11613, 12797
+375, 1208, 645, 212, 482, 12868, 15416
+376, 1372, 513, 196, 423, 12956, 15462
+377, 1141, 485, 172, 450, 13014, 15263
+378, 1049, 370, 276, 526, 12652, 14874
+379, 3009, 611, 21, 303, 10877, 14822
+380, 956, 2505, 2460, 646, 10624, 17193
+381, 1212, 760, 10434, 634, 11221, 24263
+382, 1105, 2107, 2408, 3832, 19122, 28575
+383, 1241, 401, 14, 100, 13359, 15117
+384, 1454, 398, 63, 135, 13004, 15057
+385, 1048, 1859, 2888, 687, 13124, 19608
+386, 1752, 683, 30, 174, 12314, 14955
+387, 1194, 2121, 2562, 608, 12095, 18583
+388, 1194, 599, 25, 116, 12279, 14215
+389, 947, 1752, 2441, 684, 12860, 18686
+390, 891, 464, 21, 103, 13143, 14623
+391, 1067, 1974, 2263, 563, 11160, 17028
+392, 832, 472, 21, 299, 11516, 13141
+393, 914, 1870, 2339, 582, 11643, 17349
+394, 846, 634, 562, 829, 11966, 14839
+395, 883, 1657, 2220, 681, 11663, 17106
+396, 864, 468, 21, 89, 12202, 13645
+397, 855, 1771, 2215, 554, 11271, 16667
+398, 840, 434, 22, 90, 12107, 13494
+399, 874, 1799, 2278, 599, 11405, 16956
+400, 1061, 537, 128, 440, 13217, 15384
+401, 827, 1755, 4821, 807, 11324, 19536
+402, 852, 509, 28, 145, 11658, 13194
+403, 841, 1688, 2051, 569, 11393, 16543
+404, 861, 465, 27, 130, 11588, 13072
+405, 1041, 1620, 2343, 566, 11394, 16966
+406, 835, 481, 236, 581, 13456, 15590
+407, 1122, 1767, 1843, 555, 10238, 15526
+408, 785, 433, 177, 352, 11853, 13602
+409, 1137, 1831, 1934, 540, 10042, 15485
+410, 1006, 547, 27, 126, 10184, 11891
+411, 764, 135, 14, 330, 8899, 10144
+412, 940, 1965, 1857, 622, 9754, 15140
+413, 919, 566, 31, 146, 9560, 11224
+414, 1430, 1599, 2021, 380, 9251, 14682
+415, 893, 617, 27, 85, 9332, 10956
+416, 934, 2091, 1795, 459, 9357, 14638
+417, 936, 567, 30, 94, 9799, 11428
+418, 938, 2081, 2743, 560, 9801, 16125
+419, 1158, 512, 184, 304, 9622, 11781
+420, 966, 2026, 1754, 533, 9131, 14412
+421, 1048, 569, 32, 340, 9722, 11713
+422, 1137, 1827, 1845, 508, 7526, 12844
+423, 943, 611, 640, 311, 8164, 10671
+424, 1026, 1857, 1907, 589, 7677, 13058
+425, 853, 523, 29, 96, 7880, 9383
+426, 1141, 2073, 1427, 372, 5966, 10981
+427, 1103, 445, 47, 60, 6176, 7833
+428, 805, 1860, 1420, 366, 6031, 10484
+429, 814, 596, 28, 78, 6357, 7875
+430, 791, 1805, 1351, 381, 6123, 10453
+431, 876, 634, 35, 68, 6634, 8250
+432, 869, 1808, 1328, 380, 6196, 10582
+433, 875, 561, 33, 81, 6498, 8050
+434, 961, 1730, 1331, 375, 6089, 10488
+435, 851, 651, 37, 78, 6396, 8015
+436, 806, 1753, 1362, 371, 6007, 10300
+437, 826, 546, 27, 142, 6739, 8282
+438, 902, 1786, 1324, 378, 6010, 10402
+439, 845, 550, 30, 76, 6696, 8199
+440, 1193, 1527, 1309, 361, 6239, 10631
+441, 789, 507, 23, 102, 6484, 7907
+442, 911, 1724, 3668, 264, 5900, 12469
+443, 643, 476, 15, 71, 6434, 7641
+444, 956, 1939, 1695, 451, 7305, 12348
+445, 1011, 537, 28, 222, 7353, 9153
+446, 1081, 1637, 2542, 496, 7338, 13096
+447, 880, 624, 229, 1282, 7751, 10767
+448, 874, 1644, 1496, 476, 7277, 11768
+449, 873, 543, 50, 124, 7984, 9575
+450, 937, 1762, 1533, 605, 7604, 12443
+451, 846, 550, 32, 94, 7680, 9203
+452, 1065, 2042, 1437, 315, 7913, 12774
+453, 1356, 460, 24, 70, 7515, 9426
+454, 682, 1923, 1737, 409, 7214, 11967
+455, 906, 555, 30, 79, 8222, 9794
+456, 864, 1933, 1627, 442, 7277, 12144
+457, 901, 544, 29, 90, 7683, 9248
+458, 865, 1680, 1535, 667, 7305, 12053
+459, 880, 684, 29, 75, 7594, 9265
+460, 953, 1748, 1534, 416, 7389, 12044
+461, 885, 558, 28, 95, 8152, 9721
+462, 849, 2082, 1669, 434, 7398, 12435
+463, 900, 543, 33, 95, 7836, 9410
+464, 909, 1704, 1712, 625, 7463, 12415
+465, 865, 692, 587, 386, 8023, 10556
+466, 1147, 1359, 2126, 467, 7353, 12454
+467, 969, 563, 190, 720, 8731, 11176
+468, 881, 1863, 1713, 452, 7397, 12308
+469, 914, 551, 263, 800, 8184, 10714
+470, 962, 1696, 1653, 591, 7326, 12230
+471, 845, 673, 34, 77, 7548, 9179
+472, 915, 1730, 1575, 330, 7493, 12046
+473, 710, 457, 21, 82, 8399, 9670
+474, 936, 1805, 1492, 365, 7458, 12057
+475, 863, 554, 31, 91, 7628, 9169
+476, 897, 1789, 1774, 438, 7299, 12200
+477, 913, 682, 30, 74, 7794, 9496
+478, 876, 1789, 1763, 367, 7339, 12136
+479, 1111, 480, 22, 73, 7854, 9543
+480, 910, 1750, 1612, 479, 7180, 11934
+481, 831, 536, 29, 96, 7652, 9147
+482, 882, 1741, 7073, 327, 10161, 20187
+483, 738, 425, 18, 69, 7543, 8794
+484, 904, 1778, 1584, 474, 7238, 11980
+485, 874, 565, 33, 87, 7750, 9310
+486, 865, 1916, 1656, 434, 7196, 12068
+487, 872, 553, 31, 94, 7614, 9166
+488, 906, 1756, 1541, 475, 7174, 11853
+489, 928, 745, 32, 268, 7465, 9440
+490, 898, 1730, 1694, 465, 7326, 12115
+491, 909, 564, 692, 480, 8414, 11062
+492, 1560, 1843, 2045, 521, 9843, 15815
+493, 848, 471, 23, 144, 8863, 10350
+494, 957, 1693, 1934, 515, 10036, 15137
+495, 960, 450, 17, 295, 9241, 10964
+496, 951, 1935, 1899, 601, 8510, 13898
+497, 933, 575, 26, 85, 9160, 10781
+498, 999, 1977, 2356, 506, 8509, 14349
+499, 943, 566, 27, 83, 8889, 10510
+500, 943, 1843, 1956, 583, 8539, 13867
+501, 1061, 694, 32, 86, 9189, 11063
+502, 760, 1929, 1970, 337, 8843, 13841
+503, 743, 451, 14, 95, 9351, 10656
+504, 762, 130, 10, 93, 9260, 10258
+505, 1170, 1581, 2164, 488, 8996, 14401
+506, 957, 544, 44, 233, 8912, 10691
+507, 919, 2080, 1913, 545, 8528, 13987
+508, 936, 552, 23, 85, 9350, 10947
+509, 1053, 1894, 1911, 536, 9020, 14417
+510, 945, 531, 39, 89, 9057, 10664
+511, 906, 1929, 1892, 597, 8527, 13852
+512, 952, 559, 26, 84, 8984, 10608
+513, 889, 2059, 3071, 530, 8989, 15541
+514, 923, 447, 16, 83, 9630, 11101
+515, 991, 1942, 2548, 527, 9355, 15364
+516, 1229, 904, 38, 98, 9629, 11900
+517, 948, 1928, 1926, 543, 8581, 13929
+518, 1159, 478, 45, 90, 9422, 11195
+519, 993, 1973, 3978, 624, 9241, 16810
+520, 978, 459, 25, 85, 8670, 10218
+521, 907, 2257, 2495, 554, 8654, 14869
+522, 889, 554, 31, 161, 8988, 10625
+523, 779, 2153, 2353, 431, 8551, 14269
+524, 830, 530, 29, 110, 9085, 10586
+525, 897, 2061, 1937, 515, 8500, 13912
+526, 887, 551, 31, 89, 9048, 10608
+527, 972, 2078, 1901, 402, 8582, 13937
+528, 839, 562, 32, 98, 9122, 10655
+529, 910, 2027, 1933, 365, 8649, 13887
+530, 874, 529, 26, 97, 9175, 10703
+531, 1300, 1613, 1890, 521, 9584, 14909
+532, 924, 714, 33, 271, 9035, 10979
+533, 922, 1910, 1880, 515, 10107, 15336
+534, 948, 587, 34, 222, 9076, 10869
+535, 924, 1930, 2187, 548, 9271, 14862
+536, 1199, 681, 244, 495, 9377, 11999
+537, 1014, 2052, 2087, 617, 8810, 14583
+538, 934, 555, 27, 83, 9277, 10878
+539, 927, 1954, 1884, 523, 9162, 14452
+540, 910, 634, 26, 89, 9074, 10735
+541, 1065, 1920, 1836, 544, 8669, 14036
+542, 936, 557, 26, 82, 9079, 10681
+543, 890, 1988, 2003, 540, 8648, 14070
+544, 1256, 496, 24, 83, 8949, 10809
+545, 960, 1935, 2228, 584, 8685, 14393
+546, 929, 570, 25, 86, 9142, 10754
+547, 990, 1872, 53, 147, 8755, 11819
+548, 990, 136, 70, 304, 8848, 10350
+549, 959, 140, 10, 349, 9015, 10476
+550, 942, 142, 36, 221, 8964, 10307
+551, 948, 137, 36, 201, 9677, 11002
+552, 966, 370, 17, 179, 8799, 10333
+553, 998, 144, 43, 173, 9121, 10481
+554, 1114, 359, 2424, 529, 9917, 14346
+555, 1066, 153, 175, 141, 10144, 11682
+556, 993, 176, 16, 278, 10205, 11669
+557, 1166, 128, 20, 74, 10464, 11854
+558, 915, 171, 227, 194, 9931, 11439
+559, 1395, 172, 30, 618, 9934, 12151
+560, 920, 178, 16, 284, 9959, 11359
+561, 901, 153, 11, 253, 10164, 11483
+562, 767, 132, 10, 103, 9921, 10935
+563, 756, 132, 9, 103, 10458, 11459
+564, 867, 146, 9, 203, 10045, 11272
+565, 892, 555, 31, 100, 10137, 11717
+566, 918, 1949, 2136, 484, 10604, 16095
+567, 1014, 550, 35, 97, 9920, 11618
+568, 950, 2036, 2060, 513, 9892, 15454
+569, 1057, 706, 32, 98, 10206, 12100
+570, 1139, 1738, 2116, 521, 10295, 15811
+571, 833, 473, 24, 97, 9998, 11426
+572, 970, 1967, 1931, 523, 10042, 15434
+573, 925, 615, 32, 277, 10190, 12041
+574, 790, 143, 10, 101, 10431, 11477
+575, 955, 2185, 2098, 489, 9906, 15635
+576, 962, 537, 25, 275, 10079, 11880
+577, 1025, 2048, 2519, 629, 10606, 16829
+578, 1128, 534, 25, 95, 9907, 11690
+579, 981, 2116, 2160, 552, 10315, 16127
+580, 1021, 704, 34, 103, 10145, 12009
+581, 1446, 1841, 2120, 653, 10469, 16532
+582, 895, 630, 31, 210, 10235, 12003
+583, 1120, 2040, 2151, 627, 10491, 16430
+584, 1245, 532, 25, 99, 10304, 12207
+585, 979, 2074, 2156, 624, 10039, 15874
+586, 994, 691, 34, 101, 9938, 11761
+587, 994, 1963, 2094, 563, 10132, 15747
+588, 976, 810, 39, 105, 9762, 11694
+589, 984, 1997, 2089, 569, 10122, 15762
+590, 1020, 689, 34, 103, 9964, 11811
+591, 1027, 2188, 2080, 653, 10245, 16195
+592, 1026, 663, 34, 281, 9981, 11987
+593, 1008, 1968, 2236, 734, 11018, 16966
+594, 1087, 498, 32, 275, 9981, 11874
+595, 1214, 1875, 2404, 612, 10948, 17054
+596, 908, 487, 27, 232, 11599, 13255
+597, 1283, 1771, 2073, 596, 10905, 16629
+598, 865, 531, 24, 108, 9771, 11301
+599, 950, 2047, 2560, 709, 10685, 16952
+600, 1053, 493, 26, 94, 9965, 11633
+601, 1000, 1928, 2032, 563, 10139, 15663
+602, 1144, 1034, 44, 107, 10433, 12763
+603, 1391, 2472, 2166, 773, 10788, 17592
+604, 851, 447, 22, 89, 10256, 11668
+605, 1369, 2028, 2243, 595, 10399, 16635
+606, 861, 496, 22, 91, 9957, 11430
+607, 967, 2064, 2058, 533, 10587, 16210
+608, 1155, 615, 26, 95, 10037, 11930
+609, 1115, 2042, 2106, 569, 10701, 16535
+610, 1190, 529, 25, 93, 10076, 11915
+611, 1006, 1943, 57, 165, 10430, 13603
+612, 974, 218, 10, 161, 10451, 11816
+613, 1004, 148, 9, 269, 10417, 11848
+614, 1308, 266, 2127, 496, 8764, 12963
+615, 947, 194, 14, 79, 9222, 10458
+616, 813, 142, 10, 92, 8930, 9988
+617, 955, 187, 15, 332, 9667, 11159
+618, 969, 363, 22, 116, 9464, 10937
+619, 992, 140, 11, 305, 8973, 10423
+620, 869, 139, 11, 318, 8936, 10275
+621, 1130, 137, 67, 180, 9072, 10587
+622, 759, 122, 9, 93, 8823, 9810
+623, 718, 131, 10, 98, 9337, 10296
+624, 933, 138, 9, 95, 9122, 10299
+625, 861, 140, 37, 308, 8861, 10209
+626, 966, 147, 10, 268, 9075, 10468
+627, 911, 330, 21, 207, 8808, 10277
+628, 939, 159, 16, 206, 8909, 10231
+629, 982, 155, 10, 498, 8951, 10598
+630, 1147, 951, 42, 265, 9592, 12000
+631, 1238, 112, 10, 68, 9036, 10465
+632, 880, 2059, 1792, 615, 8556, 13904
+633, 929, 574, 19, 141, 8899, 10563
+634, 1170, 1604, 1762, 507, 8548, 13594
+635, 924, 565, 26, 84, 8697, 10299
+636, 884, 2051, 1730, 429, 8516, 13612
+637, 974, 552, 33, 92, 8845, 10499
+638, 872, 1889, 1786, 425, 8515, 13489
+639, 936, 500, 47, 175, 8930, 10589
+640, 862, 1988, 1672, 471, 8456, 13451
+641, 836, 531, 32, 105, 8886, 10391
+642, 897, 1871, 52, 119, 8694, 11635
+643, 971, 140, 20, 83, 9266, 10481
+644, 930, 162, 16, 210, 9201, 10520
+645, 1216, 137, 11, 203, 8955, 10524
+646, 895, 137, 37, 294, 9305, 10670
+647, 1186, 117, 11, 261, 8963, 10540
+648, 1030, 227, 122, 487, 8591, 10459
+649, 921, 137, 36, 311, 8898, 10305
+650, 915, 175, 16, 272, 8935, 10315
+651, 924, 134, 11, 93, 8996, 10160
+652, 895, 135, 36, 262, 8844, 10173
+653, 919, 137, 37, 218, 9379, 10692
+654, 1143, 144, 14, 91, 9737, 11130
+655, 876, 164, 16, 209, 9015, 10281
+656, 902, 134, 37, 261, 8800, 10136
+657, 902, 135, 11, 91, 9062, 10203
+658, 936, 142, 37, 202, 9022, 10340
+659, 1109, 141, 21, 160, 9076, 10509
+660, 1152, 499, 22, 81, 9315, 11071
+661, 940, 1954, 1843, 526, 8480, 13744
+662, 1012, 567, 25, 84, 9056, 10747
+663, 1120, 1958, 1930, 548, 8823, 14380
+664, 961, 572, 28, 85, 9976, 11623
+665, 958, 1843, 2431, 549, 8802, 14584
+666, 1032, 596, 27, 90, 8983, 10730
+667, 1010, 1842, 2002, 397, 8621, 13874
+668, 1155, 792, 1442, 294, 8238, 11923
+669, 1003, 1833, 1773, 438, 7721, 12771
+670, 915, 574, 26, 83, 7689, 9290
+671, 924, 1981, 1834, 464, 8474, 13679
+672, 908, 547, 34, 95, 8014, 9599
+673, 807, 1706, 1751, 553, 8359, 13179
+674, 779, 479, 27, 67, 7765, 9119
+675, 879, 1992, 1769, 468, 7409, 12519
+676, 913, 559, 28, 72, 7935, 9508
+677, 909, 1837, 1820, 459, 7535, 12562
+678, 921, 560, 28, 75, 7890, 9476
+679, 837, 1877, 1692, 541, 7473, 12420
+680, 929, 597, 31, 72, 7944, 9575
+681, 916, 1882, 1808, 455, 7712, 12775
+682, 661, 433, 14, 82, 7650, 8844
+683, 652, 118, 9, 78, 8222, 9081
+684, 881, 1924, 1922, 466, 7518, 12713
+685, 892, 571, 35, 91, 7721, 9311
+686, 1160, 1563, 1762, 475, 7440, 12402
+687, 966, 568, 28, 88, 7835, 9487
+688, 875, 1872, 1730, 566, 7350, 12395
+689, 1343, 749, 32, 79, 7648, 9854
+690, 852, 1854, 2757, 465, 7432, 13362
+691, 894, 549, 30, 88, 7964, 9527
+692, 855, 1902, 1711, 438, 7419, 12327
+693, 851, 647, 52, 80, 7799, 9432
+694, 889, 1938, 1788, 318, 7612, 12547
+695, 882, 570, 33, 91, 7889, 9467
+696, 858, 1915, 1700, 443, 7282, 12200
+697, 1029, 561, 28, 88, 7704, 9410
+698, 880, 1695, 57, 101, 7494, 10229
+699, 1173, 110, 11, 261, 7613, 9171
+700, 864, 142, 16, 167, 7796, 8987
+701, 838, 116, 36, 198, 7693, 8883
+702, 963, 135, 9, 210, 7764, 9083
diff --git a/async-reproject-times.csv b/async-reproject-times.csv
new file mode 100644
index 0000000000..2f89728c57
--- /dev/null
+++ b/async-reproject-times.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Reproject, Symbol, Render, Total
+56, 664, 82, 9, 51, 759, 4059, 3491, 9117
+57, 1263, 334, 12, 61, 749, 3766, 3220, 9407
+58, 799, 1385, 1785, 303, 726, 3762, 3149, 11912
+59, 837, 617, 27, 72, 822, 3889, 2996, 9261
+60, 940, 1381, 1844, 304, 744, 3598, 3205, 12018
+61, 888, 413, 15, 84, 956, 3757, 3359, 9475
+62, 856, 1539, 2070, 496, 736, 3561, 3185, 12445
+63, 930, 549, 28, 74, 783, 3929, 3291, 9587
+64, 1105, 1105, 1814, 436, 762, 3794, 3201, 12219
+65, 919, 521, 23, 67, 756, 3954, 3130, 9371
+66, 936, 1790, 1886, 500, 753, 3587, 3133, 12587
+67, 957, 554, 28, 69, 951, 4095, 3101, 9757
+68, 969, 1417, 2120, 614, 839, 4181, 3222, 13364
+69, 714, 384, 17, 161, 850, 3659, 3473, 9260
+70, 882, 1662, 1922, 519, 762, 3768, 3283, 12800
+71, 928, 544, 540, 428, 795, 3787, 3604, 10628
+72, 1224, 1263, 53, 127, 1031, 3677, 3268, 10646
+73, 882, 153, 238, 711, 756, 3725, 3108, 9575
+74, 935, 166, 230, 263, 883, 3725, 3135, 9338
+75, 993, 152, 214, 677, 872, 3684, 3618, 10211
+76, 1130, 162, 423, 327, 766, 3941, 3160, 9911
+77, 1087, 92, 20, 98, 750, 3752, 3110, 8910
+78, 907, 122, 11, 140, 751, 3827, 3390, 9150
+79, 838, 115, 62, 183, 759, 3814, 3288, 9061
+80, 936, 119, 11, 246, 788, 3811, 3201, 9114
+81, 845, 122, 11, 283, 761, 3744, 3317, 9085
+82, 813, 118, 35, 184, 774, 3775, 3337, 9039
+83, 992, 120, 11, 111, 741, 3821, 3243, 9041
+84, 861, 122, 42, 194, 768, 3747, 3358, 9093
+85, 860, 121, 12, 335, 760, 3874, 3191, 9154
+86, 912, 118, 11, 214, 734, 3759, 3193, 8943
+87, 866, 119, 11, 84, 752, 3763, 3341, 8938
+88, 864, 121, 11, 112, 750, 3815, 3337, 9013
+89, 892, 122, 11, 282, 831, 3649, 3344, 9133
+90, 1198, 106, 11, 221, 794, 4239, 3250, 9821
+91, 871, 463, 20, 91, 844, 3755, 3571, 9617
+92, 928, 1460, 2351, 428, 744, 3607, 3226, 12745
+93, 904, 530, 23, 65, 727, 3952, 3053, 9255
+94, 867, 1416, 50, 98, 798, 3726, 3142, 10099
+95, 885, 138, 12, 255, 749, 3832, 3176, 9049
+96, 877, 191, 67, 81, 852, 3640, 3627, 9338
+97, 896, 123, 12, 210, 742, 3831, 3284, 9099
+98, 865, 120, 65, 296, 796, 3656, 3267, 9066
+99, 832, 122, 11, 138, 751, 3808, 3460, 9124
+100, 955, 122, 20, 77, 750, 3822, 3412, 9159
+101, 871, 119, 38, 204, 915, 4223, 3738, 10110
+102, 1324, 102, 51, 230, 859, 4000, 3280, 9848
+103, 1129, 98, 11, 212, 803, 3856, 3041, 9151
+104, 819, 112, 9, 72, 747, 3769, 3438, 8968
+105, 817, 104, 9, 65, 762, 3783, 3241, 8783
+106, 765, 103, 9, 70, 822, 3740, 3215, 8726
+107, 787, 103, 9, 63, 740, 3803, 3116, 8623
+108, 688, 102, 9, 104, 785, 3856, 3528, 9075
+109, 862, 234, 15, 167, 791, 3775, 3102, 8949
+110, 903, 115, 9, 135, 782, 3876, 3146, 8969
+111, 867, 123, 9, 67, 848, 3903, 3547, 9366
+112, 971, 957, 1980, 4396, 1386, 8055, 8927, 26674
+113, 1403, 114, 9, 93, 908, 6991, 4518, 14038
+114, 953, 1317, 2979, 854, 861, 5142, 4060, 16167
+115, 777, 321, 13, 76, 906, 5403, 4237, 11733
+116, 672, 90, 9, 62, 1464, 8931, 3367, 14598
+117, 729, 1257, 2435, 364, 885, 4776, 5965, 16412
+118, 855, 339, 14, 82, 1362, 5724, 3392, 11769
+119, 684, 92, 9, 64, 1069, 5298, 3483, 10701
+120, 794, 1495, 1883, 363, 831, 4631, 3696, 13695
+121, 814, 359, 11, 94, 860, 4789, 3520, 10449
+122, 798, 124, 9, 84, 849, 4723, 3860, 10449
+123, 872, 1603, 2423, 340, 853, 4650, 3822, 14564
+124, 1064, 405, 13, 76, 871, 6050, 4056, 12537
+125, 944, 101, 9, 61, 914, 15135, 3675, 20842
+126, 1736, 1322, 2596, 7470, 880, 8105, 8524, 30635
+127, 1296, 6329, 116, 160, 2114, 6065, 4599, 20681
+128, 872, 1532, 2024, 597, 849, 5160, 6509, 17545
+129, 1203, 486, 167, 946, 931, 5460, 5288, 14482
+130, 1273, 2069, 307, 540, 1053, 5669, 4503, 15415
+131, 845, 168, 102, 327, 859, 5663, 4888, 12855
+132, 850, 1554, 2371, 547, 1133, 5401, 4684, 16541
+133, 903, 475, 276, 606, 1735, 5589, 6816, 16401
+134, 892, 1673, 3571, 616, 1153, 5192, 4558, 17657
+135, 1235, 715, 3140, 3878, 1002, 7742, 10602, 28315
+136, 872, 266, 18, 243, 1060, 6125, 4387, 12972
+137, 1063, 228, 11, 86, 1023, 5823, 4476, 12712
+138, 1038, 1750, 3727, 667, 1204, 5298, 4587, 18274
+139, 2021, 604, 391, 683, 1499, 6300, 4906, 16405
+140, 1693, 1605, 2965, 662, 1222, 5904, 4599, 18652
+141, 883, 495, 21, 310, 1217, 5789, 4062, 12778
+142, 1203, 1551, 2546, 535, 1231, 5736, 4409, 17213
+143, 1175, 489, 22, 220, 1323, 6022, 4385, 13638
+144, 1013, 125, 9, 77, 1279, 6389, 4334, 13229
+145, 801, 135, 10, 176, 1249, 5525, 4276, 12174
+146, 932, 2283, 2664, 618, 1282, 6477, 4873, 19131
+147, 976, 427, 21, 92, 1178, 6862, 4196, 13754
+148, 883, 1668, 2472, 474, 1277, 6545, 4916, 18237
+149, 970, 464, 24, 91, 1219, 6667, 4113, 13549
+150, 863, 1557, 2403, 626, 1863, 5666, 4483, 17463
+151, 806, 449, 27, 99, 1368, 7143, 4038, 13932
+152, 863, 1548, 2659, 553, 1192, 6064, 4930, 17811
+153, 878, 475, 21, 275, 1485, 6473, 4103, 13712
+154, 839, 1545, 2359, 529, 1431, 5865, 4667, 17235
+155, 844, 484, 28, 91, 1541, 7926, 4119, 15035
+156, 873, 1648, 2521, 556, 1183, 5363, 5982, 18127
+157, 908, 496, 202, 438, 1499, 5785, 6020, 15349
+158, 998, 2128, 3304, 666, 1294, 5509, 4719, 18620
+159, 936, 1713, 155, 568, 1322, 5746, 4376, 14818
+160, 845, 2258, 3387, 641, 1287, 5204, 4896, 18520
+161, 1985, 533, 25, 238, 1406, 5931, 4273, 14393
+162, 907, 1550, 2847, 577, 1322, 5555, 4733, 17493
+163, 1288, 490, 25, 102, 1345, 6265, 3921, 13439
+164, 1256, 1482, 2439, 388, 1562, 5639, 4214, 16981
+165, 986, 374, 14, 85, 1293, 6746, 4381, 13881
+166, 862, 111, 9, 73, 1241, 6028, 4231, 12557
+167, 1100, 1699, 2147, 387, 1490, 5873, 4075, 16773
+168, 1123, 482, 23, 128, 2197, 5561, 4114, 13629
+169, 1102, 1800, 2253, 533, 1200, 5784, 4482, 17156
+170, 1042, 574, 20, 105, 1230, 6011, 3975, 12959
+171, 1109, 1720, 2243, 594, 1345, 5529, 4391, 16933
+172, 1171, 468, 23, 127, 1254, 6377, 4234, 13655
+173, 1142, 1599, 2162, 595, 1180, 5847, 4440, 16966
+174, 1193, 456, 20, 106, 1243, 6195, 3923, 13138
+175, 864, 1512, 2941, 483, 1139, 5743, 4296, 16979
+176, 1258, 527, 27, 94, 1246, 5664, 3897, 12716
+177, 1919, 1636, 2260, 624, 1103, 5919, 4400, 17863
+178, 858, 520, 18, 92, 1279, 5601, 4070, 12439
+179, 1018, 1797, 3408, 709, 1436, 6226, 4186, 18782
+180, 823, 572, 43, 127, 1054, 6220, 3906, 12747
+181, 843, 1641, 2293, 558, 1083, 6300, 4242, 16962
+182, 827, 452, 20, 86, 1132, 5794, 4001, 12315
+183, 1040, 1675, 2476, 536, 1068, 5916, 4391, 17105
+184, 871, 454, 59, 99, 1220, 5568, 3902, 12175
+185, 938, 1900, 3940, 526, 1097, 6641, 4257, 19300
+186, 862, 432, 20, 88, 1697, 7757, 3929, 14787
+187, 844, 1785, 2379, 629, 1436, 6092, 4207, 17374
+188, 921, 529, 26, 93, 1130, 6847, 3890, 13438
+189, 834, 1606, 3787, 526, 1115, 6022, 6690, 20583
+190, 832, 436, 23, 89, 1149, 6526, 4262, 13319
+191, 828, 1640, 2326, 566, 1081, 5386, 5503, 17332
+192, 834, 490, 25, 99, 1314, 5937, 4901, 13601
+193, 839, 1649, 2264, 534, 989, 5160, 5408, 16844
+194, 903, 466, 20, 90, 1226, 6625, 3938, 13271
+195, 838, 1521, 2633, 561, 1166, 5225, 5094, 17041
+196, 849, 534, 28, 93, 1191, 6609, 3993, 13299
+197, 860, 1563, 2358, 570, 998, 5516, 5019, 16886
+198, 860, 468, 26, 92, 1212, 6633, 4240, 13533
+199, 833, 1538, 2324, 561, 1006, 5443, 5308, 17016
+200, 789, 443, 23, 90, 1069, 6512, 3928, 12855
+201, 777, 1559, 2345, 503, 1340, 5556, 4453, 16536
+202, 800, 448, 21, 92, 1224, 6537, 3979, 13103
+203, 804, 1581, 2223, 508, 1245, 6139, 4151, 16653
+204, 833, 444, 25, 91, 1160, 6485, 4219, 13260
+205, 844, 1566, 2167, 495, 1155, 6094, 4243, 16566
+206, 770, 447, 20, 88, 1031, 6026, 3936, 12320
+207, 836, 1685, 2493, 566, 1004, 6222, 4547, 17355
+208, 791, 423, 19, 96, 954, 6129, 4052, 12465
+209, 1186, 1597, 2156, 482, 995, 6341, 4513, 17272
+210, 881, 440, 27, 90, 976, 5513, 4159, 12087
+211, 1337, 1775, 2014, 357, 835, 4244, 3541, 14106
+212, 1141, 436, 26, 146, 936, 4648, 3557, 10891
+213, 906, 1964, 1910, 359, 810, 4150, 3884, 13984
+214, 869, 541, 33, 111, 850, 4615, 3729, 10749
+215, 892, 1963, 1936, 394, 829, 4184, 3707, 13907
+216, 995, 447, 27, 85, 887, 4715, 3636, 10795
+217, 918, 1968, 2021, 486, 856, 4204, 3636, 14091
+218, 978, 526, 23, 83, 905, 4549, 3559, 10625
+219, 907, 1904, 1896, 433, 808, 4209, 3758, 13917
+220, 940, 534, 28, 103, 786, 4598, 3687, 10678
+221, 911, 1790, 2049, 455, 801, 4182, 3944, 14134
+222, 905, 500, 29, 82, 855, 4734, 3555, 10663
+223, 906, 1865, 2954, 418, 824, 4771, 3618, 15358
+224, 669, 407, 15, 103, 898, 4464, 3947, 10505
+225, 959, 1314, 1835, 403, 792, 4235, 3576, 13116
+226, 972, 506, 24, 105, 775, 4571, 3601, 10557
+227, 939, 1661, 57, 119, 839, 4301, 3655, 11574
+228, 992, 132, 19, 76, 833, 4266, 3923, 10243
+229, 861, 130, 12, 177, 857, 4380, 3759, 10178
+230, 895, 136, 11, 96, 806, 4427, 3709, 10082
+231, 898, 130, 11, 133, 798, 4412, 3659, 10043
+232, 833, 139, 11, 90, 803, 4373, 3808, 10059
+233, 875, 134, 18, 83, 816, 4345, 4287, 10560
+234, 931, 134, 12, 80, 967, 4649, 3668, 10443
+235, 941, 136, 11, 88, 802, 4458, 3781, 10219
+236, 897, 132, 9, 83, 860, 4434, 4210, 10628
+237, 892, 127, 11, 108, 968, 4418, 3770, 10296
+238, 1019, 104, 12, 67, 800, 4469, 3605, 10077
+239, 799, 127, 13, 89, 798, 4435, 3768, 10031
+240, 946, 129, 11, 94, 838, 4551, 3782, 10352
+241, 1031, 133, 11, 79, 804, 4532, 3741, 10334
+242, 892, 147, 11, 87, 808, 4326, 3857, 10130
+243, 759, 135, 9, 86, 902, 4525, 3641, 10059
+244, 774, 129, 10, 87, 835, 4552, 3832, 10221
+245, 878, 137, 10, 83, 805, 4317, 3774, 10006
+246, 880, 506, 31, 89, 940, 4511, 3641, 10601
+247, 793, 1903, 2363, 427, 789, 4304, 3634, 14215
+248, 906, 514, 28, 90, 778, 4603, 3586, 10507
+249, 929, 1834, 2493, 456, 792, 4171, 3573, 14249
+250, 927, 495, 24, 99, 827, 4711, 3683, 10768
+251, 1132, 1725, 2077, 438, 792, 4138, 3827, 14132
+252, 1032, 495, 29, 83, 863, 4721, 3547, 10772
+253, 871, 1729, 57, 116, 812, 4248, 4092, 11927
+254, 920, 142, 11, 84, 808, 4383, 3725, 10074
+255, 904, 134, 11, 80, 810, 4330, 3676, 9948
+256, 860, 130, 12, 164, 797, 4415, 3767, 10146
+257, 867, 126, 11, 149, 890, 4450, 3789, 10284
+258, 862, 137, 12, 85, 811, 4565, 3717, 10190
+259, 870, 132, 11, 113, 804, 4424, 3850, 10206
+260, 922, 143, 12, 87, 812, 4446, 3774, 10197
+261, 983, 131, 12, 80, 820, 4359, 3719, 10105
+262, 949, 139, 11, 88, 807, 4358, 3863, 10217
+263, 898, 142, 12, 83, 834, 4423, 3724, 10118
+264, 1117, 115, 12, 70, 955, 4617, 3475, 10362
+265, 850, 143, 11, 84, 833, 4404, 3909, 10235
+266, 879, 128, 11, 110, 993, 4358, 3738, 10219
+267, 914, 128, 11, 95, 821, 4467, 3693, 10130
+268, 911, 132, 11, 148, 821, 4689, 3678, 10392
+269, 878, 131, 12, 111, 826, 4344, 3819, 10123
+270, 957, 130, 36, 256, 862, 4470, 3641, 10355
+271, 972, 132, 9, 89, 817, 4316, 3715, 10053
+272, 934, 522, 28, 90, 924, 4578, 3623, 10701
+273, 969, 1799, 1993, 532, 813, 4168, 3712, 13989
+274, 917, 548, 26, 81, 853, 4657, 3648, 10733
+275, 941, 1869, 2006, 457, 844, 4121, 3751, 13991
+276, 1036, 703, 35, 88, 851, 4541, 3591, 10847
+277, 1302, 1615, 2020, 504, 862, 4397, 3817, 14519
+278, 990, 502, 28, 253, 967, 4516, 3446, 10704
+279, 956, 1850, 2359, 566, 904, 4188, 3739, 14564
+280, 951, 569, 21, 99, 911, 4586, 3732, 10871
+281, 933, 1827, 2007, 492, 918, 4121, 3779, 14079
+282, 927, 531, 21, 83, 934, 4548, 3589, 10634
+283, 956, 1927, 2124, 527, 1023, 4665, 3769, 14994
+284, 789, 458, 22, 101, 962, 4380, 3913, 10628
+285, 715, 124, 9, 83, 1301, 4966, 3701, 10901
+286, 776, 1769, 1933, 328, 947, 4291, 3884, 13930
+287, 911, 471, 28, 100, 949, 4718, 3584, 10763
+288, 1007, 1776, 2086, 517, 1031, 4186, 3869, 14473
+289, 871, 568, 28, 85, 1041, 4562, 3680, 10837
+290, 1149, 1648, 3055, 521, 932, 4896, 3691, 15894
+291, 828, 427, 25, 79, 987, 4598, 3342, 10288
+292, 921, 1844, 2120, 441, 920, 4177, 3712, 14137
+293, 1110, 532, 24, 258, 1003, 4467, 3388, 10785
+294, 1072, 1420, 2053, 321, 1045, 5124, 3914, 14950
+295, 1000, 378, 12, 95, 992, 4445, 3621, 10546
+296, 968, 1923, 2061, 527, 950, 4667, 4043, 15141
+297, 1038, 761, 39, 95, 909, 4573, 3584, 11000
+298, 1113, 1772, 2027, 538, 960, 4209, 3687, 14308
+299, 937, 407, 23, 405, 994, 4355, 3420, 10544
+300, 880, 125, 9, 79, 945, 4373, 3627, 10039
+301, 736, 1783, 1706, 319, 956, 4508, 3356, 13365
+302, 1199, 802, 37, 89, 905, 4597, 3473, 11103
+303, 999, 1398, 4694, 447, 1255, 5733, 4264, 18792
+304, 923, 679, 1994, 3104, 956, 7470, 8590, 23718
+305, 1194, 2010, 2148, 581, 973, 5082, 4587, 16577
+306, 1153, 500, 27, 102, 1057, 5549, 3892, 12283
+307, 887, 1559, 2197, 533, 994, 4728, 4253, 15153
+308, 976, 586, 29, 89, 1077, 5211, 4045, 12014
+309, 1001, 1929, 2723, 592, 1086, 5403, 4170, 16905
+310, 1149, 506, 25, 90, 1008, 5106, 4029, 11915
+311, 951, 1903, 2109, 485, 1177, 5822, 4193, 16641
+312, 1195, 513, 22, 88, 1062, 4777, 4063, 11723
+313, 929, 2050, 4392, 576, 1086, 5586, 4479, 19100
+314, 830, 469, 25, 90, 1075, 5703, 4189, 12383
+315, 1064, 1564, 2230, 622, 1103, 5629, 4479, 16693
+316, 933, 451, 24, 117, 1102, 5529, 4063, 12221
+317, 988, 1846, 2576, 623, 1058, 5401, 4583, 17076
+318, 871, 452, 18, 110, 1232, 5140, 3863, 11688
+319, 1071, 1966, 3145, 629, 1064, 5425, 4258, 17561
+320, 857, 478, 21, 87, 1014, 5085, 3991, 11535
+321, 975, 1997, 2294, 522, 1064, 5132, 4424, 16409
+322, 1343, 542, 17, 282, 1065, 5098, 3977, 12326
+323, 1066, 2182, 2203, 965, 1357, 5580, 4450, 17805
+324, 695, 456, 24, 99, 1125, 5220, 3981, 11601
+325, 1019, 2028, 2131, 553, 1033, 5430, 4359, 16556
+326, 808, 313, 12, 79, 1050, 5247, 3880, 11390
+327, 926, 113, 10, 68, 1079, 5881, 3898, 11976
+328, 842, 149, 9, 148, 1036, 5123, 4275, 11584
+329, 1221, 1809, 2235, 478, 1180, 5588, 4212, 16725
+330, 958, 489, 30, 99, 1127, 4929, 4073, 11708
+331, 1064, 1909, 2156, 595, 1055, 5994, 4711, 17486
+332, 902, 399, 19, 105, 1108, 7561, 4553, 14649
+333, 929, 2935, 2272, 549, 1484, 6195, 5253, 19619
+334, 982, 461, 21, 257, 1545, 6429, 4935, 14633
+335, 743, 1627, 2423, 650, 1352, 5652, 5441, 17890
+336, 955, 833, 2336, 4391, 1115, 8273, 8478, 26383
+337, 1170, 1785, 2419, 764, 1172, 5554, 5249, 18116
+338, 905, 461, 29, 135, 1227, 6109, 5155, 14022
+339, 1313, 1936, 2518, 595, 1166, 5697, 5657, 18883
+340, 1187, 482, 28, 113, 1255, 6302, 4923, 14292
+341, 1254, 1857, 2598, 481, 1356, 5783, 5107, 18438
+342, 1723, 439, 28, 176, 1252, 6227, 4973, 14820
+343, 1427, 303, 143, 232, 1520, 6250, 4848, 14724
+344, 2047, 2015, 2066, 645, 1144, 5260, 4704, 17882
+345, 1660, 547, 227, 435, 1442, 5469, 5439, 15221
+346, 1984, 1748, 2033, 770, 1238, 4949, 4545, 17269
+347, 1760, 760, 32, 226, 1153, 5653, 4215, 13800
+348, 1231, 1701, 2132, 548, 1306, 4774, 4714, 16409
+349, 1215, 495, 26, 102, 1306, 5761, 3967, 12874
+350, 887, 1693, 2164, 656, 1333, 4847, 4650, 16232
+351, 1238, 362, 15, 96, 1152, 5626, 5323, 13813
+352, 1175, 1851, 2111, 545, 1143, 5033, 4522, 16382
+353, 1147, 574, 28, 109, 1240, 5559, 4008, 12667
+354, 1166, 1960, 2322, 607, 1121, 5003, 4572, 16752
+355, 1753, 538, 29, 94, 1139, 5536, 4162, 13253
+356, 1368, 1849, 2158, 746, 1127, 4948, 4557, 16755
+357, 1188, 782, 31, 103, 1220, 5703, 4112, 13141
+358, 838, 1696, 2574, 636, 1147, 4742, 4164, 15798
+359, 1196, 671, 1856, 352, 1122, 4562, 3805, 13567
+360, 1063, 2010, 2159, 512, 1104, 5000, 3726, 15575
+361, 929, 769, 34, 100, 1139, 4541, 3655, 11167
+362, 960, 1839, 1973, 480, 1098, 4129, 3632, 14113
+363, 1191, 450, 40, 77, 1062, 4714, 3532, 11069
+364, 886, 1947, 1948, 568, 1079, 4521, 3726, 14678
+365, 991, 601, 35, 101, 1118, 4441, 3550, 10840
+366, 1005, 1901, 1962, 514, 1091, 4345, 3659, 14479
+367, 873, 552, 31, 87, 1066, 4478, 3642, 10731
+368, 841, 1946, 1897, 507, 1469, 4651, 3651, 14964
+369, 1192, 472, 23, 85, 1066, 4829, 3538, 11207
+370, 907, 2445, 2189, 398, 1062, 4259, 3974, 15236
+371, 986, 588, 28, 272, 1075, 4449, 3398, 10797
+372, 994, 1982, 2003, 526, 1076, 4178, 3963, 14723
+373, 1185, 530, 63, 233, 1048, 4375, 3649, 11084
+374, 1101, 1945, 1870, 452, 944, 3516, 3057, 12888
+375, 898, 567, 32, 79, 1100, 3997, 3097, 9771
+376, 1190, 1889, 2164, 463, 1229, 5144, 3252, 15332
+377, 1296, 486, 1216, 227, 759, 3205, 2325, 9516
+378, 895, 2042, 1679, 394, 736, 2949, 2492, 11189
+379, 1666, 462, 19, 66, 1057, 3345, 2850, 9467
+380, 673, 105, 9, 56, 789, 3252, 2759, 7645
+381, 1023, 1797, 1574, 476, 933, 3356, 2996, 12157
+382, 903, 563, 34, 80, 776, 3144, 2638, 8139
+383, 944, 1829, 3569, 559, 825, 3242, 2647, 13617
+384, 957, 574, 33, 67, 734, 3142, 2457, 7965
+385, 845, 1667, 1537, 275, 751, 2829, 2472, 10377
+386, 733, 550, 32, 72, 756, 3276, 2535, 7956
+387, 790, 1678, 1315, 256, 746, 2830, 2499, 10115
+388, 785, 561, 30, 69, 747, 3111, 2620, 7925
+389, 1055, 1376, 1372, 270, 761, 2988, 2517, 10341
+390, 880, 487, 24, 74, 765, 3089, 2537, 7858
+391, 875, 1739, 1423, 265, 769, 2872, 2492, 10436
+392, 782, 518, 29, 67, 810, 3186, 2485, 7879
+393, 808, 1700, 1316, 265, 749, 2975, 2612, 10427
+394, 828, 491, 25, 70, 760, 3133, 2599, 7908
+395, 822, 1703, 1778, 277, 951, 3197, 2923, 11653
+396, 987, 712, 1589, 362, 848, 3827, 2962, 11290
+397, 870, 1673, 1522, 421, 830, 3378, 3039, 11736
+398, 862, 506, 20, 72, 1013, 3665, 2911, 9051
+399, 853, 1702, 1507, 332, 851, 3606, 3062, 11916
+400, 829, 519, 28, 96, 928, 3923, 3148, 9472
+401, 690, 1708, 1446, 284, 899, 3476, 2809, 11314
+402, 1131, 420, 19, 64, 934, 3559, 3169, 9298
+403, 905, 1749, 1687, 489, 830, 3501, 3050, 12213
+404, 1130, 816, 40, 107, 807, 3644, 3239, 9785
+405, 904, 1666, 1647, 908, 884, 3546, 3881, 13437
+406, 902, 532, 29, 296, 822, 3637, 3798, 10018
+407, 922, 1700, 1597, 530, 815, 3489, 3168, 12223
+408, 914, 544, 29, 77, 817, 3809, 3017, 9209
+409, 906, 1726, 1705, 462, 819, 3340, 3142, 12103
+410, 906, 555, 30, 77, 865, 3861, 2952, 9248
+411, 1007, 1676, 1929, 435, 822, 4050, 3089, 13011
+412, 857, 526, 29, 91, 878, 3963, 3036, 9382
+413, 908, 1711, 1580, 514, 832, 3426, 3062, 12034
+414, 923, 552, 29, 71, 808, 3805, 2958, 9148
+415, 785, 1756, 3585, 406, 1114, 5201, 3061, 15909
+416, 731, 335, 17, 63, 884, 3563, 2804, 8399
+417, 996, 1667, 2751, 470, 940, 3608, 3074, 13507
+418, 925, 568, 26, 72, 900, 3895, 3138, 9526
+419, 907, 1784, 1620, 485, 826, 3371, 3100, 12095
+420, 963, 553, 562, 430, 984, 3598, 3333, 10424
+421, 1002, 1731, 1661, 532, 892, 3560, 3176, 12556
+422, 877, 563, 281, 665, 908, 3654, 3497, 10447
+423, 860, 1714, 1599, 472, 859, 3707, 3110, 12324
+424, 866, 538, 27, 88, 857, 3644, 3135, 9156
+425, 882, 1719, 1549, 460, 805, 3390, 3016, 11823
+426, 950, 549, 29, 72, 872, 3770, 2929, 9173
+427, 918, 1738, 1707, 480, 776, 3349, 3004, 11974
+428, 1125, 460, 23, 66, 758, 3856, 2853, 9142
+429, 861, 1733, 1597, 443, 779, 3350, 3365, 12130
+430, 849, 569, 28, 93, 766, 3788, 3115, 9211
+431, 1081, 1736, 1849, 446, 781, 3370, 3158, 12424
+432, 881, 535, 265, 668, 756, 3525, 3401, 10032
+433, 888, 1731, 1593, 640, 746, 3415, 3512, 12527
+434, 1095, 584, 25, 672, 735, 3635, 3185, 9933
+435, 920, 1722, 1739, 490, 750, 3349, 3384, 12355
+436, 944, 586, 599, 332, 809, 3591, 3476, 10338
+437, 924, 1839, 1518, 490, 726, 3484, 3076, 12059
+438, 885, 573, 31, 94, 749, 3849, 2967, 9150
+439, 969, 1687, 1642, 518, 730, 3384, 3126, 12058
+440, 899, 527, 27, 84, 711, 3830, 3095, 9175
+441, 1178, 1794, 1760, 442, 839, 3421, 3072, 12507
+442, 856, 548, 30, 89, 721, 3864, 3064, 9173
+443, 951, 1704, 1588, 457, 715, 3402, 3089, 11907
+444, 1129, 1064, 1931, 358, 796, 4374, 3499, 13154
+445, 949, 1818, 1858, 471, 835, 4489, 3675, 14098
+446, 1052, 692, 34, 86, 835, 4296, 3730, 10726
+447, 895, 1867, 2073, 553, 895, 4481, 3600, 14366
+448, 897, 587, 32, 83, 840, 4594, 3577, 10612
+449, 948, 1986, 1997, 553, 823, 4136, 3565, 14011
+450, 975, 560, 27, 85, 803, 4679, 3575, 10706
+451, 913, 1936, 1942, 530, 820, 4251, 3567, 13960
+452, 948, 582, 26, 85, 858, 4631, 3545, 10677
+453, 923, 1972, 3255, 530, 813, 4569, 4103, 16167
+454, 1051, 519, 23, 83, 800, 4522, 3540, 10540
+455, 903, 1929, 2036, 514, 854, 4126, 3687, 14052
+456, 977, 554, 27, 82, 821, 4628, 3461, 10553
+457, 917, 1898, 5842, 510, 906, 5078, 3673, 18826
+458, 802, 465, 20, 77, 914, 4640, 3649, 10568
+459, 1063, 1963, 1939, 569, 818, 4133, 3890, 14376
+460, 993, 585, 28, 265, 832, 4763, 3364, 10831
+461, 737, 1775, 1654, 331, 873, 4296, 3469, 13137
+462, 754, 461, 20, 97, 1071, 4460, 3803, 10668
+463, 951, 1998, 2082, 581, 857, 4400, 3617, 14488
+464, 977, 563, 27, 81, 848, 4725, 3467, 10690
+465, 1120, 1959, 2405, 510, 873, 4167, 3621, 14657
+466, 824, 580, 34, 113, 961, 4596, 3822, 10931
+467, 1209, 1742, 1954, 516, 866, 4559, 3836, 14684
+468, 878, 547, 27, 81, 860, 4770, 3589, 10755
+469, 934, 2050, 1923, 496, 861, 4234, 3614, 14114
+470, 909, 578, 33, 102, 848, 4749, 3585, 10807
+471, 835, 2379, 2184, 512, 851, 4682, 3769, 15214
+472, 939, 565, 31, 103, 924, 4605, 3558, 10727
+473, 923, 2154, 2179, 546, 876, 4118, 3542, 14340
+474, 994, 559, 31, 105, 846, 4637, 3581, 10755
+475, 921, 2052, 1925, 496, 884, 4199, 3606, 14085
+476, 1053, 584, 26, 86, 927, 4618, 3562, 10858
+477, 946, 1989, 1907, 500, 943, 4430, 3634, 14351
+478, 930, 554, 29, 104, 871, 4634, 3715, 10839
+479, 929, 2141, 2206, 501, 919, 4133, 3584, 14414
+480, 1192, 502, 26, 75, 862, 4727, 3495, 10881
+481, 917, 1874, 1913, 557, 862, 4213, 3603, 13940
+482, 969, 566, 27, 83, 1016, 4517, 3460, 10639
+483, 1348, 1912, 1886, 568, 938, 4204, 4030, 14888
+484, 977, 712, 29, 93, 898, 4427, 3560, 10698
+485, 960, 1904, 1956, 503, 1000, 4129, 3743, 14196
+486, 1035, 556, 26, 1029, 920, 4554, 3770, 11891
+487, 891, 1940, 2009, 534, 912, 4280, 3613, 14182
+488, 977, 554, 27, 727, 1306, 4444, 4057, 12093
+489, 959, 1965, 3354, 510, 901, 4823, 3972, 16486
+490, 1246, 508, 293, 367, 1051, 4550, 3780, 11796
+491, 957, 2031, 1870, 639, 906, 4149, 3661, 14215
+492, 916, 581, 29, 93, 894, 4701, 3506, 10722
+493, 1186, 1857, 3947, 690, 929, 4998, 3605, 17213
+494, 816, 462, 20, 79, 929, 4792, 3489, 10589
+495, 937, 1998, 2290, 668, 881, 4131, 3573, 14479
+496, 950, 564, 46, 84, 923, 4455, 3616, 10641
+497, 898, 1942, 2297, 715, 889, 4172, 3677, 14592
+498, 911, 686, 32, 84, 882, 4653, 3513, 10764
+499, 947, 1897, 64, 117, 986, 4167, 3565, 11745
+500, 911, 134, 22, 160, 957, 4448, 3711, 10345
+501, 998, 222, 11, 124, 1067, 4251, 4044, 10718
+502, 987, 170, 16, 299, 950, 4423, 3637, 10485
+503, 926, 170, 17, 259, 955, 4338, 3692, 10359
+504, 2128, 554, 158, 419, 1095, 5131, 5641, 15127
+505, 1099, 380, 2180, 583, 979, 5877, 4176, 15276
+506, 839, 144, 23, 162, 956, 4876, 3910, 10911
+507, 988, 180, 64, 541, 1079, 4989, 4018, 11861
+508, 949, 188, 210, 719, 940, 4941, 3900, 11849
+509, 938, 187, 182, 580, 890, 4955, 4342, 12077
+510, 968, 188, 230, 391, 939, 4945, 4292, 11955
+511, 1170, 229, 124, 631, 926, 5144, 4158, 12385
+512, 990, 200, 216, 516, 937, 4868, 4266, 11995
+513, 1140, 197, 197, 542, 1143, 5000, 4131, 12352
+514, 1123, 196, 137, 601, 977, 5145, 3974, 12154
+515, 1151, 191, 209, 673, 936, 5010, 3954, 12127
+516, 971, 186, 124, 301, 922, 4903, 4270, 11679
+517, 988, 559, 27, 628, 865, 5092, 4348, 12509
+518, 1085, 1586, 2061, 675, 996, 5891, 4336, 16632
+519, 6183, 9967, 2660, 995, 990, 5235, 6334, 32366
+520, 851, 662, 415, 447, 890, 4733, 9402, 17403
+521, 855, 1891, 2562, 956, 882, 4851, 4504, 16503
+522, 820, 483, 450, 764, 855, 4908, 8173, 16455
+523, 849, 6399, 2439, 801, 1053, 7076, 4112, 22732
+524, 1648, 532, 487, 482, 1263, 8889, 4390, 17692
+525, 1139, 1837, 2694, 657, 861, 4738, 6335, 18263
+526, 1074, 630, 30, 102, 1120, 5392, 5922, 14273
+527, 894, 1649, 4006, 814, 845, 4737, 4494, 17441
+528, 1003, 674, 1637, 152, 1060, 5297, 4347, 14172
+529, 1098, 5214, 2502, 820, 899, 4710, 4034, 19280
+530, 940, 494, 32, 95, 915, 5449, 3994, 11921
+531, 1131, 1833, 2103, 621, 881, 7078, 4428, 18077
+532, 1134, 494, 25, 95, 946, 7359, 3920, 13974
+533, 1095, 1766, 2153, 536, 844, 6838, 4954, 18188
+534, 1179, 569, 29, 128, 2890, 6119, 4192, 15107
+535, 1758, 1703, 2075, 665, 936, 5212, 6963, 19314
+536, 1817, 507, 299, 622, 794, 4715, 8005, 16760
+537, 1744, 4040, 2176, 1049, 806, 4838, 4368, 19023
+538, 886, 568, 268, 1568, 970, 7077, 5570, 16909
+539, 1793, 1942, 2056, 658, 899, 4698, 6720, 18768
+540, 1565, 543, 262, 706, 820, 4935, 7900, 16733
+541, 1920, 1610, 4562, 708, 936, 6279, 4298, 20314
+542, 844, 480, 269, 417, 873, 5311, 4638, 12834
+543, 1811, 2011, 2403, 654, 1157, 6871, 4401, 19311
+544, 1618, 521, 140, 450, 1026, 6219, 4503, 14478
+545, 1029, 145, 11, 81, 945, 6439, 4128, 12781
+546, 1115, 1753, 2039, 570, 973, 5877, 4493, 16822
+547, 1072, 527, 26, 99, 994, 6386, 3838, 12944
+548, 1032, 157, 12, 81, 988, 5072, 4132, 11476
+549, 1165, 1984, 2243, 570, 911, 5436, 4679, 16991
+550, 825, 444, 24, 95, 960, 6038, 3889, 12278
+551, 1199, 1785, 2085, 617, 900, 5912, 4528, 17028
+552, 1067, 468, 27, 95, 927, 7725, 4686, 14996
+553, 1853, 1662, 2087, 600, 1411, 6411, 4473, 18499
+554, 1749, 509, 49, 221, 930, 8452, 4737, 16649
+555, 1981, 1983, 2240, 588, 900, 4659, 6726, 19078
+556, 1840, 514, 2281, 1067, 889, 4946, 4749, 16288
+557, 1625, 4004, 2272, 765, 930, 4736, 4518, 18851
+558, 1649, 539, 27, 297, 1011, 7617, 4324, 15466
+559, 1717, 2252, 1910, 593, 786, 6679, 3870, 17808
+560, 1973, 602, 360, 348, 797, 7217, 3930, 15229
+561, 845, 1663, 2164, 535, 739, 4150, 6049, 16148
+562, 1788, 519, 206, 463, 740, 4827, 6970, 15514
+563, 1725, 1728, 4287, 1528, 813, 4577, 3602, 18261
+564, 1721, 550, 2978, 744, 847, 7808, 4221, 18871
+565, 878, 1773, 2166, 719, 788, 4134, 5708, 16168
+566, 1121, 496, 24, 91, 850, 6846, 3306, 12735
+567, 961, 1681, 1797, 576, 2575, 4497, 3897, 15986
+568, 1128, 593, 30, 85, 1051, 6678, 3549, 13115
+569, 939, 1658, 1843, 581, 1176, 5647, 3942, 15788
+570, 1400, 458, 119, 84, 1009, 6619, 3998, 13690
+571, 1438, 1592, 1847, 496, 936, 6332, 4225, 16869
+572, 1681, 565, 252, 565, 887, 4783, 12853, 21588
+573, 700, 101, 10, 60, 852, 4194, 4629, 10547
+574, 664, 1986, 2103, 700, 857, 4193, 3541, 14045
+575, 1217, 476, 22, 267, 847, 4430, 3579, 10840
+576, 3341, 1683, 2467, 488, 866, 8202, 3447, 20497
+577, 864, 490, 25, 81, 870, 4408, 5896, 12636
+578, 804, 1596, 2314, 549, 849, 7664, 3556, 17334
+579, 869, 456, 65, 272, 868, 5497, 4866, 12895
+580, 826, 1548, 1795, 506, 3040, 5408, 3818, 16943
+581, 786, 544, 27, 498, 880, 8702, 3713, 15152
+582, 833, 1650, 1834, 717, 1074, 7434, 3553, 17098
+583, 796, 453, 350, 438, 961, 16596, 3941, 23536
+584, 802, 1432, 1941, 521, 2003, 4978, 4419, 16098
+585, 1674, 536, 275, 492, 1015, 6723, 3698, 14415
+586, 1057, 1609, 1913, 585, 899, 4391, 3774, 14231
+587, 921, 416, 22, 87, 925, 4628, 3953, 10953
+588, 674, 1480, 2010, 509, 894, 4065, 3619, 13253
+589, 998, 554, 166, 94, 926, 4381, 3350, 10471
+590, 884, 2051, 1829, 545, 926, 4094, 3542, 13873
+591, 811, 446, 21, 80, 932, 4357, 3819, 10467
+592, 939, 1826, 1853, 500, 922, 4064, 3536, 13642
+593, 839, 413, 18, 77, 1035, 4435, 3894, 10712
+594, 1561, 1638, 1961, 503, 925, 7332, 3589, 17510
+595, 773, 462, 26, 111, 965, 4174, 3483, 9996
+596, 1239, 1590, 1868, 521, 917, 7291, 3768, 17197
+597, 881, 488, 258, 504, 3113, 6037, 3887, 15169
+598, 807, 1502, 1939, 663, 1111, 7980, 3521, 17523
+599, 809, 474, 25, 386, 1603, 7584, 3972, 14855
+600, 877, 1601, 1737, 622, 1137, 4450, 7364, 17789
+601, 797, 462, 358, 607, 914, 4127, 8949, 16215
+602, 922, 1617, 1809, 1800, 999, 4121, 6572, 17843
+603, 792, 725, 4179, 444, 915, 4426, 4410, 15892
+604, 818, 4900, 3227, 523, 953, 6506, 3548, 20477
+605, 1726, 506, 281, 543, 2062, 6988, 3768, 15876
+606, 1542, 1547, 1825, 602, 2154, 5360, 4044, 17075
+607, 1607, 529, 230, 450, 1213, 4662, 3889, 12582
+608, 1098, 213, 1612, 399, 1000, 3984, 2951, 11259
+609, 637, 1426, 1886, 427, 892, 3579, 3109, 11958
+610, 778, 434, 20, 88, 912, 3817, 2957, 9009
+611, 710, 2071, 1767, 540, 905, 3577, 2974, 12546
+612, 735, 436, 21, 106, 924, 3957, 3360, 9541
+613, 745, 1955, 1775, 445, 895, 3614, 3045, 12476
+614, 733, 385, 14, 84, 948, 3910, 3137, 9214
+615, 713, 1833, 1759, 442, 876, 3594, 3129, 12348
+616, 817, 671, 38, 90, 998, 3821, 3259, 9696
+617, 884, 1963, 1724, 439, 859, 3571, 3052, 12494
+618, 752, 413, 22, 136, 984, 3689, 3309, 9307
+619, 855, 1691, 1779, 440, 923, 3576, 3046, 12313
+620, 1024, 645, 220, 450, 929, 3702, 3283, 10254
+621, 795, 1544, 1827, 406, 877, 7560, 3055, 16066
+622, 878, 462, 27, 263, 934, 3651, 3476, 9693
+623, 712, 1722, 1931, 420, 857, 3524, 3089, 12257
+624, 1020, 493, 29, 311, 899, 3859, 2915, 9528
+625, 740, 1987, 1871, 465, 847, 3636, 3035, 12583
+626, 701, 524, 21, 216, 948, 3607, 3251, 9269
+627, 857, 1843, 1782, 462, 857, 3598, 3146, 12547
+628, 892, 663, 220, 86, 836, 3901, 2810, 9410
+629, 768, 1971, 1794, 462, 856, 3863, 3049, 12764
+630, 1073, 773, 409, 421, 855, 8705, 3433, 15672
+631, 731, 292, 170, 251, 876, 5427, 4899, 12648
+632, 1089, 1792, 2005, 471, 1164, 6677, 2983, 16183
+633, 755, 414, 212, 320, 4680, 4134, 3033, 13550
+634, 679, 1455, 1807, 682, 2245, 5599, 3114, 15583
+635, 753, 426, 278, 357, 836, 5069, 2818, 10539
+636, 847, 1515, 1708, 531, 969, 5878, 4468, 15918
+637, 739, 441, 27, 319, 848, 3760, 3034, 9170
+638, 820, 1838, 55, 97, 861, 3626, 2875, 10175
+639, 764, 134, 9, 70, 919, 3759, 3258, 8915
+640, 728, 131, 9, 73, 925, 3616, 3280, 8764
+641, 767, 130, 9, 73, 863, 3677, 3357, 8878
+642, 784, 137, 9, 68, 1171, 4031, 3055, 9257
+643, 815, 135, 9, 72, 907, 3591, 3262, 8794
+644, 702, 125, 9, 71, 927, 3717, 3321, 8875
+645, 1578, 1025, 21, 215, 1051, 3582, 2802, 10276
+646, 774, 147, 537, 539, 1013, 3699, 2880, 9591
+647, 1875, 152, 169, 413, 853, 3757, 2779, 10000
+648, 1093, 146, 206, 288, 1098, 4372, 3386, 10590
+649, 1148, 153, 254, 321, 1097, 4746, 2932, 10653
+650, 952, 161, 205, 365, 928, 3750, 2853, 9215
+651, 846, 172, 232, 370, 939, 3988, 3113, 9662
+652, 1541, 165, 185, 205, 1044, 3510, 2945, 9597
+653, 651, 92, 9, 54, 830, 3705, 3515, 8858
+654, 702, 126, 9, 76, 925, 3737, 3340, 8917
diff --git a/async-zoom-times.csv b/async-zoom-times.csv
new file mode 100644
index 0000000000..a9f5e8f420
--- /dev/null
+++ b/async-zoom-times.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Reproject, Symbol, Render, Total
+725, 7705, 3973, 845, 581, 0, 2915, 4422, 20444
+726, 1760, 345, 13, 107, 0, 3066, 4483, 9775
+727, 2447, 791, 332, 311, 0, 2985, 4646, 11513
+728, 2226, 447, 232, 476, 0, 1879, 3035, 8297
+729, 2363, 883, 238, 207, 0, 1919, 3500, 9112
+730, 1769, 446, 17, 80, 0, 1790, 3742, 7846
+731, 2055, 587, 230, 215, 0, 2258, 3015, 8361
+732, 2551, 984, 32, 76, 0, 1987, 3074, 8705
+733, 1945, 1167, 489, 236, 0, 2965, 3788, 10592
+734, 1822, 540, 23, 102, 0, 2149, 2742, 7380
+735, 1638, 822, 243, 208, 0, 2329, 3109, 8350
+736, 2153, 493, 26, 74, 0, 2429, 3022, 8199
+737, 1997, 861, 440, 469, 0, 1866, 3716, 9352
+738, 1933, 476, 25, 69, 0, 1999, 2924, 7428
+739, 2297, 866, 302, 302, 0, 2085, 3475, 9329
+740, 2469, 489, 376, 160, 0, 1421, 2044, 6962
+741, 1714, 898, 1010, 483, 0, 2035, 2778, 8921
+742, 2588, 608, 275, 459, 0, 2109, 2255, 8296
+743, 2318, 887, 481, 451, 0, 1396, 2118, 7654
+744, 2269, 545, 24, 62, 0, 1452, 2042, 6396
+745, 2479, 760, 308, 318, 0, 1320, 2301, 7488
+746, 2440, 464, 23, 63, 0, 1184, 2578, 6754
+747, 2233, 728, 287, 405, 0, 1214, 2485, 7353
+748, 2430, 698, 1293, 759, 0, 1852, 2415, 9448
+749, 1615, 752, 99, 111, 0, 1364, 2181, 6124
+750, 1814, 497, 22, 46, 0, 1190, 2570, 6140
+751, 1857, 100, 10, 36, 0, 1345, 2467, 5816
+752, 2393, 96, 9, 94, 0, 1327, 2378, 6299
+753, 1797, 291, 17, 44, 0, 1498, 2321, 5970
+754, 2058, 100, 10, 98, 0, 1619, 2241, 6127
+755, 2245, 98, 9, 276, 0, 1195, 2508, 6333
+756, 2191, 94, 9, 36, 0, 1195, 2075, 5601
+757, 2040, 96, 9, 34, 0, 1311, 2785, 6277
+758, 2054, 97, 9, 43, 0, 1207, 2114, 5526
+759, 2260, 96, 9, 98, 0, 1182, 2273, 5920
+760, 1761, 96, 27, 378, 0, 1309, 2449, 6023
+761, 2034, 91, 9, 38, 0, 1190, 2007, 5371
+762, 1782, 96, 10, 77, 0, 1442, 2597, 6005
+763, 1912, 368, 12, 100, 0, 1258, 2303, 5956
+764, 1842, 89, 9, 36, 0, 1568, 2487, 6033
+765, 1900, 324, 10, 78, 0, 1352, 2133, 5799
+766, 2824, 97, 10, 96, 0, 1223, 2332, 6584
+767, 1899, 93, 10, 35, 0, 1227, 2554, 5820
+768, 2035, 504, 134, 105, 0, 566, 1233, 4578
+769, 1787, 891, 124, 124, 0, 629, 1334, 4890
+770, 2064, 687, 48, 40, 0, 695, 1485, 5021
+771, 1790, 750, 101, 63, 0, 828, 1351, 4884
+772, 1554, 115, 11, 36, 0, 790, 1433, 3940
+773, 1907, 83, 10, 26, 0, 590, 1964, 4582
+774, 1387, 95, 9, 33, 0, 546, 1685, 3757
+775, 1884, 89, 10, 67, 0, 681, 1382, 4114
+776, 1500, 188, 13, 39, 0, 597, 1563, 3903
+777, 2126, 81, 9, 28, 0, 695, 1458, 4400
+778, 1622, 109, 10, 25, 0, 563, 1757, 4087
+779, 1789, 93, 9, 25, 0, 623, 1531, 4072
+780, 1652, 195, 14, 36, 0, 722, 1510, 4130
+781, 1694, 115, 31, 33, 0, 731, 1512, 4118
+782, 1868, 124, 9, 26, 0, 635, 2040, 4704
+783, 1606, 99, 9, 35, 0, 562, 1625, 3939
+784, 1701, 114, 9, 28, 0, 604, 1862, 4320
+785, 1417, 100, 10, 31, 0, 623, 1502, 3684
+786, 1799, 75, 9, 25, 0, 573, 1599, 4082
+787, 2511, 489, 241, 261, 0, 626, 1612, 5741
+788, 1695, 83, 9, 27, 0, 925, 1460, 4201
+789, 1640, 321, 15, 169, 0, 597, 1458, 4203
+790, 1975, 664, 137, 105, 0, 571, 1624, 5078
+791, 1635, 333, 15, 29, 0, 771, 1591, 4375
+792, 1646, 427, 14, 30, 0, 745, 1440, 4304
+793, 2347, 88, 9, 27, 0, 613, 1372, 4457
+794, 1676, 130, 10, 27, 0, 684, 1935, 4465
+795, 1718, 141, 9, 33, 0, 640, 1694, 4237
+796, 1663, 159, 14, 51, 0, 570, 1934, 4393
+797, 2048, 446, 17, 29, 0, 834, 1164, 4539
+798, 1711, 102, 9, 25, 0, 795, 2001, 4645
+799, 1758, 118, 10, 34, 0, 586, 1652, 4159
+800, 2128, 139, 12, 29, 0, 632, 1555, 4497
+801, 1937, 89, 9, 28, 0, 780, 1508, 4353
+802, 1510, 96, 9, 25, 0, 574, 1440, 3656
+803, 1653, 134, 10, 38, 0, 897, 1727, 4461
+804, 2164, 106, 10, 282, 0, 568, 1236, 4368
+805, 1615, 130, 118, 43, 0, 721, 1591, 4218
+806, 1616, 78, 9, 54, 0, 735, 1522, 4016
+807, 1526, 162, 13, 78, 0, 578, 1404, 3762
+808, 1414, 101, 9, 33, 0, 775, 1471, 3805
+809, 1955, 87, 9, 84, 0, 792, 1779, 4708
+810, 1698, 121, 39, 43, 0, 704, 1795, 4402
+811, 1980, 719, 23, 39, 0, 567, 1252, 4583
+812, 1667, 805, 30, 47, 0, 540, 2795, 5885
+813, 1789, 219, 14, 28, 0, 913, 1719, 4683
+814, 1960, 104, 9, 31, 0, 609, 1616, 4331
+815, 1772, 103, 9, 25, 0, 650, 2151, 4711
+816, 1965, 209, 11, 27, 0, 674, 1368, 4257
+817, 1992, 89, 9, 27, 0, 618, 1716, 4453
+818, 1656, 209, 660, 48, 0, 630, 1627, 4832
+819, 1700, 123, 9, 36, 0, 1176, 1889, 4935
+820, 1606, 90, 9, 26, 0, 773, 1517, 4023
+821, 2016, 255, 13, 30, 0, 642, 1738, 4696
+822, 1534, 100, 9, 33, 0, 800, 1936, 4414
+823, 2315, 81, 9, 28, 0, 764, 1546, 4743
+824, 3908, 84, 9, 29, 0, 535, 1266, 5833
+825, 1808, 195, 15, 108, 0, 994, 2316, 5438
+826, 1674, 115, 9, 31, 0, 588, 1764, 4183
+827, 2149, 90, 9, 56, 0, 540, 1359, 4206
+828, 1364, 149, 13, 86, 0, 557, 1507, 3678
+829, 1417, 94, 9, 30, 0, 554, 1435, 3541
+830, 1443, 85, 9, 32, 0, 749, 1925, 4244
+831, 1824, 629, 46, 75, 0, 662, 1451, 4689
+832, 2326, 552, 345, 55, 0, 542, 1608, 5431
+833, 1347, 104, 8, 32, 0, 950, 1456, 3899
+834, 1628, 109, 9, 25, 0, 584, 1585, 3942
+835, 1654, 865, 20, 37, 0, 962, 1202, 4741
+836, 1467, 97, 9, 32, 0, 688, 1584, 3878
+837, 1461, 97, 9, 52, 0, 630, 2107, 4358
+838, 2156, 448, 20, 35, 0, 581, 1362, 4605
+839, 2580, 87, 9, 28, 0, 630, 1567, 4903
+840, 2384, 80, 17, 49, 0, 714, 1880, 5126
+841, 2150, 515, 21, 38, 0, 764, 1416, 4905
+842, 1529, 125, 9, 26, 0, 548, 2182, 4422
+843, 1549, 111, 9, 30, 0, 576, 1610, 3887
+844, 1847, 110, 10, 27, 0, 1021, 1585, 4601
+845, 1612, 91, 9, 30, 0, 736, 1427, 3906
+846, 1589, 210, 11, 35, 0, 805, 1843, 4494
+847, 1916, 95, 9, 26, 0, 590, 2139, 4776
+848, 2277, 83, 9, 28, 0, 558, 1542, 4500
+849, 1623, 102, 9, 31, 0, 598, 1826, 4191
+850, 1853, 117, 21, 36, 0, 675, 1405, 4108
+851, 2066, 330, 18, 37, 0, 549, 1279, 4280
+852, 1878, 428, 161, 161, 0, 712, 1254, 4597
+853, 2001, 74, 9, 26, 0, 584, 1319, 4016
+854, 1554, 98, 9, 127, 0, 692, 1635, 4118
+855, 1315, 103, 9, 29, 0, 569, 1460, 3486
+856, 1637, 730, 435, 5594, 42, 5867, 4982, 19289
+857, 1396, 105, 35, 50, 38, 1426, 2411, 5463
+858, 2016, 100, 46, 66, 41, 1502, 2300, 6073
+859, 2189, 103, 9, 36, 32, 1410, 2083, 5863
+860, 1698, 176, 13, 38, 34, 1305, 2417, 5683
+861, 1599, 115, 9, 117, 33, 1298, 2407, 5580
+862, 1641, 113, 16, 95, 35, 1332, 2335, 5569
+863, 1569, 137, 9, 130, 37, 1266, 2379, 5529
+864, 1473, 128, 9, 124, 34, 1259, 2429, 5459
+865, 1619, 139, 9, 52, 28, 1267, 2278, 5394
+866, 1844, 98, 9, 104, 35, 1332, 2151, 5574
+867, 1503, 130, 10, 127, 46, 1545, 3142, 6505
+868, 1824, 149, 10, 49, 33, 1519, 2578, 6163
+869, 1752, 124, 9, 46, 38, 1365, 2473, 5809
+870, 1768, 324, 377, 65, 32, 1351, 2171, 6088
+871, 1743, 924, 476, 300, 156, 1315, 2041, 6956
+872, 1681, 514, 64, 50, 110, 1417, 2363, 6200
+873, 1508, 1002, 37, 56, 110, 1367, 1967, 6049
+874, 1789, 110, 11, 633, 133, 1498, 2352, 6528
+875, 1847, 126, 11, 36, 146, 1394, 2664, 6225
+876, 2481, 1055, 1605, 7103, 152, 5071, 5692, 23161
+877, 1726, 175, 228, 55, 169, 2144, 2663, 7161
+878, 1606, 501, 506, 416, 159, 3055, 2129, 8374
+879, 1978, 864, 346, 313, 153, 1901, 2141, 7698
+880, 1697, 178, 394, 386, 174, 1574, 2036, 6441
+881, 2827, 127, 196, 200, 164, 2030, 2556, 8102
+882, 2353, 133, 276, 174, 297, 1857, 2568, 7658
+883, 2536, 154, 645, 259, 164, 1811, 2143, 7713
+884, 1825, 102, 9, 44, 152, 2793, 1932, 6860
+885, 1692, 104, 9, 35, 148, 1690, 1723, 5404
+886, 1460, 115, 9, 40, 212, 1605, 1937, 5380
+887, 1442, 108, 9, 42, 147, 1638, 2058, 5446
+888, 1434, 122, 9, 45, 171, 1575, 2034, 5391
+889, 1390, 102, 9, 40, 203, 1559, 1984, 5289
+890, 1493, 103, 9, 34, 149, 1684, 1931, 5405
+891, 1508, 263, 11, 38, 149, 13100, 1921, 16992
+892, 1790, 750, 370, 320, 156, 1630, 2926, 7944
+893, 1649, 1051, 851, 4405, 345, 4569, 7355, 20228
+894, 1344, 474, 113, 436, 483, 2699, 4306, 9858
+895, 1305, 933, 1401, 985, 582, 4040, 2925, 12173
+896, 1719, 849, 30, 334, 750, 2649, 2713, 9045
+897, 1710, 1814, 1746, 4474, 705, 5871, 10163, 26485
+898, 1709, 628, 30, 259, 1285, 7389, 4894, 16197
+899, 1413, 1354, 393, 254, 788, 3849, 3202, 11255
+900, 1413, 321, 172, 393, 946, 4405, 2992, 10644
+901, 1264, 1162, 1499, 632, 1001, 4030, 2994, 12584
+902, 1698, 526, 24, 68, 1089, 4018, 3316, 10742
+903, 1730, 1535, 1564, 444, 1114, 3698, 3213, 13300
+904, 6567, 1291, 278, 415, 1091, 5381, 3172, 18198
+905, 1988, 176, 259, 487, 1039, 4821, 3091, 11862
+906, 1820, 1316, 1572, 445, 1096, 3461, 3219, 12931
+907, 2188, 495, 22, 113, 1047, 3554, 3157, 10578
+908, 1442, 1602, 1384, 298, 1103, 3824, 2913, 12569
+909, 1676, 504, 62, 252, 1346, 3750, 2831, 10424
+910, 1762, 2066, 2157, 3997, 1362, 7414, 5540, 24299
+911, 1278, 439, 23, 91, 1482, 4623, 2821, 10760
+912, 1301, 1605, 1608, 480, 1303, 4402, 2988, 13689
+913, 1340, 424, 22, 97, 1395, 4629, 2945, 10853
+914, 2153, 742, 301, 599, 1392, 3738, 3553, 12479
+915, 1629, 2000, 1749, 646, 1274, 3607, 2871, 13779
+916, 1647, 473, 21, 494, 1284, 5625, 3206, 12752
+917, 2016, 1518, 1897, 481, 1478, 3862, 2928, 14181
+918, 1667, 465, 22, 95, 1263, 3743, 3066, 10323
+919, 2049, 1737, 2072, 702, 1300, 3871, 2891, 14623
+920, 1782, 877, 2113, 4079, 1863, 9615, 6157, 26488
+921, 1393, 2574, 2285, 833, 1513, 4240, 3457, 16296
+922, 1325, 789, 35, 226, 1412, 4216, 3375, 11380
+923, 1288, 138, 9, 101, 1644, 4925, 3265, 11372
+924, 1351, 1777, 1891, 491, 1676, 4743, 3012, 14943
+925, 1359, 505, 20, 102, 1346, 3725, 2929, 9988
+926, 1561, 1978, 2659, 594, 1545, 4566, 3162, 16067
+927, 1772, 480, 23, 72, 1377, 4787, 3106, 11618
+928, 1817, 2034, 1966, 309, 1802, 5196, 2796, 15922
+929, 1867, 1065, 896, 167, 909, 2009, 1784, 8700
+930, 1617, 2141, 1014, 265, 1062, 2109, 1804, 10014
+931, 1728, 339, 44, 51, 938, 1902, 2359, 7363
+932, 2390, 1667, 932, 207, 959, 2383, 1849, 10389
+933, 1647, 448, 21, 46, 922, 1988, 2147, 7221
+934, 1705, 2083, 1002, 310, 930, 2024, 1774, 9829
+935, 2995, 434, 24, 48, 845, 1878, 1766, 7992
+936, 1705, 1845, 986, 257, 1100, 2161, 2119, 10175
+937, 1525, 462, 20, 71, 860, 2040, 1994, 6974
+938, 1614, 1887, 1887, 243, 996, 2214, 1905, 10748
+939, 1531, 523, 54, 127, 941, 1933, 2222, 7333
+940, 1733, 1733, 1184, 254, 1009, 2732, 2137, 10784
+941, 1944, 328, 12, 43, 872, 1891, 1870, 6961
+942, 1779, 1272, 1098, 366, 969, 2073, 1979, 9538
+943, 1764, 477, 24, 72, 895, 1912, 2040, 7186
+944, 1520, 1368, 1401, 237, 885, 1993, 2059, 9465
+945, 1622, 467, 21, 44, 847, 1991, 1985, 6978
+946, 2196, 1885, 1225, 271, 1292, 2241, 2451, 11564
+947, 1690, 462, 20, 47, 1048, 2084, 2152, 7505
+948, 1714, 1526, 1072, 239, 855, 1989, 2240, 9636
+949, 1846, 511, 26, 78, 938, 2141, 2223, 7765
+950, 1731, 1230, 1347, 253, 962, 2122, 2166, 9811
+951, 1965, 384, 14, 271, 844, 2002, 2130, 7611
+952, 1779, 1667, 1233, 443, 1010, 2333, 2350, 10817
+953, 1782, 656, 29, 60, 1347, 1937, 2411, 8224
+954, 2737, 1545, 1894, 479, 868, 1971, 2013, 11509
+955, 2097, 1044, 34, 71, 832, 1893, 2091, 8065
+956, 1883, 1857, 1235, 257, 1062, 2172, 2350, 10818
+957, 1588, 403, 515, 680, 949, 1893, 2367, 8396
+958, 1856, 1648, 1202, 520, 955, 2408, 2247, 10837
+959, 1611, 420, 22, 49, 823, 1988, 2212, 7126
+960, 1782, 1764, 1127, 389, 952, 2047, 1963, 10027
+961, 1645, 400, 19, 48, 881, 1889, 2049, 6933
+962, 1612, 1475, 1078, 215, 909, 2165, 2161, 9616
+963, 2007, 424, 22, 43, 849, 2019, 1956, 7321
+964, 1914, 1733, 907, 204, 963, 2289, 1865, 9878
+965, 1658, 319, 12, 39, 880, 1923, 1995, 6828
+966, 1514, 1144, 48, 269, 896, 1957, 1878, 7707
+967, 1985, 109, 11, 114, 953, 2085, 2965, 8223
+968, 1874, 129, 11, 41, 948, 2011, 2113, 7130
+969, 1694, 112, 12, 114, 1007, 2181, 2314, 7435
+970, 1919, 157, 16, 45, 1218, 2463, 3021, 8841
+971, 1701, 120, 11, 85, 965, 2250, 2408, 7541
+972, 1668, 113, 11, 108, 955, 2235, 2402, 7493
+973, 1734, 120, 12, 36, 1019, 2204, 2750, 7876
+974, 1828, 148, 12, 39, 853, 2030, 2483, 7395
+975, 1713, 288, 13, 85, 965, 2393, 2523, 7981
+976, 1756, 138, 10, 126, 838, 2234, 2310, 7415
+977, 1571, 115, 10, 93, 1014, 2266, 2543, 7613
+978, 1754, 123, 11, 39, 1021, 2341, 2563, 7853
+979, 1831, 109, 10, 54, 1102, 2271, 2551, 7930
+980, 1701, 105, 9, 77, 847, 2162, 2312, 7215
+981, 1944, 140, 11, 43, 869, 2363, 2169, 7542
+982, 1753, 112, 11, 49, 1032, 2230, 2411, 7600
+983, 1616, 105, 10, 109, 992, 2301, 2760, 7895
+984, 1735, 567, 37, 64, 937, 2107, 2128, 7577
+985, 1938, 1621, 1248, 250, 921, 2200, 2176, 10356
+986, 1781, 512, 26, 72, 893, 2017, 2118, 7420
+987, 1807, 1569, 1177, 221, 875, 2056, 2001, 9708
+988, 1719, 522, 24, 47, 815, 2019, 2048, 7195
+989, 1729, 1483, 1155, 186, 933, 2102, 2070, 9660
+990, 1653, 455, 21, 48, 804, 1963, 2082, 7028
+991, 2014, 1574, 57, 69, 935, 2227, 2213, 9092
+992, 1568, 115, 9, 36, 1095, 2215, 2603, 7643
+993, 1647, 129, 9, 41, 891, 2469, 2626, 7815
+994, 1895, 138, 12, 93, 897, 2140, 2137, 7314
+995, 1536, 121, 10, 100, 935, 2239, 2495, 7437
+996, 1507, 134, 10, 101, 998, 2199, 2379, 7330
+997, 1822, 106, 11, 78, 946, 2110, 2680, 7756
+998, 1778, 108, 11, 113, 910, 2142, 2671, 7734
+999, 1655, 133, 9, 277, 821, 2133, 2114, 7144
+1000, 1852, 118, 11, 41, 946, 2143, 2491, 7605
+1001, 1829, 129, 11, 106, 987, 2238, 2468, 7770
+1002, 1784, 106, 10, 103, 980, 2247, 2559, 7791
+1003, 1813, 107, 11, 113, 908, 2190, 2831, 7974
+1004, 1829, 109, 11, 111, 795, 2073, 2789, 7719
+1005, 1754, 162, 12, 40, 1016, 2243, 2524, 7753
+1006, 1825, 116, 11, 40, 1033, 2265, 2539, 7831
+1007, 2198, 114, 49, 173, 876, 2150, 2163, 7725
+1008, 1642, 128, 10, 122, 812, 2206, 2374, 7296
+1009, 2137, 132, 15, 155, 1110, 2559, 3159, 9269
+1010, 1695, 466, 20, 50, 952, 2083, 2212, 7479
+1011, 1828, 1722, 1194, 277, 804, 1945, 2050, 9821
+1012, 1678, 365, 59, 57, 908, 2137, 2207, 7413
+1013, 1554, 1147, 234, 70, 1009, 2364, 2190, 8569
+1014, 1459, 134, 10, 43, 946, 2053, 2264, 6911
+1015, 2169, 199, 18, 79, 1206, 2560, 3096, 9329
+1016, 1780, 124, 11, 47, 970, 2238, 2419, 7591
+1017, 1740, 119, 11, 39, 965, 2233, 2352, 7461
+1018, 1764, 124, 10, 39, 1045, 2353, 2338, 7676
+1019, 1699, 117, 11, 39, 812, 2150, 2337, 7167
+1020, 2077, 114, 11, 74, 894, 2010, 2319, 7500
+1021, 1748, 113, 11, 40, 960, 2260, 2470, 7603
+1022, 1585, 108, 10, 35, 938, 1985, 2078, 6740
+1023, 1705, 107, 11, 38, 964, 2243, 2461, 7530
+1024, 1749, 123, 11, 41, 934, 2074, 2484, 7418
+1025, 1493, 102, 11, 36, 857, 1989, 2071, 6561
+1026, 1529, 123, 10, 36, 804, 2044, 2214, 6763
+1027, 1873, 123, 15, 44, 1081, 2514, 3277, 8929
+1028, 1707, 107, 11, 49, 985, 2361, 2461, 7682
+1029, 1717, 117, 11, 40, 1015, 2217, 2508, 7627
+1030, 1620, 114, 10, 50, 913, 2690, 2323, 7722
+1031, 1733, 414, 42, 54, 783, 2065, 2532, 7625
+1032, 1941, 1436, 902, 220, 721, 1918, 1821, 8962
+1033, 1822, 399, 82, 57, 799, 2046, 2151, 7358
+1034, 1775, 1504, 1300, 176, 785, 2055, 1990, 9588
+1035, 1592, 411, 22, 43, 736, 2060, 2004, 6869
+1036, 1646, 1088, 28, 355, 765, 1956, 2073, 7914
+1037, 1741, 96, 9, 37, 801, 1954, 2186, 6827
+1038, 1678, 121, 12, 49, 897, 2178, 2287, 7224
+1039, 1685, 103, 10, 37, 856, 2237, 2254, 7186
+1040, 1548, 117, 10, 41, 757, 2053, 2240, 6768
+1041, 1692, 106, 9, 34, 765, 2359, 2233, 7201
+1042, 1775, 102, 10, 36, 901, 2252, 2428, 7505
+1043, 1679, 107, 9, 36, 835, 2248, 2343, 7260
+1044, 2430, 99, 11, 36, 785, 2292, 2373, 8028
+1045, 1662, 113, 11, 36, 763, 2222, 2463, 7272
+1046, 2087, 106, 9, 42, 687, 2169, 2079, 7180
+1047, 1626, 103, 10, 43, 686, 2031, 2183, 6683
+1048, 1880, 123, 14, 46, 1054, 2851, 3110, 9081
+1049, 1720, 118, 11, 108, 798, 2131, 2402, 7290
+1050, 1586, 116, 10, 36, 737, 1916, 2379, 6782
+1051, 2003, 175, 14, 129, 1007, 2591, 3007, 8929
+1052, 1790, 126, 11, 96, 722, 2236, 2388, 7371
+1053, 1593, 112, 9, 74, 784, 2001, 2333, 6907
+1054, 1974, 732, 33, 54, 739, 2200, 2155, 7889
+1055, 1612, 1740, 3251, 267, 652, 1898, 1671, 11092
+1056, 1571, 537, 22, 50, 734, 2021, 2033, 6970
+1057, 1860, 1602, 1218, 223, 812, 2340, 2511, 10569
+1058, 1820, 360, 134, 118, 658, 1890, 2313, 7295
+1059, 3464, 1193, 1176, 166, 749, 2080, 1680, 10510
+1060, 1895, 407, 19, 44, 650, 2269, 1984, 7271
+1061, 1622, 1206, 1335, 365, 722, 2115, 1955, 9322
+1062, 1389, 375, 12, 40, 657, 1889, 2031, 6395
+1063, 1345, 1100, 1085, 396, 603, 1845, 1752, 8128
+1064, 1731, 413, 21, 45, 685, 1889, 2049, 6836
+1065, 1890, 1876, 1556, 175, 618, 1889, 1686, 9692
+1066, 1739, 855, 971, 2584, 404, 2549, 2957, 12061
+1067, 1809, 1269, 711, 139, 661, 1490, 1443, 7524
+1068, 1708, 366, 99, 136, 647, 1531, 1777, 6267
+1069, 1943, 1987, 65, 113, 982, 1854, 2237, 9183
+1070, 1385, 112, 10, 35, 815, 1534, 1907, 5800
+1071, 1317, 108, 9, 31, 687, 1442, 1727, 5323
+1072, 1995, 112, 10, 35, 721, 1761, 1821, 6456
+1073, 1338, 124, 10, 39, 690, 1482, 1788, 5472
+1074, 1755, 419, 1181, 3138, 449, 3119, 3340, 13403
+1075, 1626, 158, 10, 67, 442, 1260, 1866, 5432
+1076, 1510, 141, 9, 36, 524, 1307, 2177, 5707
+1077, 1687, 171, 12, 32, 496, 1388, 2042, 5830
+1078, 1670, 129, 10, 40, 431, 1262, 2062, 5605
+1079, 2130, 104, 9, 33, 384, 1084, 1302, 5048
+1080, 1521, 141, 10, 41, 385, 1156, 2038, 5294
+1081, 1671, 127, 11, 94, 532, 1382, 1947, 5766
+1082, 1578, 171, 11, 72, 386, 1140, 2042, 5402
+1083, 1552, 144, 11, 39, 422, 1310, 1888, 5368
+1084, 1601, 133, 12, 39, 422, 1192, 2066, 5467
+1085, 1690, 109, 9, 33, 375, 1077, 1267, 4562
+1086, 1495, 135, 9, 39, 431, 1250, 1840, 5201
+1087, 1967, 134, 12, 96, 562, 1568, 2244, 6585
+1088, 1431, 351, 14, 44, 373, 1213, 1748, 5177
+1089, 1276, 1180, 1038, 228, 563, 1068, 1325, 6680
+1090, 1799, 995, 37, 52, 624, 1201, 1684, 6394
+1091, 1790, 1384, 56, 50, 714, 1371, 1872, 7239
+1092, 1786, 136, 10, 190, 645, 1381, 2081, 6230
+1093, 1874, 143, 42, 204, 687, 1553, 1793, 6298
+1094, 1747, 138, 11, 41, 676, 1165, 1876, 5656
+1095, 1565, 158, 11, 41, 729, 1272, 1914, 5691
+1096, 1673, 126, 11, 38, 773, 1283, 1897, 5803
+1097, 1544, 116, 12, 35, 634, 1344, 1891, 5578
+1098, 1910, 125, 11, 31, 649, 1260, 1623, 5611
+1099, 1687, 209, 11, 33, 677, 1273, 1843, 5735
+1100, 1655, 153, 11, 44, 682, 1349, 2016, 5912
+1101, 1554, 112, 11, 39, 696, 1286, 1984, 5683
+1102, 1677, 150, 11, 40, 650, 1384, 2072, 5986
+1103, 1613, 151, 12, 41, 626, 1233, 1888, 5564
+1104, 1571, 156, 11, 42, 709, 1437, 1947, 5875
+1105, 1593, 137, 10, 110, 646, 1282, 2166, 5946
+1106, 1604, 137, 12, 40, 691, 1496, 2078, 6060
+1107, 1564, 172, 9, 87, 629, 1249, 1575, 5286
+1108, 1836, 315, 15, 40, 740, 1658, 1881, 6486
+1109, 1632, 575, 25, 41, 560, 1088, 1534, 5457
+1110, 1634, 1350, 924, 157, 719, 1294, 1472, 7552
+1111, 1863, 453, 19, 37, 694, 1199, 1457, 5725
+1112, 1610, 1276, 679, 131, 636, 1301, 1368, 7004
+1113, 1633, 477, 16, 286, 698, 1263, 1486, 5861
+1114, 1560, 1296, 851, 183, 708, 1287, 1403, 7291
+1115, 1553, 506, 16, 68, 636, 1114, 1671, 5566
+1116, 1742, 1221, 922, 141, 694, 1213, 1381, 7315
+1117, 1659, 458, 17, 88, 723, 1222, 1607, 5775
+1118, 1524, 1297, 846, 142, 706, 1363, 1499, 7380
+1119, 1536, 447, 17, 35, 679, 1198, 1699, 5613
+1120, 1776, 1211, 782, 200, 626, 1173, 1372, 7143
+1121, 1634, 444, 14, 81, 682, 1108, 1679, 5644
+1122, 1887, 1127, 42, 72, 785, 1410, 1650, 6974
+1123, 1609, 138, 10, 132, 693, 1267, 1731, 5583
+1124, 1857, 112, 9, 33, 691, 1200, 1727, 5631
+1125, 1676, 127, 11, 64, 706, 1387, 1901, 5874
+1126, 1594, 145, 11, 213, 712, 1318, 1966, 5962
+1127, 1739, 208, 12, 43, 631, 1156, 2018, 5809
+1128, 1573, 210, 12, 41, 701, 1256, 2107, 5901
+1129, 1779, 116, 11, 34, 722, 1322, 2121, 6106
+1130, 1683, 242, 13, 118, 889, 1401, 2302, 6651
+1131, 1944, 93, 9, 35, 673, 1216, 1783, 5755
+1132, 2291, 116, 14, 40, 1042, 2019, 2602, 8126
+1133, 1716, 303, 15, 36, 757, 1438, 2033, 6300
+1134, 1378, 100, 9, 33, 664, 1291, 1571, 5048
+1135, 2541, 167, 15, 81, 850, 1482, 1873, 7012
+1136, 2297, 285, 12, 38, 751, 1455, 1946, 6785
+1137, 2052, 126, 11, 30, 721, 1270, 1614, 5825
+1138, 1799, 164, 11, 106, 739, 1440, 2443, 6705
+1139, 1513, 92, 9, 30, 689, 1733, 1332, 5399
+1140, 2111, 454, 18, 63, 524, 1264, 1288, 5724
+1141, 1563, 1388, 858, 143, 607, 1167, 1457, 7184
+1142, 1688, 574, 54, 43, 632, 1146, 1712, 5852
+1143, 1628, 1410, 51, 67, 671, 1438, 1734, 7000
+1144, 1784, 97, 10, 47, 636, 1239, 1669, 5484
+1145, 1425, 97, 11, 38, 582, 1203, 1691, 5048
+1146, 1548, 119, 10, 117, 636, 1193, 1814, 5439
+1147, 2450, 438, 17, 45, 888, 1728, 2545, 8114
+1148, 1572, 136, 12, 41, 700, 1609, 2186, 6258
+1149, 1805, 160, 11, 32, 668, 1351, 1921, 5950
+1150, 2290, 153, 12, 31, 756, 1441, 1686, 6371
+1151, 1972, 162, 12, 133, 652, 1539, 2210, 6683
+1152, 1964, 134, 11, 31, 710, 1541, 2279, 6672
+1153, 1962, 167, 11, 66, 666, 1436, 2215, 6525
+1154, 2005, 176, 12, 128, 569, 1188, 1853, 5932
+1155, 2057, 94, 10, 348, 668, 1384, 1780, 6343
+1156, 2067, 156, 16, 37, 807, 1432, 2826, 7343
+1157, 1943, 99, 11, 31, 629, 1351, 2018, 6083
+1158, 1548, 173, 10, 42, 591, 1347, 1763, 5477
+1159, 1685, 145, 11, 41, 700, 1322, 2162, 6067
+1160, 1656, 151, 11, 81, 629, 1267, 2039, 5835
+1161, 1631, 786, 29, 48, 534, 1201, 1270, 5500
+1162, 1743, 1617, 728, 152, 600, 1280, 1518, 7640
+1163, 2403, 312, 14, 31, 531, 1270, 1284, 5847
+1164, 1555, 1477, 828, 154, 569, 1199, 1391, 7175
+1165, 1693, 393, 15, 43, 624, 1188, 1871, 5829
+1166, 1663, 1305, 35, 53, 710, 1433, 1632, 6833
+1167, 1655, 170, 21, 61, 709, 1385, 2078, 6082
+1168, 1992, 105, 38, 45, 663, 1366, 2026, 6237
+1169, 1427, 99, 9, 34, 562, 1499, 2159, 5791
+1170, 1584, 135, 10, 47, 651, 1216, 2069, 5715
+1171, 1709, 304, 13, 39, 564, 1139, 2027, 5798
+1172, 1520, 154, 10, 193, 551, 1246, 1688, 5364
+1173, 1782, 133, 10, 30, 758, 1630, 1824, 6170
+1174, 1526, 143, 10, 47, 566, 1247, 1909, 5449
+1175, 1560, 131, 9, 45, 572, 1163, 2193, 5675
+1176, 2049, 140, 10, 101, 522, 1075, 1495, 5394
+1177, 1629, 100, 27, 160, 558, 1159, 2030, 5665
+1178, 1569, 103, 10, 120, 642, 1272, 2146, 5863
+1179, 1667, 166, 11, 363, 607, 1333, 1787, 5935
+1180, 1637, 109, 10, 109, 564, 1425, 2018, 5873
+1181, 1661, 116, 10, 37, 557, 1403, 2048, 5834
+1182, 2627, 118, 12, 41, 620, 1434, 1655, 6509
+1183, 1799, 442, 21, 39, 672, 1411, 1744, 6129
+1184, 1870, 819, 33, 48, 562, 1173, 1467, 5972
+1185, 1732, 1499, 945, 173, 639, 1224, 1556, 7770
+1186, 1922, 688, 153, 142, 579, 1178, 1603, 6266
+1187, 2339, 957, 32, 44, 559, 1104, 1187, 6224
+1188, 1809, 93, 10, 33, 542, 1256, 1198, 4943
+1189, 2252, 116, 10, 30, 570, 1423, 1196, 5600
+1190, 1688, 139, 10, 40, 744, 1375, 2265, 6263
+1191, 1662, 141, 11, 43, 700, 1447, 2138, 6144
+1192, 2179, 121, 265, 52, 653, 1294, 1783, 6350
+1193, 1784, 145, 12, 42, 822, 1460, 2242, 6508
+1194, 1790, 241, 13, 41, 801, 1606, 2040, 6534
+1195, 2472, 126, 14, 132, 852, 1670, 2245, 7513
+1196, 1938, 119, 11, 291, 660, 1433, 1785, 6239
+1197, 1830, 156, 35, 303, 615, 1432, 1846, 6219
+1198, 1651, 156, 12, 43, 577, 1432, 2391, 6263
+1199, 2070, 553, 18, 333, 520, 1233, 1837, 6566
+1200, 1699, 151, 586, 76, 745, 1301, 1688, 6247
+1201, 3254, 138, 199, 441, 852, 2008, 1654, 8548
+1202, 1570, 493, 18, 580, 539, 1251, 1642, 6094
+1203, 1844, 727, 26, 49, 676, 1305, 1888, 6517
+1204, 1841, 149, 501, 330, 734, 1363, 7444, 12365
+1205, 1915, 2978, 438, 376, 495, 1095, 1655, 8954
+1206, 3465, 1292, 841, 933, 508, 1100, 1519, 9660
+1207, 1499, 579, 23, 42, 498, 1079, 1458, 5180
+1208, 1839, 1426, 40, 60, 624, 1385, 1467, 6842
+1209, 1805, 208, 16, 100, 697, 1230, 2200, 6257
+1210, 2509, 131, 14, 131, 845, 1613, 2164, 7410
+1211, 1793, 379, 173, 313, 668, 1307, 1643, 6278
+1212, 1770, 131, 11, 41, 602, 1437, 2170, 6164
+1213, 2233, 122, 15, 349, 763, 1525, 2233, 7243
+1214, 2131, 102, 62, 324, 760, 1286, 1542, 6208
+1215, 1864, 248, 12, 37, 581, 1416, 2200, 6360
+1216, 1713, 183, 18, 155, 591, 1236, 2044, 5942
+1217, 1880, 156, 11, 205, 529, 1168, 2058, 6009
+1218, 1676, 139, 11, 40, 563, 1224, 2070, 5725
+1219, 2213, 421, 63, 54, 928, 1770, 2193, 7644
+1220, 2842, 139, 15, 148, 955, 1893, 2262, 8255
+1221, 2068, 277, 16, 773, 686, 1699, 2075, 7596
+1222, 1932, 111, 11, 283, 592, 1304, 1917, 6152
+1223, 1584, 149, 9, 45, 523, 1182, 2186, 5681
+1224, 1806, 136, 9, 123, 520, 1147, 2039, 5782
+1225, 2828, 128, 50, 67, 768, 1579, 2049, 7472
+1226, 1645, 1040, 36, 46, 525, 1179, 1401, 5873
+1227, 2261, 1030, 1095, 245, 515, 1137, 1344, 7629
+1228, 1727, 862, 29, 49, 479, 1102, 1579, 5828
+1229, 1977, 1384, 48, 110, 601, 1287, 1674, 7082
+1230, 1932, 206, 14, 35, 588, 1319, 1565, 5661
+1231, 1928, 122, 11, 178, 665, 1436, 1719, 6062
+1232, 1939, 169, 36, 45, 690, 1451, 2210, 6542
+1233, 1635, 152, 10, 197, 521, 1237, 1913, 5666
+1234, 2524, 127, 15, 203, 851, 1577, 2279, 7578
+1235, 1897, 191, 47, 48, 648, 1395, 2066, 6294
+1236, 2110, 300, 16, 41, 636, 1362, 1828, 6296
+1237, 1933, 397, 15, 108, 623, 1257, 1740, 6076
+1238, 1678, 221, 16, 102, 567, 1476, 2119, 6181
+1239, 1645, 176, 13, 32, 557, 1351, 2232, 6008
+1240, 2384, 108, 14, 253, 569, 1497, 15775, 20602
+1241, 1422, 113, 11, 112, 561, 1223, 1666, 5110
+1242, 1935, 289, 12, 40, 572, 1286, 1822, 5957
+1243, 2097, 141, 15, 40, 715, 1608, 2683, 7300
+1244, 1704, 185, 11, 197, 552, 1233, 2354, 6238
+1245, 1681, 181, 11, 142, 561, 1287, 2084, 5949
+1246, 1858, 166, 84, 43, 567, 1226, 2147, 6092
+1247, 1862, 553, 23, 44, 518, 1177, 1716, 5896
+1248, 1855, 1469, 758, 169, 596, 1315, 1591, 7754
+1249, 1985, 682, 21, 51, 526, 1172, 1426, 5864
+1250, 1972, 1378, 42, 73, 630, 1577, 1558, 7231
+1251, 2121, 205, 13, 107, 623, 1397, 1876, 6343
+1252, 1963, 343, 18, 45, 656, 1440, 2037, 6503
+1253, 2218, 96, 10, 98, 594, 1282, 1777, 6076
+1254, 1691, 548, 16, 37, 482, 1079, 1398, 5253
+1255, 1731, 268, 20, 37, 633, 1500, 2229, 6421
+1256, 1584, 112, 9, 45, 562, 1176, 2165, 5655
+1257, 1698, 235, 13, 66, 720, 1694, 2140, 6568
+1258, 1801, 174, 44, 51, 648, 1389, 2257, 6366
+1259, 1730, 265, 15, 50, 683, 1302, 2079, 6125
+1260, 2216, 118, 10, 65, 671, 1316, 1776, 6175
+1261, 1758, 200, 19, 38, 659, 1480, 2324, 6480
+1262, 1879, 176, 13, 62, 597, 1425, 2321, 6473
+1263, 1640, 126, 11, 43, 772, 1679, 2224, 6497
+1264, 2041, 129, 15, 309, 721, 1438, 2201, 6857
+1265, 1329, 91, 10, 32, 539, 1274, 1734, 5011
+1266, 1957, 107, 9, 93, 486, 1344, 1671, 5670
+1267, 1313, 89, 9, 33, 485, 1276, 1852, 5060
+1268, 1441, 156, 36, 43, 478, 1297, 2046, 5499
+1269, 1728, 1028, 40, 46, 501, 1170, 1719, 6234
+1270, 2619, 1271, 921, 172, 871, 1639, 1876, 9370
+1271, 2043, 564, 23, 75, 520, 1174, 1624, 6025
+1272, 1686, 1425, 924, 140, 592, 1384, 1618, 7772
+1273, 1634, 781, 13, 46, 602, 1225, 1379, 5681
+1274, 1731, 1424, 42, 48, 546, 1174, 1648, 6615
+1275, 1917, 170, 18, 585, 616, 1456, 1762, 6526
+1276, 1935, 101, 11, 44, 627, 1213, 2509, 6442
+1277, 1906, 108, 11, 52, 628, 1335, 1984, 6026
+1278, 1924, 521, 151, 132, 629, 1294, 1761, 6412
+1279, 2312, 106, 14, 334, 772, 1756, 1837, 7133
+1280, 2216, 112, 11, 111, 577, 1413, 1866, 6308
+1281, 1888, 437, 20, 160, 723, 1273, 1844, 6346
+1282, 1955, 100, 10, 573, 627, 1295, 1594, 6157
+1283, 1800, 115, 11, 105, 592, 1548, 2110, 6282
+1284, 1807, 185, 12, 36, 561, 1329, 2012, 5943
+1285, 2111, 446, 19, 48, 746, 1505, 2188, 7065
+1286, 1736, 223, 13, 99, 541, 1195, 2049, 5858
+1287, 1571, 179, 61, 52, 573, 1284, 2194, 5916
+1288, 1685, 304, 14, 36, 546, 1193, 2054, 5835
+1289, 1638, 180, 11, 43, 618, 1367, 2342, 6200
+1290, 1905, 320, 17, 37, 545, 1236, 1683, 5744
+1291, 2097, 360, 17, 49, 723, 1438, 2051, 6737
+1292, 2558, 340, 41, 134, 510, 1178, 1300, 6062
+1293, 1677, 1411, 1020, 183, 523, 1679, 1644, 8139
+1294, 1645, 792, 109, 49, 503, 1176, 1505, 5781
+1295, 1606, 1419, 56, 93, 673, 1255, 1659, 6764
+1296, 1547, 160, 10, 40, 585, 1389, 1968, 5701
+1297, 2027, 377, 18, 45, 852, 1697, 1877, 6895
+1298, 1988, 419, 15, 48, 532, 1559, 1662, 6225
+1299, 1806, 122, 10, 35, 536, 1698, 2263, 6472
+1300, 1989, 411, 19, 48, 699, 1618, 2002, 6788
+1301, 1751, 102, 10, 35, 633, 1336, 2213, 6082
+1302, 1574, 168, 12, 39, 527, 1177, 2124, 5622
+1303, 2269, 129, 15, 134, 744, 1681, 1973, 6946
+1304, 1806, 390, 14, 46, 552, 1442, 1840, 6091
+1305, 2048, 102, 49, 44, 557, 1446, 1890, 6138
+1306, 1659, 147, 10, 39, 514, 1193, 1982, 5546
+1307, 1526, 167, 11, 40, 523, 1310, 2109, 5688
+1308, 1617, 155, 11, 38, 514, 1298, 1937, 5572
+1309, 1872, 123, 14, 41, 785, 1529, 2286, 6651
+1310, 1455, 130, 10, 38, 530, 1332, 2163, 5662
+1311, 1665, 200, 18, 48, 517, 1221, 1887, 5557
+1312, 6695, 203, 397, 135, 438, 765, 8210, 16845
+1313, 1565, 398, 15, 27, 328, 640, 1116, 4091
+1314, 1717, 1233, 406, 99, 342, 679, 1032, 5511
+1315, 2267, 459, 23, 36, 456, 777, 1306, 5326
+1316, 1633, 1144, 342, 130, 338, 636, 1224, 5450
+1317, 1547, 710, 28, 35, 396, 651, 1102, 4471
+1318, 2111, 761, 34, 49, 450, 762, 1277, 5445
+1319, 1594, 129, 11, 25, 345, 640, 1593, 4338
+1320, 1917, 353, 25, 40, 447, 810, 1779, 5373
+1321, 1882, 132, 14, 30, 500, 781, 2067, 5408
+1322, 1555, 150, 11, 33, 340, 645, 1953, 4690
+1323, 1484, 151, 77, 48, 710, 724, 1875, 5072
diff --git a/frame-timing.csv b/frame-timing.csv
new file mode 100644
index 0000000000..35d57fc1c8
--- /dev/null
+++ b/frame-timing.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Render, Total
+54, 1111, 100, 12, 93, 7634, 8951
+55, 931, 118, 11, 285, 7821, 9169
+56, 1004, 119, 12, 118, 8030, 9284
+57, 865, 107, 45, 260, 7867, 9148
+58, 883, 111, 64, 188, 7960, 9208
+59, 1008, 125, 13, 287, 8438, 9872
+60, 860, 112, 36, 267, 7860, 9137
+61, 868, 112, 39, 172, 8120, 9313
+62, 933, 5701, 2077, 418, 8378, 17509
+63, 874, 91, 9, 86, 7519, 8581
+64, 847, 109, 11, 267, 7937, 9174
+65, 879, 116, 11, 408, 7755, 9171
+66, 853, 108, 70, 201, 7877, 9110
+67, 842, 106, 41, 241, 8091, 9323
+68, 1024, 116, 12, 114, 8078, 9345
+69, 885, 112, 11, 277, 7820, 9108
+70, 868, 117, 11, 286, 8059, 9342
+71, 966, 180, 17, 161, 7827, 9152
+72, 868, 119, 11, 373, 7825, 9197
+73, 1105, 187, 16, 220, 9420, 10949
+74, 1146, 335, 357, 211, 9818, 11869
+75, 789, 130, 200, 362, 7809, 9292
+76, 855, 167, 250, 381, 7825, 9480
+77, 960, 156, 202, 390, 7901, 9612
+78, 890, 114, 11, 254, 7673, 8945
+79, 871, 113, 11, 111, 7996, 9105
+80, 953, 124, 11, 113, 7846, 9050
+81, 892, 6004, 1883, 392, 8355, 17528
+82, 801, 173, 12, 55, 7615, 8658
+83, 910, 119, 11, 128, 7943, 9113
+84, 868, 116, 11, 69, 7844, 8910
+85, 826, 113, 11, 136, 8089, 9177
+86, 961, 121, 11, 410, 8007, 9511
+87, 841, 116, 11, 122, 7964, 9056
+88, 1151, 100, 11, 93, 7792, 9149
+89, 1022, 118, 12, 103, 7918, 9174
+90, 891, 117, 11, 118, 7915, 9054
+91, 951, 117, 11, 114, 7905, 9100
+92, 994, 111, 11, 291, 7739, 9148
+93, 673, 107, 10, 67, 8000, 8859
+94, 864, 114, 39, 197, 7861, 9077
+95, 913, 118, 11, 111, 7996, 9151
+96, 714, 118, 9, 67, 8587, 9497
+97, 1210, 109, 34, 421, 8446, 10222
+98, 1157, 127, 11, 279, 8832, 10406
+99, 823, 6326, 2107, 398, 8319, 17974
+100, 1006, 104, 9, 52, 8536, 9709
+101, 1463, 120, 15, 157, 7851, 9609
+102, 976, 113, 11, 268, 8042, 9412
+103, 1061, 122, 10, 71, 8021, 9286
+104, 773, 179, 10, 67, 8006, 9036
+105, 1009, 102, 21, 66, 7869, 9070
+106, 973, 108, 33, 219, 7738, 9074
+107, 954, 119, 10, 80, 7812, 8976
+108, 1116, 115, 10, 85, 8580, 9908
+109, 857, 92, 10, 92, 8173, 9225
+110, 778, 122, 10, 70, 8307, 9288
+111, 1013, 387, 2518, 3697, 19325, 26942
+112, 741, 94, 9, 63, 11469, 12378
+113, 804, 94, 40, 172, 10343, 11456
+114, 764, 126, 77, 277, 9729, 10975
+115, 1026, 130, 14, 223, 9198, 10593
+116, 988, 460, 20, 107, 9309, 10886
+117, 1404, 8290, 2446, 393, 10439, 22973
+118, 772, 123, 70, 194, 10742, 11903
+119, 829, 132, 14, 274, 9617, 10868
+120, 1037, 106, 9, 65, 9102, 10321
+121, 1028, 397, 2811, 5035, 21252, 30525
+122, 1884, 154, 115, 402, 10738, 13293
+123, 800, 192, 19, 242, 11584, 12839
+124, 1222, 156, 208, 286, 10475, 12348
+125, 955, 170, 127, 592, 10378, 12224
+126, 1165, 181, 551, 240, 10137, 12277
+127, 1216, 526, 21, 296, 10526, 12587
+128, 2892, 3025, 23980, 4963, 17971, 52833
+129, 1470, 136, 10, 80, 18467, 20165
+130, 1009, 106, 10, 75, 11712, 12913
+131, 1563, 122, 10, 76, 11800, 13572
+132, 753, 9657, 3111, 450, 11656, 25628
+133, 744, 105, 9, 94, 12578, 13531
+134, 1141, 145, 48, 152, 11866, 13354
+135, 1089, 114, 9, 122, 11774, 13110
+136, 1573, 202, 18, 209, 12082, 14087
+137, 1033, 309, 16, 87, 11299, 12746
+138, 847, 153, 129, 331, 11502, 12964
+139, 1175, 417, 108, 687, 11182, 13571
+140, 1010, 177, 362, 591, 10956, 13096
+141, 1011, 184, 352, 633, 11389, 13571
+142, 1032, 382, 24, 243, 11206, 12889
+143, 975, 177, 148, 699, 10746, 12748
+144, 987, 178, 117, 681, 10884, 12848
+145, 1113, 192, 220, 544, 10653, 12725
+146, 1240, 163, 199, 297, 10947, 12847
+147, 1013, 176, 217, 270, 10816, 12494
+148, 1176, 187, 209, 591, 10900, 13065
+149, 788, 131, 9, 96, 10941, 11966
+150, 997, 8965, 2454, 553, 11524, 24494
+151, 885, 139, 16, 346, 12194, 13582
+152, 867, 139, 16, 261, 13120, 14405
+153, 876, 142, 16, 265, 11839, 13140
+154, 812, 143, 93, 311, 11503, 12863
+155, 1208, 130, 38, 262, 10611, 12251
+156, 1340, 137, 9, 73, 10809, 12370
+157, 1246, 149, 11, 163, 10766, 12338
+158, 986, 163, 16, 326, 10779, 12271
+159, 1214, 125, 44, 158, 10788, 12330
+160, 1121, 145, 39, 279, 11227, 12814
+161, 1029, 172, 16, 298, 10659, 12175
+162, 954, 165, 16, 284, 10702, 12122
+163, 1127, 152, 36, 320, 10775, 12413
+164, 1006, 141, 11, 146, 11024, 12331
+165, 1161, 164, 16, 273, 10764, 12381
+166, 1045, 145, 38, 236, 10958, 12423
+167, 1095, 166, 16, 291, 11579, 13149
+168, 963, 8887, 3002, 405, 13987, 27245
+169, 1023, 118, 36, 175, 12111, 13465
+170, 829, 115, 11, 124, 12038, 13119
+171, 875, 135, 16, 279, 12014, 13320
+172, 815, 130, 16, 179, 12175, 13317
+173, 908, 133, 16, 223, 11026, 12308
+174, 1066, 140, 37, 281, 10668, 12194
+175, 980, 164, 75, 248, 10861, 12330
+176, 942, 167, 16, 294, 10970, 12392
+177, 975, 213, 40, 310, 10838, 12378
+178, 990, 137, 11, 151, 11248, 12539
+179, 951, 164, 16, 270, 11207, 12608
+180, 923, 168, 16, 373, 10855, 12335
+181, 1005, 220, 161, 226, 10765, 12379
+182, 956, 162, 16, 322, 10792, 12249
+183, 968, 166, 16, 296, 10834, 12282
+184, 1275, 121, 61, 92, 11175, 12725
+185, 1051, 143, 38, 234, 10789, 12256
+186, 1067, 169, 16, 299, 11080, 12632
+187, 1023, 7723, 2327, 535, 11691, 23300
+188, 838, 126, 16, 222, 11716, 12920
+189, 664, 100, 9, 69, 11781, 12625
+190, 666, 92, 9, 65, 10650, 11485
+191, 752, 129, 10, 96, 10912, 11900
+192, 884, 177, 14, 385, 10873, 12336
+193, 1133, 145, 38, 296, 10692, 12307
+194, 968, 136, 9, 89, 11344, 12548
+195, 999, 171, 16, 217, 10749, 12155
+196, 1016, 217, 10, 258, 10902, 12405
+197, 1226, 162, 14, 271, 10621, 12295
+198, 994, 187, 178, 260, 10930, 12551
+199, 1129, 278, 311, 610, 10635, 12966
+200, 1010, 454, 78, 193, 11014, 12752
+201, 961, 178, 193, 547, 11551, 13432
+202, 1052, 144, 37, 783, 11072, 13091
+203, 961, 171, 16, 301, 10486, 11936
+204, 943, 173, 16, 292, 10374, 11799
+205, 1086, 149, 38, 303, 10530, 12107
+206, 935, 7810, 2727, 617, 11223, 23314
+207, 903, 141, 127, 248, 11269, 12689
+208, 836, 141, 126, 267, 11474, 12846
+209, 953, 142, 15, 174, 11839, 13125
+210, 1098, 320, 2162, 544, 8821, 12947
+211, 1345, 292, 16, 125, 8595, 10374
+212, 932, 147, 16, 200, 8907, 10203
+213, 913, 132, 38, 286, 8924, 10296
+214, 990, 137, 10, 382, 9113, 10634
+215, 923, 148, 15, 211, 8861, 10160
+216, 896, 125, 37, 204, 9160, 10424
+217, 1089, 131, 12, 375, 9161, 10770
+218, 914, 127, 36, 190, 9364, 10632
+219, 989, 129, 63, 107, 9102, 10392
+220, 1127, 125, 12, 121, 9278, 10664
+221, 922, 127, 37, 215, 9039, 10342
+222, 1168, 113, 11, 329, 8793, 10416
+223, 971, 133, 11, 300, 8874, 10293
+224, 921, 129, 37, 304, 8943, 10336
+225, 928, 6545, 2553, 497, 9609, 20135
+226, 781, 94, 23, 115, 9858, 10873
+227, 927, 126, 43, 235, 8794, 10127
+228, 1090, 129, 11, 292, 8952, 10477
+229, 1109, 149, 9, 323, 9223, 10815
+230, 907, 151, 16, 280, 8822, 10178
+231, 880, 127, 37, 205, 8918, 10170
+232, 1017, 136, 11, 269, 9288, 10722
+233, 891, 124, 39, 284, 8830, 10169
+234, 887, 153, 16, 199, 8990, 10246
+235, 1146, 113, 65, 286, 8628, 10240
+236, 925, 126, 37, 275, 9211, 10576
+237, 924, 129, 70, 255, 8832, 10211
+238, 998, 144, 9, 262, 8987, 10402
+239, 961, 128, 38, 275, 8915, 10318
+240, 924, 134, 47, 220, 8873, 10200
+241, 1009, 128, 11, 273, 8796, 10219
+242, 923, 130, 40, 216, 8851, 10162
+243, 914, 126, 36, 307, 8898, 10283
+244, 990, 7058, 1969, 473, 9740, 20232
+245, 839, 98, 34, 158, 8670, 9801
+246, 1011, 128, 63, 256, 8747, 10207
+247, 940, 122, 12, 91, 8846, 10013
+248, 1175, 112, 11, 70, 8862, 10233
+249, 905, 121, 19, 86, 9502, 10635
+250, 758, 115, 9, 82, 9062, 10028
+251, 726, 114, 9, 82, 9239, 10172
+252, 820, 130, 10, 89, 8861, 9912
+253, 1015, 132, 12, 90, 8806, 10057
+254, 808, 125, 12, 156, 9508, 10612
+255, 880, 138, 11, 91, 8953, 10075
+256, 918, 129, 11, 137, 9046, 10243
+257, 859, 120, 20, 89, 8930, 10021
+258, 839, 122, 11, 106, 8869, 9949
+259, 933, 123, 11, 84, 8958, 10111
+260, 806, 121, 12, 111, 8840, 9892
+261, 1177, 111, 11, 64, 8949, 10314
+262, 788, 7265, 1878, 490, 10106, 20529
+263, 789, 92, 11, 88, 8780, 9762
+264, 997, 119, 19, 97, 8893, 10127
+265, 1051, 139, 12, 77, 8817, 10097
+266, 879, 124, 20, 82, 9009, 10117
+267, 858, 128, 11, 83, 8933, 10015
+268, 1000, 132, 9, 84, 9015, 10242
+269, 846, 118, 19, 86, 9072, 10144
+270, 902, 129, 37, 202, 8912, 10184
+271, 1058, 148, 11, 309, 8843, 10371
+272, 920, 129, 38, 295, 8864, 10248
+273, 1110, 132, 48, 90, 9009, 10391
+274, 1186, 113, 11, 169, 9156, 10637
+275, 955, 130, 37, 206, 8940, 10269
+276, 908, 129, 42, 304, 8887, 10272
+277, 1043, 133, 12, 147, 8984, 10320
+278, 919, 126, 62, 228, 9176, 10514
+279, 962, 128, 11, 286, 8938, 10327
+280, 1453, 139, 11, 409, 8665, 10679
+281, 898, 6734, 1932, 477, 9804, 19847
+282, 838, 99, 23, 130, 8735, 9827
+283, 1162, 132, 11, 174, 8862, 10344
+284, 909, 122, 69, 327, 9034, 10464
+285, 897, 128, 71, 322, 8938, 10357
+286, 1020, 126, 11, 203, 9252, 10613
+287, 1308, 109, 9, 67, 9784, 11279
+288, 949, 148, 56, 107, 10446, 11708
+289, 1447, 133, 35, 164, 10701, 12481
+290, 1286, 115, 11, 833, 9783, 12030
+291, 1222, 132, 10, 168, 9666, 11201
+292, 1080, 214, 10, 83, 10185, 11573
+293, 861, 143, 11, 75, 15378, 16471
+294, 918, 113, 9, 71, 9850, 10964
+295, 956, 132, 10, 322, 9555, 10979
+296, 844, 113, 9, 77, 9305, 10349
+297, 1031, 157, 14, 290, 8949, 10444
+298, 1867, 646, 3324, 1017, 11409, 18265
+299, 935, 8672, 3955, 579, 11663, 25806
+300, 1027, 102, 9, 320, 11061, 12521
+301, 950, 247, 3239, 3742, 18621, 26802
+302, 884, 160, 16, 365, 12521, 13947
+303, 829, 153, 66, 409, 12218, 13678
+304, 885, 211, 87, 389, 12373, 13946
+305, 906, 146, 16, 334, 12047, 13450
+306, 870, 141, 16, 241, 11724, 12994
+307, 951, 133, 17, 370, 11988, 13460
+308, 1246, 385, 20, 117, 10313, 12083
+309, 787, 118, 9, 111, 10237, 11265
+310, 712, 130, 11, 104, 10530, 11489
+311, 1265, 150, 14, 258, 10557, 12247
+312, 1049, 278, 14, 254, 10830, 12426
+313, 924, 167, 10, 105, 11562, 12771
+314, 976, 178, 14, 280, 10331, 11782
+315, 1010, 236, 14, 301, 10782, 12346
+316, 964, 180, 14, 333, 10920, 12412
+317, 946, 9662, 2264, 568, 10839, 24280
+318, 861, 106, 9, 73, 11365, 12416
+319, 943, 134, 68, 179, 10755, 12082
+320, 789, 134, 10, 275, 10645, 11855
+321, 2086, 132, 346, 371, 13257, 16194
+322, 964, 563, 20, 231, 12207, 13986
+323, 891, 162, 54, 328, 12309, 13746
+324, 1384, 625, 225, 529, 13049, 15815
+325, 1220, 345, 311, 405, 12782, 15065
+326, 896, 162, 99, 326, 10584, 12069
+327, 930, 189, 14, 262, 10037, 11434
+328, 1053, 326, 19, 200, 10026, 11626
+329, 1061, 140, 10, 313, 10438, 11965
+330, 1043, 200, 2956, 480, 13170, 17851
+331, 853, 112, 10, 109, 12584, 13670
+332, 775, 110, 9, 88, 12527, 13511
+333, 1529, 589, 2973, 4051, 23036, 32180
+334, 1295, 10770, 2669, 667, 12539, 27941
+335, 982, 177, 16, 170, 12352, 13699
+336, 1131, 265, 41, 233, 12060, 13731
+337, 950, 153, 87, 322, 11878, 13392
+338, 925, 152, 16, 388, 11859, 13343
+339, 931, 152, 100, 263, 11730, 13178
+340, 925, 152, 25, 157, 11924, 13186
+341, 930, 154, 24, 161, 11838, 13109
+342, 888, 143, 75, 319, 11954, 13380
+343, 1081, 274, 2161, 517, 10895, 14930
+344, 1002, 235, 15, 312, 10446, 12011
+345, 885, 130, 16, 171, 10556, 11760
+346, 873, 127, 16, 167, 10436, 11621
+347, 876, 109, 35, 177, 10626, 11825
+348, 879, 127, 16, 177, 10538, 11738
+349, 877, 128, 16, 173, 10761, 11956
+350, 900, 130, 16, 175, 10365, 11588
+351, 873, 129, 16, 183, 10500, 11703
+352, 882, 9155, 2125, 435, 10333, 22931
+353, 1054, 122, 10, 97, 10467, 11750
+354, 1152, 116, 10, 155, 10609, 12044
+355, 1153, 114, 9, 850, 10365, 12493
+356, 727, 103, 9, 68, 10205, 11113
+357, 752, 137, 10, 101, 10580, 11583
+358, 982, 138, 9, 205, 10227, 11563
+359, 1099, 285, 2180, 651, 8880, 13097
+360, 1215, 112, 11, 115, 9316, 10772
+361, 984, 147, 16, 213, 9099, 10461
+362, 908, 152, 16, 279, 9127, 10484
+363, 908, 141, 16, 275, 9160, 10502
+364, 996, 125, 37, 304, 9040, 10504
+365, 860, 151, 16, 256, 9101, 10386
+366, 875, 124, 38, 200, 9676, 10915
+367, 699, 154, 11, 95, 9234, 10195
+368, 734, 106, 9, 79, 9424, 10354
+369, 1015, 129, 37, 270, 9000, 10453
+370, 947, 8855, 1793, 472, 9723, 21792
+371, 817, 97, 34, 180, 9706, 10837
+372, 782, 94, 9, 59, 9589, 10535
+373, 1323, 198, 2812, 495, 7713, 12543
+374, 864, 115, 69, 180, 7941, 9171
+375, 836, 116, 60, 80, 8000, 9093
+376, 1020, 111, 11, 112, 7975, 9231
+377, 1162, 289, 1787, 313, 6182, 9735
+378, 858, 114, 11, 128, 6502, 7615
+379, 933, 123, 9, 60, 6717, 7844
+380, 800, 110, 11, 105, 6573, 7602
+381, 854, 110, 11, 124, 6506, 7607
+382, 991, 131, 13, 237, 7281, 8654
+383, 934, 128, 12, 107, 7079, 8262
+384, 906, 121, 13, 109, 7001, 8151
+385, 990, 97, 13, 56, 6683, 7841
+386, 793, 106, 11, 118, 6847, 7878
+387, 903, 147, 11, 59, 7099, 8221
+388, 922, 127, 12, 247, 6974, 8284
+389, 863, 6015, 1366, 356, 6705, 15307
+390, 870, 123, 11, 232, 6493, 7732
+391, 925, 124, 19, 263, 6311, 7644
+392, 699, 109, 9, 55, 6625, 7499
+393, 828, 119, 11, 291, 6443, 7694
+394, 1052, 131, 25, 251, 6885, 8345
+395, 1091, 521, 1978, 474, 7942, 12007
+396, 994, 124, 12, 296, 8320, 9747
+397, 1051, 129, 13, 188, 8667, 10049
+398, 1145, 108, 11, 242, 7578, 9086
+399, 834, 122, 66, 281, 7811, 9116
+400, 985, 124, 13, 120, 8335, 9579
+401, 845, 123, 40, 185, 7700, 8896
+402, 817, 315, 18, 77, 7700, 8929
+403, 1010, 125, 13, 317, 8586, 10052
+404, 979, 126, 12, 409, 8313, 9841
+405, 974, 123, 12, 375, 8364, 9850
+406, 1041, 117, 73, 246, 8448, 9927
+407, 842, 6359, 1553, 414, 8391, 17560
+408, 759, 95, 39, 134, 7577, 8606
+409, 1142, 245, 12, 154, 7675, 9230
+410, 871, 119, 11, 116, 7739, 8857
+411, 1143, 106, 11, 93, 7652, 9007
+412, 1012, 117, 11, 266, 7521, 8929
+413, 878, 118, 36, 265, 7630, 8929
+414, 868, 122, 38, 165, 7781, 8976
+415, 857, 117, 11, 133, 7764, 8884
+416, 868, 119, 11, 105, 7710, 8815
+417, 850, 121, 41, 189, 7778, 8981
+418, 988, 117, 11, 273, 7560, 8952
+419, 844, 118, 38, 254, 7648, 8904
+420, 807, 116, 11, 116, 7814, 8866
+421, 1003, 120, 11, 102, 7745, 8984
+422, 903, 122, 11, 111, 7836, 8986
+423, 869, 120, 11, 353, 7672, 9026
+424, 1165, 106, 11, 248, 7438, 8970
+425, 851, 5600, 1778, 367, 7303, 15901
+426, 861, 117, 11, 73, 7874, 8938
+427, 700, 106, 9, 74, 7583, 8473
+428, 913, 119, 9, 69, 7707, 8820
+429, 948, 124, 13, 68, 8138, 9293
+430, 933, 122, 11, 67, 7562, 8697
+431, 836, 119, 11, 88, 7551, 8607
+432, 789, 116, 11, 69, 7752, 8739
+433, 909, 125, 12, 67, 8495, 9611
+434, 905, 120, 20, 64, 7636, 8747
+435, 846, 113, 11, 68, 7734, 8774
+436, 840, 115, 11, 63, 7594, 8625
+437, 1090, 102, 11, 54, 7512, 8770
+438, 845, 120, 20, 67, 7833, 8887
+439, 1012, 121, 12, 72, 7388, 8607
+440, 835, 115, 11, 68, 7692, 8723
+441, 891, 122, 13, 68, 8169, 9265
+442, 846, 116, 11, 66, 7607, 8649
+443, 976, 461, 2182, 354, 8955, 12930
+444, 871, 6527, 2360, 483, 9885, 20128
+445, 771, 97, 11, 58, 8709, 9648
+446, 934, 119, 11, 130, 8715, 9911
+447, 882, 134, 11, 85, 9108, 10221
+448, 960, 142, 11, 86, 8930, 10130
+449, 958, 139, 11, 83, 9329, 10523
+450, 1138, 112, 17, 62, 8780, 10112
+451, 1153, 138, 10, 83, 9179, 10565
+452, 951, 126, 17, 78, 9199, 10373
+453, 899, 123, 11, 106, 8941, 10082
+454, 847, 134, 9, 83, 8913, 9988
+455, 887, 129, 19, 86, 8876, 10000
+456, 917, 139, 11, 84, 9109, 10263
+457, 973, 125, 11, 104, 8906, 10120
+458, 935, 136, 11, 106, 9261, 10452
+459, 873, 125, 11, 106, 8979, 10095
+460, 913, 137, 11, 81, 8959, 10103
+461, 886, 129, 9, 82, 9038, 10145
+462, 902, 126, 11, 84, 8955, 10081
+463, 1068, 6968, 2155, 449, 9488, 20129
+464, 789, 100, 21, 60, 9131, 10102
+465, 946, 122, 11, 65, 9048, 10194
+466, 1043, 132, 11, 139, 8966, 10293
+467, 877, 134, 11, 81, 9017, 10124
+468, 884, 127, 18, 84, 8984, 10101
+469, 931, 125, 21, 82, 8999, 10160
+470, 896, 126, 11, 99, 8900, 10035
+471, 891, 137, 11, 84, 9704, 10829
+472, 879, 134, 11, 85, 8833, 9944
+473, 843, 125, 11, 143, 8829, 9953
+474, 867, 125, 11, 113, 9161, 10278
+475, 851, 128, 10, 87, 8784, 9862
+476, 1130, 112, 11, 58, 8840, 10153
+477, 856, 124, 10, 142, 8982, 10116
+478, 996, 125, 11, 130, 9040, 10304
+479, 863, 125, 11, 108, 8970, 10079
+480, 850, 126, 11, 103, 8968, 10060
+481, 926, 124, 11, 140, 8827, 10031
+482, 949, 7327, 2750, 497, 9492, 21018
+483, 759, 100, 11, 114, 8819, 9804
+484, 956, 125, 9, 125, 8814, 10031
+485, 861, 141, 11, 87, 9037, 10139
+486, 896, 125, 11, 109, 9705, 10848
+487, 737, 121, 9, 136, 8935, 9939
+488, 741, 112, 9, 83, 9289, 10237
+489, 1276, 107, 9, 66, 8778, 10239
+490, 988, 121, 11, 165, 8851, 10138
+491, 963, 132, 11, 83, 9053, 10244
+492, 842, 126, 11, 109, 9010, 10099
+493, 804, 127, 9, 81, 9157, 10179
+494, 918, 141, 11, 83, 8957, 10113
+495, 873, 125, 11, 82, 9078, 10170
+496, 864, 130, 20, 85, 8930, 10031
+497, 872, 139, 11, 82, 9033, 10140
+498, 892, 137, 11, 82, 8999, 10123
+499, 991, 134, 11, 75, 8878, 10092
+500, 901, 7051, 1888, 455, 9467, 19765
+501, 737, 105, 11, 81, 9070, 10007
+502, 864, 119, 9, 85, 8898, 9977
+503, 853, 133, 11, 88, 9057, 10144
+504, 890, 129, 11, 111, 9484, 10626
+505, 1187, 270, 2411, 537, 9734, 14141
+506, 964, 137, 11, 150, 10651, 11915
+507, 923, 131, 11, 159, 10088, 11314
+508, 992, 173, 16, 288, 9793, 11264
+509, 978, 166, 15, 307, 9850, 11319
+510, 986, 173, 16, 271, 10221, 11667
+511, 994, 174, 16, 262, 9983, 11431
+512, 942, 165, 16, 292, 9860, 11277
+513, 903, 166, 16, 294, 10029, 11410
+514, 1284, 120, 36, 219, 9975, 11637
+515, 935, 161, 84, 307, 9995, 11485
+516, 925, 167, 16, 278, 10314, 11703
+517, 952, 173, 16, 359, 9844, 11347
+518, 910, 7644, 2335, 529, 10960, 22380
+519, 809, 136, 16, 163, 11527, 12651
+520, 827, 132, 16, 202, 9857, 11036
+521, 1069, 180, 16, 303, 10069, 11640
+522, 969, 169, 15, 330, 10062, 11547
+523, 968, 161, 16, 270, 10046, 11463
+524, 949, 168, 16, 304, 10053, 11492
+525, 921, 166, 86, 231, 10076, 11482
+526, 1129, 169, 16, 306, 10021, 11644
+527, 1406, 144, 37, 247, 9714, 11551
+528, 963, 172, 16, 310, 9927, 11389
+529, 1056, 164, 16, 304, 9996, 11539
+530, 967, 161, 16, 221, 9906, 11273
+531, 988, 161, 16, 325, 9975, 11467
+532, 1002, 167, 16, 294, 9935, 11416
+533, 946, 166, 16, 318, 9887, 11335
+534, 1026, 161, 16, 237, 10290, 11732
+535, 976, 160, 16, 215, 9963, 11331
+536, 970, 7859, 2186, 584, 10856, 22457
+537, 875, 125, 11, 172, 10750, 11935
+538, 844, 119, 11, 162, 9662, 10800
+539, 1088, 142, 37, 309, 10009, 11587
+540, 1230, 154, 16, 242, 10157, 11799
+541, 962, 186, 16, 275, 9990, 11430
+542, 984, 177, 94, 328, 9848, 11432
+543, 992, 183, 13, 307, 9984, 11482
+544, 1014, 173, 209, 499, 9727, 11624
+545, 998, 314, 41, 230, 9897, 11481
+546, 1017, 162, 16, 325, 10781, 12302
+547, 809, 130, 9, 94, 9855, 10899
+548, 806, 133, 9, 92, 10179, 11222
+549, 947, 187, 15, 307, 9905, 11363
+550, 1086, 135, 38, 224, 10262, 11747
+551, 955, 174, 16, 312, 9986, 11445
+552, 904, 171, 16, 310, 10097, 11499
+553, 1236, 123, 37, 238, 10358, 11994
+554, 961, 8474, 2859, 558, 10843, 23698
+555, 848, 128, 16, 225, 10855, 12074
+556, 861, 115, 11, 138, 10416, 11544
+557, 1118, 516, 27, 206, 9792, 11661
+558, 1189, 162, 68, 523, 10247, 12190
+559, 1019, 133, 10, 99, 10355, 11619
+560, 992, 141, 38, 218, 10018, 11410
+561, 958, 156, 16, 315, 10010, 11457
+562, 981, 171, 15, 305, 9971, 11445
+563, 997, 218, 10, 195, 10039, 11461
+564, 966, 164, 16, 199, 10484, 11831
+565, 1160, 269, 2238, 514, 8744, 12927
+566, 1187, 111, 11, 102, 8782, 10195
+567, 902, 151, 16, 298, 8833, 10201
+568, 931, 153, 16, 317, 8612, 10031
+569, 951, 132, 37, 229, 8693, 10044
+570, 902, 130, 35, 317, 9073, 10459
+571, 1008, 125, 37, 221, 8666, 10060
+572, 910, 130, 11, 117, 8744, 9914
+573, 909, 6792, 1687, 483, 9403, 19277
+574, 767, 98, 35, 223, 8472, 9596
+575, 989, 137, 46, 213, 8855, 10241
+576, 907, 130, 37, 210, 9045, 10330
+577, 907, 129, 11, 337, 8633, 10019
+578, 857, 148, 16, 209, 8866, 10097
+579, 1192, 113, 11, 353, 8704, 10375
+580, 1037, 127, 37, 230, 8923, 10355
+581, 910, 132, 36, 217, 8801, 10098
+582, 883, 130, 35, 278, 8778, 10107
+583, 965, 134, 45, 76, 8883, 10104
+584, 913, 133, 36, 207, 8873, 10163
+585, 921, 131, 36, 204, 8846, 10140
+586, 946, 130, 37, 214, 9012, 10340
+587, 911, 131, 65, 209, 9199, 10516
+588, 790, 300, 13, 85, 9374, 10564
+589, 920, 130, 41, 266, 8800, 10158
+590, 915, 152, 16, 199, 8804, 10088
+591, 880, 6759, 1666, 471, 9492, 19269
+592, 821, 104, 35, 167, 8735, 9864
+593, 905, 129, 36, 289, 8785, 10145
+594, 926, 129, 36, 222, 9125, 10440
+595, 1096, 128, 11, 143, 8855, 10235
+596, 1270, 143, 10, 148, 9125, 10698
+597, 931, 133, 36, 278, 8819, 10199
+598, 832, 200, 12, 173, 9268, 10487
+599, 881, 147, 10, 89, 9467, 10596
+600, 840, 126, 11, 143, 9126, 10247
+601, 1010, 126, 21, 90, 8826, 10074
+602, 900, 128, 11, 103, 8914, 10057
+603, 894, 125, 11, 142, 8960, 10135
+604, 879, 125, 11, 77, 8929, 10022
+605, 1141, 114, 11, 72, 8868, 10208
+606, 874, 123, 11, 149, 9642, 10801
+607, 759, 123, 9, 83, 8935, 9911
+608, 774, 113, 9, 87, 9297, 10282
+609, 937, 6708, 1785, 444, 9364, 19239
+610, 812, 102, 19, 58, 8680, 9674
+611, 907, 131, 11, 87, 9228, 10366
+612, 953, 129, 11, 75, 9067, 10236
+613, 978, 135, 21, 76, 9437, 10648
+614, 911, 137, 11, 86, 9138, 10285
+615, 849, 124, 11, 80, 9148, 10214
+616, 902, 127, 11, 75, 9254, 10370
+617, 890, 125, 11, 105, 9180, 10313
+618, 1153, 111, 11, 71, 9387, 10735
+619, 922, 192, 2029, 308, 8319, 11773
+620, 888, 115, 10, 82, 8016, 9112
+621, 823, 136, 10, 82, 9108, 10161
+622, 804, 111, 11, 73, 7945, 8946
+623, 831, 120, 9, 95, 7940, 8998
+624, 805, 116, 11, 70, 8201, 9206
+625, 772, 123, 16, 79, 8065, 9056
+626, 851, 111, 11, 93, 8010, 9079
+627, 820, 105, 11, 127, 8031, 9096
+628, 768, 9030, 2042, 297, 9860, 21999
+629, 702, 88, 11, 48, 7893, 8744
+630, 899, 118, 11, 76, 8203, 9308
+631, 1135, 135, 11, 54, 7851, 9187
+632, 753, 113, 11, 73, 7990, 8940
+633, 820, 120, 11, 77, 8045, 9075
+634, 862, 131, 10, 73, 8329, 9407
+635, 807, 159, 14, 113, 7851, 8947
+636, 718, 175, 13, 73, 8034, 9015
+637, 728, 161, 12, 111, 7773, 8788
+638, 850, 118, 11, 128, 7838, 8947
+639, 846, 107, 11, 93, 7764, 8822
+640, 848, 116, 11, 75, 7835, 8887
+641, 791, 112, 21, 71, 7873, 8869
+642, 804, 112, 9, 76, 7854, 8858
+643, 838, 115, 11, 82, 7769, 8817
+644, 1152, 100, 11, 52, 7610, 8927
+645, 846, 115, 11, 69, 7791, 8834
+646, 865, 112, 11, 68, 7898, 8955
+647, 1030, 6242, 1496, 366, 7685, 16821
+648, 1007, 107, 10, 53, 7542, 8720
+649, 948, 120, 11, 70, 7638, 8789
+650, 829, 115, 11, 200, 7815, 8972
+651, 788, 121, 11, 111, 7688, 8721
+652, 960, 112, 11, 69, 7780, 8933
diff --git a/master-frame-times.csv b/master-frame-times.csv
new file mode 100644
index 0000000000..1981e475c2
--- /dev/null
+++ b/master-frame-times.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Render, Total
+71, 1075, 0, 0, 128, 5351, 6556
+72, 794, 0, 0, 2432, 16750, 19977
+73, 1216, 0, 0, 4702, 24876, 30795
+74, 878, 0, 0, 2220, 16508, 19608
+75, 826, 0, 0, 2277, 16652, 19756
+76, 711, 0, 0, 2183, 15996, 18891
+77, 685, 0, 0, 2130, 15389, 18205
+78, 672, 0, 0, 1639, 12809, 15120
+79, 6190, 0, 0, 749, 7447, 14387
+80, 5844, 0, 0, 2805, 18891, 27541
+81, 3507, 0, 0, 2918, 19193, 25620
+82, 3415, 0, 0, 3272, 17973, 24661
+83, 10494, 0, 0, 2740, 16245, 29480
+84, 1084, 0, 0, 2787, 16444, 20316
+85, 2985, 0, 0, 2885, 21067, 26938
+86, 16429, 0, 0, 15417, 36645, 68492
+87, 6031, 0, 0, 12965, 30731, 49728
+88, 3551, 0, 0, 3119, 18044, 24715
+89, 9278, 0, 0, 3416, 14387, 27082
+90, 800, 0, 0, 1976, 14818, 17595
+91, 930, 0, 0, 1994, 15630, 18555
+92, 699, 0, 0, 2525, 15738, 18964
+93, 966, 0, 0, 8903, 14811, 24682
+94, 3475, 0, 0, 3457, 14049, 20981
+95, 843, 0, 0, 2441, 16934, 20219
+96, 714, 0, 0, 2020, 17056, 19791
+97, 630, 0, 0, 1336, 11903, 13869
+98, 1299, 0, 0, 2767, 15657, 19724
+99, 973, 0, 0, 1971, 14495, 17440
+100, 960, 0, 0, 1969, 14869, 17799
+101, 1138, 0, 0, 4241, 13737, 19117
+102, 878, 0, 0, 2154, 14016, 17049
+103, 853, 0, 0, 2958, 15108, 18920
+104, 1602, 0, 0, 3062, 13642, 18307
+105, 902, 0, 0, 2296, 15441, 18639
+106, 1103, 0, 0, 2415, 16732, 20251
+107, 1542, 0, 0, 2351, 14838, 18732
+108, 907, 0, 0, 1977, 15387, 18273
+109, 1874, 0, 0, 3219, 17812, 22906
+110, 1087, 0, 0, 11526, 26607, 39222
+111, 1730, 0, 0, 6493, 27614, 35838
+112, 1649, 0, 0, 8760, 23007, 33417
+113, 974, 0, 0, 4042, 19003, 24021
+114, 1142, 0, 0, 2974, 20630, 24747
+115, 918, 0, 0, 2964, 19245, 23128
+116, 947, 0, 0, 2761, 19500, 23209
+117, 1170, 0, 0, 2916, 20713, 24800
+118, 765, 0, 0, 5867, 19545, 26178
+119, 2576, 0, 0, 5456, 22746, 30779
+120, 1871, 0, 0, 3500, 18601, 23973
+121, 880, 0, 0, 3133, 19652, 23666
+122, 1018, 0, 0, 2987, 20576, 24581
+123, 1557, 0, 0, 4499, 20610, 26668
+124, 1655, 0, 0, 3692, 54947, 60295
+125, 1045, 0, 0, 3366, 20442, 24854
+126, 1206, 0, 0, 3513, 19051, 23771
+127, 784, 0, 0, 2989, 18416, 22190
+128, 1022, 0, 0, 2911, 20230, 24164
+129, 798, 0, 0, 4018, 23510, 28327
+130, 2444, 0, 0, 3548, 21303, 27296
+131, 1194, 0, 0, 6550, 23309, 31054
+132, 1078, 0, 0, 4542, 27373, 32994
+133, 6236, 0, 0, 4888, 28969, 40094
+134, 2062, 0, 0, 7341, 46953, 56357
+135, 2096, 0, 0, 3833, 54706, 60636
+136, 2150, 0, 0, 8353, 29658, 40161
+137, 4075, 0, 0, 14988, 23686, 42750
+138, 1654, 0, 0, 8190, 35815, 45660
+139, 2601, 0, 0, 10082, 26002, 38685
+140, 979, 0, 0, 3159, 24941, 29080
+141, 1074, 0, 0, 3222, 22385, 26682
+142, 934, 0, 0, 3953, 24563, 29450
+143, 1132, 0, 0, 16732, 25209, 43073
+144, 910, 0, 0, 7270, 24468, 32648
+145, 7851, 0, 0, 3443, 22447, 33742
+146, 964, 0, 0, 4005, 22199, 27169
+147, 1037, 0, 0, 2878, 22901, 26817
+148, 1015, 0, 0, 2956, 21726, 25698
+149, 1102, 0, 0, 2801, 21784, 25688
+150, 1144, 0, 0, 3322, 20973, 25440
+151, 898, 0, 0, 2907, 22165, 25971
+152, 953, 0, 0, 2858, 23410, 27222
+153, 1140, 0, 0, 3579, 22858, 27578
+154, 1156, 0, 0, 2353, 20130, 23641
+155, 832, 0, 0, 2900, 18572, 22305
+156, 1056, 0, 0, 2422, 18180, 21659
+157, 749, 0, 0, 2964, 17824, 21539
+158, 971, 0, 0, 2561, 17358, 20890
+159, 995, 0, 0, 2418, 17688, 21102
+160, 947, 0, 0, 2538, 16674, 20160
+161, 927, 0, 0, 2383, 17078, 20389
+162, 950, 0, 0, 2408, 17151, 20510
+163, 1039, 0, 0, 2558, 17335, 20933
+164, 991, 0, 0, 2489, 17339, 20820
+165, 889, 0, 0, 2370, 21410, 24670
+166, 840, 0, 0, 2384, 18469, 21693
+167, 936, 0, 0, 2237, 17843, 21018
+168, 1037, 0, 0, 2387, 16415, 19841
+169, 851, 0, 0, 2354, 17772, 20977
+170, 3562, 0, 0, 3610, 17992, 25166
+171, 6088, 0, 0, 2781, 16169, 25039
+172, 5472, 0, 0, 2203, 17029, 24705
+173, 4176, 0, 0, 3201, 16545, 23924
+174, 1059, 0, 0, 2387, 17628, 21075
+175, 958, 0, 0, 2409, 17484, 20852
+176, 944, 0, 0, 2699, 16075, 19719
+177, 703, 0, 0, 1658, 13605, 15966
+178, 708, 0, 0, 1839, 14908, 17457
+179, 729, 0, 0, 2274, 31315, 34319
+180, 1261, 0, 0, 4648, 16699, 22610
+181, 982, 0, 0, 3459, 19002, 23444
+182, 1250, 0, 0, 6503, 18020, 25773
+183, 1618, 0, 0, 11683, 22691, 35992
+184, 914, 0, 0, 2749, 24036, 27701
+185, 4152, 0, 0, 2948, 18639, 25740
+186, 1927, 0, 0, 6265, 19226, 27419
+187, 1202, 0, 0, 2858, 17119, 21179
+188, 1043, 0, 0, 2384, 17846, 21274
+189, 1197, 0, 0, 2315, 18429, 21942
+190, 931, 0, 0, 2260, 17978, 21170
+191, 1118, 0, 0, 2332, 18171, 21622
+192, 957, 0, 0, 2294, 17482, 20734
+193, 1076, 0, 0, 2722, 17145, 20944
+194, 853, 0, 0, 2358, 18560, 21772
+195, 920, 0, 0, 2491, 17883, 21296
+196, 857, 0, 0, 2295, 17505, 20658
+197, 988, 0, 0, 2375, 18398, 21761
+198, 872, 0, 0, 2531, 17705, 21109
+199, 936, 0, 0, 6399, 16116, 23451
+200, 3943, 0, 0, 3604, 16456, 24004
+201, 4115, 0, 0, 3944, 16615, 24674
+202, 4444, 0, 0, 5458, 18576, 28480
+203, 4766, 0, 0, 2959, 16347, 24074
+204, 4075, 0, 0, 3181, 18032, 25289
+205, 1364, 0, 0, 7383, 17164, 25912
+206, 966, 0, 0, 6364, 22786, 30117
+207, 3260, 0, 0, 5145, 20366, 28772
+208, 4843, 0, 0, 6102, 24293, 35239
+209, 1408, 0, 0, 2471, 17768, 21647
+210, 784, 0, 0, 3707, 16945, 21436
+211, 905, 0, 0, 2374, 17360, 20640
+212, 4207, 0, 0, 3677, 28447, 36332
+213, 5945, 0, 0, 3142, 19672, 28759
+214, 1386, 0, 0, 23779, 23149, 48315
+215, 1525, 0, 0, 9802, 23460, 34788
+216, 1115, 0, 0, 5007, 20231, 26354
+217, 907, 0, 0, 5171, 22223, 28302
+218, 1047, 0, 0, 5419, 19652, 26119
+219, 1594, 0, 0, 3575, 25161, 30331
+220, 986, 0, 0, 4574, 19685, 25246
+221, 954, 0, 0, 3081, 19403, 23438
+222, 1402, 0, 0, 3178, 20647, 25227
+223, 1177, 0, 0, 4131, 21165, 26474
+224, 1029, 0, 0, 2984, 30299, 34313
+225, 931, 0, 0, 3048, 23352, 27332
+226, 1191, 0, 0, 4305, 19823, 25320
+227, 1011, 0, 0, 3522, 21496, 26030
+228, 1131, 0, 0, 4670, 30025, 35827
+229, 16182, 0, 0, 4071, 24475, 44729
+230, 5521, 0, 0, 9827, 21871, 37219
+231, 949, 0, 0, 8628, 19693, 29271
+232, 9193, 0, 0, 13681, 32930, 55805
+233, 1541, 0, 0, 7607, 21550, 30699
+234, 993, 0, 0, 3589, 24789, 29372
+235, 13748, 0, 0, 4525, 21300, 39575
+236, 992, 0, 0, 2960, 20039, 23992
+237, 1068, 0, 0, 2546, 19516, 23130
+238, 856, 0, 0, 3342, 17203, 21402
+239, 990, 0, 0, 2713, 17179, 20884
+240, 3454, 0, 0, 6056, 17574, 27084
+241, 1118, 0, 0, 2803, 17187, 21110
+242, 1442, 0, 0, 3072, 22303, 26817
+243, 1443, 0, 0, 19809, 20643, 41896
+244, 1293, 0, 0, 3164, 15666, 20123
+245, 3199, 0, 0, 4749, 18968, 26917
+246, 1347, 0, 0, 2216, 26068, 29632
+247, 2535, 0, 0, 38601, 22714, 63852
+248, 1133, 0, 0, 1782, 11333, 14249
+249, 681, 0, 0, 1041, 8902, 10625
+250, 693, 0, 0, 4277, 11630, 16601
+251, 648, 0, 0, 1800, 12236, 14685
+252, 618, 0, 0, 1824, 11304, 13747
+253, 575, 0, 0, 1834, 11805, 14215
+254, 668, 0, 0, 5738, 20783, 27189
+255, 1373, 0, 0, 1797, 21518, 24689
+256, 1168, 0, 0, 599, 6032, 7800
+257, 1519, 0, 0, 759, 10494, 12773
+258, 1141, 0, 0, 1534, 15605, 18281
+259, 1159, 0, 0, 3412, 14598, 19171
+260, 1108, 0, 0, 2795, 14111, 18015
+261, 792, 0, 0, 2400, 14406, 17598
+262, 4887, 0, 0, 2691, 20875, 28454
+263, 4179, 0, 0, 3948, 13690, 21818
+264, 3455, 0, 0, 4029, 13632, 21117
+265, 854, 0, 0, 5191, 14991, 21037
+266, 872, 0, 0, 5067, 16126, 22066
+267, 4161, 0, 0, 2650, 13990, 20802
+268, 3406, 0, 0, 3588, 16078, 23073
+269, 806, 0, 0, 5883, 14895, 21585
+270, 917, 0, 0, 5380, 14083, 20381
+271, 1444, 0, 0, 3365, 13816, 18626
+272, 808, 0, 0, 2517, 13942, 17268
+273, 905, 0, 0, 2158, 15061, 18125
+274, 998, 0, 0, 2260, 14559, 17818
+275, 869, 0, 0, 2388, 15678, 18936
+276, 2049, 0, 0, 2709, 16984, 21742
+277, 849, 0, 0, 2341, 14672, 17862
+278, 991, 0, 0, 2601, 20077, 23670
+279, 1178, 0, 0, 2527, 15757, 19464
+280, 1084, 0, 0, 2806, 15446, 19337
+281, 1587, 0, 0, 2664, 15584, 19836
+282, 1799, 0, 0, 3443, 14242, 19486
+283, 6066, 0, 0, 2438, 14621, 23127
+284, 2671, 0, 0, 4548, 18739, 25959
+285, 779, 0, 0, 4953, 14819, 20552
+286, 812, 0, 0, 5522, 22929, 29264
+287, 866, 0, 0, 2421, 13753, 17041
+288, 1103, 0, 0, 3868, 15017, 19989
+289, 878, 0, 0, 2503, 15576, 18958
+290, 1061, 0, 0, 3130, 14016, 18207
+291, 845, 0, 0, 2387, 14304, 17537
+292, 969, 0, 0, 2457, 14780, 18208
+293, 1432, 0, 0, 2847, 14000, 18280
+294, 1075, 0, 0, 2431, 15250, 18757
+295, 984, 0, 0, 2317, 15222, 18523
+296, 1627, 0, 0, 2582, 16141, 20351
+297, 898, 0, 0, 2301, 16097, 19297
+298, 863, 0, 0, 2670, 16075, 19609
+299, 887, 0, 0, 2455, 15195, 18538
+300, 954, 0, 0, 2411, 14700, 18066
+301, 990, 0, 0, 2448, 15669, 19109
+302, 1753, 0, 0, 3150, 19556, 24459
+303, 2498, 0, 0, 2597, 16015, 21111
+304, 913, 0, 0, 3306, 15720, 19940
+305, 836, 0, 0, 2736, 15197, 18769
+306, 858, 0, 0, 2491, 16429, 19779
+307, 810, 0, 0, 2849, 15824, 19483
+308, 978, 0, 0, 2600, 16242, 19821
+309, 1028, 0, 0, 2686, 16701, 20415
+310, 744, 0, 0, 2593, 17209, 20547
+311, 899, 0, 0, 2687, 17269, 20857
+312, 3306, 0, 0, 3597, 22044, 28948
+313, 974, 0, 0, 5419, 17740, 24133
+314, 1185, 0, 0, 5534, 21699, 28419
+315, 919, 0, 0, 2814, 16504, 20239
+316, 1122, 0, 0, 2620, 16251, 19994
+317, 999, 0, 0, 3187, 21325, 25512
+318, 3670, 0, 0, 3839, 15737, 23247
+319, 970, 0, 0, 3071, 14945, 18986
+320, 851, 0, 0, 2592, 16193, 19636
+321, 856, 0, 0, 2559, 16283, 19699
+322, 832, 0, 0, 3486, 15984, 20303
+323, 1319, 0, 0, 2978, 15565, 19863
+324, 799, 0, 0, 2549, 20484, 23833
+325, 941, 0, 0, 2693, 26439, 30075
+326, 1446, 0, 0, 3131, 16549, 21126
+327, 817, 0, 0, 1652, 12752, 15221
+328, 918, 0, 0, 2796, 15717, 19432
+329, 1135, 0, 0, 3171, 15941, 20249
+330, 969, 0, 0, 6525, 20650, 28145
+331, 1022, 0, 0, 4752, 22462, 28237
+332, 898, 0, 0, 3914, 23610, 28423
+333, 997, 0, 0, 3913, 24049, 28959
+334, 957, 0, 0, 3804, 24412, 29174
+335, 919, 0, 0, 3934, 23553, 28407
+336, 791, 0, 0, 3804, 25104, 29699
+337, 1096, 0, 0, 3887, 23538, 28522
+338, 918, 0, 0, 3952, 24553, 29423
+339, 1084, 0, 0, 4395, 23900, 29380
+340, 911, 0, 0, 4066, 24533, 29511
+341, 900, 0, 0, 10379, 23463, 34744
+342, 1128, 0, 0, 5320, 29741, 36190
+343, 971, 0, 0, 6567, 23345, 30884
+344, 1951, 0, 0, 5381, 24877, 32210
+345, 976, 0, 0, 4552, 23404, 28933
+346, 1205, 0, 0, 3710, 24038, 28955
+347, 1009, 0, 0, 4169, 25227, 30405
+348, 1050, 0, 0, 3651, 23034, 27736
+349, 990, 0, 0, 4334, 23896, 29221
+350, 877, 0, 0, 1057, 12607, 14542
+351, 2651, 0, 0, 3364, 18294, 24309
+352, 976, 0, 0, 9721, 26155, 36853
+353, 1610, 0, 0, 4632, 25741, 31983
+354, 966, 0, 0, 3958, 24998, 29923
+355, 947, 0, 0, 3917, 25068, 29933
+356, 1041, 0, 0, 4312, 23893, 29247
+357, 893, 0, 0, 4429, 22701, 28024
+358, 982, 0, 0, 4185, 23126, 28295
+359, 985, 0, 0, 4350, 20400, 25737
+360, 1079, 0, 0, 3686, 19908, 24674
+361, 1029, 0, 0, 3216, 19905, 24151
+362, 970, 0, 0, 3349, 19733, 24053
+363, 898, 0, 0, 3344, 20883, 25126
+364, 1070, 0, 0, 3776, 19287, 24133
+365, 1132, 0, 0, 3470, 22217, 26820
+366, 717, 0, 0, 2370, 18540, 21628
+367, 1301, 0, 0, 3794, 22942, 28037
+368, 987, 0, 0, 4352, 19995, 25336
+369, 1378, 0, 0, 3724, 20254, 25357
+370, 846, 0, 0, 4142, 19740, 24729
+371, 1112, 0, 0, 4135, 24105, 29353
+372, 1825, 0, 0, 4065, 20248, 26138
+373, 1574, 0, 0, 3894, 20122, 25590
+374, 1259, 0, 0, 3286, 21155, 25701
+375, 951, 0, 0, 3739, 19579, 24270
+376, 970, 0, 0, 3432, 20466, 24869
+377, 2215, 0, 0, 3686, 19259, 25161
+378, 1510, 0, 0, 4378, 21095, 26984
+379, 1240, 0, 0, 3944, 20392, 25576
+380, 1047, 0, 0, 3757, 25396, 30201
+381, 1290, 0, 0, 5112, 17639, 24041
+382, 1155, 0, 0, 4448, 22499, 28103
+383, 1680, 0, 0, 4255, 22233, 28169
+384, 1381, 0, 0, 3778, 20806, 25966
+385, 904, 0, 0, 3700, 21061, 25666
+386, 987, 0, 0, 3748, 20479, 25215
+387, 1021, 0, 0, 4011, 21772, 26805
+388, 1135, 0, 0, 3452, 18128, 22715
+389, 1052, 0, 0, 3555, 18111, 22718
+390, 854, 0, 0, 3015, 18856, 22726
+391, 832, 0, 0, 2249, 15036, 18118
+392, 824, 0, 0, 2462, 14409, 17695
+393, 906, 0, 0, 3316, 17378, 21601
+394, 1263, 0, 0, 3596, 17492, 22353
+395, 930, 0, 0, 3040, 19029, 23000
+396, 2396, 0, 0, 2438, 14969, 19805
+397, 1023, 0, 0, 2617, 15264, 18905
+398, 868, 0, 0, 3473, 17199, 21541
+399, 834, 0, 0, 3680, 17045, 21560
+400, 919, 0, 0, 3458, 18765, 23143
+401, 858, 0, 0, 3723, 17793, 22376
+402, 969, 0, 0, 3463, 17567, 21999
+403, 1622, 0, 0, 3689, 18219, 23531
+404, 878, 0, 0, 3234, 16162, 20275
+405, 884, 0, 0, 2281, 14908, 18075
+406, 811, 0, 0, 3318, 18297, 22427
+407, 763, 0, 0, 2385, 15864, 19013
+408, 939, 0, 0, 1098, 9780, 11818
+409, 2017, 0, 0, 104, 6043, 8165
+410, 1696, 0, 0, 130, 6016, 7844
+411, 910, 0, 0, 127, 5631, 6668
+412, 1154, 0, 0, 129, 5687, 6970
+413, 1187, 0, 0, 162, 6272, 7622
+414, 1031, 0, 0, 312, 5875, 7219
+415, 1199, 0, 0, 162, 7159, 8521
+416, 918, 0, 0, 137, 6686, 7742
+417, 871, 0, 0, 183, 7271, 8326
+418, 1479, 0, 0, 115, 5665, 7261
+419, 783, 0, 0, 133, 6216, 7133
+420, 827, 0, 0, 93, 5852, 6773
+421, 985, 0, 0, 179, 7194, 8359
+422, 893, 0, 0, 130, 5939, 6963
+423, 1218, 0, 0, 101, 5236, 6555
+424, 613, 0, 0, 76, 5669, 6359
+425, 840, 0, 0, 94, 5549, 6484
+426, 864, 0, 0, 163, 6277, 7304
+427, 891, 0, 0, 171, 7588, 8651
+428, 854, 0, 0, 118, 6161, 7134
+429, 863, 0, 0, 148, 5987, 6999
+430, 928, 0, 0, 150, 7227, 8306
+431, 1044, 0, 0, 158, 5925, 7129
+432, 1321, 0, 0, 157, 6674, 8153
+433, 1375, 0, 0, 103, 5397, 6876
+434, 1043, 0, 0, 140, 6571, 7756
+435, 935, 0, 0, 184, 6116, 7236
+436, 786, 0, 0, 174, 7267, 8228
+437, 1078, 0, 0, 157, 6183, 7419
+438, 886, 0, 0, 361, 5952, 7200
+439, 1063, 0, 0, 135, 6408, 7607
+440, 1594, 0, 0, 517, 5412, 7524
+441, 869, 0, 0, 139, 5804, 6812
+442, 908, 0, 0, 158, 7009, 8075
+443, 1124, 0, 0, 194, 5725, 7044
+444, 1012, 0, 0, 280, 5865, 7158
+445, 1341, 0, 0, 522, 5530, 7393
+446, 862, 0, 0, 378, 6063, 7304
+447, 892, 0, 0, 142, 5927, 6963
+448, 977, 0, 0, 164, 6501, 7642
+449, 889, 0, 0, 164, 5984, 7038
+450, 4326, 0, 0, 131, 4991, 9449
+451, 892, 0, 0, 153, 5592, 6638
+452, 923, 0, 0, 124, 6161, 7209
+453, 897, 0, 0, 149, 5670, 6718
+454, 1177, 0, 0, 186, 7834, 9198
+455, 976, 0, 0, 139, 6288, 7403
+456, 1029, 0, 0, 156, 6281, 7467
+457, 879, 0, 0, 112, 6104, 7096
+458, 944, 0, 0, 133, 6141, 7219
+459, 659, 0, 0, 180, 5913, 6754
+460, 892, 0, 0, 173, 6581, 7646
+461, 951, 0, 0, 150, 6305, 7407
+462, 926, 0, 0, 141, 6017, 7086
+463, 1142, 0, 0, 113, 6072, 7329
+464, 990, 0, 0, 169, 5875, 7035
+465, 1263, 0, 0, 105, 5622, 6991
+466, 815, 0, 0, 131, 5763, 6709
+467, 791, 0, 0, 132, 6174, 7097
+468, 898, 0, 0, 135, 5870, 6903
+469, 786, 0, 0, 133, 6537, 7457
+470, 1006, 0, 0, 140, 5865, 7012
+471, 652, 0, 0, 301, 6054, 7008
+472, 888, 0, 0, 139, 6367, 7395
+473, 1004, 0, 0, 141, 6745, 7891
+474, 1189, 0, 0, 98, 5228, 6515
+475, 764, 0, 0, 121, 5978, 6863
+476, 1211, 0, 0, 110, 5548, 6870
+477, 636, 0, 0, 135, 5799, 6571
+478, 952, 0, 0, 209, 6194, 7356
+479, 745, 0, 0, 170, 6092, 7008
+480, 872, 0, 0, 138, 5543, 6554
+481, 811, 0, 0, 128, 6055, 6996
+482, 767, 0, 0, 123, 5703, 6595
+483, 721, 0, 0, 132, 5916, 6770
+484, 624, 0, 0, 78, 5395, 6098
+485, 749, 0, 0, 103, 5612, 6465
+486, 863, 0, 0, 136, 6191, 7192
+487, 972, 0, 0, 158, 6460, 7591
+488, 792, 0, 0, 127, 6486, 7406
+489, 1128, 0, 0, 106, 5529, 6764
+490, 1030, 0, 0, 108, 5478, 6617
+491, 888, 0, 0, 143, 6286, 7318
+492, 1075, 0, 0, 146, 6002, 7223
+493, 821, 0, 0, 132, 6287, 7242
+494, 851, 0, 0, 159, 6018, 7030
+495, 843, 0, 0, 130, 5932, 6905
+496, 944, 0, 0, 145, 6407, 7497
+497, 850, 0, 0, 171, 6328, 7350
+498, 768, 0, 0, 104, 5852, 6726
+499, 795, 0, 0, 99, 6270, 7165
+500, 918, 0, 0, 126, 6370, 7415
+501, 844, 0, 0, 93, 5586, 6524
+502, 1241, 0, 0, 123, 5844, 7209
+503, 866, 0, 0, 203, 5835, 6905
+504, 841, 0, 0, 126, 5928, 6896
+505, 803, 0, 0, 102, 6377, 7283
+506, 961, 0, 0, 135, 6490, 7587
+507, 639, 0, 0, 88, 5704, 6432
+508, 1223, 0, 0, 179, 6125, 7529
+509, 795, 0, 0, 98, 6375, 7268
+510, 797, 0, 0, 127, 5919, 6844
+511, 1070, 0, 0, 152, 8112, 9335
+512, 903, 0, 0, 155, 6331, 7390
+513, 812, 0, 0, 141, 5959, 6913
+514, 930, 0, 0, 179, 6419, 7529
+515, 628, 0, 0, 82, 5020, 5732
+516, 730, 0, 0, 130, 5875, 6737
+517, 949, 0, 0, 139, 6565, 7654
+518, 1049, 0, 0, 175, 5960, 7185
+519, 1259, 0, 0, 103, 5180, 6543
+520, 1286, 0, 0, 103, 5040, 6430
+521, 860, 0, 0, 132, 6139, 7132
+522, 1159, 0, 0, 155, 5968, 7283
+523, 897, 0, 0, 181, 6586, 7665
+524, 919, 0, 0, 189, 6674, 7783
+525, 1370, 0, 0, 115, 5488, 6973
+526, 773, 0, 0, 169, 6082, 7025
+527, 875, 0, 0, 133, 6045, 7055
+528, 1149, 0, 0, 117, 5630, 6896
+529, 983, 0, 0, 144, 6654, 7782
+530, 667, 0, 0, 120, 6339, 7127
+531, 797, 0, 0, 139, 6001, 6939
+532, 874, 0, 0, 97, 5424, 6396
+533, 833, 0, 0, 184, 6013, 7031
+534, 849, 0, 0, 147, 6242, 7239
+535, 778, 0, 0, 192, 6298, 7269
+536, 891, 0, 0, 137, 5744, 6773
+537, 1243, 0, 0, 113, 5306, 6663
+538, 1311, 0, 0, 104, 5150, 6566
+539, 742, 0, 0, 217, 5477, 6436
+540, 837, 0, 0, 151, 6065, 7053
+541, 1110, 0, 0, 111, 6219, 7441
+542, 671, 0, 0, 305, 5502, 6479
+543, 657, 0, 0, 114, 5682, 6454
+544, 634, 0, 0, 132, 5235, 6002
+545, 813, 0, 0, 127, 6505, 7446
+546, 796, 0, 0, 132, 5840, 6769
+547, 1466, 0, 0, 106, 5161, 6734
+548, 802, 0, 0, 97, 6010, 6909
+549, 1150, 0, 0, 154, 6721, 8026
+550, 918, 0, 0, 196, 6279, 7393
+551, 1218, 0, 0, 172, 5571, 6962
+552, 906, 0, 0, 164, 6017, 7087
+553, 636, 0, 0, 86, 5183, 5906
+554, 902, 0, 0, 171, 5655, 6730
+555, 892, 0, 0, 125, 5425, 6443
+556, 923, 0, 0, 175, 6012, 7111
+557, 781, 0, 0, 129, 5928, 6839
+558, 824, 0, 0, 123, 5538, 6485
+559, 756, 0, 0, 123, 5510, 6390
+560, 801, 0, 0, 164, 5583, 6550
+561, 836, 0, 0, 157, 5576, 6570
+562, 1326, 0, 0, 106, 6090, 7524
+563, 1135, 0, 0, 149, 5558, 6844
+564, 803, 0, 0, 153, 5825, 6782
+565, 824, 0, 0, 200, 5937, 6962
+566, 1336, 0, 0, 120, 5428, 6885
+567, 818, 0, 0, 119, 6100, 7038
+568, 1007, 0, 0, 212, 6236, 7456
+569, 1012, 0, 0, 151, 6277, 7441
+570, 894, 0, 0, 135, 5954, 6984
+571, 997, 0, 0, 149, 6636, 7782
+572, 999, 0, 0, 273, 6248, 7522
+573, 980, 0, 0, 161, 6113, 7256
+574, 903, 0, 0, 188, 6331, 7423
+575, 1348, 0, 0, 170, 6169, 7688
+576, 1015, 0, 0, 212, 6111, 7339
+577, 1147, 0, 0, 174, 7457, 8779
+578, 976, 0, 0, 240, 6403, 7619
+579, 1071, 0, 0, 298, 5739, 7108
+580, 1181, 0, 0, 156, 6237, 7574
+581, 822, 0, 0, 129, 5906, 6858
+582, 949, 0, 0, 180, 5908, 7038
+583, 1115, 0, 0, 159, 7446, 8721
+584, 822, 0, 0, 136, 6141, 7100
+585, 928, 0, 0, 164, 5815, 6908
+586, 846, 0, 0, 126, 6039, 7011
+587, 954, 0, 0, 178, 6175, 7309
+588, 757, 0, 0, 153, 5781, 6693
+589, 1498, 0, 0, 183, 7426, 9108
+590, 975, 0, 0, 144, 6284, 7404
+591, 898, 0, 0, 137, 5941, 6976
+592, 1220, 0, 0, 116, 5942, 7278
+593, 837, 0, 0, 134, 5672, 6644
+594, 904, 0, 0, 140, 5811, 6856
+595, 1108, 0, 0, 177, 7680, 8966
+596, 898, 0, 0, 141, 6355, 7395
+597, 850, 0, 0, 178, 5806, 6835
+598, 1299, 0, 0, 99, 5071, 6470
+599, 707, 0, 0, 119, 6100, 6927
+600, 803, 0, 0, 159, 5684, 6647
+601, 902, 0, 0, 148, 7771, 8822
+602, 819, 0, 0, 175, 6407, 7401
+603, 864, 0, 0, 126, 5817, 6808
+604, 653, 0, 0, 130, 5496, 6279
+605, 975, 0, 0, 282, 5196, 6454
+606, 902, 0, 0, 161, 5675, 6739
+607, 1246, 0, 0, 104, 5276, 6627
+608, 849, 0, 0, 132, 6392, 7373
+609, 829, 0, 0, 164, 5765, 6759
+610, 947, 0, 0, 144, 6609, 7700
+611, 872, 0, 0, 197, 5657, 6727
+612, 914, 0, 0, 143, 6081, 7139
+613, 1304, 0, 0, 107, 5689, 7101
+614, 958, 0, 0, 152, 5825, 6936
+615, 994, 0, 0, 164, 5982, 7141
+616, 971, 0, 0, 165, 6163, 7300
+617, 918, 0, 0, 135, 6311, 7365
+618, 1206, 0, 0, 120, 5719, 7046
+619, 1288, 0, 0, 106, 5469, 6864
+620, 987, 0, 0, 141, 6017, 7145
+621, 896, 0, 0, 131, 5645, 6673
+622, 1122, 0, 0, 158, 7607, 8887
+623, 958, 0, 0, 148, 6153, 7260
+624, 937, 0, 0, 146, 5979, 7063
+625, 920, 0, 0, 260, 5712, 6893
+626, 810, 0, 0, 127, 6109, 7047
+627, 929, 0, 0, 157, 5997, 7084
+628, 985, 0, 0, 152, 6185, 7323
+629, 2287, 0, 0, 994, 5592, 8874
+630, 832, 0, 0, 173, 5854, 6859
+631, 1330, 0, 0, 184, 7448, 8963
+632, 898, 0, 0, 148, 6174, 7221
+633, 950, 0, 0, 200, 6219, 7371
+634, 2404, 0, 0, 1494, 6671, 10569
+635, 2456, 0, 0, 1183, 5979, 9619
+636, 846, 0, 0, 179, 5684, 6710
+637, 1108, 0, 0, 163, 7654, 8926
+638, 860, 0, 0, 208, 6266, 7334
+639, 1233, 0, 0, 139, 5961, 7334
+640, 1090, 0, 0, 160, 7956, 9207
+641, 870, 0, 0, 178, 6692, 7740
+642, 763, 0, 0, 141, 5510, 6415
+643, 1152, 0, 0, 171, 7591, 8915
+644, 1379, 0, 0, 171, 5912, 7463
+645, 819, 0, 0, 328, 5397, 6544
+646, 1219, 0, 0, 160, 6460, 7840
+647, 664, 0, 0, 178, 5683, 6527
+648, 772, 0, 0, 117, 5536, 6426
+649, 1116, 0, 0, 198, 7395, 8709
+650, 867, 0, 0, 158, 6176, 7202
+651, 990, 0, 0, 142, 6935, 8068
+652, 982, 0, 0, 167, 6389, 7539
+653, 905, 0, 0, 138, 6180, 7224
+654, 961, 0, 0, 149, 6187, 7298
+655, 907, 0, 0, 138, 6043, 7089
+656, 1155, 0, 0, 145, 7673, 8975
+657, 1848, 0, 0, 201, 7553, 9602
+658, 1272, 0, 0, 202, 7914, 9390
+659, 1107, 0, 0, 157, 6598, 7863
+660, 878, 0, 0, 171, 6542, 7592
+661, 860, 0, 0, 154, 6124, 7138
+662, 1039, 0, 0, 167, 5959, 7166
+663, 745, 0, 0, 124, 5592, 6463
+664, 703, 0, 0, 116, 5311, 6132
+665, 855, 0, 0, 158, 5521, 6534
+666, 964, 0, 0, 150, 7134, 8249
+667, 2746, 0, 0, 1923, 7582, 12251
+668, 739, 0, 0, 379, 5626, 6745
+669, 1112, 0, 0, 238, 5606, 6957
diff --git a/master-reproject-times.csv b/master-reproject-times.csv
new file mode 100644
index 0000000000..96b3dc852e
--- /dev/null
+++ b/master-reproject-times.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Reproject, Symbol, Render, Total
+47, 1397, 0, 0, 108, 256, 1361, 2946, 6069
+48, 871, 0, 0, 2359, 253, 8307, 9009, 20800
+49, 753, 0, 0, 2328, 298, 6393, 9949, 19722
+50, 922, 0, 0, 2275, 256, 6697, 10370, 20521
+51, 714, 0, 0, 2160, 270, 11959, 11408, 26512
+52, 1139, 0, 0, 3135, 277, 8888, 13571, 27011
+53, 1158, 0, 0, 2831, 328, 8467, 13444, 26228
+54, 1180, 0, 0, 4713, 2189, 7015, 15347, 30445
+55, 5228, 0, 0, 4878, 270, 7516, 11747, 29640
+56, 5425, 0, 0, 6968, 238, 8966, 11094, 32692
+57, 849, 0, 0, 9912, 357, 9990, 9430, 30539
+58, 776, 0, 0, 2228, 239, 6390, 9982, 19616
+59, 969, 0, 0, 2212, 240, 7677, 8460, 19560
+60, 707, 0, 0, 2279, 218, 5992, 13860, 23057
+61, 770, 0, 0, 2217, 249, 6474, 9241, 18952
+62, 937, 0, 0, 2185, 312, 5807, 10246, 19488
+63, 715, 0, 0, 2157, 214, 7114, 8191, 18392
+64, 865, 0, 0, 2169, 253, 5995, 8886, 18169
+65, 961, 0, 0, 2144, 214, 5483, 10303, 19106
+66, 787, 0, 0, 2041, 211, 7010, 8589, 18639
+67, 796, 0, 0, 2292, 388, 5513, 9191, 18181
+68, 964, 0, 0, 2095, 200, 6508, 12250, 22018
+69, 1124, 0, 0, 4457, 188, 5809, 15483, 27062
+70, 941, 0, 0, 3351, 280, 7306, 18747, 30626
+71, 1083, 0, 0, 2573, 197, 5351, 17786, 26991
+72, 1477, 0, 0, 4045, 234, 6153, 11071, 22981
+73, 1014, 0, 0, 2059, 338, 9765, 9201, 22378
+74, 1044, 0, 0, 2018, 185, 10800, 8153, 22201
+75, 3545, 0, 0, 3017, 696, 10594, 9236, 27089
+76, 3368, 0, 0, 2802, 203, 6135, 11367, 23877
+77, 3600, 0, 0, 2910, 254, 11388, 9794, 27947
+78, 1351, 0, 0, 12744, 170, 5336, 10275, 29877
+79, 1075, 0, 0, 4876, 178, 5010, 11026, 22165
+80, 1003, 0, 0, 3052, 181, 7885, 8664, 20785
+81, 1158, 0, 0, 6361, 212, 5805, 12883, 26419
+82, 3769, 0, 0, 10654, 176, 9912, 8570, 33081
+83, 2703, 0, 0, 5564, 257, 9537, 18172, 36234
+84, 798, 0, 0, 3538, 234, 8019, 15444, 28033
+85, 1065, 0, 0, 2970, 273, 8548, 14757, 27614
+86, 768, 0, 0, 2871, 400, 9699, 13058, 26797
+87, 1171, 0, 0, 3199, 223, 10498, 16243, 31335
+88, 1576, 0, 0, 5856, 210, 7882, 14041, 29566
+89, 907, 0, 0, 151, 282, 4068, 5370, 10779
+90, 1376, 0, 0, 162, 214, 1717, 3768, 7238
+91, 1114, 0, 0, 1310, 233, 6458, 6639, 15755
+92, 919, 0, 0, 158, 294, 1734, 3851, 6958
+93, 1095, 0, 0, 377, 216, 2110, 3813, 7613
+94, 2610, 0, 0, 11396, 2008, 8692, 14548, 39254
+95, 1854, 0, 0, 17147, 279, 15030, 20273, 54584
+96, 1175, 0, 0, 5648, 261, 10972, 14300, 32358
+97, 1079, 0, 0, 3453, 244, 12093, 16163, 33033
+98, 1084, 0, 0, 3620, 283, 11828, 17437, 34253
+99, 1106, 0, 0, 6257, 235, 12098, 17523, 37220
+100, 1263, 0, 0, 4758, 234, 8899, 19165, 34320
+101, 948, 0, 0, 7212, 255, 11305, 17690, 37410
+102, 2247, 0, 0, 3853, 271, 12329, 17505, 36206
+103, 1253, 0, 0, 4298, 269, 11926, 18170, 35917
+104, 2184, 0, 0, 4080, 240, 10236, 17761, 34502
+105, 1363, 0, 0, 4446, 254, 12619, 20494, 39177
+106, 1465, 0, 0, 6564, 375, 14842, 16460, 39707
+107, 2173, 0, 0, 10250, 235, 12315, 14417, 39392
+108, 974, 0, 0, 3101, 288, 9330, 14211, 27905
+109, 1301, 0, 0, 3154, 473, 11687, 13508, 30124
+110, 1336, 0, 0, 3279, 245, 9922, 14508, 29290
+111, 1185, 0, 0, 3283, 245, 18319, 14173, 37206
+112, 5259, 0, 0, 4344, 344, 14572, 15934, 40453
+113, 5720, 0, 0, 4138, 234, 14574, 15376, 40044
+114, 1036, 0, 0, 3512, 352, 9514, 13023, 27437
+115, 813, 0, 0, 3173, 205, 10130, 12411, 26732
+116, 817, 0, 0, 3063, 204, 9173, 12907, 26165
+117, 837, 0, 0, 3059, 243, 9012, 13276, 26428
+118, 799, 0, 0, 2898, 238, 10233, 12845, 27014
+119, 956, 0, 0, 3255, 224, 10712, 12451, 27599
+120, 892, 0, 0, 3355, 213, 11999, 13181, 29642
+121, 1134, 0, 0, 2794, 572, 15193, 15025, 34719
+122, 1096, 0, 0, 6126, 221, 15345, 15283, 38071
+123, 1067, 0, 0, 9753, 252, 27673, 13987, 52733
+124, 6377, 0, 0, 4124, 438, 21052, 22369, 54361
+125, 7026, 0, 0, 6013, 431, 12327, 15075, 40873
+126, 5724, 0, 0, 3308, 210, 8289, 18812, 36344
+127, 9227, 0, 0, 3252, 220, 13165, 12787, 38653
+128, 5426, 0, 0, 6907, 218, 12799, 12159, 37510
+129, 987, 0, 0, 2483, 197, 10046, 11360, 25074
+130, 1176, 0, 0, 2923, 200, 9212, 10074, 23587
+131, 2823, 0, 0, 2841, 339, 7189, 12796, 25989
+132, 1052, 0, 0, 2328, 259, 8353, 13932, 25926
+133, 760, 0, 0, 9468, 279, 7453, 13604, 31564
+134, 3907, 0, 0, 5124, 214, 11567, 11711, 32524
+135, 1154, 0, 0, 5269, 316, 10206, 13608, 30554
+136, 1139, 0, 0, 6276, 337, 8465, 13363, 29581
+137, 863, 0, 0, 2868, 259, 6225, 11325, 21540
+138, 771, 0, 0, 2223, 250, 7413, 9158, 19815
+139, 736, 0, 0, 1558, 231, 3641, 6384, 12552
+140, 738, 0, 0, 2896, 240, 6532, 10157, 20564
+141, 863, 0, 0, 2559, 213, 6084, 13360, 23081
+142, 2609, 0, 0, 7543, 292, 10214, 11878, 32536
+143, 3757, 0, 0, 5676, 231, 9332, 12036, 31033
+144, 1078, 0, 0, 4958, 698, 9196, 15087, 31018
+145, 1164, 0, 0, 3699, 1607, 7906, 13903, 28281
+146, 1198, 0, 0, 5726, 268, 8090, 15545, 30828
+147, 1423, 0, 0, 4053, 254, 10076, 14658, 30464
+148, 1180, 0, 0, 5370, 216, 8728, 13827, 29322
+149, 6078, 0, 0, 4193, 458, 9681, 11396, 31807
+150, 4638, 0, 0, 3194, 264, 27748, 13505, 49349
+151, 13014, 0, 0, 5742, 357, 8439, 15074, 42628
+152, 5070, 0, 0, 5818, 289, 13265, 10616, 35060
+153, 1634, 0, 0, 6237, 303, 7520, 15488, 31183
+154, 4353, 0, 0, 7467, 290, 10985, 11632, 34727
+155, 1039, 0, 0, 4399, 212, 7349, 13415, 26415
+156, 960, 0, 0, 2923, 218, 6995, 14745, 25842
+157, 858, 0, 0, 3085, 298, 8064, 17330, 29637
+158, 4735, 0, 0, 5187, 239, 10215, 11075, 31452
+159, 6361, 0, 0, 3048, 254, 11306, 10668, 31638
+160, 4393, 0, 0, 2784, 228, 6911, 16665, 30982
+161, 4315, 0, 0, 5465, 312, 6635, 11525, 28253
+162, 1086, 0, 0, 2356, 257, 6500, 10718, 20918
+163, 795, 0, 0, 2387, 245, 6294, 11864, 21585
+164, 980, 0, 0, 2270, 405, 7181, 11563, 22400
+165, 886, 0, 0, 2419, 243, 6738, 10085, 20372
+166, 1220, 0, 0, 16900, 240, 7009, 18338, 43708
+167, 1173, 0, 0, 6506, 242, 10077, 11790, 29789
+168, 5030, 0, 0, 3356, 343, 9313, 10639, 28682
+169, 1672, 0, 0, 3099, 236, 8073, 11794, 24874
+170, 924, 0, 0, 6036, 231, 6295, 13938, 27425
+171, 1239, 0, 0, 5985, 230, 9520, 11222, 28197
+172, 3216, 0, 0, 4713, 226, 9545, 10313, 28015
+173, 4996, 0, 0, 2746, 226, 8750, 12390, 29109
+174, 2916, 0, 0, 5469, 270, 8560, 18069, 35285
+175, 1272, 0, 0, 8892, 303, 10743, 13615, 34826
+176, 3447, 0, 0, 5591, 326, 9142, 12148, 30656
+177, 894, 0, 0, 2950, 248, 7665, 12954, 24712
+178, 982, 0, 0, 2732, 283, 7746, 12086, 23830
+179, 1235, 0, 0, 2817, 256, 6870, 12398, 23577
+180, 1135, 0, 0, 2711, 264, 9632, 14026, 27769
+181, 2039, 0, 0, 3791, 269, 7961, 17040, 31101
+182, 1167, 0, 0, 6803, 290, 11135, 14871, 34268
+183, 1763, 0, 0, 4119, 269, 9949, 16624, 32725
+184, 977, 0, 0, 4948, 263, 7540, 14257, 27986
+185, 1021, 0, 0, 5255, 314, 10892, 12298, 29781
+186, 1837, 0, 0, 3318, 278, 21117, 16197, 42748
+187, 1247, 0, 0, 12672, 837, 21145, 27753, 63654
+188, 4947, 0, 0, 9725, 335, 11221, 17866, 44095
+189, 931, 0, 0, 3281, 254, 8311, 11958, 24736
+190, 920, 0, 0, 3059, 415, 9577, 12352, 26323
+191, 1071, 0, 0, 3771, 265, 9320, 12014, 26441
+192, 1221, 0, 0, 3332, 277, 9171, 25580, 39582
+193, 1331, 0, 0, 5637, 290, 8516, 17569, 33345
+194, 1113, 0, 0, 7184, 2074, 11682, 12631, 34684
+195, 2134, 0, 0, 3858, 274, 7410, 15616, 29293
+196, 858, 0, 0, 2473, 324, 7126, 10287, 21069
+197, 895, 0, 0, 2630, 285, 7431, 11572, 22814
+198, 1353, 0, 0, 4876, 267, 6437, 12441, 25375
+199, 1083, 0, 0, 3068, 290, 7494, 13525, 25460
+200, 927, 0, 0, 2678, 464, 8999, 10460, 23529
+201, 1063, 0, 0, 2881, 404, 7906, 9830, 22084
+202, 794, 0, 0, 2878, 286, 6867, 11774, 22600
+203, 805, 0, 0, 2347, 454, 5884, 9795, 19286
+204, 1085, 0, 0, 1785, 273, 6207, 8432, 17783
+205, 854, 0, 0, 2292, 342, 7598, 8950, 20036
+206, 910, 0, 0, 1903, 236, 4517, 11965, 19532
+207, 976, 0, 0, 1873, 236, 4933, 17694, 25714
+208, 1093, 0, 0, 1210, 239, 7170, 5405, 15118
+209, 806, 0, 0, 1934, 441, 8393, 7477, 19052
+210, 1002, 0, 0, 2131, 251, 7965, 7807, 19157
+211, 1236, 0, 0, 5782, 246, 4504, 12565, 24334
+212, 1003, 0, 0, 2194, 303, 8694, 7859, 20054
+213, 1783, 0, 0, 2209, 242, 4810, 14111, 23156
+214, 914, 0, 0, 4988, 238, 4466, 6688, 17294
+215, 741, 0, 0, 2208, 244, 7820, 7512, 18526
+216, 920, 0, 0, 1870, 245, 4437, 9190, 16663
+217, 2813, 0, 0, 2493, 244, 6258, 13382, 25191
+218, 16304, 0, 0, 7708, 269, 5641, 13031, 42954
+219, 1409, 0, 0, 2201, 280, 4968, 17258, 26117
+220, 2088, 0, 0, 5463, 275, 4958, 11261, 24046
+221, 1058, 0, 0, 2208, 269, 8616, 7807, 19959
+222, 1476, 0, 0, 3305, 274, 5197, 9429, 19683
+223, 1016, 0, 0, 2245, 295, 5907, 12392, 21856
+224, 3914, 0, 0, 8089, 287, 4924, 11096, 28311
+225, 1152, 0, 0, 4850, 288, 4936, 9056, 20283
+226, 1662, 0, 0, 2576, 382, 14525, 13721, 32867
+227, 1035, 0, 0, 2166, 304, 4074, 10546, 18125
+228, 1610, 0, 0, 2556, 301, 7412, 10761, 22641
+229, 1221, 0, 0, 2800, 375, 6459, 9917, 20773
+230, 788, 0, 0, 1833, 318, 4864, 9485, 17288
+231, 1567, 0, 0, 2724, 303, 5041, 10040, 19676
+232, 1141, 0, 0, 2399, 309, 7117, 12618, 23585
+233, 949, 0, 0, 2697, 642, 9000, 9547, 22836
+234, 957, 0, 0, 2741, 293, 6946, 7712, 18650
+235, 1047, 0, 0, 2612, 294, 5943, 12997, 22894
+236, 1056, 0, 0, 3405, 296, 7911, 9414, 22083
+237, 880, 0, 0, 4646, 309, 6030, 11676, 23543
+238, 1497, 0, 0, 632, 541, 2976, 4240, 9887
+239, 925, 0, 0, 1589, 306, 5424, 8420, 16665
+240, 1113, 0, 0, 2987, 302, 6517, 9873, 20792
+241, 1128, 0, 0, 2730, 303, 5763, 10141, 20066
+242, 995, 0, 0, 2410, 315, 6545, 9165, 19431
+243, 1804, 0, 0, 2967, 298, 6808, 8948, 20826
+244, 846, 0, 0, 1538, 424, 4926, 6973, 14708
+245, 813, 0, 0, 2225, 322, 5529, 9146, 18036
+246, 1204, 0, 0, 5344, 290, 5813, 8818, 21471
+247, 1100, 0, 0, 2763, 282, 5774, 8906, 18826
+248, 1070, 0, 0, 2836, 288, 6123, 8871, 19189
+249, 2090, 0, 0, 2681, 306, 6402, 8840, 20321
+250, 1094, 0, 0, 5204, 386, 6265, 8879, 21829
+251, 1229, 0, 0, 2497, 309, 5872, 8597, 18505
+252, 1274, 0, 0, 2614, 297, 6079, 9626, 19891
+253, 820, 0, 0, 2854, 294, 5933, 8306, 18209
+254, 1123, 0, 0, 2542, 295, 6090, 9728, 19778
+255, 785, 0, 0, 2438, 994, 6502, 8489, 19210
+256, 707, 0, 0, 93, 350, 1605, 3894, 6650
+257, 1232, 0, 0, 143, 287, 1296, 3946, 6905
+258, 1373, 0, 0, 1779, 304, 4758, 8015, 16230
+259, 894, 0, 0, 396, 302, 1665, 3213, 6471
+260, 1368, 0, 0, 1651, 282, 3216, 6161, 12679
+261, 1077, 0, 0, 828, 328, 1460, 3961, 7654
+262, 1094, 0, 0, 2230, 311, 5629, 9142, 18407
+263, 839, 0, 0, 665, 313, 5562, 5405, 12786
+264, 908, 0, 0, 2417, 284, 5930, 10723, 20264
+265, 931, 0, 0, 6412, 355, 8133, 9966, 25798
+266, 1255, 0, 0, 4262, 457, 7925, 18528, 32428
+267, 1085, 0, 0, 3898, 624, 8128, 12748, 26484
+268, 1249, 0, 0, 3381, 341, 12305, 14316, 31594
+269, 1459, 0, 0, 4456, 356, 7356, 13930, 27557
+270, 1193, 0, 0, 5816, 427, 13901, 11133, 32470
+271, 889, 0, 0, 3518, 370, 9074, 11634, 25486
+272, 2030, 0, 0, 3433, 377, 7294, 11019, 24153
+273, 1117, 0, 0, 3709, 434, 7315, 13066, 25642
+274, 1217, 0, 0, 3453, 459, 8613, 13107, 26850
+275, 1072, 0, 0, 4109, 372, 7533, 12734, 25820
+276, 1199, 0, 0, 3261, 562, 8360, 13474, 26857
+277, 1331, 0, 0, 3757, 455, 16087, 17270, 38901
+278, 1011, 0, 0, 1961, 415, 5781, 10071, 19239
+279, 851, 0, 0, 1960, 411, 6179, 7910, 17311
+280, 1039, 0, 0, 2054, 439, 5381, 8947, 17861
+281, 1927, 0, 0, 1877, 385, 5750, 8928, 18869
+282, 1119, 0, 0, 3616, 384, 8715, 12641, 26476
+283, 1150, 0, 0, 3128, 416, 9260, 11252, 25207
+284, 1211, 0, 0, 3776, 675, 8284, 11757, 25703
+285, 1559, 0, 0, 4160, 534, 10550, 13079, 29883
+286, 1654, 0, 0, 4193, 409, 9776, 16966, 32998
+287, 1037, 0, 0, 4798, 510, 10788, 14241, 31375
+288, 1181, 0, 0, 4213, 426, 10863, 13918, 30602
+289, 1201, 0, 0, 4131, 418, 9669, 14687, 30107
+290, 1032, 0, 0, 4047, 921, 11430, 14275, 31706
+291, 1257, 0, 0, 4135, 434, 9842, 14599, 30268
+292, 2615, 0, 0, 4029, 418, 11152, 15681, 33897
+293, 789, 0, 0, 4795, 447, 9836, 13722, 29590
+294, 1299, 0, 0, 4097, 428, 9548, 29506, 44880
+295, 1252, 0, 0, 4205, 426, 11483, 14726, 32093
+296, 1016, 0, 0, 4265, 416, 12896, 20084, 38677
+297, 1624, 0, 0, 5350, 615, 13974, 15284, 36848
+298, 1342, 0, 0, 4326, 729, 10118, 14582, 31098
+299, 1450, 0, 0, 4746, 521, 9993, 12719, 29430
+300, 1079, 0, 0, 3866, 424, 10614, 13016, 29001
+301, 1099, 0, 0, 4130, 748, 15766, 15204, 36948
+302, 10167, 0, 0, 4917, 548, 15843, 15684, 47160
+303, 1172, 0, 0, 4037, 468, 11071, 13577, 30326
+304, 1112, 0, 0, 4043, 490, 9409, 15383, 30438
+305, 1166, 0, 0, 3822, 489, 10032, 14866, 30376
+306, 1084, 0, 0, 4291, 478, 13568, 18662, 38084
+307, 1282, 0, 0, 10624, 587, 12736, 14308, 39538
+308, 1151, 0, 0, 4331, 500, 9755, 14878, 30616
+309, 1181, 0, 0, 10507, 490, 11178, 14038, 37395
+310, 1244, 0, 0, 4336, 571, 11067, 18588, 35806
+311, 1764, 0, 0, 4543, 467, 11224, 13920, 31919
+312, 2266, 0, 0, 3265, 564, 8985, 11155, 26236
+313, 1133, 0, 0, 4211, 569, 7856, 11210, 24980
+314, 1088, 0, 0, 3556, 493, 7646, 12609, 25393
+315, 1109, 0, 0, 3143, 764, 8154, 12081, 25253
+316, 1002, 0, 0, 3848, 504, 8119, 11073, 24547
+317, 1060, 0, 0, 3275, 718, 9146, 10756, 24956
+318, 1167, 0, 0, 3893, 518, 7917, 12605, 26100
+319, 1004, 0, 0, 3689, 576, 8249, 11995, 25514
+320, 1156, 0, 0, 3711, 532, 9120, 10973, 25493
+321, 1053, 0, 0, 3260, 545, 9127, 10893, 24879
+322, 1226, 0, 0, 3732, 613, 8621, 10564, 24757
+323, 1441, 0, 0, 3522, 560, 9946, 10611, 26080
+324, 1112, 0, 0, 4291, 609, 25717, 11320, 43049
+325, 9117, 0, 0, 4941, 615, 9875, 14760, 39310
+326, 9589, 0, 0, 5279, 743, 10507, 12601, 38720
+327, 1069, 0, 0, 3909, 620, 8720, 12090, 26408
+328, 802, 0, 0, 3482, 566, 8895, 10904, 24649
+329, 1065, 0, 0, 3701, 556, 8903, 10791, 25018
+330, 970, 0, 0, 2731, 565, 6883, 11213, 22363
+331, 961, 0, 0, 3949, 557, 8350, 14415, 28232
+332, 960, 0, 0, 3253, 565, 14387, 12240, 31406
+333, 2161, 0, 0, 10533, 745, 9924, 14732, 38095
+334, 1163, 0, 0, 3844, 726, 9327, 12218, 27279
+335, 1103, 0, 0, 3480, 566, 7055, 10823, 23028
+336, 1045, 0, 0, 3353, 744, 7290, 9722, 22156
+337, 871, 0, 0, 2190, 581, 5734, 9386, 18763
+338, 720, 0, 0, 7447, 570, 7188, 11872, 27798
+339, 1055, 0, 0, 4049, 558, 7239, 11850, 24752
+340, 884, 0, 0, 2735, 574, 6464, 9682, 20339
+341, 1246, 0, 0, 3374, 646, 7673, 12029, 24969
+342, 935, 0, 0, 3269, 602, 8283, 12834, 25924
+343, 1148, 0, 0, 4415, 721, 8789, 9488, 24562
+344, 1933, 0, 0, 10142, 790, 12870, 10765, 36501
+345, 1968, 0, 0, 4005, 770, 9989, 12610, 29342
+346, 2237, 0, 0, 3443, 676, 10969, 11770, 29096
+347, 1111, 0, 0, 4094, 668, 11042, 17241, 34157
+348, 1153, 0, 0, 10542, 936, 10645, 13979, 37256
+349, 885, 0, 0, 3749, 730, 6953, 10837, 23155
+350, 685, 0, 0, 2530, 652, 7105, 7949, 18922
+351, 796, 0, 0, 2554, 841, 7159, 9838, 21189
+352, 975, 0, 0, 1691, 752, 6163, 7573, 17156
+353, 1279, 0, 0, 118, 753, 1981, 3428, 7560
+354, 652, 0, 0, 89, 679, 1892, 2768, 6081
+355, 646, 0, 0, 86, 698, 1956, 3243, 6630
+356, 839, 0, 0, 194, 693, 1760, 3686, 7173
+357, 981, 0, 0, 167, 767, 2321, 4033, 8271
+358, 979, 0, 0, 519, 729, 2137, 3497, 7862
+359, 934, 0, 0, 291, 772, 2384, 6058, 10440
+360, 683, 0, 0, 97, 823, 1959, 3060, 6623
+361, 1125, 0, 0, 137, 781, 2052, 3800, 7896
+362, 1091, 0, 0, 188, 715, 2018, 3614, 7627
+363, 991, 0, 0, 162, 785, 1951, 3821, 7712
+364, 923, 0, 0, 174, 745, 1885, 3846, 7574
+365, 1060, 0, 0, 112, 786, 1977, 2813, 6750
+366, 797, 0, 0, 168, 811, 1733, 3847, 7357
+367, 906, 0, 0, 135, 795, 2087, 3919, 7843
+368, 1034, 0, 0, 237, 770, 1911, 3576, 7529
+369, 1021, 0, 0, 171, 800, 2042, 3895, 7930
+370, 944, 0, 0, 130, 799, 2027, 3678, 7578
+371, 1061, 0, 0, 141, 873, 2002, 3632, 7710
+372, 1051, 0, 0, 157, 728, 1848, 3709, 7493
+373, 918, 0, 0, 95, 809, 1963, 3794, 7581
+374, 819, 0, 0, 406, 671, 1633, 3183, 6713
+375, 770, 0, 0, 161, 677, 1704, 3791, 7104
+376, 910, 0, 0, 161, 771, 2042, 3541, 7426
+377, 949, 0, 0, 132, 844, 1831, 3867, 7624
+378, 1003, 0, 0, 160, 723, 1833, 3564, 7285
+379, 1043, 0, 0, 193, 754, 1859, 3479, 7329
+380, 1035, 0, 0, 234, 720, 1835, 3273, 7098
+381, 934, 0, 0, 165, 704, 1962, 3397, 7163
+382, 922, 0, 0, 133, 732, 1991, 3622, 7401
+383, 957, 0, 0, 136, 768, 1815, 3511, 7188
+384, 1078, 0, 0, 154, 754, 1779, 3671, 7437
+385, 843, 0, 0, 154, 756, 1777, 3451, 6982
+386, 1103, 0, 0, 117, 806, 1736, 3310, 7073
+387, 872, 0, 0, 176, 749, 1766, 3613, 7176
+388, 883, 0, 0, 178, 691, 1793, 3643, 7189
+389, 918, 0, 0, 142, 709, 1956, 3533, 7259
+390, 781, 0, 0, 113, 702, 1810, 3545, 6953
+391, 1009, 0, 0, 138, 787, 1827, 3576, 7338
+392, 934, 0, 0, 140, 769, 1900, 3494, 7238
+393, 895, 0, 0, 135, 705, 1831, 3581, 7147
+394, 825, 0, 0, 136, 713, 1816, 3530, 7021
+395, 890, 0, 0, 169, 697, 1857, 3545, 7159
+396, 963, 0, 0, 141, 706, 1823, 3506, 7140
+397, 857, 0, 0, 161, 1324, 1760, 3751, 7854
+398, 849, 0, 0, 167, 758, 1805, 3415, 6995
+399, 1169, 0, 0, 105, 757, 1758, 3258, 7048
+400, 891, 0, 0, 133, 734, 1889, 3432, 7081
+401, 784, 0, 0, 210, 757, 1864, 3452, 7067
+402, 951, 0, 0, 134, 675, 1909, 3642, 7312
+403, 816, 0, 0, 75, 662, 2372, 3702, 7629
+404, 1279, 0, 0, 112, 820, 1757, 3225, 7194
+405, 934, 0, 0, 145, 673, 1830, 3416, 7000
+406, 1151, 0, 0, 86, 665, 2025, 2642, 6570
+407, 1291, 0, 0, 113, 702, 1829, 3045, 6980
+408, 753, 0, 0, 156, 732, 1853, 3579, 7074
+409, 851, 0, 0, 153, 729, 1834, 3553, 7121
+410, 926, 0, 0, 175, 725, 1766, 3440, 7034
+411, 833, 0, 0, 137, 697, 1901, 3504, 7073
+412, 1163, 0, 0, 110, 782, 1872, 3239, 7167
+413, 986, 0, 0, 98, 672, 1678, 3062, 6497
+414, 651, 0, 0, 83, 709, 1582, 3225, 6251
+415, 654, 0, 0, 85, 907, 1605, 3030, 6282
+416, 1001, 0, 0, 143, 778, 1902, 3620, 7445
+417, 934, 0, 0, 159, 703, 1963, 3655, 7415
+418, 951, 0, 0, 198, 704, 2286, 3822, 7963
+419, 1013, 0, 0, 141, 827, 1911, 3776, 7669
+420, 1000, 0, 0, 113, 768, 1698, 15801, 19381
+421, 1290, 0, 0, 107, 770, 2458, 3513, 8139
+422, 1006, 0, 0, 109, 820, 1968, 3362, 7265
+423, 995, 0, 0, 133, 728, 2029, 3773, 7659
+424, 1373, 0, 0, 112, 746, 2149, 3315, 7696
+425, 959, 0, 0, 168, 787, 2127, 3940, 7982
+426, 923, 0, 0, 213, 840, 1899, 3670, 7547
+427, 1047, 0, 0, 149, 822, 2107, 3703, 7829
+428, 1066, 0, 0, 155, 732, 2018, 3613, 7585
+429, 1048, 0, 0, 146, 724, 1946, 3740, 7605
+430, 1074, 0, 0, 150, 836, 1980, 3717, 7758
+431, 976, 0, 0, 140, 771, 1990, 3702, 7579
+432, 1003, 0, 0, 141, 847, 1872, 3606, 7470
+433, 1066, 0, 0, 151, 780, 1780, 3896, 7673
+434, 1358, 0, 0, 111, 855, 1925, 3487, 7737
+435, 1047, 0, 0, 166, 830, 1878, 3781, 7703
+436, 1088, 0, 0, 182, 778, 1872, 3772, 7693
+437, 1349, 0, 0, 130, 775, 1935, 3464, 7654
+438, 1158, 0, 0, 154, 857, 1915, 3704, 7789
+439, 1041, 0, 0, 141, 824, 1745, 3596, 7348
+440, 992, 0, 0, 299, 707, 1960, 3776, 7734
+441, 938, 0, 0, 138, 718, 1994, 3546, 7335
+442, 967, 0, 0, 143, 744, 2053, 3656, 7564
+443, 983, 0, 0, 135, 778, 1891, 3924, 7712
+444, 961, 0, 0, 141, 796, 2057, 3924, 7881
+445, 1067, 0, 0, 204, 782, 2156, 3615, 7824
+446, 962, 0, 0, 141, 880, 1967, 4077, 8028
+447, 951, 0, 0, 139, 875, 1809, 4338, 8113
+448, 1259, 0, 0, 155, 840, 1806, 3659, 7721
+449, 956, 0, 0, 209, 737, 2190, 3882, 7975
+450, 1382, 0, 0, 214, 808, 1882, 3202, 7489
+451, 932, 0, 0, 144, 756, 2011, 3686, 7530
+452, 1005, 0, 0, 135, 740, 2022, 3842, 7745
+453, 1010, 0, 0, 140, 744, 1840, 3725, 7459
+454, 1021, 0, 0, 145, 813, 1953, 3860, 7793
+455, 1209, 0, 0, 157, 960, 2050, 3672, 8049
+456, 932, 0, 0, 143, 751, 1985, 3871, 7683
+457, 1060, 0, 0, 139, 847, 1781, 3745, 7573
+458, 1096, 0, 0, 151, 746, 1958, 3720, 7672
+459, 1035, 0, 0, 151, 761, 1862, 3556, 7365
+460, 1085, 0, 0, 153, 763, 1901, 3532, 7435
+461, 1014, 0, 0, 145, 718, 1782, 3527, 7187
+462, 960, 0, 0, 169, 813, 1836, 3510, 7289
+463, 1221, 0, 0, 104, 682, 1924, 3626, 7559
+464, 957, 0, 0, 147, 721, 1935, 3604, 7365
+465, 975, 0, 0, 146, 698, 1757, 3625, 7202
+466, 954, 0, 0, 142, 736, 1656, 3520, 7010
+467, 909, 0, 0, 163, 725, 1753, 3546, 7097
+468, 913, 0, 0, 153, 762, 1805, 3471, 7106
+469, 792, 0, 0, 139, 748, 1814, 3615, 7109
+470, 883, 0, 0, 125, 723, 1801, 3622, 7156
+471, 976, 0, 0, 140, 751, 1808, 3531, 7208
+472, 806, 0, 0, 140, 724, 1768, 3459, 6897
+473, 658, 0, 0, 137, 670, 1909, 3260, 6635
+474, 697, 0, 0, 112, 667, 1672, 3051, 6201
+475, 1250, 0, 0, 147, 822, 1868, 3732, 7819
+476, 1390, 0, 0, 105, 726, 1907, 3434, 7564
+477, 1020, 0, 0, 165, 781, 1965, 3624, 7557
+478, 997, 0, 0, 229, 734, 1857, 3612, 7430
+479, 782, 0, 0, 418, 938, 2304, 3609, 8051
+480, 1040, 0, 0, 152, 753, 2142, 3612, 7700
+481, 1026, 0, 0, 138, 888, 1903, 3756, 7713
+482, 1046, 0, 0, 198, 766, 1835, 3730, 7576
+483, 987, 0, 0, 142, 847, 2213, 3655, 7845
+484, 898, 0, 0, 134, 771, 2086, 3827, 7717
+485, 1014, 0, 0, 165, 677, 1946, 3876, 7679
+486, 949, 0, 0, 141, 750, 2003, 3652, 7496
+487, 1053, 0, 0, 177, 680, 1904, 3404, 7220
+488, 985, 0, 0, 147, 757, 1895, 3772, 7557
+489, 1179, 0, 0, 198, 693, 2006, 3228, 7305
+490, 933, 0, 0, 141, 751, 1902, 3501, 7228
+491, 960, 0, 0, 140, 686, 1911, 3643, 7341
+492, 810, 0, 0, 166, 877, 2051, 3588, 7494
+493, 1100, 0, 0, 163, 795, 1983, 3457, 7499
+494, 760, 0, 0, 129, 790, 1944, 3331, 6956
+495, 654, 0, 0, 193, 751, 2112, 3251, 6962
+496, 876, 0, 0, 145, 672, 1843, 3537, 7074
+497, 963, 0, 0, 158, 752, 1862, 3397, 7133
+498, 921, 0, 0, 141, 687, 1666, 3542, 6958
+499, 902, 0, 0, 135, 739, 1865, 3658, 7299
+500, 860, 0, 0, 160, 749, 1914, 3509, 7193
+501, 813, 0, 0, 142, 770, 1839, 3554, 7119
+502, 1112, 0, 0, 112, 809, 1976, 3169, 7179
+503, 970, 0, 0, 167, 678, 1916, 3697, 7429
+504, 674, 0, 0, 119, 685, 1881, 3677, 7037
+505, 966, 0, 0, 145, 756, 1828, 3391, 7087
+506, 926, 0, 0, 130, 732, 1840, 3631, 7260
+507, 912, 0, 0, 148, 675, 1730, 3443, 6908
+508, 896, 0, 0, 138, 744, 1872, 3580, 7231
+509, 949, 0, 0, 141, 672, 1788, 4142, 7692
+510, 991, 0, 0, 145, 672, 1876, 3669, 7353
+511, 926, 0, 0, 146, 795, 1851, 3639, 7359
+512, 820, 0, 0, 132, 750, 1807, 3587, 7097
+513, 790, 0, 0, 132, 761, 1861, 3475, 7020
+514, 916, 0, 0, 140, 678, 1682, 3454, 6872
+515, 1239, 0, 0, 154, 787, 1814, 3073, 7068
+516, 990, 0, 0, 163, 708, 1906, 3558, 7325
+517, 663, 0, 0, 118, 705, 1931, 3418, 6836
+518, 872, 0, 0, 124, 716, 1878, 3455, 7046
+519, 830, 0, 0, 127, 752, 1891, 3567, 7169
+520, 861, 0, 0, 142, 712, 1943, 3511, 7171
+521, 850, 0, 0, 126, 729, 1988, 3530, 7223
+522, 929, 0, 0, 174, 677, 1865, 3587, 7234
+523, 835, 0, 0, 155, 713, 2034, 3601, 7338
+524, 903, 0, 0, 132, 867, 1940, 3549, 7393
+525, 1182, 0, 0, 117, 698, 1893, 3111, 7002
+526, 836, 0, 0, 158, 702, 2022, 3416, 7135
+527, 963, 0, 0, 154, 715, 2005, 3550, 7388
+528, 1168, 0, 0, 113, 804, 1798, 3413, 7298
+529, 963, 0, 0, 140, 740, 1911, 3438, 7193
+530, 811, 0, 0, 182, 699, 1933, 3494, 7120
+531, 777, 0, 0, 138, 721, 2119, 3528, 7284
+532, 856, 0, 0, 135, 728, 1809, 3535, 7064
+533, 749, 0, 0, 206, 809, 1740, 3325, 6830
+534, 691, 0, 0, 120, 677, 1583, 3174, 6246
+535, 1163, 0, 0, 308, 746, 1789, 3422, 7430
+536, 911, 0, 0, 136, 758, 2261, 3780, 7847
+537, 1045, 0, 0, 141, 696, 2154, 3681, 7718
+538, 1035, 0, 0, 153, 747, 2048, 3853, 7837
+539, 1023, 0, 0, 149, 948, 1700, 3894, 7716
+540, 971, 0, 0, 147, 746, 2048, 3705, 7619
+541, 1167, 0, 0, 90, 677, 1713, 3958, 7607
+542, 920, 0, 0, 257, 710, 1752, 3758, 7398
+543, 908, 0, 0, 126, 676, 1994, 3693, 7398
+544, 765, 0, 0, 107, 787, 1765, 3782, 7207
+545, 1450, 0, 0, 203, 1084, 1728, 3619, 8086
+546, 1182, 0, 0, 137, 686, 1883, 3706, 7595
+547, 1127, 0, 0, 141, 755, 1851, 3820, 7695
+548, 970, 0, 0, 141, 676, 1882, 3628, 7297
+549, 845, 0, 0, 182, 747, 1895, 3482, 7152
+550, 802, 0, 0, 131, 729, 1801, 3586, 7050
+551, 942, 0, 0, 133, 762, 2231, 3798, 7868
+552, 889, 0, 0, 221, 880, 1831, 3550, 7372
+553, 1072, 0, 0, 140, 704, 1942, 3456, 7315
+554, 1216, 0, 0, 109, 790, 1685, 3346, 7147
+555, 1054, 0, 0, 143, 694, 1802, 3489, 7183
+556, 933, 0, 0, 143, 709, 1883, 3548, 7217
+557, 932, 0, 0, 119, 876, 1881, 3506, 7316
+558, 1050, 0, 0, 135, 732, 1813, 3341, 7072
+559, 952, 0, 0, 134, 704, 1791, 3602, 7184
+560, 779, 0, 0, 120, 697, 1850, 3628, 7074
+561, 723, 0, 0, 168, 728, 1840, 3393, 6853
+562, 857, 0, 0, 130, 733, 1804, 3567, 7092
+563, 764, 0, 0, 200, 721, 2033, 3810, 7529
+564, 930, 0, 0, 120, 718, 1830, 3510, 7110
+565, 923, 0, 0, 125, 705, 1838, 3521, 7112
+566, 820, 0, 0, 131, 726, 1777, 3614, 7069
+567, 1167, 0, 0, 96, 796, 1874, 3050, 6985
+568, 900, 0, 0, 135, 769, 1837, 3480, 7122
+569, 1113, 0, 0, 152, 757, 1878, 3406, 7307
+570, 904, 0, 0, 166, 725, 1797, 3741, 7334
+571, 926, 0, 0, 155, 756, 1831, 3502, 7171
+572, 942, 0, 0, 184, 757, 1751, 3572, 7207
+573, 818, 0, 0, 157, 731, 1800, 3677, 7184
+574, 737, 0, 0, 99, 798, 1676, 3146, 6457
+575, 1213, 0, 0, 95, 867, 1653, 2715, 6544
+576, 1234, 0, 0, 100, 662, 1924, 2650, 6571
+577, 1173, 0, 0, 88, 857, 1629, 2762, 6510
+578, 820, 0, 0, 133, 724, 1887, 3627, 7193
+579, 816, 0, 0, 164, 837, 1840, 3452, 7109
+580, 1161, 0, 0, 112, 855, 1855, 3235, 7219
+581, 793, 0, 0, 137, 702, 2019, 3575, 7227
+582, 875, 0, 0, 150, 745, 2051, 3401, 7222
+583, 967, 0, 0, 139, 748, 1875, 3581, 7310
+584, 951, 0, 0, 166, 715, 1875, 3167, 6875
+585, 649, 0, 0, 144, 670, 2256, 3160, 6879
+586, 723, 0, 0, 199, 684, 1722, 3516, 6844
+587, 989, 0, 0, 144, 834, 2070, 4210, 8248
+588, 999, 0, 0, 211, 769, 2132, 3699, 7810
+589, 924, 0, 0, 142, 834, 1984, 3800, 7685
+590, 885, 0, 0, 239, 674, 1794, 3516, 7109
+591, 944, 0, 0, 273, 704, 2046, 3415, 7383
+592, 1073, 0, 0, 185, 796, 1979, 3882, 7916
+593, 995, 0, 0, 93, 955, 1772, 2970, 6786
+594, 685, 0, 0, 116, 665, 1868, 3139, 6473
+595, 716, 0, 0, 130, 717, 1676, 3796, 7036
+596, 994, 0, 0, 232, 783, 2168, 3788, 7966
+597, 1075, 0, 0, 147, 911, 2125, 3641, 7901
+598, 1011, 0, 0, 230, 815, 1999, 3990, 8046
+599, 1042, 0, 0, 231, 852, 2014, 4058, 8198
+600, 984, 0, 0, 229, 827, 2145, 3919, 8105
+601, 1048, 0, 0, 172, 829, 1987, 3733, 7769
+602, 1010, 0, 0, 220, 758, 2138, 3904, 8032
+603, 986, 0, 0, 255, 787, 2235, 3729, 7993
+604, 1007, 0, 0, 168, 867, 2087, 3665, 7795
+605, 1019, 0, 0, 137, 721, 1954, 3525, 7357
+606, 1333, 0, 0, 107, 784, 2081, 3359, 7664
+607, 1030, 0, 0, 135, 733, 1943, 3628, 7470
+608, 1039, 0, 0, 147, 736, 1885, 3623, 7432
+609, 1255, 0, 0, 244, 822, 2037, 3812, 8171
+610, 967, 0, 0, 161, 725, 1896, 3667, 7417
+611, 980, 0, 0, 144, 787, 1854, 4095, 7861
+612, 1014, 0, 0, 172, 728, 2116, 3521, 7552
+613, 1000, 0, 0, 141, 679, 1985, 3765, 7572
+614, 981, 0, 0, 152, 803, 2032, 3631, 7599
+615, 929, 0, 0, 135, 721, 2116, 3880, 7782
+616, 990, 0, 0, 244, 795, 1855, 3490, 7375
+617, 937, 0, 0, 186, 726, 1796, 3799, 7445
+618, 933, 0, 0, 137, 675, 2091, 3684, 7521
+619, 1304, 0, 0, 111, 886, 1848, 3142, 7291
+620, 956, 0, 0, 150, 748, 1823, 3650, 7328
+621, 856, 0, 0, 171, 742, 1748, 3551, 7069
+622, 983, 0, 0, 146, 739, 1937, 3519, 7325
+623, 966, 0, 0, 155, 800, 1854, 3638, 7414
+624, 1017, 0, 0, 161, 690, 1948, 3555, 7371
+625, 868, 0, 0, 162, 771, 1879, 3494, 7176
+626, 1093, 0, 0, 83, 905, 1830, 3257, 7169
+627, 898, 0, 0, 130, 807, 1850, 3479, 7165
+628, 1003, 0, 0, 133, 749, 1840, 3561, 7286
+629, 801, 0, 0, 132, 949, 1833, 3631, 7347
+630, 813, 0, 0, 452, 661, 1971, 2816, 6714
+631, 1788, 0, 0, 94, 1090, 1825, 2788, 7585
+632, 1219, 0, 0, 151, 677, 1777, 3897, 7723
+633, 994, 0, 0, 153, 843, 1902, 3759, 7652
+634, 1009, 0, 0, 173, 787, 1817, 4153, 7941
+635, 935, 0, 0, 130, 772, 2105, 3949, 7892
+636, 986, 0, 0, 151, 805, 2016, 3953, 7912
+637, 1142, 0, 0, 320, 805, 1994, 3878, 8141
+638, 1023, 0, 0, 146, 823, 1717, 4102, 7811
+639, 907, 0, 0, 133, 779, 2092, 3822, 7734
+640, 1059, 0, 0, 133, 831, 1847, 3755, 7626
+641, 985, 0, 0, 139, 868, 1847, 4061, 7901
+642, 1042, 0, 0, 141, 768, 1934, 3692, 7578
+643, 804, 0, 0, 654, 662, 1960, 2666, 6747
+644, 1040, 0, 0, 154, 872, 2011, 4585, 8663
+645, 1438, 0, 0, 103, 788, 1843, 3213, 7386
diff --git a/master-zoom-times.csv b/master-zoom-times.csv
new file mode 100644
index 0000000000..aa5f4a03a5
--- /dev/null
+++ b/master-zoom-times.csv
@@ -0,0 +1,600 @@
+FrameID, Prepare, Placement, Opacity, Upload, Reproject, Symbol, Render, Total
+674, 2659, 0, 0, 256, 0, 3041, 5256, 11213
+675, 3340, 0, 0, 199, 0, 2415, 4125, 10079
+676, 2143, 0, 0, 521, 0, 2108, 4196, 8968
+677, 2074, 0, 0, 470, 0, 2137, 4163, 8844
+678, 2404, 0, 0, 160, 0, 1654, 2851, 7070
+679, 2512, 0, 0, 166, 0, 1297, 3541, 7517
+680, 1998, 0, 0, 665, 0, 1438, 3064, 7166
+681, 1985, 0, 0, 846, 0, 1618, 3142, 7592
+682, 2491, 0, 0, 8370, 0, 1633, 2999, 15495
+683, 2716, 0, 0, 8438, 0, 2424, 3534, 17113
+684, 1862, 0, 0, 7839, 0, 2264, 3012, 14977
+685, 1879, 0, 0, 7756, 0, 1658, 2872, 14165
+686, 2096, 0, 0, 7639, 0, 1303, 2915, 13954
+687, 2437, 0, 0, 7817, 0, 1546, 3461, 15261
+688, 2387, 0, 0, 7953, 0, 1811, 3209, 15361
+689, 2917, 0, 0, 6808, 0, 942, 2228, 12895
+690, 2568, 0, 0, 6092, 0, 937, 2110, 11708
+691, 1920, 0, 0, 15619, 0, 1140, 3076, 21756
+692, 2015, 0, 0, 5129, 0, 1187, 2781, 11113
+693, 1747, 0, 0, 6394, 0, 966, 1971, 11079
+694, 1921, 0, 0, 6382, 0, 845, 2450, 11599
+695, 2680, 0, 0, 4893, 0, 887, 3603, 12063
+696, 3058, 0, 0, 5379, 0, 939, 3735, 13111
+697, 3725, 0, 0, 6492, 0, 958, 16111, 27288
+698, 1525, 0, 0, 6589, 0, 846, 2444, 11406
+699, 1721, 0, 0, 6610, 0, 1496, 2265, 12093
+700, 1570, 0, 0, 6425, 0, 840, 2201, 11037
+701, 2557, 0, 0, 4331, 0, 1156, 1895, 9940
+702, 2302, 0, 0, 5135, 0, 974, 1965, 10377
+703, 2824, 0, 0, 4713, 0, 1121, 2126, 10785
+704, 3124, 0, 0, 4031, 0, 912, 2416, 10484
+705, 2197, 0, 0, 3781, 0, 1027, 2058, 9065
+706, 2404, 0, 0, 4914, 0, 840, 2048, 10207
+707, 2163, 0, 0, 5181, 0, 912, 1878, 10135
+708, 2101, 0, 0, 5104, 0, 843, 1878, 9928
+709, 2273, 0, 0, 5131, 0, 834, 2144, 10382
+710, 2222, 0, 0, 5132, 0, 1079, 2031, 10464
+711, 1912, 0, 0, 5301, 0, 828, 1932, 9973
+712, 1894, 0, 0, 5307, 0, 838, 2098, 10137
+713, 2539, 0, 0, 4171, 0, 1256, 2090, 10058
+714, 1991, 0, 0, 5221, 0, 925, 2113, 10252
+715, 2550, 0, 0, 4455, 0, 929, 2029, 9964
+716, 2258, 0, 0, 4714, 0, 932, 2301, 10205
+717, 2501, 0, 0, 4498, 0, 433, 1559, 8993
+718, 2183, 0, 0, 1477, 0, 431, 1841, 5933
+719, 1968, 0, 0, 3579, 0, 872, 1754, 8174
+720, 3215, 0, 0, 1925, 0, 539, 1650, 7330
+721, 2591, 0, 0, 2477, 0, 614, 1800, 7483
+722, 2907, 0, 0, 2171, 0, 707, 2134, 7919
+723, 2644, 0, 0, 2272, 0, 660, 1424, 7000
+724, 1930, 0, 0, 1383, 0, 536, 1463, 5313
+725, 2730, 0, 0, 2368, 0, 542, 1420, 7061
+726, 2277, 0, 0, 1635, 0, 1340, 1435, 6688
+727, 3261, 0, 0, 181, 0, 759, 1755, 5956
+728, 2577, 0, 0, 2146, 0, 540, 1665, 6930
+729, 2819, 0, 0, 1837, 0, 764, 1745, 7166
+730, 2727, 0, 0, 1744, 0, 879, 1723, 7074
+731, 2729, 0, 0, 167, 0, 731, 2133, 5761
+732, 4256, 0, 0, 229, 0, 856, 1943, 7284
+733, 3244, 0, 0, 1055, 0, 742, 1654, 6697
+734, 2929, 0, 0, 1563, 0, 548, 1443, 6484
+735, 2612, 0, 0, 2032, 0, 555, 1445, 6646
+736, 2153, 0, 0, 2796, 0, 442, 1479, 6871
+737, 2527, 0, 0, 2451, 0, 429, 1411, 6819
+738, 2498, 0, 0, 2338, 0, 437, 1389, 6663
+739, 1815, 0, 0, 2899, 0, 695, 1431, 6840
+740, 2245, 0, 0, 2343, 0, 386, 1226, 6201
+741, 1731, 0, 0, 3400, 0, 389, 1218, 6739
+742, 1686, 0, 0, 3545, 0, 386, 1223, 6842
+743, 1887, 0, 0, 3254, 0, 379, 1310, 6831
+744, 1935, 0, 0, 1842, 0, 394, 1291, 5463
+745, 1859, 0, 0, 3230, 0, 391, 1321, 6802
+746, 1994, 0, 0, 2869, 0, 435, 1414, 6713
+747, 2159, 0, 0, 2654, 0, 394, 1329, 6536
+748, 2135, 0, 0, 2919, 0, 397, 1796, 7249
+749, 1883, 0, 0, 2840, 0, 396, 1537, 6658
+750, 1817, 0, 0, 3330, 0, 384, 1296, 6828
+751, 2144, 0, 0, 2733, 0, 397, 1148, 6423
+752, 1757, 0, 0, 3233, 0, 393, 1270, 6654
+753, 1956, 0, 0, 3274, 0, 390, 1262, 6883
+754, 2362, 0, 0, 2519, 0, 389, 1117, 6388
+755, 1760, 0, 0, 4945, 0, 447, 4772, 11924
+756, 2476, 0, 0, 4709, 75, 1312, 2090, 10663
+757, 1941, 0, 0, 4755, 73, 3762, 4541, 15073
+758, 1729, 0, 0, 4154, 87, 687, 2506, 9164
+759, 3282, 0, 0, 3021, 75, 1179, 2161, 9719
+760, 2055, 0, 0, 4412, 73, 671, 2482, 9694
+761, 3948, 0, 0, 3882, 189, 2920, 2537, 13478
+762, 1978, 0, 0, 5087, 191, 970, 2738, 10965
+763, 3497, 0, 0, 3158, 187, 964, 2127, 9934
+764, 2277, 0, 0, 4193, 188, 1187, 2059, 9905
+765, 3527, 0, 0, 2801, 188, 965, 1912, 9394
+766, 2015, 0, 0, 5064, 190, 961, 2021, 10253
+767, 2596, 0, 0, 4007, 240, 1427, 2205, 10477
+768, 2519, 0, 0, 4184, 215, 1080, 2165, 10164
+769, 2155, 0, 0, 4858, 216, 1077, 2432, 10738
+770, 2278, 0, 0, 2921, 255, 1077, 2303, 8835
+771, 2503, 0, 0, 4151, 252, 1074, 2180, 10162
+772, 2534, 0, 0, 4039, 251, 1079, 2131, 10035
+773, 2119, 0, 0, 4557, 248, 1079, 2226, 10230
+774, 2244, 0, 0, 4003, 251, 1726, 2157, 10381
+775, 2366, 0, 0, 4186, 247, 1077, 2133, 10010
+776, 2745, 0, 0, 3668, 322, 1502, 2832, 11070
+777, 3522, 0, 0, 2766, 317, 1475, 3039, 11120
+778, 3055, 0, 0, 3281, 317, 1601, 3117, 11372
+779, 2943, 0, 0, 3391, 334, 1483, 2447, 10599
+780, 2647, 0, 0, 3601, 637, 1401, 2852, 11139
+781, 2342, 0, 0, 2931, 437, 1404, 3838, 10954
+782, 2601, 0, 0, 298, 334, 1441, 2766, 7441
+783, 2618, 0, 0, 3690, 330, 1535, 3236, 11411
+784, 2899, 0, 0, 3140, 332, 1471, 2896, 10739
+785, 2871, 0, 0, 3145, 330, 1412, 2925, 10684
+786, 2825, 0, 0, 3064, 321, 1487, 2714, 10412
+787, 2748, 0, 0, 3376, 329, 1390, 3091, 10934
+788, 2871, 0, 0, 3148, 320, 1376, 2619, 10334
+789, 2694, 0, 0, 3650, 328, 1380, 2603, 10656
+790, 2660, 0, 0, 3695, 373, 1592, 2464, 10784
+791, 2559, 0, 0, 4064, 436, 1918, 3718, 12697
+792, 2772, 0, 0, 3346, 484, 2306, 3222, 12131
+793, 3322, 0, 0, 2855, 422, 1881, 3154, 11635
+794, 3295, 0, 0, 3098, 430, 1911, 3736, 12471
+795, 2866, 0, 0, 188, 352, 1678, 3071, 8156
+796, 2347, 0, 0, 3780, 315, 1391, 2397, 10231
+797, 2541, 0, 0, 3462, 313, 1632, 2605, 10555
+798, 2519, 0, 0, 3224, 311, 1634, 2504, 10193
+799, 2985, 0, 0, 2956, 508, 1587, 2424, 10460
+800, 2397, 0, 0, 3838, 458, 1891, 3211, 11796
+801, 3062, 0, 0, 2712, 456, 1964, 3656, 11850
+802, 3804, 0, 0, 2100, 455, 2568, 3059, 11987
+803, 3528, 0, 0, 2269, 504, 2391, 3452, 12146
+804, 2467, 0, 0, 2976, 340, 1388, 2659, 9832
+805, 2696, 0, 0, 2766, 330, 1388, 2458, 9640
+806, 2393, 0, 0, 3306, 661, 1678, 2884, 10923
+807, 3548, 0, 0, 2053, 441, 2548, 3429, 12021
+808, 2942, 0, 0, 201, 441, 1783, 3722, 9090
+809, 2914, 0, 0, 2714, 337, 1452, 2413, 9832
+810, 2606, 0, 0, 2997, 341, 1480, 2695, 10120
+811, 2758, 0, 0, 2772, 426, 1502, 2261, 9720
+812, 2626, 0, 0, 2939, 255, 1083, 1832, 8736
+813, 2016, 0, 0, 3371, 250, 1100, 2007, 8744
+814, 1859, 0, 0, 3835, 217, 1006, 2179, 9096
+815, 2074, 0, 0, 3472, 211, 1055, 2026, 8839
+816, 1896, 0, 0, 3777, 212, 1023, 1932, 8841
+817, 1981, 0, 0, 3682, 235, 1202, 2525, 9626
+818, 1908, 0, 0, 3618, 236, 1168, 2064, 8994
+819, 1755, 0, 0, 3827, 217, 995, 1953, 8747
+820, 3236, 0, 0, 2367, 227, 973, 1922, 8726
+821, 2230, 0, 0, 2198, 227, 1222, 1864, 7741
+822, 2217, 0, 0, 3429, 218, 982, 1921, 8768
+823, 2022, 0, 0, 3568, 225, 995, 2041, 8853
+824, 1895, 0, 0, 3775, 219, 1300, 2196, 9386
+825, 2320, 0, 0, 2881, 217, 990, 1924, 8332
+826, 2080, 0, 0, 3531, 210, 1028, 2129, 8979
+827, 2576, 0, 0, 3155, 209, 969, 1995, 8904
+828, 2124, 0, 0, 3558, 277, 1656, 2193, 9809
+829, 2496, 0, 0, 2781, 233, 1158, 2019, 8687
+830, 2089, 0, 0, 3588, 307, 1094, 2089, 9168
+831, 2756, 0, 0, 2470, 295, 1345, 2411, 9278
+832, 3347, 0, 0, 1544, 245, 1241, 2215, 8594
+833, 2351, 0, 0, 2593, 232, 1764, 1959, 8899
+834, 2097, 0, 0, 1762, 223, 1095, 2255, 7434
+835, 1906, 0, 0, 3218, 201, 978, 1969, 8272
+836, 2407, 0, 0, 2535, 198, 960, 1687, 7789
+837, 1795, 0, 0, 3438, 199, 1035, 1898, 8366
+838, 1946, 0, 0, 3275, 200, 1156, 1832, 8410
+839, 2154, 0, 0, 3167, 201, 1160, 1881, 8564
+840, 1973, 0, 0, 3312, 199, 1013, 1984, 8482
+841, 2454, 0, 0, 2193, 198, 1029, 2047, 7923
+842, 2260, 0, 0, 5564, 232, 1980, 8449, 18486
+843, 1537, 0, 0, 4717, 197, 1787, 4019, 12258
+844, 2060, 0, 0, 5474, 334, 1567, 2797, 12232
+845, 1859, 0, 0, 4598, 420, 1431, 3160, 11469
+846, 2256, 0, 0, 5678, 583, 1906, 2831, 13255
+847, 1815, 0, 0, 3261, 462, 1172, 2990, 9700
+848, 1857, 0, 0, 4757, 465, 1258, 3418, 11756
+849, 2148, 0, 0, 5796, 512, 2850, 5609, 16915
+850, 1957, 0, 0, 2962, 523, 1040, 2767, 9251
+851, 1979, 0, 0, 6509, 670, 5742, 2912, 17812
+852, 1681, 0, 0, 4389, 663, 2144, 3276, 12155
+853, 1925, 0, 0, 4568, 743, 1409, 2876, 11523
+854, 2014, 0, 0, 4570, 831, 1533, 2846, 11795
+855, 2006, 0, 0, 4517, 652, 1441, 3216, 11834
+856, 2214, 0, 0, 5704, 724, 3622, 6330, 18596
+857, 1734, 0, 0, 5246, 1287, 4165, 3419, 15853
+858, 1674, 0, 0, 4273, 889, 2378, 3140, 12355
+859, 1824, 0, 0, 1611, 1233, 2007, 2875, 9550
+860, 2011, 0, 0, 4466, 880, 1603, 2951, 11913
+861, 2053, 0, 0, 4177, 886, 1878, 2909, 11904
+862, 2013, 0, 0, 4516, 887, 1758, 3234, 12408
+863, 2629, 0, 0, 3652, 929, 2058, 3068, 12337
+864, 2012, 0, 0, 4449, 864, 1712, 2932, 11970
+865, 2814, 0, 0, 3503, 872, 1866, 3417, 12474
+866, 2779, 0, 0, 3659, 900, 1947, 2927, 12213
+867, 2045, 0, 0, 4219, 870, 1690, 3419, 12244
+868, 2498, 0, 0, 3719, 950, 1839, 3164, 12171
+869, 2267, 0, 0, 3836, 1083, 1894, 3476, 12556
+870, 2628, 0, 0, 3335, 1121, 2173, 3280, 12538
+871, 2184, 0, 0, 3545, 899, 1716, 2716, 11061
+872, 1927, 0, 0, 2767, 913, 1955, 3368, 10931
+873, 2779, 0, 0, 3120, 1141, 2168, 2908, 12118
+874, 2147, 0, 0, 3939, 876, 1740, 3527, 12230
+875, 2466, 0, 0, 3661, 998, 1727, 3211, 12065
+876, 2235, 0, 0, 3715, 1039, 1768, 3003, 11762
+877, 2306, 0, 0, 3485, 951, 1954, 3379, 12076
+878, 2332, 0, 0, 3560, 679, 938, 1942, 9453
+879, 3009, 0, 0, 1368, 588, 754, 1929, 7649
+880, 3429, 0, 0, 4233, 611, 1209, 16196, 25679
+881, 1657, 0, 0, 3054, 593, 768, 4596, 10669
+882, 1642, 0, 0, 2952, 613, 955, 1880, 8043
+883, 2479, 0, 0, 1889, 1179, 1218, 2054, 8819
+884, 2541, 0, 0, 2011, 577, 754, 1917, 7801
+885, 2073, 0, 0, 1250, 593, 1000, 3577, 8493
+886, 2402, 0, 0, 2394, 582, 962, 1938, 8280
+887, 1945, 0, 0, 2597, 611, 751, 1953, 7857
+888, 1925, 0, 0, 2694, 603, 796, 2136, 8155
+889, 1992, 0, 0, 2546, 596, 768, 1896, 7798
+890, 2522, 0, 0, 1952, 984, 935, 2109, 8503
+891, 2503, 0, 0, 2112, 675, 850, 2100, 8240
+892, 2367, 0, 0, 2072, 776, 949, 2255, 8420
+893, 2597, 0, 0, 1650, 684, 876, 2017, 7824
+894, 2018, 0, 0, 2600, 1059, 1381, 2478, 9537
+895, 2034, 0, 0, 2476, 666, 849, 2389, 8414
+896, 2147, 0, 0, 2414, 673, 849, 2121, 8205
+897, 3104, 0, 0, 1296, 1177, 1209, 2561, 9348
+898, 2780, 0, 0, 323, 847, 1125, 2769, 7845
+899, 2807, 0, 0, 1678, 1138, 1189, 2898, 9711
+900, 3122, 0, 0, 1304, 855, 1126, 2566, 8975
+901, 2709, 0, 0, 1669, 838, 1095, 3037, 9349
+902, 2660, 0, 0, 1890, 904, 1592, 2804, 9851
+903, 3288, 0, 0, 361, 903, 1783, 2169, 8504
+904, 3381, 0, 0, 321, 902, 1690, 2186, 8481
+905, 3038, 0, 0, 1233, 892, 1075, 2739, 8977
+906, 2711, 0, 0, 1679, 1344, 1250, 2602, 9586
+907, 3349, 0, 0, 989, 878, 1173, 2436, 8825
+908, 3304, 0, 0, 303, 1196, 1455, 3663, 9922
+909, 3961, 0, 0, 220, 1191, 1824, 3814, 11011
+910, 4113, 0, 0, 199, 1477, 1602, 3357, 10749
+911, 2760, 0, 0, 226, 1001, 1236, 2621, 7845
+912, 2859, 0, 0, 1523, 861, 1086, 2839, 9169
+913, 2989, 0, 0, 1080, 1108, 1538, 2420, 9137
+914, 3371, 0, 0, 921, 868, 1094, 2524, 8778
+915, 3478, 0, 0, 1176, 1208, 1464, 4036, 11363
+916, 3888, 0, 0, 314, 1170, 1817, 4080, 11270
+917, 3037, 0, 0, 1109, 848, 1074, 2764, 8834
+918, 2599, 0, 0, 1474, 877, 1082, 2490, 8522
+919, 2891, 0, 0, 1370, 874, 1111, 2762, 9009
+920, 2834, 0, 0, 1017, 870, 1421, 2557, 8700
+921, 4134, 0, 0, 220, 1181, 1453, 3349, 10339
+922, 3500, 0, 0, 478, 1177, 1470, 4115, 10741
+923, 3305, 0, 0, 896, 848, 1528, 2376, 8954
+924, 2498, 0, 0, 178, 1231, 1195, 2962, 8064
+925, 3125, 0, 0, 875, 849, 1069, 2632, 8550
+926, 2823, 0, 0, 1551, 1016, 1100, 2766, 9257
+927, 2868, 0, 0, 404, 857, 1452, 3084, 8667
+928, 2822, 0, 0, 1167, 848, 1077, 2501, 8416
+929, 2715, 0, 0, 1496, 998, 1217, 3125, 9553
+930, 3010, 0, 0, 801, 841, 1247, 2699, 8599
+931, 3016, 0, 0, 207, 831, 1103, 2968, 8126
+932, 3106, 0, 0, 820, 635, 855, 3074, 8492
+933, 2346, 0, 0, 1551, 638, 1063, 2948, 8547
+934, 2505, 0, 0, 1327, 629, 841, 2065, 7368
+935, 2177, 0, 0, 1992, 639, 970, 3230, 9009
+936, 2057, 0, 0, 2090, 799, 994, 2000, 7941
+937, 2565, 0, 0, 1971, 652, 1016, 3194, 9399
+938, 2400, 0, 0, 1589, 1123, 1040, 2291, 8444
+939, 3435, 0, 0, 1303, 653, 1154, 2244, 8790
+940, 1892, 0, 0, 1972, 582, 797, 2475, 7719
+941, 2331, 0, 0, 1749, 584, 757, 1900, 7322
+942, 1906, 0, 0, 1907, 603, 762, 2400, 7579
+943, 2097, 0, 0, 2016, 571, 811, 2106, 7602
+944, 2220, 0, 0, 1898, 572, 758, 1943, 7392
+945, 1959, 0, 0, 2269, 565, 752, 1925, 7472
+946, 2482, 0, 0, 1466, 729, 833, 1836, 7347
+947, 2266, 0, 0, 1644, 561, 1025, 1972, 7469
+948, 3317, 0, 0, 658, 564, 782, 1939, 7262
+949, 2757, 0, 0, 1144, 640, 1053, 2879, 8474
+950, 2433, 0, 0, 186, 643, 841, 2076, 6180
+951, 2559, 0, 0, 1664, 631, 843, 2040, 7738
+952, 2131, 0, 0, 2110, 633, 840, 2146, 7860
+953, 2887, 0, 0, 995, 774, 887, 2222, 7766
+954, 2374, 0, 0, 1273, 655, 925, 2168, 7396
+955, 2697, 0, 0, 1443, 646, 840, 2080, 7707
+956, 2082, 0, 0, 2049, 1020, 1133, 2875, 9160
+957, 2709, 0, 0, 1032, 819, 1274, 2529, 8363
+958, 3099, 0, 0, 791, 826, 1071, 2724, 8512
+959, 3166, 0, 0, 341, 821, 1088, 3340, 8757
+960, 2702, 0, 0, 1243, 1043, 1254, 2415, 8658
+961, 2837, 0, 0, 1125, 826, 1752, 2256, 8798
+962, 2161, 0, 0, 154, 825, 1075, 2166, 6383
+963, 2558, 0, 0, 1022, 950, 1359, 3440, 9330
+964, 3059, 0, 0, 652, 822, 1163, 2505, 8203
+965, 3219, 0, 0, 780, 822, 1076, 2802, 8701
+966, 3009, 0, 0, 669, 832, 1197, 2728, 8436
+967, 3222, 0, 0, 872, 1020, 1414, 2406, 8935
+968, 2905, 0, 0, 857, 808, 1071, 2468, 8110
+969, 3041, 0, 0, 1049, 807, 1124, 2524, 8546
+970, 2731, 0, 0, 1204, 960, 1506, 2404, 8805
+971, 2861, 0, 0, 676, 800, 1070, 2485, 7892
+972, 2673, 0, 0, 323, 1018, 1184, 2547, 7746
+973, 2631, 0, 0, 813, 890, 1137, 2657, 8129
+974, 2706, 0, 0, 1273, 840, 1320, 2650, 8790
+975, 2395, 0, 0, 172, 873, 1275, 2603, 7320
+976, 2591, 0, 0, 1237, 826, 1072, 2666, 8393
+977, 2664, 0, 0, 1125, 819, 1902, 2508, 9020
+978, 3252, 0, 0, 777, 811, 1067, 2487, 8394
+979, 2741, 0, 0, 1172, 1003, 1254, 2436, 8607
+980, 2958, 0, 0, 980, 1000, 1118, 2539, 8596
+981, 2584, 0, 0, 984, 979, 1184, 3348, 9080
+982, 3057, 0, 0, 367, 1325, 1756, 2605, 9111
+983, 2767, 0, 0, 1263, 815, 1096, 2938, 8881
+984, 2687, 0, 0, 1103, 817, 1477, 2426, 8510
+985, 3327, 0, 0, 662, 896, 1207, 2394, 8487
+986, 2678, 0, 0, 1174, 980, 1226, 2881, 8940
+987, 3017, 0, 0, 989, 1125, 1466, 2472, 9070
+988, 3242, 0, 0, 217, 1423, 1579, 4190, 10652
+989, 3052, 0, 0, 637, 802, 1236, 2432, 8161
+990, 2715, 0, 0, 1143, 791, 1089, 3162, 8900
+991, 2423, 0, 0, 116, 807, 1256, 2501, 7104
+992, 2823, 0, 0, 160, 597, 851, 2760, 7191
+993, 2710, 0, 0, 101, 739, 1132, 2303, 6986
+994, 2627, 0, 0, 1084, 584, 845, 2323, 7464
+995, 2445, 0, 0, 1124, 568, 1255, 2043, 7435
+996, 2596, 0, 0, 1604, 567, 849, 2237, 7854
+997, 2531, 0, 0, 1038, 1183, 1074, 1680, 7507
+998, 2187, 0, 0, 1344, 503, 766, 2076, 6877
+999, 2427, 0, 0, 2261, 257, 561, 3391, 8898
+1000, 4350, 0, 0, 3572, 269, 795, 2922, 11908
+1001, 1843, 0, 0, 3605, 477, 2651, 1666, 10243
+1002, 2152, 0, 0, 1180, 567, 884, 1355, 6139
+1003, 2965, 0, 0, 692, 474, 501, 1783, 6416
+1004, 2307, 0, 0, 1370, 469, 496, 1367, 6011
+1005, 2725, 0, 0, 850, 474, 497, 1756, 6303
+1006, 4350, 0, 0, 1021, 500, 507, 1401, 7780
+1007, 2836, 0, 0, 1089, 469, 711, 1528, 6633
+1008, 2069, 0, 0, 1592, 465, 512, 1495, 6134
+1009, 2047, 0, 0, 1733, 479, 499, 1453, 6212
+1010, 2527, 0, 0, 1398, 525, 589, 1900, 6940
+1011, 2107, 0, 0, 1916, 530, 554, 1567, 6675
+1012, 2795, 0, 0, 946, 530, 556, 1521, 6349
+1013, 2783, 0, 0, 118, 533, 638, 1716, 5789
+1014, 2388, 0, 0, 112, 527, 563, 1778, 5369
+1015, 2556, 0, 0, 114, 524, 557, 2095, 5847
+1016, 2152, 0, 0, 1616, 519, 560, 1542, 6390
+1017, 3090, 0, 0, 690, 785, 860, 1832, 7258
+1018, 2788, 0, 0, 1113, 682, 706, 1911, 7200
+1019, 3472, 0, 0, 357, 680, 703, 2029, 7241
+1020, 2844, 0, 0, 872, 877, 803, 2075, 7473
+1021, 2930, 0, 0, 589, 673, 703, 1856, 6753
+1022, 3171, 0, 0, 729, 669, 716, 2120, 7406
+1023, 3377, 0, 0, 277, 688, 705, 1853, 6901
+1024, 3255, 0, 0, 615, 1055, 1381, 2463, 8769
+1025, 3209, 0, 0, 206, 1121, 1033, 3379, 8950
+1026, 4220, 0, 0, 210, 1149, 1195, 2438, 9213
+1027, 3970, 0, 0, 210, 905, 998, 3160, 9244
+1028, 3550, 0, 0, 212, 1185, 1074, 2522, 8544
+1029, 3876, 0, 0, 214, 955, 971, 2765, 8781
+1030, 3962, 0, 0, 208, 901, 942, 2730, 8744
+1031, 2772, 0, 0, 872, 1195, 1064, 2660, 8564
+1032, 3532, 0, 0, 209, 1071, 1066, 2600, 8480
+1033, 3406, 0, 0, 181, 733, 706, 1888, 6915
+1034, 2727, 0, 0, 127, 852, 865, 2108, 6681
+1035, 3852, 0, 0, 119, 901, 1328, 2307, 8507
+1036, 3066, 0, 0, 127, 753, 962, 1916, 6825
+1037, 2743, 0, 0, 127, 658, 711, 2376, 6616
+1038, 2797, 0, 0, 172, 942, 1102, 2439, 7453
+1039, 2911, 0, 0, 348, 810, 704, 2002, 6776
+1040, 2673, 0, 0, 1174, 736, 700, 2138, 7423
+1041, 3416, 0, 0, 179, 869, 962, 2055, 7483
+1042, 3080, 0, 0, 282, 734, 833, 1866, 6796
+1043, 3043, 0, 0, 659, 734, 896, 1878, 7211
+1044, 3814, 0, 0, 213, 1052, 963, 2930, 8973
+1045, 3837, 0, 0, 193, 1263, 1106, 2728, 9128
+1046, 4087, 0, 0, 214, 1050, 1458, 2922, 9732
+1047, 3386, 0, 0, 372, 1003, 1064, 3080, 8907
+1048, 2973, 0, 0, 656, 731, 740, 2086, 7186
+1049, 3679, 0, 0, 239, 1201, 1082, 3054, 9256
+1050, 3771, 0, 0, 205, 1332, 980, 2311, 8600
+1051, 2632, 0, 0, 151, 922, 840, 1581, 6128
+1052, 2384, 0, 0, 1158, 743, 649, 1529, 6464
+1053, 2899, 0, 0, 735, 562, 608, 1639, 6443
+1054, 1993, 0, 0, 1779, 737, 681, 1369, 6560
+1055, 2996, 0, 0, 232, 502, 518, 1428, 5677
+1056, 2776, 0, 0, 635, 585, 572, 1875, 6443
+1057, 2545, 0, 0, 115, 573, 563, 1932, 5730
+1058, 2720, 0, 0, 114, 644, 562, 1693, 5735
+1059, 2375, 0, 0, 114, 653, 581, 1778, 5502
+1060, 2471, 0, 0, 79, 565, 742, 1943, 5800
+1061, 2525, 0, 0, 103, 562, 649, 1725, 5566
+1062, 2250, 0, 0, 101, 562, 582, 1476, 4972
+1063, 2801, 0, 0, 534, 610, 580, 1593, 6119
+1064, 2237, 0, 0, 178, 531, 617, 1568, 5132
+1065, 2384, 0, 0, 1081, 603, 558, 1473, 6100
+1066, 2601, 0, 0, 825, 682, 572, 1480, 6161
+1067, 2640, 0, 0, 818, 594, 561, 1629, 6243
+1068, 2337, 0, 0, 1141, 603, 558, 1448, 6088
+1069, 2621, 0, 0, 559, 592, 558, 1531, 5862
+1070, 2521, 0, 0, 793, 683, 727, 1593, 6319
+1071, 2743, 0, 0, 720, 784, 715, 2109, 7071
+1072, 2404, 0, 0, 897, 603, 560, 1747, 6211
+1073, 2786, 0, 0, 536, 608, 563, 1616, 6109
+1074, 2591, 0, 0, 856, 599, 555, 1695, 6297
+1075, 2944, 0, 0, 335, 773, 700, 1929, 6683
+1076, 2926, 0, 0, 432, 774, 718, 2047, 6898
+1077, 3034, 0, 0, 178, 770, 1072, 2223, 7278
+1078, 2763, 0, 0, 858, 986, 805, 1755, 7168
+1079, 2735, 0, 0, 1187, 776, 829, 1863, 7391
+1080, 3162, 0, 0, 292, 767, 700, 1959, 6880
+1081, 3146, 0, 0, 118, 740, 712, 2335, 7052
+1082, 2863, 0, 0, 129, 729, 704, 2130, 6556
+1083, 3437, 0, 0, 224, 726, 702, 1816, 6906
+1084, 2822, 0, 0, 128, 775, 940, 2252, 6917
+1085, 3094, 0, 0, 96, 1097, 815, 1828, 6930
+1086, 2843, 0, 0, 105, 723, 807, 2165, 6644
+1087, 3585, 0, 0, 111, 713, 803, 2070, 7283
+1088, 2767, 0, 0, 916, 729, 727, 2730, 7870
+1089, 2825, 0, 0, 872, 728, 717, 1948, 7091
+1090, 2833, 0, 0, 167, 735, 716, 2174, 6625
+1091, 2763, 0, 0, 710, 779, 976, 2335, 7563
+1092, 3994, 0, 0, 210, 1283, 1019, 2530, 9037
+1093, 3602, 0, 0, 216, 1005, 1277, 3792, 9893
+1094, 3170, 0, 0, 255, 729, 695, 2120, 6970
+1095, 2727, 0, 0, 979, 923, 811, 2103, 7543
+1096, 3486, 0, 0, 212, 995, 981, 2754, 8429
+1097, 4259, 0, 0, 198, 998, 950, 2286, 8693
+1098, 3411, 0, 0, 338, 1281, 1263, 2512, 8806
+1099, 3855, 0, 0, 213, 1175, 1214, 2283, 8740
+1100, 3867, 0, 0, 217, 996, 944, 2671, 8696
+1101, 3756, 0, 0, 211, 990, 1057, 2371, 8387
+1102, 3599, 0, 0, 212, 982, 1068, 2991, 8853
+1103, 2867, 0, 0, 208, 1011, 1083, 3079, 8249
+1104, 3722, 0, 0, 195, 1007, 975, 2438, 8338
+1105, 3453, 0, 0, 205, 989, 1296, 2552, 8496
+1106, 3862, 0, 0, 119, 978, 1238, 2230, 8428
+1107, 3674, 0, 0, 108, 1238, 1125, 2096, 8243
+1108, 3737, 0, 0, 133, 989, 950, 2650, 8461
+1109, 3654, 0, 0, 135, 1152, 1093, 2730, 8765
+1110, 3678, 0, 0, 128, 1030, 981, 2428, 8246
+1111, 3568, 0, 0, 115, 991, 959, 2302, 7937
+1112, 2367, 0, 0, 113, 722, 745, 1734, 5682
+1113, 1905, 0, 0, 253, 559, 564, 1597, 4879
+1114, 2509, 0, 0, 185, 554, 557, 1675, 5480
+1115, 2591, 0, 0, 1029, 723, 672, 1497, 6512
+1116, 2359, 0, 0, 162, 576, 779, 1632, 5510
+1117, 3179, 0, 0, 334, 829, 970, 1989, 7302
+1118, 2777, 0, 0, 673, 866, 827, 2116, 7260
+1119, 3698, 0, 0, 173, 752, 985, 1992, 7601
+1120, 2588, 0, 0, 698, 751, 774, 2046, 6858
+1121, 2273, 0, 0, 1184, 572, 591, 1306, 5926
+1122, 3026, 0, 0, 556, 573, 557, 1613, 6326
+1123, 2169, 0, 0, 1289, 576, 580, 1534, 6149
+1124, 2843, 0, 0, 868, 576, 552, 1480, 6320
+1125, 2403, 0, 0, 949, 716, 749, 1522, 6340
+1126, 2297, 0, 0, 879, 657, 564, 1444, 5842
+1127, 3092, 0, 0, 414, 738, 708, 2203, 7155
+1128, 2793, 0, 0, 955, 747, 707, 1831, 7034
+1129, 2593, 0, 0, 162, 714, 740, 1801, 6011
+1130, 2517, 0, 0, 729, 579, 552, 1482, 5859
+1131, 3465, 0, 0, 175, 747, 722, 1945, 7055
+1132, 2301, 0, 0, 996, 635, 731, 1515, 6178
+1133, 2473, 0, 0, 107, 601, 591, 1709, 5481
+1134, 2896, 0, 0, 99, 766, 643, 1617, 6022
+1135, 3198, 0, 0, 109, 739, 712, 2252, 7010
+1136, 2976, 0, 0, 206, 741, 746, 2350, 7020
+1137, 3228, 0, 0, 151, 734, 699, 1845, 6658
+1138, 3241, 0, 0, 308, 738, 704, 1904, 6895
+1139, 2672, 0, 0, 122, 741, 758, 2204, 6499
+1140, 3082, 0, 0, 113, 745, 702, 1890, 6533
+1141, 3302, 0, 0, 111, 932, 811, 1985, 7143
+1142, 3036, 0, 0, 124, 987, 980, 2807, 7935
+1143, 3982, 0, 0, 135, 1227, 882, 2459, 8687
+1144, 3332, 0, 0, 175, 714, 704, 1971, 6897
+1145, 3113, 0, 0, 338, 725, 723, 2242, 7142
+1146, 2712, 0, 0, 809, 718, 700, 1799, 6740
+1147, 4057, 0, 0, 211, 974, 944, 2628, 8815
+1148, 3900, 0, 0, 213, 983, 955, 3360, 9412
+1149, 3485, 0, 0, 211, 989, 983, 3418, 9087
+1150, 3612, 0, 0, 210, 1223, 1150, 3053, 9249
+1151, 4318, 0, 0, 201, 976, 1395, 2381, 9272
+1152, 3882, 0, 0, 222, 1088, 963, 2940, 9095
+1153, 3499, 0, 0, 216, 1337, 1499, 2526, 9078
+1154, 3469, 0, 0, 187, 714, 706, 2024, 7101
+1155, 3268, 0, 0, 214, 979, 1030, 3291, 8783
+1156, 4155, 0, 0, 233, 981, 954, 2812, 9135
+1157, 3254, 0, 0, 271, 991, 948, 2877, 8343
+1158, 3920, 0, 0, 213, 985, 1283, 2474, 8876
+1159, 2839, 0, 0, 653, 708, 1019, 2171, 7391
+1160, 2772, 0, 0, 690, 708, 708, 1929, 6808
+1161, 4207, 0, 0, 212, 1054, 971, 2414, 8859
+1162, 3516, 0, 0, 197, 1226, 1087, 2681, 8708
+1163, 3990, 0, 0, 138, 1234, 1077, 2572, 9012
+1164, 3475, 0, 0, 138, 1084, 877, 2689, 8264
+1165, 3234, 0, 0, 176, 704, 712, 1985, 6812
+1166, 2752, 0, 0, 115, 866, 1110, 2162, 7006
+1167, 3635, 0, 0, 134, 1031, 1536, 2933, 9270
+1168, 3172, 0, 0, 140, 1059, 1194, 2414, 7980
+1169, 2772, 0, 0, 220, 955, 738, 2019, 6706
+1170, 3202, 0, 0, 112, 688, 704, 1836, 6543
+1171, 2870, 0, 0, 203, 682, 731, 1550, 6038
+1172, 2690, 0, 0, 122, 598, 606, 1949, 5966
+1173, 2462, 0, 0, 108, 525, 566, 1717, 5379
+1174, 2622, 0, 0, 580, 490, 499, 1409, 5601
+1175, 1980, 0, 0, 1417, 496, 517, 1641, 6051
+1176, 1849, 0, 0, 1776, 545, 571, 1473, 6215
+1177, 2512, 0, 0, 921, 541, 666, 1411, 6051
+1178, 2650, 0, 0, 884, 531, 692, 1482, 6240
+1179, 2090, 0, 0, 1253, 726, 715, 1542, 6328
+1180, 1840, 0, 0, 1426, 470, 579, 1367, 5683
+1181, 2578, 0, 0, 138, 471, 510, 1622, 5321
+1182, 2014, 0, 0, 1571, 614, 567, 1656, 6424
+1183, 2230, 0, 0, 1267, 578, 686, 1452, 6214
+1184, 2317, 0, 0, 896, 478, 500, 1544, 5736
+1185, 2005, 0, 0, 1494, 473, 501, 1374, 5848
+1186, 2054, 0, 0, 1392, 604, 1049, 1475, 6575
+1187, 2760, 0, 0, 680, 559, 566, 1520, 6086
+1188, 2864, 0, 0, 653, 535, 559, 1555, 6167
+1189, 2165, 0, 0, 1302, 550, 587, 17386, 21991
+1190, 2117, 0, 0, 195, 600, 806, 1561, 5280
+1191, 2591, 0, 0, 592, 529, 599, 2189, 6500
+1192, 2241, 0, 0, 290, 607, 574, 2134, 5847
+1193, 2870, 0, 0, 368, 730, 966, 2129, 7064
+1194, 2543, 0, 0, 90, 689, 1017, 2059, 6398
+1195, 3478, 0, 0, 111, 680, 708, 2586, 7564
+1196, 2719, 0, 0, 113, 968, 896, 2135, 6832
+1197, 2756, 0, 0, 89, 681, 1335, 1680, 6542
+1198, 2701, 0, 0, 92, 771, 716, 2069, 6349
+1199, 3287, 0, 0, 93, 672, 793, 1583, 6428
+1200, 3301, 0, 0, 91, 674, 1276, 1586, 6929
+1201, 3410, 0, 0, 112, 1642, 1398, 2133, 8697
+1202, 3067, 0, 0, 129, 657, 905, 2041, 6800
+1203, 3059, 0, 0, 113, 821, 780, 2368, 7142
+1204, 3129, 0, 0, 116, 658, 698, 2025, 6627
+1205, 3688, 0, 0, 137, 897, 945, 3022, 8689
+1206, 3391, 0, 0, 213, 976, 970, 2769, 8321
+1207, 3069, 0, 0, 178, 948, 1040, 2209, 7445
+1208, 2913, 0, 0, 482, 708, 713, 1845, 6662
+1209, 2737, 0, 0, 591, 679, 705, 2262, 6976
+1210, 3437, 0, 0, 214, 1145, 1444, 2417, 8657
+1211, 3704, 0, 0, 234, 917, 943, 2460, 8258
+1212, 3769, 0, 0, 211, 957, 815, 2769, 8523
+1213, 3087, 0, 0, 329, 795, 800, 2046, 7058
+1214, 2812, 0, 0, 718, 661, 793, 2060, 7045
+1215, 4349, 0, 0, 199, 757, 758, 2322, 8385
+1216, 2842, 0, 0, 471, 654, 707, 2312, 6987
+1217, 2981, 0, 0, 370, 643, 816, 1982, 6793
+1218, 3199, 0, 0, 258, 657, 706, 1897, 6718
+1219, 3658, 0, 0, 198, 1070, 1080, 2305, 8312
+1220, 3319, 0, 0, 205, 885, 935, 2386, 7731
+1221, 3409, 0, 0, 217, 873, 812, 2866, 8178
+1222, 3091, 0, 0, 173, 654, 695, 1961, 6576
+1223, 2731, 0, 0, 537, 762, 863, 2201, 7095
+1224, 3405, 0, 0, 181, 1140, 1316, 2259, 8303
+1225, 3811, 0, 0, 132, 903, 958, 2410, 8215
+1226, 3714, 0, 0, 116, 1107, 1080, 2615, 8634
+1227, 3691, 0, 0, 135, 1066, 1135, 2465, 8493
+1228, 3399, 0, 0, 139, 976, 963, 2688, 8166
+1229, 3809, 0, 0, 136, 878, 939, 2411, 8174
+1230, 3481, 0, 0, 136, 875, 974, 3141, 8608
+1231, 3808, 0, 0, 112, 1085, 1605, 2342, 8954
+1232, 3444, 0, 0, 112, 645, 715, 1784, 6701
+1233, 2862, 0, 0, 109, 673, 721, 2294, 6659
+1234, 2254, 0, 0, 528, 502, 700, 1685, 5670
+1235, 2610, 0, 0, 94, 439, 537, 1643, 5324
+1236, 2528, 0, 0, 107, 437, 503, 1929, 5505
+1237, 2739, 0, 0, 154, 437, 525, 1459, 5315
+1238, 2441, 0, 0, 111, 437, 581, 1605, 5175
+1239, 1909, 0, 0, 130, 552, 706, 2105, 5403
+1240, 2019, 0, 0, 1495, 494, 716, 1496, 6221
+1241, 2134, 0, 0, 1305, 466, 497, 1577, 5980
+1242, 2501, 0, 0, 893, 518, 552, 1548, 6013
+1243, 2611, 0, 0, 752, 516, 558, 1723, 6161
+1244, 2106, 0, 0, 1236, 516, 607, 1653, 6119
+1245, 2842, 0, 0, 698, 518, 555, 1616, 6230
+1246, 2613, 0, 0, 155, 572, 562, 1803, 5707
+1247, 2144, 0, 0, 1278, 513, 1467, 1787, 7190
+1248, 2798, 0, 0, 754, 538, 559, 1819, 6469
+1249, 3185, 0, 0, 257, 748, 863, 2334, 7388
+1250, 3066, 0, 0, 181, 666, 882, 2196, 6991
+1251, 2736, 0, 0, 258, 662, 708, 2114, 6479
+1252, 3451, 0, 0, 181, 645, 785, 2119, 7182
+1253, 2794, 0, 0, 308, 650, 713, 2792, 7257
+1254, 2841, 0, 0, 179, 676, 986, 2762, 7444
+1255, 2847, 0, 0, 179, 652, 708, 2466, 6853
+1256, 3060, 0, 0, 167, 741, 971, 1886, 6827
+1257, 3621, 0, 0, 277, 969, 973, 2788, 8630
+1258, 2743, 0, 0, 132, 978, 1074, 3264, 8192
+1259, 3401, 0, 0, 112, 974, 746, 1955, 7189
+1260, 2629, 0, 0, 113, 681, 976, 2160, 6559
+1261, 7147, 0, 0, 108, 431, 551, 11007, 19245
+1262, 2310, 0, 0, 75, 325, 370, 1143, 4224
+1263, 2651, 0, 0, 111, 329, 447, 1586, 5125
+1264, 2252, 0, 0, 136, 391, 535, 1412, 4727
+1265, 2847, 0, 0, 102, 423, 462, 1646, 5481
+1266, 3173, 0, 0, 142, 422, 497, 1391, 5626
+1267, 2831, 0, 0, 112, 416, 468, 1585, 5413
+1268, 2927, 0, 0, 134, 424, 543, 1532, 5560
+1269, 3151, 0, 0, 185, 569, 714, 1595, 6215
+1270, 2875, 0, 0, 105, 420, 489, 1840, 5731
+1271, 3223, 0, 0, 123, 566, 638, 2210, 6760
+1272, 3496, 0, 0, 125, 582, 644, 2024, 6871
diff --git a/platform/ios/benchmark/MBXBenchViewController.mm b/platform/ios/benchmark/MBXBenchViewController.mm
index d4629e2521..4aff6164fd 100644
--- a/platform/ios/benchmark/MBXBenchViewController.mm
+++ b/platform/ios/benchmark/MBXBenchViewController.mm
@@ -36,8 +36,8 @@
[super viewDidLoad];
// Use a local style and local assets if they’ve been downloaded.
- NSURL *tileSourceURL = [[NSBundle mainBundle] URLForResource:@"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6" withExtension:nil subdirectory:@"tiles"];
- NSURL *url = [NSURL URLWithString:tileSourceURL ? @"asset://styles/streets-v8.json" : @"mapbox://styles/mapbox/streets-v8"];
+ NSURL *tileSourceURL = [[NSBundle mainBundle] URLForResource:@"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7" withExtension:nil subdirectory:@"tiles"];
+ NSURL *url = [NSURL URLWithString:tileSourceURL ? @"asset://styles/streets-v8.json" : @"mapbox://styles/mapbox/streets-v10"];
self.mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds styleURL:url];
self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.mapView.delegate = self;
@@ -91,13 +91,19 @@ std::chrono::steady_clock::time_point started;
std::vector<std::pair<std::string, double>> result;
static const int warmupDuration = 20; // frames
-static const int benchmarkDuration = 200; // frames
+static const int benchmarkDuration = 600; // frames
- (void)startBenchmarkIteration
{
if (mbgl::bench::locations.size() > idx) {
const auto& location = mbgl::bench::locations[idx];
+ [self.mapView resetPosition];
[self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(location.latitude, location.longitude) zoomLevel:location.zoom animated:NO];
+ if (location.pitch) {
+ MGLMapCamera *camera = [MGLMapCamera cameraLookingAtCenterCoordinate:self.mapView.centerCoordinate fromDistance:self.mapView.camera.altitude pitch:location.pitch heading:location.bearing];
+ [self.mapView setCamera:camera animated:NO];
+ }
+
self.mapView.direction = location.bearing;
state = State::WaitingForAssets;
NSLog(@"Benchmarking \"%s\"", location.name.c_str());
@@ -151,6 +157,18 @@ static const int benchmarkDuration = 200; // frames
if (frames >= warmupDuration)
{
frames = 0;
+ const auto& location = mbgl::bench::locations[idx];
+ if (location.pitch) {
+ MGLMapCamera *camera = [MGLMapCamera cameraLookingAtCenterCoordinate:self.mapView.centerCoordinate fromDistance:self.mapView.camera.altitude pitch:location.pitch heading:location.endBearing];
+ [self.mapView setCamera:camera withDuration:10 animationTimingFunction:nil];
+ } else if (location.endZoom) {
+ [self.mapView setCenterCoordinate:self.mapView.centerCoordinate zoomLevel:location.endZoom animated:NO];
+ CLLocationDistance targetAltitude = self.mapView.camera.altitude; // Yikes, why is the API making me do this?
+ [self.mapView setCenterCoordinate:self.mapView.centerCoordinate zoomLevel:location.zoom animated:NO];
+ MGLMapCamera *camera = [MGLMapCamera cameraLookingAtCenterCoordinate:self.mapView.centerCoordinate fromDistance:targetAltitude pitch:location.pitch heading:location.endBearing];
+ [self.mapView setCamera:camera withDuration:10 animationTimingFunction:nil];
+ }
+
state = State::Benchmarking;
started = std::chrono::steady_clock::now();
NSLog(@"- Benchmarking for %d frames...", benchmarkDuration);
diff --git a/platform/ios/benchmark/locations.cpp b/platform/ios/benchmark/locations.cpp
index 9f53877e40..7ab28e95c8 100644
--- a/platform/ios/benchmark/locations.cpp
+++ b/platform/ios/benchmark/locations.cpp
@@ -4,14 +4,16 @@ namespace mbgl {
namespace bench {
const std::vector<Location> locations = {
- { "paris", 2.3411, 48.8664, 11, 0.0 },
- { "paris2", 2.3516, 48.8356, 13, 273.8 },
- { "alps", 10.6107, 46.9599, 6, 0.0 },
- { "us east", -84.3395, 36.9400, 5, 0.0 },
- { "greater la", -117.9529, 34.0259, 9, 0.0 },
- { "sf", -122.4202, 37.7625, 14, 0.0 },
- { "oakland", -122.2328, 37.8267, 12, 0.0 },
- { "germany", 9.2280, 50.9262, 6, 0.0 },
+// { "paris", 2.3411, 48.8664, 11, 0.0, 0, 0 },
+// { "paris2", 2.3516, 48.8356, 13, 273.8, 0, 0 },
+// { "alps", 10.6107, 46.9599, 6, 0.0, 0, 0 },
+// { "us east", -84.3395, 36.9400, 5, 0.0, 0, 0 },
+// { "greater la", -117.9529, 34.0259, 9, 0.0, 0, 0 },
+// { "sf", -122.4202, 37.7625, 14, 0.0, 0, 0 },
+// { "oakland", -122.2328, 37.8267, 12, 0.0, 0, 0 },
+// { "germany", 9.2280, 50.9262, 6, 0.0, 0, 0 },
+ { "la pitched", -118.3133, 33.9612, 13.86, 0, 60, 180, 13.86 },
+ { "la zoom", -118.3133, 33.9612, 10, 0, 0, 0, 14 }
};
}
diff --git a/platform/ios/benchmark/locations.hpp b/platform/ios/benchmark/locations.hpp
index 1ea65d6280..9f796bfcc9 100644
--- a/platform/ios/benchmark/locations.hpp
+++ b/platform/ios/benchmark/locations.hpp
@@ -12,6 +12,9 @@ struct Location {
const double latitude;
const double zoom;
const double bearing;
+ const double pitch;
+ const double endBearing;
+ const double endZoom;
};
extern const std::vector<Location> locations;
diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj
index a3ccc9337b..c6776d20d2 100644
--- a/platform/ios/ios.xcodeproj/project.pbxproj
+++ b/platform/ios/ios.xcodeproj/project.pbxproj
@@ -2082,6 +2082,7 @@
};
DABCABA71CB80692000A7C39 = {
CreatedOnToolsVersion = 7.3;
+ DevelopmentTeam = JL7Z68ZVPL;
};
};
};
@@ -3003,6 +3004,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEVELOPMENT_TEAM = JL7Z68ZVPL;
INFOPLIST_FILE = "$(SRCROOT)/benchmark/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -3015,6 +3017,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEVELOPMENT_TEAM = JL7Z68ZVPL;
INFOPLIST_FILE = "$(SRCROOT)/benchmark/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index e194c9c857..96f979cdcf 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -69,11 +69,18 @@ bool RenderSymbolLayer::hasTransition() const {
return unevaluated.hasTransition();
}
-void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
+void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource* source) {
+ renderWithTiming(parameters, source);
+}
+
+std::pair<uint64_t,uint64_t> RenderSymbolLayer::renderWithTiming(PaintParameters& parameters, RenderSource*) {
+ uint64_t reprojectTime = 0;
+ std::chrono::steady_clock::time_point started = std::chrono::steady_clock::now();
if (parameters.pass == RenderPass::Opaque) {
- return;
+ return std::make_pair(0,0);
}
+
for (const RenderTile& tile : renderTiles) {
assert(dynamic_cast<SymbolBucket*>(tile.tile.getBucket(*baseImpl)));
SymbolBucket& bucket = *reinterpret_cast<SymbolBucket*>(tile.tile.getBucket(*baseImpl));
@@ -126,6 +133,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
layout.get<IconRotationAlignment>() == AlignmentType::Map;
if (alongLine) {
+ std::chrono::steady_clock::time_point startedReproject = std::chrono::steady_clock::now();
+
reprojectLineLabels(bucket.icon.dynamicVertices,
bucket.icon.placedSymbols,
tile.matrix,
@@ -135,6 +144,9 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.state);
parameters.context.updateVertexBuffer(*bucket.icon.dynamicVertexBuffer, std::move(bucket.icon.dynamicVertices));
+ std::chrono::steady_clock::time_point finishedReproject = std::chrono::steady_clock::now();
+ reprojectTime += std::chrono::duration_cast<std::chrono::microseconds>(finishedReproject - startedReproject).count();
+
}
const bool iconScaled = layout.get<IconSize>().constantOr(1.0) != 1.0 || bucket.iconsNeedLinear;
@@ -187,6 +199,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
layout.get<TextRotationAlignment>() == AlignmentType::Map;
if (alongLine) {
+ std::chrono::steady_clock::time_point startedReproject = std::chrono::steady_clock::now();
+
reprojectLineLabels(bucket.text.dynamicVertices,
bucket.text.placedSymbols,
tile.matrix,
@@ -196,6 +210,9 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.state);
parameters.context.updateVertexBuffer(*bucket.text.dynamicVertexBuffer, std::move(bucket.text.dynamicVertices));
+ std::chrono::steady_clock::time_point finishedReproject = std::chrono::steady_clock::now();
+ reprojectTime += std::chrono::duration_cast<std::chrono::microseconds>(finishedReproject - startedReproject).count();
+
}
const Size texsize = geometryTile.glyphAtlasTexture->size;
@@ -290,6 +307,10 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
}
}
+ std::chrono::steady_clock::time_point finished = std::chrono::steady_clock::now();
+ uint64_t totalTime = std::chrono::duration_cast<std::chrono::microseconds>(finished - started).count();
+ return std::make_pair(reprojectTime, totalTime);
+
}
style::IconPaintProperties::PossiblyEvaluated RenderSymbolLayer::iconPaintProperties() const {
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.hpp b/src/mbgl/renderer/layers/render_symbol_layer.hpp
index 83709b5122..4966e03cc0 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.hpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.hpp
@@ -67,6 +67,8 @@ public:
void evaluate(const PropertyEvaluationParameters&) override;
bool hasTransition() const override;
void render(PaintParameters&, RenderSource*) override;
+ std::pair<uint64_t,uint64_t> renderWithTiming(PaintParameters&, RenderSource*);
+
style::IconPaintProperties::PossiblyEvaluated iconPaintProperties() const;
style::TextPaintProperties::PossiblyEvaluated textPaintProperties() const;
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index af0c491e15..f26a2a26f9 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -29,6 +29,8 @@
#include <mbgl/util/string.hpp>
#include <mbgl/util/logging.hpp>
+#include <iostream>
+
namespace mbgl {
using namespace style;
@@ -83,6 +85,9 @@ void Renderer::Impl::setObserver(RendererObserver* observer_) {
}
void Renderer::Impl::render(const UpdateParameters& updateParameters) {
+ static uint32_t frameID = 0;
+ std::chrono::steady_clock::time_point started = std::chrono::steady_clock::now();
+ std::cout << frameID++ << ", ";
if (updateParameters.mode == MapMode::Still) {
// Don't load/render anyting in still mode until explicitly requested.
if (!updateParameters.stillImageRequest) {
@@ -365,6 +370,9 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
order.emplace_back(RenderItem { *layer, source });
}
+ std::chrono::steady_clock::time_point builtTiles = std::chrono::steady_clock::now();
+ std::cout << std::chrono::duration_cast<std::chrono::microseconds>(builtTiles - started).count() << ", ";
+
bool symbolBucketsChanged = false;
if (parameters.mapMode == MapMode::Still) {
// TODO: Think about right way for symbol index to handle still rendering
@@ -396,6 +404,9 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
parameters.symbolFadeChange = placement->symbolFadeChange(parameters.timePoint);
+
+ std::chrono::steady_clock::time_point placementTime = std::chrono::steady_clock::now();
+ std::cout << std::chrono::duration_cast<std::chrono::microseconds>(placementTime - builtTiles).count() << ", ";
if (placementChanged || symbolBucketsChanged) {
for (auto it = order.rbegin(); it != order.rend(); ++it) {
@@ -404,6 +415,9 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
}
}
+
+ std::chrono::steady_clock::time_point updateOpacities = std::chrono::steady_clock::now();
+ std::cout << std::chrono::duration_cast<std::chrono::microseconds>(updateOpacities - placementTime).count() << ", ";
// - UPLOAD PASS -------------------------------------------------------------------------------
// Uploads all required buffers and images before we do any actual rendering.
@@ -420,6 +434,9 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
}
}
+
+ std::chrono::steady_clock::time_point uploadTime = std::chrono::steady_clock::now();
+ std::cout << std::chrono::duration_cast<std::chrono::microseconds>(uploadTime - updateOpacities).count() << ", ";
// - 3D PASS -------------------------------------------------------------------------------------
// Renders any 3D layers bottom-to-top to unique FBOs with texture attachments, but share the same
@@ -530,6 +547,9 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
// Actually render the layers
+ uint64_t reprojectTime = 0;
+ uint64_t symbolTime = 0;
+
parameters.depthRangeSize = 1 - (order.size() + 2) * parameters.numSublayers * parameters.depthEpsilon;
// - OPAQUE PASS -------------------------------------------------------------------------------
@@ -559,7 +579,14 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
parameters.currentLayer = i;
if (it->layer.hasRenderPass(parameters.pass)) {
MBGL_DEBUG_GROUP(parameters.context, it->layer.getID());
- it->layer.render(parameters, it->source);
+ if (it->layer.as<RenderSymbolLayer>()) {
+ auto timing = it->layer.as<RenderSymbolLayer>()->renderWithTiming(parameters, it->source);
+ reprojectTime += timing.first;
+ symbolTime += timing.second;
+ } else {
+ it->layer.render(parameters, it->source);
+ }
+
}
}
}
@@ -630,6 +657,18 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
// Cleanup only after signaling completion
parameters.context.performCleanup();
+
+ std::chrono::steady_clock::time_point renderTime = std::chrono::steady_clock::now();
+
+ symbolTime -= reprojectTime;
+ std::cout << reprojectTime << ", " << symbolTime << ", ";
+
+ uint64_t totalRenderTime = std::chrono::duration_cast<std::chrono::microseconds>(renderTime - uploadTime).count();
+ std::cout << totalRenderTime - symbolTime - reprojectTime << ", ";
+
+
+ std::cout << std::chrono::duration_cast<std::chrono::microseconds>(renderTime - started).count() << std::endl;
+
}
std::vector<Feature> Renderer::Impl::queryRenderedFeatures(const ScreenLineString& geometry, const RenderedQueryOptions& options) const {