1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
|
<!DOCTYPE html>
<html lang="en" manifest="index.appcache" style="height:100%"><head><meta charset="utf-8"><meta name="viewport" content="width=480, user-scalable=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="mobile-web-app-capable" content="yes"><link rel="shortcut icon" href="data:image/x-icon;base64,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zNPUy9LUydPUys3PxMXIv7zHvLTBtq+8sKO0r5SfoW9+gDpOUDNBRDpFST1HTMnJvNHUwszRxMzPxc/Nxc7Kxc/NxNHTwNTVwtnSytnUzNLVy9LUytLTytHSydHSyM/Rx8zPxczNw8rNw8THvr3EurS+s6+8sJmtpIOckniJhl1zcDNQVjdLU0pTVlBYW9DCvdLHws3Iwc3HwMrGv8rFvsbFvcbJtsfKuMfMwcfMwsrPxc3Rx87Rx8nNw8fMwr7Jv7zHvcPHvcLGvLrAtbm+tbm8t6O1qo6lmnuWinmOhlx1ZzdcVjhVU01dW1pmZse8tsq+uL6/t7y/tr6/t8C9tLu9tbnCtbvEtrzEuL7GvMPIv8XKwMbJwb3FwbzHvbfGu7rDuMPFv8LJv8fPwsTKwsPJxMDJvbG/tJu1qqi+sLvKvsPRxDNXTVFsaWh5eMK1r8G0rru2rrW3rrS1rbaurbCxrLG1rrG2rrW6tLjAtsXKwMzQxdDUz8bY0cjczcXXztHU0sbGyb7Fw7fEv7O+urW+u7i+vsLHxczU0tXg3eTs4s3Vy1Rxam+FgYeUkbqvqbWqpbetprOqpaqmnqujnpyemp2gnaKmpKqwsL7Ev97g1fb17v/7+f////j499Ha2rO/v6y2uq+3u6u0tqmxtKSrrp6jppKbmYqXlY6bmJKfnI2bmIKRjomZlaStq6ylnqihmZ+blKCXlpOPiHx8dG50dH2Bg5KcnKOursPJxuDn2+317PHw8NnS07y4u6Kkp5+ipqCprJ2prKGtr6+wtLGwtKenrKClpJObmY+VlYqUk4uVk5GamKyvrt/Y2KGhmZGRkJOOjXFubFxaVVpVU1ddX3t8fpqgoL25usTBwbnBwLG4t6SfpJWQlZKLkY2LkI6PlJSanZymqaaqrayssKSrrqClqJmfnpGdmI+fmZSgm6Glo7m8uNrU0uDY15yUk4uIhnp1dENCQUpDRFdKUFJXV35+gJqZm6CfoZ2dnoCHiYGBhoJ9gn56gHt4fXN5fXN+goCJipWanLCusr26tra8tqywsqyusLW0sby6tsC/u8zGxMnNx8bKx8bMyJWKiIl3eFdPTjc1NEE4OUk/Q0Y+RGBbYnh7gXd8gHmChHd+gnh3fHBxdWNnaWBiZl5iZmRoanZ0eYiDjJyVnqulpaahoJ6WoaGZpK2iq7WorcK0tsS8u8DAvrq7uru8upOAgHZkZjMtLS8rKzYxMj03OjkxOE1CSm5vcm1zeGh0d2lxdWptcGNmalhcYFFWWVBVWFVaXmdobHh0foaFj5OOl5KPloqHkI2IkpWPmKCUnqmepKympq6trKqurKuwrY96e2RYVyMiISooJzQvMTUwNDEtMTcvN0RBR2hsb2hzdWhwdGZrbWBkaFFZWkhSVEVPUkpQUlNYXWJkbXV3gIKCioKBiYKAiYCAiIWEjY2KlJaTmJyamaOhoKKfpaSiqIR1dmRYWCIiIjk1NEpCQ0lCREA6PjkzOjEsMkA/RHZ5fG12eWtwcl9kaFJbXkdRU0RPUEdNT0VOVlhdZm5weX58hYF+hn18hIB9hYOCioiGj4+LlZGOlpWRmpuTnZmSm3ZxcnFrbC8mKEU2Ol9NVGdXX2FYW1BUVjlDRzhESG13emp5enF4e291d25ucGNmaVJYWlJNVkdKUk9WXmJkbHNye317gnt5gXx5goB8hIeDjIuGj5CKk5GKkomEjIF9hXNvcXdvcDQoKzMjKk1AR2JVW3BiaG5rbm5wdGhxdGx2eXh7fYeDhZGDh2ZTWDgsMTYvNVVPV01KVE5RWFVbZGdqcHNze3h3fnt6gX58g4J+hoOAh4aCiYF9hXd1fHZ0fHNvcH1ydTw0NiIaHzsvNlRIT2FYXWxnanBvcW9ydXZ2ent7fXVvcjQzNhULEAoAAA4IBzEtMlBOVktPVlFYX2Jka21tdW5wdnV0fHZ1fHV0e3d2fnV0e3Nzem5vdm5udnFucHlwcVFERhsTGCkgJTs1O0RCR1FPU1pVWGFbX21kaHVqbkNCRiInKRAOEQUEBAYHBhwjI05GUElETlBOVltXYHdud3htd3FpcXFpcXVxeXNzenNyeXBxeW5vdmxtdW1rbHBubl5XWA8PEhgVFiUfIy4sMTk3Oz47P0hBRldPVHVqbm9naiUrLRUUGRMRFRQUHTA0O0lBSz48RERFTVhWX2dhamZeZ11ZYmxkbXFudWttdGxtdGlrcWRpbmZqb2ppaHBubnNubg8bGxAPDBUPEh4XHSQiJy8lKjcrLzo2OlBJTWxiZnBnaVhUWEVBSkRGTk5GTz43QTk0PT4+R0tJUVtUXVNKU1FNVGZdZGpiam1kbW1mbmpkbGlja2dkbG1rbG1sbHNycjs8PgoMDRALDxINEhQSGBsUGxgVHR4cICwpLUA5PUpDSFBGTlNIU0Y+STgxPDAsNTAsNjw4QUtFTUlASj49RkNDS1RSWlhXXl1aYl9bY2BcZF9cZFxcZG9tbWtqanRwcXFnaQ8RFgsJDhALDg8LEwsOGg0PGhYTGh8UHyUVIiUcJiEhKickLSEgKSMhKickLSwpMzUwOjw3PzYzOzc1PTo7QkRHTlBQV1FSWFRUWlVUW1hXXlpWYHZydHBtbnFucH10dltVWgANDwYMDwgMFAkLGAgQGhQTGx0THR8QHB4WIBoaIxscJRwdJh0dJh8gKCgmLy4rNCUlLSUoMDAsNTEvODQ7QUBDS0NGTkZIUEZIT0hKUU1KU3ZzdHBtbnBubnFwb3NxcUdHTA4SFggOEQgPEQgOEgsQFg8RHBESHBMWIBcaIxgaIxsbIxwcJR4eJyMjKyknMCAgKSAhKCgmLysqMicuNC42Ozg4Pz0+RD4+RkNCTkJBT3t3eHRwcnBub3FwbnNxcXRxclJVWA8XGggOEggOEQ0QFg8SHBETHRETHRQWIBQWIBgcIxwdJBwdJB4fJx4fJhscIx0fJh0eJiAgKCUjKy8rNDYxOjk0PTg0OzM4PjM3PoJ3eXx4eHZycnNwcHNwb3Nwb3NxcGBiYhEgHgcVFgsTGRASHRIUHRMVIBcYIhocIxsdJRweJRweJRsdJBseJSAfKCAgKB0eJh0eJiAfJyMhKDEtNjk0PDcxOjMxOS4tNoN5en57fHl0enZxdHRxcXRxcHRycHl1dm1qbi04OBEaHg8SHBETHRQWIBocIxwdJBweJhwfJh0gJx4gKB8gKB8gKB8gKB8gKB8gJx4fJh8gKCkoMDEuNzAuNiIsMiErMYV7fIN9foR9fnx4eXh1dndzdHZzcnl1dHhzdnZzclRUVxseJxMWIBYYIhgcIxwdJR0eJR0gJx8gKCAhKSEiKSEiKSEiKCEiKCEiKSEiKSEiKSEiKicmLycnLyAoLR8oLX10dn55e4N9fXp1dnh0dXh0dXdzcXVycnVxcnRubnBqcmFgaUFETSImLRocIxweJhwfJR4fKB4gKBwdJhweJh0fJyIkKyIkKiEjKiEjKh8hKCAiKCMkKiIkKiQlLCQlLGpkZW5tbHVycXRxcW9tbXBubm1samlpaGtpamxnaWtjbWZjbGFgaVxVXkI8RCQkLB8gKB8gKR8hKBweJh0eJx0fJxweJh8hKCEiKh8hKRwdJRwdJh8gKB4gKCIjKiIjKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"><title>Vilma, the happy Vaquita - The Moon is sinking!</title></head><body style="margin:0;border:0;padding:0;height:100%;width:100%;background:black;-webkit-font-smoothing:none"><div style="visibility:hidden;position:absolute"><img id="pixyvaquita" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAFWElEQVRYw+2WX0gcVxTGv7l3Zmd2drs6aHaNW7Jd88cYDaQYI1jsQ5GSh1BCAhUsNQ/JWxT6lLKExISCQkBECoW+6IMJEknaIEKQbKXJ5iFY6mKsEhOkk6qbRTe67szs7M7szvQhydKWhibEbQn1B/M2557z3e/ecy6wxRZbbLHFFv8hZ86ccYVCIe/rxkUiEXckEnFvVh3M6wZMTk7un56eHkkkEnsJIdA0DZRSuFwumKbZqSjKRHd399zL4sfHx9l4PL7TMIw5AGR4eLh0YmJi402FkFf9cXZ2tv7SpUv2zZs378fj8b2WZcE0TRDybAnTNKHr+tcOh2N2ZGTk4Iu4vr6+P22Wqqo1uVzuQSwWI4uLi5AkqfJlOdva2pj+/v7tFy5cIJviiKIort7eXlUURei6DgAwDAMOhwPZbBZPnz5FSUkJBEGAruvgOA48z8Plcj14/Pjx516vVxcEQVlZWflsx44d3clkEplMBrZtI5PJHPR4PFlK6dK5c+eSf8z76NGjytHR0eXa2tomlmUftLS0rL+RkBs3bhycn5//CQCSySSOHDkCv98Py7JAKYWu68hkMlhYWMDDhw8Rj8fhcrlg2zYMw/hZkiSNYRhKCPlAVdWCYJZlQSlFPp/v4jhOIYT8ePbs2WgikRB7enp2+ny++06nE36/v/7YsWNTb+RIOByWotHoGsuyiMViOH36NAAgn8+jo6MDtm2jv78fDMNA0zRYloV79+4hlUpBUZRnSRgGhmGgpKQEAGDbNhiGQT6fRz6fh2VZ4DgOlFIQQpDNZpFOpwEAHo8HlmXBtm2Iong1n89fDYVC3/+1TvYV7saHuVwO2WwW5eXlAACHw4HW1lbcuXMHPM/j1KlTGBoawp49exCNRtHc3AyPx4PBwUGkUinkcjmwLItkMlkQJkkSqqurwTAM5ubmkMlkYJomTNOEYRiglKK6uhqGYUCSJDyvoRXARwC+f+3LnkqlPgUAXddx9OhRiKIIlmVhWRbKysrgdrsLDk1PT0MQBFBKwXEcgsEgGOaZ6S922TAMAEB9fT14nocoimhsbIQoiuB5HoIgYNu2bdi1a1e/0+n8ZPfu3R9TSn1ra2s+TdPe6+jo+NtW/4+OpNNpORaLoaurC6ZpYnBwEMePH8fly5fR3t4OALh+/ToAgFIKy7KgqipUVUVjYyMURcHU1FTh6NTW1sLr9SKdToNhmMJXUVGBRCIBp9MJSmnHtWvXvr1y5Qr8fn9uU+ZIZ2enPT4+DgCQZRkcx2FmZgYcxxXa7vLyMu7evVvoZsFgEA0NDSCEYGNjA4QQyLIM27YLR0sQhMIMMgwDhJBveJ7/cnJy0urp6Ulv+kA8fPjwFwsLC30Mw2BoaAiBQAC6rmN0dBTr6+sQRRGlpaU4cOAATNPErVu3CgUTQlBTUwOv1wtKKTRNW2ZZNg7gt1QqtSxJ0jwh5LtcLsd7vd4Vl8uVraqqyhVlssuyLLa3t2vz8/M4f/48kskkDMMAx3EIBAJwOp3w+XyFbmOaJm7fvo2ysjJwHAfTNFFXVwdd139YXV39KhgMZgkhv3IcpzY3N2v/+hPl4sWL72ua1pvNZgcAlFNK4Xa76wghw5ZlCYqirFZWVpY8efLEcfLkybFIJAJVVV9M/4YTJ078UlFRkSnWm48pxqLhcHg/y7L3l5aWsLi4CAAIhUIMiggpxqItLS0zPp8PoiiC4zgYhoGBgQHurRMCADzPv7tv3z4cOnQI8Xh8ezgctt9KIVVVVctjY2PvpFKpMlmW12VZLqqQouP3+5m2tjbS1NREi5mHLbaQQCCA52683Y5s8X/ld5pkXmGj97LmAAAAAElFTkSuQmCC"><img id="pixyvaquita_twist_l" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAE7UlEQVRYR+1XSUikRxitdtd2R5S4xCUQ4zLg0KMectFDlIAQRFAMRMhFERUGEcUEFwRPKokHifEQBQ2BVqOI4EpQkaDEBZdRW6LIgCLuW9vunfcq9jAHm14Sh2SwoKj+ra+q3vveq69QId6TpnhPeIgnIv81JZ8UeVLkkTLwZC1DYouKipT4raytrd0xN9nNzc1OSqVSkZ6erjN3jak4ixUZHR19trKyoj44OPjExsZGaLVaYWtrKwBMXF9fF+zt7f1WV1e3ZOxgtVpte3x8HHt5ealobW19NTk5eWIKpDnzZhOZn59X9ff3T+l0OkEC7Hq9Xtzc3AiFQiEcHByEYS48PDw2MzNz6h4Az9AbwHR2doZtbm4ug/zt8PCwqqura9kIUEVlZaUb5s4w3pkiYxaR7e1tZWNj45mLi4sEy3Z1dSXBI7Nif39feHh4CCcnJzlvb28vHB0dqdLKxsbGV15eXjr8PoWKX4eFhaWB/DNnZ2cxNzf3wtvb+xJAF9E90Y8MgJEkm/b2dgXOdN/d3dWdnp7+joTpCwoKVA+RMotIR0fHi7W1tT+4wdHRkUhJSREBAQHi7u5O2orgLy4uBGLE6uqqAHFpNSoGwtOenp5aKIhQ209hP0kSwOQaJKOiurq6Cv0zfO/l5uZqYM0Psf+Ou7u7PxKl5rnY6zI/P/+5MWVMEunt7fVaXl4+sLOzE1tbWyIvL0/udXt7K7CxBFtfXy/txftCchMTE+Lk5ESCZeMcFaRq96BEUFCQjIVicqSK7FT4/Pxc+Pv7y2TgPpHsa5D/HAlah2oXVilSU1PzBazQTeA8KCMjQ1qK49jYmMxufHy8wMUVISEhYnZ2VqqEbApUJ0mI94iJ4N9JKiIiQs4bigUSJRMTHBwsyZ6dncl4EnJ1dWVCVnD2l4hfzMnJubaKSFVV1c/chJtnZWUJ+F3uk5qaKgiALSoqSrS0tEgAJMkMw05iaGhIoEiwmkmgbHFxcXKOJBjHdnh4KBPCb9oUKqvx3YK9WBRc8PsW4w4sfWi1tUpLS6thqW8qKiokoO7ubpGWliazS2JsqERyZAYJhoQMwFCZxMzMjFSTa5KSkt7YjTH8G+1D68Gar6DejyjRPyQkJNyZU60MxEzeEVQJ/cDAgIynnwloYWFBjmwkh3IqxsfH5TcBhYaGitjYWJl1guTItbxPtBarm+H9YTzmv0fct9PT09dNTU0PWseYEmYTSU5Ofrm+vv4dAfAe0MeUv6enR1qCJZlWiYmJkaRoJwJmIwHeB19fX5l5eH0TdlGi8rXBohoo9yv2dcSeOxqN5gIv/d/+s6KZVGRqasqlsLBQi4NEeXm5LL/MIhUhKb4Hfn5+EjQrDtoR7OTJeV5ojiQYHR1Ny82AeBnehVHYUmsFXqNLTBIxrCwrK3uOOl8HEj/Bxz70NypKNOZ/QXeCOruBgYEeJSUlQ7jgfw4ODn5EEvevvQpWsoHvFxMTEx8sn/+UlNlELDloaWlJ09bW9jErHMuvm5ubqri4eMaSPSyNfRQiDQ0NWygAH/BesOziYVP5+PgsGHsDLAX9UPyjEOFB2dnZV7CaPcqxChVrC31vZGTk5t8A/U6J8DC8A66RkZEOeOG1fX19JGF1VTKVgEdT5K2DeYah/6+JkNPbCXvzv4mpLFsy/y4UsQSP1bFPRKxO3SMt/AuU53c9zBm5QgAAAABJRU5ErkJggg=="><img id="pixyvaquita_twist_r" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAFFklEQVRYR+1XfSiuZxy+fX+85vtj5jstyrGZM/OfUco/1pKVrOYvoZBNdHLKZ+2PxTrJWl7TGJ2thpFMRCtG1N7DIp/FxOGIfHvx+tx13bynkxjve9A6uevped7nuX+/+7p+1/W7714D8YYMgzeEh7gn8n9T8l6Re0VuqQL31tIWNisrS4FnRUlJyZIuxR4ZGTGtq6s7LCgoONYl7rK5OivS1dUVOD4+/uvq6qq/oaGhUKvVwsjISCgUCnFwcJC+sLDwR1lZ2ehlCwK4Mb4Zu7q62hkbGxtUVlau9fX17b4umWsTGRoaetjW1qba3d0VJMDr5OREHB4eCgMDA2Fqaiq03/z8/ELi4+NVZ+C4xokWaE1NjWJzc9MxMjIyZGVl5TMHB4c5f3//7PNE5ubmLPhucnLSvre3NxbrWBQVFX3zWoosLi4qysvLty0tLSVYjv39fQleo9EIABI2NjbC3NxcfjcxMRFmZmZUaXxmZuYLOzu7XTxvQcV3PD09P/L29k4bGxt7d3l5man6kDcJ9+dQa50vSMLd3f0oJSXl4+Pj4wh7e/uvkE9ZWFj4GEXbuYjMtRSpr6//cGpq6i8mWF9fF9HR0cLNzU1gEWkrgt/b2xOYwwoKEJdWo2Ig/MzW1lYNBY3Cw8N/BrFHo6OjnojRIN4MxWhGDiUAPktISCDIt/DbhZaFegOwnxqFOXJ2do6Pior6E+pt6UWkpaXFDtVbRUIB/4vU1FSZ5+joSKSlpUmwpaWl0l5cnOT6+/sF7CO2tk7X5DcqSJWoGufxN99TZcaAUA1/c521tbUE5uV7a2vrVaT4PTg4OBP2NkIfbkC5vfNkrlSkuLj4U/izicBpmbi4OGkp3ru7uyW40NBQUVtbK2AZMTg4KFUCAFFVVSUJsY8IkH1FsLyYy8LCYpiAOTY2NgK5hta2zOHl5SXm5+dJ9gXsVY9vs4iZxDxVenr6wqtkriSCBnuKRT/f3t4WkF7A7zI+JiZGQCn5HBAQIKqrqwXnkCQrCTuJjo4OgSpyN5MKcpAQiWDXGqYqLi4ubmj45wMDA++RKEmzOOi5UkdHRyXU+QTvInE9RG4NLDsN8j8kJyf/pBORnJycr2Gpx/n5+RJQU1OTiI2NlVUnMY6GhgZ539nZkSRIiGD43NnZKQBSKsAYDqoFoMNOTk6B/I3nRSj39pnFGJ+GvlSipwRsdJiZmfk+SDv4+vraI88civIiIyNjVicikPCkvb1dxqBRJaDh4WF55yA5yt/T0/PSFj4+PiIkJERaCZaRd8ZqbURFtL1CclQGc77H9QjEjysqKi7cmV4Ffv75Smthp/hyenr6CRdnH9C33KWam5vZlLJZaaOgoCBJinbSAtb2RFhYmFQDVZ+HUosAMYvdbx42nUD1f0NuM+Rdamxs1FCB/wJ82bcriahUKktIq56YmBB5eXly+2UFqQhJofnoc1l1nikks7S0JDw8PARObGkvXhgnmBcBtTQ4P/6BitvZ2dlqfUBfFHMlEW1Qbm7uBzgrvgWJH3E5koCVldUDfP8FlznUWcb7CqhxjApbopkfREREHLS2tlLBQ24SONBO/XgL49pErrN2UlLSU5CIBJm/4fMoxmDXmoJaezwA0TfB18mjz5wbJZKYmJgA0N/xlFYqlRH6ANI35kaJEMQZGQco8kRfUPrE3TgRfUDcRMxdEOEa2uv0eL+FcVdEtNBf/i+5aS53QeSmMV+Y757InZRZh0X+BYR+fj33yDXSAAAAAElFTkSuQmCC"><img id="happybubble0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAlElEQVQYV32QzQ2DMAyFn2GUCvFzyC54jF67AAsgboxBdskhUDFLSfOjJBSJ+mRbn56fHyGWNk8UqNJ8YEdHs5vJL1czWkCiXkSC3qxwoEdLL4JTKKECQCpBMAIO/EAQNjOhWXZoZnRy8JDuh9BbcOMqQz8qUe8KrfzIp2zXSpmVzp4iGIHk6d931rSLIUTgzd7n9AU5+Eu6k4Zb7QAAAABJRU5ErkJggg=="><img id="grumpybubble0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAACiklEQVQoU52Tz0tUURTHP2/em9EZf4yOM+r4K00xrSwcN4ZWtIuSjJCiIKj+gFYWaBC1DoQgiGgRVCRJbYJyVVRouhpJKw2l/K0z4+9y1Jn3fJ03masW0d3ce+6553u+53zPVcBUQDGRVUX8kIFWHwPvBjjEYYhDTYKYA+ZU9K4B7O+tt1ac+K2gpcw47ool8GRjeAuJFLnQXQqqbmJoUbToBL7xMOpcBizYWR4aIGMxEVyBecAGTQvwMcDM6DmCZRorKXbsRpy4qpO++oTASBB/sQf2b8KzIZQexaIaRksXFM8pBjeO0L9uoBs6RoLcCqvrNmxKMoWZ79jl7KTUKnHeh/5D2Y3ZqmFMFhAerWW8wkvUnUW0T2F5EeyOQYpSbRjuSiYzf5K63EH17CTZJTpqvlKG2RZgOnSCvkgLx28IarcdM/k8fe1Cj0cELsimybmylXuXUikobKcm/yu5mUoh5p06JhZO0hW5wtlmoW/Rsl0k2CzE9YcE2uTCK3dKC3cbPWRUPudgXi8FaUoR5u1aZlbO0D2zRnTcgXNexbQZ/FbCWmKbYm/GWMty4ip6Sp2/F396InM9Y0uNfAgF2WN0sO+oZGz4Eyh7VIU3l3l9K5VhVzru8u3MVs17mYk0EQxd51iDjlItNH0S5NoCiAqFOQ0zeI0H95PI8W/XvNXtKen29wH8r6za5PFLAdCts+hvSrNOWPLcpPOqdDs0i684hpqX0DmClibOrNN8Wq8itNnDjrJVUkSieOwwI8MwOOdkp6eLUuUF5WsCHM1B3/jnCXtMzbc+ct0yYfnC5u1nlC9/ne0SwvlOYsnCWibNdKyRtD6Fb2IadUqaMaUSGusnd9WS9T9/FfwCFcIToaBH7usAAAAASUVORK5CYII="><img id="evilbubble0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAACS0lEQVRIS8WXv08UURDHvw8NmGiBRuIVcIAdGIkVzRI7KQAL/wKohUCCf4cmGq398Q/YAAUl2W2oCATo+HFSYELUQihI4Dlf3u3d7vPt7fPY814z92PmfWbmzbydVYBWuFpKG5m3wgy9seo+efZVmgE3gqZBvQg+0LQDuKC8BG5QHiGaTSMbO1Lz8jF+3d1C98+6sQGOYHSGchOdn31iGcH5tNFf/2T03Q5kpCfUJQRTNDuGWvYB2jol6EljHy254A5wqIcRvNmBetUM0LYZhn69g2jRhlvgYqGxEy54Ahzq+wien0BJaopfTH0y7e0Gh/oRRqe30fml+FjrO7LiTbWPqWrEdfA4Kk9XUV5rhQNOsF11vdAVwqWZI8ou6Ft76HjhcqgfekUiuMn/5FYZovwG1ed2nvdDIuKsRo+NH+LyKz/bcEL5+yHUhF+WauBQ8xo8gpprZNhXzYBEUk7qlaEP+L0CNeADlky+F70BydD/B/NevwKXEbwTjxd8PL6ujmTobQXRfHvBPmd83Uhje55xLdW+YDGSx+9f60wK846vYwkwTUyJZxnLuewLsScLIJv9lsHgxK+yPfuYUNlw0CcitlY+3AJz0rCnDEbyL2mkc2JzKDb9Lkef4HxmA+sfUzeXDW4GmiggJ9wBNufMcafZUSfvKO5BP/uBaDWupdTzuE1gE3WR81achSHol7uIZCyud07Lhz0XlA61bLzlmRKQPNcHOL79HaXTFLiogZ6Vy41N23CZ9BJKmQDnvTu17BUmD2w3SjEvbX8AewkfzHulUU8AAAAASUVORK5CYII="><img id="stilla0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAEdklEQVRYR+1Wf0yUdRx+3ve9H9zvnxz3cpwd5ICFDUxdK41hW5ut5fQPg+XGNFcsN0uba26KtlYUsNFsrbZ+LR1DDJubbhot0nTCEowiQVG0A+LXwRHcvRy8d/fet/dlqzk8uLu9q9nG/fl+n+/zPO/z/Xyfeyk8YD/qAfODZUOJTmQ5of8kod4XniS2lXbYq87ITlw2gfTGN58rIqxNC9PxVtl8sgkGvjpK5r78FDZWC2ZrOcxle2RxytospdP/UQ0JfduAdNYC5erHYdr9vixOWZslQ966IyR6+TvYXUZAZ4W5+oQsTlmbJUN3D+8l3JWLyMjLgpLMwvpJiyxOWZslQ7f3vULQ9yvshTkQxoZg/+ySLE5Zm+dnaP8u4u9ogzJK4FjlRMSagayqxvt4xz/c9zwB2U4IKaWCwwhO+vFw3Q/34eIa6m8+1ciEpqD0jdySRDMqKg8vVmi3X9xIaCWNtAwbVOEAaBHIewqQZs0GEwkjGhoFGe0HMdCITQZBpkOIqSjQBhbOqvrkDHmbm8jsiTpYtUYQixEqkwuMx4loUABlywRhRNkZDqGrVzHV3YUYUYLNMYMSACrdg6iWR+zGLdACAVY4wA36QFMaWMxqzI77kNn086Ins+jCb2XrCeMbB63XgeNC0FrN4HkBKkaFND4EfnYOxnUFiMUojLR2gw6HodJoYVlXBMNaN+iOmxi+3gedMx3MRABQ8kCWC66Pzy85JglnqHvbM8Tn7YNKb5kXnwlxUIsB2U1mvDsyiGMNp+E9tAfhgIBwWACLKN4ITM4/9x89gtiAD0TBwH2uPaGWNBZJgSTgT6WbiP/6DcxGIlCIx5hXmIv9Zy9CHwrgvSfWIKpIAx8TB9vtxktnzs8/r31qDRROD9jPv0laJ2ng30P9444yMni5DbSOQiQQQno2i+LSEvhbOjE0NA1nfiaUrAGxrjvikMfANnempJES+N6bVv9YPjHwc+KQ23B6oB+HVueit28MTcFpHCgRk5niQAf/RHZLT0oaKYHvNXShYicJtLeK7QzoNWrU/O6dX36nuBBmMBj1jmPFhlwo1QzSq04lrZM0cGEPXdqxjejH+hDlBPBRyZQC3uEJGB168boDRKwCay4Ldi4Iyp0JR21TUlpJgeKV4rn1+SSncCUMfBgzf0yAC0UgWJzgFRR4saOUgaDYPTEwtBrOtSyMZjtsbx1LqJcQEM9Mz97ytwNtVyoVKj2srA5COALt01vgeu3gP3ztu18mXE+HWKAzsLkcYk0I4o1zw1H9tbweimeo+/VyouEGQYsVgLEgFBs3IetAdVyha9u3kLneLqh1aTB4TLAXPALbm1+k3tRLfYxf27qB2PIcUPv8CNtceKi2IWHSUo9RE0MwGQWYdr4K5+b4X5YJiRYak45L4btbqeEJBJ0GnuPfp8Txy7OrGjWPFmXm1dQXx3vplMgkgp6Du4h29A4U3AyyTib3d7BU2gvXUjbUWVFCWC0F5wcXUt6bjLF/hTQZ4cUwy4YSpbec0P8uob8AGyqPNPk8QBcAAAAASUVORK5CYII="><img id="seafloor" src="data:image/jpeg;base64,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"><img id="fontglyphs" src="data:image/png;base64,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"></div><div style="display:table;width:100%;max-width:100%;height:100%;margin:0;border:0;padding:0"><div style="display:table-cell;vertical-align:middle;width:100%;margin:0;border:0;padding:0;text-align:center"><div style="position:relative;display:inline-block" width="480" height="720"><canvas width="480" height="720"></canvas><header style="position:absolute;top:0;left:0;font-size:14px;width:100%;color:black"><span>Vilma, the happy Vaquita - The Moon is sinking! v0.2.340</span><span> - </span><a target="_blank" href="../index.html">Save Vaqitas</a><div style="text-align:right" id="fps"></div></header></div></div></div><script type="text/javascript">gameObjects=null;</script><script type="text/javascript">__hasProp = {}.hasOwnProperty; __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };</script><script type="text/javascript">var jaws=function(t){function e(e){t.mouse_x=e.pageX||e.clientX,t.mouse_y=e.pageY||e.clientY;var i=t.canvas?t.canvas:t.dom;t.mouse_x-=i.offsetLeft,t.mouse_y-=i.offsetTop}var i,s;return t.SpriteList=function(){throw"To use SpriteList() you need to include src/extras/sprite_list.js"},t.Audio=function(){throw"To use jaws.Audio() you need to include src/extras/audio.js"},t.title=function(e){return t.isString(e)?e?i.innerHTML=e:i.innerHTML:void t.log.error("jaws.title: Passed in value is not a String.")},t.unpack=function(){var e=["Sprite","SpriteList","Animation","SpriteSheet","Parallax","pressed","QuadTree"];e.forEach(function(e){window[e]?t.log.warn("jaws.unpack: "+e+" already exists in global namespace."):window[e]=t[e]})},t.log=function(e,i){t.isString(e)||(e=JSON.stringify(e)),t.log.on&&(s&&t.log.use_log_element&&(i?s.innerHTML+=e+"<br />":s.innerHTML=e),console.log&&t.log.use_console&&console.log("JawsJS: ",e))},t.log.on=!0,t.log.use_console=!1,t.log.use_log_element=!0,t.log.warn=function(e){console.warn&&t.log.use_console&&t.log.on?console.warn(e):t.log("[WARNING]: "+JSON.stringify(e),!0)},t.log.error=function(e){console.error&&t.log.use_console&&t.log.on?console.error(e):t.log("[ERROR]: "+JSON.stringify(e),!0)},t.log.info=function(e){console.info&&t.log.use_console&&t.log.on?console.info(e):t.log("[INFO]: "+JSON.stringify(e),!0)},t.log.debug=function(e){console.debug&&t.log.use_console&&t.log.on?console.debug(e):t.log("[DEBUG]: "+JSON.stringify(e),!0)},t.log.clear=function(){s&&(s.innerHTML=""),console.clear&&console.clear()},t.init=function(o){i=document.getElementsByTagName("title")[0],t.url_parameters=t.getUrlParameters(),t.canvas=document.getElementsByTagName("canvas")[0],t.canvas||(t.dom=document.getElementById("canvas")),t.canvas?t.context=t.canvas.getContext("2d"):t.dom?t.dom.style.position="relative":(t.canvas=document.createElement("canvas"),t.canvas.width=o.width,t.canvas.height=o.height,t.context=t.canvas.getContext("2d"),document.body.appendChild(t.canvas)),s=document.getElementById("jaws-log"),t.url_parameters.debug&&(s||(s=document.createElement("div"),s.id="jaws-log",s.style.cssText="overflow: auto; color: #aaaaaa; width: 300px; height: 150px; margin: 40px auto 0px auto; padding: 5px; border: #444444 1px solid; clear: both; font: 10px verdana; text-align: left;",document.body.appendChild(s))),t.url_parameters.bust_cache&&(t.log.info("Busting cache when loading assets"),t.assets.bust_cache=!0),t.context&&t.useCrispScaling(),t.width=t.canvas?t.canvas.width:t.dom.offsetWidth,t.height=t.canvas?t.canvas.height:t.dom.offsetHeight,t.mouse_x=0,t.mouse_y=0,window.addEventListener("mousemove",e)},t.useCrispScaling=function(){t.context.imageSmoothingEnabled=!1,t.context.webkitImageSmoothingEnabled=!1,t.context.mozImageSmoothingEnabled=!1},t.useSmoothScaling=function(){t.context.imageSmoothingEnabled=!0,t.context.webkitImageSmoothingEnabled=!0,t.context.mozImageSmoothingEnabled=!0},t.start=function(e,i,s){function o(e,s){t.log.info(s+"%: "+e,!0),i.loading_screen&&t.assets.displayProgress(s)}function n(e,i){t.log.info(i+"%: Error loading asset "+e,!0)}function a(){t.log.info("all assets loaded",!0),t.switchGameState(e||window,{fps:r},s)}i||(i={});var r=i.fps||60;return void 0===i.loading_screen&&(i.loading_screen=!0),i.width||(i.width=500),i.height||(i.height=300),t.init(i),t.isFunction(e)||t.isObject(e)?t.isObject(s)||void 0===s?(i.loading_screen&&t.assets.displayProgress(0),t.log.info("setupInput()",!0),t.setupInput(),t.log.info("assets.loadAll()",!0),void(t.assets.length()>0?t.assets.loadAll({onprogress:o,onerror:n,onload:a}):a())):void t.log.error("jaws.start: The setup options for the game state is not an object."):void t.log.error("jaws.start: Passed in GameState is niether function or object")},t.switchGameState=function(e,i,s){if(void 0===i&&(i={}),t.isFunction(e)&&(e=new e),!t.isObject(e))return void t.log.error("jaws.switchGameState: Passed in GameState should be a Function or an Object.");var o=i&&i.fps||t.game_loop&&t.game_loop.fps||60,n=i.setup;t.game_loop&&t.game_loop.stop(),t.clearKeyCallbacks(),t.previous_game_state=t.game_state,t.game_state=e,t.game_loop=new t.GameLoop(e,{fps:o,setup:n},s),t.game_loop.start()},t.imageToCanvas=function(e){if(t.isCanvas(e))return e;if(!t.isImage(e))return void t.log.error("jaws.imageToCanvas: Passed in object is not an Image.");var i=document.createElement("canvas");i.src=e.src,i.width=e.width,i.height=e.height;var s=i.getContext("2d");return s.drawImage(e,0,0,e.width,e.height),i},t.forceArray=function(t){return Array.isArray(t)?t:[t]},t.clear=function(){t.context.clearRect(0,0,t.width,t.height)},t.fill=function(e){t.context.fillStyle=e,t.context.fillRect(0,0,t.width,t.height)},t.draw=function(){var e=arguments;1==e.length&&t.isArray(e[0])&&(e=e[0]);for(var i=0;i<e.length;i++)t.isArray(e[i])?t.draw(e[i]):e[i].draw&&e[i].draw()},t.update=function(){var e=arguments;1==e.length&&t.isArray(e[0])&&(e=e[0]);for(var i=0;i<e.length;i++)t.isArray(e[i])?t.update(e[i]):e[i].update&&e[i].update()},t.isImage=function(t){return"[object HTMLImageElement]"===Object.prototype.toString.call(t)},t.isCanvas=function(t){return"[object HTMLCanvasElement]"===Object.prototype.toString.call(t)},t.isDrawable=function(e){return t.isImage(e)||t.isCanvas(e)},t.isString=function(t){return"string"==typeof t||"object"==typeof t&&t.constructor===String},t.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},t.isArray=function(t){return t?!(-1===t.constructor.toString().indexOf("Array")):!1},t.isObject=function(t){return null!==t&&"object"==typeof t},t.isFunction=function(t){return"[object Function]"===Object.prototype.toString.call(t)},t.isRegExp=function(t){return t instanceof RegExp},t.isOutsideCanvas=function(e){return e.x&&e.y?e.x<0||e.y<0||e.x>t.width||e.y>t.height:void 0},t.forceInsideCanvas=function(e){e.x&&e.y&&(e.x<0&&(e.x=0),e.x>t.width&&(e.x=t.width),e.y<0&&(e.y=0),e.y>t.height&&(e.y=t.height))},t.getUrlParameters=function(){for(var t,e=[],i=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),s=0;s<i.length;s++)t=i[s].split("="),e.push(t[0]),e[t[0]]=t[1];return e},t.parseOptions=function(e,i,s){e.options=i;for(var o in i)void 0===s[o]&&t.log.warn("jaws.parseOptions: Unsupported property "+o+"for "+e.constructor);for(var o in s)t.isFunction(s[o])&&(s[o]=s[o]()),e[o]=void 0!==i[o]?i[o]:t.clone(s[o])},t.clone=function(e){return t.isArray(e)?e.slice(0):t.isObject(e)?JSON.parse(JSON.stringify(e)):e},t.imageToCanvasContext=function(e){var i=document.createElement("canvas");i.width=e.width,i.height=e.height;var s=i.getContext("2d");return t.context&&(s.imageSmoothingEnabled=t.context.mozImageSmoothingEnabled,s.webkitImageSmoothingEnabled=t.context.mozImageSmoothingEnabled,s.mozImageSmoothingEnabled=t.context.mozImageSmoothingEnabled),s.drawImage(e,0,0,i.width,i.height),s},t.retroScaleImage=function(e,i){var s=t.isImage(e)?t.imageToCanvas(e):e,o=s.getContext("2d"),n=o.getImageData(0,0,s.width,s.height).data,a=document.createElement("canvas");a.width=e.width*i,a.height=e.height*i;for(var r=a.getContext("2d"),h=r.createImageData(a.width,a.height),c=h.width,l=h.height,u=0;l>u;u+=1)for(var d=Math.floor(u/i),f=u*h.width,p=d*e.width,g=0;c>g;g+=1){var m=Math.floor(g/i),w=4*(f+g),x=4*(p+m);h.data[w]=n[x],h.data[w+1]=n[x+1],h.data[w+2]=n[x+2],h.data[w+3]=n[x+3]}return r.putImageData(h,0,0),a},t}(jaws||{});"undefined"!=typeof module&&"exports"in module&&(module.exports=jaws);var jaws=function(t){function e(){for(var t in h)delete h[t]}function i(t){var e=e=t.keyCode;h[e]=!1,d[e]?(d[e](e),t.preventDefault()):g[e]&&t.preventDefault()}function s(t){var e=e=t.keyCode;h[e]=!0,u[e]?(u[e](e),t.preventDefault()):g[e]&&t.preventDefault()}function o(t){var e=f[t.button];"Microsoft Internet Explorer"==navigator.appName&&(e=p[t.button]),h[e]=!0,u[e]&&(u[e](e),t.preventDefault())}function n(t){var e=f[t.button];"Microsoft Internet Explorer"==navigator.appName&&(e=p[t.button]),h[e]=!1,d[e]&&(d[e](e),t.preventDefault())}function a(e){h.left_mouse_button=!0,t.mouse_x=e.touches[0].pageX-t.canvas.offsetLeft,t.mouse_y=e.touches[0].pageY-t.canvas.offsetTop}function r(){h.left_mouse_button=!1,t.mouse_x=void 0,t.mouse_y=void 0}var h={},c={0:"48",1:"49",2:"50",3:"51",4:"52",5:"53",6:"54",7:"55",8:"56",9:"57",backspace:"8",tab:"9",enter:"13",shift:"16",ctrl:"17",alt:"18",pause:"19",caps_lock:"20",esc:"27",space:"32",page_up:"33",page_down:"34",end:"35",home:"36",left:"37",up:"38",right:"39",down:"40",insert:"45","delete":"46",a:"65",b:"66",c:"67",d:"68",e:"69",f:"70",g:"71",h:"72",i:"73",j:"74",k:"75",l:"76",m:"77",n:"78",o:"79",p:"80",q:"81",r:"82",s:"83",t:"84",u:"85",v:"86",w:"87",x:"88",y:"89",z:"90",windows_left:"91",windows_right:"92",select:"93",numpad0:"96",numpad1:"97",numpad2:"98",numpad3:"99",numpad4:"100",numpad5:"101",numpad6:"102",numpad7:"103",numpad8:"104",numpad9:"105",asterisk:"106",plus:"107",minus:"109",decimal_point:"110",divide:"111",f1:"112",f2:"113",f3:"114",f4:"115",f5:"116",f6:"117",f7:"118",f8:"119",f9:"120",numlock:"144",scrollock:"145",semicolon:"186",equals:"187",comma:"188",dash:"189",period:"190",slash:"191",grave_accent:"192",open_bracket:"219",backslash:"220",close_bracket:"221",single_quote:"222"},l={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"caps_lock",27:"esc",32:"space",33:"page_up",34:"page_down",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",91:"windows_left",92:"windows_right",93:"select",96:"numpad0",97:"numpad1",98:"numpad2",99:"numpad3",100:"numpad4",101:"numpad5",102:"numpad6",103:"numpad7",104:"numpad8",105:"numpad9",106:"asterisk",107:"plus",109:"minus",110:"decimal_point",111:"divide",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",144:"numlock",145:"scrollock",186:"semicolon",187:"equals",188:"comma",189:"dash",190:"period",191:"slash",192:"grave_accent",219:"open_bracket",220:"backslash",221:"close_bracket",222:"single_quote"},u=[],d=[],f=[],p=[],g=[];return t.setupInput=function(){var h=[];h[0]="left_mouse_button",h[1]="center_mouse_button",h[2]="right_mouse_button";var c=[];c[1]="left_mouse_button",c[2]="right_mouse_button",c[4]="center_mouse_button",f=h,p=c,window.addEventListener("keydown",s),window.addEventListener("keyup",i);var l=t.canvas||t.dom;l.addEventListener("mousedown",o,!1),l.addEventListener("mouseup",n,!1),l.addEventListener("touchstart",a,!1),l.addEventListener("touchend",r,!1),window.addEventListener("blur",e,!1),document.oncontextmenu=function(){return!1}},t.preventDefaultKeys=function(){for(var t=arguments,e=0;e<t.length;e++)g[t[e]]=!0},t.pressed=h,t.keyCodes=c,t.keycodeNames=l,t.on_keydown=function(e,i){if(t.isArray(e))for(var s=0;e[s];s++)u[e[s]]=i;else u[e]=i},t.on_keyup=function(e,i){if(t.isArray(e))for(var s=0;e[s];s++)d[e[s]]=i;else d[e]=i},t.clearKeyCallbacks=function(){d=[],u=[]},t}(jaws||{}),jaws=function(t){function e(e){if(t.isDrawable(e)){for(var i=t.isImage(e)?t.imageToCanvas(e):e,s=i.getContext("2d"),o=s.getImageData(0,0,i.width,i.height),n=o.data,a=0;a<n.length;a+=4)255===n[a]&&0===n[a+1]&&255===n[a+2]&&(n[a+3]=0);return s.putImageData(o,0,0),i}}return t.Assets=function(){function i(e){if(t.isString(e)){var i=r.getPostfix(e);return r.file_type[i]?r.file_type[i]:i}t.log.error("jaws.assets.getType: Argument not a String with "+e)}function s(s){var o=this.asset,n=o.src,h=i(o.src);try{if("json"===h){if(4!==this.readyState)return;r.data[o.src]=JSON.parse(this.responseText)}else if("image"===h){var c=r.image_to_canvas?t.imageToCanvas(o.image):o.image;r.fuchia_to_transparent&&"bmp"===r.getPostfix(o.src)&&(c=e(c)),r.data[o.src]=c}else r.data[o.src]="audio"===h&&r.can_play[r.getPostfix(o.src)]?o.audio:"video"===h&&r.can_play[r.getPostfix(o.src)]?o.video:this.response}catch(l){t.log.error("Cannot process "+n+" (Message: "+l.message+", Name: "+l.name+")"),r.data[o.src]=null}r.loaded[n]||r.load_count++,r.loaded[n]=!0,r.loading[n]=!1,a(o,!0,s)}function o(t){r.loaded[t.src]=!0,r.loading[t.src]=!1,r.load_count++,a(t,!0)}function n(t){var e=this.asset;r.error_count++,a(e,!1,t)}function a(t,e,i){var s=parseInt((r.load_count+r.error_count)/r.src_list.length*100);e?(r.onprogress&&r.onprogress(t.src,s),t.onprogress&&void 0!==i&&t.onprogress(i)):(r.onerror&&r.onerror(t.src,s),t.onerror&&void 0!==i&&t.onerror(i)),100===s&&(r.onload&&r.onload(),r.onprogress=null,r.onerror=null,r.onload=null)}if(!(this instanceof arguments.callee))return new arguments.callee;var r=this;r.loaded=[],r.loading=[],r.src_list=[],r.data=[],r.bust_cache=!1,r.image_to_canvas=!0,r.fuchia_to_transparent=!0,r.root="",r.file_type={},r.file_type.json="json",r.file_type.wav="audio",r.file_type.mp3="audio",r.file_type.ogg="audio",r.file_type.m4a="audio",r.file_type.weba="audio",r.file_type.aac="audio",r.file_type.mka="audio",r.file_type.flac="audio",r.file_type.png="image",r.file_type.jpg="image",r.file_type.jpeg="image",r.file_type.gif="image",r.file_type.bmp="image",r.file_type.tiff="image",r.file_type.mp4="video",r.file_type.webm="video",r.file_type.ogv="video",r.file_type.mkv="video",r.can_play={};try{var h=new Audio;r.can_play.wav=!!h.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),r.can_play.ogg=!!h.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),r.can_play.mp3=!!h.canPlayType("audio/mpeg;").replace(/^no$/,""),r.can_play.m4a=!!(h.canPlayType("audio/x-m4a;")||h.canPlayType("audio/aac;")).replace(/^no$/,""),r.can_play.weba=!!h.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),r.can_play.aac=!!h.canPlayType("audio/aac;").replace(/^no$/,""),r.can_play.mka=!!h.canPlayType("audio/x-matroska;").replace(/^no$/,""),r.can_play.flac=!!h.canPlayType("audio/x-flac;").replace(/^no$/,"")}catch(c){}try{var l=document.createElement("video");r.can_play.mp4=!!l.canPlayType("video/mp4;").replace(/^no$/,""),r.can_play.webm=!!l.canPlayType('video/webm; codecs="vorbis"').replace(/^no$/,""),r.can_play.ogv=!!l.canPlayType('video/ogg; codecs="vorbis"').replace(/^no$/,""),r.can_play.mkv=!!l.canPlayType("video/x-matroska;").replace(/^no$/,"")}catch(c){}r.length=function(){return r.src_list.length},r.setRoot=function(t){return r.root=t,r},r.get=function(e){if(t.isArray(e))return e.map(function(t){return r.data[t]});if(!t.isString(e))return void t.log.error("jaws.get: Neither String nor Array. Incorrect URL resource "+e);if("*"===e[e.length-1])for(var i=e.replace("*",""),s=0;s<r.src_list.length;s++)if(0==r.src_list[s].indexOf(i)&&r.data[r.src_list[s]])return r.data[r.src_list[s]];return r.data[e]?r.data[e]:void t.log.warn("No such asset: "+e,!0)},r.isLoading=function(e){return t.isString(e)?r.loading[e]:void t.log.error("jaws.isLoading: Argument not a String with "+e)},r.isLoaded=function(e){return t.isString(e)?r.loaded[e]:void t.log.error("jaws.isLoaded: Argument not a String with "+e)},r.getPostfix=function(e){return t.isString(e)?e.toLowerCase().match(/.+\.([^?]+)(\?|$)/)[1]:void t.log.error("jaws.assets.getPostfix: Argument not a String with "+e)},r.add=function(e){var i=arguments;1==i.length&&t.isArray(i[0])&&(i=i[0]);for(var s=0;s<i.length;s++)t.isArray(i[s])?r.add(i[s]):t.isString(i[s])?r.src_list.push(i[s]):t.log.error("jaws.assets.add: Neither String nor Array. Incorrect URL resource "+e);return r},r.loadAll=function(e){return r.load_count=0,r.error_count=0,e.onprogress&&t.isFunction(e.onprogress)&&(r.onprogress=e.onprogress),e.onerror&&t.isFunction(e.onerror)&&(r.onerror=e.onerror),e.onload&&t.isFunction(e.onload)&&(r.onload=e.onload),r.src_list.forEach(function(t){r.load(t)}),r},r.load=function(e,a){if(a||(a={}),!t.isString(e))return void t.log.error("jaws.assets.load: Argument not a String with "+e);var h={},c="";h.src=e,h.onload=a.onload,h.onerror=a.onerror,r.loading[e]=!0;var l=RegExp("^((f|ht)tp(s)?:)?//");c=l.test(e)?h.src:r.root+h.src,r.bust_cache&&(c+="?"+parseInt(1e7*Math.random()));var u=i(h.src);if("image"===u)try{h.image=new Image,h.image.asset=h,h.image.addEventListener("load",s),h.image.addEventListener("error",n),h.image.src=c}catch(d){t.log.error("Cannot load Image resource "+c+" (Message: "+d.message+", Name: "+d.name+")")}else if(r.can_play[r.getPostfix(h.src)]){if("audio"===u)try{h.audio=new Audio,h.audio.asset=h,h.audio.addEventListener("error",n),h.audio.addEventListener("canplay",s),r.data[h.src]=h.audio,h.audio.src=c,h.audio.load()}catch(d){t.log.error("Cannot load Audio resource "+c+" (Message: "+d.message+", Name: "+d.name+")")}else if("video"===u)try{h.video=document.createElement("video"),h.video.asset=h,r.data[h.src]=h.video,h.video.setAttribute("style","display:none;"),h.video.addEventListener("error",n),h.video.addEventListener("canplay",s),document.body.appendChild(h.video),h.video.src=c,h.video.load()}catch(d){t.log.error("Cannot load Video resource "+c+" (Message: "+d.message+", Name: "+d.name+")")}}else{if("audio"===u&&!r.can_play[r.getPostfix(h.src)])return o(h),r;try{var f=new XMLHttpRequest;f.asset=h,f.onreadystatechange=s,f.onerror=n,f.open("GET",c,!0),"json"!==u&&(f.responseType="blob"),f.send(null)}catch(d){t.log.error("Cannot load "+c+" (Message: "+d.message+", Name: "+d.name+")")}}return r},r.displayProgress=function(e){t.isNumber(e)&&t.context&&(t.context.save(),t.context.fillStyle="black",t.context.fillRect(0,0,t.width,t.height),t.context.fillStyle="white",t.context.strokeStyle="white",t.context.textAlign="center",t.context.strokeRect(49,t.height/2-30-1,t.width-100+2,62),t.context.fillRect(50,t.height/2-30,(t.width-100)/100*e,60),t.context.font="11px verdana",t.context.fillText("Loading... "+e+"%",t.width/2,t.height/2-35),t.context.font="11px verdana",t.context.fillStyle="#ccc",t.context.textBaseline="bottom",t.context.fillText("powered by www.jawsjs.com",t.width/2,t.height-1),t.context.restore())}},t.assets=new t.Assets,t}(jaws||{});if("undefined"!=typeof require)var jaws=require("./core.js");var jaws=function(t){function e(t){this.size=t,this.values=new Array(this.size),this.value,this.add=function(t){if(this.values.length>this.size){this.values.splice(0,1),this.value=0;for(var e=0;this.values[e];e++)this.value+=this.values[e];this.value=this.value/this.size}return this.values.push(t),this},this.get=function(){return parseInt(this.value)}}return window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,16.666)}}(),t.GameLoop=function(i,s,o){if(!(this instanceof arguments.callee))return new arguments.callee(i,s);this.tick_duration=0,this.fps=0,this.ticks=0;var n,a=!1,r=!1,h=this,c=new e(20);this.runtime=function(){return this.last_tick-this.first_tick},this.start=function(){t.log.info("Game loop start",!0),this.first_tick=(new Date).getTime(),this.current_tick=(new Date).getTime(),this.last_tick=(new Date).getTime(),s.setup!==!1&&i.setup&&i.setup(o),step_delay=1e3/s.fps,60==s.fps?requestAnimFrame(this.loop):n=setInterval(this.loop,step_delay)},this.loop=function(){h.current_tick=(new Date).getTime(),h.tick_duration=h.current_tick-h.last_tick,h.fps=c.add(1e3/h.tick_duration).get(),r||a||(i.update&&i.update(),i.draw&&i.draw(),h.ticks++),60!=s.fps||r||requestAnimFrame(h.loop),h.last_tick=h.current_tick},this.pause=function(){a=!0},this.unpause=function(){a=!1},this.stop=function(){n&&clearInterval(n),r=!0}},t}(jaws||{}),jaws=function(t){var e=0;return t.Rect=function(t,i,s,o){return this instanceof arguments.callee?(this.x=t,this.y=i,this.width=s,this.height=o,this.right=t+s-e,void(this.bottom=i+o-e)):new arguments.callee(t,i,s,o)},t.Rect.prototype.getPosition=function(){return[this.x,this.y]},t.Rect.prototype.move=function(t,e){return this.x+=t,this.y+=e,this.right+=t,this.bottom+=e,this},t.Rect.prototype.moveTo=function(t,i){return this.x=t,this.y=i,this.right=this.x+this.width-e,this.bottom=this.y+this.height-e,this},t.Rect.prototype.resize=function(t,i){return this.width+=t,this.height+=i,this.right=this.x+this.width-e,this.bottom=this.y+this.height-e,this},t.Rect.prototype.clone=function(){return new t.Rect(this.x,this.y,this.width,this.height)},t.Rect.prototype.shrink=function(t,i){return this.x+=t,this.y+=i,this.width-=t+t,this.height-=i+i,this.right=this.x+this.width-e,this.bottom=this.y+this.height-e,this},t.Rect.prototype.resizeTo=function(t,i){return this.width=t,this.height=i,this.right=this.x+this.width-e,this.bottom=this.y+this.height-e,this},t.Rect.prototype.draw=function(){return t.context.strokeStyle="red",t.context.strokeRect(this.x-.5,this.y-.5,this.width,this.height),this},t.Rect.prototype.collidePoint=function(t,e){return t>=this.x&&t<=this.right&&e>=this.y&&e<=this.bottom},t.Rect.prototype.collideRect=function(t){return(this.x>=t.x&&this.x<=t.right||t.x>=this.x&&t.x<=this.right)&&(this.y>=t.y&&this.y<=t.bottom||t.y>=this.y&&t.y<=this.bottom)},t.Rect.prototype.toString=function(){return"[Rect "+this.x+", "+this.y+", "+this.width+", "+this.height+"]"},t}(jaws||{});"undefined"!=typeof module&&"exports"in module&&(module.exports=jaws.Rect);var jaws=function(jaws){return jaws.Sprite=function(t){return this instanceof arguments.callee?(this.set(t),void(this.context=t.context?t.context:jaws.context)):new arguments.callee(t)},jaws.Sprite.prototype.default_options={x:0,y:0,alpha:1,angle:0,flipped:!1,anchor_x:0,anchor_y:0,image:null,image_path:null,anchor:null,scale_image:null,damping:1,scale_x:1,scale_y:1,scale:1,color:"#ddd",width:16,height:16,_constructor:null,context:null,data:null},jaws.Sprite.prototype.set=function(t){if(jaws.isString(this.image)&&(this.image_path=this.image),jaws.parseOptions(this,t,this.default_options),this.scale&&(this.scale_x=this.scale_y=this.scale),this.image&&this.setImage(this.image),this.scale_image&&this.scaleImage(this.scale_image),this.anchor&&this.setAnchor(this.anchor),!this.image&&this.color&&this.width&&this.height){var e=document.createElement("canvas"),i=e.getContext("2d");e.width=this.width,e.height=this.height,i.fillStyle=this.color,i.fillRect(0,0,this.width,this.height),this.image=e}return this.cacheOffsets(),this},jaws.Sprite.prototype.clone=function(object){var constructor=this._constructor?eval(this._constructor):this.constructor,new_sprite=new constructor(this.attributes());return new_sprite._constructor=this._constructor||this.constructor.name,new_sprite},jaws.Sprite.prototype.setImage=function(t){var e=this;return jaws.isDrawable(t)?(this.image=t,this.cacheOffsets()):(jaws.assets.isLoaded(t)?(this.image=jaws.assets.get(t),this.cacheOffsets()):(jaws.log.warn("Image '"+t+"' not preloaded with jaws.assets.add(). Image and a working sprite.rect() will be delayed."),jaws.assets.load(t,{onload:function(){e.image=jaws.assets.get(t),e.cacheOffsets()}})),this)},jaws.Sprite.prototype.stepToWhile=function(t,e,i){var s=1,o=t<this.x?-s:s,n=e<this.y?-s:s;t=parseInt(t),e=parseInt(e);for(var a=!1,r=!1;;)if(a===!1&&(this.x!=t&&(this.x+=o),i(this)||(this.x-=o,a=!0)),r===!1&&(this.y!=e&&(this.y+=n),i(this)||(this.y-=n,r=!0)),(a||this.x==t)&&(r||this.y==e))return{x:a,y:r}},jaws.Sprite.prototype.stepWhile=function(t,e,i){return this.stepToWhile(this.x+t,this.y+e,i)},jaws.Sprite.prototype.flip=function(){return this.flipped=this.flipped?!1:!0,this},jaws.Sprite.prototype.flipTo=function(t){return this.flipped=t,this},jaws.Sprite.prototype.rotate=function(t){return this.angle+=t,this},jaws.Sprite.prototype.rotateTo=function(t){return this.angle=t,this},jaws.Sprite.prototype.moveTo=function(t,e){return jaws.isArray(t)&&void 0===e&&(e=t[1],t=t[0]),this.x=t,this.y=e,this},jaws.Sprite.prototype.move=function(t,e){return jaws.isArray(t)&&void 0===e&&(e=t[1],t=t[0]),t&&(this.x+=t),e&&(this.y+=e),this},jaws.Sprite.prototype.scaleAll=function(t){return this.scale_x*=t,this.scale_y*=t,this.cacheOffsets()},jaws.Sprite.prototype.scaleTo=function(t){return this.scale_x=this.scale_y=t,this.cacheOffsets()},jaws.Sprite.prototype.scaleWidth=function(t){return this.scale_x*=t,this.cacheOffsets()},jaws.Sprite.prototype.scaleHeight=function(t){return this.scale_y*=t,this.cacheOffsets()},jaws.Sprite.prototype.setX=function(t){return this.x=t,this},jaws.Sprite.prototype.setY=function(t){return this.y=t,this},jaws.Sprite.prototype.setTop=function(t){return this.y=t+this.top_offset,this},jaws.Sprite.prototype.setBottom=function(t){return this.y=t-this.bottom_offset,this},jaws.Sprite.prototype.setLeft=function(t){return this.x=t+this.left_offset,this},jaws.Sprite.prototype.setRight=function(t){return this.x=t-this.right_offset,this},jaws.Sprite.prototype.setWidth=function(t){return this.scale_x=t/this.image.width,this.cacheOffsets()},jaws.Sprite.prototype.setHeight=function(t){return this.scale_y=t/this.image.height,this.cacheOffsets()},jaws.Sprite.prototype.resize=function(t,e){return jaws.isArray(t)&&void 0===e&&(e=t[1],t=t[0]),this.scale_x=(this.width+t)/this.image.width,this.scale_y=(this.height+e)/this.image.height,this.cacheOffsets()},jaws.Sprite.prototype.resizeTo=function(t,e){return jaws.isArray(t)&&void 0===e&&(e=t[1],t=t[0]),this.scale_x=t/this.image.width,this.scale_y=e/this.image.height,this.cacheOffsets()},jaws.Sprite.prototype.setAnchor=function(t){var e={top_left:[0,0],left_top:[0,0],center_left:[0,.5],left_center:[0,.5],bottom_left:[0,1],left_bottom:[0,1],top_center:[.5,0],center_top:[.5,0],center_center:[.5,.5],center:[.5,.5],bottom_center:[.5,1],center_bottom:[.5,1],top_right:[1,0],right_top:[1,0],center_right:[1,.5],right_center:[1,.5],bottom_right:[1,1],right_bottom:[1,1]};return(a=e[t])&&(this.anchor_x=a[0],this.anchor_y=a[1],this.image&&this.cacheOffsets()),this},jaws.Sprite.prototype.cacheOffsets=function(){return this.image?(this.width=this.image.width*this.scale_x,this.height=this.image.height*this.scale_y,this.left_offset=this.width*this.anchor_x,this.top_offset=this.height*this.anchor_y,this.right_offset=this.width*(1-this.anchor_x),this.bottom_offset=this.height*(1-this.anchor_y),this.cached_rect&&this.cached_rect.resizeTo(this.width,this.height),this):void 0},jaws.Sprite.prototype.rect=function(){return!this.cached_rect&&this.width&&(this.cached_rect=new jaws.Rect(this.x,this.y,this.width,this.height)),this.cached_rect&&this.cached_rect.moveTo(this.x-this.left_offset,this.y-this.top_offset),this.cached_rect},jaws.Sprite.prototype.draw=function(){return this.image?(this.context.save(),this.context.translate(this.x,this.y),0!=this.angle&&jaws.context.rotate(this.angle*Math.PI/180),this.flipped&&this.context.scale(-1,1),this.context.globalAlpha=this.alpha,this.context.translate(-this.left_offset,-this.top_offset),this.context.drawImage(this.image,0,0,this.width,this.height),this.context.restore(),this):this},jaws.Sprite.prototype.scaleImage=function(t){return this.image?(this.setImage(jaws.retroScaleImage(this.image,t)),this):void 0},jaws.Sprite.prototype.asCanvasContext=function(){var t=document.createElement("canvas");t.width=this.width,t.height=this.height;var e=t.getContext("2d");return jaws.context&&(e.mozImageSmoothingEnabled=jaws.context.mozImageSmoothingEnabled),e.drawImage(this.image,0,0,this.width,this.height),e},jaws.Sprite.prototype.asCanvas=function(){var t=document.createElement("canvas");t.width=this.width,t.height=this.height;var e=t.getContext("2d");return jaws.context&&(e.mozImageSmoothingEnabled=jaws.context.mozImageSmoothingEnabled),e.drawImage(this.image,0,0,this.width,this.height),t},jaws.Sprite.prototype.toString=function(){return"[Sprite "+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width+", "+this.height+"]"},jaws.Sprite.prototype.attributes=function(){var t={};return t._constructor=this._constructor||"jaws.Sprite",t.x=parseFloat(this.x.toFixed(2)),t.y=parseFloat(this.y.toFixed(2)),t.image=this.image_path,t.alpha=this.alpha,t.flipped=this.flipped,t.angle=parseFloat(this.angle.toFixed(2)),t.scale_x=this.scale_x,t.scale_y=this.scale_y,t.anchor_x=this.anchor_x,t.anchor_y=this.anchor_y,null!==this.data&&(t.data=jaws.clone(this.data)),t},jaws.Sprite.parse=function(objects){function parseArray(array){array.forEach(function(data){var constructor=data._constructor?eval(data._constructor):data.constructor;if(jaws.isFunction(constructor)){jaws.log.info("Creating "+data._constructor+"("+data.toString()+")",!0);var object=new constructor(data);object._constructor=data._constructor||data.constructor.name,sprites.push(object)}})}var sprites=[];return jaws.isArray(objects)?objects.every(function(t){return t._constructor})?parseArray(objects):sprites=objects:jaws.isString(objects)&&(parseArray(JSON.parse(objects)),jaws.log.info(objects)),sprites},jaws.Sprite.prototype.toJSON=function(){return JSON.stringify(this.attributes())},jaws}(jaws||{});"undefined"!=typeof module&&"exports"in module&&(module.exports=jaws.Sprite);var jaws=function(t){function e(t,e,i,s,o){var n=document.createElement("canvas");n.width=s,n.height=o;var a=n.getContext("2d");return a.drawImage(t,e,i,s,o,0,0,n.width,n.height),n}return t.SpriteSheet=function(i){if(!(this instanceof arguments.callee))return new arguments.callee(i);if(t.parseOptions(this,i,this.default_options),t.isString(this.image)&&!i.frame_size){var s=new RegExp("_(\\d+)x(\\d+)","g"),o=s.exec(this.image);this.frame_size=[],this.frame_size[0]=parseInt(o[1]),this.frame_size[1]=parseInt(o[2])}if(this.image=t.isDrawable(this.image)?this.image:t.assets.data[this.image],this.scale_image){var n=t.isDrawable(this.image)?this.image:t.assets.get(this.image);this.frame_size[0]*=this.scale_image,this.frame_size[1]*=this.scale_image,this.image=t.retroScaleImage(n,this.scale_image)}if(this.frames=[],"down"==this.orientation)for(var a=this.offset;a<this.image.width;a+=this.frame_size[0])for(var r=0;r<this.image.height;r+=this.frame_size[1])this.frames.push(e(this.image,a,r,this.frame_size[0],this.frame_size[1]));else for(var r=this.offset;r<this.image.height;r+=this.frame_size[1])for(var a=0;a<this.image.width;a+=this.frame_size[0])this.frames.push(e(this.image,a,r,this.frame_size[0],this.frame_size[1]))},t.SpriteSheet.prototype.default_options={image:null,orientation:"down",frame_size:[32,32],offset:0,scale_image:null},t.SpriteSheet.prototype.toString=function(){return"[SpriteSheet "+this.frames.length+" frames]"},t}(jaws||{}),jaws=function(t){return t.Animation=function(e){if(!(this instanceof arguments.callee))return new arguments.callee(e);if(t.parseOptions(this,e,this.default_options),e.sprite_sheet){var i=new t.SpriteSheet({image:e.sprite_sheet,scale_image:this.scale_image,frame_size:this.frame_size,orientation:this.orientation,offset:this.offset});this.frames=i.frames,this.frame_size=i.frame_size}if(e.scale_image){var s=t.isDrawable(e.sprite_sheet)?e.sprite_sheet:t.assets.get(e.sprite_sheet);this.frame_size[0]*=e.scale_image,this.frame_size[1]*=e.scale_image,e.sprite_sheet=t.retroScaleImage(s,e.scale_image)}if(this.current_tick=(new Date).getTime(),this.last_tick=(new Date).getTime(),this.sum_tick=0,e.subsets){this.subsets={};for(subset in e.subsets)start_stop=e.subsets[subset],this.subsets[subset]=this.slice(start_stop[0],start_stop[1])}},t.Animation.prototype.default_options={frames:[],subsets:[],frame_duration:100,index:0,loop:1,bounce:0,frame_direction:1,frame_size:null,orientation:"down",on_end:null,offset:0,scale_image:null,sprite_sheet:null},t.Animation.prototype.subset=function(t){return this.subsets[t]},t.Animation.prototype.update=function(){return this.current_tick=(new Date).getTime(),this.sum_tick+=this.current_tick-this.last_tick,this.last_tick=this.current_tick,this.sum_tick>this.frame_duration&&(this.index+=this.frame_direction,this.sum_tick=0),(this.index>=this.frames.length||this.index<0)&&(this.bounce?(this.frame_direction=-this.frame_direction,this.index+=2*this.frame_direction):this.loop?this.index=this.frame_direction<0?this.frames.length-1:0:(this.index-=this.frame_direction,this.on_end&&(this.on_end(),this.on_end=null))),this
},t.Animation.prototype.slice=function(e,i){var s={};return s.frame_duration=this.frame_duration,s.loop=this.loop,s.bounce=this.bounce,s.on_end=this.on_end,s.frame_direction=this.frame_direction,s.frames=this.frames.slice().slice(e,i),new t.Animation(s)},t.Animation.prototype.next=function(){return this.update(),this.frames[this.index]},t.Animation.prototype.atLastFrame=function(){return this.index==this.frames.length-1},t.Animation.prototype.atFirstFrame=function(){return 0==this.index},t.Animation.prototype.currentFrame=function(){return this.frames[this.index]},t.Animation.prototype.toString=function(){return"[Animation, "+this.frames.length+" frames]"},t}(jaws||{});if("undefined"!=typeof require)var jaws=require("./core.js");var jaws=function(t){function e(t,e){for(var i=function(e){return void 0!==t.isSpriteList?t.at(e):t[e]},s=[],o=new Array(e),n=0;e>n;n++)o[n]=n;for(var n=e-1,a=t.length;n>=0;a=t.length){for(s.push(o.map(i));n>=0&&o[n]===a-1;)n--,a--;if(n>=0){o[n]+=1;for(var r=n+1;e>r;r++)o[r]=o[r-1]+1;n=e-1}}return s}return t.collideOneWithOne=function(e,i){return e.radius&&i.radius&&e!==i&&t.collideCircles(e,i)?!0:e.rect&&i.rect&&e!==i&&t.collideRects(e.rect(),i.rect())?!0:!1},t.collideOneWithMany=function(e,i,s){var o=[];if(s){for(var n=0;n<i.length;n++)t.collideOneWithOne(e,i[n])&&(s(e,i[n]),o.push(i[n]));return o}return i.filter(function(i){return t.collideOneWithOne(e,i)})},t.collideManyWithMany=function(i,s,o){var n=[];return i===s?e(i,2).forEach(function(e){t.collideOneWithOne(e[0],e[1])&&(o?o(e[0],e[1]):n.push([e[0],e[1]]))}):i.forEach(function(e){s.forEach(function(i){t.collideOneWithOne(e,i)&&(o?o(e,i):n.push([e,i]))})}),n},t.collideCircles=function(e,i){return t.distanceBetween(e,i)<e.radius+i.radius},t.collideRects=function(t,e){return(t.x>=e.x&&t.x<=e.right||e.x>=t.x&&e.x<=t.right)&&(t.y>=e.y&&t.y<=e.bottom||e.y>=t.y&&e.y<=t.bottom)},t.distanceBetween=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},t.collide=function(e,i,s){if((e.rect||e.radius)&&i.forEach)return t.collideOneWithMany(e,i,s).length>0;if(e.forEach&&i.forEach)return t.collideManyWithMany(e,i,s).length>0;if(e.forEach&&(i.rect||i.radius))return t.collideOneWithMany(i,e,s).length>0;if(e.rect&&i.rect||e.radius&&i.radius){var o=t.collideOneWithOne(e,i);if(!s||!o)return o;s(e,i)}},t}(jaws||{}),jaws=function(t){return t.PixelMap=function(e){return this instanceof arguments.callee?(this.options=e,this.scale=e.scale||1,this.x=e.x||0,this.y=e.y||0,e.image?(this.setContext(e.image),e.scale_image&&this.setContext(t.retroScaleImage(this.context.canvas,e.scale_image)),this.width=this.context.canvas.width*this.scale,this.height=this.context.canvas.height*this.scale):t.log.warn("PixelMap needs an image to work with"),this.named_colors=[],void this.update()):new arguments.callee(e)},t.PixelMap.prototype.setContext=function(e){var e=t.isDrawable(e)?e:t.assets.get(e);this.context=t.imageToCanvasContext(e)},t.PixelMap.prototype.update=function(t,e,i,s){if((void 0===t||0>t)&&(t=0),(void 0===e||0>e)&&(e=0),(void 0===i||i>this.width)&&(i=this.width),(void 0===s||s>this.height)&&(s=this.height),0==arguments.length)this.data=this.context.getImageData(t,e,i,s).data;else for(var o=this.context.getImageData(t,e,i,s).data,n=0,a=4*this.width,r=e*this.width*4+4*t,h=4*i,c=0;s>c;c++){for(var l=0;h>l;l++)this.data[r+l]=o[n++];r+=a}},t.PixelMap.prototype.draw=function(){t.context.drawImage(this.context.canvas,this.x,this.y,this.width,this.height)},t.PixelMap.prototype.namedColorAtRect=function(t,e){for(var i=t.x,s=t.y;i<t.right-1;i++)if(this.namedColorAt(i,s)==e||void 0===e)return this.namedColorAt(i,s);for(;s<t.bottom-1;s++)if(this.namedColorAt(i,s)==e||void 0===e)return this.namedColorAt(i,s);for(;i>t.x;i--)if(this.namedColorAt(i,s)==e||void 0===e)return this.namedColorAt(i,s);for(;s>t.y;s--)if(this.namedColorAt(i,s)==e||void 0===e)return this.namedColorAt(i,s);return!1},t.PixelMap.prototype.at=function(t,e){t=parseInt(t),e=parseInt(e),0>e&&(e=0);var i=e*this.width*4+4*t,s=this.data[i],o=this.data[i+1],n=this.data[i+2],a=this.data[i+3];return[s,o,n,a]},t.PixelMap.prototype.namedColorAt=function(t,e){for(var i=this.at(t,e),s=0;s<this.named_colors.length;s++){var o=this.named_colors[s].name,n=this.named_colors[s].color;if(n[0]==i[0]&&n[1]==i[1]&&n[2]==i[2]&&n[3]==i[3])return o}},t.PixelMap.prototype.nameColor=function(t,e){this.named_colors.push({name:e,color:t})},t}(jaws||{}),jaws=function(t){return t.Parallax=function(e){return this instanceof arguments.callee?void t.parseOptions(this,e,this.default_options):new arguments.callee(e)},t.Parallax.prototype.default_options={width:function(){return t.width},height:function(){return t.height},scale:1,repeat_x:null,repeat_y:null,camera_x:0,camera_y:0,layers:[]},t.Parallax.prototype.draw=function(){for(var t,e,i=0;i<this.layers.length;i++)for(t=this.layers[i],e=this.repeat_x?-(this.camera_x/t.damping%t.width):-(this.camera_x/t.damping),t.y=this.repeat_y?-(this.camera_y/t.damping%t.height):-(this.camera_y/t.damping),t.x=e;t.y<this.height;){for(;t.x<this.width&&(t.x+t.width>=0&&t.y+t.height>=0&&t.draw(),t.x=t.x+t.width,this.repeat_x););if(t.y=t.y+t.height,t.x=e,!this.repeat_y)break}},t.Parallax.prototype.addLayer=function(e){var i=new t.ParallaxLayer(e);i.scaleAll(this.scale),this.layers.push(i)},t.Parallax.prototype.toString=function(){return"[Parallax "+this.x+", "+this.y+". "+this.layers.length+" layers]"},t.ParallaxLayer=function(e){return this instanceof arguments.callee?(this.damping=e.damping||0,void t.Sprite.call(this,e)):new arguments.callee(e)},t.ParallaxLayer.prototype=t.Sprite.prototype,t}(jaws||{}),jaws=function(jaws){return jaws.Text=function(t){return this instanceof arguments.callee?(this.set(t),t.context&&(this.context=t.context),void(t.context||jaws.context&&(this.context=jaws.context))):new arguments.callee(t)},jaws.Text.prototype.default_options={x:0,y:0,alpha:1,angle:0,anchor_x:0,anchor_y:0,anchor:"top_left",damping:1,style:"normal",fontFace:"serif",fontSize:12,color:"black",textAlign:"start",textBaseline:"alphabetic",text:"",wordWrap:!1,width:function(){return jaws.width},height:function(){return jaws.height},shadowColor:null,shadowBlur:null,shadowOffsetX:null,shadowOffsetY:null,_constructor:null},jaws.Text.prototype.set=function(t){return jaws.parseOptions(this,t,this.default_options),this.anchor&&this.setAnchor(this.anchor),this.cacheOffsets(),this},jaws.Text.prototype.clone=function(){var constructor=this._constructor?eval(this._constructor):this.constructor,new_sprite=new constructor(this.attributes());return new_sprite._constructor=this._constructor||this.constructor.name,new_sprite},jaws.Text.prototype.rotate=function(t){return this.angle+=t,this},jaws.Text.prototype.rotateTo=function(t){return this.angle=t,this},jaws.Text.prototype.moveTo=function(t,e){return this.x=t,this.y=e,this},jaws.Text.prototype.move=function(t,e){return t&&(this.x+=t),e&&(this.y+=e),this},jaws.Text.prototype.setX=function(t){return this.x=t,this},jaws.Text.prototype.setY=function(t){return this.y=t,this},jaws.Text.prototype.setTop=function(t){return this.y=t+this.top_offset,this},jaws.Text.prototype.setBottom=function(t){return this.y=t-this.bottom_offset,this},jaws.Text.prototype.setLeft=function(t){return this.x=t+this.left_offset,this},jaws.Text.prototype.setRight=function(t){return this.x=t-this.right_offset,this},jaws.Text.prototype.setWidth=function(t){return this.width=t,this.cacheOffsets(),this},jaws.Text.prototype.setHeight=function(t){return this.height=t,this.cacheOffsets(),this},jaws.Text.prototype.resize=function(t,e){return this.width+=t,this.height+=e,this.cacheOffsets(),this},jaws.Text.prototype.resizeTo=function(t,e){return this.width=t,this.height=e,this.cacheOffsets(),this},jaws.Text.prototype.setAnchor=function(t){var e={top_left:[0,0],left_top:[0,0],center_left:[0,.5],left_center:[0,.5],bottom_left:[0,1],left_bottom:[0,1],top_center:[.5,0],center_top:[.5,0],center_center:[.5,.5],center:[.5,.5],bottom_center:[.5,1],center_bottom:[.5,1],top_right:[1,0],right_top:[1,0],center_right:[1,.5],right_center:[1,.5],bottom_right:[1,1],right_bottom:[1,1]};return e.hasOwnProperty(t)&&(this.anchor_x=e[t][0],this.anchor_y=e[t][1],this.cacheOffsets()),this},jaws.Text.prototype.cacheOffsets=function(){return this.left_offset=this.width*this.anchor_x,this.top_offset=this.height*this.anchor_y,this.right_offset=this.width*(1-this.anchor_x),this.bottom_offset=this.height*(1-this.anchor_y),this.cached_rect&&this.cached_rect.resizeTo(this.width,this.height),this},jaws.Text.prototype.rect=function(){return!this.cached_rect&&this.width&&(this.cached_rect=new jaws.Rect(this.x,this.y,this.width,this.height)),this.cached_rect&&this.cached_rect.moveTo(this.x-this.left_offset,this.y-this.top_offset),this.cached_rect},jaws.Text.prototype.draw=function(){this.context.save(),0!==this.angle&&this.context.rotate(this.angle*Math.PI/180),this.context.globalAlpha=this.alpha,this.context.translate(-this.left_offset,-this.top_offset),this.context.fillStyle=this.color,this.context.font=this.style+" "+this.fontSize+"px "+this.fontFace,this.context.textBaseline=this.textBaseline,this.context.textAlign=this.textAlign,this.shadowColor&&(this.context.shadowColor=this.shadowColor),this.shadowBlur&&(this.context.shadowBlur=this.shadowBlur),this.shadowOffsetX&&(this.context.shadowOffsetX=this.shadowOffsetX),this.shadowOffsetY&&(this.context.shadowOffsetY=this.shadowOffsetY);var t=this.y,e=this.x;if(this.wordWrap)for(var i=this.text.split(" "),s="",o=0;o<i.length;o++){var n=s+i[o]+" ",a=this.context.measureText(n);this.y<t+this.height&&(a.width>this.width?(this.context.fillText(s,this.x,this.y),s=i[o]+" ",this.y+=this.fontSize):s=n,this.context.fillText(s,this.x,this.y))}else if(this.context.measureText(this.text).width<this.width)this.context.fillText(this.text,this.x,this.y);else for(var i=this.text.split(" "),s=" ",o=0;o<i.length;o++){var n=s+i[o]+" ";this.context.measureText(n).width<Math.abs(this.width-this.x)&&(this.context.fillText(n,this.x,this.y),s=i[o]+" ",s=n)}return this.y=t,this.x=e,this.context.restore(),this},jaws.Text.prototype.asCanvasContext=function(){var t=document.createElement("canvas");t.width=this.width,t.height=this.height;var e=t.getContext("2d");e.mozImageSmoothingEnabled=jaws.context.mozImageSmoothingEnabled,this.context.fillStyle=this.color,this.context.font=this.style+this.fontSize+"px "+this.fontFace,this.context.textBaseline=this.textBaseline,this.context.textAlign=this.textAlign,this.shadowColor&&(this.context.shadowColor=this.shadowColor),this.shadowBlur&&(this.context.shadowBlur=this.shadowBlur),this.shadowOffsetX&&(this.context.shadowOffsetX=this.shadowOffsetX),this.shadowOffsetY&&(this.context.shadowOffsetY=this.shadowOffsetY);var i=this.y,s=this.x;if(this.wordWrap)for(var o=this.text.split(" "),n="",a=0;a<o.length;a++){var r=n+o[a]+" ",h=this.context.measureText(r);this.y<i+this.height&&(h.width>this.width?(this.context.fillText(n,this.x,this.y),n=o[a]+" ",this.y+=this.fontSize):n=r,this.context.fillText(n,this.x,this.y))}else if(this.context.measureText(this.text).width<this.width)this.context.fillText(this.text,this.x,this.y);else for(var o=this.text.split(" "),n=" ",a=0;a<o.length;a++){var r=n+o[a]+" ";this.context.measureText(r).width<Math.abs(this.width-this.x)&&(this.context.fillText(r,this.x,this.y),n=o[a]+" ",n=r)}return this.y=i,this.x=s,e},jaws.Text.prototype.asCanvas=function(){var t=document.createElement("canvas");t.width=this.width,t.height=this.height;var e=t.getContext("2d");e.mozImageSmoothingEnabled=jaws.context.mozImageSmoothingEnabled,this.context.fillStyle=this.color,this.context.font=this.style+this.fontSize+"px "+this.fontFace,this.context.textBaseline=this.textBaseline,this.context.textAlign=this.textAlign,this.shadowColor&&(this.context.shadowColor=this.shadowColor),this.shadowBlur&&(this.context.shadowBlur=this.shadowBlur),this.shadowOffsetX&&(this.context.shadowOffsetX=this.shadowOffsetX),this.shadowOffsetY&&(this.context.shadowOffsetY=this.shadowOffsetY);var i=this.y,s=this.x;if(this.wordWrap)for(var o=this.text.split(" "),n="",a=0;a<o.length;a++){var r=n+o[a]+" ",h=e.measureText(r);this.y<i+this.height&&(h.width>this.width?(e.fillText(n,this.x,this.y),n=o[a]+" ",this.y+=this.fontSize):n=r,e.fillText(n,this.x,this.y))}else if(e.measureText(this.text).width<this.width)this.context.fillText(this.text,this.x,this.y);else for(var o=this.text.split(" "),n=" ",a=0;a<o.length;a++){var r=n+o[a]+" ";e.measureText(r).width<Math.abs(this.width-this.x)&&(e.fillText(r,this.x,this.y),n=o[a]+" ",n=r)}return this.y=i,this.x=s,t},jaws.Text.prototype.toString=function(){return"[Text "+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width+", "+this.height+"]"},jaws.Text.prototype.attributes=function(){var t=this.options;return t._constructor=this._constructor||"jaws.Text",t.x=parseFloat(this.x.toFixed(2)),t.y=parseFloat(this.y.toFixed(2)),t.text=this.text,t.alpha=this.alpha,t.angle=parseFloat(this.angle.toFixed(2)),t.anchor_x=this.anchor_x,t.anchor_y=this.anchor_y,t.style=this.style,t.fontSize=this.fontSize,t.fontFace=this.fontFace,t.color=this.color,t.textAlign=this.textAlign,t.textBaseline=this.textBaseline,t.wordWrap=this.wordWrap,t.width=this.width,t.height=this.height,t},jaws.Text.prototype.toJSON=function(){return JSON.stringify(this.attributes())},jaws}(jaws||{});if("undefined"!=typeof module&&"exports"in module&&(module.exports=jaws.Text),"undefined"!=typeof require)var jaws=require("./core.js");var jaws=function(t){return t.QuadTree=function(e){this.depth=arguments[1]||0,this.bounds=e||new t.Rect(0,0,t.width,t.height),this.nodes=[],this.objects=[]},t.QuadTree.prototype.clear=function(){this.objects=[];for(var t=0;t<this.nodes.length;t++)"undefined"!=typeof this.nodes[t]&&(this.nodes[t].clear(),delete this.nodes[t])},t.QuadTree.prototype.split=function(){var e=Math.round(this.bounds.width/2),i=Math.round(this.bounds.height/2),s=this.bounds.x,o=this.bounds.y;this.nodes[0]=new t.QuadTree(new t.Rect(s+e,o,e,i),this.depth+1),this.nodes[1]=new t.QuadTree(new t.Rect(s,o,e,i),this.depth+1),this.nodes[2]=new t.QuadTree(new t.Rect(s,o+i,e,i),this.depth+1),this.nodes[3]=new t.QuadTree(new t.Rect(s+e,o+i,e,i),this.depth+1)},t.QuadTree.prototype.getIndex=function(t){var e=-1,i=this.bounds.x+this.bounds.width/2,s=this.bounds.y+this.bounds.height/2,o=t.y<s&&t.y+t.height<s,n=t.y>s;return t.x<i&&t.x+t.width<i?o?e=1:n&&(e=2):t.x>i&&(o?e=0:n&&(e=3)),e},t.QuadTree.prototype.insert=function(t){if(t.hasOwnProperty("x")||t.hasOwnProperty("y")||t.hasOwnProperty("width")||t.hasOwnProperty("height")){if("undefined"!=typeof this.nodes[0]){var e=this.getIndex(t);if(-1!==e)return void this.nodes[e].insert(t)}this.objects.push(t),"undefined"==typeof this.nodes[0]&&this.split();for(var i=0;i<this.objects.length;){var e=this.getIndex(this.objects[i]);-1!==e?this.nodes[e].insert(this.objects.splice(i,1)[0]):i++}}},t.QuadTree.prototype.retrieve=function(t){if(t.hasOwnProperty("x")||t.hasOwnProperty("y")||t.hasOwnProperty("width")||t.hasOwnProperty("height")){var e=this.getIndex(t),i=this.objects;if("undefined"!=typeof this.nodes[0])if(-1!==e)i=i.concat(this.nodes[e].retrieve(t));else for(var s=0;s<this.nodes.length;s++)i=i.concat(this.nodes[s].retrieve(t));return i}},t.QuadTree.prototype.collide=function(e,i,s){var o=!1,n=new t.QuadTree,a=[];return e.forEach||(a.push(e),e=a),i.forEach||(a=[],a.push(i),i=a),i.forEach(function(t){n.insert(t)}),e.forEach(function(e){t.collide(e,n.retrieve(e),s)&&(o=!0)}),n.clear(),o},t}(jaws||{});"undefined"!=typeof module&&"exports"in module&&(module.exports=jaws.QuadTree),window.addEventListener("load",function(){jaws.onload&&jaws.onload()},!1);</script><script type="text/javascript">(function () {
return (function() {
var screen_x1, screen_y1, sqrt;
screen_x1 = 120;
screen_y1 = 180;
sqrt = Math.sqrt;
/*
* an ad-hoc redux of hammer.js
hammerLet = do(window, navigator)@>
mobile_regex: mobile_regex = /mobile|tablet|ip(ad|hone|od)|android/i
support_touch: support_touch = ('ontouchstart' in window)
prefixed: prefixed =
global: window
get: (sym)@>
{ global } = @g
for v in @vendors
return r if (r = global[v + sym])?
undefined
vendors: [ 'webkit', 'moz', 'MS', 'ms', 'o' ]
PointerEvent: PointerEvent ? prefixed.run(window, 'PointerEvent')?
suppourt_touch_only: support_touch && mobile_regex.test(navigator.userAgent)
*/
jaws.onload = function() {
var Demo;
Demo = (function() {
var AiVaquita, BoundParallaxPlane, Bubble, ColorPlane, EvilBubble, GenericPlane, GrumpyBubble, HappyBubble, ParallaxPlane, ScaledImg, SeaFloor, SeamlessPlane, Sprite, Stilla, Vaquita, Vilma, WaterPlane, downKey, encounter, leftKey, rightKey, seafloorPlane, spaceKey, textRenderer, upKey, waterscape, _ref1;
Demo.prototype.keyCodes = (_ref1 = jaws.keyCodes, leftKey = _ref1.left, rightKey = _ref1.right, upKey = _ref1.up, downKey = _ref1.down, spaceKey = _ref1.space, _ref1);
Demo.prototype.Sprite = Sprite = (function(_super) {
__extends(_Class, _super);
function _Class() {
_Class.__super__.constructor.call(this, {
image: this.image,
x: 0,
y: 0,
scale: 2
});
}
_Class.prototype.draw = function() {
this.flipped = this.lr >= 0;
this.x = (screen_x1 + this.px + this.lr) * 2;
this.y = (screen_y1 + this.py - this.tb) * 2;
return _Class.__super__.draw.call(this);
};
_Class.prototype.cr = 4;
_Class.prototype.sqrt = Math.sqrt;
_Class.prototype.collide = (function(x) {
x.coffee = "(o)@>\n { px, py, cr } = o\n opx = o.px; opy = o.py; ocr = o.cr\n dx = px - opx\n dy = py - opy\n dc = cr + ocr\n if (qd = dx * dx + dy * dy) <= dc * dc\n @bumpedInto?(o, qd, dx, dy)\n o.bumpedInto?(@, qd, -dx, -dy)\n # if true\n # @lr = - @lr\n # o.lr = - o.lr\n # @px = opx\n # @py = opy\n # return\n # @py = py - 1\n # return\n # { sqrt } = @\n # if false\n # py = opy\n # px = opx - dc\n # else\n # d = sqrt d\n # if d < 0.1\n # dy = -1\n # d = dx * dx + dy * dy\n # d = sqrt d\n # d = 3 * dc / sqrt(d)\n # py = opy + dy * d\n # px = opx + dx * d\n # @px = px | 0\n # @py = py | 0\n \n ";
return x;
})(function(o) {
var cr, dc, dx, dy, ocr, opx, opy, px, py, qd;
px = o.px, py = o.py, cr = o.cr;
opx = o.px;
opy = o.py;
ocr = o.cr;
dx = px - opx;
dy = py - opy;
dc = cr + ocr;
if ((qd = dx * dx + dy * dy) <= dc * dc) {
if (typeof this.bumpedInto === "function") {
this.bumpedInto(o, qd, dx, dy);
}
return typeof o.bumpedInto === "function" ? o.bumpedInto(this, qd, -dx, -dy) : void 0;
}
});
return _Class;
})(jaws.Sprite);
Demo.prototype.Bubble = Bubble = Sprite;
Demo.prototype.HappyBubble = HappyBubble = (function(_super) {
__extends(_Class, _super);
_Class.prototype.image = happybubble0;
function _Class() {
this.lr = 4;
this.tb = 4;
_Class.__super__.constructor.call(this);
}
_Class.prototype.draw = function() {
this.py--;
return _Class.__super__.draw.call(this);
};
_Class.prototype.bumpedInto = (function(x) {
x.coffee = "(o, qd, dx, dy)@>\n return if @dead\n # if dx * dx * 2 > qd\n @dead = true\n ";
return x;
})(function(o, qd, dx, dy) {
if (this.dead) {
return;
}
return this.dead = true;
});
return _Class;
})(Bubble);
Demo.prototype.GrumpyBubble = GrumpyBubble = (function(_super) {
__extends(_Class, _super);
_Class.prototype.image = grumpybubble0;
function _Class() {
this.lr = 7;
this.tb = 7;
this.cr = 8;
this.life = 60;
_Class.__super__.constructor.call(this);
}
_Class.prototype.draw = function(collisions, game) {
if (game != null ? game.slowedBubbles : void 0) {
this.py -= 2;
} else {
this.py -= 3;
}
return _Class.__super__.draw.call(this);
};
_Class.prototype.bumpedInto = (function(x) {
x.coffee = "(o, qd, dx, dy)@>\n return if @dead\n # if dx * dx * 2 > qd\n # @dead = true\n ovy = o.vy\n o.py -= 3 + (ovy > 0 then @life -= ovy; ovy * 2 else 0)\n @dead = true unless @life > 0\n ";
return x;
})(function(o, qd, dx, dy) {
var ovy;
if (this.dead) {
return;
}
ovy = o.vy;
o.py -= 3 + (ovy > 0 ? (this.life -= ovy, ovy * 2) : 0);
if (!(this.life > 0)) {
return this.dead = true;
}
});
return _Class;
})(Bubble);
Demo.prototype.EvilBubble = EvilBubble = (function(_super) {
__extends(_Class, _super);
_Class.prototype.image = evilbubble0;
function _Class() {
this.lr = 15;
this.tb = 15;
this.cr = 8;
this.vy_ = -7;
this.life = 2200;
_Class.__super__.constructor.call(this);
}
_Class.prototype.draw = function(collisions, game) {
var l, life;
l = 0;
if (game.slowedBubbles) {
this.py -= 3;
} else {
this.py += this.vy_;
}
if ((life = this.life) < 2200) {
l = 2200 - this.life;
if (l > 1100) {
l = 2200 - l;
}
l /= 55;
this.vy_ = -8 - l;
}
return _Class.__super__.draw.call(this);
};
_Class.prototype.bumpedInto = (function(x) {
x.coffee = "(o, qd, dx, dy)@>\n return if @dead\n # if dx * dx * 2 > qd\n # @dead = true\n ovx = o.vx\n ovy = o.vy\n @life -= ovx * ovx + ovy * ovy\n @life -= 10\n o.px = @px\n o.py = @py + @vy_\n @dead = true unless @life > 0\n ";
return x;
})(function(o, qd, dx, dy) {
var ovx, ovy;
if (this.dead) {
return;
}
ovx = o.vx;
ovy = o.vy;
this.life -= ovx * ovx + ovy * ovy;
this.life -= 10;
o.px = this.px;
o.py = this.py + this.vy_;
if (!(this.life > 0)) {
return this.dead = true;
}
});
return _Class;
})(Bubble);
Demo.prototype.slowBubbles = (function(x) {
x.coffee = "@>\n return if @slowedBubbles\n @slowedBubbles = true\n ";
return x;
})(function() {
if (this.slowedBubbles) {
return;
}
return this.slowedBubbles = true;
});
Demo.prototype.quitSlowBubbles = (function(x) {
x.coffee = "@>\n return unless @slowedBubbles\n @slowedBubbles = false\n ";
return x;
})(function() {
if (!this.slowedBubbles) {
return;
}
return this.slowedBubbles = false;
});
Demo.prototype.Stilla = Stilla = (function(_super) {
__extends(_Class, _super);
_Class.prototype.image = stilla0;
_Class.prototype.Bubble = _Class.Bubble;
function _Class() {
this.lr = 16;
this.tb = 20;
this.patience = 490;
_Class.__super__.constructor.call(this);
}
_Class.prototype.sqrt = Math.sqrt;
_Class.prototype.pow = Math.pow;
_Class.prototype.sin = Math.sin;
_Class.prototype.draw = function(collisions, game) {
var closest, closestDist, consider, d, dx, dy, ir, lr, pow, px, py, r, sin, slowBubbles, spin, v, vilma, _j, _len1, _ref2;
px = this.px, py = this.py, lr = this.lr;
if ((spin = this.spin)) {
pow = this.pow, sin = this.sin;
d = pow(px * px + py * py, 0.42);
r = 5 / (d + 1);
if (r < 1) {
ir = 1;
} else {
d = sin(d / 8000);
d = d * d * 8000;
ir = sqrt(1 - r * r) * pow(d, 0.01);
}
this.px = px * ir + py * (r * spin);
this.py = py * ir - px * (r * spin);
if ((d = px * px + py * py) > 40000) {
this.spin = null;
if (this.patience < 0) {
this.dead = 1;
}
} else if (!(d >= 0)) {
this.px = 0;
this.py = 1;
throw "ir " + ir;
}
} else {
closest = null;
closestDist = null;
consider = function(v) {
var dx, dy;
if (v == null) {
return;
}
dx = px - v.px;
dy = py - v.py;
d = dx * dx + dy * dy;
if ((closest == null) || d < closestDist) {
if (!(d >= 0)) {
return;
}
closest = v;
closestDist = d;
return game.quitSlowBubbles();
}
};
vilma = game.vilma;
consider(vilma);
if (game.vaquitas != null) {
_ref2 = game.vaquitas;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
v = _ref2[_j];
consider(v);
}
}
slowBubbles = false;
if (closest != null) {
if (closestDist < 7000) {
slowBubbles = true;
if (closestDist < 4000) {
this.patience--;
if (this.patience < 0 || (closestDist < 1000 && closest === vilma)) {
dx = px - closest.px;
this.spin = (lr > 0 ? +1 : -1);
this.patience -= 100;
} else {
dx = px - closest.px;
dy = py - closest.py;
this.px += (dx > +2 ? +1 : dx < -2 ? -1 : 0);
this.py += (dy > +2 ? +1 : dy < -2 ? -1 : 0);
}
}
}
}
if (slowBubbles) {
game.slowBubbles();
} else {
game.quitSlowBubbles();
}
if (px * lr > 0) {
this.lr = -lr;
}
}
return _Class.__super__.draw.call(this);
};
_Class.prototype.goodnight = (function(x) {
x.coffee = "(game)@> game.quitSlowBubbles()";
return x;
})(function(game) {
return game.quitSlowBubbles();
});
_Class.prototype.bumpedInto = (function(x) {
x.coffee = "(o)@>\n o.dead = true\n ";
return x;
})(function(o) {
return o.dead = true;
});
return _Class;
})(Bubble);
Demo.prototype.Vaquita = Vaquita = (function(_super) {
__extends(_Class, _super);
_Class.prototype.twist = [pixyvaquita_twist_l, pixyvaquita_twist_r];
function _Class() {
this.lr = 16;
this.tb = 16;
_Class.__super__.constructor.call(this);
}
_Class.prototype.draw = function() {
if (this.vx < 0) {
this.lr = -18;
} else if (this.vx > 0) {
this.lr = 18;
}
return _Class.__super__.draw.call(this);
};
return _Class;
})(Sprite);
Demo.prototype.AiVaquita = AiVaquita = (function(_super) {
__extends(_Class, _super);
function _Class() {
this.image = pixyvaquita;
this.time = 0;
_Class.__super__.constructor.call(this);
}
_Class.prototype.beat_lr = 0;
_Class.prototype.draw = function() {
var rx, ry, s, vx, vy, y;
vx = this.vx + Math.floor(Math.random() * 5) - 2;
vy = this.vy + Math.floor(Math.random() * 3) - 1;
x = this.px;
y = this.py;
rx = 0.5 * x / screen_x1;
ry = 0.5 * y / screen_y1;
if ((s = vx * vx + vy * vy * 2) > 6) {
vx = Math.round(vx * 0.8 - rx);
vy = Math.round(vy * 0.8 - ry);
}
this.px += this.vx = vx;
this.py += this.vy = vy;
if ((this.time++ % 3) === 0) {
if (this.image !== pixyvaquita) {
this.image = pixyvaquita;
} else if (vx * vx + vy * vy > 2) {
this.image = this.twist[this.beat_lr++ & 1];
}
}
return _Class.__super__.draw.call(this);
};
return _Class;
})(Vaquita);
Demo.prototype.Vilma = Vilma = (function(_super) {
__extends(_Class, _super);
function _Class(game) {
var _ref2, _ref3;
this.game = game;
this.image = pixyvaquita;
this.time = 0;
_Class.__super__.constructor.call(this);
this.fpx = (_ref2 = this.px) != null ? _ref2 : 0;
this.fpy = (_ref3 = this.py) != null ? _ref3 : 0;
this.touch = this.game.touchInput;
this.auto_to = 40;
}
_Class.prototype.beat_lr = 0;
_Class.prototype.move = function() {
var aq, ax, ay, fvx, fvy, itx, ity, s, touch, tx, ty, vx, vy, y;
touch = this.touch;
tx = touch.tx, ty = touch.ty;
itx = (tx >= 2 ? 2 : tx <= -2 ? -2 : 0);
ity = (ty >= 2 ? 2 : ty <= -2 ? -2 : 0);
touch.tx = tx * 0.9 - itx;
touch.ty = ty * 0.9 - ity;
ax = (jaws.pressed[leftKey] ? -1 : 0) + (jaws.pressed[rightKey] ? 1 : 0) - itx / 2;
ay = (jaws.pressed[upKey] ? -1 : 0) + (jaws.pressed[downKey] ? 1 : 0) - ity / 2;
if (ax === 0 && ay === 0) {
if (this.auto_to > 0) {
this.auto_to--;
} else {
if (this.fvx == null) {
this.fvx = this.vx;
}
if (this.fvy == null) {
this.fvy = this.vy;
}
fvx = this.fvx * 1.2 + Math.random() - 0.5;
fvy = this.fvy * 1.2 + Math.random() - 0.5;
x = this.px;
y = this.py;
if ((s = fvx * fvx + fvy * fvy * 2) > 6) {
fvx *= 0.8;
fvy *= 0.8;
}
this.px = (this.fpx += (this.fvx = fvx)) | 0;
this.py = (this.fpy += (this.fvy = fvy)) | 0;
this.vx = fvx | 0;
this.vy = fvy | 0;
return;
ax = vx / 10 + (Math.random() - 0.5) * 2;
ay = vy / 10 + (Math.random() - 0.5) * 2;
return;
}
} else {
if (!(this.auto_to > 0)) {
this.fvx = null;
this.fvy = null;
}
this.auto_to = 600;
}
if ((aq = ax * ax + ay * ay) > 1) {
aq = sqrt(aq);
ax /= aq;
ay /= aq;
}
ax *= 0.618;
ay *= 0.618;
vx = this.vx;
vy = this.vy;
if (ax * vx < 0) {
vx = 0;
} else {
vx += ax;
}
if (ay * vy < 0) {
vy = 0;
} else {
vy += ay;
}
if ((vx * vx + vy * vy * 2) > 6) {
vx *= 0.8;
vy *= 0.8;
}
this.vx = vx;
this.vy = vy;
this.px = (this.fpx += this.vx);
return this.py = (this.fpy += this.vy);
};
_Class.prototype.draw = function() {
var vx, vy;
vx = this.vx, vy = this.vy;
if ((this.time++ % 3) === 0) {
if (this.image !== pixyvaquita) {
this.image = pixyvaquita;
} else if (vx * vx + (vy * vy / 4) > 1) {
this.image = this.twist[this.beat_lr++ & 1];
}
}
return _Class.__super__.draw.call(this);
};
return _Class;
})(Vaquita);
Demo.prototype.addVaquita = function() {
var angle, v;
angle = Math.random() * 6.28;
v = new AiVaquita;
v.vx = 0;
v.vy = 0;
v.px = Math.floor(Math.sin(angle) * 300);
v.py = Math.floor(Math.cos(angle) * 300);
return this.vaquitas.push(v);
};
Demo.prototype.addStilla = (function(x) {
x.coffee = "(x, y)@>\n return if @stilla?\n v = new @Stilla\n v.px = x\n v.py = y\n @stilla = v\n ";
return x;
})(function(x, y) {
var v;
if (this.stilla != null) {
return;
}
v = new this.Stilla;
v.px = x;
v.py = y;
return this.stilla = v;
});
Demo.prototype.addInto = (function(x) {
x.coffee = "(n, v, x, y)@>\n v.vx = 0\n v.vy = 0\n v.px = x\n v.py = y\n b = @[n]\n if (i = b.indexOf(null)) >= 0\n b[i] = v\n else\n b.push v\n # v.draw()\n ";
return x;
})(function(n, v, x, y) {
var b, i;
v.vx = 0;
v.vy = 0;
v.px = x;
v.py = y;
b = this[n];
if ((i = b.indexOf(null)) >= 0) {
return b[i] = v;
} else {
return b.push(v);
}
});
function Demo(vaquitas, cameos, stilla) {
this.vaquitas = vaquitas != null ? vaquitas : [];
this.cameos = cameos != null ? cameos : [];
this.stilla = stilla != null ? stilla : null;
}
Demo.prototype.encounters = {
__proto__: {
encounter: encounter = {
add: (function(x) {
x.coffee = "(game, x, y)@> game.addInto('cameos', new @creature(), x, y)";
return x;
})(function(game, x, y) {
return game.addInto('cameos', new this.creature(), x, y);
}),
vy: 0
},
random: Math.random,
log: Math.log,
exp: Math.exp,
pow: Math.pow,
poissonSample: (function(x) {
x.coffee = "(m)@>\n { exp, random } = @\n pgen = (m)->\n x = 0\n p = exp(-m)\n s = p\n u = random()\n while u > s\n x++\n p = p * m / x\n s += p\n x\n s = 0\n while m > 50\n s += pgen 50\n m -= 50\n s + pgen m\n ";
return x;
})(function(m) {
var exp, pgen, random, s;
exp = this.exp, random = this.random;
pgen = function(m) {
var p, s, u, x;
x = 0;
p = exp(-m);
s = p;
u = random();
while (u > s) {
x++;
p = p * m / x;
s += p;
}
return x;
};
s = 0;
while (m > 50) {
s += pgen(50);
m -= 50;
}
return s + pgen(m);
}),
generate: (function(x) {
x.coffee = "(game,left,top,width,height,vx,vvy)@>\n { probability, random } = @\n depth = game.getDepth()\n genRect = (m,left,top,width,height)=>\n c = m.p(depth) * width * height\n # c = 0\n c = @poissonSample(c)\n if c is 1\n m.add?( game, left + ((random() * width)|0), top + ((random() * height)|0) )\n else\n # c = 0 # if c > 1000\n # c-- if random() > 0.15\n while c-- > 0\n m.add?( game, left + ((random() * width)|0), top + ((random() * height)|0) )\n 1\n if vx * vx >= width * width\n for k,v of @catalogue\n genRect(v, left, top, width, height)\n else for k,v of @catalogue\n vy = vvy - v.vy\n if vy * vy >= height * height\n genRect(v, left, top, width, height)\n else if vx > 0\n if vy > 0\n genRect(v, left, top + height - vy, width, vy)\n genRect(v, left + width - vx, top, vx, height - vy)\n else if vy < 0\n genRect(v, left, top, width, -vy)\n genRect(v, left + width - vx, top - vy, vx, height + vy)\n else\n genRect(v, left + width, top, vx, height)\n else if vx < 0\n if vy > 0\n genRect(v, left, top + height - vy, width, vy)\n genRect(v, left, top, -vx, height - vy)\n else if vy < 0\n genRect(v, left, top, width, -vy)\n genRect(v, left, top - vy, -vx, height + vy)\n else\n genRect(v, left, top, -vx, height)\n else if vy > 0\n genRect(v, left, top + height - vy, width, vy)\n else if vy < 0\n genRect(v, left, top, width, -vy)\n ";
return x;
})(function(game, left, top, width, height, vx, vvy) {
var depth, genRect, k, probability, random, v, vy, _ref, _ref1, _results, _results1;
probability = this.probability, random = this.random;
depth = game.getDepth();
genRect = (function(_this) {
return function(m, left, top, width, height) {
var c, _results;
c = m.p(depth) * width * height;
c = _this.poissonSample(c);
if (c === 1) {
return typeof m.add === "function" ? m.add(game, left + ((random() * width) | 0), top + ((random() * height) | 0)) : void 0;
} else {
_results = [];
while (c-- > 0) {
if (typeof m.add === "function") {
m.add(game, left + ((random() * width) | 0), top + ((random() * height) | 0));
}
_results.push(1);
}
return _results;
}
};
})(this);
if (vx * vx >= width * width) {
_ref = this.catalogue;
_results = [];
for (k in _ref) {
v = _ref[k];
_results.push(genRect(v, left, top, width, height));
}
return _results;
} else {
_ref1 = this.catalogue;
_results1 = [];
for (k in _ref1) {
v = _ref1[k];
vy = vvy - v.vy;
if (vy * vy >= height * height) {
_results1.push(genRect(v, left, top, width, height));
} else if (vx > 0) {
if (vy > 0) {
genRect(v, left, top + height - vy, width, vy);
_results1.push(genRect(v, left + width - vx, top, vx, height - vy));
} else if (vy < 0) {
genRect(v, left, top, width, -vy);
_results1.push(genRect(v, left + width - vx, top - vy, vx, height + vy));
} else {
_results1.push(genRect(v, left + width, top, vx, height));
}
} else if (vx < 0) {
if (vy > 0) {
genRect(v, left, top + height - vy, width, vy);
_results1.push(genRect(v, left, top, -vx, height - vy));
} else if (vy < 0) {
genRect(v, left, top, width, -vy);
_results1.push(genRect(v, left, top - vy, -vx, height + vy));
} else {
_results1.push(genRect(v, left, top, -vx, height));
}
} else if (vy > 0) {
_results1.push(genRect(v, left, top + height - vy, width, vy));
} else if (vy < 0) {
_results1.push(genRect(v, left, top, width, -vy));
} else {
_results1.push(void 0);
}
}
return _results1;
}
})
},
catalogue: {
happybubble: {
__proto__: encounter,
p: (function(x) {
x.coffee = "(depth)@> 0.0001 * (1.5 - depth)";
return x;
})(function(depth) {
return 0.0001 * (1.5 - depth);
}),
creature: HappyBubble,
vy: -1
},
grumpybubble: {
__proto__: encounter,
p: (function(x) {
x.coffee = "(depth)@> depth < 0.08 then 0 else (depth - 0.08) * 0.00015";
return x;
})(function(depth) {
if (depth < 0.08) {
return 0;
} else {
return (depth - 0.08) * 0.00015;
}
}),
creature: GrumpyBubble,
vy: -3
},
evilbubble: {
__proto__: encounter,
p: (function(x) {
x.coffee = "(depth)@> depth < 0.35 then 0 else (depth - 0.35) * 0.00005";
return x;
})(function(depth) {
if (depth < 0.35) {
return 0;
} else {
return (depth - 0.35) * 0.00005;
}
}),
creature: EvilBubble,
vy: -8
},
stilla: {
__proto__: encounter,
p: (function(x) {
x.coffee = "(depth)@> depth < 0.01 then 1 else (1-depth)/100000";
return x;
})(function(depth) {
if (depth < 0.01) {
return 1;
} else {
return (1 - depth) / 100000;
}
}),
add: (function(x) {
x.coffee = "(game, x, y)@> game.addStilla(x, y)";
return x;
})(function(game, x, y) {
return game.addStilla(x, y);
})
}
}
};
Demo.prototype.touchInput = {
tx: 0,
ty: 0,
ongoing: {},
__proto__: {
"eval": eval,
start: (function(x) {
x.coffee = "(ev,el)@>\n { ongoing } = @\n for t in ev.changedTouches\n { identifier, pageX, pageY } = t\n ongoing[identifier] =\n px: pageX\n py: pageY\n ";
return x;
})(function(ev, el) {
var identifier, ongoing, pageX, pageY, t, _i, _len, _ref, _results;
ongoing = this.ongoing;
_ref = ev.changedTouches;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
t = _ref[_i];
identifier = t.identifier, pageX = t.pageX, pageY = t.pageY;
_results.push(ongoing[identifier] = {
px: pageX,
py: pageY
});
}
return _results;
}),
move: (function(x) {
x.coffee = "(ev,el)@>\n { ongoing } = @\n { tx, ty } = @\n for t in ev.changedTouches\n { identifier, pageX, pageY } = t\n o = ongoing[identifier]\n dx = (pageX - o.px) * 4\n dy = (pageY - o.py) * 4\n dx *= 3 if dx * tx < 0\n dy *= 3 if dy * ty < 0\n tx += dx\n ty += dy\n # tx * dx > 0 then tx += dx else tx = dx * 2\n # ty * dy > 0 then ty += dy else ty = dy * 2\n o.px = pageX\n o.py = pageY\n @tx = tx\n @ty = ty\n ";
return x;
})(function(ev, el) {
var dx, dy, identifier, o, ongoing, pageX, pageY, t, tx, ty, _i, _len, _ref;
ongoing = this.ongoing;
tx = this.tx, ty = this.ty;
_ref = ev.changedTouches;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
t = _ref[_i];
identifier = t.identifier, pageX = t.pageX, pageY = t.pageY;
o = ongoing[identifier];
dx = (pageX - o.px) * 4;
dy = (pageY - o.py) * 4;
if (dx * tx < 0) {
dx *= 3;
}
if (dy * ty < 0) {
dy *= 3;
}
tx += dx;
ty += dy;
o.px = pageX;
o.py = pageY;
}
this.tx = tx;
return this.ty = ty;
}),
end: (function(x) {
x.coffee = "(ev,el)@>\n { ongoing } = @\n for t in ev.changedTouches\n { identifier } = t\n delete ongoing[identifier]\n ";
return x;
})(function(ev, el) {
var identifier, ongoing, t, _i, _len, _ref, _results;
ongoing = this.ongoing;
_ref = ev.changedTouches;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
t = _ref[_i];
identifier = t.identifier;
_results.push(delete ongoing[identifier]);
}
return _results;
}),
handle: function(name) {
var touchInput;
touchInput = this;
return function(event) {
var err;
event.preventDefault();
event.stopPropagation();
try {
return touchInput[name](event, this);
} catch (_error) {
err = _error;
return alert(err.toString());
}
};
}
}
};
Demo.prototype.ColorPlane = ColorPlane = (function() {
return {
document: document,
init: (function(x) {
x.coffee = "@>\n { color } = @\n if color and typeof color is 'string'\n e = @document.createElement \"canvas\"\n e.width = @w\n e.height = @h\n ctx = e.getContext '2d'\n @color = ctx.fillStyle = color\n ";
return x;
})(function() {
var color, ctx, e;
color = this.color;
if (color && typeof color === 'string') {
e = this.document.createElement("canvas");
e.width = this.w;
e.height = this.h;
ctx = e.getContext('2d');
return this.color = ctx.fillStyle = color;
}
}),
frame: (function(x) {
x.coffee = "(t)@>\n # t.save()\n t.fillStyle = @color\n t.fillRect 0,0,1024,1024\n # t.restore()\n ";
return x;
})(function(t) {
t.fillStyle = this.color;
return t.fillRect(0, 0, 1024, 1024);
})
};
})();
Demo.prototype.GenericPlane = GenericPlane = {
document: document,
init: (function(x) {
x.coffee = "@>\n { document } = @\n e = document.createElement \"canvas\"\n e.width = @w\n e.height = @h\n @ctx = e.getContext '2d'\n\n ";
return x;
})(function() {
var document, e;
document = this.document;
e = document.createElement("canvas");
e.width = this.w;
e.height = this.h;
return this.ctx = e.getContext('2d');
})
};
Demo.prototype.ScaledImg = ScaledImg = {
document: document,
zoom: 2,
init: (function(x) {
x.coffee = "@>\n retroScaling = (c)->\n c.imageSmoothingEnabled = false;\n c.webkitImageSmoothingEnabled = false;\n c.mozImageSmoothingEnabled = false;\n \n { zoom } = @\n { width, height } = @img\n @w = w = width * zoom\n @h = h = height * zoom\n c0 = e = @document.createElement \"canvas\"\n retroScaling(c0)\n e.width = w\n e.height = height\n ctx0 = e.getContext '2d'\n retroScaling(ctx0)\n ctx0.drawImage @img, 0, 0, width, height, 0, 0, w, height\n @canvas = e = @document.createElement \"canvas\"\n e.width = w\n e.height = h\n ctx = e.getContext '2d'\n retroScaling(ctx)\n @ctx = ctx.drawImage c0, 0, 0, w, height, 0, 0, w, h\n \n ";
return x;
})(function() {
var c0, ctx, ctx0, e, h, height, retroScaling, w, width, zoom, _ref;
retroScaling = function(c) {
c.imageSmoothingEnabled = false;
c.webkitImageSmoothingEnabled = false;
return c.mozImageSmoothingEnabled = false;
};
zoom = this.zoom;
_ref = this.img, width = _ref.width, height = _ref.height;
this.w = w = width * zoom;
this.h = h = height * zoom;
c0 = e = this.document.createElement("canvas");
retroScaling(c0);
e.width = w;
e.height = height;
ctx0 = e.getContext('2d');
retroScaling(ctx0);
ctx0.drawImage(this.img, 0, 0, width, height, 0, 0, w, height);
this.canvas = e = this.document.createElement("canvas");
e.width = w;
e.height = h;
ctx = e.getContext('2d');
retroScaling(ctx);
return this.ctx = ctx.drawImage(c0, 0, 0, w, height, 0, 0, w, h);
})
};
Demo.prototype.ParallaxPlane = ParallaxPlane = {
__proto__: GenericPlane,
ParallaxPlaneSuper: GenericPlane,
lower: null,
x: 0,
y: 0,
fx: 0,
fy: 0,
logzoom: 2,
frame: (function(x) {
x.coffee = "(t,dx,dy)@>\n { fx, fy, x, y, abslogzoom, w, h, ctx } = @\n nfx = fx + dx\n nfy = fy + dy\n nx = nfx >> abslogzoom\n ny = nfy >> abslogzoom\n if nx isnt x\n if nx >= w\n nx -= w\n nfx -= w << abslogzoom\n else if nx < 0\n nx += w\n nfx += w << abslogzoom\n @x = nx\n if ny isnt y\n if ny >= h\n ny -= h\n nfy -= h << abslogzoom\n else if ny < 0\n ny += h\n nfy += h << abslogzoom\n @y = ny\n @fx = nfx\n @fy = nfy\n @lower?.frame t, dx, dy\n { canvas } = ctx\n t.drawImage canvas, nx, ny\n t.drawImage canvas, nx - w, ny\n t.drawImage canvas, nx, ny - h\n t.drawImage canvas, nx - w, ny - h\n ";
return x;
})(function(t, dx, dy) {
var abslogzoom, canvas, ctx, fx, fy, h, nfx, nfy, nx, ny, w, x, y, _ref;
fx = this.fx, fy = this.fy, x = this.x, y = this.y, abslogzoom = this.abslogzoom, w = this.w, h = this.h, ctx = this.ctx;
nfx = fx + dx;
nfy = fy + dy;
nx = nfx >> abslogzoom;
ny = nfy >> abslogzoom;
if (nx !== x) {
if (nx >= w) {
nx -= w;
nfx -= w << abslogzoom;
} else if (nx < 0) {
nx += w;
nfx += w << abslogzoom;
}
this.x = nx;
}
if (ny !== y) {
if (ny >= h) {
ny -= h;
nfy -= h << abslogzoom;
} else if (ny < 0) {
ny += h;
nfy += h << abslogzoom;
}
this.y = ny;
}
this.fx = nfx;
this.fy = nfy;
if ((_ref = this.lower) != null) {
_ref.frame(t, dx, dy);
}
canvas = ctx.canvas;
t.drawImage(canvas, nx, ny);
t.drawImage(canvas, nx - w, ny);
t.drawImage(canvas, nx, ny - h);
return t.drawImage(canvas, nx - w, ny - h);
}),
init: (function(x) {
x.coffee = "(options)@>\n @abslogzoom ?= @logzoom\n (l = @lower)? then\n l.logzoom? then l.abslogzoom ?= @logzoom + l.logzoom\n l.init(options)\n @ParallaxPlaneSuper.init.call @, options\n ";
return x;
})(function(options) {
var l;
if (this.abslogzoom == null) {
this.abslogzoom = this.logzoom;
}
if ((l = this.lower) != null) {
if (l.logzoom != null) {
if (l.abslogzoom == null) {
l.abslogzoom = this.logzoom + l.logzoom;
}
}
l.init(options);
}
return this.ParallaxPlaneSuper.init.call(this, options);
})
};
Demo.prototype.BoundParallaxPlane = BoundParallaxPlane = {
__proto__: ParallaxPlane,
BoundParallaxPlaneProto: ParallaxPlane,
pmul: 1,
alert: alert,
init: (function(x) {
x.coffee = "(options)@>\n { screenw, screenh } = options\n @BoundParallaxPlaneProto.init.call @\n { logzoom, abslogzoom, w, h, pmul } = @\n @mx = ((w << abslogzoom) * pmul - screenw * 8) >> abslogzoom\n @my = ((h << abslogzoom) * pmul - screenh * 8) >> abslogzoom\n # { alert } = @; alert screenw\n if false\n @fx = (@x = @mx) << abslogzoom\n @fy = (@y = @my) << abslogzoom\n @fx = @fy = 0\n @mfy = @my << abslogzoom\n ";
return x;
})(function(options) {
var abslogzoom, h, logzoom, pmul, screenh, screenw, w;
screenw = options.screenw, screenh = options.screenh;
this.BoundParallaxPlaneProto.init.call(this);
logzoom = this.logzoom, abslogzoom = this.abslogzoom, w = this.w, h = this.h, pmul = this.pmul;
this.mx = ((w << abslogzoom) * pmul - screenw * 8) >> abslogzoom;
this.my = ((h << abslogzoom) * pmul - screenh * 8) >> abslogzoom;
if (false) {
this.fx = (this.x = this.mx) << abslogzoom;
this.fy = (this.y = this.my) << abslogzoom;
}
this.fx = this.fy = 0;
return this.mfy = this.my << abslogzoom;
}),
frame: (function(x) {
x.coffee = "(t, dx, dy)@>\n { fx, fy, x, y, abslogzoom, w, h, ctx } = @\n nfx = fx - dx\n nfy = fy - dy\n nx = nfx >> abslogzoom\n ny = nfy >> abslogzoom\n if nx isnt x\n { mx } = @\n if nx >= mx\n nx = mx\n nfx = mx << abslogzoom\n else if nx < 0\n nx = 0\n nfx = 0\n @x = nx\n if ny isnt y\n { my } = @\n if ny >= my\n ny = my\n nfy = my << abslogzoom\n else if ny < 0\n ny = 0\n nfy = 0\n @y = ny\n @fx = nfx\n @fy = nfy\n # @lower?.frame t, dx >> abslogzoom, dy >> abslogzoom\n { canvas } = ctx\n # @mny = 100\n t.drawImage canvas, -nx, -ny\n # t.drawImage canvas, 0, 0, w, h, -nx, -ny, w*pmul, h*pmul\n\n ";
return x;
})(function(t, dx, dy) {
var abslogzoom, canvas, ctx, fx, fy, h, mx, my, nfx, nfy, nx, ny, w, x, y;
fx = this.fx, fy = this.fy, x = this.x, y = this.y, abslogzoom = this.abslogzoom, w = this.w, h = this.h, ctx = this.ctx;
nfx = fx - dx;
nfy = fy - dy;
nx = nfx >> abslogzoom;
ny = nfy >> abslogzoom;
if (nx !== x) {
mx = this.mx;
if (nx >= mx) {
nx = mx;
nfx = mx << abslogzoom;
} else if (nx < 0) {
nx = 0;
nfx = 0;
}
this.x = nx;
}
if (ny !== y) {
my = this.my;
if (ny >= my) {
ny = my;
nfy = my << abslogzoom;
} else if (ny < 0) {
ny = 0;
nfy = 0;
}
this.y = ny;
}
this.fx = nfx;
this.fy = nfy;
canvas = ctx.canvas;
return t.drawImage(canvas, -nx, -ny);
})
};
Demo.prototype.SeaFloor = SeaFloor = (function() {
return {
__proto__: BoundParallaxPlane,
SeaFloorProto: BoundParallaxPlane,
seafloorImg: seafloor,
init: (function(x) {
x.coffee = "(options)@>\n { seafloorImg } = @\n # @terror.init(options)\n w = seafloorImg.width\n h = seafloorImg.height\n @w = w\n @h = h\n @SeaFloorProto.init.call @, options\n # { color, w, h } = @\n # e = @document.createElement \"canvas\"\n # e.width = w\n # e.height = h\n # @ctx = ctx = e.getContext '2d'\n { ctx, w, h } = @\n ctx.drawImage seafloorImg, 0, 0\n if false\n ctx.fillStyle = \"magenta\"\n ctx.fillRect 0, 0, w, 1\n ctx.fillRect 0, 0, 1, h\n ctx.fillRect 0, h - 1, w, 1\n ctx.fillRect w - 1, 0, 1, h \n \n ";
return x;
})(function(options) {
var ctx, h, seafloorImg, w;
seafloorImg = this.seafloorImg;
w = seafloorImg.width;
h = seafloorImg.height;
this.w = w;
this.h = h;
this.SeaFloorProto.init.call(this, options);
ctx = this.ctx, w = this.w, h = this.h;
ctx.drawImage(seafloorImg, 0, 0);
if (false) {
ctx.fillStyle = "magenta";
ctx.fillRect(0, 0, w, 1);
ctx.fillRect(0, 0, 1, h);
ctx.fillRect(0, h - 1, w, 1);
return ctx.fillRect(w - 1, 0, 1, h);
}
})
};
})();
Demo.prototype.SeamlessPlane = SeamlessPlane = {
withRect: (function(x) {
x.coffee = "(rx,ry,rw,rh,cb)@>\n { w, h } = @\n if (ex = rx + rw) > w\n if (ey = ry + rh) > h\n cb rx, ry, w - rx, h - ry, 0, 0\n cb 0, ry, ex - w, h - ry, w - rx, 0\n cb rx, 0, w - rx, ey - h, 0, h - ry\n cb 0, 0, ex - w, ey - h, w - rx, h - ry\n else\n cb rx, ry, w - rx, rh, 0, 0\n cb 0, ry, ex - w, rh, w - rx, 0\n else\n if (ey = ry + rh) > h\n cb rx, ry, rw, h - ry, 0, 0\n cb rx, 0, rw, ey - h, 0, h - ry\n else\n cb rx, ry, rw, rh, 0, 0\n ";
return x;
})(function(rx, ry, rw, rh, cb) {
var ex, ey, h, w;
w = this.w, h = this.h;
if ((ex = rx + rw) > w) {
if ((ey = ry + rh) > h) {
cb(rx, ry, w - rx, h - ry, 0, 0);
cb(0, ry, ex - w, h - ry, w - rx, 0);
cb(rx, 0, w - rx, ey - h, 0, h - ry);
return cb(0, 0, ex - w, ey - h, w - rx, h - ry);
} else {
cb(rx, ry, w - rx, rh, 0, 0);
return cb(0, ry, ex - w, rh, w - rx, 0);
}
} else {
if ((ey = ry + rh) > h) {
cb(rx, ry, rw, h - ry, 0, 0);
return cb(rx, 0, rw, ey - h, 0, h - ry);
} else {
return cb(rx, ry, rw, rh, 0, 0);
}
}
}),
__proto__: ParallaxPlane
};
Demo.prototype.WaterPlane = WaterPlane = (function() {
var waterscapeSuper;
return {
waterscapeSuper: waterscapeSuper = SeamlessPlane,
__proto__: waterscapeSuper,
random: Math.random,
sqrt: Math.sqrt,
colors: ["cyan", "blue"],
randomStuff: (function(x) {
x.coffee = "@>\n { random, sqrt, ctx } = @\n s = sqrt(15000 / (random() * 50 + 1)) | 0\n @withRect (random() * @w | 0), (random() * @h | 0), s, s >> 2, (x,y,w,h)->\n ctx.fillRect x,y,w,h\n @\n ";
return x;
})(function() {
var ctx, random, s, sqrt;
random = this.random, sqrt = this.sqrt, ctx = this.ctx;
s = sqrt(15000 / (random() * 50 + 1)) | 0;
this.withRect(random() * this.w | 0, random() * this.h | 0, s, s >> 2, function(x, y, w, h) {
return ctx.fillRect(x, y, w, h);
});
return this;
}),
init: (function(x) {
x.coffee = "(options)@>\n { lower, w, h, moltf, colors } = @\n if lower?\n lower.w ?= w\n lower.h ?= h\n lower.moltf ?= moltf >> lower.logzoom if moltf?\n @waterscapeSuper.init.call @, options\n { ctx } = @\n for k,v of colors\n ctx.fillStyle = v\n colors[k] = ctx.fillStyle\n ctx.globalAlpha = 0.16\n if true\n x = 200\n while x-- > 0\n @randomStuff()\n ";
return x;
})(function(options) {
var colors, ctx, h, k, lower, moltf, v, w, x, _results;
lower = this.lower, w = this.w, h = this.h, moltf = this.moltf, colors = this.colors;
if (lower != null) {
if (lower.w == null) {
lower.w = w;
}
if (lower.h == null) {
lower.h = h;
}
if (moltf != null) {
if (lower.moltf == null) {
lower.moltf = moltf >> lower.logzoom;
}
}
}
this.waterscapeSuper.init.call(this, options);
ctx = this.ctx;
for (k in colors) {
v = colors[k];
ctx.fillStyle = v;
colors[k] = ctx.fillStyle;
}
ctx.globalAlpha = 0.16;
if (true) {
x = 200;
_results = [];
while (x-- > 0) {
_results.push(this.randomStuff());
}
return _results;
}
}),
waterscapeSuperFrame: waterscapeSuper.frame,
frame: (function(x) {
x.coffee = "(t)@>\n { ctx, moltf, random } = @\n \n ctx.fillStyle = @colors[ random() * 1.2 | 0 ]\n @randomStuff() while moltf-- > 0\n\n t.save()\n t.globalAlpha = @alpha\n @waterscapeSuperFrame.apply @, arguments\n t.restore()\n ";
return x;
})(function(t) {
var ctx, moltf, random;
ctx = this.ctx, moltf = this.moltf, random = this.random;
ctx.fillStyle = this.colors[random() * 1.2 | 0];
while (moltf-- > 0) {
this.randomStuff();
}
t.save();
t.globalAlpha = this.alpha;
this.waterscapeSuperFrame.apply(this, arguments);
return t.restore();
}),
logzoom: 0
};
})();
Demo.prototype.textRenderer = textRenderer = {
glyphs: fontglyphs,
charMap: {
"0": {
"w": 5,
"o": 509
},
"1": {
"w": 3,
"o": 518
},
"2": {
"w": 4,
"o": 525
},
"3": {
"w": 4,
"o": 533
},
"4": {
"w": 4,
"o": 541
},
"5": {
"w": 4,
"o": 549
},
"6": {
"w": 4,
"o": 557
},
"7": {
"w": 3,
"o": 565
},
"8": {
"w": 4,
"o": 572
},
"9": {
"w": 4,
"o": 580
},
" ": {
"w": 2,
"o": 0
},
"a": {
"w": 4,
"o": 6
},
"b": {
"w": 4,
"o": 14
},
"c": {
"w": 4,
"o": 22
},
"d": {
"w": 4,
"o": 30
},
"e": {
"w": 4,
"o": 38
},
"f": {
"w": 2,
"o": 46
},
"g": {
"w": 4,
"o": 52
},
"h": {
"w": 4,
"o": 60
},
"i": {
"w": 2,
"o": 68
},
"j": {
"w": 2,
"o": 74
},
"k": {
"w": 4,
"o": 80
},
"l": {
"w": 2,
"o": 88
},
"m": {
"w": 6,
"o": 94
},
"n": {
"w": 4,
"o": 104
},
"o": {
"w": 4,
"o": 112
},
"p": {
"w": 4,
"o": 120
},
"q": {
"w": 4,
"o": 128
},
"r": {
"w": 3,
"o": 136
},
"s": {
"w": 3,
"o": 143
},
"t": {
"w": 3,
"o": 150
},
"u": {
"w": 4,
"o": 157
},
"v": {
"w": 4,
"o": 165
},
"w": {
"w": 5,
"o": 173
},
"x": {
"w": 3,
"o": 182
},
"y": {
"w": 4,
"o": 189
},
"z": {
"w": 3,
"o": 197
},
"ñ": {
"w": 4,
"o": 204
},
"ç": {
"w": 4,
"o": 212
},
"A": {
"w": 5,
"o": 220
},
"B": {
"w": 4,
"o": 229
},
"C": {
"w": 6,
"o": 237
},
"D": {
"w": 6,
"o": 247
},
"E": {
"w": 4,
"o": 257
},
"F": {
"w": 4,
"o": 265
},
"G": {
"w": 6,
"o": 273
},
"H": {
"w": 6,
"o": 283
},
"I": {
"w": 2,
"o": 293
},
"J": {
"w": 2,
"o": 299
},
"K": {
"w": 5,
"o": 305
},
"L": {
"w": 4,
"o": 314
},
"M": {
"w": 7,
"o": 322
},
"N": {
"w": 6,
"o": 333
},
"O": {
"w": 6,
"o": 343
},
"P": {
"w": 4,
"o": 353
},
"Q": {
"w": 6,
"o": 361
},
"R": {
"w": 5,
"o": 371
},
"S": {
"w": 4,
"o": 380
},
"T": {
"w": 5,
"o": 388
},
"U": {
"w": 6,
"o": 397
},
"V": {
"w": 5,
"o": 407
},
"W": {
"w": 7,
"o": 416
},
"X": {
"w": 5,
"o": 427
},
"Y": {
"w": 5,
"o": 436
},
"Z": {
"w": 5,
"o": 445
},
"!": {
"w": 2,
"o": 454
},
"?": {
"w": 3,
"o": 460
},
",": {
"w": 2,
"o": 467
},
".": {
"w": 2,
"o": 473
},
"@": {
"w": 6,
"o": 479
},
"/": {
"w": 4,
"o": 489
},
":": {
"w": 2,
"o": 497
},
";": {
"w": 2,
"o": 503
},
"á": {
"w": 4,
"o": 588
},
"é": {
"w": 4,
"o": 596
},
"í": {
"w": 2,
"o": 604
},
"ó": {
"w": 4,
"o": 610
},
"ú": {
"w": 4,
"o": 618
},
"à": {
"w": 4,
"o": 626
},
"è": {
"w": 4,
"o": 634
},
"ì": {
"w": 2,
"o": 642
},
"ò": {
"w": 4,
"o": 648
},
"ù": {
"w": 4,
"o": 656
}
},
lineHeight: 12,
fancyDrawText: (function(x) {
x.coffee = "(t, x, y)@>\n { charMap, lineHeight, glyphs } = @\n scale = 2\n { fancy_r } = @\n fancy_r ?= 0x209532 + x + y\n fancy = 0\n for c in t\n p = charMap[c]\n { w, o } = p\n # throw o\n \n fancy_r = (0x2309230 ^ fancy_r * fancy_r) >> 8\n fancy += (((fancy_r >> 1)&1) - (fancy_r & 1))\n fancy = (fancy > +4 then +4 else fancy < -4 then -4 else fancy)\n # throw r & 7\n \n @ctx.drawImage glyphs, o, 0, w + 4, lineHeight, x, (y + fancy) * scale, (w + 4) * scale, lineHeight * scale\n x += (w + 1) * scale\n @fancy_r = fancy_r\n ";
return x;
})(function(t, x, y) {
var c, charMap, fancy, fancy_r, glyphs, lineHeight, o, p, scale, w, _i, _len;
charMap = this.charMap, lineHeight = this.lineHeight, glyphs = this.glyphs;
scale = 2;
fancy_r = this.fancy_r;
if (fancy_r == null) {
fancy_r = 0x209532 + x + y;
}
fancy = 0;
for (_i = 0, _len = t.length; _i < _len; _i++) {
c = t[_i];
p = charMap[c];
w = p.w, o = p.o;
fancy_r = (0x2309230 ^ fancy_r * fancy_r) >> 8;
fancy += ((fancy_r >> 1) & 1) - (fancy_r & 1);
fancy = (fancy > +4 ? +4 : fancy < -4 ? -4 : fancy);
this.ctx.drawImage(glyphs, o, 0, w + 4, lineHeight, x, (y + fancy) * scale, (w + 4) * scale, lineHeight * scale);
x += (w + 1) * scale;
}
return this.fancy_r = fancy_r;
}),
drawText: (function(x) {
x.coffee = "(t, x, y)@>\n { charMap, lineHeight, glyphs } = @\n scale = 2\n for c in t\n p = charMap[c]\n { w, o } = p\n # throw o\n @ctx.drawImage glyphs, o, 0, w + 4, lineHeight, x, y * scale, (w + 4) * scale, lineHeight * scale\n x += (w + 1) * scale\n \n ";
return x;
})(function(t, x, y) {
var c, charMap, glyphs, lineHeight, o, p, scale, w, _i, _len, _results;
charMap = this.charMap, lineHeight = this.lineHeight, glyphs = this.glyphs;
scale = 2;
_results = [];
for (_i = 0, _len = t.length; _i < _len; _i++) {
c = t[_i];
p = charMap[c];
w = p.w, o = p.o;
this.ctx.drawImage(glyphs, o, 0, w + 4, lineHeight, x, y * scale, (w + 4) * scale, lineHeight * scale);
_results.push(x += (w + 1) * scale);
}
return _results;
})
};
Demo.prototype.narrator = (function() {
return {
first: null,
last: null,
add: (function(x) {
x.coffee = "(t)@>\n { last, game } = @\n game.other.narrator = @ unless game.other.narrator?\n first = null\n for c in t\n continue if c is \"\\n\"\n c = c: c\n last = (last? then last.next = c else c)\n first ?= last\n @last = last\n @first ?= first\n ";
return x;
})(function(t) {
var c, first, game, last, _i, _len;
last = this.last, game = this.game;
if (game.other.narrator == null) {
game.other.narrator = this;
}
first = null;
for (_i = 0, _len = t.length; _i < _len; _i++) {
c = t[_i];
if (c === "\n") {
continue;
}
c = {
c: c
};
last = (last != null ? last.next = c : c);
if (first == null) {
first = last;
}
}
this.last = last;
return this.first != null ? this.first : this.first = first;
}),
Math: Math,
draw: (function(x) {
x.coffee = "@>\n { first, game } = @\n unless first?\n delete game.other.narrator\n return\n { charMap, glyphs, lineHeight } = @\n { radx, rady } = game\n radx2 = radx * 2\n px = -radx\n ex = radx\n dy = rady - rady / 3\n last = null\n while first?\n # x = first.x\n unless (x = first.x)?\n if x > radx2\n break\n else\n first.x = radx2\n break\n p = charMap[first.c]\n x--\n x = px if x < px\n first.x = x\n ly = last?.y\n y = first.y ?= ly ? dy\n y += ((@Math.random()*3)|0) - 1\n ly? then\n dd = 1 + (x - px)\n y = (y > ly + dd then ly + dd else y < ly - dd then ly - dd else y)\n first.y = y\n { o, w } = p\n # y = 40\n scale = 2\n @ctx.drawImage glyphs, o, 0, w + 4, lineHeight, x * scale, y * scale, (w + 4) * scale, lineHeight * scale\n px = x + w + 1\n last = first\n first = first.next\n @first = first if x <= -w\n ";
return x;
})(function() {
var charMap, dd, dy, ex, first, game, glyphs, last, lineHeight, ly, o, p, px, radx, radx2, rady, scale, w, x, y, _results;
first = this.first, game = this.game;
if (first == null) {
delete game.other.narrator;
return;
}
charMap = this.charMap, glyphs = this.glyphs, lineHeight = this.lineHeight;
radx = game.radx, rady = game.rady;
radx2 = radx * 2;
px = -radx;
ex = radx;
dy = rady - rady / 3;
last = null;
_results = [];
while (first != null) {
if ((x = first.x) == null) {
if (x > radx2) {
break;
} else {
first.x = radx2;
break;
}
}
p = charMap[first.c];
x--;
if (x < px) {
x = px;
}
first.x = x;
ly = last != null ? last.y : void 0;
y = first.y != null ? first.y : first.y = ly != null ? ly : dy;
y += ((this.Math.random() * 3) | 0) - 1;
if (ly != null) {
dd = 1 + (x - px);
y = (y > ly + dd ? ly + dd : y < ly - dd ? ly - dd : y);
}
first.y = y;
o = p.o, w = p.w;
scale = 2;
this.ctx.drawImage(glyphs, o, 0, w + 4, lineHeight, x * scale, y * scale, (w + 4) * scale, lineHeight * scale);
px = x + w + 1;
last = first;
first = first.next;
if (x <= -w) {
_results.push(this.first = first);
} else {
_results.push(void 0);
}
}
return _results;
}),
__proto__: textRenderer
};
})();
Demo.prototype.waves = {
intro: (function(x) {
x.coffee = "@>";
return x;
})(function() {}),
game: (function(x) {
x.coffee = "@>";
return x;
})(function() {}),
score: (function(x) {
x.coffee = "@>";
return x;
})(function() {}),
setup: (function(x) {
x.coffee = "@>";
return x;
})(function() {})
};
Demo.prototype.seafloor = seafloorPlane = {
__proto__: SeaFloor
};
Demo.prototype.getDepth = (function(x) {
x.coffee = "@> @seafloor.fy / @seafloor.mfy";
return x;
})(function() {
return this.seafloor.fy / this.seafloor.mfy;
});
Demo.prototype.waterscape = waterscape = (function() {
return {
__proto__: WaterPlane,
moltf: 12,
colors: ["#051555", "#33ddff"],
alpha: 0.2,
logzoom: 0,
lower: {
__proto__: WaterPlane,
colors: ["#000033", "#001155"],
alpha: 0.3,
logzoom: 2,
lower: seafloorPlane
}
};
})();
Demo.prototype.bluescape = {
__proto__: SeamlessPlane,
bluescapeSuper: SeamlessPlane,
lower: waterscape,
logzoom: 0,
frame: (function(x) {
x.coffee = "(t,sx,sy)@>\n { ctx, random, w, h } = @\n\n x = @x + sx\n x = (x + w) % w\n y = (y + h) % h\n @x = x\n y = @y + sy\n y += h while y < 0\n y -= h while y >= h\n @y = y\n # i = ctx.getImageData(0,0,@w,@h)\n\n ctx.save()\n @lower.frame ctx, sx, sy\n ctx.restore()\n # t.save()\n # t.globalCompositeOperation = 'copy'\n\n t.drawImage ctx.canvas, 0,0,w,h, 0,0,w*4,h*4\n \n # t.drawImage ctx.canvas, 0,0,w>>2,h>>2, 0,0,w*2,h*2\n\n # t.drawImage ctx.canvas, 0,0,w>>2,h>>2, 0,0,w*2,h>>2\n # t.drawImage t.canvas, 0,0,w*2,h>>2, 0,0,w*2,h*2\n\n # t.restore()\n # @withRect x, y, rx*2, ry*2, (x,y,w,h,ox,oy)-> t.drawImage c, x,y,w,h, ox*2,oy*2,w*2,h*2\n # t.drawImage c, 0, 0, \n # t.fillColor = if random() > 0.5 then \"#104080\" else \"#155590\"\n # t.fillRect 0, 0, 100, 100\n # t.clearRect 0, 0, 100, 100\n # t.drawImage t, 0, 0, 100, 100, 50, 50, 100, 100\n ";
return x;
})(function(t, sx, sy) {
var ctx, h, random, w, x, y;
ctx = this.ctx, random = this.random, w = this.w, h = this.h;
x = this.x + sx;
x = (x + w) % w;
y = (y + h) % h;
this.x = x;
y = this.y + sy;
while (y < 0) {
y += h;
}
while (y >= h) {
y -= h;
}
this.y = y;
ctx.save();
this.lower.frame(ctx, sx, sy);
ctx.restore();
return t.drawImage(ctx.canvas, 0, 0, w, h, 0, 0, w * 4, h * 4);
}),
init: (function(x) {
x.coffee = "(options)@>\n { w, h, lower } = @\n\n @w = w\n @h = h\n\n lower.w = (w >> 2) * 5\n lower.h = (h >> 2) * 5\n\n @bluescapeSuper.init.call @, options\n\n { ctx } = @\n\n # ctx.fillStyle = \"#0099dd\"\n # ctx.fillRect 0, 0, @w, @h\n \n ";
return x;
})(function(options) {
var ctx, h, lower, w;
w = this.w, h = this.h, lower = this.lower;
this.w = w;
this.h = h;
lower.w = (w >> 2) * 5;
lower.h = (h >> 2) * 5;
this.bluescapeSuper.init.call(this, options);
return ctx = this.ctx, this;
})
};
Demo.prototype.setup = function() {
var bluescape, radx, rady, tend, time, touchInput, v;
time = this.time, bluescape = this.bluescape, radx = this.radx, rady = this.rady;
this.textRenderer.ctx = jaws.context;
this.narrator.game = this;
bluescape.w = radx;
bluescape.h = rady;
bluescape.init({
screenw: radx * 2,
screenh: rady * 2
});
v = new Vilma(this);
v.px = 0;
v.py = 0;
v.vx = 0;
v.vy = 0;
this.vilma = v;
this.encounters.generate(this, -radx, -rady, radx * 2, rady * 2, radx * 2, 0);
touchInput = this.touchInput;
touchInput.game = this;
x = document.body;
x.addEventListener("touchmove", touchInput.handle('move'), true);
x.addEventListener("touchstart", touchInput.handle('start'), true);
tend = touchInput.handle('end');
x.addEventListener("touchend", tend, true);
x.addEventListener("touchleave", tend, true);
x.addEventListener("touchcancel", tend, true);
time.game = this;
time.tickTime = 1.0 / this.fps;
time.setFutureChain([
(function() {
return {
after: 0,
run: (function(x) {
x.coffee = "@> @narrator.add \"Vilma, \"";
return x;
})(function() {
return this.narrator.add("Vilma, ");
})
};
})(), (function() {
return {
after: 4,
run: (function(x) {
x.coffee = "@> @narrator.add \"the Happy Vaquita,\\n\"";
return x;
})(function() {
return this.narrator.add("the Happy Vaquita,\n");
})
};
})(), (function() {
return {
after: 4,
run: (function(x) {
x.coffee = "@> @narrator.add \"presents\\n\"";
return x;
})(function() {
return this.narrator.add("presents\n");
})
};
})(), (function() {
return {
after: 4,
run: (function(x) {
x.coffee = "@> @narrator.add \"The Moon is Sinking\"";
return x;
})(function() {
return this.narrator.add("The Moon is Sinking");
})
};
})()
]);
return this.collisions.setup(radx, rady);
};
Demo.prototype.radx = screen_x1;
Demo.prototype.rady = screen_y1;
Demo.prototype.rad = screen_x1 * screen_x1 + screen_y1 * screen_y1;
Demo.prototype.collisions = {
Array: Array,
setup: (function(x) {
x.coffee = "(radx, rady)@>\n # Setup the collision detection subsystem\n # Assumes:\n # - radx and rady are multiples of 8\n w = @w = (radx >> 2)\n h = @h = (rady >> 2)\n @b = new @Array(w * h)\n @o = (w >> 1) * h + (h >> 1) + 1\n @l = [ ]\n ";
return x;
})(function(radx, rady) {
var h, w;
w = this.w = radx >> 2;
h = this.h = rady >> 2;
this.b = new this.Array(w * h);
this.o = (w >> 1) * h + (h >> 1) + 1;
return this.l = [];
}),
a: (function(x) {
x.coffee = "(o)@>\n # Add a collision subject\n # Assumes:\n # - all the corners of the object's collision area are in the viewing area\n # - the object's collision radius is <= 8\n { l, b, w } = @\n i = @o + (o.py >> 3) * @w + (o.px >> 3)\n @b[i-1] = @b[i+1] = @b[i] = o\n i -= w\n @b[i-1] = @b[i+1] = @b[i] = o\n i += w << 1\n @b[i-1] = @b[i+1] = @b[i] = o\n @l.push o\n \n # o.crad\n ";
return x;
})(function(o) {
var b, i, l, w;
l = this.l, b = this.b, w = this.w;
i = this.o + (o.py >> 3) * this.w + (o.px >> 3);
this.b[i - 1] = this.b[i + 1] = this.b[i] = o;
i -= w;
this.b[i - 1] = this.b[i + 1] = this.b[i] = o;
i += w << 1;
this.b[i - 1] = this.b[i + 1] = this.b[i] = o;
return this.l.push(o);
}),
q: (function(x) {
x.coffee = "(o)@>\n # Quick collision test\n # Test collisions of object against previously added collision subjects\n # For this to work correctly:\n # - the object should have a collision radius <= 4,\n # - have a center in the viewing area\n @b[@o + (o.py >> 3) * @w + (o.px >> 3)]?.collide(o)\n # t2: (o)@>\n # Like above but for objects with a collision radius <= 8\n ";
return x;
})(function(o) {
var _ref;
return (_ref = this.b[this.o + (o.py >> 3) * this.w + (o.px >> 3)]) != null ? _ref.collide(o) : void 0;
}),
clear: (function(x) {
x.coffee = "@>\n @b = new @Array(@b.length) # Discrete board for detecting collisions\n @l = [ ] # List of collisions targets\n ";
return x;
})(function() {
this.b = new this.Array(this.b.length);
return this.l = [];
})
};
Demo.prototype.time = {
current: 0,
advance: (function(x) {
x.coffee = "@>\n { current, game, tickTime } = @\n (current += tickTime) > 1 then\n current -= 1\n (future = @future)? then\n future.after > 0 then future.after-- else\n @future = future.next\n future.run.apply game\n @current = current\n ";
return x;
})(function() {
var current, future, game, tickTime;
current = this.current, game = this.game, tickTime = this.tickTime;
if ((current += tickTime) > 1) {
current -= 1;
if ((future = this.future) != null) {
if (future.after > 0) {
future.after--;
} else {
this.future = future.next;
future.run.apply(game);
}
}
}
return this.current = current;
}),
setFutureChain: (function(x) {
x.coffee = "(events)@>\n p = null\n for e in events\n p?.next = e\n p = e\n @future = events[0]\n ";
return x;
})(function(events) {
var e, p, _i, _len;
p = null;
for (_i = 0, _len = events.length; _i < _len; _i++) {
e = events[_i];
if (p != null) {
p.next = e;
}
p = e;
}
return this.future = events[0];
}),
future: null
};
Demo.prototype.other = {};
Demo.prototype.draw = (function(x) {
x.coffee = "@>\n { jaws, radx, rady, vilma, vaquitas, cameos, stilla, rad, collisions } = @\n \n # @addVaquita() if (!(@gameloop.ticks & 0x7f) and vaquitas.length < 1) or jaws.pressed[spaceKey]\n \n vilma.fpx += vilma.px\n vilma.fpy += vilma.py\n vilma.move()\n \n if true\n { px, py, fpx, fpy } = vilma\n \n vilma.fpx -= px\n vilma.fpy -= py\n vilma.px = 0\n vilma.py = 0\n \n px = px | 0\n py = py | 0\n \n @bluescape.frame jaws.context, -fpx, -fpy\n else\n { px, py } = vilma\n \n vilma.fpx = 0\n vilma.fpy = 0\n vilma.px = 0\n vilma.py = 0\n \n px = px | 0\n py = py | 0\n \n @bluescape.frame jaws.context, -px, -py\n \n collisions.a vilma\n \n for v in vaquitas\n x = v.px -= px\n y = v.py -= py\n v.draw()\n if (x >= -radx) and (x < radx) and (y >= -rady) and (y < rady)\n collisions.a v\n \n vilma.draw()\n \n if stilla?\n x = stilla.px -= px\n y = stilla.py -= py\n if stilla.dead or x * x + y * y > rad * 16\n stilla.goodnight(@)\n @stilla = null\n else\n stilla.draw(collisions, @)\n if (x >= -radx) and (x < radx) and (y >= -rady) and (y < rady)\n collisions.a stilla\n \n for k,v of cameos\n continue unless v?\n x = v.px -= px\n y = v.py -= py\n if v.dead or (x < -radx) or (x >= radx) or (y < -rady) or (y >= rady)\n cameos[k] = null\n else\n v.draw(collisions, @)\n collisions.q v\n \n @encounters.generate(@,-radx, -rady, radx * 2, rady * 2, px, py)\n \n collisions.clear()\n \n # @textRenderer.fancyDrawText \"Vilma, the Happy Vaquita, presents.....\", 21, 65\n v.draw() for k,v of @other\n\n @time.advance()\n \n if (@gameloop.ticks & 0xff) is 0xff\n fps.innerHTML = \"#{@gameloop.fps} fps\"\n \n ";
return x;
})(function() {
var cameos, collisions, fpx, fpy, jaws, k, px, py, rad, radx, rady, stilla, v, vaquitas, vilma, x, y, _i, _len, _ref;
jaws = this.jaws, radx = this.radx, rady = this.rady, vilma = this.vilma, vaquitas = this.vaquitas, cameos = this.cameos, stilla = this.stilla, rad = this.rad, collisions = this.collisions;
vilma.fpx += vilma.px;
vilma.fpy += vilma.py;
vilma.move();
if (true) {
px = vilma.px, py = vilma.py, fpx = vilma.fpx, fpy = vilma.fpy;
vilma.fpx -= px;
vilma.fpy -= py;
vilma.px = 0;
vilma.py = 0;
px = px | 0;
py = py | 0;
this.bluescape.frame(jaws.context, -fpx, -fpy);
} else {
px = vilma.px, py = vilma.py;
vilma.fpx = 0;
vilma.fpy = 0;
vilma.px = 0;
vilma.py = 0;
px = px | 0;
py = py | 0;
this.bluescape.frame(jaws.context, -px, -py);
}
collisions.a(vilma);
for (_i = 0, _len = vaquitas.length; _i < _len; _i++) {
v = vaquitas[_i];
x = v.px -= px;
y = v.py -= py;
v.draw();
if ((x >= -radx) && (x < radx) && (y >= -rady) && (y < rady)) {
collisions.a(v);
}
}
vilma.draw();
if (stilla != null) {
x = stilla.px -= px;
y = stilla.py -= py;
if (stilla.dead || x * x + y * y > rad * 16) {
stilla.goodnight(this);
this.stilla = null;
} else {
stilla.draw(collisions, this);
if ((x >= -radx) && (x < radx) && (y >= -rady) && (y < rady)) {
collisions.a(stilla);
}
}
}
for (k in cameos) {
v = cameos[k];
if (v == null) {
continue;
}
x = v.px -= px;
y = v.py -= py;
if (v.dead || (x < -radx) || (x >= radx) || (y < -rady) || (y >= rady)) {
cameos[k] = null;
} else {
v.draw(collisions, this);
collisions.q(v);
}
}
this.encounters.generate(this, -radx, -rady, radx * 2, rady * 2, px, py);
collisions.clear();
_ref = this.other;
for (k in _ref) {
v = _ref[k];
v.draw();
}
this.time.advance();
if ((this.gameloop.ticks & 0xff) === 0xff) {
return fps.innerHTML = "" + this.gameloop.fps + " fps";
}
});
Demo.prototype.jaws = jaws;
Demo.prototype.window = window;
Demo.prototype.spaceKey = spaceKey;
Demo.prototype.fps = 24;
Demo.prototype.setupJaws = (function(x) {
x.coffee = "(Demo)@>\n { jaws, window, fps } = @\n if true\n jaws.init()\n jaws.setupInput();\n window.game = game = new Demo\n gameloop = new jaws.GameLoop(game, { fps })\n (game.gameloop = gameloop).start()\n # else\n # jaws.start Demo, fps:25\n ";
return x;
})(function(Demo) {
var fps, game, gameloop, jaws, window;
jaws = this.jaws, window = this.window, fps = this.fps;
if (true) {
jaws.init();
jaws.setupInput();
window.game = game = new Demo;
gameloop = new jaws.GameLoop(game, {
fps: fps
});
return (game.gameloop = gameloop).start();
}
});
return Demo;
})();
return Demo.prototype.setupJaws(Demo);
};
return window.addEventListener('load', (function(e) {
if (window.applicationCache) {
return window.applicationCache.addEventListener('updateready', (function(e) {
window.applicationCache.swapCache();
if (confirm('A new version of this site is available. Load it?')) {
return window.location.reload();
}
}), false);
}
}), false);
})();
})();
</script></body></html>
|