How to use rect method in chromy

Best JavaScript code snippet using chromy

test_main.py

Source: test_main.py Github

copy

Full Screen

1from unittest import TestCase2from main import join_rectangles, Rect3class Test(TestCase):4 def test_again(self):5 rects = [Rect(x=1806, y=454, w=1122, h=1282), Rect(x=2298, y=484, w=101, h=86), Rect(x=388, y=488, w=1114, h=1236), Rect(x=2117, y=492, w=38, h=39), Rect(x=2654, y=492, w=7, h=8), Rect(x=2697, y=492, w=46, h=28), Rect(x=2491, y=495, w=14, h=16), Rect(x=2772, y=495, w=13, h=14), Rect(x=1945, y=499, w=59, h=12), Rect(x=2450, y=498, w=11, h=12), Rect(x=2615, y=499, w=11, h=10), Rect(x=2031, y=501, w=16, h=16), Rect(x=2071, y=501, w=10, h=10), Rect(x=2201, y=501, w=7, h=6), Rect(x=2532, y=502, w=57, h=11), Rect(x=2788, y=503, w=9, h=10), Rect(x=2787, y=509, w=70, h=67), Rect(x=2437, y=510, w=14, h=15), Rect(x=2757, y=510, w=14, h=15), Rect(x=2083, y=512, w=10, h=11), Rect(x=2186, y=513, w=13, h=12), Rect(x=2670, y=512, w=14, h=13), Rect(x=1947, y=514, w=59, h=13), Rect(x=2245, y=514, w=13, h=15), Rect(x=2535, y=514, w=52, h=11), Rect(x=2596, y=516, w=16, h=14), Rect(x=1840, y=518, w=70, h=73), Rect(x=2012, y=519, w=16, h=16), Rect(x=2457, y=518, w=35, h=39), Rect(x=2779, y=520, w=13, h=21), Rect(x=2031, y=523, w=51, h=45), Rect(x=1926, y=525, w=7, h=6), Rect(x=2747, y=525, w=10, h=10), Rect(x=2430, y=526, w=7, h=7), Rect(x=2517, y=527, w=13, h=12), Rect(x=2199, y=528, w=45, h=32), Rect(x=2687, y=529, w=11, h=13), Rect(x=389, y=531, w=20, h=21), Rect(x=2164, y=531, w=17, h=16), Rect(x=2260, y=531, w=10, h=13), Rect(x=2102, y=533, w=8, h=7), Rect(x=2585, y=533, w=10, h=10), Rect(x=1938, y=538, w=14, h=13), Rect(x=2533, y=543, w=10, h=11), Rect(x=2832, y=542, w=8, h=8), Rect(x=2700, y=545, w=8, h=8), Rect(x=2574, y=546, w=10, h=8), Rect(x=401, y=549, w=12, h=5), Rect(x=2274, y=548, w=11, h=12), Rect(x=2154, y=551, w=8, h=6), Rect(x=2826, y=554, w=6, h=7), Rect(x=1822, y=573, w=12, h=10), Rect(x=847, y=577, w=29, h=13), Rect(x=894, y=577, w=26, h=12), Rect(x=939, y=577, w=27, h=11), Rect(x=984, y=576, w=33, h=11), Rect(x=1033, y=577, w=29, h=10), Rect(x=1080, y=577, w=33, h=11), Rect(x=1131, y=577, w=25, h=10), Rect(x=1174, y=576, w=22, h=10), Rect(x=1218, y=576, w=24, h=10), Rect(x=1258, y=576, w=26, h=10), Rect(x=1290, y=576, w=27, h=10), Rect(x=1323, y=576, w=25, h=10), Rect(x=665, y=579, w=31, h=13), Rect(x=707, y=579, w=35, h=12), Rect(x=759, y=579, w=27, h=10), Rect(x=803, y=578, w=32, h=11), Rect(x=592, y=581, w=24, h=12), Rect(x=630, y=580, w=29, h=13), Rect(x=518, y=583, w=28, h=30), Rect(x=557, y=582, w=21, h=12), Rect(x=1352, y=582, w=12, h=14), Rect(x=1849, y=586, w=14, h=9), Rect(x=2168, y=589, w=8, h=8), Rect(x=2474, y=589, w=7, h=7), Rect(x=1865, y=593, w=10, h=7), Rect(x=1937, y=593, w=7, h=12), Rect(x=2422, y=592, w=10, h=10), Rect(x=1362, y=599, w=13, h=15), Rect(x=1960, y=598, w=11, h=17), Rect(x=2125, y=599, w=8, h=8), Rect(x=2245, y=598, w=9, h=15), Rect(x=2282, y=598, w=11, h=13), Rect(x=2148, y=600, w=7, h=7), Rect(x=2166, y=600, w=7, h=7), Rect(x=2189, y=600, w=14, h=15), Rect(x=2208, y=600, w=6, h=8), Rect(x=2399, y=601, w=8, h=12), Rect(x=2018, y=606, w=6, h=8), Rect(x=2388, y=610, w=10, h=16), Rect(x=2153, y=613, w=8, h=7), Rect(x=2318, y=615, w=6, h=7), Rect(x=2370, y=615, w=8, h=11), Rect(x=481, y=616, w=38, h=28), Rect(x=1382, y=617, w=22, h=27), Rect(x=1953, y=617, w=7, h=6), Rect(x=2304, y=616, w=9, h=11), Rect(x=2362, y=617, w=6, h=7), Rect(x=2438, y=620, w=7, h=7), Rect(x=1986, y=622, w=6, h=7), Rect(x=2809, y=622, w=69, h=9), Rect(x=1943, y=630, w=8, h=6), Rect(x=1954, y=632, w=12, h=8), Rect(x=1824, y=634, w=64, h=9), Rect(x=1985, y=640, w=13, h=17), Rect(x=2811, y=640, w=65, h=9), Rect(x=1944, y=645, w=7, h=11), Rect(x=2019, y=647, w=11, h=9), Rect(x=2438, y=647, w=8, h=6), Rect(x=2448, y=646, w=8, h=6), Rect(x=476, y=648, w=15, h=29), Rect(x=1395, y=650, w=9, h=20), Rect(x=1823, y=657, w=65, h=9), Rect(x=1909, y=659, w=6, h=7), Rect(x=2687, y=658, w=6, h=8), Rect(x=2812, y=659, w=64, h=10), Rect(x=1959, y=660, w=7, h=7), Rect(x=1944, y=662, w=8, h=11), Rect(x=2004, y=664, w=7, h=7), Rect(x=2028, y=664, w=7, h=22), Rect(x=2439, y=665, w=7, h=6), Rect(x=1987, y=666, w=13, h=10), Rect(x=2450, y=666, w=12, h=9), Rect(x=1823, y=677, w=64, h=8), Rect(x=1940, y=678, w=24, h=27), Rect(x=2462, y=679, w=7, h=6), Rect(x=1983, y=681, w=18, h=15), Rect(x=2666, y=681, w=10, h=10), Rect(x=2019, y=682, w=8, h=7), Rect(x=2687, y=682, w=6, h=7), Rect(x=476, y=684, w=15, h=32), Rect(x=2448, y=685, w=13, h=14), Rect(x=2437, y=688, w=8, h=8), Rect(x=1395, y=691, w=11, h=17), Rect(x=2032, y=695, w=20, h=55), Rect(x=2461, y=694, w=9, h=11), Rect(x=2003, y=698, w=8, h=9), Rect(x=2449, y=704, w=12, h=9), Rect(x=1950, y=708, w=15, h=10), Rect(x=1987, y=708, w=15, h=9), Rect(x=2461, y=714, w=12, h=10), Rect(x=2697, y=714, w=5, h=7), Rect(x=1982, y=718, w=8, h=7), Rect(x=1942, y=720, w=9, h=8), Rect(x=2019, y=720, w=9, h=9), Rect(x=1395, y=724, w=11, h=26), Rect(x=1825, y=724, w=65, h=9), Rect(x=2448, y=725, w=13, h=11), Rect(x=1950, y=726, w=8, h=11), Rect(x=2695, y=727, w=18, h=9), Rect(x=2006, y=732, w=7, h=7), Rect(x=2462, y=733, w=11, h=8), Rect(x=477, y=734, w=15, h=22), Rect(x=1989, y=734, w=7, h=6), Rect(x=1940, y=738, w=10, h=12), Rect(x=1996, y=739, w=6, h=7), Rect(x=1949, y=743, w=10, h=10), Rect(x=2693, y=742, w=28, h=11), Rect(x=1911, y=746, w=7, h=6), Rect(x=1822, y=752, w=69, h=8), Rect(x=1990, y=755, w=7, h=7), Rect(x=1942, y=756, w=6, h=6), Rect(x=1960, y=756, w=6, h=7), Rect(x=2466, y=758, w=7, h=7), Rect(x=2695, y=760, w=15, h=10), Rect(x=1395, y=763, w=12, h=27), Rect(x=2023, y=763, w=5, h=7), Rect(x=1941, y=764, w=19, h=16), Rect(x=2711, y=764, w=9, h=8), Rect(x=2460, y=769, w=7, h=6), Rect(x=478, y=773, w=13, h=27), Rect(x=1996, y=772, w=7, h=9), Rect(x=2008, y=772, w=7, h=7), Rect(x=2701, y=773, w=8, h=8), Rect(x=2710, y=776, w=9, h=10), Rect(x=1981, y=778, w=15, h=8), Rect(x=2459, y=782, w=15, h=13), Rect(x=1947, y=787, w=12, h=9), Rect(x=1941, y=788, w=5, h=7), Rect(x=2486, y=791, w=7, h=6), Rect(x=1959, y=794, w=7, h=6), Rect(x=1989, y=799, w=16, h=9), Rect(x=1395, y=801, w=12, h=26), Rect(x=1945, y=800, w=8, h=7), Rect(x=1838, y=804, w=11, h=6), Rect(x=1850, y=805, w=40, h=11), Rect(x=2460, y=804, w=8, h=8), Rect(x=1823, y=806, w=10, h=6), Rect(x=2006, y=809, w=10, h=11), Rect(x=2486, y=808, w=10, h=8), Rect(x=478, y=811, w=14, h=30), Rect(x=1982, y=811, w=6, h=7), Rect(x=1950, y=812, w=9, h=7), Rect(x=2468, y=815, w=8, h=8), Rect(x=1990, y=823, w=12, h=9), Rect(x=2461, y=826, w=8, h=9), Rect(x=1842, y=832, w=48, h=11), Rect(x=1827, y=834, w=9, h=5), Rect(x=1983, y=837, w=6, h=8), Rect(x=1948, y=838, w=8, h=9), Rect(x=2810, y=839, w=73, h=72), Rect(x=1396, y=843, w=11, h=25), Rect(x=1988, y=842, w=8, h=9), Rect(x=2006, y=845, w=9, h=11), Rect(x=1853, y=853, w=37, h=19), Rect(x=1966, y=852, w=10, h=17), Rect(x=479, y=855, w=15, h=30), Rect(x=1995, y=854, w=7, h=6), Rect(x=1948, y=860, w=7, h=6), Rect(x=1983, y=864, w=12, h=13), Rect(x=1835, y=871, w=13, h=8), Rect(x=1825, y=879, w=15, h=17), Rect(x=1949, y=881, w=8, h=7), Rect(x=2006, y=881, w=9, h=10), Rect(x=2812, y=885, w=72, h=44), Rect(x=1397, y=886, w=10, h=27), Rect(x=1982, y=887, w=7, h=7), Rect(x=1990, y=888, w=12, h=13), Rect(x=479, y=896, w=14, h=24), Rect(x=1846, y=896, w=11, h=8), Rect(x=1860, y=903, w=34, h=20), Rect(x=1943, y=906, w=13, h=7), Rect(x=1823, y=910, w=11, h=8), Rect(x=2003, y=910, w=9, h=12), Rect(x=1840, y=918, w=10, h=8), Rect(x=1989, y=919, w=14, h=14), Rect(x=1855, y=925, w=40, h=23), Rect(x=1396, y=927, w=11, h=30), Rect(x=1945, y=928, w=12, h=10), Rect(x=480, y=936, w=12, h=29), Rect(x=1989, y=937, w=8, h=8), Rect(x=1823, y=938, w=8, h=7), Rect(x=1966, y=943, w=5, h=10), Rect(x=1838, y=947, w=11, h=10), Rect(x=1912, y=952, w=7, h=7), Rect(x=1852, y=956, w=40, h=46), Rect(x=1963, y=957, w=5, h=10), Rect(x=1982, y=958, w=12, h=20), Rect(x=1396, y=973, w=12, h=26), Rect(x=481, y=981, w=12, h=28), Rect(x=2161, y=1000, w=94, h=160), Rect(x=1844, y=1004, w=9, h=9), Rect(x=2312, y=1004, w=97, h=153), Rect(x=2463, y=1006, w=94, h=151), Rect(x=2816, y=1006, w=43, h=48), Rect(x=1050, y=1008, w=93, h=157), Rect(x=895, y=1012, w=90, h=157), Rect(x=755, y=1014, w=72, h=157), Rect(x=1831, y=1014, w=9, h=8), Rect(x=1397, y=1019, w=11, h=30), Rect(x=483, y=1027, w=11, h=28), Rect(x=1848, y=1029, w=13, h=9), Rect(x=1836, y=1039, w=10, h=9), Rect(x=1861, y=1043, w=14, h=11), Rect(x=2814, y=1044, w=72, h=88), Rect(x=1821, y=1050, w=11, h=8), Rect(x=484, y=1063, w=9, h=31), Rect(x=1860, y=1063, w=8, h=6), Rect(x=1832, y=1069, w=10, h=7), Rect(x=1397, y=1070, w=11, h=26), Rect(x=1831, y=1093, w=10, h=10), Rect(x=1843, y=1102, w=12, h=9), Rect(x=1858, y=1111, w=32, h=32), Rect(x=484, y=1113, w=11, h=27), Rect(x=1398, y=1113, w=11, h=25), Rect(x=1915, y=1112, w=8, h=6), Rect(x=2814, y=1113, w=73, h=36), Rect(x=2815, y=1133, w=71, h=78), Rect(x=1845, y=1143, w=13, h=9), Rect(x=1854, y=1144, w=39, h=24), Rect(x=1973, y=1145, w=11, h=13), Rect(x=1827, y=1154, w=15, h=8), Rect(x=484, y=1157, w=11, h=27), Rect(x=1397, y=1163, w=4, h=8), Rect(x=1399, y=1163, w=11, h=20), Rect(x=1965, y=1162, w=6, h=17), Rect(x=1841, y=1168, w=10, h=8), Rect(x=1915, y=1168, w=7, h=5), Rect(x=1824, y=1177, w=12, h=8), Rect(x=1832, y=1189, w=8, h=6), Rect(x=1972, y=1190, w=9, h=9), Rect(x=1847, y=1196, w=11, h=8), Rect(x=1397, y=1198, w=13, h=30), Rect(x=484, y=1201, w=12, h=23), Rect(x=1862, y=1203, w=35, h=22), Rect(x=1828, y=1206, w=7, h=6), Rect(x=1840, y=1211, w=11, h=9), Rect(x=1856, y=1219, w=12, h=11), Rect(x=1971, y=1226, w=12, h=9), Rect(x=1988, y=1227, w=14, h=19), Rect(x=1841, y=1229, w=22, h=14), Rect(x=1400, y=1236, w=12, h=28), Rect(x=485, y=1244, w=11, h=32), Rect(x=1987, y=1265, w=17, h=10), Rect(x=1856, y=1276, w=12, h=8), Rect(x=1400, y=1279, w=12, h=24), Rect(x=1966, y=1280, w=8, h=9), Rect(x=2823, y=1291, w=61, h=59), Rect(x=1988, y=1294, w=16, h=19), Rect(x=485, y=1297, w=13, h=31), Rect(x=1857, y=1299, w=10, h=24), Rect(x=1974, y=1308, w=7, h=8), Rect(x=1987, y=1317, w=8, h=6), Rect(x=1402, y=1318, w=11, h=27), Rect(x=2689, y=1328, w=11, h=8), Rect(x=1858, y=1332, w=7, h=7), Rect(x=1967, y=1338, w=16, h=7), Rect(x=1987, y=1341, w=17, h=9), Rect(x=485, y=1346, w=13, h=33), Rect(x=1955, y=1353, w=8, h=16), Rect(x=1867, y=1357, w=28, h=9), Rect(x=2712, y=1357, w=6, h=8), Rect(x=1852, y=1359, w=10, h=7), Rect(x=1402, y=1363, w=12, h=25), Rect(x=2682, y=1362, w=8, h=6), Rect(x=2824, y=1368, w=55, h=62), Rect(x=1988, y=1373, w=10, h=8), Rect(x=1966, y=1375, w=10, h=9), Rect(x=2655, y=1377, w=15, h=20), Rect(x=1837, y=1378, w=49, h=54), Rect(x=2705, y=1379, w=7, h=7), Rect(x=2000, y=1382, w=8, h=8), Rect(x=2693, y=1383, w=8, h=6), Rect(x=2737, y=1388, w=25, h=25), Rect(x=1958, y=1390, w=5, h=11), Rect(x=486, y=1397, w=12, h=27), Rect(x=2680, y=1398, w=8, h=8), Rect(x=1959, y=1403, w=4, h=8), Rect(x=1989, y=1402, w=10, h=9), Rect(x=2707, y=1405, w=13, h=9), Rect(x=2003, y=1406, w=11, h=9), Rect(x=2735, y=1407, w=13, h=9), Rect(x=1978, y=1413, w=7, h=7), Rect(x=2693, y=1412, w=7, h=7), Rect(x=1402, y=1415, w=12, h=18), Rect(x=1966, y=1420, w=9, h=10), Rect(x=2725, y=1425, w=15, h=9), Rect(x=2706, y=1430, w=12, h=10), Rect(x=1988, y=1432, w=12, h=13), Rect(x=2680, y=1435, w=9, h=9), Rect(x=1978, y=1437, w=7, h=7), Rect(x=486, y=1439, w=13, h=24), Rect(x=2820, y=1439, w=67, h=18), Rect(x=2692, y=1442, w=8, h=7), Rect(x=1402, y=1448, w=12, h=27), Rect(x=2733, y=1448, w=7, h=7), Rect(x=1852, y=1457, w=11, h=7), Rect(x=2704, y=1456, w=15, h=8), Rect(x=2723, y=1456, w=7, h=8), Rect(x=1835, y=1458, w=12, h=8), Rect(x=1865, y=1459, w=33, h=12), Rect(x=1970, y=1459, w=14, h=10), Rect(x=1991, y=1459, w=9, h=9), Rect(x=2666, y=1458, w=7, h=16), Rect(x=2692, y=1469, w=9, h=7), Rect(x=2762, y=1468, w=7, h=5), Rect(x=487, y=1474, w=11, h=26), Rect(x=2677, y=1474, w=7, h=7), Rect(x=2732, y=1475, w=7, h=6), Rect(x=2705, y=1479, w=14, h=13), Rect(x=2723, y=1480, w=7, h=8), Rect(x=1994, y=1482, w=9, h=8), Rect(x=2668, y=1483, w=7, h=6), Rect(x=2740, y=1482, w=7, h=6), Rect(x=2823, y=1483, w=64, h=10), Rect(x=2762, y=1484, w=7, h=7), Rect(x=1402, y=1488, w=12, h=25), Rect(x=1833, y=1489, w=62, h=7), Rect(x=2769, y=1492, w=8, h=7), Rect(x=2670, y=1494, w=14, h=22), Rect(x=2692, y=1496, w=7, h=7), Rect(x=2763, y=1501, w=15, h=10), Rect(x=2721, y=1505, w=7, h=6), Rect(x=2752, y=1506, w=7, h=6), Rect(x=2711, y=1511, w=6, h=7), Rect(x=487, y=1514, w=11, h=23), Rect(x=2702, y=1515, w=8, h=6), Rect(x=2770, y=1517, w=7, h=15), Rect(x=1833, y=1518, w=60, h=66), Rect(x=2692, y=1519, w=8, h=7), Rect(x=1403, y=1521, w=10, h=57), Rect(x=2761, y=1523, w=9, h=6), Rect(x=2733, y=1525, w=12, h=10), Rect(x=1848, y=1537, w=7, h=10), Rect(x=2679, y=1546, w=7, h=7), Rect(x=2732, y=1549, w=12, h=6), Rect(x=1839, y=1555, w=9, h=10), Rect(x=488, y=1557, w=11, h=24), Rect(x=2709, y=1575, w=5, h=7), Rect(x=489, y=1583, w=23, h=26), Rect(x=1394, y=1588, w=13, h=11), Rect(x=2296, y=1599, w=53, h=22), Rect(x=2374, y=1598, w=30, h=12), Rect(x=1379, y=1600, w=13, h=12), Rect(x=1850, y=1607, w=62, h=67), Rect(x=1862, y=1610, w=10, h=7), Rect(x=1354, y=1615, w=25, h=16), Rect(x=1836, y=1615, w=18, h=9), Rect(x=522, y=1619, w=33, h=19), Rect(x=1212, y=1623, w=20, h=10), Rect(x=1249, y=1623, w=23, h=10), Rect(x=1285, y=1623, w=19, h=9), Rect(x=1318, y=1622, w=19, h=11), Rect(x=960, y=1625, w=27, h=11), Rect(x=997, y=1625, w=27, h=9), Rect(x=1034, y=1625, w=28, h=9), Rect(x=1069, y=1625, w=25, h=9), Rect(x=1105, y=1624, w=26, h=11), Rect(x=1140, y=1624, w=21, h=10), Rect(x=1174, y=1624, w=23, h=10), Rect(x=2328, y=1625, w=77, h=65), Rect(x=821, y=1626, w=24, h=11), Rect(x=850, y=1627, w=22, h=10), Rect(x=883, y=1626, w=25, h=11), Rect(x=926, y=1627, w=22, h=9), Rect(x=564, y=1629, w=22, h=9), Rect(x=593, y=1629, w=24, h=9), Rect(x=626, y=1628, w=22, h=11), Rect(x=656, y=1628, w=20, h=11), Rect(x=687, y=1629, w=22, h=9), Rect(x=726, y=1629, w=20, h=10), Rect(x=756, y=1629, w=26, h=9), Rect(x=788, y=1628, w=21, h=9), Rect(x=2202, y=1628, w=53, h=41), Rect(x=2290, y=1630, w=18, h=13), Rect(x=2626, y=1635, w=62, h=10), Rect(x=2796, y=1636, w=15, h=34), Rect(x=2039, y=1638, w=62, h=20), Rect(x=2592, y=1640, w=7, h=9), Rect(x=2277, y=1643, w=9, h=7), Rect(x=2547, y=1642, w=10, h=9), Rect(x=2121, y=1644, w=12, h=13), Rect(x=1956, y=1646, w=7, h=6), Rect(x=2177, y=1647, w=9, h=9), Rect(x=2627, y=1646, w=57, h=12), Rect(x=1891, y=1648, w=9, h=7), Rect(x=2307, y=1648, w=14, h=31), Rect(x=2602, y=1651, w=7, h=7), Rect(x=2446, y=1652, w=11, h=10), Rect(x=1878, y=1655, w=10, h=7), Rect(x=2017, y=1655, w=12, h=11), Rect(x=2529, y=1654, w=14, h=13), Rect(x=2106, y=1657, w=15, h=15), Rect(x=2188, y=1657, w=7, h=8), Rect(x=2262, y=1657, w=9, h=9), Rect(x=2131, y=1660, w=46, h=27), Rect(x=2769, y=1661, w=15, h=15), Rect(x=1865, y=1662, w=9, h=7), Rect(x=2551, y=1663, w=46, h=32), Rect(x=2029, y=1665, w=8, h=10), Rect(x=2457, y=1664, w=9, h=9), Rect(x=2708, y=1665, w=46, h=12), Rect(x=2255, y=1667, w=8, h=7), Rect(x=1930, y=1668, w=12, h=11), Rect(x=2199, y=1669, w=6, h=6), Rect(x=1955, y=1670, w=61, h=12), Rect(x=2667, y=1671, w=16, h=16), Rect(x=2275, y=1675, w=37, h=9), Rect(x=2784, y=1674, w=11, h=13), Rect(x=2469, y=1677, w=15, h=14), Rect(x=2711, y=1677, w=46, h=12), Rect(x=2077, y=1678, w=22, h=22), Rect(x=1955, y=1683, w=61, h=12), Rect(x=1524, y=1987, w=49, h=61), Rect(x=1939, y=1987, w=59, h=62), Rect(x=653, y=1988, w=59, h=62), Rect(x=1617, y=2007, w=43, h=54), Rect(x=897, y=2009, w=42, h=41), Rect(x=1220, y=2009, w=33, h=42), Rect(x=1257, y=2009, w=42, h=42), Rect(x=1347, y=2008, w=30, h=43), Rect(x=1386, y=2009, w=34, h=41), Rect(x=1425, y=2009, w=43, h=42), Rect(x=1579, y=2009, w=36, h=41), Rect(x=1664, y=2009, w=41, h=40), Rect(x=1711, y=2008, w=41, h=42), Rect(x=1758, y=2008, w=33, h=42), Rect(x=2113, y=2009, w=32, h=41), Rect(x=2151, y=2009, w=42, h=40), Rect(x=2201, y=2008, w=32, h=42), Rect(x=2239, y=2008, w=39, h=59), Rect(x=2390, y=2009, w=46, h=41), Rect(x=2482, y=2009, w=39, h=40), Rect(x=2527, y=2008, w=34, h=43), Rect(x=2568, y=2008, w=60, h=43), Rect(x=2747, y=2009, w=41, h=43), Rect(x=2835, y=2009, w=38, h=60), Rect(x=721, y=2010, w=39, h=59), Rect(x=766, y=2010, w=34, h=41), Rect(x=808, y=2011, w=35, h=38), Rect(x=850, y=2011, w=41, h=40), Rect(x=943, y=2011, w=36, h=39), Rect(x=985, y=2010, w=43, h=40), Rect(x=1035, y=2010, w=34, h=41), Rect(x=1305, y=2010, w=35, h=41), Rect(x=2071, y=2010, w=34, h=41), Rect(x=2441, y=2010, w=34, h=41), Rect(x=2794, y=2010, w=33, h=42), Rect(x=2284, y=2012, w=36, h=39), Rect(x=2635, y=2012, w=42, h=39), Rect(x=1119, y=2025, w=74, h=7), Rect(x=1839, y=2024, w=72, h=7), Rect(x=525, y=2026, w=72, h=7), Rect(x=2879, y=2027, w=25, h=8), Rect(x=1798, y=2039, w=12, h=11), Rect(x=1078, y=2040, w=14, h=24), Rect(x=1558, y=2075, w=37, h=63), Rect(x=1431, y=2076, w=29, h=62), Rect(x=1688, y=2076, w=38, h=64), Rect(x=1985, y=2096, w=33, h=42), Rect(x=2078, y=2097, w=34, h=41), Rect(x=2159, y=2097, w=40, h=59), Rect(x=2409, y=2097, w=31, h=42), Rect(x=2449, y=2097, w=30, h=42), Rect(x=2486, y=2097, w=40, h=59), Rect(x=2530, y=2097, w=40, h=41), Rect(x=2665, y=2097, w=34, h=41), Rect(x=392, y=2099, w=35, h=40), Rect(x=432, y=2098, w=37, h=42), Rect(x=671, y=2099, w=39, h=59), Rect(x=807, y=2099, w=34, h=43), Rect(x=958, y=2099, w=37, h=41), Rect(x=1056, y=2099, w=44, h=41), Rect(x=1107, y=2099, w=34, h=41), Rect(x=1147, y=2098, w=41, h=59), Rect(x=1238, y=2098, w=41, h=53), Rect(x=1282, y=2099, w=21, h=40), Rect(x=1300, y=2099, w=24, h=41), Rect(x=1332, y=2099, w=32, h=42), Rect(x=1787, y=2099, w=46, h=42), Rect(x=1893, y=2098, w=42, h=40), Rect(x=1943, y=2098, w=34, h=41), Rect(x=2023, y=2098, w=49, h=40), Rect(x=2119, y=2098, w=34, h=41), Rect(x=2309, y=2099, w=37, h=41), Rect(x=2577, y=2099, w=36, h=41), Rect(x=2618, y=2098, w=39, h=40), Rect(x=2781, y=2098, w=39, h=41), Rect(x=2866, y=2099, w=35, h=42), Rect(x=474, y=2100, w=17, h=25), Rect(x=494, y=2101, w=20, h=39), Rect(x=519, y=2100, w=42, h=40), Rect(x=567, y=2101, w=41, h=40), Rect(x=715, y=2100, w=44, h=41), Rect(x=761, y=2100, w=40, h=52), Rect(x=848, y=2100, w=51, h=41), Rect(x=1192, y=2100, w=44, h=41), Rect(x=2204, y=2100, w=43, h=40), Rect(x=2825, y=2100, w=35, h=40), Rect(x=1475, y=2115, w=71, h=6), Rect(x=1605, y=2114, w=72, h=6), Rect(x=2707, y=2129, w=12, h=24), Rect(x=547, y=2167, w=37, h=62), Rect(x=392, y=2187, w=42, h=56), Rect(x=509, y=2187, w=32, h=42), Rect(x=752, y=2187, w=43, h=42), Rect(x=466, y=2189, w=35, h=40), Rect(x=589, y=2188, w=42, h=41), Rect(x=663, y=2188, w=42, h=40), Rect(x=713, y=2188, w=34, h=41), Rect(x=799, y=2188, w=44, h=56), Rect(x=845, y=2188, w=39, h=41), Rect(x=890, y=2189, w=43, h=40), Rect(x=939, y=2189, w=34, h=41), Rect(x=979, y=2188, w=33, h=42), Rect(x=1016, y=2189, w=44, h=41), Rect(x=1066, y=2219, w=12, h=11), Rect(x=523, y=2253, w=60, h=62), Rect(x=2699, y=2256, w=35, h=61), Rect(x=1969, y=2273, w=32, h=42), Rect(x=2198, y=2273, w=34, h=43), Rect(x=633, y=2275, w=57, h=42), Rect(x=696, y=2275, w=65, h=40), Rect(x=938, y=2275, w=33, h=42), Rect(x=1113, y=2275, w=39, h=59), Rect(x=1159, y=2274, w=32, h=42), Rect(x=1196, y=2275, w=43, h=42), Rect(x=1280, y=2275, w=37, h=41), Rect(x=1360, y=2274, w=32, h=43), Rect(x=1400, y=2275, w=32, h=42), Rect(x=1439, y=2275, w=39, h=59), Rect(x=1483, y=2274, w=41, h=42), Rect(x=1532, y=2275, w=34, h=41), Rect(x=1572, y=2275, w=39, h=40), Rect(x=1620, y=2275, w=34, h=41), Rect(x=1833, y=2274, w=37, h=41), Rect(x=1923, y=2275, w=40, h=52), Rect(x=2006, y=2274, w=41, h=41), Rect(x=2110, y=2275, w=40, h=40), Rect(x=2156, y=2275, w=34, h=41), Rect(x=2325, y=2274, w=32, h=43), Rect(x=2402, y=2275, w=32, h=42), Rect(x=2440, y=2274, w=32, h=41), Rect(x=2477, y=2274, w=34, h=43), Rect(x=2556, y=2275, w=42, h=41), Rect(x=2645, y=2275, w=48, h=41), Rect(x=587, y=2276, w=41, h=40), Rect(x=767, y=2276, w=38, h=42), Rect(x=846, y=2276, w=44, h=41), Rect(x=895, y=2276, w=36, h=41), Rect(x=975, y=2276, w=49, h=40), Rect(x=1031, y=2276, w=35, h=40), Rect(x=1072, y=2276, w=34, h=41), Rect(x=1698, y=2276, w=43, h=40), Rect(x=1785, y=2276, w=44, h=56), Rect(x=1876, y=2276, w=41, h=40), Rect(x=2276, y=2277, w=21, h=39), Rect(x=2295, y=2276, w=25, h=40), Rect(x=2604, y=2276, w=34, h=41), Rect(x=2739, y=2276, w=41, h=40), Rect(x=2787, y=2276, w=40, h=39), Rect(x=2835, y=2276, w=34, h=41), Rect(x=2875, y=2292, w=24, h=8), Rect(x=2056, y=2306, w=12, h=25), Rect(x=695, y=2341, w=37, h=63), Rect(x=1892, y=2341, w=37, h=63), Rect(x=2027, y=2341, w=29, h=63), Rect(x=568, y=2342, w=29, h=62), Rect(x=825, y=2343, w=38, h=64), Rect(x=1761, y=2342, w=38, h=64), Rect(x=389, y=2363, w=42, h=53), Rect(x=438, y=2364, w=41, h=40), Rect(x=897, y=2364, w=37, h=41), Rect(x=969, y=2365, w=31, h=42), Rect(x=1009, y=2365, w=31, h=42), Rect(x=1092, y=2364, w=40, h=41), Rect(x=1139, y=2365, w=38, h=42), Rect(x=1179, y=2365, w=41, h=41), Rect(x=1228, y=2365, w=32, h=42), Rect(x=1345, y=2365, w=35, h=42), Rect(x=1385, y=2365, w=41, h=41), Rect(x=1568, y=2365, w=32, h=42), Rect(x=1647, y=2365, w=33, h=42), Rect(x=1686, y=2365, w=41, h=41), Rect(x=484, y=2366, w=44, h=41), Rect(x=1047, y=2366, w=39, h=59), Rect(x=1295, y=2366, w=44, h=41), Rect(x=1432, y=2366, w=44, h=56), Rect(x=1478, y=2366, w=40, h=39), Rect(x=1525, y=2366, w=36, h=41), Rect(x=1606, y=2367, w=35, h=40), Rect(x=611, y=2380, w=73, h=7), Rect(x=742, y=2380, w=73, h=7), Rect(x=1809, y=2380, w=72, h=7), Rect(x=1941, y=2380, w=71, h=7), Rect(x=2069, y=2395, w=11, h=12), Rect(x=649, y=2429, w=59, h=64), Rect(x=2133, y=2429, w=59, h=63), Rect(x=2351, y=2430, w=60, h=64), Rect(x=1428, y=2432, w=11, h=48), Rect(x=1209, y=2434, w=37, h=62), Rect(x=713, y=2453, w=36, h=42), Rect(x=1127, y=2453, w=34, h=41), Rect(x=1251, y=2452, w=36, h=44), Rect(x=1571, y=2453, w=33, h=42), Rect(x=1609, y=2453, w=41, h=42), Rect(x=1699, y=2453, w=31, h=42), Rect(x=1897, y=2452, w=37, h=42), Rect(x=1939, y=2452, w=44, h=40), Rect(x=2314, y=2452, w=18, h=42), Rect(x=2429, y=2452, w=18, h=43), Rect(x=2532, y=2453, w=42, h=40), Rect(x=2581, y=2453, w=34, h=41), Rect(x=2620, y=2453, w=41, h=41), Rect(x=2666, y=2453, w=44, h=56), Rect(x=2717, y=2453, w=33, h=40), Rect(x=2757, y=2452, w=34, h=41), Rect(x=2800, y=2452, w=29, h=41), Rect(x=716, y=2454, w=10, h=14), Rect(x=754, y=2454, w=43, h=42), Rect(x=878, y=2454, w=39, h=59), Rect(x=924, y=2455, w=36, h=41), Rect(x=965, y=2454, w=32, h=43), Rect(x=1075, y=2454, w=44, h=40), Rect(x=1168, y=2454, w=34, h=41), Rect(x=1294, y=2454, w=39, h=59), Rect(x=1339, y=2454, w=34, h=41), Rect(x=1380, y=2454, w=34, h=41), Rect(x=1657, y=2454, w=36, h=41), Rect(x=1738, y=2454, w=34, h=41), Rect(x=1777, y=2455, w=41, h=40), Rect(x=2198, y=2454, w=31, h=42), Rect(x=2419, y=2455, w=14, h=37), Rect(x=2837, y=2454, w=33, h=39), Rect(x=2328, y=2456, w=14, h=34), Rect(x=520, y=2465, w=75, h=10), Rect(x=2032, y=2467, w=72, h=6), Rect(x=1471, y=2469, w=73, h=8), Rect(x=2876, y=2468, w=24, h=8), Rect(x=1427, y=2482, w=12, h=13), Rect(x=1991, y=2482, w=11, h=12), Rect(x=548, y=2521, w=53, h=62), Rect(x=509, y=2541, w=18, h=42), Rect(x=388, y=2542, w=34, h=41), Rect(x=426, y=2542, w=23, h=42), Rect(x=449, y=2542, w=20, h=41), Rect(x=622, y=2542, w=18, h=42), Rect(x=613, y=2545, w=13, h=36), Rect(x=522, y=2546, w=15, h=34), Rect(x=654, y=2574, w=12, h=11), Rect(x=653, y=2610, w=58, h=62), Rect(x=2316, y=2610, w=25, h=62), Rect(x=2340, y=2610, w=36, h=62), Rect(x=1586, y=2615, w=25, h=13), Rect(x=882, y=2631, w=32, h=42), Rect(x=970, y=2631, w=32, h=42), Rect(x=1009, y=2631, w=39, h=59), Rect(x=1444, y=2631, w=36, h=39), Rect(x=1485, y=2631, w=41, h=41), Rect(x=1829, y=2630, w=37, h=41), Rect(x=1872, y=2631, w=20, h=40), Rect(x=1891, y=2631, w=22, h=40), Rect(x=1919, y=2631, w=40, h=58), Rect(x=1964, y=2631, w=42, h=56), Rect(x=2010, y=2631, w=31, h=40), Rect(x=2048, y=2630, w=34, h=41), Rect(x=2089, y=2631, w=35, h=38), Rect(x=2131, y=2631, w=42, h=56), Rect(x=2177, y=2631, w=20, h=39), Rect(x=2196, y=2630, w=37, h=42), Rect(x=2437, y=2631, w=33, h=42), Rect(x=2529, y=2631, w=34, h=41), Rect(x=2571, y=2631, w=33, h=40), Rect(x=2611, y=2630, w=39, h=59), Rect(x=2655, y=2631, w=21, h=40), Rect(x=2676, y=2631, w=19, h=40), Rect(x=2864, y=2631, w=33, h=40), Rect(x=718, y=2633, w=43, h=57), Rect(x=920, y=2632, w=42, h=40), Rect(x=1148, y=2633, w=46, h=41), Rect(x=1200, y=2632, w=32, h=42), Rect(x=1238, y=2632, w=40, h=59), Rect(x=1286, y=2632, w=31, h=41), Rect(x=1324, y=2632, w=33, h=42), Rect(x=1361, y=2632, w=34, h=41), Rect(x=1403, y=2632, w=36, h=41), Rect(x=1532, y=2632, w=42, h=41), Rect(x=1578, y=2632, w=44, h=41), Rect(x=1680, y=2633, w=44, h=41), Rect(x=1730, y=2632, w=42, h=41), Rect(x=2475, y=2632, w=31, h=40), Rect(x=2505, y=2632, w=18, h=40), Rect(x=2777, y=2632, w=36, h=40), Rect(x=2822, y=2633, w=11, h=13), Rect(x=2830, y=2633, w=17, h=39), Rect(x=2844, y=2633, w=11, h=12), Rect(x=840, y=2635, w=35, h=40), Rect(x=1054, y=2634, w=36, h=39), Rect(x=523, y=2646, w=75, h=8), Rect(x=767, y=2662, w=13, h=25), Rect(x=2243, y=2662, w=11, h=11), Rect(x=2703, y=2663, w=14, h=24), Rect(x=389, y=2718, w=35, h=40), Rect(x=490, y=2719, w=42, h=41), Rect(x=430, y=2720, w=55, h=39), Rect(x=537, y=2720, w=35, h=42), Rect(x=578, y=2721, w=40, h=52), Rect(x=740, y=2720, w=37, h=41), Rect(x=814, y=2721, w=31, h=42), Rect(x=853, y=2721, w=32, h=41), Rect(x=892, y=2721, w=40, h=59), Rect(x=936, y=2721, w=42, h=41), Rect(x=1073, y=2721, w=32, h=42), Rect(x=623, y=2722, w=41, h=40), Rect(x=672, y=2722, w=33, h=40), Rect(x=986, y=2722, w=34, h=41), Rect(x=1025, y=2722, w=41, h=40), Rect(x=1115, y=2751, w=11, h=13), Rect(x=519, y=2786, w=60, h=62), Rect(x=667, y=2786, w=37, h=63), Rect(x=1878, y=2787, w=38, h=64), Rect(x=2009, y=2786, w=37, h=63), Rect(x=2255, y=2786, w=38, h=64), Rect(x=2516, y=2787, w=37, h=63), Rect(x=797, y=2788, w=38, h=64), Rect(x=933, y=2789, w=30, h=63), Rect(x=1751, y=2789, w=29, h=62), Rect(x=2390, y=2788, w=29, h=62), Rect(x=1485, y=2809, w=36, h=41), Rect(x=1521, y=2809, w=20, h=41), Rect(x=1613, y=2809, w=41, h=41), Rect(x=2058, y=2809, w=12, h=13), Rect(x=2603, y=2809, w=42, h=40), Rect(x=2651, y=2809, w=35, h=42), Rect(x=2690, y=2809, w=41, h=41), Rect(x=584, y=2810, w=31, h=42), Rect(x=1015, y=2811, w=37, h=41), Rect(x=1100, y=2810, w=31, h=42), Rect(x=1140, y=2810, w=32, h=42), Rect(x=1179, y=2810, w=39, h=59), Rect(x=1223, y=2810, w=41, h=42), Rect(x=1271, y=2811, w=36, h=41), Rect(x=1311, y=2810, w=43, h=42), Rect(x=1360, y=2811, w=32, h=42), Rect(x=1442, y=2810, w=37, h=41), Rect(x=1545, y=2810, w=65, h=40), Rect(x=2175, y=2810, w=9, h=16), Rect(x=2173, y=2810, w=32, h=42), Rect(x=2736, y=2810, w=42, h=56), Rect(x=2782, y=2810, w=36, h=40), Rect(x=2825, y=2810, w=19, h=40), Rect(x=2845, y=2811, w=22, h=39), Rect(x=1662, y=2812, w=34, h=41), Rect(x=2125, y=2812, w=21, h=40), Rect(x=2143, y=2812, w=24, h=39), Rect(x=714, y=2825, w=72, h=7), Rect(x=2304, y=2825, w=70, h=6), Rect(x=2433, y=2825, w=72, h=7), Rect(x=2872, y=2825, w=26, h=8), Rect(x=845, y=2826, w=73, h=7), Rect(x=1795, y=2826, w=72, h=6), Rect(x=1927, y=2826, w=70, h=6), Rect(x=2058, y=2839, w=13, h=25), Rect(x=584, y=2876, w=38, h=61), Rect(x=720, y=2877, w=29, h=62), Rect(x=846, y=2878, w=38, h=62), Rect(x=384, y=2897, w=44, h=40), Rect(x=435, y=2896, w=34, h=41), Rect(x=475, y=2896, w=34, h=43), Rect(x=513, y=2899, w=36, h=39), Rect(x=633, y=2915, w=71, h=5), Rect(x=762, y=2915, w=74, h=6), Rect(x=892, y=2929, w=12, h=12), Rect(x=648, y=2963, w=58, h=62), Rect(x=2086, y=2965, w=52, h=61), Rect(x=2619, y=2983, w=40, h=41), Rect(x=1703, y=2985, w=33, h=42), Rect(x=1741, y=2985, w=42, h=40), Rect(x=1790, y=2984, w=39, h=59), Rect(x=1835, y=2985, w=34, h=41), Rect(x=1877, y=2985, w=33, h=42), Rect(x=2275, y=2984, w=40, h=41), Rect(x=2322, y=2984, w=33, h=42), Rect(x=2502, y=2985, w=26, h=40), Rect(x=2529, y=2985, w=22, h=40), Rect(x=2558, y=2984, w=34, h=41), Rect(x=2599, y=2984, w=15, h=17), Rect(x=2664, y=2985, w=41, h=40), Rect(x=2808, y=2984, w=42, h=41), Rect(x=2855, y=2984, w=43, h=42), Rect(x=712, y=2986, w=44, h=56), Rect(x=837, y=2986, w=42, h=41), Rect(x=926, y=2987, w=43, h=42), Rect(x=1219, y=2987, w=40, h=52), Rect(x=1411, y=2986, w=32, h=42), Rect(x=1448, y=2987, w=66, h=39), Rect(x=1519, y=2987, w=36, h=39), Rect(x=1914, y=2986, w=41, h=40), Rect(x=1961, y=2987, w=41, h=41), Rect(x=2142, y=2986, w=34, h=41), Rect(x=2182, y=2986, w=40, h=52), Rect(x=2228, y=2986, w=41, h=40), Rect(x=885, y=2988, w=36, h=41), Rect(x=1047, y=2989, w=33, h=40), Rect(x=1085, y=2988, w=36, h=41), Rect(x=1121, y=2988, w=21, h=40), Rect(x=1264, y=2988, w=44, h=56), Rect(x=1312, y=2988, w=49, h=40), Rect(x=1368, y=2988, w=36, h=41), Rect(x=2713, y=2988, w=34, h=41), Rect(x=519, y=3000, w=74, h=9), Rect(x=1603, y=3001, w=73, h=7), Rect(x=2403, y=3000, w=71, h=7), Rect(x=2598, y=3003, w=20, h=22), Rect(x=1562, y=3014, w=14, h=24), Rect(x=2361, y=3014, w=12, h=24), Rect(x=761, y=3018, w=14, h=24), Rect(x=1500, y=3057, w=35, h=61), Rect(x=432, y=3072, w=42, h=41), Rect(x=521, y=3073, w=62, h=42), Rect(x=387, y=3074, w=44, h=56), Rect(x=480, y=3074, w=34, h=41), Rect(x=766, y=3075, w=42, h=41), Rect(x=856, y=3075, w=43, h=60), Rect(x=942, y=3075, w=34, h=41), Rect(x=1027, y=3075, w=42, h=41), Rect(x=1746, y=3075, w=44, h=41), Rect(x=1797, y=3075, w=32, h=42), Rect(x=1835, y=3074, w=40, h=59), Rect(x=2014, y=3075, w=31, h=42), Rect(x=2053, y=3075, w=32, h=42), Rect(x=2092, y=3074, w=40, h=61), Rect(x=2136, y=3074, w=41, h=42), Rect(x=2184, y=3074, w=34, h=41), Rect(x=2224, y=3074, w=41, h=41), Rect(x=2271, y=3075, w=34, h=41), Rect(x=2606, y=3075, w=32, h=43), Rect(x=2645, y=3075, w=32, h=42), Rect(x=2728, y=3074, w=41, h=43), Rect(x=2775, y=3074, w=35, h=43), Rect(x=2814, y=3075, w=42, h=42), Rect(x=2862, y=3075, w=33, h=43), Rect(x=587, y=3076, w=43, h=40), Rect(x=637, y=3076, w=34, h=41), Rect(x=676, y=3077, w=36, h=39), Rect(x=814, y=3076, w=34, h=41), Rect(x=902, y=3077, w=33, h=40), Rect(x=981, y=3077, w=40, h=39), Rect(x=1171, y=3076, w=34, h=41), Rect(x=1214, y=3076, w=34, h=41), Rect(x=1255, y=3076, w=41, h=42), Rect(x=1371, y=3077, w=40, h=40), Rect(x=1460, y=3076, w=34, h=41), Rect(x=1542, y=3076, w=35, h=40), Rect(x=1576, y=3076, w=21, h=40), Rect(x=1649, y=3076, w=44, h=42), Rect(x=1882, y=3076, w=32, h=42), Rect(x=1919, y=3077, w=40, h=52), Rect(x=2312, y=3076, w=51, h=41), Rect(x=2416, y=3077, w=43, h=40), Rect(x=2514, y=3076, w=37, h=41), Rect(x=2684, y=3076, w=40, h=59), Rect(x=1074, y=3078, w=43, h=40), Rect(x=1419, y=3078, w=33, h=40), Rect(x=1303, y=3107, w=13, h=26), Rect(x=1932, y=3144, w=28, h=49), Rect(x=386, y=3163, w=42, h=40), Rect(x=435, y=3164, w=34, h=41), Rect(x=476, y=3164, w=39, h=40), Rect(x=521, y=3165, w=44, h=56), Rect(x=567, y=3165, w=40, h=40), Rect(x=659, y=3164, w=43, h=42), Rect(x=708, y=3165, w=34, h=41), Rect(x=749, y=3165, w=33, h=42), Rect(x=787, y=3165, w=36, h=41), Rect(x=1178, y=3165, w=34, h=43), Rect(x=1246, y=3164, w=64, h=44), Rect(x=1383, y=3164, w=40, h=61), Rect(x=1471, y=3165, w=33, h=42), Rect(x=1603, y=3164, w=36, h=42), Rect(x=1687, y=3164, w=62, h=42), Rect(x=1755, y=3165, w=32, h=42), Rect(x=1793, y=3165, w=43, h=41), Rect(x=1892, y=3165, w=32, h=42), Rect(x=613, y=3166, w=43, h=40), Rect(x=857, y=3166, w=34, h=41), Rect(x=896, y=3166, w=41, h=53), Rect(x=941, y=3166, w=44, h=40), Rect(x=991, y=3166, w=34, h=41), Rect(x=1059, y=3166, w=44, h=41), Rect(x=1137, y=3166, w=34, h=41), Rect(x=1316, y=3166, w=32, h=42), Rect(x=1430, y=3166, w=36, h=41), Rect(x=1509, y=3166, w=42, h=40), Rect(x=1558, y=3166, w=34, h=41), Rect(x=1646, y=3166, w=34, h=41), Rect(x=1841, y=3166, w=43, h=40), Rect(x=1597, y=3192, w=16, h=14), Rect(x=1937, y=3195, w=12, h=12), Rect(x=1400, y=3220, w=5, h=4), Rect(x=1884, y=3231, w=60, h=62), Rect(x=2321, y=3231, w=60, h=63), Rect(x=647, y=3232, w=61, h=62), Rect(x=792, y=3253, w=32, h=42), Rect(x=1052, y=3253, w=41, h=42), Rect(x=1435, y=3253, w=32, h=42), Rect(x=1472, y=3253, w=42, h=54), Rect(x=1663, y=3253, w=32, h=42), Rect(x=1700, y=3253, w=44, h=41), Rect(x=1797, y=3253, w=43, h=40), Rect(x=1948, y=3252, w=41, h=41), Rect(x=2057, y=3253, w=65, h=40), Rect(x=2129, y=3253, w=34, h=41), Rect(x=2641, y=3253, w=62, h=42), Rect(x=2783, y=3252, w=32, h=44), Rect(x=2860, y=3253, w=36, h=42), Rect(x=741, y=3254, w=44, h=40), Rect(x=1014, y=3254, w=33, h=42), Rect(x=1100, y=3254, w=34, h=41), Rect(x=1143, y=3254, w=30, h=41), Rect(x=1181, y=3254, w=34, h=41), Rect(x=1305, y=3255, w=36, h=40), Rect(x=1383, y=3255, w=44, h=40), Rect(x=1518, y=3254, w=34, h=41), Rect(x=1558, y=3255, w=44, h=56), Rect(x=1606, y=3254, w=51, h=41), Rect(x=1749, y=3254, w=43, h=39), Rect(x=1995, y=3254, w=57, h=41), Rect(x=2386, y=3255, w=44, h=56), Rect(x=2469, y=3254, w=42, h=41), Rect(x=2517, y=3255, w=34, h=41), Rect(x=2556, y=3254, w=43, h=42), Rect(x=2709, y=3254, w=32, h=42), Rect(x=2820, y=3254, w=35, h=41), Rect(x=831, y=3256, w=33, h=39), Rect(x=1220, y=3257, w=43, h=42), Rect(x=520, y=3268, w=72, h=6), Rect(x=914, y=3269, w=73, h=7), Rect(x=2218, y=3269, w=73, h=7), Rect(x=712, y=3270, w=26, h=6), Rect(x=2172, y=3283, w=12, h=12), Rect(x=872, y=3284, w=14, h=24), Rect(x=765, y=3321, w=28, h=48), Rect(x=832, y=3320, w=60, h=63), Rect(x=1296, y=3322, w=11, h=47), Rect(x=429, y=3341, w=34, h=41), Rect(x=470, y=3341, w=31, h=42), Rect(x=605, y=3340, w=62, h=42), Rect(x=386, y=3343, w=35, h=38), Rect(x=508, y=3342, w=49, h=40), Rect(x=564, y=3342, w=34, h=41), Rect(x=671, y=3342, w=44, h=40), Rect(x=722, y=3342, w=34, h=41), Rect(x=899, y=3342, w=32, h=42), Rect(x=1079, y=3342, w=31, h=42), Rect(x=1116, y=3343, w=41, h=41), Rect(x=1205, y=3343, w=31, h=42), Rect(x=1243, y=3343, w=42, h=41), Rect(x=938, y=3344, w=34, h=41), Rect(x=1028, y=3344, w=44, h=40), Rect(x=1163, y=3345, w=36, h=39), Rect(x=769, y=3372, w=12, h=12), Rect(x=980, y=3372, w=13, h=25), Rect(x=1295, y=3372, w=12, h=12), Rect(x=646, y=3409, w=52, h=62), Rect(x=1975, y=3409, w=44, h=63), Rect(x=746, y=3430, w=41, h=42), Rect(x=937, y=3431, w=34, h=41), Rect(x=1017, y=3431, w=37, h=40), Rect(x=1062, y=3430, w=32, h=42), Rect(x=1526, y=3431, w=33, h=42), Rect(x=1785, y=3431, w=41, h=42), Rect(x=2025, y=3431, w=41, h=40), Rect(x=2075, y=3430, w=36, h=43), Rect(x=2115, y=3430, w=39, h=41), Rect(x=2161, y=3431, w=41, h=40), Rect(x=2209, y=3431, w=34, h=41), Rect(x=2529, y=3431, w=41, h=55), Rect(x=2755, y=3430, w=40, h=61), Rect(x=705, y=3432, w=36, h=41), Rect(x=979, y=3433, w=33, h=40), Rect(x=1099, y=3433, w=40, h=39), Rect(x=1147, y=3432, w=36, h=41), Rect(x=1187, y=3432, w=41, h=41), Rect(x=1276, y=3432, w=32, h=42), Rect(x=1315, y=3432, w=31, h=40), Rect(x=1351, y=3433, w=36, h=41), Rect(x=1434, y=3433, w=44, h=40), Rect(x=1484, y=3433, w=36, h=41), Rect(x=1606, y=3432, w=34, h=41), Rect(x=1646, y=3432, w=37, h=40), Rect(x=1689, y=3433, w=41, h=40), Rect(x=1737, y=3433, w=43, h=40), Rect(x=2352, y=3433, w=34, h=41), Rect(x=2394, y=3432, w=51, h=41), Rect(x=2489, y=3433, w=35, h=42), Rect(x=2574, y=3432, w=42, h=42), Rect(x=2621, y=3432, w=43, h=41), Rect(x=2709, y=3433, w=42, h=41), Rect(x=2799, y=3433, w=42, h=56), Rect(x=2846, y=3432, w=30, h=41), Rect(x=1564, y=3434, w=33, h=40), Rect(x=2312, y=3434, w=33, h=40), Rect(x=520, y=3445, w=73, h=7), Rect(x=836, y=3447, w=73, h=6), Rect(x=1875, y=3448, w=73, h=6), Rect(x=795, y=3461, w=14, h=24), Rect(x=2881, y=3460, w=15, h=26), Rect(x=1838, y=3462, w=8, h=10), Rect(x=2252, y=3463, w=12, h=25), Rect(x=1043, y=3499, w=61, h=64), Rect(x=1675, y=3500, w=52, h=62), Rect(x=2192, y=3500, w=56, h=80), Rect(x=939, y=3502, w=25, h=14), Rect(x=1572, y=3506, w=10, h=11), Rect(x=1588, y=3507, w=10, h=10), Rect(x=387, y=3519, w=35, h=42), Rect(x=471, y=3518, w=32, h=43), Rect(x=508, y=3521, w=40, h=52), Rect(x=555, y=3520, w=32, h=42), Rect(x=593, y=3520, w=33, h=42), Rect(x=715, y=3521, w=42, h=54), Rect(x=762, y=3521, w=39, h=59), Rect(x=1530, y=3521, w=32, h=43), Rect(x=1773, y=3521, w=33, h=42), Rect(x=1937, y=3521, w=31, h=42), Rect(x=1974, y=3521, w=42, h=41), Rect(x=2022, y=3521, w=39, h=59), Rect(x=2069, y=3520, w=31, h=42), Rect(x=2256, y=3521, w=39, h=59), Rect(x=2550, y=3521, w=9, h=12), Rect(x=631, y=3522, w=36, h=39), Rect(x=805, y=3522, w=44, h=56), Rect(x=853, y=3522, w=31, h=40), Rect(x=890, y=3522, w=34, h=41), Rect(x=930, y=3522, w=43, h=40), Rect(x=1110, y=3523, w=44, h=56), Rect(x=1223, y=3522, w=37, h=41), Rect(x=1268, y=3523, w=34, h=41), Rect(x=1393, y=3523, w=43, h=40), Rect(x=1486, y=3522, w=37, h=41), Rect(x=1569, y=3522, w=32, h=42), Rect(x=1735, y=3522, w=32, h=42), Rect(x=1812, y=3523, w=35, h=40), Rect(x=1897, y=3522, w=33, h=42), Rect(x=2107, y=3523, w=34, h=41), Rect(x=2302, y=3523, w=34, h=41), Rect(x=2344, y=3522, w=30, h=41), Rect(x=2380, y=3523, w=41, h=40), Rect(x=2428, y=3523, w=41, h=40), Rect(x=2475, y=3522, w=40, h=40), Rect(x=2520, y=3523, w=20, h=40), Rect(x=2567, y=3523, w=43, h=40), Rect(x=2658, y=3522, w=37, h=41), Rect(x=2784, y=3523, w=35, h=42), Rect(x=2825, y=3523, w=49, h=40), Rect(x=1310, y=3524, w=33, h=40), Rect(x=2744, y=3524, w=34, h=41), Rect(x=2538, y=3527, w=18, h=36), Rect(x=2881, y=3550, w=14, h=25), Rect(x=983, y=3553, w=12, h=12), Rect(x=1159, y=3553, w=14, h=24), Rect(x=1610, y=3553, w=12, h=11), Rect(x=1500, y=3593, w=25, h=13), Rect(x=383, y=3609, w=20, h=25), Rect(x=797, y=3609, w=39, h=59), Rect(x=1821, y=3609, w=65, h=40), Rect(x=1891, y=3608, w=41, h=42), Rect(x=2151, y=3608, w=32, h=42), Rect(x=2235, y=3609, w=66, h=54), Rect(x=2353, y=3609, w=34, h=41), Rect(x=2394, y=3609, w=32, h=42), Rect(x=2472, y=3609, w=26, h=40), Rect(x=2633, y=3609, w=34, h=41), Rect(x=2805, y=3609, w=25, h=42), Rect(x=2826, y=3609, w=40, h=41), Rect(x=402, y=3610, w=20, h=38), Rect(x=429, y=3610, w=33, h=40), Rect(x=470, y=3610, w=34, h=41), Rect(x=561, y=3610, w=34, h=41), Rect(x=602, y=3610, w=34, h=41), Rect(x=643, y=3610, w=51, h=41), Rect(x=747, y=3610, w=44, h=41), Rect(x=842, y=3611, w=43, h=40), Rect(x=938, y=3611, w=44, h=40), Rect(x=1029, y=3610, w=41, h=41), Rect(x=1124, y=3611, w=40, h=39), Rect(x=1169, y=3611, w=43, h=39), Rect(x=1217, y=3611, w=44, h=41), Rect(x=1316, y=3611, w=36, h=41), Rect(x=1357, y=3610, w=41, h=53), Rect(x=1402, y=3610, w=43, h=40), Rect(x=1452, y=3610, w=34, h=41), Rect(x=1491, y=3611, w=21, h=40), Rect(x=1511, y=3611, w=24, h=40), Rect(x=1587, y=3611, w=44, h=41), Rect(x=1636, y=3611, w=42, h=56), Rect(x=1683, y=3610, w=33, h=42), Rect(x=1722, y=3611, w=33, h=40), Rect(x=1760, y=3611, w=36, h=39), Rect(x=1796, y=3610, w=20, h=40), Rect(x=1938, y=3610, w=41, h=40), Rect(x=2057, y=3610, w=37, h=41), Rect(x=2189, y=3610, w=42, h=56), Rect(x=2305, y=3610, w=41, h=40), Rect(x=2432, y=3610, w=34, h=41), Rect(x=2495, y=3610, w=19, h=39), Rect(x=2590, y=3610, w=36, h=40), Rect(x=2674, y=3610, w=30, h=41), Rect(x=2711, y=3610, w=48, h=40), Rect(x=2765, y=3610, w=34, h=41), Rect(x=989, y=3612, w=36, h=41), Rect(x=1076, y=3612, w=43, h=40), Rect(x=2872, y=3625, w=25, h=8), Rect(x=2710, y=3633, w=16, h=18), Rect(x=1988, y=3641, w=12, h=24), Rect(x=2521, y=3641, w=12, h=24), Rect(x=1828, y=3675, w=59, h=63), Rect(x=2145, y=3675, w=57, h=80), Rect(x=386, y=3696, w=27, h=39), Rect(x=409, y=3697, w=19, h=39), Rect(x=435, y=3696, w=20, h=40), Rect(x=470, y=3696, w=20, h=41), Rect(x=579, y=3697, w=34, h=41), Rect(x=617, y=3697, w=42, h=41), Rect(x=705, y=3697, w=42, h=41), Rect(x=752, y=3697, w=37, h=42), Rect(x=835, y=3697, w=42, h=41), Rect(x=1289, y=3697, w=32, h=42), Rect(x=1554, y=3696, w=23, h=43), Rect(x=2059, y=3697, w=37, h=41), Rect(x=2209, y=3697, w=39, h=59), Rect(x=2473, y=3697, w=41, h=42), Rect(x=537, y=3698, w=34, h=41), Rect(x=665, y=3699, w=36, h=39), Rect(x=884, y=3698, w=39, h=59), Rect(x=927, y=3699, w=44, h=56), Rect(x=975, y=3698, w=32, h=41), Rect(x=1012, y=3699, w=34, h=41), Rect(x=1053, y=3698, w=37, h=41), Rect(x=1095, y=3698, w=36, h=41), Rect(x=1131, y=3698, w=20, h=41), Rect(x=1159, y=3698, w=32, h=42), Rect(x=1237, y=3699, w=44, h=41), Rect(x=1328, y=3698, w=39, h=59), Rect(x=1375, y=3699, w=32, h=42), Rect(x=1415, y=3698, w=32, h=42), Rect(x=1493, y=3699, w=36, h=41), Rect(x=1584, y=3699, w=34, h=41), Rect(x=1625, y=3698, w=37, h=41), Rect(x=1667, y=3699, w=41, h=42), Rect(x=1893, y=3699, w=31, h=40), Rect(x=1930, y=3698, w=39, h=59), Rect(x=1976, y=3699, w=36, h=41), Rect(x=2255, y=3699, w=34, h=41), Rect(x=2297, y=3699, w=30, h=41), Rect(x=2333, y=3698, w=19, h=40), Rect(x=2354, y=3699, w=22, h=39), Rect(x=2381, y=3699, w=43, h=40), Rect(x=2428, y=3698, w=41, h=41), Rect(x=2520, y=3699, w=41, h=56), Rect(x=2629, y=3699, w=41, h=40), Rect(x=2657, y=3698, w=11, h=11), Rect(x=2677, y=3699, w=34, h=41), Rect(x=2717, y=3699, w=41, h=41), Rect(x=2743, y=3698, w=14, h=12), Rect(x=2843, y=3699, w=34, h=40), Rect(x=2878, y=3699, w=24, h=41), Rect(x=1453, y=3700, w=33, h=40), Rect(x=1535, y=3700, w=20, h=39), Rect(x=1714, y=3700, w=42, h=39), Rect(x=2805, y=3700, w=33, h=40), Rect(x=1552, y=3710, w=7, h=9), Rect(x=452, y=3714, w=17, h=21), Rect(x=1764, y=3729, w=11, h=12), Rect(x=2568, y=3729, w=12, h=24), Rect(x=1945, y=3766, w=37, h=62), Rect(x=2147, y=3785, w=19, h=41), Rect(x=386, y=3786, w=21, h=39), Rect(x=404, y=3786, w=25, h=40), Rect(x=471, y=3787, w=31, h=40), Rect(x=509, y=3786, w=34, h=41), Rect(x=552, y=3786, w=49, h=40), Rect(x=641, y=3786, w=42, h=40), Rect(x=691, y=3787, w=34, h=41), Rect(x=731, y=3787, w=42, h=40), Rect(x=829, y=3787, w=49, h=40), Rect(x=884, y=3787, w=35, h=41), Rect(x=928, y=3786, w=32, h=42), Rect(x=966, y=3786, w=65, h=40), Rect(x=1136, y=3787, w=31, h=41), Rect(x=1214, y=3787, w=35, h=42), Rect(x=1291, y=3787, w=44, h=41), Rect(x=1378, y=3787, w=39, h=59), Rect(x=1469, y=3787, w=65, h=40), Rect(x=1539, y=3787, w=42, h=41), Rect(x=1686, y=3787, w=42, h=40), Rect(x=1736, y=3787, w=34, h=41), Rect(x=1989, y=3786, w=32, h=42), Rect(x=2029, y=3787, w=9, h=14), Rect(x=2028, y=3787, w=30, h=41), Rect(x=2063, y=3787, w=40, h=52), Rect(x=2110, y=3786, w=32, h=42), Rect(x=2167, y=3787, w=20, h=39), Rect(x=2193, y=3786, w=41, h=42), Rect(x=2240, y=3787, w=36, h=41), Rect(x=2388, y=3787, w=34, h=41), Rect(x=2508, y=3787, w=34, h=41), Rect(x=2549, y=3787, w=34, h=41), Rect(x=2729, y=3786, w=31, h=42), Rect(x=2861, y=3787, w=37, h=42), Rect(x=780, y=3788, w=41, h=40), Rect(x=1036, y=3788, w=36, h=39), Rect(x=1174, y=3788, w=33, h=40), Rect(x=1341, y=3788, w=31, h=40), Rect(x=1422, y=3788, w=44, h=56), Rect(x=1587, y=3788, w=34, h=41), Rect(x=1774, y=3789, w=40, h=39), Rect(x=1821, y=3788, w=33, h=40), Rect(x=1860, y=3788, w=23, h=40), Rect(x=1883, y=3788, w=20, h=40), Rect(x=2338, y=3788, w=44, h=40), Rect(x=2464, y=3788, w=36, h=40), Rect(x=2625, y=3788, w=41, h=40), Rect(x=2674, y=3788, w=49, h=40), Rect(x=2766, y=3788, w=41, h=40), Rect(x=2814, y=3788, w=41, h=40), Rect(x=1630, y=3817, w=13, h=25), Rect(x=2284, y=3817, w=12, h=24), Rect(x=1080, y=3818, w=14, h=24), Rect(x=1190, y=3857, w=25, h=13), Rect(x=436, y=3873, w=30, h=42), Rect(x=502, y=3873, w=31, h=42), Rect(x=387, y=3874, w=21, h=40), Rect(x=412, y=3875, w=17, h=20), Rect(x=542, y=3875, w=34, h=41), Rect(x=655, y=3875, w=34, h=41), Rect(x=696, y=3875, w=31, h=40), Rect(x=986, y=3875, w=37, h=41), Rect(x=1061, y=3875, w=32, h=42), Rect(x=1601, y=3875, w=32, h=42), Rect(x=1678, y=3875, w=37, h=40), Rect(x=1903, y=3875, w=30, h=41), Rect(x=2060, y=3875, w=42, h=42), Rect(x=2109, y=3874, w=39, h=59), Rect(x=2236, y=3875, w=34, h=41), Rect(x=2278, y=3875, w=35, h=41), Rect(x=2541, y=3875, w=39, h=58), Rect(x=2587, y=3875, w=31, h=41), Rect(x=2625, y=3875, w=32, h=42), Rect(x=615, y=3876, w=33, h=40), Rect(x=734, y=3876, w=34, h=41), Rect(x=827, y=3876, w=40, h=40), Rect(x=874, y=3877, w=33, h=40), Rect(x=914, y=3876, w=35, h=42), Rect(x=1100, y=3877, w=33, h=40), Rect(x=1141, y=3876, w=34, h=41), Rect(x=1181, y=3876, w=43, h=40), Rect(x=1312, y=3876, w=31, h=40), Rect(x=1349, y=3876, w=39, h=59), Rect(x=1397, y=3876, w=31, h=42), Rect(x=1466, y=3876, w=42, h=56), Rect(x=1511, y=3877, w=40, h=39), Rect(x=1559, y=3876, w=34, h=41), Rect(x=1720, y=3876, w=42, h=56), Rect(x=1767, y=3876, w=21, h=40), Rect(x=1786, y=3876, w=37, h=42), Rect(x=1831, y=3877, w=33, h=40), Rect(x=1940, y=3877, w=33, h=40), Rect(x=1980, y=3877, w=20, h=39), Rect(x=2003, y=3877, w=20, h=40), Rect(x=2153, y=3876, w=42, h=55), Rect(x=2199, y=3876, w=31, h=40), Rect(x=2319, y=3876, w=35, h=40), Rect(x=2355, y=3876, w=20, h=40), Rect(x=2381, y=3876, w=33, h=41), Rect(x=2451, y=3876, w=42, h=40), Rect(x=2503, y=3876, w=31, h=40), Rect(x=2663, y=3877, w=33, h=40), Rect(x=2703, y=3876, w=34, h=41), Rect(x=2744, y=3876, w=23, h=40), Rect(x=2765, y=3877, w=19, h=40), Rect(x=2791, y=3876, w=34, h=41), Rect(x=2831, y=3876, w=37, h=41), Rect(x=1262, y=3878, w=43, h=40), Rect(x=1639, y=3878, w=33, h=40), Rect(x=473, y=3891, w=24, h=5), Rect(x=2873, y=3891, w=25, h=9), Rect(x=1996, y=3892, w=8, h=13), Rect(x=412, y=3902, w=17, h=12), Rect(x=777, y=3906, w=12, h=24), Rect(x=403, y=3963, w=21, h=40), Rect(x=432, y=3963, w=41, h=40), Rect(x=539, y=3963, w=34, h=41), Rect(x=615, y=3963, w=42, h=41), Rect(x=787, y=3963, w=39, h=59), Rect(x=1570, y=3963, w=39, h=58), Rect(x=1720, y=3963, w=32, h=42), Rect(x=1973, y=3963, w=32, h=42), Rect(x=2010, y=3963, w=41, h=41), Rect(x=2142, y=3962, w=32, h=42), Rect(x=2502, y=3963, w=38, h=57), Rect(x=2591, y=3963, w=65, h=40), Rect(x=2661, y=3963, w=39, h=41), Rect(x=2784, y=3963, w=32, h=42), Rect(x=384, y=3964, w=19, h=39), Rect(x=663, y=3964, w=34, h=41), Rect(x=705, y=3965, w=33, h=40), Rect(x=746, y=3964, w=34, h=41), Rect(x=831, y=3964, w=35, h=40), Rect(x=866, y=3965, w=21, h=39), Rect(x=892, y=3964, w=42, h=41), Rect(x=976, y=3965, w=49, h=40), Rect(x=1030, y=3965, w=36, h=41), Rect(x=1130, y=3964, w=32, h=42), Rect(x=1168, y=3964, w=67, h=53), Rect(x=1241, y=3964, w=32, h=42), Rect(x=1316, y=3965, w=42, h=40), Rect(x=1366, y=3965, w=34, h=41), Rect(x=1407, y=3965, w=31, h=40), Rect(x=1445, y=3964, w=34, h=41), Rect(x=1529, y=3965, w=34, h=41), Rect(x=1616, y=3965, w=41, h=40), Rect(x=1664, y=3965, w=49, h=40), Rect(x=1756, y=3964, w=42, h=41), Rect(x=1840, y=3965, w=35, h=38), Rect(x=1882, y=3964, w=42, h=40), Rect(x=1932, y=3964, w=34, h=41), Rect(x=2059, y=3964, w=31, h=40), Rect(x=2101, y=3964, w=16, h=15), Rect(x=2096, y=3964, w=41, h=52), Rect(x=2179, y=3964, w=33, h=39), Rect(x=2219, y=3964, w=36, h=40), Rect(x=2261, y=3964, w=43, h=40), Rect(x=2310, y=3964, w=41, h=40), Rect(x=2417, y=3964, w=43, h=40), Rect(x=2465, y=3964, w=31, h=40), Rect(x=2546, y=3964, w=29, h=56), Rect(x=2571, y=3964, w=16, h=19), Rect(x=2707, y=3965, w=34, h=41), Rect(x=2821, y=3965, w=33, h=39), Rect(x=2862, y=3964, w=34, h=41), Rect(x=1065, y=3966, w=22, h=40), Rect(x=1486, y=3966, w=35, h=38), Rect(x=482, y=3992, w=14, h=24), Rect(x=2361, y=3994, w=12, h=25), Rect(x=2023, y=4029, w=59, h=63), Rect(x=2609, y=4029, w=27, h=62), Rect(x=2732, y=4028, w=37, h=63), Rect(x=2860, y=4029, w=40, h=63), Rect(x=1593, y=4035, w=24, h=12), Rect(x=2340, y=4049, w=37, h=41), Rect(x=2423, y=4049, w=32, h=42), Rect(x=384, y=4050, w=41, h=40), Rect(x=434, y=4050, w=34, h=41), Rect(x=473, y=4050, w=40, h=40), Rect(x=519, y=4051, w=44, h=56), Rect(x=613, y=4051, w=36, h=41), Rect(x=806, y=4051, w=42, h=54), Rect(x=938, y=4051, w=34, h=41), Rect(x=977, y=4051, w=41, h=41), Rect(x=1232, y=4051, w=32, h=42), Rect(x=1399, y=4051, w=32, h=42), Rect(x=1437, y=4051, w=31, h=42), Rect(x=1844, y=4051, w=32, h=42), Rect(x=1880, y=4051, w=41, h=41), Rect(x=2167, y=4051, w=42, h=40), Rect(x=2217, y=4051, w=32, h=42), Rect(x=2256, y=4051, w=39, h=59), Rect(x=2384, y=4050, w=31, h=41), Rect(x=566, y=4052, w=21, h=25), Rect(x=585, y=4052, w=20, h=39), Rect(x=657, y=4052, w=31, h=40), Rect(x=695, y=4053, w=33, h=40), Rect(x=853, y=4052, w=34, h=41), Rect(x=894, y=4052, w=36, h=40), Rect(x=1024, y=4053, w=36, h=39), Rect(x=1065, y=4052, w=20, h=39), Rect(x=1087, y=4052, w=22, h=39), Rect(x=1116, y=4053, w=34, h=41), Rect(x=1271, y=4052, w=32, h=42), Rect(x=1311, y=4052, w=39, h=59), Rect(x=1356, y=4052, w=36, h=41), Rect(x=1475, y=4052, w=44, h=40), Rect(x=1523, y=4053, w=36, h=39), Rect(x=1559, y=4052, w=20, h=40), Rect(x=1584, y=4052, w=44, h=41), Rect(x=1689, y=4052, w=33, h=42), Rect(x=1727, y=4052, w=51, h=41), Rect(x=1782, y=4052, w=35, h=40), Rect(x=1817, y=4053, w=21, h=39), Rect(x=2303, y=4052, w=31, h=40), Rect(x=2461, y=4052, w=33, h=40), Rect(x=2499, y=4053, w=43, h=39), Rect(x=2652, y=4067, w=69, h=6), Rect(x=2779, y=4066, w=70, h=7), Rect(x=1930, y=4083, w=12, h=13), Rect(x=468, y=4116, w=38, h=64), Rect(x=600, y=4116, w=37, h=63), Rect(x=735, y=4117, w=29, h=63), Rect(x=1275, y=4123, w=25, h=13), Rect(x=1888, y=4123, w=24, h=12), Rect(x=2786, y=4137, w=40, h=54), Rect(x=380, y=4138, w=34, h=40), Rect(x=817, y=4139, w=45, h=55), Rect(x=914, y=4139, w=41, h=42), Rect(x=959, y=4139, w=43, h=42), Rect(x=1102, y=4139, w=32, h=42), Rect(x=1142, y=4139, w=32, h=42), Rect(x=1178, y=4139, w=41, h=42), Rect(x=2151, y=4139, w=31, h=42), Rect(x=2392, y=4139, w=41, h=42), Rect(x=2534, y=4139, w=31, h=41), Rect(x=2658, y=4139, w=29, h=42), Rect(x=2830, y=4138, w=34, h=41), Rect(x=867, y=4141, w=41, h=40), Rect(x=1007, y=4140, w=43, h=40), Rect(x=1055, y=4141, w=40, h=40), Rect(x=1227, y=4140, w=34, h=41), Rect(x=1267, y=4140, w=44, h=41), Rect(x=1361, y=4141, w=46, h=41), Rect(x=1413, y=4140, w=32, h=42), Rect(x=1453, y=4141, w=39, h=59), Rect(x=1499, y=4140, w=32, h=42), Rect(x=1538, y=4141, w=32, h=42), Rect(x=1658, y=4141, w=44, h=41), Rect(x=1748, y=4140, w=37, h=41), Rect(x=1791, y=4140, w=42, h=41), Rect(x=1839, y=4140, w=34, h=41), Rect(x=1879, y=4140, w=44, h=41), Rect(x=2026, y=4140, w=32, h=42), Rect(x=2062, y=4141, w=41, h=41), Rect(x=2109, y=4141, w=36, h=39), Rect(x=2188, y=4140, w=42, h=41), Rect(x=2302, y=4141, w=21, h=41), Rect(x=2325, y=4140, w=19, h=42), Rect(x=2351, y=4141, w=36, h=41), Rect(x=2484, y=4140, w=43, h=40), Rect(x=2570, y=4141, w=41, h=40), Rect(x=2616, y=4141, w=36, h=39), Rect(x=2695, y=4140, w=39, h=41), Rect(x=1575, y=4142, w=34, h=41), Rect(x=1617, y=4142, w=36, h=41), Rect(x=1708, y=4142, w=34, h=41), Rect(x=1974, y=4142, w=44, h=40), Rect(x=2870, y=4153, w=26, h=9), Rect(x=517, y=4155, w=72, h=6), Rect(x=648, y=4155, w=71, h=7), Rect(x=2237, y=4171, w=13, h=26), Rect(x=381, y=4207, w=37, h=61), Rect(x=2732, y=4207, w=44, h=63), Rect(x=823, y=4208, w=37, h=63), Rect(x=1382, y=4209, w=37, h=64), Rect(x=425, y=4229, w=41, h=40), Rect(x=473, y=4229, w=33, h=40), Rect(x=512, y=4229, w=36, h=39), Rect(x=554, y=4229, w=33, h=42), Rect(x=592, y=4229, w=42, h=41), Rect(x=782, y=4229, w=34, h=41), Rect(x=963, y=4229, w=37, h=41), Rect(x=1043, y=4228, w=32, h=43), Rect(x=1167, y=4229, w=41, h=42), Rect(x=1255, y=4228, w=43, h=42), Rect(x=1731, y=4228, w=64, h=44), Rect(x=1801, y=4228, w=32, h=42), Rect(x=2063, y=4229, w=43, h=42), Rect(x=2115, y=4228, w=32, h=42), Rect(x=2154, y=4229, w=38, h=58), Rect(x=2200, y=4228, w=32, h=42), Rect(x=2321, y=4229, w=31, h=42), Rect(x=2360, y=4228, w=32, h=42), Rect(x=2398, y=4229, w=39, h=59), Rect(x=2442, y=4228, w=40, h=41), Rect(x=2490, y=4229, w=34, h=41), Rect(x=2537, y=4228, w=32, h=40), Rect(x=2576, y=4229, w=35, h=42), Rect(x=2617, y=4229, w=49, h=41), Rect(x=2781, y=4228, w=23, h=40), Rect(x=2804, y=4229, w=18, h=39), Rect(x=2831, y=4228, w=34, h=41), Rect(x=405, y=4230, w=6, h=5), Rect(x=694, y=4231, w=40, h=39), Rect(x=741, y=4230, w=34, h=41), Rect(x=863, y=4231, w=36, h=39), Rect(x=899, y=4230, w=22, h=41), Rect(x=1084, y=4230, w=31, h=40), Rect(x=1122, y=4230, w=39, h=59), Rect(x=1215, y=4230, w=34, h=41), Rect(x=1304, y=4230, w=32, h=42), Rect(x=1423, y=4230, w=36, h=41), Rect(x=1459, y=4231, w=20, h=40), Rect(x=1483, y=4231, w=41, h=41), Rect(x=1652, y=4231, w=34, h=43), Rect(x=1897, y=4231, w=40, h=40), Rect(x=1984, y=4230, w=34, h=41), Rect(x=2237, y=4230, w=40, h=52), Rect(x=1531, y=4232, w=34, h=41), Rect(x=1609, y=4232, w=36, h=41), Rect(x=1944, y=4232, w=33, h=40), Rect(x=2529, y=4241, w=16, h=28), Rect(x=2871, y=4243, w=25, h=9), Rect(x=641, y=4258, w=14, h=24), Rect(x=1841, y=4261, w=14, h=24), Rect(x=2673, y=4260, w=11, h=11), Rect(x=2782, y=4295, w=37, h=64), Rect(x=975, y=4299, w=37, h=62), Rect(x=2422, y=4299, w=35, h=61), Rect(x=379, y=4317, w=23, h=25), Rect(x=623, y=4317, w=32, h=43), Rect(x=659, y=4317, w=41, h=41), Rect(x=800, y=4317, w=44, h=59), Rect(x=2507, y=4317, w=42, h=54), Rect(x=2729, y=4317, w=49, h=42), Rect(x=2823, y=4317, w=45, h=41), Rect(x=399, y=4318, w=21, h=39), Rect(x=425, y=4318, w=41, h=40), Rect(x=474, y=4318, w=34, h=41), Rect(x=585, y=4319, w=32, h=42), Rect(x=708, y=4319, w=40, h=40), Rect(x=936, y=4319, w=32, h=42), Rect(x=1017, y=4319, w=42, h=41), Rect(x=1112, y=4319, w=32, h=42), Rect(x=1367, y=4319, w=34, h=43), Rect(x=1934, y=4319, w=41, h=41), Rect(x=2072, y=4319, w=42, h=41), Rect(x=2162, y=4319, w=41, h=42), Rect(x=2324, y=4318, w=43, h=41), Rect(x=2373, y=4318, w=25, h=41), Rect(x=2396, y=4319, w=20, h=40), Rect(x=2463, y=4319, w=40, h=57), Rect(x=2641, y=4318, w=41, h=42), Rect(x=2688, y=4318, w=34, h=42), Rect(x=894, y=4321, w=34, h=41), Rect(x=1150, y=4320, w=34, h=41), Rect(x=1190, y=4320, w=35, h=42), Rect(x=1231, y=4320, w=43, h=40), Rect(x=1279, y=4320, w=36, h=42), Rect(x=1453, y=4320, w=32, h=42), Rect(x=1492, y=4321, w=36, h=41), Rect(x=1534, y=4320, w=49, h=40), Rect(x=1590, y=4320, w=34, h=41), Rect(x=1631, y=4320, w=31, h=40), Rect(x=1667, y=4320, w=36, h=42), Rect(x=1756, y=4320, w=44, h=41), Rect(x=1808, y=4320, w=36, h=41), Rect(x=1848, y=4320, w=22, h=25), Rect(x=1867, y=4321, w=19, h=40), Rect(x=1895, y=4320, w=34, h=41), Rect(x=1983, y=4321, w=36, h=41), Rect(x=2121, y=4320, w=36, h=41), Rect(x=2210, y=4320, w=36, h=41), Rect(x=2250, y=4320, w=42, h=40), Rect(x=2553, y=4320, w=36, h=39), Rect(x=2871, y=4332, w=25, h=9), Rect(x=2297, y=4335, w=24, h=6), Rect(x=516, y=4348, w=13, h=23), Rect(x=1591, y=4453, w=25, h=54), Rect(x=1622, y=4453, w=33, h=55), Rect(x=1657, y=4454, w=30, h=53)]6 g, joined_rects = join_rectangles(rects)7 print(joined_rects)8 def test_complicated(self):9 rects = [Rect(x=104, y=211, w=42, h=40),10 Rect(x=104, y=391, w=35, h=38),11 Rect(x=105, y=122, w=44, h=56),12 Rect(x=147, y=389, w=34, h=41),13 Rect(x=150, y=120, w=42, h=41),14 Rect(x=153, y=212, w=34, h=41),15 Rect(x=188, y=389, w=31, h=42),16 Rect(x=194, y=212, w=39, h=40),17 Rect(x=198, y=122, w=34, h=41),18 Rect(x=226, y=390, w=49, h=40),19 Rect(x=237, y=48, w=74, h=9),20 Rect(x=238, y=316, w=72, h=6),21 Rect(x=239, y=121, w=62, h=42),22 Rect(x=239, y=213, w=44, h=56),23 Rect(x=282, y=390, w=34, h=41),24 Rect(x=285, y=213, w=40, h=40),25 Rect(x=305, y=124, w=43, h=40),26 Rect(x=323, y=388, w=62, h=42),27 Rect(x=331, y=214, w=43, h=40),28 Rect(x=355, y=124, w=34, h=41),29 Rect(x=365, y=280, w=61, h=62),30 Rect(x=366, y=11, w=58, h=62),31 Rect(x=377, y=212, w=43, h=42),32 Rect(x=389, y=390, w=44, h=40),33 Rect(x=394, y=125, w=36, h=39),34 Rect(x=426, y=213, w=34, h=41),35 Rect(x=430, y=34, w=44, h=56),36 Rect(x=430, y=318, w=26, h=6),37 Rect(x=440, y=390, w=34, h=41),38 Rect(x=459, y=302, w=44, h=40),39 Rect(x=467, y=213, w=33, h=42),40 Rect(x=479, y=66, w=14, h=24),41 Rect(x=483, y=369, w=28, h=48),42 Rect(x=484, y=123, w=42, h=41),43 Rect(x=487, y=420, w=12, h=12),44 Rect(x=505, y=213, w=36, h=41),45 Rect(x=510, y=301, w=32, h=42),46 Rect(x=532, y=124, w=34, h=41),47 Rect(x=549, y=304, w=33, h=39),48 Rect(x=550, y=368, w=60, h=63),49 Rect(x=555, y=34, w=42, h=41),50 Rect(x=574, y=123, w=43, h=60),51 Rect(x=575, y=214, w=34, h=41),52 Rect(x=590, y=332, w=14, h=24),53 Rect(x=603, y=36, w=36, h=41),54 Rect(x=614, y=214, w=41, h=53),55 Rect(x=617, y=390, w=32, h=42),56 Rect(x=620, y=125, w=33, h=40),57 Rect(x=632, y=317, w=73, h=7),58 Rect(x=644, y=35, w=43, h=42),59 Rect(x=656, y=392, w=34, h=41),60 Rect(x=659, y=214, w=44, h=40),61 Rect(x=660, y=123, w=34, h=41),62 Rect(x=698, y=420, w=13, h=25),63 Rect(x=699, y=125, w=40, h=39),64 Rect(x=709, y=214, w=34, h=41),65 Rect(x=732, y=302, w=33, h=42),66 Rect(x=745, y=123, w=42, h=41),67 Rect(x=746, y=392, w=44, h=40),68 Rect(x=765, y=37, w=33, h=40),69 Rect(x=770, y=301, w=41, h=42),70 Rect(x=777, y=214, w=44, h=41),71 Rect(x=792, y=126, w=43, h=40),72 Rect(x=797, y=390, w=31, h=42),73 Rect(x=803, y=36, w=36, h=41),74 Rect(x=818, y=302, w=34, h=41),75 Rect(x=834, y=391, w=41, h=41),76 Rect(x=839, y=36, w=21, h=40),77 Rect(x=855, y=214, w=34, h=41),78 Rect(x=861, y=302, w=30, h=41),79 Rect(x=881, y=393, w=36, h=39),80 Rect(x=889, y=124, w=34, h=41),81 Rect(x=896, y=213, w=34, h=43),82 Rect(x=899, y=302, w=34, h=41),83 Rect(x=923, y=391, w=31, h=42),84 Rect(x=932, y=124, w=34, h=41),85 Rect(x=937, y=35, w=40, h=52),86 Rect(x=938, y=305, w=43, h=42),87 Rect(x=961, y=391, w=42, h=41),88 Rect(x=964, y=212, w=64, h=44),89 Rect(x=973, y=124, w=41, h=42),90 Rect(x=982, y=36, w=44, h=56),91 Rect(x=1013, y=420, w=12, h=12),92 Rect(x=1014, y=370, w=11, h=47),93 Rect(x=1021, y=155, w=13, h=26),94 Rect(x=1023, y=303, w=36, h=40),95 Rect(x=1030, y=36, w=49, h=40),96 Rect(x=1034, y=214, w=32, h=42),97 Rect(x=1086, y=36, w=36, h=41),98 Rect(x=1089, y=125, w=40, h=40),99 Rect(x=1101, y=212, w=40, h=61),100 Rect(x=1101, y=303, w=44, h=40),101 Rect(x=1118, y=268, w=5, h=4),102 Rect(x=1129, y=34, w=32, h=42),103 Rect(x=1137, y=126, w=33, h=40),104 Rect(x=1148, y=214, w=36, h=41),105 Rect(x=1153, y=301, w=32, h=42),106 Rect(x=1166, y=35, w=66, h=39),107 Rect(x=1178, y=124, w=34, h=41),108 Rect(x=1189, y=213, w=33, h=42),109 Rect(x=1190, y=301, w=42, h=54),110 Rect(x=1218, y=105, w=35, h=61),111 Rect(x=1227, y=214, w=42, h=40),112 Rect(x=1236, y=302, w=34, h=41),113 Rect(x=1237, y=35, w=36, h=39),114 Rect(x=1260, y=124, w=35, h=40),115 Rect(x=1276, y=214, w=34, h=41),116 Rect(x=1276, y=303, w=44, h=56),117 Rect(x=1280, y=62, w=14, h=24),118 Rect(x=1294, y=124, w=21, h=40),119 Rect(x=1315, y=240, w=16, h=14),120 Rect(x=1321, y=49, w=73, h=7),121 Rect(x=1321, y=212, w=36, h=42),122 Rect(x=1324, y=302, w=51, h=41),123 Rect(x=1364, y=214, w=34, h=41),124 Rect(x=1367, y=124, w=44, h=42),125 Rect(x=1381, y=301, w=32, h=42),126 Rect(x=1405, y=212, w=62, h=42),127 Rect(x=1418, y=301, w=44, h=41),128 Rect(x=1421, y=33, w=33, h=42),129 Rect(x=1459, y=33, w=42, h=40),130 Rect(x=1464, y=123, w=44, h=41),131 Rect(x=1467, y=302, w=43, h=39),132 Rect(x=1473, y=213, w=32, h=42),133 Rect(x=1508, y=32, w=39, h=59),134 Rect(x=1511, y=213, w=43, h=41),135 Rect(x=1515, y=123, w=32, h=42),136 Rect(x=1515, y=301, w=43, h=40),137 Rect(x=1553, y=33, w=34, h=41),138 Rect(x=1553, y=122, w=40, h=59),139 Rect(x=1559, y=214, w=43, h=40),140 Rect(x=1595, y=33, w=33, h=42),141 Rect(x=1600, y=124, w=32, h=42),142 Rect(x=1602, y=279, w=60, h=62),143 Rect(x=1610, y=213, w=32, h=42),144 Rect(x=1632, y=34, w=41, h=40),145 Rect(x=1637, y=125, w=40, h=52),146 Rect(x=1650, y=192, w=28, h=49),147 Rect(x=1655, y=243, w=12, h=12),148 Rect(x=1666, y=300, w=41, h=41),149 Rect(x=1679, y=35, w=41, h=41),150 Rect(x=1713, y=302, w=57, h=41),151 Rect(x=1732, y=123, w=31, h=42),152 Rect(x=1771, y=123, w=32, h=42),153 Rect(x=1775, y=301, w=65, h=40),154 Rect(x=1804, y=13, w=52, h=61),155 Rect(x=1810, y=122, w=40, h=61),156 Rect(x=1847, y=301, w=34, h=41),157 Rect(x=1854, y=122, w=41, h=42),158 Rect(x=1860, y=34, w=34, h=41),159 Rect(x=1890, y=331, w=12, h=12),160 Rect(x=1900, y=34, w=40, h=52),161 Rect(x=1902, y=122, w=34, h=41),162 Rect(x=1936, y=317, w=73, h=7),163 Rect(x=1942, y=122, w=41, h=41),164 Rect(x=1946, y=34, w=41, h=40),165 Rect(x=1989, y=123, w=34, h=41),166 Rect(x=1993, y=32, w=40, h=41),167 Rect(x=2030, y=124, w=51, h=41),168 Rect(x=2039, y=279, w=60, h=63),169 Rect(x=2040, y=32, w=33, h=42),170 Rect(x=2079, y=62, w=12, h=24),171 Rect(x=2104, y=303, w=44, h=56),172 Rect(x=2121, y=48, w=71, h=7),173 Rect(x=2134, y=125, w=43, h=40),174 Rect(x=2187, y=302, w=42, h=41),175 Rect(x=2220, y=33, w=26, h=40),176 Rect(x=2232, y=124, w=37, h=41),177 Rect(x=2235, y=303, w=34, h=41),178 Rect(x=2247, y=33, w=22, h=40),179 Rect(x=2274, y=302, w=43, h=42),180 Rect(x=2276, y=32, w=34, h=41),181 Rect(x=2316, y=51, w=20, h=22),182 Rect(x=2317, y=32, w=15, h=17),183 Rect(x=2324, y=123, w=32, h=43),184 Rect(x=2337, y=31, w=40, h=41),185 Rect(x=2359, y=301, w=62, h=42),186 Rect(x=2363, y=123, w=32, h=42),187 Rect(x=2382, y=33, w=41, h=40),188 Rect(x=2402, y=124, w=40, h=59),189 Rect(x=2427, y=302, w=32, h=42),190 Rect(x=2431, y=36, w=34, h=41),191 Rect(x=2446, y=122, w=41, h=43),192 Rect(x=2493, y=122, w=35, h=43),193 Rect(x=2501, y=300, w=32, h=44),194 Rect(x=2526, y=32, w=42, h=41),195 Rect(x=2532, y=123, w=42, h=42),196 Rect(x=2538, y=302, w=35, h=41),197 Rect(x=2573, y=32, w=43, h=42),198 Rect(x=2578, y=301, w=36, h=42),199 Rect(x=2580, y=123, w=33, h=43)]200 g, joined_rects = join_rectangles(rects)201 print(len(joined_rects))202 assert(len(joined_rects) == 3)203 print(joined_rects)204 def test_join_rectangles(self):205 rects = [Rect(1,1,1,1), Rect(1,3,1,1), Rect(1,5,1,1), Rect(3,1,1,1), Rect(3,3,1,1),206 Rect(3,5,1,1), Rect(7,1,1,1), Rect(7,3,1,1), Rect(7,5,1,1)]207 g, joined_rects = join_rectangles(rects)208 assert(len(joined_rects) == 0)209 rects = [Rect(1, 1, 3, 3), Rect(3, 3, 3, 3)]210 g, joined_rects = join_rectangles(rects)211 assert(len(joined_rects) == 1)212 rects = [Rect(1, 1, 2, 3), Rect(2, 3, 4, 2), Rect(7, 4, 2, 3), Rect(8, 2, 2, 3), Rect(6, 6, 2, 2)]213 g, joined_rects = join_rectangles(rects)214 assert(len(joined_rects)==2)215 assert(len(g.edges)==3)216 rects = [Rect(1, 1, 1, 1), Rect(3, 1, 1, 1), Rect(5, 1, 1, 1), Rect(2, 3, 1, 1), Rect(4, 3, 1, 1), Rect(1,5,1,1), Rect(3,5,1,1), Rect(5,5,1,1)]217 g, joined_rects = join_rectangles(rects)...

Full Screen

Full Screen

rect_test.py

Source: rect_test.py Github

copy

Full Screen

...393 r1.unionall_ip([r2, r3])394 self.assertEqual(Rect(-2, -2, 5, 5), r1)395 # Bug for an empty list. Would return a Rect instead of None.396 self.assertTrue(r1.unionall_ip([]) is None)397 def test_colliderect(self):398 r1 = Rect(1, 2, 3, 4)399 self.assertTrue(r1.colliderect(Rect(0, 0, 2, 3)),400 "r1 does not collide with Rect(0, 0, 2, 3)")401 self.assertFalse(r1.colliderect(Rect(0, 0, 1, 2)),402 "r1 collides with Rect(0, 0, 1, 2)")403 self.assertFalse(r1.colliderect(Rect(r1.right, r1.bottom, 2, 2)),404 "r1 collides with Rect(r1.right, r1.bottom, 2, 2)")405 self.assertTrue(r1.colliderect(Rect(r1.left + 1, r1.top + 1,406 r1.width - 2, r1.height - 2)),407 "r1 does not collide with Rect(r1.left + 1, r1.top + 1, "+408 "r1.width - 2, r1.height - 2)")409 self.assertTrue(r1.colliderect(Rect(r1.left - 1, r1.top - 1,410 r1.width + 2, r1.height + 2)),411 "r1 does not collide with Rect(r1.left - 1, r1.top - 1, "+412 "r1.width + 2, r1.height + 2)")413 self.assertTrue(r1.colliderect(Rect(r1)),414 "r1 does not collide with an identical rect")415 self.assertFalse(r1.colliderect(Rect(r1.right, r1.bottom, 0, 0)),416 "r1 collides with Rect(r1.right, r1.bottom, 0, 0)")417 self.assertFalse(r1.colliderect(Rect(r1.right, r1.bottom, 1, 1)),418 "r1 collides with Rect(r1.right, r1.bottom, 1, 1)")419 def testEquals(self):420 """ check to see how the rect uses __eq__421 """422 r1 = Rect(1, 2, 3, 4)423 r2 = Rect(10, 20, 30, 40)424 r3 = (10, 20, 30, 40)425 r4 = Rect(10, 20, 30, 40)426 class foo (Rect):427 def __eq__(self, other):428 return id(self) == id(other)429 def __ne__(self, other):430 return id(self) != id(other)431 class foo2 (Rect):...

Full Screen

Full Screen

classes.py

Source: classes.py Github

copy

Full Screen

...4class BackgroundImage(pygame.sprite.Sprite):5 def __init__(self, imagename, x, y, *group, color_key=0):6 super().__init__(*group)7 self.image = load_image("Sprites/​" + imagename + ".png", color_key)8 self.rect = self.image.get_rect()9 self.rect.x = x10 self.rect.y = y11class Button(pygame.sprite.Sprite):12 def __init__(self, name, imagename, x, y, *group, text='x', answer_id=0):13 super().__init__(*group)14 self.answer_id = answer_id15 self.not_charge_image = load_image("Buttons/​" + imagename + ".png")16 self.image = self.not_charge_image17 self.charge_image = load_image("Buttons/​" + imagename + "_charge.png")18 self.now_image = False19 self.now = False20 self.charge_lock = False21 if answer_id:22 self.now_image = load_image("Buttons/​" + imagename + "_now.png")23 self.rect = self.image.get_rect()24 self.w, self.h = self.image.get_rect()[2], self.image.get_rect()[3]25 self.rect.x = x26 self.rect.y = y27 self.name = name28 self.charge_log = False29 # Работа с текстом30 self.font = pygame.font.Font(os.path.join('data', "Fonts/​VollkornSC-Regular.ttf"), 30)31 self.text = text32 self.text_cords = (10, 15)33 if self.text != 'x':34 self.image.blit(self.font.render(self.text, True, (0, 0, 0)), (self.text_cords[0] + 1, self.text_cords[1] + 1))35 self.image.blit(self.font.render(self.text, True, (253, 253, 253)), self.text_cords)36 def click(self, pos): # Возвращает True если pos находится в области кнопки, иначе возвращает False37 if self.rect.x <= pos[0] <= self.rect.x + self.w and \38 self.rect.y <= pos[1] <= self.rect.y + self.h:39 return self.name40 return False41 def charge_switch(self, pos):42 if self.charge_lock:43 self.image = self.charge_image44 else:45 if not self.now:46 if self.rect.x <= pos[0] <= self.rect.x + self.w and \47 self.rect.y <= pos[1] <= self.rect.y + self.h:48 self.image = self.charge_image49 self.charge_log = True50 else:51 self.image = self.not_charge_image52 self.charge_log = False53 else:54 self.image = self.now_image55 self.charge_log = True56 if self.text != 'x':57 if self.charge_log:58 for i in range(-2, 6):59 self.image.blit(self.font.render(self.text, True,60 (128, 128, 128)), (self.text_cords[0] + i, self.text_cords[1] + i))61 self.image.blit(self.font.render(self.text, True, (0, 0, 0)), (self.text_cords[0] + 1, self.text_cords[1] + 1))62 self.image.blit(self.font.render(self.text, True, (253, 253, 253)), self.text_cords)63class QuestionButton(pygame.sprite.Sprite):64 def __init__(self, id, x, y, w, text, *group):65 super().__init__(*group)66 self.now = False67 self.complete = False68 self.flag = False69 self.font = pygame.font.Font(os.path.join('data', "Fonts/​VollkornSC-Regular.ttf"), 17)70 width = (w - 10) /​ (self.font.size("Wa")[0] /​ 2)71 self.strings = []72 leng = 073 string = ""74 for i in text.split():75 if leng + len(i) > width:76 self.strings.append(string)77 string = ""78 leng = 079 string += i + " "80 leng += len(i) + 181 if string:82 self.strings.append(string)83 self.image = pygame.Surface((w, len(self.strings) * self.font.size("v")[1] + 10))84 self.image.fill(pygame.Color(180, 180, 180))85 self.render_qt()86 self.rect = self.image.get_rect()87 self.w, self.h = self.image.get_rect()[2], self.image.get_rect()[3]88 self.rect.x = x89 self.rect.y = y90 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)91 self.id = id92 def height(self):93 return self.h94 def click(self, pos): # Возвращает свой id если pos находится в области кнопки, иначе возвращает False95 if self.rect.x <= pos[0] <= self.rect.x + self.w and \96 self.rect.y <= pos[1] <= self.rect.y + self.h:97 return self.id98 return False99 def charge_switch(self, pos):100 if self.now:101 self.image.fill(pygame.Color(140, 130, 40))102 else:103 if self.rect.x <= pos[0] <= self.rect.x + self.w and \104 self.rect.y <= pos[1] <= self.rect.y + self.h:105 self.image.fill(pygame.Color(240, 230, 140))106 else:107 self.image.fill(pygame.Color(180, 180, 180))108 if self.complete:109 pygame.draw.rect(self.image, (0, 0, 255), (0, 0, 10, self.rect.h))110 if self.flag:111 pygame.draw.polygon(self.image, (200, 0, 0),112 ((self.rect.w - 40, 0), (self.rect.w, 0), (self.rect.w, 40)))113 pygame.draw.line(self.image, (100, 0, 0), (self.rect.w - 41, -1), (self.rect.w + 1, 41), 8)114 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)115 self.render_qt()116 def render_qt(self):117 for i in range(len(self.strings)):118 self.image.blit(self.font.render(self.strings[i], True, (30, 30, 30)),119 (18, i * (self.font.size(self.strings[i])[1]) + 5))120class Slider(pygame.sprite.Sprite):121 def __init__(self, x, y, field, *group):122 super().__init__(*group)123 self.field = field124 self.image = pygame.Surface((10, 80))125 self.image.fill(pygame.Color(165, 42, 42))126 self.rect = self.image.get_rect()127 self.w, self.h = self.image.get_rect()[2], self.image.get_rect()[3]128 self.rect.x = x129 self.rect.y = y130 self.id = id131 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)132 def charge_switch(self, pos):133 if self.rect.x <= pos[0] <= self.rect.x + self.w and \134 self.rect.y <= pos[1] <= self.rect.y + self.h:135 # self.image.fill(pygame.Color(184, 134, 11))136 self.image.fill(pygame.Color(163, 73, 164))137 else:138 self.image.fill(pygame.Color(165, 42, 42))139 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)140 def slide(self, pos, y, mouse_logic):141 if (self.field[0] <= pos[0] <= self.field[0] + self.field[2] and142 self.field[1] <= pos[1] <= self.field[1] + self.field[3]) or mouse_logic:143 if (self.field[1] + 10 == self.rect.y and y > 0) or\144 (self.field[1] + self.field[3] - 85 == self.rect.y and y < 0):145 return 0146 k = self.rect.y147 if self.field[1] + 10 >= self.rect.y + y * -8:148 self.rect.y = self.field[1] + 10149 elif self.rect.y + y * -8 + self.rect.h >= self.field[1] + self.field[3] - 5:150 self.rect.y = self.field[1] + self.field[3] - 85151 else:152 self.rect.y += y * -8153 k = abs(k - self.rect.y)154 if y > 0:155 k *= -1156 return k157 def click(self, pos):158 if self.rect.x <= pos[0] <= self.rect.x + self.w and \159 self.rect.y <= pos[1] <= self.rect.y + self.h:160 return "slide"161class BigSlider(pygame.sprite.Sprite):162 def __init__(self, x, y, field, *group):163 super().__init__(*group)164 self.field = field165 self.image = pygame.Surface((30, 80))166 self.image.fill(pygame.Color(165, 42, 42))167 self.rect = self.image.get_rect()168 self.w, self.h = self.image.get_rect()[2], self.image.get_rect()[3]169 self.rect.x = x170 self.rect.y = y171 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)172 def charge_switch(self, pos):173 if self.rect.x <= pos[0] <= self.rect.x + self.w and \174 self.rect.y <= pos[1] <= self.rect.y + self.h:175 # self.image.fill(pygame.Color(184, 134, 11))176 self.image.fill(pygame.Color(163, 73, 164))177 else:178 self.image.fill(pygame.Color(165, 42, 42))179 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)180 def slide(self, pos, y, mouse_logic):181 if (self.field[0] <= pos[0] <= self.field[0] + self.field[2] and182 self.field[1] <= pos[1] <= self.field[1] + self.field[3]) or mouse_logic:183 if (self.field[1] + 10 == self.rect.y and y > 0) or\184 (self.field[1] + self.field[3] - 85 == self.rect.y and y < 0):185 return 0186 k = self.rect.y187 if self.field[1] + 10 >= self.rect.y + y * -8:188 self.rect.y = self.field[1] + 10189 elif self.rect.y + y * -8 + self.rect.h >= self.field[1] + self.field[3] - 5:190 self.rect.y = self.field[1] + self.field[3] - 85191 else:192 self.rect.y += y * -8193 k = abs(k - self.rect.y)194 if y > 0:195 k *= -1196 return k197 def click(self, pos):198 if self.rect.x <= pos[0] <= self.rect.x + self.w and \199 self.rect.y <= pos[1] <= self.rect.y + self.h:200 return "slide"201class QuestionImage(pygame.sprite.Sprite):202 def __init__(self, x, y, w, text, *group, right=-1):203 super().__init__(*group)204 self.font = pygame.font.Font(os.path.join('data', "Fonts/​VollkornSC-Regular.ttf"), 17)205 width = (w - 10) /​ (self.font.size("Wa")[0] /​ 2)206 self.strings = []207 leng = 0208 string = ""209 for i in text.split():210 if leng + len(i) > width or i == '*':211 self.strings.append(string)212 string = ""213 leng = 0214 if i == '*':215 continue216 string += i + " "217 leng += len(i) + 1218 if string:219 self.strings.append(string)220 self.image = pygame.Surface((w, len(self.strings) * self.font.size("v")[1] + 10))221 if right == -1:222 self.image.fill(pygame.Color(180, 180, 180))223 elif right:224 self.image.fill(pygame.Color(0, 180, 0))225 else:226 self.image.fill(pygame.Color(180, 0, 0))227 indexplus = 0228 for i in range(len(self.strings)):229 if self.strings[i][:3] == 'А. ':230 indexplus = 10231 if self.strings[i][:3] == 'Б. ':232 indexplus = 20233 self.image.blit(self.font.render(self.strings[i], True, (30, 30, 30)),234 (18, i * (self.font.size(self.strings[i])[1] - 3) + indexplus + 5))235 self.rect = self.image.get_rect()236 self.w, self.h = self.image.get_rect()[2], self.image.get_rect()[3]237 self.rect.x = x238 self.rect.y = y239 pygame.draw.rect(self.image, (70, 54, 37), (0, 0, self.rect.w, self.rect.h), 3)240 def height(self):...

Full Screen

Full Screen

sketch.js

Source: sketch.js Github

copy

Full Screen

...30 31 /​/​warna putih32 noStroke();33 fill('white');34 rect(this.location.x-2, this.location.y-2, 4, 4);35 rect(this.location.x+2, this.location.y+2, 8, 2);36 rect(this.location.x-10, this.location.y+2, 8, 2);37 rect(this.location.x-8, this.location.y+4, 16, 4);38 rect(this.location.x-4, this.location.y+8, 8, 2);39 40 /​/​warna random41 noStroke();42 fill('Red');43 rect(this.location.x-10, this.location.y-2, 6, 2);44 rect(this.location.x+4, this.location.y-2, 6, 2)45 rect(this.location.x-10, this.location.y-4, 8, 2);46 rect(this.location.x+2, this.location.y-4, 8, 2);47 rect(this.location.x-8, this.location.y-8, 16, 4);48 rect(this.location.x-4, this.location.y-10, 8, 2)49 50 /​/​warna hitam51 noStroke();52 fill('Black');53 rect(this.location.x+2, this.location.y, 10, 2);54 rect(this.location.x-12, this.location.y, 10, 2);55 rect(this.location.x-12, this.location.y-4, 2, 8);56 rect(this.location.x+10, this.location.y-4, 2, 8);57 rect(this.location.x-10, this.location.y-8, 2, 4);58 rect(this.location.x+8, this.location.y-8, 2, 4);59 rect(this.location.x-8, this.location.y-10, 4, 2);60 rect(this.location.x+4, this.location.y-10, 4, 2);61 rect(this.location.x-4, this.location.y-12, 8, 2);62 rect(this.location.x-10, this.location.y+4, 2, 4);63 rect(this.location.x+8, this.location.y+4, 2, 4);64 rect(this.location.x-8, this.location.y+8, 4, 2);65 rect(this.location.x+4, this.location.y+8, 4, 2);66 rect(this.location.x-4, this.location.y+10, 8, 2);67 68 }69 70 gerakCuy(){71 var mouse = createVector(mouseX, mouseY);72 var w = p5.Vector.sub(mouse,CENTER);73 noStroke()74 75 /​/​orange76 fill(255,140,0);77 rect(mouse.x+(r*-4), mouse.y+(r*-13), (r*1),(r*3));78 rect(mouse.x+(r*3), mouse.y+(r*-13), (r*1),(r*3));79 rect(mouse.x+(r*-4), mouse.y+(r*-10), (r*8),(r*5));80 rect(mouse.x+(r*-5), mouse.y+(r*-5), (r*10),(r*3));81 rect(mouse.x+(r*-5), mouse.y+(r*-5), (r*10),(r*3));82 rect(mouse.x+(r*-4), mouse.y+(r*-2), (r*8),(r*2));83 rect(mouse.x+(r*-5), mouse.y+(r*0), (r*10),(r*2));84 rect(mouse.x+(r*-6), mouse.y+(r*2), (r*12),(r*2));85 rect(mouse.x+(r*-7), mouse.y+(r*4), (r*14),(r*3));86 rect(mouse.x+(r*7), mouse.y+(r*-7), (r*1),(r*2));87 rect(mouse.x+(r*-8), mouse.y+(r*-7), (r*1),(r*2));88 rect(mouse.x+(r*9), mouse.y+(r*-6), (r*1),(r*1));89 rect(mouse.x+(r*-10), mouse.y+(r*-6), (r*1),(r*1));90 rect(mouse.x+(r*10), mouse.y+(r*-5), (r*1),(r*1));91 rect(mouse.x+(r*-11), mouse.y+(r*-5), (r*1),(r*1));92 rect(mouse.x+(r*11), mouse.y+(r*-4), (r*1),(r*2));93 rect(mouse.x+(r*-12), mouse.y+(r*-4), (r*1),(r*2));94 rect(mouse.x+(r*12), mouse.y+(r*-2), (r*1),(r*2));95 rect(mouse.x+(r*-13), mouse.y+(r*-2), (r*1),(r*2));96 97 /​/​warna kuning98 fill(255,222,173)99 rect(mouse.x+(r*2), mouse.y+(r*3), (r*1),(r*1));100 rect(mouse.x-(r*3), mouse.y+(r*3), (r*1),(r*1));101 rect(mouse.x-(r*4), mouse.y+(r*4), (r*8),(r*2));102 rect(mouse.x-(r*3), mouse.y+(r*6), (r*6),(r*1));103 rect(mouse.x-(r*3), mouse.y+(r*7), (r*6),(r*1));104 rect(mouse.x-(r*2), mouse.y+(r*7), (r*4),(r*1));105 106 /​/​warna hitam107 fill('black');108 rect(mouse.x-(r*5), mouse.y-(r*2), (r*1),(r*2));109 rect(mouse.x-(r*6), mouse.y-(r*6), (r*1),(r*5));110 rect(mouse.x-(r*5), mouse.y-(r*13), (r*1),(r*8));111 rect(mouse.x-(r*4), mouse.y-(r*14), (r*1),(r*1));112 rect(mouse.x-(r*3), mouse.y-(r*13), (r*1),(r*3));113 rect(mouse.x-(r*2), mouse.y-(r*11), (r*1),(r*3));114 rect(mouse.x-(r*1), mouse.y-(r*11), (r*2),(r*1));115 rect(mouse.x+(r*1), mouse.y-(r*11), (r*1),(r*3));116 rect(mouse.x+(r*2), mouse.y-(r*13), (r*1),(r*3));117 rect(mouse.x+(r*3), mouse.y-(r*14), (r*1),(r*1));118 rect(mouse.x+(r*4), mouse.y-(r*13), (r*1),(r*8));119 rect(mouse.x+(r*5), mouse.y-(r*6), (r*1),(r*5));120 rect(mouse.x+(r*4), mouse.y-(r*2), (r*1),(r*2));121 rect(mouse.x+(r*5), mouse.y+(r*0), (r*1),(r*2));122 rect(mouse.x+(r*6), mouse.y+(r*2), (r*1),(r*2));123 rect(mouse.x+(r*7), mouse.y+(r*4), (r*1),(r*3));124 rect(mouse.x+(r*6), mouse.y+(r*7), (r*1),(r*2));125 rect(mouse.x+(r*3), mouse.y+(r*9), (r*3),(r*1));126 rect(mouse.x+(r*-3), mouse.y+(r*8), (r*6),(r*1));127 rect(mouse.x+(r*-6), mouse.y+(r*9), (r*3),(r*1));128 rect(mouse.x+(r*-7), mouse.y+(r*7), (r*1),(r*2));129 rect(mouse.x+(r*-8), mouse.y+(r*4), (r*1),(r*3));130 rect(mouse.x+(r*-7), mouse.y+(r*2), (r*1),(r*2));131 rect(mouse.x+(r*-6), mouse.y+(r*0), (r*1),(r*2));132 rect(mouse.x+(r*-4), mouse.y+(r*6), (r*1),(r*1));133 rect(mouse.x+(r*-3), mouse.y+(r*7), (r*1),(r*1));134 rect(mouse.x+(r*2), mouse.y+(r*7), (r*1),(r*1));135 rect(mouse.x+(r*3), mouse.y+(r*6), (r*1),(r*1));136 rect(mouse.x+(r*-1), mouse.y+(r*3), (r*2),(r*1));137 rect(mouse.x+(r*-4), mouse.y+(r*-7), (r*1),(r*1));138 rect(mouse.x+(r*3), mouse.y+(r*-7), (r*1),(r*1));139 140 /​/​putih141 fill('white');142 rect(mouse.x+(r*-4), mouse.y+(r*-5), (r*1),(r*2));143 rect(mouse.x+(r*3), mouse.y+(r*-5), (r*1),(r*2));144 145 /​/​cokelat146 fill(140,82,45);147 rect(mouse.x+(r*3), mouse.y+(r*1), (r*1),(r*1));148 rect(mouse.x+(r*-4), mouse.y+(r*1), (r*1),(r*1));149 rect(mouse.x+(r*2), mouse.y+(r*2), (r*1),(r*1));150 rect(mouse.x+(r*-3), mouse.y+(r*2), (r*1),(r*1));151 rect(mouse.x+(r*-2), mouse.y+(r*3), (r*1),(r*1));152 rect(mouse.x+(r*-4), mouse.y+(r*3), (r*1),(r*1));153 rect(mouse.x+(r*1), mouse.y+(r*3), (r*1),(r*1));154 rect(mouse.x+(r*3), mouse.y+(r*3), (r*1),(r*1));155 rect(mouse.x+(r*4), mouse.y+(r*4), (r*1),(r*2));156 rect(mouse.x+(r*-5), mouse.y+(r*4), (r*1),(r*2));157 rect(mouse.x+(r*-6), mouse.y+(r*5), (r*1),(r*1));158 rect(mouse.x+(r*5), mouse.y+(r*5), (r*1),(r*1));159 rect(mouse.x+(r*-6), mouse.y+(r*7), (r*3),(r*1));160 rect(mouse.x+(r*3), mouse.y+(r*7), (r*3),(r*1));161 rect(mouse.x+(r*-7), mouse.y+(r*6), (r*1),(r*1));162 rect(mouse.x+(r*6), mouse.y+(r*6), (r*1),(r*1));163 rect(mouse.x+(r*-5), mouse.y+(r*8), (r*1),(r*1));164 rect(mouse.x+(r*4), mouse.y+(r*8), (r*1),(r*1));165 rect(mouse.x+(r*6), mouse.y+(r*-8), (r*1),(r*6));166 rect(mouse.x+(r*7), mouse.y+(r*-8), (r*1),(r*1));167 rect(mouse.x+(r*8), mouse.y+(r*-7), (r*2),(r*1));168 rect(mouse.x+(r*8), mouse.y+(r*-6), (r*1),(r*1));169 rect(mouse.x+(r*7), mouse.y+(r*-5), (r*1),(r*1));170 rect(mouse.x+(r*10), mouse.y+(r*-6), (r*1),(r*1));171 rect(mouse.x+(r*11), mouse.y+(r*-5), (r*1),(r*1));172 rect(mouse.x+(r*12), mouse.y+(r*-4), (r*1),(r*2));173 rect(mouse.x+(r*11), mouse.y+(r*-2), (r*1),(r*1));174 rect(mouse.x+(r*13), mouse.y+(r*-2), (r*1),(r*3));175 rect(mouse.x+(r*12), mouse.y+(r*0), (r*1),(r*1));176 rect(mouse.x+(r*-7), mouse.y+(r*-8), (r*1),(r*6));177 rect(mouse.x+(r*-8), mouse.y+(r*-8), (r*1),(r*1));178 rect(mouse.x+(r*-8), mouse.y+(r*-5), (r*1),(r*1));179 rect(mouse.x+(r*-9), mouse.y+(r*-7), (r*1),(r*2));180 rect(mouse.x+(r*-10), mouse.y+(r*-7), (r*1),(r*1));181 rect(mouse.x+(r*-11), mouse.y+(r*-6), (r*1),(r*1));182 rect(mouse.x+(r*-12), mouse.y+(r*-5), (r*1),(r*1));183 rect(mouse.x+(r*-13), mouse.y+(r*-4), (r*1),(r*2));184 rect(mouse.x+(r*-12), mouse.y+(r*-2), (r*1),(r*1));185 rect(mouse.x+(r*-14), mouse.y+(r*-2), (r*1),(r*3));186 rect(mouse.x+(r*-13), mouse.y+(r*0), (r*1),(r*1));187 188 /​/​biru tua189 fill(25,25,112);190 rect(mouse.x+(r*2), mouse.y+(r*-3), (r*1),(r*1));191 rect(mouse.x+(r*-3), mouse.y+(r*-3), (r*1),(r*1));192 rect(mouse.x+(r*1), mouse.y+(r*2), (r*1),(r*1));193 rect(mouse.x+(r*-2), mouse.y+(r*2), (r*1),(r*1));194 rect(mouse.x+(r*3), mouse.y+(r*8), (r*1),(r*1));195 rect(mouse.x+(r*5), mouse.y+(r*8), (r*1),(r*1));196 rect(mouse.x+(r*-4), mouse.y+(r*8), (r*1),(r*1));197 rect(mouse.x+(r*-6), mouse.y+(r*8), (r*1),(r*1));198 rect(mouse.x+(r*7), mouse.y+(r*-4), (r*1),(r*1));199 rect(mouse.x+(r*-8), mouse.y+(r*-4), (r*1),(r*1));200 rect(mouse.x+(r*7), mouse.y+(r*-3), (r*2),(r*1));201 rect(mouse.x+(r*-9), mouse.y+(r*-3), (r*2),(r*1));202 rect(mouse.x+(r*6), mouse.y+(r*-2), (r*4),(r*1));203 rect(mouse.x+(r*-10), mouse.y+(r*-2), (r*4),(r*1));204 rect(mouse.x+(r*5), mouse.y+(r*-1), (r*7),(r*1));205 rect(mouse.x+(r*-12), mouse.y+(r*-1), (r*7),(r*1));206 rect(mouse.x+(r*6), mouse.y+(r*0), (r*3),(r*1));207 rect(mouse.x+(r*-9), mouse.y+(r*0), (r*3),(r*1));208 209 /​/​biru muda210 fill(65,105,225);211 rect(mouse.x+(r*8), mouse.y+(r*-5), (r*1),(r*2));212 rect(mouse.x+(r*9), mouse.y+(r*-5), (r*1),(r*3));213 rect(mouse.x+(r*10), mouse.y+(r*-4), (r*1),(r*3));214 rect(mouse.x+(r*-9), mouse.y+(r*-5), (r*1),(r*2));215 rect(mouse.x+(r*-10), mouse.y+(r*-5), (r*1),(r*3));216 rect(mouse.x+(r*-11), mouse.y+(r*-4), (r*1),(r*3));217 rect(mouse.x+(r*-3), mouse.y+(r*-4), (r*1),(r*1));218 rect(mouse.x+(r*2), mouse.y+(r*-4), (r*1),(r*1));219 220 221 var arahMouse = p5.Vector.sub(mouse, this.location);222 var topSpeed = (2, 10);223 224 arahMouse.normalize();225 arahMouse.mult(0.5); 226 227 228 this.velocity.add(this.acceleration);229 this.velocity.add(arahMouse);230 this.velocity.limit(topSpeed);231 this.location.add(this.velocity);232 }...

Full Screen

Full Screen

CropRect.js

Source: CropRect.js Github

copy

Full Screen

1/​**2 * CropRect.js3 *4 * Released under LGPL License.5 * Copyright (c) 1999-2015 Ephox Corp. All rights reserved6 *7 * License: http:/​/​www.tinymce.com/​license8 * Contributing: http:/​/​www.tinymce.com/​contributing9 */​10/​**11 * ...12 */​13define("tinymce/​imagetoolsplugin/​CropRect", [14 "tinymce/​dom/​DomQuery",15 "tinymce/​ui/​DragHelper",16 "tinymce/​ui/​Rect",17 "tinymce/​util/​Tools",18 "tinymce/​util/​Observable"19], function($, DragHelper, Rect, Tools, Observable) {20 var count = 0;21 return function(currentRect, viewPortRect, clampRect, containerElm) {22 var instance, handles, dragHelpers, blockers, prefix = 'mce-', id = prefix + 'crid-' + (count++);23 handles = [24 {name: 'move', xMul: 0, yMul: 0, deltaX: 1, deltaY: 1, deltaW: 0, deltaH: 0},25 {name: 'nw', xMul: 0, yMul: 0, deltaX: 1, deltaY: 1, deltaW: -1, deltaH: -1},26 {name: 'ne', xMul: 1, yMul: 0, deltaX: 0, deltaY: 1, deltaW: 1, deltaH: -1},27 {name: 'sw', xMul: 0, yMul: 1, deltaX: 1, deltaY: 0, deltaW: -1, deltaH: 1},28 {name: 'se', xMul: 1, yMul: 1, deltaX: 0, deltaY: 0, deltaW: 1, deltaH: 1}29 ];30 blockers = ["top", "right", "bottom", "left"];31 function getAbsoluteRect(outerRect, relativeRect) {32 return {33 x: relativeRect.x + outerRect.x,34 y: relativeRect.y + outerRect.y,35 w: relativeRect.w,36 h: relativeRect.h37 };38 }39 function getRelativeRect(outerRect, innerRect) {40 return {41 x: innerRect.x - outerRect.x,42 y: innerRect.y - outerRect.y,43 w: innerRect.w,44 h: innerRect.h45 };46 }47 function getInnerRect() {48 return getRelativeRect(clampRect, currentRect);49 }50 function render() {51 function createDragHelper(handle) {52 var startRect;53 return new DragHelper(id, {54 document: containerElm.ownerDocument,55 handle: id + '-' + handle.name,56 start: function() {57 startRect = currentRect;58 },59 drag: function(e) {60 var x, y, w, h, rect;61 x = startRect.x;62 y = startRect.y;63 w = startRect.w;64 h = startRect.h;65 x += e.deltaX * handle.deltaX;66 y += e.deltaY * handle.deltaY;67 w += e.deltaX * handle.deltaW;68 h += e.deltaY * handle.deltaH;69 if (w < 20) {70 w = 20;71 }72 if (h < 20) {73 h = 20;74 }75 rect = currentRect = Rect.clamp({x: x, y: y, w: w, h: h}, clampRect, handle.name == 'move');76 rect = getRelativeRect(clampRect, rect);77 instance.fire('updateRect', {rect: rect});78 setInnerRect(rect);79 }80 });81 }82 $('<div id="' + id + '" class="' + prefix + 'croprect-container" data-mce-bogus="all">').appendTo(containerElm);83 Tools.each(blockers, function(blocker) {84 $('#' + id, containerElm).append(85 '<div id="' + id + '-' + blocker + '"class="' + prefix + 'croprect-block" style="display: none" data-mce-bogus="all">'86 );87 });88 Tools.each(handles, function(handle) {89 $('#' + id, containerElm).append(90 '<div id="' + id + '-' + handle.name + '" class="' + prefix +91 'croprect-handle ' + prefix + 'croprect-handle-' + handle.name + '" style="display: none" data-mce-bogus="all">'92 );93 });94 dragHelpers = Tools.map(handles, createDragHelper);95 repaint(currentRect);96 }97 function toggleVisibility(state) {98 var selectors;99 selectors = Tools.map(handles, function(handle) {100 return '#' + id + '-' + handle.name;101 }).concat(Tools.map(blockers, function(blocker) {102 return '#' + id + '-' + blocker;103 })).join(',');104 if (state) {105 $(selectors, containerElm).show();106 } else {107 $(selectors, containerElm).hide();108 }109 }110 function repaint(rect) {111 function updateElementRect(name, rect) {112 if (rect.h < 0) {113 rect.h = 0;114 }115 if (rect.w < 0) {116 rect.w = 0;117 }118 $('#' + id + '-' + name, containerElm).css({119 left: rect.x,120 top: rect.y,121 width: rect.w,122 height: rect.h123 });124 }125 Tools.each(handles, function(handle) {126 $('#' + id + '-' + handle.name, containerElm).css({127 left: rect.w * handle.xMul + rect.x,128 top: rect.h * handle.yMul + rect.y129 });130 });131 updateElementRect('top', {x: viewPortRect.x, y: viewPortRect.y, w: viewPortRect.w, h: rect.y - viewPortRect.y});132 updateElementRect('right', {x: rect.x + rect.w, y: rect.y, w: viewPortRect.w - rect.x - rect.w + viewPortRect.x, h: rect.h});133 updateElementRect('bottom', {134 x: viewPortRect.x,135 y: rect.y + rect.h,136 w: viewPortRect.w,137 h: viewPortRect.h - rect.y - rect.h + viewPortRect.y138 });139 updateElementRect('left', {x: viewPortRect.x, y: rect.y, w: rect.x - viewPortRect.x, h: rect.h});140 updateElementRect('move', rect);141 }142 function setRect(rect) {143 currentRect = rect;144 repaint(currentRect);145 }146 function setViewPortRect(rect) {147 viewPortRect = rect;148 repaint(currentRect);149 }150 function setInnerRect(rect) {151 setRect(getAbsoluteRect(clampRect, rect));152 }153 function setClampRect(rect) {154 clampRect = rect;155 repaint(currentRect);156 }157 function destroy() {158 Tools.each(dragHelpers, function(helper) {159 helper.destroy();160 });161 dragHelpers = [];162 }163 render(containerElm);164 instance = Tools.extend({165 toggleVisibility: toggleVisibility,166 setClampRect: setClampRect,167 setRect: setRect,168 getInnerRect: getInnerRect,169 setInnerRect: setInnerRect,170 setViewPortRect: setViewPortRect,171 destroy: destroy172 }, Observable);173 return instance;174 };...

Full Screen

Full Screen

rect.pyi

Source: rect.pyi Github

copy

Full Screen

...54 @overload55 def collidepoint(self, x: float, y: float) -> bool: ...56 @overload57 def collidepoint(self, x_y: Iterable[float]) -> bool: ...58 def colliderect(self, rect: "Rect") -> bool: ...59 def collidelist(self, rect_list: List["Rect"]) -> int: ...60 def collidelistall(self, rect_list: List["Rect"]) -> List[int]: ...61 # Also undocumented: the dict collision methods take a 'values' argument62 # that defaults to False. If it is False, the keys in rect_dict must be63 # Rect-like; otherwise, the values must be Rects.64 @overload65 def collidedict(self, rect_dict: Dict[_RectStyle, _V], values: bool = ...) -> Tuple[_RectStyle, _V]: ...66 @overload67 def collidedict(self, rect_dict: Dict[_K, "Rect"], values: bool) -> Tuple[_K, "Rect"]: ...68 @overload69 def collidedictall(self, rect_dict: Dict[_RectStyle, _V], values: bool = ...) -> List[Tuple[_RectStyle, _V]]: ...70 @overload...

Full Screen

Full Screen

Layout.js

Source: Layout.js Github

copy

Full Screen

1/​**2 * Layout.js3 *4 * Released under LGPL License.5 * Copyright (c) 1999-2016 Ephox Corp. All rights reserved6 *7 * License: http:/​/​www.tinymce.com/​license8 * Contributing: http:/​/​www.tinymce.com/​contributing9 */​10define('tinymce/​inlite/​core/​Layout', [11 'global!tinymce.geom.Rect',12 'tinymce/​inlite/​core/​Convert'13], function (Rect, Convert) {14 var result = function (rect, position) {15 return {16 rect: rect,17 position: position18 };19 };20 var moveTo = function (rect, toRect) {21 return {x: toRect.x, y: toRect.y, w: rect.w, h: rect.h};22 };23 var calcByPositions = function (testPositions1, testPositions2, targetRect, contentAreaRect, panelRect) {24 var relPos, relRect, outputPanelRect;25 relPos = Rect.findBestRelativePosition(panelRect, targetRect, contentAreaRect, testPositions1);26 targetRect = Rect.clamp(targetRect, contentAreaRect);27 if (relPos) {28 relRect = Rect.relativePosition(panelRect, targetRect, relPos);29 outputPanelRect = moveTo(panelRect, relRect);30 return result(outputPanelRect, relPos);31 }32 targetRect = Rect.intersect(contentAreaRect, targetRect);33 if (targetRect) {34 relPos = Rect.findBestRelativePosition(panelRect, targetRect, contentAreaRect, testPositions2);35 if (relPos) {36 relRect = Rect.relativePosition(panelRect, targetRect, relPos);37 outputPanelRect = moveTo(panelRect, relRect);38 return result(outputPanelRect, relPos);39 }40 outputPanelRect = moveTo(panelRect, targetRect);41 return result(outputPanelRect, relPos);42 }43 return null;44 };45 var calcInsert = function (targetRect, contentAreaRect, panelRect) {46 return calcByPositions(47 ['cr-cl', 'cl-cr'],48 ['bc-tc', 'bl-tl', 'br-tr'],49 targetRect,50 contentAreaRect,51 panelRect52 );53 };54 var calc = function (targetRect, contentAreaRect, panelRect) {55 return calcByPositions(56 ['tc-bc', 'bc-tc', 'tl-bl', 'bl-tl', 'tr-br', 'br-tr'],57 ['bc-tc', 'bl-tl', 'br-tr'],58 targetRect,59 contentAreaRect,60 panelRect61 );62 };63 var userConstrain = function (handler, targetRect, contentAreaRect, panelRect) {64 var userConstrainedPanelRect;65 if (typeof handler === 'function') {66 userConstrainedPanelRect = handler({67 elementRect: Convert.toClientRect(targetRect),68 contentAreaRect: Convert.toClientRect(contentAreaRect),69 panelRect: Convert.toClientRect(panelRect)70 });71 return Convert.fromClientRect(userConstrainedPanelRect);72 }73 return panelRect;74 };75 return {76 calcInsert: calcInsert,77 calc: calc,78 userConstrain: userConstrain79 };...

Full Screen

Full Screen

Direction.py

Source: Direction.py Github

copy

Full Screen

1from enum import Enum2from pygame.rect import Rect3def center(rect: Rect, x: int, y: int) -> Rect:4 rect.center = (x, y)5 return rect6def left(rect: Rect, x: int, y: int) -> Rect:7 rect.center = (x + rect.width /​ 2, y)8 return rect9def right(rect: Rect, x: int, y: int) -> Rect:10 rect.center = (x - rect.width /​ 2, y)11 return rect12def up(rect: Rect, x: int, y: int) -> Rect:13 rect.center = (x, y - rect.height /​ 2)14 return rect15def down(rect: Rect, x: int, y: int) -> Rect:16 rect.center = (x, y + rect.height /​ 2)17 return rect18class DIRECTION(Enum):19 CENTER = center20 LEFT = left21 RIGHT = right22 UP = up...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var chromy = require('chromy');2chromy.chain()3 .rect('#lst-ib')4 .result(function(rect) {5 console.log(rect);6 })7 .end()8 .then(function() {9 console.log('done');10 });11### chromy.chain()12### chromy.goto(url)13### chromy.evaluate(fn[, args])14chromy.chain()15 .evaluate(function() {16 return document.title;17 })18 .result(function(title) {19 console.log(title);20 })21 .end()22 .then(function() {23 console.log('done');24 });25chromy.chain()26 .evaluate(function(a, b) {27 return a + b;28 }, [1, 2])29 .result(function(result) {30 console.log(result);31 })32 .end()33 .then(function() {34 console.log('done');35 });36### chromy.evaluateAsync(fn[, args])37chromy.chain()38 .evaluateAsync(function() {39 setTimeout(function() {40 window.__chromyResult = document.title;41 window.__chromyCallback();42 }, 1000);43 })44 .result(function(title) {45 console.log(title);46 })47 .end()48 .then(function() {49 console.log('done');50 });51chromy.chain()52 .evaluateAsync(function(a, b) {53 setTimeout(function() {

Full Screen

Using AI Code Generation

copy

Full Screen

1module.exports = function (chromy, scenario, vp) {2 console.log('SCENARIO > ' + scenario.label);3 chromy.evaluate(() => {4 document.querySelector('h1').style.color = 'red';5 });6 chromy.rect('h1').result(function (rect) {7 chromy.send('Page.captureScreenshot', {8 clip: {9 }10 }).result(function (screenshot) {11 console.log('screenshot', screenshot);12 });13 });14};15const Chromy = require('chromy');16const chromy = new Chromy();

Full Screen

Using AI Code Generation

copy

Full Screen

1const chromy = require('chromy');2(async () => {3 .rect('#main')4 .result(rect => console.log(rect))5 .end();6})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const chromy = require('chromy');2(async () => {3 await chromy.chain()4 .rect('#container')5 .result(r => console.log(r))6 .end()7 .close();8})();9### new Chromy(options)10### chromy.chain()11### chain.goto(url)12### chain.evaluate(fn, ...args)13### chain.evaluateAsync(fn, ...args)14### chain.evaluate(fn, ...args)

Full Screen

Using AI Code Generation

copy

Full Screen

1chromy.evaluate(() => {2 return document.querySelector('rect').getBoundingClientRect()3})4.then(rect => {5 console.log(rect)6})7.catch(err => {8 console.log('Error:', err.message)9})10.then(() => chromy.close())11.catch(() => chromy.close())

Full Screen

Blogs

Check out the latest blogs from LambdaTest on this topic:

Pair testing strategy in an Agile environment

Pair testing can help you complete your testing tasks faster and with higher quality. But who can do pair testing, and when should it be done? And what form of pair testing is best for your circumstance? Check out this blog for more information on how to conduct pair testing to optimize its benefits.

Why Agile Teams Have to Understand How to Analyze and Make adjustments

How do we acquire knowledge? This is one of the seemingly basic but critical questions you and your team members must ask and consider. We are experts; therefore, we understand why we study and what we should learn. However, many of us do not give enough thought to how we learn.

What Agile Testing (Actually) Is

So, now that the first installment of this two fold article has been published (hence you might have an idea of what Agile Testing is not in my opinion), I’ve started feeling the pressure to explain what Agile Testing actually means to me.

Do you possess the necessary characteristics to adopt an Agile testing mindset?

To understand the agile testing mindset, we first need to determine what makes a team “agile.” To me, an agile team continually focuses on becoming self-organized and cross-functional to be able to complete any challenge they may face during a project.

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run chromy automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful