UNPKG

@grain/libbinaryen

Version:

Libbinaryen packaged for OCaml.

3,599 lines (3,578 loc) 196 kB
function asmFunc(imports) { var Math_imul = Math.imul; var Math_fround = Math.fround; var Math_abs = Math.abs; var Math_clz32 = Math.clz32; var Math_min = Math.min; var Math_max = Math.max; var Math_floor = Math.floor; var Math_ceil = Math.ceil; var Math_trunc = Math.trunc; var Math_sqrt = Math.sqrt; function dummy() { } function $0() { } function $1() { } function $2() { } function $3() { } function $4() { var $1_1 = 0; block : { $1_1 = 1; switch (0 | 0) { default: break block; }; } return $1_1 | 0; } function $5() { var i64toi32_i32$0 = 0, $1_1 = 0, $1$hi = 0; block : { i64toi32_i32$0 = 0; $1_1 = 2; $1$hi = i64toi32_i32$0; switch (0 | 0) { default: break block; }; } i64toi32_i32$0 = $1$hi; return $1_1 | 0; } function $6() { var $1_1 = Math_fround(0); block : { $1_1 = Math_fround(3.0); switch (0 | 0) { default: break block; }; } return Math_fround($1_1); } function $7() { var $1_1 = 0.0; block : { $1_1 = 4.0; switch (0 | 0) { default: break block; }; } return +$1_1; } function $8($0_1) { $0_1 = $0_1 | 0; return 22 | 0; } function $9($0_1) { $0_1 = $0_1 | 0; var $3_1 = 0; block : { $3_1 = 33; switch ($0_1 | 0) { default: break block; }; } return $3_1 | 0; } function $10($0_1) { $0_1 = $0_1 | 0; block : { switch ($0_1 | 0) { default: return 20 | 0; case 0: break block; }; } return 22 | 0; } function $11($0_1) { $0_1 = $0_1 | 0; var $2_1 = 0, $4_1 = 0, $3_1 = 0; block1 : { block : { $2_1 = 33; $3_1 = $2_1; $4_1 = $2_1; switch ($0_1 | 0) { case 0: break block; default: break block1; }; } $4_1 = 32; } return $4_1 | 0; } function $12($0_1) { $0_1 = $0_1 | 0; block4 : { switch ($0_1 | 0) { case 3: return 100 | 0; case 2: return 101 | 0; case 1: return 102 | 0; case 0: return 103 | 0; default: break block4; }; } return 104 | 0; } function $13($0_1) { $0_1 = $0_1 | 0; var $1_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0; block4 : { block : { block1 : { block2 : { block3 : { $3_1 = 200; $4_1 = $3_1; $5_1 = $3_1; $6_1 = $3_1; $7_1 = $3_1; $8_1 = $3_1; switch ($0_1 | 0) { case 0: break block; case 1: break block1; case 2: break block2; case 3: break block3; default: break block4; }; } $1_1 = $7_1; return $1_1 + 10 | 0 | 0; } $1_1 = $6_1; return $1_1 + 11 | 0 | 0; } $1_1 = $5_1; return $1_1 + 12 | 0 | 0; } $1_1 = $4_1; return $1_1 + 13 | 0 | 0; } $1_1 = $8_1; return $1_1 + 14 | 0 | 0; } function $14($0_1) { $0_1 = $0_1 | 0; var $2_1 = 0; block1 : { switch ($0_1 | 0) { case 0: case 2: case 4: case 6: case 8: case 10: case 12: case 14: case 16: case 18: case 20: case 22: case 24: case 26: case 28: case 30: case 32: case 34: case 36: case 38: case 40: case 42: case 44: case 46: case 48: case 50: case 52: case 54: case 56: case 58: case 60: case 62: case 64: case 66: case 68: case 70: case 72: case 74: case 76: case 78: case 80: case 82: case 84: case 86: case 88: case 90: case 92: case 94: case 96: case 98: case 100: case 102: case 104: case 106: case 108: case 110: case 112: case 114: case 116: case 118: case 120: case 122: case 124: case 126: case 128: case 130: case 132: case 134: case 136: case 138: case 140: case 142: case 144: case 146: case 148: case 150: case 152: case 154: case 156: case 158: case 160: case 162: case 164: case 166: case 168: case 170: case 172: case 174: case 176: case 178: case 180: case 182: case 184: case 186: case 188: case 190: case 192: case 194: case 196: case 198: case 200: case 202: case 204: case 206: case 208: case 210: case 212: case 214: case 216: case 218: case 220: case 222: case 224: case 226: case 228: case 230: case 232: case 234: case 236: case 238: case 240: case 242: case 244: case 246: case 248: case 250: case 252: case 254: case 256: case 258: case 260: case 262: case 264: case 266: case 268: case 270: case 272: case 274: case 276: case 278: case 280: case 282: case 284: case 286: case 288: case 290: case 292: case 294: case 296: case 298: case 300: case 302: case 304: case 306: case 308: case 310: case 312: case 314: case 316: case 318: case 320: case 322: case 324: case 326: case 328: case 330: case 332: case 334: case 336: case 338: case 340: case 342: case 344: case 346: case 348: case 350: case 352: case 354: case 356: case 358: case 360: case 362: case 364: case 366: case 368: case 370: case 372: case 374: case 376: case 378: case 380: case 382: case 384: case 386: case 388: case 390: case 392: case 394: case 396: case 398: case 400: case 402: case 404: case 406: case 408: case 410: case 412: case 414: case 416: case 418: case 420: case 422: case 424: case 426: case 428: case 430: case 432: case 434: case 436: case 438: case 440: case 442: case 444: case 446: case 448: case 450: case 452: case 454: case 456: case 458: case 460: case 462: case 464: case 466: case 468: case 470: case 472: case 474: case 476: case 478: case 480: case 482: case 484: case 486: case 488: case 490: case 492: case 494: case 496: case 498: case 500: case 502: case 504: case 506: case 508: case 510: case 512: case 514: case 516: case 518: case 520: case 522: case 524: case 526: case 528: case 530: case 532: case 534: case 536: case 538: case 540: case 542: case 544: case 546: case 548: case 550: case 552: case 554: case 556: case 558: case 560: case 562: case 564: case 566: case 568: case 570: case 572: case 574: case 576: case 578: case 580: case 582: case 584: case 586: case 588: case 590: case 592: case 594: case 596: case 598: case 600: case 602: case 604: case 606: case 608: case 610: case 612: case 614: case 616: case 618: case 620: case 622: case 624: case 626: case 628: case 630: case 632: case 634: case 636: case 638: case 640: case 642: case 644: case 646: case 648: case 650: case 652: case 654: case 656: case 658: case 660: case 662: case 664: case 666: case 668: case 670: case 672: case 674: case 676: case 678: case 680: case 682: case 684: case 686: case 688: case 690: case 692: case 694: case 696: case 698: case 700: case 702: case 704: case 706: case 708: case 710: case 712: case 714: case 716: case 718: case 720: case 722: case 724: case 726: case 728: case 730: case 732: case 734: case 736: case 738: case 740: case 742: case 744: case 746: case 748: case 750: case 752: case 754: case 756: case 758: case 760: case 762: case 764: case 766: case 768: case 770: case 772: case 774: case 776: case 778: case 780: case 782: case 784: case 786: case 788: case 790: case 792: case 794: case 796: case 798: case 800: case 802: case 804: case 806: case 808: case 810: case 812: case 814: case 816: case 818: case 820: case 822: case 824: case 826: case 828: case 830: case 832: case 834: case 836: case 838: case 840: case 842: case 844: case 846: case 848: case 850: case 852: case 854: case 856: case 858: case 860: case 862: case 864: case 866: case 868: case 870: case 872: case 874: case 876: case 878: case 880: case 882: case 884: case 886: case 888: case 890: case 892: case 894: case 896: case 898: case 900: case 902: case 904: case 906: case 908: case 910: case 912: case 914: case 916: case 918: case 920: case 922: case 924: case 926: case 928: case 930: case 932: case 934: case 936: case 938: case 940: case 942: case 944: case 946: case 948: case 950: case 952: case 954: case 956: case 958: case 960: case 962: case 964: case 966: case 968: case 970: case 972: case 974: case 976: case 978: case 980: case 982: case 984: case 986: case 988: case 990: case 992: case 994: case 996: case 998: case 1e3: case 1002: case 1004: case 1006: case 1008: case 1010: case 1012: case 1014: case 1016: case 1018: case 1020: case 1022: case 1024: case 1026: case 1028: case 1030: case 1032: case 1034: case 1036: case 1038: case 1040: case 1042: case 1044: case 1046: case 1048: case 1050: case 1052: case 1054: case 1056: case 1058: case 1060: case 1062: case 1064: case 1066: case 1068: case 1070: case 1072: case 1074: case 1076: case 1078: case 1080: case 1082: case 1084: case 1086: case 1088: case 1090: case 1092: case 1094: case 1096: case 1098: case 1100: case 1102: case 1104: case 1106: case 1108: case 1110: case 1112: case 1114: case 1116: case 1118: case 1120: case 1122: case 1124: case 1126: case 1128: case 1130: case 1132: case 1134: case 1136: case 1138: case 1140: case 1142: case 1144: case 1146: case 1148: case 1150: case 1152: case 1154: case 1156: case 1158: case 1160: case 1162: case 1164: case 1166: case 1168: case 1170: case 1172: case 1174: case 1176: case 1178: case 1180: case 1182: case 1184: case 1186: case 1188: case 1190: case 1192: case 1194: case 1196: case 1198: case 1200: case 1202: case 1204: case 1206: case 1208: case 1210: case 1212: case 1214: case 1216: case 1218: case 1220: case 1222: case 1224: case 1226: case 1228: case 1230: case 1232: case 1234: case 1236: case 1238: case 1240: case 1242: case 1244: case 1246: case 1248: case 1250: case 1252: case 1254: case 1256: case 1258: case 1260: case 1262: case 1264: case 1266: case 1268: case 1270: case 1272: case 1274: case 1276: case 1278: case 1280: case 1282: case 1284: case 1286: case 1288: case 1290: case 1292: case 1294: case 1296: case 1298: case 1300: case 1302: case 1304: case 1306: case 1308: case 1310: case 1312: case 1314: case 1316: case 1318: case 1320: case 1322: case 1324: case 1326: case 1328: case 1330: case 1332: case 1334: case 1336: case 1338: case 1340: case 1342: case 1344: case 1346: case 1348: case 1350: case 1352: case 1354: case 1356: case 1358: case 1360: case 1362: case 1364: case 1366: case 1368: case 1370: case 1372: case 1374: case 1376: case 1378: case 1380: case 1382: case 1384: case 1386: case 1388: case 1390: case 1392: case 1394: case 1396: case 1398: case 1400: case 1402: case 1404: case 1406: case 1408: case 1410: case 1412: case 1414: case 1416: case 1418: case 1420: case 1422: case 1424: case 1426: case 1428: case 1430: case 1432: case 1434: case 1436: case 1438: case 1440: case 1442: case 1444: case 1446: case 1448: case 1450: case 1452: case 1454: case 1456: case 1458: case 1460: case 1462: case 1464: case 1466: case 1468: case 1470: case 1472: case 1474: case 1476: case 1478: case 1480: case 1482: case 1484: case 1486: case 1488: case 1490: case 1492: case 1494: case 1496: case 1498: case 1500: case 1502: case 1504: case 1506: case 1508: case 1510: case 1512: case 1514: case 1516: case 1518: case 1520: case 1522: case 1524: case 1526: case 1528: case 1530: case 1532: case 1534: case 1536: case 1538: case 1540: case 1542: case 1544: case 1546: case 1548: case 1550: case 1552: case 1554: case 1556: case 1558: case 1560: case 1562: case 1564: case 1566: case 1568: case 1570: case 1572: case 1574: case 1576: case 1578: case 1580: case 1582: case 1584: case 1586: case 1588: case 1590: case 1592: case 1594: case 1596: case 1598: case 1600: case 1602: case 1604: case 1606: case 1608: case 1610: case 1612: case 1614: case 1616: case 1618: case 1620: case 1622: case 1624: case 1626: case 1628: case 1630: case 1632: case 1634: case 1636: case 1638: case 1640: case 1642: case 1644: case 1646: case 1648: case 1650: case 1652: case 1654: case 1656: case 1658: case 1660: case 1662: case 1664: case 1666: case 1668: case 1670: case 1672: case 1674: case 1676: case 1678: case 1680: case 1682: case 1684: case 1686: case 1688: case 1690: case 1692: case 1694: case 1696: case 1698: case 1700: case 1702: case 1704: case 1706: case 1708: case 1710: case 1712: case 1714: case 1716: case 1718: case 1720: case 1722: case 1724: case 1726: case 1728: case 1730: case 1732: case 1734: case 1736: case 1738: case 1740: case 1742: case 1744: case 1746: case 1748: case 1750: case 1752: case 1754: case 1756: case 1758: case 1760: case 1762: case 1764: case 1766: case 1768: case 1770: case 1772: case 1774: case 1776: case 1778: case 1780: case 1782: case 1784: case 1786: case 1788: case 1790: case 1792: case 1794: case 1796: case 1798: case 1800: case 1802: case 1804: case 1806: case 1808: case 1810: case 1812: case 1814: case 1816: case 1818: case 1820: case 1822: case 1824: case 1826: case 1828: case 1830: case 1832: case 1834: case 1836: case 1838: case 1840: case 1842: case 1844: case 1846: case 1848: case 1850: case 1852: case 1854: case 1856: case 1858: case 1860: case 1862: case 1864: case 1866: case 1868: case 1870: case 1872: case 1874: case 1876: case 1878: case 1880: case 1882: case 1884: case 1886: case 1888: case 1890: case 1892: case 1894: case 1896: case 1898: case 1900: case 1902: case 1904: case 1906: case 1908: case 1910: case 1912: case 1914: case 1916: case 1918: case 1920: case 1922: case 1924: case 1926: case 1928: case 1930: case 1932: case 1934: case 1936: case 1938: case 1940: case 1942: case 1944: case 1946: case 1948: case 1950: case 1952: case 1954: case 1956: case 1958: case 1960: case 1962: case 1964: case 1966: case 1968: case 1970: case 1972: case 1974: case 1976: case 1978: case 1980: case 1982: case 1984: case 1986: case 1988: case 1990: case 1992: case 1994: case 1996: case 1998: case 2e3: case 2002: case 2004: case 2006: case 2008: case 2010: case 2012: case 2014: case 2016: case 2018: case 2020: case 2022: case 2024: case 2026: case 2028: case 2030: case 2032: case 2034: case 2036: case 2038: case 2040: case 2042: case 2044: case 2046: case 2048: case 2050: case 2052: case 2054: case 2056: case 2058: case 2060: case 2062: case 2064: case 2066: case 2068: case 2070: case 2072: case 2074: case 2076: case 2078: case 2080: case 2082: case 2084: case 2086: case 2088: case 2090: case 2092: case 2094: case 2096: case 2098: case 2100: case 2102: case 2104: case 2106: case 2108: case 2110: case 2112: case 2114: case 2116: case 2118: case 2120: case 2122: case 2124: case 2126: case 2128: case 2130: case 2132: case 2134: case 2136: case 2138: case 2140: case 2142: case 2144: case 2146: case 2148: case 2150: case 2152: case 2154: case 2156: case 2158: case 2160: case 2162: case 2164: case 2166: case 2168: case 2170: case 2172: case 2174: case 2176: case 2178: case 2180: case 2182: case 2184: case 2186: case 2188: case 2190: case 2192: case 2194: case 2196: case 2198: case 2200: case 2202: case 2204: case 2206: case 2208: case 2210: case 2212: case 2214: case 2216: case 2218: case 2220: case 2222: case 2224: case 2226: case 2228: case 2230: case 2232: case 2234: case 2236: case 2238: case 2240: case 2242: case 2244: case 2246: case 2248: case 2250: case 2252: case 2254: case 2256: case 2258: case 2260: case 2262: case 2264: case 2266: case 2268: case 2270: case 2272: case 2274: case 2276: case 2278: case 2280: case 2282: case 2284: case 2286: case 2288: case 2290: case 2292: case 2294: case 2296: case 2298: case 2300: case 2302: case 2304: case 2306: case 2308: case 2310: case 2312: case 2314: case 2316: case 2318: case 2320: case 2322: case 2324: case 2326: case 2328: case 2330: case 2332: case 2334: case 2336: case 2338: case 2340: case 2342: case 2344: case 2346: case 2348: case 2350: case 2352: case 2354: case 2356: case 2358: case 2360: case 2362: case 2364: case 2366: case 2368: case 2370: case 2372: case 2374: case 2376: case 2378: case 2380: case 2382: case 2384: case 2386: case 2388: case 2390: case 2392: case 2394: case 2396: case 2398: case 2400: case 2402: case 2404: case 2406: case 2408: case 2410: case 2412: case 2414: case 2416: case 2418: case 2420: case 2422: case 2424: case 2426: case 2428: case 2430: case 2432: case 2434: case 2436: case 2438: case 2440: case 2442: case 2444: case 2446: case 2448: case 2450: case 2452: case 2454: case 2456: case 2458: case 2460: case 2462: case 2464: case 2466: case 2468: case 2470: case 2472: case 2474: case 2476: case 2478: case 2480: case 2482: case 2484: case 2486: case 2488: case 2490: case 2492: case 2494: case 2496: case 2498: case 2500: case 2502: case 2504: case 2506: case 2508: case 2510: case 2512: case 2514: case 2516: case 2518: case 2520: case 2522: case 2524: case 2526: case 2528: case 2530: case 2532: case 2534: case 2536: case 2538: case 2540: case 2542: case 2544: case 2546: case 2548: case 2550: case 2552: case 2554: case 2556: case 2558: case 2560: case 2562: case 2564: case 2566: case 2568: case 2570: case 2572: case 2574: case 2576: case 2578: case 2580: case 2582: case 2584: case 2586: case 2588: case 2590: case 2592: case 2594: case 2596: case 2598: case 2600: case 2602: case 2604: case 2606: case 2608: case 2610: case 2612: case 2614: case 2616: case 2618: case 2620: case 2622: case 2624: case 2626: case 2628: case 2630: case 2632: case 2634: case 2636: case 2638: case 2640: case 2642: case 2644: case 2646: case 2648: case 2650: case 2652: case 2654: case 2656: case 2658: case 2660: case 2662: case 2664: case 2666: case 2668: case 2670: case 2672: case 2674: case 2676: case 2678: case 2680: case 2682: case 2684: case 2686: case 2688: case 2690: case 2692: case 2694: case 2696: case 2698: case 2700: case 2702: case 2704: case 2706: case 2708: case 2710: case 2712: case 2714: case 2716: case 2718: case 2720: case 2722: case 2724: case 2726: case 2728: case 2730: case 2732: case 2734: case 2736: case 2738: case 2740: case 2742: case 2744: case 2746: case 2748: case 2750: case 2752: case 2754: case 2756: case 2758: case 2760: case 2762: case 2764: case 2766: case 2768: case 2770: case 2772: case 2774: case 2776: case 2778: case 2780: case 2782: case 2784: case 2786: case 2788: case 2790: case 2792: case 2794: case 2796: case 2798: case 2800: case 2802: case 2804: case 2806: case 2808: case 2810: case 2812: case 2814: case 2816: case 2818: case 2820: case 2822: case 2824: case 2826: case 2828: case 2830: case 2832: case 2834: case 2836: case 2838: case 2840: case 2842: case 2844: case 2846: case 2848: case 2850: case 2852: case 2854: case 2856: case 2858: case 2860: case 2862: case 2864: case 2866: case 2868: case 2870: case 2872: case 2874: case 2876: case 2878: case 2880: case 2882: case 2884: case 2886: case 2888: case 2890: case 2892: case 2894: case 2896: case 2898: case 2900: case 2902: case 2904: case 2906: case 2908: case 2910: case 2912: case 2914: case 2916: case 2918: case 2920: case 2922: case 2924: case 2926: case 2928: case 2930: case 2932: case 2934: case 2936: case 2938: case 2940: case 2942: case 2944: case 2946: case 2948: case 2950: case 2952: case 2954: case 2956: case 2958: case 2960: case 2962: case 2964: case 2966: case 2968: case 2970: case 2972: case 2974: case 2976: case 2978: case 2980: case 2982: case 2984: case 2986: case 2988: case 2990: case 2992: case 2994: case 2996: case 2998: case 3e3: case 3002: case 3004: case 3006: case 3008: case 3010: case 3012: case 3014: case 3016: case 3018: case 3020: case 3022: case 3024: case 3026: case 3028: case 3030: case 3032: case 3034: case 3036: case 3038: case 3040: case 3042: case 3044: case 3046: case 3048: case 3050: case 3052: case 3054: case 3056: case 3058: case 3060: case 3062: case 3064: case 3066: case 3068: case 3070: case 3072: case 3074: case 3076: case 3078: case 3080: case 3082: case 3084: case 3086: case 3088: case 3090: case 3092: case 3094: case 3096: case 3098: case 3100: case 3102: case 3104: case 3106: case 3108: case 3110: case 3112: case 3114: case 3116: case 3118: case 3120: case 3122: case 3124: case 3126: case 3128: case 3130: case 3132: case 3134: case 3136: case 3138: case 3140: case 3142: case 3144: case 3146: case 3148: case 3150: case 3152: case 3154: case 3156: case 3158: case 3160: case 3162: case 3164: case 3166: case 3168: case 3170: case 3172: case 3174: case 3176: case 3178: case 3180: case 3182: case 3184: case 3186: case 3188: case 3190: case 3192: case 3194: case 3196: case 3198: case 3200: case 3202: case 3204: case 3206: case 3208: case 3210: case 3212: case 3214: case 3216: case 3218: case 3220: case 3222: case 3224: case 3226: case 3228: case 3230: case 3232: case 3234: case 3236: case 3238: case 3240: case 3242: case 3244: case 3246: case 3248: case 3250: case 3252: case 3254: case 3256: case 3258: case 3260: case 3262: case 3264: case 3266: case 3268: case 3270: case 3272: case 3274: case 3276: case 3278: case 3280: case 3282: case 3284: case 3286: case 3288: case 3290: case 3292: case 3294: case 3296: case 3298: case 3300: case 3302: case 3304: case 3306: case 3308: case 3310: case 3312: case 3314: case 3316: case 3318: case 3320: case 3322: case 3324: case 3326: case 3328: case 3330: case 3332: case 3334: case 3336: case 3338: case 3340: case 3342: case 3344: case 3346: case 3348: case 3350: case 3352: case 3354: case 3356: case 3358: case 3360: case 3362: case 3364: case 3366: case 3368: case 3370: case 3372: case 3374: case 3376: case 3378: case 3380: case 3382: case 3384: case 3386: case 3388: case 3390: case 3392: case 3394: case 3396: case 3398: case 3400: case 3402: case 3404: case 3406: case 3408: case 3410: case 3412: case 3414: case 3416: case 3418: case 3420: case 3422: case 3424: case 3426: case 3428: case 3430: case 3432: case 3434: case 3436: case 3438: case 3440: case 3442: case 3444: case 3446: case 3448: case 3450: case 3452: case 3454: case 3456: case 3458: case 3460: case 3462: case 3464: case 3466: case 3468: case 3470: case 3472: case 3474: case 3476: case 3478: case 3480: case 3482: case 3484: case 3486: case 3488: case 3490: case 3492: case 3494: case 3496: case 3498: case 3500: case 3502: case 3504: case 3506: case 3508: case 3510: case 3512: case 3514: case 3516: case 3518: case 3520: case 3522: case 3524: case 3526: case 3528: case 3530: case 3532: case 3534: case 3536: case 3538: case 3540: case 3542: case 3544: case 3546: case 3548: case 3550: case 3552: case 3554: case 3556: case 3558: case 3560: case 3562: case 3564: case 3566: case 3568: case 3570: case 3572: case 3574: case 3576: case 3578: case 3580: case 3582: case 3584: case 3586: case 3588: case 3590: case 3592: case 3594: case 3596: case 3598: case 3600: case 3602: case 3604: case 3606: case 3608: case 3610: case 3612: case 3614: case 3616: case 3618: case 3620: case 3622: case 3624: case 3626: case 3628: case 3630: case 3632: case 3634: case 3636: case 3638: case 3640: case 3642: case 3644: case 3646: case 3648: case 3650: case 3652: case 3654: case 3656: case 3658: case 3660: case 3662: case 3664: case 3666: case 3668: case 3670: case 3672: case 3674: case 3676: case 3678: case 3680: case 3682: case 3684: case 3686: case 3688: case 3690: case 3692: case 3694: case 3696: case 3698: case 3700: case 3702: case 3704: case 3706: case 3708: case 3710: case 3712: case 3714: case 3716: case 3718: case 3720: case 3722: case 3724: case 3726: case 3728: case 3730: case 3732: case 3734: case 3736: case 3738: case 3740: case 3742: case 3744: case 3746: case 3748: case 3750: case 3752: case 3754: case 3756: case 3758: case 3760: case 3762: case 3764: case 3766: case 3768: case 3770: case 3772: case 3774: case 3776: case 3778: case 3780: case 3782: case 3784: case 3786: case 3788: case 3790: case 3792: case 3794: case 3796: case 3798: case 3800: case 3802: case 3804: case 3806: case 3808: case 3810: case 3812: case 3814: case 3816: case 3818: case 3820: case 3822: case 3824: case 3826: case 3828: case 3830: case 3832: case 3834: case 3836: case 3838: case 3840: case 3842: case 3844: case 3846: case 3848: case 3850: case 3852: case 3854: case 3856: case 3858: case 3860: case 3862: case 3864: case 3866: case 3868: case 3870: case 3872: case 3874: case 3876: case 3878: case 3880: case 3882: case 3884: case 3886: case 3888: case 3890: case 3892: case 3894: case 3896: case 3898: case 3900: case 3902: case 3904: case 3906: case 3908: case 3910: case 3912: case 3914: case 3916: case 3918: case 3920: case 3922: case 3924: case 3926: case 3928: case 3930: case 3932: case 3934: case 3936: case 3938: case 3940: case 3942: case 3944: case 3946: case 3948: case 3950: case 3952: case 3954: case 3956: case 3958: case 3960: case 3962: case 3964: case 3966: case 3968: case 3970: case 3972: case 3974: case 3976: case 3978: case 3980: case 3982: case 3984: case 3986: case 3988: case 3990: case 3992: case 3994: case 3996: case 3998: case 4e3: case 4002: case 4004: case 4006: case 4008: case 4010: case 4012: case 4014: case 4016: case 4018: case 4020: case 4022: case 4024: case 4026: case 4028: case 4030: case 4032: case 4034: case 4036: case 4038: case 4040: case 4042: case 4044: case 4046: case 4048: case 4050: case 4052: case 4054: case 4056: case 4058: case 4060: case 4062: case 4064: case 4066: case 4068: case 4070: case 4072: case 4074: case 4076: case 4078: case 4080: case 4082: case 4084: case 4086: case 4088: case 4090: case 4092: case 4094: case 4096: case 4098: case 4100: case 4102: case 4104: case 4106: case 4108: case 4110: case 4112: case 4114: case 4116: case 4118: case 4120: case 4122: case 4124: case 4126: case 4128: case 4130: case 4132: case 4134: case 4136: case 4138: case 4140: case 4142: case 4144: case 4146: case 4148: case 4150: case 4152: case 4154: case 4156: case 4158: case 4160: case 4162: case 4164: case 4166: case 4168: case 4170: case 4172: case 4174: case 4176: case 4178: case 4180: case 4182: case 4184: case 4186: case 4188: case 4190: case 4192: case 4194: case 4196: case 4198: case 4200: case 4202: case 4204: case 4206: case 4208: case 4210: case 4212: case 4214: case 4216: case 4218: case 4220: case 4222: case 4224: case 4226: case 4228: case 4230: case 4232: case 4234: case 4236: case 4238: case 4240: case 4242: case 4244: case 4246: case 4248: case 4250: case 4252: case 4254: case 4256: case 4258: case 4260: case 4262: case 4264: case 4266: case 4268: case 4270: case 4272: case 4274: case 4276: case 4278: case 4280: case 4282: case 4284: case 4286: case 4288: case 4290: case 4292: case 4294: case 4296: case 4298: case 4300: case 4302: case 4304: case 4306: case 4308: case 4310: case 4312: case 4314: case 4316: case 4318: case 4320: case 4322: case 4324: case 4326: case 4328: case 4330: case 4332: case 4334: case 4336: case 4338: case 4340: case 4342: case 4344: case 4346: case 4348: case 4350: case 4352: case 4354: case 4356: case 4358: case 4360: case 4362: case 4364: case 4366: case 4368: case 4370: case 4372: case 4374: case 4376: case 4378: case 4380: case 4382: case 4384: case 4386: case 4388: case 4390: case 4392: case 4394: case 4396: case 4398: case 4400: case 4402: case 4404: case 4406: case 4408: case 4410: case 4412: case 4414: case 4416: case 4418: case 4420: case 4422: case 4424: case 4426: case 4428: case 4430: case 4432: case 4434: case 4436: case 4438: case 4440: case 4442: case 4444: case 4446: case 4448: case 4450: case 4452: case 4454: case 4456: case 4458: case 4460: case 4462: case 4464: case 4466: case 4468: case 4470: case 4472: case 4474: case 4476: case 4478: case 4480: case 4482: case 4484: case 4486: case 4488: case 4490: case 4492: case 4494: case 4496: case 4498: case 4500: case 4502: case 4504: case 4506: case 4508: case 4510: case 4512: case 4514: case 4516: case 4518: case 4520: case 4522: case 4524: case 4526: case 4528: case 4530: case 4532: case 4534: case 4536: case 4538: case 4540: case 4542: case 4544: case 4546: case 4548: case 4550: case 4552: case 4554: case 4556: case 4558: case 4560: case 4562: case 4564: case 4566: case 4568: case 4570: case 4572: case 4574: case 4576: case 4578: case 4580: case 4582: case 4584: case 4586: case 4588: case 4590: case 4592: case 4594: case 4596: case 4598: case 4600: case 4602: case 4604: case 4606: case 4608: case 4610: case 4612: case 4614: case 4616: case 4618: case 4620: case 4622: case 4624: case 4626: case 4628: case 4630: case 4632: case 4634: case 4636: case 4638: case 4640: case 4642: case 4644: case 4646: case 4648: case 4650: case 4652: case 4654: case 4656: case 4658: case 4660: case 4662: case 4664: case 4666: case 4668: case 4670: case 4672: case 4674: case 4676: case 4678: case 4680: case 4682: case 4684: case 4686: case 4688: case 4690: case 4692: case 4694: case 4696: case 4698: case 4700: case 4702: case 4704: case 4706: case 4708: case 4710: case 4712: case 4714: case 4716: case 4718: case 4720: case 4722: case 4724: case 4726: case 4728: case 4730: case 4732: case 4734: case 4736: case 4738: case 4740: case 4742: case 4744: case 4746: case 4748: case 4750: case 4752: case 4754: case 4756: case 4758: case 4760: case 4762: case 4764: case 4766: case 4768: case 4770: case 4772: case 4774: case 4776: case 4778: case 4780: case 4782: case 4784: case 4786: case 4788: case 4790: case 4792: case 4794: case 4796: case 4798: case 4800: case 4802: case 4804: case 4806: case 4808: case 4810: case 4812: case 4814: case 4816: case 4818: case 4820: case 4822: case 4824: case 4826: case 4828: case 4830: case 4832: case 4834: case 4836: case 4838: case 4840: case 4842: case 4844: case 4846: case 4848: case 4850: case 4852: case 4854: case 4856: case 4858: case 4860: case 4862: case 4864: case 4866: case 4868: case 4870: case 4872: case 4874: case 4876: case 4878: case 4880: case 4882: case 4884: case 4886: case 4888: case 4890: case 4892: case 4894: case 4896: case 4898: case 4900: case 4902: case 4904: case 4906: case 4908: case 4910: case 4912: case 4914: case 4916: case 4918: case 4920: case 4922: case 4924: case 4926: case 4928: case 4930: case 4932: case 4934: case 4936: case 4938: case 4940: case 4942: case 4944: case 4946: case 4948: case 4950: case 4952: case 4954: case 4956: case 4958: case 4960: case 4962: case 4964: case 4966: case 4968: case 4970: case 4972: case 4974: case 4976: case 4978: case 4980: case 4982: case 4984: case 4986: case 4988: case 4990: case 4992: case 4994: case 4996: case 4998: case 5e3: case 5002: case 5004: case 5006: case 5008: case 5010: case 5012: case 5014: case 5016: case 5018: case 5020: case 5022: case 5024: case 5026: case 5028: case 5030: case 5032: case 5034: case 5036: case 5038: case 5040: case 5042: case 5044: case 5046: case 5048: case 5050: case 5052: case 5054: case 5056: case 5058: case 5060: case 5062: case 5064: case 5066: case 5068: case 5070: case 5072: case 5074: case 5076: case 5078: case 5080: case 5082: case 5084: case 5086: case 5088: case 5090: case 5092: case 5094: case 5096: case 5098: case 5100: case 5102: case 5104: case 5106: case 5108: case 5110: case 5112: case 5114: case 5116: case 5118: case 5120: case 5122: case 5124: case 5126: case 5128: case 5130: case 5132: case 5134: case 5136: case 5138: case 5140: case 5142: case 5144: case 5146: case 5148: case 5150: case 5152: case 5154: case 5156: case 5158: case 5160: case 5162: case 5164: case 5166: case 5168: case 5170: case 5172: case 5174: case 5176: case 5178: case 5180: case 5182: case 5184: case 5186: case 5188: case 5190: case 5192: case 5194: case 5196: case 5198: case 5200: case 5202: case 5204: case 5206: case 5208: case 5210: case 5212: case 5214: case 5216: case 5218: case 5220: case 5222: case 5224: case 5226: case 5228: case 5230: case 5232: case 5234: case 5236: case 5238: case 5240: case 5242: case 5244: case 5246: case 5248: case 5250: case 5252: case 5254: case 5256: case 5258: case 5260: case 5262: case 5264: case 5266: case 5268: case 5270: case 5272: case 5274: case 5276: case 5278: case 5280: case 5282: case 5284: case 5286: case 5288: case 5290: case 5292: case 5294: case 5296: case 5298: case 5300: case 5302: case 5304: case 5306: case 5308: case 5310: case 5312: case 5314: case 5316: case 5318: case 5320: case 5322: case 5324: case 5326: case 5328: case 5330: case 5332: case 5334: case 5336: case 5338: case 5340: case 5342: case 5344: case 5346: case 5348: case 5350: case 5352: case 5354: case 5356: case 5358: case 5360: case 5362: case 5364: case 5366: case 5368: case 5370: case 5372: case 5374: case 5376: case 5378: case 5380: case 5382: case 5384: case 5386: case 5388: case 5390: case 5392: case 5394: case 5396: case 5398: case 5400: case 5402: case 5404: case 5406: case 5408: case 5410: case 5412: case 5414: case 5416: case 5418: case 5420: case 5422: case 5424: case 5426: case 5428: case 5430: case 5432: case 5434: case 5436: case 5438: case 5440: case 5442: case 5444: case 5446: case 5448: case 5450: case 5452: case 5454: case 5456: case 5458: case 5460: case 5462: case 5464: case 5466: case 5468: case 5470: case 5472: case 5474: case 5476: case 5478: case 5480: case 5482: case 5484: case 5486: case 5488: case 5490: case 5492: case 5494: case 5496: case 5498: case 5500: case 5502: case 5504: case 5506: case 5508: case 5510: case 5512: case 5514: case 5516: case 5518: case 5520: case 5522: case 5524: case 5526: case 5528: case 5530: case 5532: case 5534: case 5536: case 5538: case 5540: case 5542: case 5544: case 5546: case 5548: case 5550: case 5552: case 5554: case 5556: case 5558: case 5560: case 5562: case 5564: case 5566: case 5568: case 5570: case 5572: case 5574: case 5576: case 5578: case 5580: case 5582: case 5584: case 5586: case 5588: case 5590: case 5592: case 5594: case 5596: case 5598: case 5600: case 5602: case 5604: case 5606: case 5608: case 5610: case 5612: case 5614: case 5616: case 5618: case 5620: case 5622: case 5624: case 5626: case 5628: case 5630: case 5632: case 5634: case 5636: case 5638: case 5640: case 5642: case 5644: case 5646: case 5648: case 5650: case 5652: case 5654: case 5656: case 5658: case 5660: case 5662: case 5664: case 5666: case 5668: case 5670: case 5672: case 5674: case 5676: case 5678: case 5680: case 5682: case 5684: case 5686: case 5688: case 5690: case 5692: case 5694: case 5696: case 5698: case 5700: case 5702: case 5704: case 5706: case 5708: case 5710: case 5712: case 5714: case 5716: case 5718: case 5720: case 5722: case 5724: case 5726: case 5728: case 5730: case 5732: case 5734: case 5736: case 5738: case 5740: case 5742: case 5744: case 5746: case 5748: case 5750: case 5752: case 5754: case 5756: case 5758: case 5760: case 5762: case 5764: case 5766: case 5768: case 5770: case 5772: case 5774: case 5776: case 5778: case 5780: case 5782: case 5784: case 5786: case 5788: case 5790: case 5792: case 5794: case 5796: case 5798: case 5800: case 5802: case 5804: case 5806: case 5808: case 5810: case 5812: case 5814: case 5816: case 5818: case 5820: case 5822: case 5824: case 5826: case 5828: case 5830: case 5832: case 5834: case 5836: case 5838: case 5840: case 5842: case 5844: case 5846: case 5848: case 5850: case 5852: case 5854: case 5856: case 5858: case 5860: case 5862: case 5864: case 5866: case 5868: case 5870: case 5872: case 5874: case 5876: case 5878: case 5880: case 5882: case 5884: case 5886: case 5888: case 5890: case 5892: case 5894: case 5896: case 5898: case 5900: case 5902: case 5904: case 5906: case 5908: case 5910: case 5912: case 5914: case 5916: case 5918: case 5920: case 5922: case 5924: case 5926: case 5928: case 5930: case 5932: case 5934: case 5936: case 5938: case 5940: case 5942: case 5944: case 5946: case 5948: case 5950: case 5952: case 5954: case 5956: case 5958: case 5960: case 5962: case 5964: case 5966: case 5968: case 5970: case 5972: case 5974: case 5976: case 5978: case 5980: case 5982: case 5984: case 5986: case 5988: case 5990: case 5992: case 5994: case 5996: case 5998: case 6e3: case 6002: case 6004: case 6006: case 6008: case 6010: case 6012: case 6014: case 6016: case 6018: case 6020: case 6022: case 6024: case 6026: case 6028: case 6030: case 6032: case 6034: case 6036: case 6038: case 6040: case 6042: case 6044: case 6046: case 6048: case 6050: case 6052: case 6054: case 6056: case 6058: case 6060: case 6062: case 6064: case 6066: case 6068: case 6070: case 6072: case 6074: case 6076: case 6078: case 6080: case 6082: case 6084: case 6086: case 6088: case 6090: case 6092: case 6094: case 6096: case 6098: case 6100: case 6102: case 6104: case 6106: case 6108: case 6110: case 6112: case 6114: case 6116: case 6118: case 6120: case 6122: case 6124: case 6126: case 6128: case 6130: case 6132: case 6134: case 6136: case 6138: case 6140: case 6142: case 6144: case 6146: case 6148: case 6150: case 6152: case 6154: case 6156: case 6158: case 6160: case 6162: case 6164: case 6166: case 6168: case 6170: case 6172: case 6174: case 6176: case 6178: case 6180: case 6182: case 6184: case 6186: case 6188: case 6190: case 6192: case 6194: case 6196: case 6198: case 6200: case 6202: case 6204: case 6206: case 6208: case 6210: case 6212: case 6214: case 6216: case 6218: case 6220: case 6222: case 6224: case 6226: case 6228: case 6230: case 6232: case 6234: case 6236: case 6238: case 6240: case 6242: case 6244: case 6246: case 6248: case 6250: case 6252: case 6254: case 6256: case 6258: case 6260: case 6262: case 6264: case 6266: case 6268: case 6270: case 6272: case 6274: case 6276: case 6278: case 6280: case 6282: case 6284: case 6286: case 6288: case 6290: case 6292: case 6294: case 6296: case 6298: case 6300: case 6302: case 6304: case 6306: case 6308: case 6310: case 6312: case 6314: case 6316: case 6318: case 6320: case 6322: case 6324: case 6326: case 6328: case 6330: case 6332: case 6334: case 6336: case 6338: case 6340: case 6342: case 6344: case 6346: case 6348: case 6350: case 6352: case 6354: case 6356: case 6358: case 6360: case 6362: case 6364: case 6366: case 6368: case 6370: case 6372: case 6374: case 6376: case 6378: case 6380: case 6382: case 6384: case 6386: case 6388: case 6390: case 6392: case 6394: case 6396: case 6398: case 6400: case 6402: case 6404: case 6406: case 6408: case 6410: case 6412: case 6414: case 6416: case 6418: case 6420: case 6422: case 6424: case 6426: case 6428: case 6430: case 6432: case 6434: case 6436: case 6438: case 6440: case 6442: case 6444: case 6446: case 6448: case 6450: case 6452: case 6454: case 6456: case 6458: case 6460: case 6462: case 6464: case 6466: case 6468: case 6470: case 6472: case 6474: case 6476: case 6478: case 6480: case 6482: case 6484: case 6486: case 6488: case 6490: case 6492: case 6494: case 6496: case 6498: case 6500: case 6502: case 6504: case 6506: case 6508: case 6510: case 6512: case 6514: case 6516: case 6518: case 6520: case 6522: case 6524: case 6526: case 6528: case 6530: case 6532: case 6534: case 6536: case 6538: case 6540: case 6542: case 6544: case 6546: case 6548: case 6550: case 6552: case 6554: case 6556: case 6558: case 6560: case 6562: case 6564: case 6566: case 6568: case 6570: case 6572: case 6574: case 6576: case 6578: case 6580: case 6582: case 6584: case 6586: case 6588: case 6590: case 6592: case 6594: case 6596: case 6598: case 6600: case 6602: case 6604: case 6606: case 6608: case 6610: case 6612: case 6614: case 6616: case 6618: case 6620: case 6622: case 6624: case 6626: case 6628: case 6630: case 6632: case 6634: case 6636: case 6638: case 6640: case 6642: case 6644: case 6646: case 6648: case 6650: case 6652: case 6654: case 6656: case 6658: case 6660: case 6662: case 6664: case 6666: case 6668: case 6670: case 6672: case 6674: case 6676: case 6678: case 6680: case 6682: case 6684: case 6686: case 6688: case 6690: case 6692: case 6694: case 6696: case 6698: case 6700: case 6702: case 6704: case 6706: case 6708: case 6710: case 6712: case 6714: case 6716: case 6718: case 6720: case 6722: case 6724: case 6726: case 6728: case 6730: case 6732: case 6734: case 6736: case 6738: case 6740: case 6742: case 6744: case 6746: case 6748: case 6750: case 6752: case 6754: case 6756: case 6758: case 6760: case 6762: case 6764: case 6766: case 6768: case 6770: case 6772: case 6774: case 6776: case 6778: case 6780: case 6782: case 6784: case 6786: case 6788: case 6790: case 6792: ca