summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h2225
1 files changed, 1129 insertions, 1096 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 95af6a6c..a9e093bf 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,416 +12,396 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[13650] = { 15static const unsigned char build_actionlist[13578] = {
16 254,1,248,10,137,202,137,90,252,252,139,157,233,15,182,139,233,68,139,187, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 233,139,108,36,16,141,12,202,59,141,233,15,135,244,11,15,182,139,233,57,200, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 15,134,244,249,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16, 18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199,
19 65,252,255,36,252,238,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134, 19 134,233,237,131,227,252,248,41,211,252,247,219,131,232,1,15,132,244,248,248,
20 244,3,252,233,244,2,248,12,137,89,252,252,141,28,197,237,141,148,253,25,233, 20 1,139,44,10,137,106,252,248,139,108,10,4,137,106,252,252,131,194,8,131,232,
21 137,106,252,248,137,90,252,252,139,157,233,15,182,171,233,68,141,60,252,234, 21 1,15,133,244,1,248,2,255,139,108,36,16,137,157,233,248,3,139,68,36,4,139,
22 139,108,36,16,68,59,189,233,15,135,244,13,137,208,15,182,171,233,133,252, 22 76,36,8,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,15,
23 237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,255,68,139,121,252, 23 72,139,76,36,32,72,137,141,233,49,192,248,16,72,131,196,40,65,94,65,95,91,
24 248,68,137,56,68,139,121,252,252,68,137,120,4,131,192,8,199,65,252,252,237, 24 93,195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,
25 131,252,237,1,15,133,244,1,248,2,68,139,187,233,255,139,3,15,182,204,15,182, 25 131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,
26 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,199,64,4,237,131,192, 26 20,202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232,
27 8,131,252,237,1,15,133,244,3,252,233,244,2,248,14,137,89,252,252,76,139,189, 27 251,1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18,
28 233,139,108,36,16,141,68,193,252,248,137,141,233,141,136,233,137,133,233, 28 139,108,36,16,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,231,
29 59,141,233,76,137,252,254,137,252,239,15,135,244,15,65,199,134,233,237,65, 29 239,72,137,252,252,248,20,139,108,36,16,72,199,193,252,248,252,255,252,255,
30 252,255,150,233,65,199,134,233,237,139,149,233,255,141,12,194,252,247,217, 30 252,255,184,237,255,139,149,233,68,139,181,233,65,129,198,239,139,90,252,
31 3,141,233,248,16,131,192,1,137,68,36,4,252,247,195,237,15,132,244,17,252, 31 252,199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,21,190,237,252,
32 233,244,18,248,19,137,89,252,252,76,139,189,233,139,108,36,16,141,68,193, 32 233,244,248,248,22,131,232,8,252,233,244,247,248,23,141,68,194,252,248,248,
33 252,248,137,141,233,141,136,233,137,133,233,59,141,233,137,252,239,15,135, 33 1,15,182,139,233,131,195,4,137,149,233,137,133,233,255,137,92,36,20,137,206,
34 244,15,65,199,134,233,237,65,252,255,215,65,199,134,233,237,139,149,233,255, 34 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,139,
35 141,12,194,252,247,217,3,141,233,248,16,131,192,1,137,68,36,4,252,247,195, 35 90,252,252,41,208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,
36 237,15,132,244,17,248,18,252,247,195,237,15,132,244,20,65,199,134,233,237, 36 182,205,131,195,4,65,252,255,36,252,238,248,24,85,83,65,87,65,86,72,131,252,
37 131,227,252,248,41,211,252,247,219,131,232,1,15,132,244,248,248,1,139,44, 37 236,40,137,252,253,137,124,36,16,137,252,241,187,237,49,192,76,141,188,253,
38 10,137,106,252,248,139,108,10,4,137,106,252,252,131,194,8,131,232,1,15,133, 38 36,233,68,139,181,233,65,129,198,239,76,137,189,233,137,68,36,20,72,137,68,
39 244,1,248,2,139,108,36,16,137,157,233,248,3,139,68,36,4,139,76,36,8,248,4, 39 36,32,137,68,36,8,137,68,36,12,56,133,233,15,132,244,249,65,199,134,233,237,
40 255,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,21,72,139,76, 40 136,133,233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,
41 36,32,72,137,141,233,49,192,248,22,72,131,196,40,65,94,65,95,91,93,195,248, 41 90,252,252,137,68,36,4,252,247,195,237,15,132,244,13,255,252,233,244,14,248,
42 6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,131,194,8,131, 42 25,85,83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,12,252,233,244,247,
43 192,1,252,233,244,4,248,7,133,201,15,132,244,5,41,193,141,20,202,252,233, 43 248,26,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36,8,137,
44 244,5,248,8,255,137,149,233,137,68,36,4,137,206,137,252,239,232,251,1,0,139, 44 252,253,137,124,36,16,137,252,241,248,2,76,139,189,233,76,137,124,36,32,137,
45 149,233,252,233,244,3,248,23,137,252,240,72,137,252,252,248,24,139,108,36, 45 108,36,20,72,137,165,233,68,139,181,233,65,129,198,239,248,3,65,199,134,233,
46 16,139,173,233,199,133,233,237,252,233,244,22,248,25,72,129,231,239,72,137, 46 237,139,149,233,1,203,41,211,139,133,233,41,200,193,232,3,131,192,1,248,27,
47 252,252,248,26,139,108,36,16,72,199,193,252,248,252,255,252,255,252,255,184, 47 255,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,29,137,202,
48 237,139,149,233,68,139,181,233,65,129,198,239,139,90,252,252,199,66,252,252, 48 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,
49 237,65,199,134,233,237,255,252,233,244,16,248,20,252,247,195,237,15,132,244, 49 252,255,36,252,238,248,30,85,83,65,87,65,86,72,131,252,236,40,137,252,253,
50 27,131,227,252,248,41,218,72,141,76,25,252,248,139,90,252,252,199,68,10,4, 50 137,124,36,16,137,108,36,20,68,139,189,233,68,43,189,233,199,68,36,12,0,0,
51 237,252,233,244,16,248,15,190,237,252,233,244,247,248,13,137,202,248,11,141, 51 0,0,68,137,124,36,8,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,
52 68,194,252,248,15,182,139,233,131,195,4,137,149,233,137,133,233,137,92,36, 52 209,133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,
53 20,137,206,248,1,137,252,239,232,251,1,0,139,141,233,255,139,133,233,139, 53 227,252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,
54 105,252,248,139,89,252,252,41,200,193,232,3,131,192,1,252,255,165,233,248, 54 72,99,77,252,240,76,141,61,245,76,1,252,249,68,139,122,252,248,69,139,191,
55 28,85,83,65,87,65,86,72,131,252,236,40,137,252,253,137,124,36,16,137,252, 55 233,255,69,139,191,233,252,255,225,248,31,15,182,75,252,255,131,252,237,16,
56 241,187,237,49,192,76,141,188,253,36,233,68,139,181,233,65,129,198,239,76, 56 141,12,202,41,252,233,15,132,244,32,252,247,217,193,252,233,3,139,124,36,
57 137,189,233,137,68,36,20,72,137,68,36,32,137,68,36,8,137,68,36,12,56,133, 57 16,137,151,233,137,202,139,72,4,139,0,137,77,4,137,69,0,137,252,238,252,233,
58 233,15,132,244,249,65,199,134,233,237,136,133,233,139,149,233,139,133,233, 58 244,33,248,34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,
59 41,200,193,232,3,131,192,1,41,209,139,90,252,252,137,68,36,4,252,247,195, 59 133,244,247,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,
60 237,15,132,244,17,252,233,244,18,248,29,255,85,83,65,87,65,86,72,131,252, 60 35,15,182,67,252,254,255,252,242,15,42,192,252,242,15,17,4,36,255,72,141,
61 236,40,187,237,137,76,36,12,252,233,244,247,248,30,85,83,65,87,65,86,72,131, 61 4,36,252,233,244,247,248,36,15,182,67,252,254,141,4,194,248,1,15,182,107,
62 252,236,40,187,237,248,1,137,84,36,8,137,252,253,137,124,36,16,137,252,241, 62 252,255,141,44,252,234,248,2,139,124,36,16,137,151,233,137,252,238,72,137,
63 248,2,76,139,189,233,76,137,124,36,32,137,108,36,20,72,137,165,233,68,139, 63 194,137,252,253,137,92,36,20,232,251,1,1,139,149,233,133,192,15,132,244,249,
64 181,233,65,129,198,239,248,3,65,199,134,233,237,139,149,233,1,203,41,211, 64 248,32,15,182,75,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139,3,15,
65 139,133,233,41,200,193,232,3,131,192,1,139,105,252,248,129,121,253,252,252, 65 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,
66 239,15,133,244,31,252,255,165,233,248,32,255,85,83,65,87,65,86,72,131,252, 66 233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244,
67 236,40,137,252,253,137,124,36,16,137,108,36,20,68,139,189,233,68,43,189,233, 67 29,248,37,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,
68 199,68,36,12,0,0,0,0,68,137,124,36,8,76,139,189,233,76,137,124,36,32,72,137, 68 244,247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,
69 165,233,252,255,209,133,192,15,132,244,21,137,193,187,237,252,233,244,2,248, 69 38,15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,39,15,182,67,252,
70 27,1,209,131,227,252,248,137,213,41,218,199,68,193,252,252,237,137,200,139, 70 254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,16,
71 93,252,244,72,99,77,252,240,76,141,61,245,76,1,252,249,68,139,122,252,248, 71 137,151,233,137,252,238,72,137,194,137,252,253,137,92,36,20,232,251,1,2,139,
72 69,139,191,233,69,139,191,233,252,255,225,248,33,15,182,75,252,255,131,252, 72 149,233,133,192,15,132,244,249,15,182,75,252,253,139,108,202,4,139,12,202,
73 237,16,141,12,202,41,252,233,15,132,244,34,252,247,217,193,252,233,3,139, 73 137,104,4,137,8,248,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
74 124,36,16,137,151,233,137,202,139,72,4,139,0,137,77,4,137,69,0,137,252,238, 74 252,255,36,252,238,248,3,139,141,233,137,89,252,244,15,182,67,252,253,139,
75 252,233,244,35,248,36,255,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252, 75 108,194,4,139,4,194,137,105,20,137,65,16,141,153,233,41,211,139,105,252,248,
76 252,235,15,133,244,247,65,141,142,233,137,41,199,65,4,237,137,205,252,233, 76 184,237,252,233,244,29,248,41,139,108,36,16,137,149,233,141,52,202,141,20,
77 244,248,248,37,15,182,67,252,254,255,252,242,15,42,192,252,242,15,17,4,36, 77 194,137,252,239,15,182,75,252,252,137,92,36,20,232,251,1,3,248,3,139,149,
78 255,72,141,4,36,252,233,244,247,248,38,15,182,67,252,254,141,4,194,248,1, 78 233,255,131,252,248,1,15,135,244,42,248,4,141,91,4,15,130,244,252,248,5,15,
79 15,182,107,252,255,141,44,252,234,248,2,139,124,36,16,137,151,233,137,252, 79 183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15,182,232,131,
80 238,72,137,194,137,252,253,137,92,36,20,232,251,1,1,139,149,233,133,192,15, 80 195,4,193,232,16,65,252,255,36,252,238,248,43,131,195,4,129,120,253,4,239,
81 132,244,249,248,34,15,182,75,252,253,139,104,4,139,0,137,108,202,4,137,4, 81 15,130,244,5,252,233,244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,
82 202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 82 131,252,235,4,137,206,137,252,233,139,108,36,16,137,149,233,255,137,194,137,
83 248,3,139,141,233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,3, 83 252,239,137,92,36,20,232,251,1,4,252,233,244,3,248,46,65,141,4,199,252,233,
84 0,0,0,252,255,165,233,248,39,137,4,36,199,68,36,4,237,72,141,4,36,128,123, 84 244,247,248,47,65,141,4,199,141,44,252,234,149,252,233,244,248,248,48,141,
85 252,252,235,15,133,244,247,65,141,142,233,255,137,41,199,65,4,237,137,205, 85 4,194,137,197,252,233,244,248,248,49,141,4,194,248,1,141,44,252,234,248,2,
86 252,233,244,248,248,40,15,182,67,252,254,255,72,141,4,36,252,233,244,247, 86 141,12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,16,137,151,233,
87 248,41,15,182,67,252,254,141,4,194,248,1,15,182,107,252,255,141,44,252,234, 87 137,252,234,137,252,253,137,92,36,20,232,251,1,5,139,149,233,133,192,15,132,
88 248,2,139,124,36,16,137,151,233,137,252,238,72,137,194,137,252,253,137,92, 88 244,40,248,42,137,193,41,208,137,89,252,244,141,152,233,255,184,237,252,233,
89 36,20,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,75,252,253,139, 89 244,27,248,50,139,108,36,16,137,149,233,141,52,194,137,252,239,137,92,36,
90 108,202,4,139,12,202,137,104,4,137,8,248,42,139,3,15,182,204,15,182,232,131, 90 20,232,251,1,6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28,137,
91 195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,15, 91 76,36,4,137,4,36,131,252,233,8,139,108,36,16,137,149,233,137,206,141,20,193,
92 182,67,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,153,233,41, 92 137,252,239,137,92,36,20,232,251,1,7,139,149,233,139,76,36,4,139,4,36,139,
93 211,139,105,252,248,184,4,0,0,0,252,255,165,233,248,43,139,108,36,16,137, 93 105,252,248,131,192,1,65,57,215,15,132,244,52,137,202,137,90,252,252,139,
94 149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252,137,92,36,20, 94 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
95 232,251,1,3,248,3,139,149,233,131,252,248,1,15,135,244,44,248,4,255,141,91, 95 248,53,139,108,36,16,137,149,233,137,206,137,252,239,137,92,36,20,232,251,
96 4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233,248,6,139,3, 96 1,8,139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,
97 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,45,131, 97 164,253,252,238,233,248,54,255,129,252,248,239,15,130,244,55,139,106,4,129,
98 195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,46,129,120,253,4,239, 98 252,253,239,15,131,244,55,139,90,252,252,137,68,36,4,137,106,252,252,139,
99 252,233,244,4,248,47,131,252,235,4,137,206,137,252,233,139,108,36,16,137, 99 42,137,106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,
100 149,233,137,194,137,252,239,137,92,36,20,232,251,1,4,252,233,244,3,248,48, 100 4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,
101 255,65,141,4,199,252,233,244,247,248,49,65,141,4,199,141,44,252,234,149,252, 101 68,36,4,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,184,
102 233,244,248,248,50,141,4,194,137,197,252,233,244,248,248,51,141,4,194,248, 102 237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,
103 1,141,44,252,234,248,2,141,12,202,68,15,182,67,252,252,137,206,137,193,139, 103 139,106,252,248,139,132,253,197,233,139,90,252,252,199,66,252,252,237,137,
104 124,36,16,137,151,233,137,252,234,137,252,253,137,92,36,20,232,251,1,5,139, 104 66,252,248,252,233,244,58,248,59,129,252,248,239,15,130,244,55,139,106,4,
105 149,233,133,192,15,132,244,42,248,44,137,193,41,208,137,89,252,244,141,152, 105 139,90,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,
106 233,139,105,252,248,184,3,0,0,0,129,121,253,252,252,239,15,133,244,31,255, 106 2,133,252,237,199,66,252,252,237,15,132,244,58,65,139,134,233,199,66,252,
107 252,255,165,233,248,52,139,108,36,16,137,149,233,141,52,194,137,252,239,137, 107 252,237,137,106,252,248,139,141,233,255,35,136,233,105,201,239,3,141,233,
108 92,36,20,232,251,1,6,139,149,233,252,233,244,44,248,31,137,76,36,4,137,4, 108 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,
109 36,131,252,233,8,139,108,36,16,137,149,233,137,206,141,20,193,137,252,239, 109 137,233,133,201,15,133,244,3,252,233,244,58,248,5,139,105,4,129,252,253,239,
110 137,92,36,20,232,251,1,7,139,149,233,139,76,36,4,139,4,36,139,105,252,248, 110 15,132,244,58,255,139,1,137,106,252,252,137,66,252,248,252,233,244,58,248,
111 131,192,1,65,57,215,15,132,244,53,252,255,165,233,248,54,139,108,36,16,137, 111 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,
112 149,233,137,206,137,252,239,137,92,36,20,232,251,1,8,139,149,233,139,67,252, 112 7,252,247,213,65,139,172,253,174,233,252,233,244,2,248,60,129,252,248,239,
113 252,15,182,204,15,182,232,193,232,16,65,252,255,164,253,252,238,233,248,55, 113 15,130,244,55,129,122,253,4,239,15,133,244,55,255,139,42,131,189,233,0,15,
114 129,252,248,239,15,130,244,56,255,139,105,4,129,252,253,239,15,131,244,56, 114 133,244,55,129,122,253,12,239,15,133,244,55,139,66,8,137,133,233,139,90,252,
115 137,68,36,4,137,105,252,252,139,41,137,105,252,248,131,232,2,15,132,244,248, 115 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,
116 137,12,36,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137,105,252,248, 116 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,
117 131,232,1,15,133,244,1,139,12,36,248,2,139,68,36,4,252,233,244,57,248,58, 117 58,248,61,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,
118 129,252,248,239,15,130,244,56,139,105,4,184,237,252,247,213,57,232,255,15, 118 55,137,213,139,50,141,82,8,139,124,36,16,232,251,1,9,137,252,234,139,40,139,
119 71,197,255,15,134,244,247,137,232,248,1,255,139,105,252,248,139,132,253,197, 119 64,4,139,90,252,252,137,106,252,248,137,66,252,252,252,233,244,58,248,62,
120 233,199,65,252,252,237,137,65,252,248,252,233,244,59,248,60,129,252,248,239, 120 129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55,255,252,242,
121 15,130,244,56,139,105,4,129,252,253,239,15,133,244,252,248,1,139,41,139,173, 121 15,16,2,252,233,244,63,255,221,2,252,233,244,64,255,248,65,129,252,248,239,
122 233,248,2,133,252,237,199,65,252,252,237,15,132,244,59,139,65,252,248,65, 122 15,130,244,55,139,90,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,
123 139,134,233,199,65,252,252,237,137,105,252,248,137,12,36,139,141,233,255, 123 199,66,252,252,237,137,66,252,248,252,233,244,58,248,3,129,122,253,4,239,
124 35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57, 124 15,135,244,55,65,131,190,233,0,15,133,244,55,65,139,174,233,65,59,174,233,
125 129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,252,233,244, 125 255,15,130,244,247,232,244,66,248,1,139,108,36,16,137,149,233,137,92,36,20,
126 59,248,5,139,105,4,129,252,253,239,15,132,244,59,255,139,1,139,12,36,137, 126 137,214,137,252,239,232,251,1,10,139,149,233,252,233,244,2,248,67,129,252,
127 105,252,252,137,65,252,248,252,233,244,59,248,6,129,252,253,239,15,132,244, 127 248,239,15,130,244,55,15,132,244,248,248,1,129,122,253,4,239,15,133,244,55,
128 1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,65,139,172,253, 128 139,108,36,16,137,149,233,255,139,90,252,252,139,50,141,82,8,137,252,239,
129 174,233,252,233,244,2,248,61,129,252,248,239,15,130,244,56,129,121,253,4, 129 137,92,36,20,232,251,1,11,139,149,233,133,192,15,132,244,249,139,106,8,139,
130 239,15,133,244,56,255,139,41,131,189,233,0,15,133,244,56,129,121,253,12,239, 130 66,12,137,106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,
131 15,133,244,56,139,65,8,137,133,233,199,65,252,252,237,137,105,252,248,252, 131 248,68,184,237,252,233,244,69,248,2,199,66,12,237,252,233,244,1,248,3,199,
132 246,133,233,235,15,132,244,247,128,165,233,235,65,139,134,233,65,137,174, 132 66,252,252,237,252,233,244,58,248,70,129,252,248,239,15,130,244,55,139,106,
133 233,137,133,233,248,1,252,233,244,59,248,62,255,129,252,248,239,15,130,244, 133 252,248,129,122,253,4,239,255,15,133,244,55,139,133,233,139,90,252,252,199,
134 56,129,121,253,4,239,15,133,244,56,137,20,36,137,205,139,49,141,81,8,139, 134 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,69,248,71,
135 124,36,16,232,251,1,9,137,252,233,139,20,36,139,40,139,64,4,137,105,252,248, 135 129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,129,122,253,
136 137,65,252,252,252,233,244,59,248,63,129,252,248,239,15,133,244,56,129,121, 136 12,239,15,135,244,55,139,90,252,252,255,252,242,15,16,66,8,72,189,237,237,
137 253,4,239,15,135,244,56,255,252,242,15,16,1,252,233,244,64,255,221,1,252, 137 102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,
138 233,244,65,255,248,66,129,252,248,239,15,130,244,56,129,121,253,4,239,15, 138 248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,
139 133,244,249,139,1,248,2,199,65,252,252,237,137,65,252,248,252,233,244,59, 139 253,4,239,15,132,244,72,139,40,139,64,4,137,42,137,66,4,252,233,244,68,248,
140 248,3,129,121,253,4,239,15,135,244,56,65,131,190,233,0,15,133,244,56,65,139, 140 2,131,189,233,0,15,132,244,72,137,252,239,137,213,137,198,232,251,1,12,137,
141 174,233,65,59,174,233,255,15,130,244,247,232,244,67,248,1,139,108,36,16,137, 141 252,234,133,192,15,133,244,1,248,72,184,237,252,233,244,69,248,73,255,129,
142 141,233,137,89,252,252,137,92,36,20,137,20,36,137,206,137,252,239,232,251, 142 252,248,239,15,130,244,55,139,106,252,248,129,122,253,4,239,15,133,244,55,
143 1,10,139,141,233,139,20,36,252,233,244,2,248,68,129,252,248,239,15,130,244, 143 139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,
144 56,15,132,244,248,248,1,129,121,253,4,239,15,133,244,56,137,20,36,139,49, 144 252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,69,248,
145 139,108,36,16,137,141,233,255,137,89,252,252,141,81,8,137,252,239,137,92, 145 74,129,252,248,239,15,130,244,55,141,74,8,131,232,1,187,237,248,1,65,15,182,
146 36,20,232,251,1,11,139,141,233,139,20,36,133,192,15,132,244,249,139,105,8, 146 174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,27,248,75,129,252,
147 139,65,12,137,105,252,248,137,65,252,252,139,105,16,139,65,20,137,41,137, 147 248,239,15,130,244,55,129,122,253,12,239,15,133,244,55,255,139,106,4,137,
148 65,4,248,69,184,237,252,233,244,70,248,2,199,65,12,237,252,233,244,1,248, 148 106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,
149 3,199,65,252,252,237,252,233,244,59,248,71,129,252,248,239,15,130,244,56, 149 187,237,252,233,244,1,248,76,129,252,248,239,15,130,244,55,139,42,139,90,
150 129,121,253,4,239,255,15,133,244,56,139,133,233,199,65,252,252,237,137,65, 150 252,252,137,92,36,20,137,44,36,129,122,253,4,239,15,133,244,55,72,131,189,
151 252,248,199,65,12,237,184,237,252,233,244,70,248,72,129,252,248,239,15,130, 151 233,0,15,133,244,55,128,189,233,235,15,135,244,55,139,141,233,15,132,244,
152 244,56,129,121,253,4,239,15,133,244,56,129,121,253,12,239,15,135,244,56,255, 152 247,255,59,141,233,15,132,244,55,248,1,141,92,193,252,240,59,157,233,15,135,
153 252,242,15,16,65,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252, 153 244,55,137,157,233,139,108,36,16,137,149,233,131,194,8,137,149,233,141,108,
154 242,15,45,192,252,242,15,17,65,252,248,255,139,41,59,133,233,15,131,244,248, 154 194,232,72,41,221,57,203,15,132,244,249,248,2,139,68,43,4,137,67,252,252,
155 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,73,139,40,139,64,4, 155 139,4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,
156 137,41,137,65,4,252,233,244,69,248,2,131,189,233,0,15,132,244,73,137,20,36, 156 60,36,232,244,24,65,199,134,233,237,255,139,108,36,16,139,28,36,139,149,233,
157 137,252,239,137,205,137,198,232,251,1,12,137,252,233,139,20,36,133,192,15, 157 129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,
158 133,244,1,248,73,184,237,252,233,244,70,248,74,255,129,252,248,239,15,130, 158 68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,
159 244,56,129,121,253,4,239,15,133,244,56,139,133,233,199,65,252,252,237,137, 159 135,244,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,
160 65,252,248,255,15,87,192,252,242,15,17,65,8,255,217,252,238,221,89,8,255, 160 193,8,68,57,252,249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,248,7,
161 184,237,252,233,244,70,248,75,129,252,248,239,15,130,244,56,137,89,252,252, 161 139,92,36,20,137,68,36,4,72,199,193,252,248,252,255,252,255,252,255,252,247,
162 187,237,137,202,131,193,8,131,232,1,139,105,252,248,248,1,65,252,246,134, 162 195,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139,
163 233,235,15,133,244,249,248,2,129,121,253,252,252,239,15,133,244,31,252,255, 163 233,131,252,233,8,137,139,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,
164 165,233,248,3,131,195,1,252,233,244,2,248,76,255,129,252,248,239,15,130,244, 164 244,7,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,
165 56,129,121,253,12,239,15,133,244,56,137,89,252,252,139,105,4,137,105,12,199, 165 149,233,252,233,244,4,248,77,139,106,252,248,139,173,233,139,90,252,252,137,
166 65,4,237,139,41,139,89,8,137,105,8,137,25,187,237,137,202,129,193,239,131, 166 92,36,20,137,44,36,72,131,189,233,0,15,133,244,55,255,128,189,233,235,15,
167 232,2,252,233,244,1,248,9,139,92,36,20,252,233,244,56,248,77,129,252,248, 167 135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,
168 239,15,130,244,56,139,41,137,89,252,252,137,92,36,20,137,44,36,129,121,253, 168 92,193,252,248,59,157,233,15,135,244,55,137,157,233,139,108,36,16,137,149,
169 4,239,15,133,244,9,255,72,131,189,233,0,15,133,244,9,128,189,233,235,15,135, 169 233,137,149,233,141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,
170 244,9,139,157,233,137,92,36,4,15,132,244,247,59,157,233,15,132,244,9,248, 170 255,139,68,43,4,137,67,252,252,139,4,43,137,67,252,248,131,252,235,8,57,203,
171 1,141,92,195,252,240,59,157,233,15,135,244,9,137,157,233,139,108,36,16,137, 171 15,133,244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,139,108,
172 141,233,131,193,8,137,141,233,255,139,108,36,4,141,76,193,232,72,41,217,57, 172 36,16,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,
173 252,235,15,132,244,249,248,2,139,68,11,4,137,67,252,252,139,4,11,137,67,252, 173 233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,
174 248,131,252,235,8,57,252,235,15,133,244,2,248,3,139,60,36,139,116,36,4,232, 174 26,193,252,235,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,139,
175 244,28,65,199,134,233,237,139,108,36,16,139,28,36,139,149,233,129,252,248, 175 1,137,4,41,139,65,4,137,68,41,4,131,193,8,68,57,252,249,15,133,244,5,248,
176 239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68,137,252, 176 6,141,67,1,248,7,139,92,36,20,137,68,36,4,49,201,252,247,195,237,15,132,244,
177 251,41,203,15,132,244,252,255,141,4,26,193,252,235,3,59,133,233,15,135,244, 177 13,252,233,244,14,248,8,137,222,137,252,239,232,251,1,13,248,9,139,12,36,
178 255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8, 178 68,137,185,233,137,222,137,252,239,232,251,1,0,139,149,233,252,233,244,4,
179 68,57,252,249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,248,7,139,92, 179 248,78,139,108,36,16,72,252,247,133,233,237,15,132,244,55,255,137,149,233,
180 36,20,137,68,36,4,72,199,193,252,248,252,255,252,255,252,255,252,247,195, 180 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,
181 237,15,132,244,17,252,233,244,18,248,8,199,66,252,252,237,139,139,233,131, 181 252,233,244,16,255,248,64,139,90,252,252,221,90,252,248,252,233,244,58,248,
182 252,233,8,137,139,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7, 182 79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,
183 248,9,255,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,149, 183 15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,63,139,90,252,252,
184 233,252,233,244,4,248,9,139,92,36,20,252,233,244,56,248,78,139,173,233,137, 184 252,242,15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,129,122,
185 89,252,252,137,92,36,20,137,44,36,72,131,189,233,0,15,133,244,9,128,189,233, 185 253,4,239,15,135,244,55,221,2,217,225,248,63,248,64,139,90,252,252,221,90,
186 235,15,135,244,9,139,157,233,137,92,36,4,15,132,244,247,59,157,233,255,15, 186 252,248,255,248,58,184,237,248,69,137,68,36,4,248,56,252,247,195,237,15,133,
187 132,244,9,248,1,141,92,195,252,248,59,157,233,15,135,244,9,137,157,233,139, 187 244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,252,247,209,
188 108,36,16,137,141,233,137,141,233,139,108,36,4,141,76,193,252,240,72,41,217, 188 141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
189 57,252,235,15,132,244,249,248,2,139,68,11,4,137,67,252,252,139,4,11,137,67, 189 252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,
190 252,248,131,252,235,8,57,252,235,15,133,244,2,248,3,139,60,36,139,116,36, 190 193,252,248,252,255,252,255,252,255,252,233,244,14,255,248,80,129,252,248,
191 4,232,244,28,65,199,134,233,237,139,108,36,16,139,28,36,139,149,233,255,129, 191 239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,
192 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, 192 244,63,248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
193 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, 193 55,252,242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15,
194 244,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193, 194 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,
195 8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,20,137,68,36, 195 233,244,63,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
196 4,49,201,252,247,195,237,15,132,244,17,255,252,233,244,18,248,8,137,222,137, 196 135,244,55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130,
197 252,239,232,251,1,13,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232, 197 244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248,
198 251,1,0,139,149,233,252,233,244,4,248,79,139,108,36,16,137,89,252,252,72, 198 83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
199 252,247,133,233,237,15,132,244,56,137,141,233,141,68,193,252,248,137,133, 199 2,232,244,84,252,233,244,64,255,248,85,129,252,248,239,15,130,244,55,129,
200 233,49,192,72,137,133,233,176,235,136,133,233,252,233,244,22,255,248,65,221, 200 122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,241,252,233,244,64,
201 89,252,248,252,233,244,59,248,80,129,252,248,239,15,130,244,56,129,121,253, 201 248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,
202 4,239,15,135,244,56,252,242,15,16,1,72,184,237,237,102,72,15,110,200,15,84, 202 252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,248,239,255,15,130,
203 193,248,64,252,242,15,17,65,252,248,255,248,80,129,252,248,239,15,130,244, 203 244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,244,64,248,
204 56,129,121,253,4,239,15,135,244,56,221,1,217,225,248,64,248,65,221,89,252, 204 89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,
205 248,255,248,59,184,237,248,70,137,68,36,4,248,57,252,247,195,237,15,133,244, 205 252,254,252,233,244,64,248,90,129,252,248,239,255,15,130,244,55,129,122,253,
206 253,248,5,56,67,252,255,15,135,244,252,139,3,15,182,204,15,182,232,131,195, 206 4,239,15,135,244,55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239,
207 4,193,232,16,65,252,255,36,252,238,248,6,199,68,193,252,244,237,131,192,1, 207 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,
208 252,233,244,5,248,7,137,202,72,199,193,252,248,252,255,252,255,252,255,252, 208 233,244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15,
209 233,244,18,255,248,81,129,252,248,239,15,130,244,56,129,121,253,4,239,15, 209 135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,
210 135,244,56,252,242,15,81,1,252,233,244,64,248,82,129,252,248,239,15,130,244, 210 252,233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
211 56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,232,244,83,252,233,244, 211 135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,
212 64,248,84,255,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 212 252,243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4,
213 56,252,242,15,16,1,232,244,85,252,233,244,64,255,248,81,129,252,248,239,15, 213 239,15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95,
214 130,244,56,129,121,253,4,239,15,135,244,56,221,1,217,252,250,252,233,244, 214 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,
215 65,248,82,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,221, 215 16,2,255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248,96,129,252,
216 1,232,244,83,252,233,244,65,248,84,255,129,252,248,239,15,130,244,56,129, 216 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,
217 121,253,4,239,15,135,244,56,221,1,232,244,85,252,233,244,65,255,248,86,129, 217 137,213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129,252,248,239,
218 252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,217,252,237,221, 218 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,213,
219 1,217,252,241,252,233,244,65,248,87,129,252,248,239,15,130,244,56,129,121, 219 232,251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129,252,248,239,
220 253,4,239,15,135,244,56,217,252,236,221,1,217,252,241,252,233,244,65,248, 220 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252,
221 88,129,252,248,239,255,15,130,244,56,129,121,253,4,239,15,135,244,56,221, 221 248,252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248,239,15,130,
222 1,232,244,89,252,233,244,65,248,90,129,252,248,239,15,130,244,56,129,121, 222 244,55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220,141,233,
223 253,4,239,15,135,244,56,221,1,217,252,254,252,233,244,65,248,91,129,252,248, 223 252,233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122,253,4,239,
224 239,255,15,130,244,56,129,121,253,4,239,15,135,244,56,221,1,217,252,255,252, 224 15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243,
225 233,244,65,248,92,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135, 225 252,233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
226 244,56,221,1,217,252,242,221,216,252,233,244,65,248,93,129,252,248,239,15, 226 135,244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253,
227 130,244,56,255,129,121,253,4,239,15,135,244,56,221,1,217,192,216,200,217, 227 221,217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139,106,4,129,
228 232,222,225,217,252,250,217,252,243,252,233,244,65,248,94,129,252,248,239, 228 252,253,239,15,135,244,55,139,90,252,252,139,2,137,106,252,252,137,66,252,
229 15,130,244,56,129,121,253,4,239,15,135,244,56,221,1,217,192,216,200,217,232, 229 248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,
230 222,225,217,252,250,217,201,217,252,243,252,233,244,65,248,95,129,252,248, 230 184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,
231 239,15,130,244,56,129,121,253,4,239,15,135,244,56,255,221,1,217,232,217,252, 231 41,197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129,
232 243,252,233,244,65,255,248,96,129,252,248,239,15,130,244,56,129,121,253,4, 232 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,
233 239,15,135,244,56,252,242,15,16,1,255,137,12,36,137,213,232,251,1,14,139, 233 242,15,17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15,87,192,252,
234 12,36,137,252,234,252,233,244,64,255,248,97,129,252,248,239,15,130,244,56, 234 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72,
235 129,121,253,4,239,15,135,244,56,252,242,15,16,1,255,137,12,36,137,213,232, 235 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248,
236 251,1,15,139,12,36,137,252,234,252,233,244,64,255,248,98,129,252,248,239, 236 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252,
237 15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,255,137,12, 237 184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239,15,130,244,
238 36,137,213,232,251,1,16,139,12,36,137,252,234,252,233,244,64,248,99,255,248, 238 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103,129,252,248,
239 100,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242, 239 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139,106,4,139,
240 15,16,1,252,242,15,89,133,233,252,233,244,64,255,248,100,129,252,248,239, 240 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,
241 15,130,244,56,129,121,253,4,239,15,135,244,56,221,1,220,141,233,252,233,244, 241 232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,
242 65,255,248,101,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 242 34,255,217,192,232,244,104,220,252,233,248,1,221,90,252,248,221,26,255,139,
243 56,129,121,253,12,239,15,135,244,56,221,1,221,65,8,217,252,243,252,233,244, 243 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,69,248,
244 65,248,102,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56, 244 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
245 129,121,253,12,239,255,15,135,244,56,221,65,8,221,1,217,252,253,221,217,252, 245 244,1,255,217,252,238,217,201,252,233,244,1,255,248,105,129,252,248,239,15,
246 233,244,65,248,103,129,252,248,239,15,130,244,56,139,105,4,129,252,253,239, 246 130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
247 15,135,244,56,139,1,137,105,252,252,137,65,252,248,209,229,129,252,253,0, 247 55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
248 0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252, 248 233,244,64,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
249 253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42, 249 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,
250 197,255,137,44,36,219,4,36,255,139,105,252,252,129,229,252,255,252,255,15, 250 74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239,15,130,244,55,
251 128,129,205,0,0,224,63,137,105,252,252,248,2,255,252,242,15,17,1,255,221, 251 129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,
252 25,255,184,237,252,233,244,70,248,3,255,15,87,192,252,233,244,2,255,217,252, 252 66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239,15,130,244,55,
253 238,252,233,244,2,255,252,242,15,16,1,72,189,237,237,102,72,15,110,205,252, 253 129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,
254 242,15,89,193,252,242,15,17,65,252,248,255,221,1,199,4,36,0,0,128,90,216, 254 15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252,242,15,16,
255 12,36,221,89,252,248,255,139,105,252,252,184,52,4,0,0,209,229,252,233,244, 255 76,252,234,252,248,252,242,15,93,193,131,197,1,252,233,244,1,255,248,109,
256 1,255,248,104,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 256 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,
257 56,252,242,15,16,1,255,248,104,129,252,248,239,15,130,244,56,129,121,253, 257 16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,
258 4,239,15,135,244,56,221,1,255,139,105,4,209,229,129,252,253,0,0,224,252,255, 258 15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,15,95,193,131,197,
259 15,132,244,250,255,15,40,224,232,244,105,252,242,15,92,224,248,1,252,242, 259 1,252,233,244,1,255,248,5,221,216,252,233,244,55,255,248,110,129,252,248,
260 15,17,65,252,248,252,242,15,17,33,255,217,192,232,244,105,220,252,233,248, 260 239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,42,255,252,242,15,42,
261 1,221,89,252,248,221,25,255,139,65,252,252,139,105,4,49,232,15,136,244,249, 261 133,233,252,233,244,63,255,219,133,233,252,233,244,64,255,248,111,129,252,
262 248,2,184,237,252,233,244,70,248,3,129,252,245,0,0,0,128,137,105,4,252,233, 262 248,239,15,133,244,55,129,122,253,4,239,15,133,244,55,139,42,139,90,252,252,
263 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 263 131,189,233,1,15,130,244,72,15,182,173,233,255,252,242,15,42,197,252,233,
264 1,255,248,106,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 264 244,63,255,137,44,36,219,4,36,252,233,244,64,255,248,112,65,139,174,233,65,
265 56,129,121,253,12,239,15,135,244,56,221,65,8,221,1,248,1,217,252,248,223, 265 59,174,233,15,130,244,247,232,244,66,248,1,129,252,248,239,15,133,244,55,
266 224,158,15,138,244,1,221,217,252,233,244,65,255,248,107,129,252,248,239,15, 266 129,122,253,4,239,15,135,244,55,255,252,242,15,45,2,61,252,255,0,0,0,15,135,
267 130,244,56,129,121,253,4,239,15,135,244,56,129,121,253,12,239,15,135,244, 267 244,55,137,68,36,4,255,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,
268 56,252,242,15,16,1,252,242,15,16,73,8,232,244,108,252,233,244,64,255,248, 268 244,55,255,199,68,36,24,1,0,0,0,72,141,68,36,4,248,113,139,108,36,16,137,
269 107,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,129,121, 269 149,233,139,84,36,24,72,137,198,137,252,239,137,92,36,20,232,251,1,17,139,
270 253,12,239,15,135,244,56,221,1,221,65,8,232,244,108,252,233,244,65,255,248, 270 149,233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,58,248,
271 109,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242, 271 114,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,199,68,36,
272 15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,233,252,252, 272 4,252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,55,15,134,244,
273 239,15,135,244,56,252,242,15,16,76,252,233,252,248,252,242,15,93,193,131, 273 247,129,122,253,20,239,255,252,242,15,45,106,16,137,108,36,4,255,221,66,16,
274 197,1,252,233,244,1,255,248,110,129,252,248,239,15,130,244,56,129,121,253, 274 219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,55,129,122,253,12,239,
275 4,239,15,135,244,56,252,242,15,16,1,189,2,0,0,0,248,1,57,197,15,131,244,64, 275 15,135,244,55,139,42,137,108,36,24,139,173,233,255,252,242,15,45,74,8,255,
276 129,124,253,252,233,252,252,239,15,135,244,56,252,242,15,16,76,252,233,252, 276 139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,
277 248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244, 277 108,36,24,41,200,15,140,244,115,141,172,253,13,233,131,192,1,248,4,137,68,
278 56,255,248,111,129,252,248,239,15,130,244,56,129,121,253,4,239,15,133,244, 278 36,24,137,232,252,233,244,113,248,5,15,140,244,252,141,68,40,1,252,233,244,
279 56,139,41,255,252,242,15,42,133,233,252,233,244,64,255,219,133,233,252,233, 279 2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,
280 244,65,255,248,112,129,252,248,239,15,133,244,56,129,121,253,4,239,15,133, 280 1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,115,49,192,252,233,244,
281 244,56,139,41,131,189,233,1,15,130,244,73,15,182,173,233,255,252,242,15,42, 281 4,248,116,129,252,248,239,15,130,244,55,65,139,174,233,65,59,174,233,15,130,
282 197,252,233,244,64,255,137,44,36,219,4,36,252,233,244,65,255,248,113,65,139, 282 244,247,232,244,66,248,1,255,129,122,253,4,239,15,133,244,55,129,122,253,
283 174,233,65,59,174,233,15,130,244,247,232,244,67,248,1,129,252,248,239,15, 283 12,239,15,135,244,55,139,42,255,252,242,15,45,66,8,255,221,66,8,219,92,36,
284 133,244,56,129,121,253,4,239,15,135,244,56,255,252,242,15,45,1,61,252,255, 284 4,139,68,36,4,255,133,192,15,142,244,115,131,189,233,1,15,130,244,115,15,
285 0,0,0,15,135,244,56,137,68,36,4,255,221,1,219,92,36,4,129,124,36,4,252,255, 285 133,244,117,65,57,134,233,15,130,244,117,15,182,141,233,65,139,174,233,137,
286 0,0,0,15,135,244,56,255,199,68,36,24,1,0,0,0,72,141,68,36,4,137,12,36,248, 286 68,36,24,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,
287 114,139,108,36,16,137,149,233,139,84,36,24,72,137,198,137,252,239,137,92, 287 233,244,113,248,118,129,252,248,239,255,15,130,244,55,65,139,174,233,65,59,
288 36,20,232,251,1,17,139,12,36,139,149,233,199,65,252,252,237,137,65,252,248, 288 174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,
289 252,233,244,59,248,115,65,139,174,233,65,59,174,233,15,130,244,247,232,244, 289 42,139,133,233,133,192,15,132,244,115,65,57,134,233,15,130,244,119,129,197,
290 67,248,1,137,12,36,199,68,36,4,252,255,252,255,252,255,252,255,129,252,248, 290 239,137,92,36,4,137,68,36,24,65,139,158,233,248,1,255,15,182,77,0,131,197,
291 239,15,130,244,56,15,134,244,247,129,121,253,20,239,255,252,242,15,45,105, 291 1,131,232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,113,248,
292 16,137,108,36,4,255,221,65,16,219,92,36,4,255,248,1,129,121,253,4,239,15, 292 120,129,252,248,239,15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,
293 133,244,56,129,121,253,12,239,15,135,244,56,139,41,137,108,36,24,139,173, 293 247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,65,
294 233,255,252,242,15,45,73,8,255,139,68,36,4,57,197,15,130,244,251,248,2,133, 294 57,134,233,255,15,130,244,119,129,197,239,137,92,36,4,137,68,36,24,65,139,
295 201,15,142,244,253,248,3,139,108,36,24,41,200,15,140,244,116,141,172,253, 295 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,
296 13,233,131,192,1,248,4,137,68,36,24,137,232,252,233,244,114,248,5,15,140, 296 131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,
297 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, 297 1,15,137,244,1,137,216,139,92,36,4,252,233,244,113,248,121,129,252,248,239,
298 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, 298 15,130,244,55,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,
299 3,248,116,49,192,252,233,244,4,248,117,129,252,248,239,15,130,244,56,65,139, 299 248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,65,57,134,233,15,
300 174,233,65,59,174,233,15,130,244,247,232,244,67,248,1,255,137,12,36,129,121, 300 130,244,119,129,197,239,137,92,36,4,137,68,36,24,65,139,158,233,252,233,244,
301 253,4,239,15,133,244,56,129,121,253,12,239,15,135,244,56,139,41,255,252,242, 301 249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,
302 15,45,65,8,255,221,65,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,116, 302 15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,
303 131,189,233,1,15,130,244,116,15,133,244,118,65,57,134,233,15,130,244,118, 303 137,216,139,92,36,4,252,233,244,113,248,122,129,252,248,239,15,130,244,55,
304 15,182,141,233,65,139,174,233,137,68,36,24,248,1,136,77,0,131,197,1,131,232, 304 129,122,253,4,239,15,133,244,55,137,213,139,58,232,251,1,18,137,252,234,255,
305 1,15,133,244,1,65,139,134,233,252,233,244,114,248,119,129,252,248,239,255, 305 252,242,15,42,192,252,233,244,63,255,248,123,129,252,248,239,15,130,244,55,
306 15,130,244,56,65,139,174,233,65,59,174,233,15,130,244,247,232,244,67,248, 306 129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,
307 1,137,12,36,129,121,253,4,239,15,133,244,56,139,41,139,133,233,133,192,15, 307 110,205,252,242,15,88,193,102,15,126,197,252,242,15,42,197,252,233,244,63,
308 132,244,116,65,57,134,233,15,130,244,120,129,197,239,137,92,36,4,137,68,36, 308 255,248,124,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
309 24,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133, 309 252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,
310 244,1,137,216,139,92,36,4,252,233,244,114,248,121,129,252,248,239,15,130, 310 126,197,255,137,68,36,4,141,68,194,252,240,248,1,57,208,15,134,244,125,129,
311 244,56,65,139,174,233,65,59,174,233,15,130,244,247,232,244,67,248,1,137,12, 311 120,253,4,239,15,135,244,126,255,252,242,15,16,0,252,242,15,88,193,102,15,
312 36,129,121,253,4,239,15,133,244,56,139,41,139,133,233,65,57,134,233,255,15, 312 126,193,33,205,255,131,232,8,252,233,244,1,255,248,127,129,252,248,239,15,
313 130,244,120,129,197,239,137,92,36,4,137,68,36,24,65,139,158,233,252,233,244, 313 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,
314 249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135, 314 102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252,
315 244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216, 315 242,15,88,193,102,15,126,193,9,205,255,248,128,129,252,248,239,15,130,244,
316 139,92,36,4,252,233,244,114,248,122,129,252,248,239,15,130,244,56,255,65, 316 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,
317 139,174,233,65,59,174,233,15,130,244,247,232,244,67,248,1,137,12,36,129,121, 317 15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252,242,15,
318 253,4,239,15,133,244,56,139,41,139,133,233,65,57,134,233,15,130,244,120,129, 318 88,193,102,15,126,193,49,205,255,248,129,129,252,248,239,15,130,244,55,129,
319 197,239,137,92,36,4,137,68,36,24,65,139,158,233,252,233,244,249,248,1,15, 319 122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,
320 182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248, 320 205,252,242,15,88,193,102,15,126,197,255,15,205,252,233,244,125,255,248,130,
321 131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92, 321 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,
322 36,4,252,233,244,114,248,123,129,252,248,239,15,130,244,56,129,121,253,4, 322 16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,
323 239,15,133,244,56,137,20,36,137,205,139,57,232,251,1,18,137,252,233,139,20, 323 252,247,213,255,248,125,252,242,15,42,197,252,233,244,63,255,248,126,139,
324 36,255,252,242,15,42,192,252,233,244,64,255,248,124,129,252,248,239,15,130, 324 68,36,4,252,233,244,55,255,248,131,129,252,248,239,15,130,244,55,129,122,
325 244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,72,189,237,237,102, 325 253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,
326 72,15,110,205,252,242,15,88,193,102,15,126,197,252,242,15,42,197,252,233, 326 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
327 244,64,255,248,125,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,
328 244,56,252,242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,88,193,
329 102,15,126,197,255,137,68,36,4,141,68,193,252,240,255,137,20,36,255,248,1,
330 57,200,15,134,244,126,129,120,253,4,239,15,135,244,127,255,252,242,15,16,
331 0,252,242,15,88,193,102,15,126,194,33,213,255,131,232,8,252,233,244,1,255,
332 248,128,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,
333 242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,
334 197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,194,9,213,255,248,129,
335 129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,
336 16,1,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,
337 252,242,15,16,0,252,242,15,88,193,102,15,126,194,49,213,255,248,130,129,252,
338 248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,252,242,15,16,1,72,
339 189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,15,205,
340 252,233,244,131,255,248,132,129,252,248,239,15,130,244,56,129,121,253,4,239,
341 15,135,244,56,252,242,15,16,1,72,189,237,237,102,72,15,110,205,252,242,15,
342 88,193,102,15,126,197,255,252,247,213,255,248,131,252,242,15,42,197,252,233,
343 244,64,248,126,252,242,15,42,197,139,20,36,252,233,244,64,255,248,127,255,
344 139,68,36,4,252,233,244,56,255,248,133,129,252,248,239,15,130,244,56,129,
345 121,253,4,239,15,135,244,56,129,121,253,12,239,15,135,244,56,252,242,15,16,
346 1,252,242,15,16,73,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
347 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,229,137,193,252, 327 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,229,137,193,252,
348 233,244,131,255,248,134,129,252,248,239,15,130,244,56,129,121,253,4,239,15, 328 233,244,125,255,248,132,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
349 135,244,56,129,121,253,12,239,15,135,244,56,252,242,15,16,1,252,242,15,16, 329 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,
350 73,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202, 330 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,
351 137,200,102,15,126,197,102,15,126,201,255,211,252,237,137,193,252,233,244, 331 137,200,102,15,126,197,102,15,126,201,255,211,252,237,137,193,252,233,244,
352 131,255,248,135,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244, 332 125,255,248,133,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
353 56,129,121,253,12,239,15,135,244,56,252,242,15,16,1,252,242,15,16,73,8,72, 333 55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,
354 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, 334 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,
355 102,15,126,197,102,15,126,201,255,211,252,253,137,193,252,233,244,131,255, 335 102,15,126,197,102,15,126,201,255,211,252,253,137,193,252,233,244,125,255,
356 248,136,129,252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,129, 336 248,134,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,
357 121,253,12,239,15,135,244,56,252,242,15,16,1,252,242,15,16,73,8,72,189,237, 337 122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,
358 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15, 338 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,
359 126,197,102,15,126,201,255,211,197,137,193,252,233,244,131,255,248,137,129, 339 126,197,102,15,126,201,255,211,197,137,193,252,233,244,125,255,248,135,129,
360 252,248,239,15,130,244,56,129,121,253,4,239,15,135,244,56,129,121,253,12, 340 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,
361 239,15,135,244,56,252,242,15,16,1,252,242,15,16,73,8,72,189,237,237,102,72, 341 239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,
362 15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102, 342 15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,
363 15,126,201,255,211,205,137,193,252,233,244,131,248,118,184,237,252,233,244, 343 15,126,201,255,211,205,137,193,252,233,244,125,248,117,184,237,252,233,244,
364 56,248,120,184,237,248,56,139,108,36,16,41,202,137,89,252,252,137,92,36,20, 344 55,248,119,184,237,248,55,139,108,36,16,139,90,252,252,137,92,36,20,137,149,
365 137,20,36,137,141,233,141,68,193,252,248,141,144,233,137,133,233,139,65,252, 345 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,
366 248,59,149,233,15,135,244,251,137,252,239,252,255,144,233,133,192,15,133, 346 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,133,244,
367 244,249,248,1,139,141,233,255,139,133,233,41,200,193,232,3,131,192,1,139, 347 69,248,1,255,139,133,233,41,208,193,232,3,131,192,1,139,106,252,248,57,90,
368 105,252,248,139,20,36,1,202,57,89,252,252,15,133,244,248,252,255,165,233, 348 252,252,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195,
369 248,2,129,121,253,252,252,239,15,133,244,31,252,255,165,233,248,3,139,141, 349 4,65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182,
370 233,139,20,36,1,202,252,233,244,70,248,5,190,237,137,252,239,232,251,1,0, 350 107,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137,221,131,
371 252,233,244,1,248,67,93,72,137,108,36,24,139,108,36,16,41,202,137,84,36,4, 351 229,252,248,41,252,234,252,233,244,27,248,5,190,237,137,252,239,232,251,1,
372 137,89,252,252,137,92,36,20,137,141,233,141,68,193,252,248,137,252,239,137, 352 0,139,149,233,252,233,244,1,248,66,93,72,137,108,36,24,139,108,36,16,137,
373 133,233,255,232,251,1,19,139,141,233,139,133,233,41,200,193,232,3,131,192, 353 92,36,20,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232,251,
374 1,139,89,252,252,139,84,36,4,1,202,72,139,108,36,24,85,139,105,252,248,195, 354 1,19,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,24,
375 248,138,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,133,244,247, 355 85,195,248,136,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,133,
376 168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,248,139,65, 356 244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,248,
377 15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255,142, 357 137,65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,
378 233,15,132,244,247,168,235,15,132,244,251,248,1,139,108,36,16,137,149,233, 358 255,142,233,15,132,244,247,168,235,15,132,244,251,248,1,139,108,36,16,137,
379 137,222,137,252,239,232,251,1,20,248,3,139,149,233,248,4,15,182,75,252,253, 359 149,233,137,222,137,252,239,232,251,1,20,248,3,139,149,233,248,4,15,182,75,
380 248,5,255,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252,238, 360 252,253,248,5,255,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,
381 233,248,140,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,141,255,204, 361 252,238,233,248,138,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,139,
382 255,248,142,255,248,143,255,248,144,255,68,139,122,252,248,69,139,191,233, 362 255,204,255,248,140,255,248,141,255,248,142,255,68,139,122,252,248,69,139,
383 69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204, 363 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,
384 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,248,83,255,217, 364 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,248,82,
385 124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, 365 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
386 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248, 366 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,
387 145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15, 367 255,248,143,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,
388 40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15, 368 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
389 88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252, 369 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,
390 242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248, 370 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,
391 85,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255, 371 195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,
392 252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 372 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
393 195,255,248,146,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15, 373 68,36,8,195,255,248,144,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
394 110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208, 374 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
395 252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15, 375 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
396 110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248, 376 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,
397 1,195,248,105,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102, 377 193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,
398 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248, 378 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,
399 147,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15, 379 255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,
400 40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193, 380 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,
401 252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,252, 381 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,
402 242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193, 382 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,
403 248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,237,237,102,72,15, 383 193,248,1,195,248,146,255,15,40,232,252,242,15,94,193,72,184,237,237,102,
404 110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,15,46, 384 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,
405 220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102, 385 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,
406 15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,84, 386 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,
407 194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,248, 387 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,
408 1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,241, 388 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,
409 217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68, 389 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,
410 36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248, 390 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,
411 89,217,252,234,222,201,248,149,217,84,36,252,248,129,124,36,252,248,0,0,128, 391 248,88,217,252,234,222,201,248,147,217,84,36,252,248,129,124,36,252,248,0,
412 127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,15,132,244,248,248, 392 0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,15,132,244,248,
413 150,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217, 393 248,148,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,
414 252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,108,255,248, 394 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,107,255,
415 151,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138, 395 248,149,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,
416 244,255,248,152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244, 396 15,138,244,255,248,150,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,
417 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251, 397 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,
418 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255, 398 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,
419 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15, 399 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,
420 132,244,5,15,130,244,253,80,72,184,237,237,102,72,15,110,200,252,242,15,94, 400 6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72,15,110,200,252,242,
421 200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248, 401 15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,
422 7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224, 402 1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,
423 72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192,72, 403 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192,
424 209,224,15,132,244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251, 404 72,209,224,15,132,244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,
425 252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240, 405 252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,
426 221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217, 406 221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,
427 252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15, 407 252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,
@@ -431,27 +411,27 @@ static const unsigned char build_actionlist[13650] = {
431 102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184, 411 102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,
432 237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244, 412 237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,
433 3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248, 413 3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,
434 153,255,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130,244, 414 151,255,131,252,255,1,15,130,244,82,15,132,244,84,131,252,255,3,15,130,244,
435 105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248, 415 104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,
436 221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,89, 416 221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,88,
437 252,233,244,253,248,1,232,244,149,255,252,233,244,253,248,2,131,252,255,7, 417 252,233,244,253,248,1,232,244,147,255,252,233,244,253,248,2,131,252,255,7,
438 15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, 418 15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
439 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, 419 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,
440 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, 420 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
441 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, 421 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,
442 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, 422 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
443 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, 423 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,
444 221,68,36,4,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130, 424 221,68,36,4,131,252,255,1,15,130,244,82,15,132,244,84,131,252,255,3,15,130,
445 244,105,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,89, 425 244,104,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,88,
446 15,132,244,149,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, 426 15,132,244,147,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,
447 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, 427 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,
448 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, 428 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,
449 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, 429 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,
450 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,131,252, 430 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,152,255,131,252,
451 255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15, 431 255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,
452 92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89, 432 92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,
453 193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,148,15, 433 193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,146,15,
454 132,244,108,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255, 434 132,244,107,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,
455 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15, 435 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,
456 84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248, 436 84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,
457 252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244, 437 252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,
@@ -461,241 +441,258 @@ static const unsigned char build_actionlist[13650] = {
461 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 441 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,
462 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 442 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,
463 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 443 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
464 252,248,5,15,130,244,148,15,132,244,108,131,252,248,7,15,132,244,247,15,135, 444 252,248,5,15,130,244,146,15,132,244,107,131,252,248,7,15,132,244,247,15,135,
465 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 445 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
466 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 446 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
467 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 447 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
468 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 448 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
469 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 449 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
470 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 450 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
471 155,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,255,129, 451 153,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,255,249,
472 124,253,202,4,239,15,135,244,43,129,124,253,194,4,239,15,135,244,43,255,252, 452 255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,
473 242,15,16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,194,131,195, 453 41,255,252,242,15,16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,
474 4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248, 454 194,131,195,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,
475 255,15,131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2, 455 134,244,248,255,15,131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,
476 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 456 233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
477 139,108,194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,253,202,4, 457 252,238,255,139,108,194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,
478 239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202, 458 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,
479 221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244, 459 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,
480 247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183, 460 15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,
481 67,252,254,141,156,253,131,233,248,1,255,248,5,57,108,202,4,15,133,244,2, 461 248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,248,5,57,108,202,4,
482 129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, 462 15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,
483 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, 463 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,
484 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,47,255, 464 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,
485 72,252,247,208,131,195,4,129,124,253,202,4,239,15,133,244,248,139,12,202, 465 233,244,45,255,72,252,247,208,131,195,4,129,124,253,202,4,239,15,133,244,
486 65,59,12,135,255,131,195,4,129,124,253,202,4,239,15,135,244,248,255,252,242, 466 248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,202,4,239,15,135,244,
487 65,15,16,4,199,102,15,46,4,202,255,221,4,202,65,221,4,199,255,72,252,247, 467 248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,202,65,221,4,199,
488 208,131,195,4,57,68,202,4,255,139,108,194,4,131,195,4,129,252,253,239,255, 468 255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,4,131,195,4,129,
489 15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202, 469 252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,
490 255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182,204,15,182,232, 470 194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182,
491 131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,139,4,194,137, 471 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,
492 108,202,4,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, 472 4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204,15,182,232,131,195,4,
493 255,36,252,238,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202, 473 193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194,4,239,129,
494 4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 474 213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
495 255,129,124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,194,72,184,237, 475 252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,
496 237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224, 476 16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,
497 221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192, 477 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,
498 252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221, 478 4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,
499 28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 479 128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,
500 252,238,248,2,129,124,253,194,4,239,15,133,244,52,139,60,194,137,213,232, 480 16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,50,139,60,
501 251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,75,252,253,252,233, 481 194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,75,
502 244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135, 482 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,
503 244,48,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234, 483 4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,
504 65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,49,255,252,242,65,15, 484 221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,
505 16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,255,129,124, 485 252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,
506 253,252,234,4,239,15,135,244,51,129,124,253,194,4,239,15,135,244,51,255,252, 486 234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,
507 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252, 487 135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,
508 242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,65,220,36,199, 488 234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,
509 255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,4,199,220,36, 489 4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,
510 252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234, 490 255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,
511 220,36,194,255,252,242,15,16,4,252,234,252,242,65,15,89,4,199,255,221,4,252, 491 4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,65,
512 234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,15,89,4,252,234,255, 492 15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,
513 65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 493 242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,
514 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,65,15,94, 494 234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,
515 4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,15,16,4,199,252,242, 495 252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,
516 15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234, 496 65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,
517 252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252, 497 252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,
518 234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,4,199,255,252,242,65, 498 255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65,
519 15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,221,4,252,234,255,252, 499 221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,
520 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255, 500 4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,
521 248,156,232,244,148,255,252,233,244,156,255,232,244,108,255,15,182,252,236, 501 221,4,252,234,221,4,194,255,248,154,232,244,146,255,252,233,244,154,255,232,
522 15,182,192,139,124,36,16,137,151,233,141,52,194,137,194,41,252,234,248,35, 502 244,107,255,15,182,252,236,15,182,192,139,124,36,16,137,151,233,141,52,194,
523 137,252,253,137,92,36,20,232,251,1,21,139,149,233,133,192,15,133,244,44,15, 503 137,194,41,252,234,248,33,137,252,253,137,92,36,20,232,251,1,21,139,149,233,
524 182,107,252,255,15,182,75,252,253,139,68,252,234,4,139,44,252,234,137,68, 504 133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,68,252,234,
525 202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, 505 4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,
526 255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202, 506 195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,
527 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 507 68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
528 15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28, 508 252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,
529 202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28, 509 223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,
530 202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4, 510 255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182,
531 193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137, 511 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202,
532 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15, 512 12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,
533 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139, 513 134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
534 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139, 514 252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,
535 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139, 515 109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
536 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139, 516 16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,
537 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244, 517 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,
538 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 518 252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,
539 252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235, 519 195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,
540 15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,22,137,252, 520 15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,
541 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233, 521 190,233,255,232,251,1,22,137,252,234,252,233,244,1,255,72,252,247,208,139,
542 65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244, 522 106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,
543 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 523 237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,
544 252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1, 524 131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,
545 137,213,137,198,65,141,190,233,232,251,1,22,137,252,234,252,233,244,1,255, 525 244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,
546 139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,233,139,141, 526 22,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,
547 233,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, 527 255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,
548 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 528 252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,
549 255,141,156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137,149, 529 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
550 233,141,52,202,137,252,239,232,251,1,23,139,149,233,248,1,139,3,15,182,204, 530 156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137,149,233,141,
551 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208, 531 52,202,137,252,239,232,251,1,23,139,149,233,248,1,139,3,15,182,204,15,182,
552 139,108,36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92, 532 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,
553 36,20,232,251,1,24,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, 533 36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,20,232,
554 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 534 251,1,24,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,
555 139,124,36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61, 535 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,124,
556 252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65, 536 36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,
557 59,134,233,137,92,36,20,15,131,244,251,232,251,1,25,139,149,233,15,182,75, 537 7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65,59,134,233,
558 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4, 538 137,92,36,20,15,131,244,251,232,251,1,25,139,149,233,15,182,75,252,253,137,
559 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232, 539 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
560 251,1,26,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139, 540 252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,26,15,
561 108,36,16,65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15,131,244, 541 183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139,108,36,16,
562 249,248,2,65,139,52,135,137,252,239,232,251,1,27,139,149,233,15,182,75,252, 542 65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15,131,244,249,248,
563 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, 543 2,65,139,52,135,137,252,239,232,251,1,27,139,149,233,15,182,75,252,253,137,
564 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,26,15,183,67,252, 544 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
565 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173, 545 252,255,36,252,238,248,3,137,252,239,232,251,1,26,15,183,67,252,254,72,252,
566 233,65,139,4,135,252,233,244,157,255,72,252,247,208,139,106,252,248,139,173, 546 247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,
567 233,65,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129,124,253, 547 4,135,252,233,244,155,255,72,252,247,208,139,106,252,248,139,173,233,65,139,
568 252,234,4,239,15,133,244,38,139,44,252,234,129,124,253,194,4,239,15,135,244, 548 4,135,252,233,244,156,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
569 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46, 549 239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,
570 193,255,15,133,244,38,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120, 550 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
571 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139, 551 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,
572 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2, 552 239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,15,
573 131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,38, 553 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,
574 15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 554 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,75,
575 38,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192,72,252,247,208, 555 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,
576 65,139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,157, 556 194,252,233,244,155,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,
577 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 557 135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,155,139,141,
578 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 558 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,
579 67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182, 559 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,
580 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67, 560 253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182,204,15,
581 252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248, 561 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,
582 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233, 562 185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
583 244,36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, 563 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,
584 37,139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253, 564 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,
585 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3, 565 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,
586 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131, 566 15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,15,182,
587 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,37,255, 567 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,
588 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44, 568 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,
589 252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,41,59,133,233, 569 236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,
590 15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, 570 124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,
591 252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104, 571 39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,
592 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 572 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,
593 238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235, 573 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,
594 15,132,244,41,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239, 574 131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,
595 15,133,244,41,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139,142, 575 39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
596 233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182, 576 39,139,4,194,252,233,244,156,248,7,128,165,233,235,65,139,142,233,65,137,
597 252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239, 577 174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,
598 15,133,244,39,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198, 578 182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,
599 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, 579 37,139,44,252,234,248,156,139,141,233,35,136,233,105,201,239,198,133,233,
600 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, 580 0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,
601 133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137, 581 129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,
602 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 582 253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,3,
603 248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235, 583 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,
604 15,132,244,39,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244, 584 189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,244,
605 1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,39, 585 37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,
606 248,6,137,4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233,72, 586 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,
607 141,20,36,137,252,238,137,252,253,137,92,36,20,232,251,1,28,139,149,233,139, 587 4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233,72,141,20,36,
608 108,36,24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137, 588 137,252,238,137,252,253,137,92,36,20,232,251,1,28,139,149,233,139,108,36,
609 174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253, 589 24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174,
610 252,234,4,239,15,133,244,40,139,44,252,234,59,133,233,15,131,244,40,193,224, 590 233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,
611 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15, 591 234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,
612 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204, 592 3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,
613 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0, 593 244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,15,
614 15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,40,15,182,75, 594 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,
615 252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233, 595 132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,252,
616 137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141, 596 253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,
617 12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36, 597 141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141,12,
618 4,255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248, 598 202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,4,
619 59,133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139, 599 255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248,59,
600 133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,
620 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133, 601 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,
621 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16, 602 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
622 65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252,238,137,194, 603 65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252,238,137,194,
623 137,252,253,137,92,36,20,232,251,1,29,139,149,233,15,182,75,252,253,252,233, 604 137,252,253,137,92,36,20,232,251,1,29,139,149,233,15,182,75,252,253,252,233,
624 244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233, 605 244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233,
625 252,233,244,2,255,3,68,36,4,255,141,76,202,8,139,105,252,248,129,121,253, 606 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,
626 252,252,239,15,133,244,31,252,255,165,233,255,141,76,202,8,65,137,215,139, 607 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
627 105,252,248,129,121,253,252,252,239,15,133,244,31,248,53,139,90,252,252,252, 608 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,
628 247,195,237,15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15, 609 129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237,
629 132,244,249,248,2,139,41,65,137,47,139,105,4,65,137,111,4,65,131,199,8,131, 610 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,
630 193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,137,209,128,189,233,1, 611 248,2,139,41,65,137,47,139,105,4,65,137,111,4,65,131,199,8,131,193,8,131,
631 15,135,244,251,248,4,139,68,36,4,252,255,165,233,248,5,255,252,247,195,237, 612 232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,
632 15,133,244,4,15,182,67,252,253,72,252,247,208,141,20,194,68,139,122,252,248, 613 244,251,248,4,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
633 69,139,191,233,69,139,191,233,252,233,244,4,248,7,15,139,244,1,131,227,252, 614 255,36,252,238,248,5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,
634 248,41,218,65,137,215,139,90,252,252,252,233,244,1,255,141,76,202,8,139,105, 615 252,247,209,141,12,202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,
635 232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,244,137,105, 616 233,244,4,248,7,15,139,244,1,131,227,252,248,41,218,65,137,215,139,90,252,
636 8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,252, 617 252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,
637 248,239,184,3,0,0,0,15,133,244,31,252,255,165,233,255,15,182,252,236,139, 618 65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,
638 66,252,248,141,12,202,139,128,233,15,182,128,233,68,137,60,36,68,141,188, 619 228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,
639 253,194,233,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233, 620 137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,
640 252,248,65,57,215,15,131,244,248,248,1,65,139,71,252,248,137,1,65,139,71, 621 4,65,252,255,36,252,238,255,15,182,252,236,139,66,252,248,141,12,202,139,
641 252,252,65,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,65,57,215, 622 128,233,15,182,128,233,68,137,60,36,68,141,188,253,194,233,68,43,122,252,
642 15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,68, 623 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,
643 139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 624 248,248,1,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,
644 252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,255, 625 131,193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,
645 137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,16,1,200,59,133,233, 626 237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,
646 15,135,244,253,248,6,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199, 627 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,
647 8,137,65,4,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233, 628 0,0,0,137,208,68,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,
648 137,141,233,137,92,36,20,65,41,215,139,116,36,4,131,252,238,1,137,252,239, 629 1,137,108,36,4,139,108,36,16,1,200,59,133,233,15,135,244,253,248,6,65,139,
649 232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3, 630 71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,131,193,8,65,57,
650 255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248, 631 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,20,
651 17,65,137,215,131,232,1,15,132,244,249,248,2,65,139,44,15,65,137,111,252, 632 65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233,
652 248,65,139,108,15,4,65,137,111,252,252,65,131,199,8,131,232,1,15,133,244, 633 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252,
653 2,248,3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244,252,255,139, 634 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232,
654 108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,67,252,255, 635 1,15,132,244,249,248,2,65,139,44,15,65,137,111,252,248,65,139,108,15,4,65,
655 15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122, 636 137,111,252,252,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,
656 252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195, 637 182,107,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,
657 4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131, 638 252,139,44,10,137,106,252,248,255,248,5,56,67,252,255,15,135,244,252,255,
658 199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139, 639 15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69,139,191,
659 244,18,131,227,252,248,41,218,255,1,217,255,137,221,209,252,237,129,229,239, 640 233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
660 102,65,131,172,253,46,233,1,15,132,244,141,255,141,12,202,255,129,121,253, 641 255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255,199,68,194,
661 4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,255,139,105,20,255,129, 642 252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,227,252,248,
662 252,253,239,15,135,244,54,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 643 41,218,255,1,217,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,
663 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 644 233,1,15,132,244,139,255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,
664 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 645 121,253,12,239,15,135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,
665 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 646 53,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,
666 247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248,141,156,253, 647 15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
667 131,233,255,141,156,253,131,233,15,183,67,252,254,15,131,245,255,15,130,244, 648 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,
668 248,141,156,253,131,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, 649 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,
669 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, 650 15,183,67,252,254,255,15,131,244,248,141,156,253,131,233,255,141,156,253,
670 105,252,248,252,233,245,255,141,156,253,131,233,139,1,137,105,252,252,137, 651 131,233,15,183,67,252,254,15,131,245,255,15,130,244,248,141,156,253,131,233,
671 65,252,248,255,65,139,142,233,139,4,129,72,139,128,233,139,108,36,16,65,137, 652 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,
672 150,233,65,137,174,233,252,255,224,255,141,156,253,131,233,139,3,15,182,204, 653 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,
673 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,254,0 654 255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,
655 233,139,4,129,72,139,128,233,139,108,36,16,65,137,150,233,65,137,174,233,
656 252,255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232,131,195,4,
657 193,232,16,65,252,255,36,252,238,255,68,139,187,233,139,108,36,16,141,12,
658 202,59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244,249,248,2,255,
659 15,183,67,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,
660 57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,
661 252,248,137,104,252,252,68,137,120,252,248,139,108,36,16,141,12,200,59,141,
662 233,15,135,244,22,137,209,137,194,15,182,171,233,133,252,237,15,132,244,248,
663 248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,
664 121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
665 244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,
666 232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,
667 1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139,108,36,
668 16,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
669 137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134,233,
670 237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237,139,
671 149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12,255,
672 254,0
674}; 673};
675 674
676enum { 675enum {
677 GLOB_gate_lf, 676 GLOB_vm_returnp,
678 GLOB_gate_lf_growstack, 677 GLOB_cont_dispatch,
679 GLOB_gate_lv,
680 GLOB_gate_lv_growstack,
681 GLOB_gate_cwrap,
682 GLOB_gate_c_growstack,
683 GLOB_vm_returnc, 678 GLOB_vm_returnc,
684 GLOB_BC_RET_Z, 679 GLOB_BC_RET_Z,
685 GLOB_vm_return, 680 GLOB_vm_return,
686 GLOB_gate_c,
687 GLOB_vm_returnp,
688 GLOB_vm_leave_cp, 681 GLOB_vm_leave_cp,
689 GLOB_vm_leave_unw, 682 GLOB_vm_leave_unw,
690 GLOB_vm_unwind_c, 683 GLOB_vm_unwind_c,
691 GLOB_vm_unwind_c_eh, 684 GLOB_vm_unwind_c_eh,
692 GLOB_vm_unwind_ff, 685 GLOB_vm_unwind_ff,
693 GLOB_vm_unwind_ff_eh, 686 GLOB_vm_unwind_ff_eh,
694 GLOB_cont_dispatch, 687 GLOB_vm_growstack_c,
688 GLOB_vm_growstack_v,
689 GLOB_vm_growstack_f,
695 GLOB_vm_resume, 690 GLOB_vm_resume,
696 GLOB_vm_pcall, 691 GLOB_vm_pcall,
697 GLOB_vm_call, 692 GLOB_vm_call,
693 GLOB_vm_call_dispatch,
698 GLOB_vmeta_call, 694 GLOB_vmeta_call,
695 GLOB_vm_call_dispatch_f,
699 GLOB_vm_cpcall, 696 GLOB_vm_cpcall,
700 GLOB_cont_cat, 697 GLOB_cont_cat,
701 GLOB_cont_ra, 698 GLOB_cont_ra,
@@ -717,6 +714,7 @@ enum {
717 GLOB_vmeta_unm, 714 GLOB_vmeta_unm,
718 GLOB_vmeta_arith_vv, 715 GLOB_vmeta_arith_vv,
719 GLOB_vmeta_len, 716 GLOB_vmeta_len,
717 GLOB_vmeta_call_ra,
720 GLOB_BC_CALLT_Z, 718 GLOB_BC_CALLT_Z,
721 GLOB_vmeta_for, 719 GLOB_vmeta_for,
722 GLOB_ff_assert, 720 GLOB_ff_assert,
@@ -790,12 +788,11 @@ enum {
790 GLOB_ff_table_getn, 788 GLOB_ff_table_getn,
791 GLOB_ff_bit_tobit, 789 GLOB_ff_bit_tobit,
792 GLOB_ff_bit_band, 790 GLOB_ff_bit_band,
793 GLOB_fff_resbit_op, 791 GLOB_fff_resbit,
794 GLOB_fff_fallback_bit_op, 792 GLOB_fff_fallback_bit_op,
795 GLOB_ff_bit_bor, 793 GLOB_ff_bit_bor,
796 GLOB_ff_bit_bxor, 794 GLOB_ff_bit_bxor,
797 GLOB_ff_bit_bswap, 795 GLOB_ff_bit_bswap,
798 GLOB_fff_resbit,
799 GLOB_ff_bit_bnot, 796 GLOB_ff_bit_bnot,
800 GLOB_ff_bit_lshift, 797 GLOB_ff_bit_lshift,
801 GLOB_ff_bit_rshift, 798 GLOB_ff_bit_rshift,
@@ -826,28 +823,26 @@ enum {
826 GLOB__MAX 823 GLOB__MAX
827}; 824};
828static const char *const globnames[] = { 825static const char *const globnames[] = {
829 "gate_lf", 826 "vm_returnp",
830 "gate_lf_growstack", 827 "cont_dispatch",
831 "gate_lv",
832 "gate_lv_growstack",
833 "gate_cwrap",
834 "gate_c_growstack",
835 "vm_returnc", 828 "vm_returnc",
836 "BC_RET_Z", 829 "BC_RET_Z",
837 "vm_return", 830 "vm_return",
838 "gate_c",
839 "vm_returnp",
840 "vm_leave_cp", 831 "vm_leave_cp",
841 "vm_leave_unw", 832 "vm_leave_unw",
842 "vm_unwind_c@8", 833 "vm_unwind_c@8",
843 "vm_unwind_c_eh", 834 "vm_unwind_c_eh",
844 "vm_unwind_ff@4", 835 "vm_unwind_ff@4",
845 "vm_unwind_ff_eh", 836 "vm_unwind_ff_eh",
846 "cont_dispatch", 837 "vm_growstack_c",
838 "vm_growstack_v",
839 "vm_growstack_f",
847 "vm_resume", 840 "vm_resume",
848 "vm_pcall", 841 "vm_pcall",
849 "vm_call", 842 "vm_call",
843 "vm_call_dispatch",
850 "vmeta_call", 844 "vmeta_call",
845 "vm_call_dispatch_f",
851 "vm_cpcall", 846 "vm_cpcall",
852 "cont_cat", 847 "cont_cat",
853 "cont_ra", 848 "cont_ra",
@@ -869,6 +864,7 @@ static const char *const globnames[] = {
869 "vmeta_unm", 864 "vmeta_unm",
870 "vmeta_arith_vv", 865 "vmeta_arith_vv",
871 "vmeta_len", 866 "vmeta_len",
867 "vmeta_call_ra",
872 "BC_CALLT_Z", 868 "BC_CALLT_Z",
873 "vmeta_for", 869 "vmeta_for",
874 "ff_assert", 870 "ff_assert",
@@ -942,12 +938,11 @@ static const char *const globnames[] = {
942 "ff_table_getn", 938 "ff_table_getn",
943 "ff_bit_tobit", 939 "ff_bit_tobit",
944 "ff_bit_band", 940 "ff_bit_band",
945 "fff_resbit_op", 941 "fff_resbit",
946 "fff_fallback_bit_op", 942 "fff_fallback_bit_op",
947 "ff_bit_bor", 943 "ff_bit_bor",
948 "ff_bit_bxor", 944 "ff_bit_bxor",
949 "ff_bit_bswap", 945 "ff_bit_bswap",
950 "fff_resbit",
951 "ff_bit_bnot", 946 "ff_bit_bnot",
952 "ff_bit_lshift", 947 "ff_bit_lshift",
953 "ff_bit_rshift", 948 "ff_bit_rshift",
@@ -1033,392 +1028,367 @@ static const char *const extnames[] = {
1033static void build_subroutines(BuildCtx *ctx, int cmov, int sse) 1028static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1034{ 1029{
1035 dasm_put(Dst, 0); 1030 dasm_put(Dst, 0);
1036 dasm_put(Dst, 2, Dt7(->pc), PC2PROTO(framesize), PC2PROTO(k), Dt1(->maxstack), PC2PROTO(numparams)); 1031 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1037#if LJ_HASJIT 1032 dasm_put(Dst, 111, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1038#endif 1033 dasm_put(Dst, 202, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1);
1039 dasm_put(Dst, 48, LJ_TNIL, FRAME_VARG, -FRAME_VARG, Dt7(->pc), PC2PROTO(framesize), Dt1(->maxstack), PC2PROTO(numparams)); 1034 dasm_put(Dst, 298, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top));
1040 dasm_put(Dst, 161, LJ_TNIL, PC2PROTO(k)); 1035 dasm_put(Dst, 367, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1041#if LJ_HASJIT 1036 dasm_put(Dst, 535, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
1042#endif 1037 dasm_put(Dst, 648, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc));
1043 dasm_put(Dst, 201, LJ_TNIL, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), DISPATCH_GL(vmstate), ~LJ_VMST_C, DISPATCH_GL(wrapf), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1038 dasm_put(Dst, 813, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1044 dasm_put(Dst, 303, Dt1(->top), FRAME_TYPE, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), DISPATCH_GL(vmstate), ~LJ_VMST_C, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1045 dasm_put(Dst, 389, Dt1(->top), FRAME_TYPE, FRAME_C, DISPATCH_GL(vmstate), ~LJ_VMST_C, Dt1(->base));
1046 dasm_put(Dst, 495, Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1047 dasm_put(Dst, 584, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1048 dasm_put(Dst, 688, FRAME_P, LJ_TTRUE, LUA_MINSTACK, PC2PROTO(framesize), Dt1(->base), Dt1(->top), Dt1(->base));
1049 dasm_put(Dst, 778, Dt1(->top), Dt7(->gate), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1050 dasm_put(Dst, 917, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), LJ_TFUNC, Dt7(->gate));
1051 dasm_put(Dst, 1042, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc), PC2PROTO(k), Dt1(->base));
1052 dasm_put(Dst, 1226, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1053 if (sse) { 1039 if (sse) {
1054 dasm_put(Dst, 1271); 1040 dasm_put(Dst, 922);
1055 } else { 1041 } else {
1056 } 1042 }
1057 dasm_put(Dst, 1283, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), LJ_TSTR, BC_GSET, DISPATCH_GL(tmptv)); 1043 dasm_put(Dst, 934, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1058 dasm_put(Dst, 1441, LJ_TTAB); 1044 dasm_put(Dst, 1085, DISPATCH_GL(tmptv), LJ_TTAB);
1059 if (sse) { 1045 if (sse) {
1060 dasm_put(Dst, 1271); 1046 dasm_put(Dst, 922);
1061 } else { 1047 } else {
1062 } 1048 }
1063 dasm_put(Dst, 1461, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, Dt7(->gate), Dt1(->base), Dt1(->base)); 1049 dasm_put(Dst, 1109, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1064 dasm_put(Dst, 1656, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1050 dasm_put(Dst, 1291, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1065 dasm_put(Dst, 1764, Dt1(->base), Dt1(->base), FRAME_CONT, LJ_TFUNC); 1051 dasm_put(Dst, 1390, Dt1(->base), Dt1(->base), FRAME_CONT);
1066 dasm_put(Dst, 1887, Dt7(->gate), Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->gate), Dt1(->base), Dt1(->base), BC__MAX*8, 1+1); 1052 dasm_put(Dst, 1513, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1067 dasm_put(Dst, 2042, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX); 1053 dasm_put(Dst, 1691, 1+1, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX);
1068 if (cmov) { 1054 if (cmov) {
1069 dasm_put(Dst, 2136); 1055 dasm_put(Dst, 1793);
1070 } else { 1056 } else {
1071 dasm_put(Dst, 2140); 1057 dasm_put(Dst, 1797);
1072 } 1058 }
1073 dasm_put(Dst, 2149, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask)); 1059 dasm_put(Dst, 1806, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(mmname)+4*MM_metatable, LJ_TTAB, Dt6(->hmask));
1074 dasm_put(Dst, 2237, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1060 dasm_put(Dst, 1895, Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1075 dasm_put(Dst, 2292, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB); 1061 dasm_put(Dst, 1950, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB);
1076 dasm_put(Dst, 2364, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1062 dasm_put(Dst, 2019, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1077 dasm_put(Dst, 2431, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1063 dasm_put(Dst, 2090, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1078 if (sse) { 1064 if (sse) {
1079 dasm_put(Dst, 2509); 1065 dasm_put(Dst, 2166);
1080 } else { 1066 } else {
1081 dasm_put(Dst, 2519); 1067 dasm_put(Dst, 2176);
1082 } 1068 }
1083 dasm_put(Dst, 2526, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1069 dasm_put(Dst, 2183, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1084 dasm_put(Dst, 2591, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1070 dasm_put(Dst, 2252, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1085 dasm_put(Dst, 2675, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1071 dasm_put(Dst, 2321, Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1086 dasm_put(Dst, 2775, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1072 dasm_put(Dst, 2424, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1087 if (sse) { 1073 if (sse) {
1088 dasm_put(Dst, 2830, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1074 dasm_put(Dst, 2487, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1089 } else { 1075 } else {
1090 } 1076 }
1091 dasm_put(Dst, 2863, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1077 dasm_put(Dst, 2520, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1092 dasm_put(Dst, 2950, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1078 dasm_put(Dst, 2601, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1093 if (sse) { 1079 if (sse) {
1094 dasm_put(Dst, 2980); 1080 dasm_put(Dst, 2639);
1095 } else { 1081 } else {
1096 dasm_put(Dst, 2990); 1082 dasm_put(Dst, 2649);
1097 } 1083 }
1098 dasm_put(Dst, 2997, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE, LJ_TFUNC, Dt7(->gate)); 1084 dasm_put(Dst, 2656, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1099 dasm_put(Dst, 3071, 2+1, LJ_TFUNC, LJ_TFUNC, 2*8+FRAME_PCALL, 2*8, 1+1, LJ_TTHREAD); 1085 dasm_put(Dst, 2721, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1100 dasm_put(Dst, 3169, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1086 dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1101 dasm_put(Dst, 3235, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top)); 1087 dasm_put(Dst, 2903, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1102 dasm_put(Dst, 3339, Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2); 1088 dasm_put(Dst, 3023, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1103 dasm_put(Dst, 3462, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base)); 1089 dasm_put(Dst, 3119, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1104 dasm_put(Dst, 3543, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1090 dasm_put(Dst, 3185, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1105 dasm_put(Dst, 3649, LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), FRAME_TYPE); 1091 dasm_put(Dst, 3280, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1106 dasm_put(Dst, 3749, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1092 dasm_put(Dst, 3392, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1107 if (sse) { 1093 if (sse) {
1108 dasm_put(Dst, 3836, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1094 dasm_put(Dst, 3419, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1109 } else { 1095 } else {
1110 dasm_put(Dst, 3892, 1+1, LJ_TISNUM); 1096 dasm_put(Dst, 3483, 1+1, LJ_TISNUM);
1111 } 1097 }
1112 dasm_put(Dst, 3924, 1+1, FRAME_TYPE, LJ_TNIL); 1098 dasm_put(Dst, 3519, 1+1, FRAME_TYPE, LJ_TNIL);
1113 if (sse) { 1099 if (sse) {
1114 dasm_put(Dst, 4009, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1100 dasm_put(Dst, 3614, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1115 dasm_put(Dst, 4071, 1+1, LJ_TISNUM); 1101 dasm_put(Dst, 3676, 1+1, LJ_TISNUM);
1116 } else { 1102 } else {
1117 dasm_put(Dst, 4101, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1103 dasm_put(Dst, 3706, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1118 dasm_put(Dst, 4160, 1+1, LJ_TISNUM); 1104 dasm_put(Dst, 3765, 1+1, LJ_TISNUM);
1119 } 1105 }
1120 dasm_put(Dst, 4187, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1106 dasm_put(Dst, 3792, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1121 dasm_put(Dst, 4256, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1107 dasm_put(Dst, 3861, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1122 dasm_put(Dst, 4313, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1108 dasm_put(Dst, 3918, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1123 dasm_put(Dst, 4376, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1109 dasm_put(Dst, 3981, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1124 dasm_put(Dst, 4466); 1110 dasm_put(Dst, 4071);
1125 if (sse) { 1111 if (sse) {
1126 dasm_put(Dst, 4478, 1+1, LJ_TISNUM); 1112 dasm_put(Dst, 4083, 1+1, LJ_TISNUM);
1127 } else { 1113 } else {
1128 } 1114 }
1129 dasm_put(Dst, 4503); 1115 dasm_put(Dst, 4108);
1130 if (sse) { 1116 if (sse) {
1131 dasm_put(Dst, 4523, 1+1, LJ_TISNUM); 1117 dasm_put(Dst, 4122, 1+1, LJ_TISNUM);
1132 } else { 1118 } else {
1133 } 1119 }
1134 dasm_put(Dst, 4548); 1120 dasm_put(Dst, 4147);
1135 if (sse) { 1121 if (sse) {
1136 dasm_put(Dst, 4568, 1+1, LJ_TISNUM); 1122 dasm_put(Dst, 4161, 1+1, LJ_TISNUM);
1137 } else { 1123 } else {
1138 } 1124 }
1139 dasm_put(Dst, 4593); 1125 dasm_put(Dst, 4186);
1140 if (sse) { 1126 if (sse) {
1141 dasm_put(Dst, 4615, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1127 dasm_put(Dst, 4202, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1142 } else { 1128 } else {
1143 dasm_put(Dst, 4650, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1129 dasm_put(Dst, 4241, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1144 } 1130 }
1145 dasm_put(Dst, 4679, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1131 dasm_put(Dst, 4274, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1146 dasm_put(Dst, 4744, 1+1, LJ_TISNUM); 1132 dasm_put(Dst, 4339, 1+1, LJ_TISNUM);
1147 if (sse) { 1133 if (sse) {
1148 dasm_put(Dst, 4839); 1134 dasm_put(Dst, 4438);
1149 } else { 1135 } else {
1150 dasm_put(Dst, 4845); 1136 dasm_put(Dst, 4444);
1151 } 1137 }
1152 dasm_put(Dst, 4852); 1138 dasm_put(Dst, 4451);
1153 if (sse) { 1139 if (sse) {
1154 dasm_put(Dst, 4877); 1140 dasm_put(Dst, 4476);
1155 } else { 1141 } else {
1156 dasm_put(Dst, 4883); 1142 dasm_put(Dst, 4482);
1157 } 1143 }
1158 dasm_put(Dst, 4886, 1+2); 1144 dasm_put(Dst, 4485, 1+2);
1159 if (sse) { 1145 if (sse) {
1160 dasm_put(Dst, 4895); 1146 dasm_put(Dst, 4494);
1161 } else { 1147 } else {
1162 dasm_put(Dst, 4903); 1148 dasm_put(Dst, 4502);
1163 } 1149 }
1164 dasm_put(Dst, 492); 1150 dasm_put(Dst, 4510);
1165 if (sse) { 1151 if (sse) {
1166 dasm_put(Dst, 4911, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1152 dasm_put(Dst, 4513, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1167 } else { 1153 } else {
1168 dasm_put(Dst, 4938); 1154 dasm_put(Dst, 4540);
1169 } 1155 }
1170 dasm_put(Dst, 4955); 1156 dasm_put(Dst, 4557);
1171 if (sse) { 1157 if (sse) {
1172 dasm_put(Dst, 4971, 1+1, LJ_TISNUM); 1158 dasm_put(Dst, 4573, 1+1, LJ_TISNUM);
1173 } else { 1159 } else {
1174 dasm_put(Dst, 4996, 1+1, LJ_TISNUM); 1160 dasm_put(Dst, 4598, 1+1, LJ_TISNUM);
1175 } 1161 }
1176 dasm_put(Dst, 5018); 1162 dasm_put(Dst, 4620);
1177 if (sse) { 1163 if (sse) {
1178 dasm_put(Dst, 5036); 1164 dasm_put(Dst, 4642);
1179 } else { 1165 } else {
1180 dasm_put(Dst, 5062); 1166 dasm_put(Dst, 4668);
1181 } 1167 }
1182 dasm_put(Dst, 5079, 1+2); 1168 dasm_put(Dst, 4685, 1+2);
1183 if (sse) { 1169 if (sse) {
1184 dasm_put(Dst, 5119); 1170 dasm_put(Dst, 4725);
1185 } else { 1171 } else {
1186 dasm_put(Dst, 5127); 1172 dasm_put(Dst, 4733);
1187 } 1173 }
1188 dasm_put(Dst, 5137, 2+1, LJ_TISNUM, LJ_TISNUM); 1174 dasm_put(Dst, 4743, 2+1, LJ_TISNUM, LJ_TISNUM);
1189 if (sse) { 1175 if (sse) {
1190 dasm_put(Dst, 5189, 1+1, LJ_TISNUM, LJ_TISNUM); 1176 dasm_put(Dst, 4795, 1+1, LJ_TISNUM, LJ_TISNUM);
1191 } else { 1177 } else {
1192 dasm_put(Dst, 5236, 2+1, LJ_TISNUM, LJ_TISNUM); 1178 dasm_put(Dst, 4842, 2+1, LJ_TISNUM, LJ_TISNUM);
1193 } 1179 }
1194 if (sse) { 1180 if (sse) {
1195 dasm_put(Dst, 5277, 1+1, LJ_TISNUM, LJ_TISNUM); 1181 dasm_put(Dst, 4883, 1+1, LJ_TISNUM, LJ_TISNUM);
1196 } else { 1182 } else {
1197 } 1183 }
1198 if (sse) { 1184 if (sse) {
1199 dasm_put(Dst, 5348, 1+1, LJ_TISNUM, LJ_TISNUM); 1185 dasm_put(Dst, 4954, 1+1, LJ_TISNUM, LJ_TISNUM);
1200 } else { 1186 } else {
1201 } 1187 }
1202 if (!sse) { 1188 if (!sse) {
1203 dasm_put(Dst, 5419); 1189 dasm_put(Dst, 5025);
1204 } 1190 }
1205 dasm_put(Dst, 5428, 1+1, LJ_TSTR); 1191 dasm_put(Dst, 5034, 1+1, LJ_TSTR);
1206 if (sse) { 1192 if (sse) {
1207 dasm_put(Dst, 5450, Dt5(->len)); 1193 dasm_put(Dst, 5056, Dt5(->len));
1208 } else { 1194 } else {
1209 dasm_put(Dst, 5461, Dt5(->len)); 1195 dasm_put(Dst, 5067, Dt5(->len));
1210 } 1196 }
1211 dasm_put(Dst, 5469, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1197 dasm_put(Dst, 5075, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1212 if (sse) { 1198 if (sse) {
1213 dasm_put(Dst, 5503); 1199 dasm_put(Dst, 5113);
1214 } else { 1200 } else {
1215 dasm_put(Dst, 5513); 1201 dasm_put(Dst, 5123);
1216 } 1202 }
1217 dasm_put(Dst, 5524, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1203 dasm_put(Dst, 5134, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1218 if (sse) { 1204 if (sse) {
1219 dasm_put(Dst, 5561); 1205 dasm_put(Dst, 5171);
1220 } else { 1206 } else {
1221 dasm_put(Dst, 5581); 1207 dasm_put(Dst, 5191);
1222 } 1208 }
1223 dasm_put(Dst, 5601, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1209 dasm_put(Dst, 5211, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1224 dasm_put(Dst, 2504); 1210 dasm_put(Dst, 2161);
1225 if (sse) { 1211 if (sse) {
1226 dasm_put(Dst, 5715); 1212 dasm_put(Dst, 5320);
1227 } else { 1213 } else {
1228 dasm_put(Dst, 5726); 1214 dasm_put(Dst, 5331);
1229 } 1215 }
1230 dasm_put(Dst, 5734, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1216 dasm_put(Dst, 5339, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1231 if (sse) { 1217 if (sse) {
1232 dasm_put(Dst, 5764); 1218 dasm_put(Dst, 5369);
1233 } else { 1219 } else {
1234 } 1220 }
1235 dasm_put(Dst, 5771, sizeof(GCstr)-1); 1221 dasm_put(Dst, 5376, sizeof(GCstr)-1);
1236 dasm_put(Dst, 5846, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1222 dasm_put(Dst, 5451, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1237 dasm_put(Dst, 5907, LJ_TSTR, LJ_TISNUM); 1223 dasm_put(Dst, 5512, LJ_TSTR, LJ_TISNUM);
1238 if (sse) { 1224 if (sse) {
1239 dasm_put(Dst, 5931); 1225 dasm_put(Dst, 5533);
1240 } else { 1226 } else {
1241 dasm_put(Dst, 5938); 1227 dasm_put(Dst, 5540);
1242 } 1228 }
1243 dasm_put(Dst, 5950, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1229 dasm_put(Dst, 5552, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1244 dasm_put(Dst, 6018, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1230 dasm_put(Dst, 5620, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1245 dasm_put(Dst, 6088, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1231 dasm_put(Dst, 5687, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1246 dasm_put(Dst, 6164, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1232 dasm_put(Dst, 5760, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1247 dasm_put(Dst, 6249, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1233 dasm_put(Dst, 5845, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1248 dasm_put(Dst, 6326, 1+1, LJ_TTAB); 1234 dasm_put(Dst, 5919, 1+1, LJ_TTAB);
1249 if (sse) { 1235 if (sse) {
1250 dasm_put(Dst, 6399); 1236 dasm_put(Dst, 5986);
1251 } else { 1237 } else {
1252 } 1238 }
1253 if (sse) { 1239 if (sse) {
1254 dasm_put(Dst, 6409, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1240 dasm_put(Dst, 5996, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1255 } else { 1241 } else {
1256 } 1242 }
1257 if (sse) { 1243 if (sse) {
1258 dasm_put(Dst, 6461, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1244 dasm_put(Dst, 6048, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1259 } else { 1245 } else {
1260 } 1246 }
1261 dasm_put(Dst, 6504); 1247 dasm_put(Dst, 6091, LJ_TISNUM);
1262 if (sse) {
1263 dasm_put(Dst, 6514);
1264 }
1265 dasm_put(Dst, 6518, LJ_TISNUM);
1266 if (sse) { 1248 if (sse) {
1267 dasm_put(Dst, 6536); 1249 dasm_put(Dst, 6118);
1268 } else { 1250 } else {
1269 } 1251 }
1270 dasm_put(Dst, 6553); 1252 dasm_put(Dst, 6135);
1271 if (sse) { 1253 if (sse) {
1272 dasm_put(Dst, 6561, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1254 dasm_put(Dst, 6143, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1273 } else { 1255 } else {
1274 } 1256 }
1275 dasm_put(Dst, 6504); 1257 dasm_put(Dst, 6091, LJ_TISNUM);
1276 if (sse) { 1258 if (sse) {
1277 dasm_put(Dst, 6514); 1259 dasm_put(Dst, 6186);
1278 }
1279 dasm_put(Dst, 6518, LJ_TISNUM);
1280 if (sse) {
1281 dasm_put(Dst, 6604);
1282 } else { 1260 } else {
1283 } 1261 }
1284 dasm_put(Dst, 6553); 1262 dasm_put(Dst, 6135);
1285 if (sse) { 1263 if (sse) {
1286 dasm_put(Dst, 6621, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1264 dasm_put(Dst, 6203, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1287 } else { 1265 } else {
1288 } 1266 }
1289 dasm_put(Dst, 6504); 1267 dasm_put(Dst, 6091, LJ_TISNUM);
1290 if (sse) { 1268 if (sse) {
1291 dasm_put(Dst, 6514); 1269 dasm_put(Dst, 6246);
1292 }
1293 dasm_put(Dst, 6518, LJ_TISNUM);
1294 if (sse) {
1295 dasm_put(Dst, 6664);
1296 } else { 1270 } else {
1297 } 1271 }
1298 dasm_put(Dst, 6553); 1272 dasm_put(Dst, 6135);
1299 if (sse) { 1273 if (sse) {
1300 dasm_put(Dst, 6681, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1274 dasm_put(Dst, 6263, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1301 } else { 1275 } else {
1302 } 1276 }
1303 dasm_put(Dst, 6724); 1277 dasm_put(Dst, 6306);
1304 if (sse) { 1278 if (sse) {
1305 dasm_put(Dst, 6731, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1279 dasm_put(Dst, 6313, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1306 } else { 1280 } else {
1307 } 1281 }
1308 dasm_put(Dst, 6774); 1282 dasm_put(Dst, 6356);
1309 if (sse) { 1283 if (sse) {
1310 dasm_put(Dst, 6778); 1284 dasm_put(Dst, 6360);
1311 } else { 1285 } else {
1312 } 1286 }
1313 dasm_put(Dst, 6804); 1287 dasm_put(Dst, 6372);
1314 if (sse) {
1315 dasm_put(Dst, 6395);
1316 }
1317 dasm_put(Dst, 6807);
1318 if (sse) { 1288 if (sse) {
1319 dasm_put(Dst, 6816, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1289 dasm_put(Dst, 6383, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1320 } else { 1290 } else {
1321 } 1291 }
1322 dasm_put(Dst, 6885); 1292 dasm_put(Dst, 6452);
1323 if (sse) { 1293 if (sse) {
1324 dasm_put(Dst, 6894, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1294 dasm_put(Dst, 6461, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1325 } else { 1295 } else {
1326 } 1296 }
1327 dasm_put(Dst, 6963); 1297 dasm_put(Dst, 6530);
1328 if (sse) { 1298 if (sse) {
1329 dasm_put(Dst, 6973, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1299 dasm_put(Dst, 6540, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1330 } else { 1300 } else {
1331 } 1301 }
1332 dasm_put(Dst, 7042); 1302 dasm_put(Dst, 6609);
1333 if (sse) { 1303 if (sse) {
1334 dasm_put(Dst, 7052, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1304 dasm_put(Dst, 6619, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1335 } else { 1305 } else {
1336 } 1306 }
1337 dasm_put(Dst, 7121); 1307 dasm_put(Dst, 6688);
1338 if (sse) { 1308 if (sse) {
1339 dasm_put(Dst, 7130, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1309 dasm_put(Dst, 6697, 1+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1340 } else { 1310 } else {
1341 } 1311 }
1342 dasm_put(Dst, 7199, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1312 dasm_put(Dst, 6766, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1343 dasm_put(Dst, 7282, Dt1(->top), Dt7(->gate), LJ_TFUNC, Dt7(->gate), Dt1(->base), LUA_MINSTACK, Dt1(->base), Dt1(->top)); 1313 dasm_put(Dst, 6844, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1344 dasm_put(Dst, 7400, Dt1(->base), Dt1(->top)); 1314 dasm_put(Dst, 6970, Dt1(->top), Dt1(->base), Dt1(->top));
1345#if LJ_HASJIT 1315#if LJ_HASJIT
1346 dasm_put(Dst, 7442, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1316 dasm_put(Dst, 7009, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1347#endif 1317#endif
1348 dasm_put(Dst, 7475, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base)); 1318 dasm_put(Dst, 7042, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base));
1349 dasm_put(Dst, 7542, BC__MAX*8); 1319 dasm_put(Dst, 7109, GG_DISP2STATIC);
1350#if LJ_HASJIT 1320#if LJ_HASJIT
1351 dasm_put(Dst, 7579); 1321 dasm_put(Dst, 7146);
1352#endif 1322#endif
1353 dasm_put(Dst, 7581); 1323 dasm_put(Dst, 7148);
1354#if LJ_HASJIT 1324#if LJ_HASJIT
1355 dasm_put(Dst, 7579); 1325 dasm_put(Dst, 7146);
1356#endif 1326#endif
1357 dasm_put(Dst, 7584); 1327 dasm_put(Dst, 7151);
1358#if LJ_HASJIT 1328#if LJ_HASJIT
1359 dasm_put(Dst, 7579); 1329 dasm_put(Dst, 7146);
1360#endif 1330#endif
1361 dasm_put(Dst, 7587); 1331 dasm_put(Dst, 7154);
1362#if LJ_HASJIT 1332#if LJ_HASJIT
1363 dasm_put(Dst, 7590, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1333 dasm_put(Dst, 7157, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1364#endif 1334#endif
1365 dasm_put(Dst, 7637); 1335 dasm_put(Dst, 7204);
1366 if (!sse) { 1336 if (!sse) {
1367 dasm_put(Dst, 7640); 1337 dasm_put(Dst, 7207);
1368 } 1338 }
1369 dasm_put(Dst, 7685, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1339 dasm_put(Dst, 7252, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1370 if (!sse) { 1340 if (!sse) {
1371 dasm_put(Dst, 7771); 1341 dasm_put(Dst, 7338);
1372 } 1342 }
1373 dasm_put(Dst, 7816, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1343 dasm_put(Dst, 7383, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1374 if (!sse) { 1344 if (!sse) {
1375 dasm_put(Dst, 7902); 1345 dasm_put(Dst, 7469);
1376 } 1346 }
1377 dasm_put(Dst, 7941, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1347 dasm_put(Dst, 7508, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1378 if (sse) { 1348 if (sse) {
1379 dasm_put(Dst, 8030, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1349 dasm_put(Dst, 7597, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1380 } else { 1350 } else {
1381 dasm_put(Dst, 8144); 1351 dasm_put(Dst, 7711);
1382 } 1352 }
1383 dasm_put(Dst, 8191); 1353 dasm_put(Dst, 7758);
1384 if (!sse) { 1354 if (!sse) {
1385 } else { 1355 } else {
1386 dasm_put(Dst, 8268); 1356 dasm_put(Dst, 7835);
1387 } 1357 }
1388 dasm_put(Dst, 8271); 1358 dasm_put(Dst, 7838);
1389 dasm_put(Dst, 8356, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1359 dasm_put(Dst, 7923, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1390 dasm_put(Dst, 8457, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1360 dasm_put(Dst, 8024, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1391 dasm_put(Dst, 8631); 1361 dasm_put(Dst, 8198);
1392 if (sse) { 1362 if (sse) {
1393 dasm_put(Dst, 8672); 1363 dasm_put(Dst, 8239);
1394 dasm_put(Dst, 8742); 1364 dasm_put(Dst, 8309);
1395 dasm_put(Dst, 8814); 1365 dasm_put(Dst, 8381);
1396 } else { 1366 } else {
1397 dasm_put(Dst, 8866); 1367 dasm_put(Dst, 8433);
1398 dasm_put(Dst, 8958); 1368 dasm_put(Dst, 8525);
1399 } 1369 }
1400 dasm_put(Dst, 9004); 1370 dasm_put(Dst, 8571);
1401 if (sse) { 1371 if (sse) {
1402 dasm_put(Dst, 9010, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1372 dasm_put(Dst, 8577, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1403 dasm_put(Dst, 9095, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1373 dasm_put(Dst, 8662, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1404 } else { 1374 } else {
1405 dasm_put(Dst, 9223); 1375 dasm_put(Dst, 8790);
1406 dasm_put(Dst, 9306); 1376 dasm_put(Dst, 8873);
1407 if (cmov) { 1377 if (cmov) {
1408 dasm_put(Dst, 9361); 1378 dasm_put(Dst, 8928);
1409 } else { 1379 } else {
1410 dasm_put(Dst, 9380); 1380 dasm_put(Dst, 8947);
1411 } 1381 }
1412 dasm_put(Dst, 9219); 1382 dasm_put(Dst, 8786);
1413 } 1383 }
1414 dasm_put(Dst, 9421); 1384 dasm_put(Dst, 8988);
1415} 1385}
1416 1386
1417/* Generate the code for a single instruction. */ 1387/* Generate the code for a single instruction. */
1418static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1388static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1419{ 1389{
1420 int vk = 0; 1390 int vk = 0;
1421 dasm_put(Dst, 159, defop); 1391 dasm_put(Dst, 9010, defop);
1422 1392
1423 switch (op) { 1393 switch (op) {
1424 1394
@@ -1427,602 +1397,602 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1427 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1397 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1428 1398
1429 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1399 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1430 dasm_put(Dst, 9443, LJ_TISNUM, LJ_TISNUM); 1400 dasm_put(Dst, 9012, LJ_TISNUM, LJ_TISNUM);
1431 if (sse) { 1401 if (sse) {
1432 dasm_put(Dst, 9464); 1402 dasm_put(Dst, 9033);
1433 } else { 1403 } else {
1434 dasm_put(Dst, 9479); 1404 dasm_put(Dst, 9048);
1435 if (cmov) { 1405 if (cmov) {
1436 dasm_put(Dst, 9489); 1406 dasm_put(Dst, 9058);
1437 } else { 1407 } else {
1438 dasm_put(Dst, 9495); 1408 dasm_put(Dst, 9064);
1439 } 1409 }
1440 } 1410 }
1441 switch (op) { 1411 switch (op) {
1442 case BC_ISLT: 1412 case BC_ISLT:
1443 dasm_put(Dst, 9502); 1413 dasm_put(Dst, 9071);
1444 break; 1414 break;
1445 case BC_ISGE: 1415 case BC_ISGE:
1446 dasm_put(Dst, 9301); 1416 dasm_put(Dst, 8868);
1447 break; 1417 break;
1448 case BC_ISLE: 1418 case BC_ISLE:
1449 dasm_put(Dst, 6321); 1419 dasm_put(Dst, 5914);
1450 break; 1420 break;
1451 case BC_ISGT: 1421 case BC_ISGT:
1452 dasm_put(Dst, 9507); 1422 dasm_put(Dst, 9076);
1453 break; 1423 break;
1454 default: break; /* Shut up GCC. */ 1424 default: break; /* Shut up GCC. */
1455 } 1425 }
1456 dasm_put(Dst, 9512, -BCBIAS_J*4); 1426 dasm_put(Dst, 9081, -BCBIAS_J*4);
1457 break; 1427 break;
1458 1428
1459 case BC_ISEQV: case BC_ISNEV: 1429 case BC_ISEQV: case BC_ISNEV:
1460 vk = op == BC_ISEQV; 1430 vk = op == BC_ISEQV;
1461 dasm_put(Dst, 9547, LJ_TISNUM, LJ_TISNUM); 1431 dasm_put(Dst, 9116, LJ_TISNUM, LJ_TISNUM);
1462 if (sse) { 1432 if (sse) {
1463 dasm_put(Dst, 9573); 1433 dasm_put(Dst, 9142);
1464 } else { 1434 } else {
1465 dasm_put(Dst, 9585); 1435 dasm_put(Dst, 9154);
1466 if (cmov) { 1436 if (cmov) {
1467 dasm_put(Dst, 9489); 1437 dasm_put(Dst, 9058);
1468 } else { 1438 } else {
1469 dasm_put(Dst, 9495); 1439 dasm_put(Dst, 9064);
1470 } 1440 }
1471 } 1441 }
1472 iseqne_fp: 1442 iseqne_fp:
1473 if (vk) { 1443 if (vk) {
1474 dasm_put(Dst, 9592); 1444 dasm_put(Dst, 9161);
1475 } else { 1445 } else {
1476 dasm_put(Dst, 9601); 1446 dasm_put(Dst, 9170);
1477 } 1447 }
1478 iseqne_end: 1448 iseqne_end:
1479 if (vk) { 1449 if (vk) {
1480 dasm_put(Dst, 9610, -BCBIAS_J*4); 1450 dasm_put(Dst, 9179, -BCBIAS_J*4);
1481 } else { 1451 } else {
1482 dasm_put(Dst, 9625, -BCBIAS_J*4); 1452 dasm_put(Dst, 9194, -BCBIAS_J*4);
1483 } 1453 }
1484 dasm_put(Dst, 7616); 1454 dasm_put(Dst, 7183);
1485 if (op == BC_ISEQV || op == BC_ISNEV) { 1455 if (op == BC_ISEQV || op == BC_ISNEV) {
1486 dasm_put(Dst, 9640, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1456 dasm_put(Dst, 9209, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1487 if (vk) { 1457 if (vk) {
1488 dasm_put(Dst, 9698); 1458 dasm_put(Dst, 9267);
1489 } else { 1459 } else {
1490 dasm_put(Dst, 9702); 1460 dasm_put(Dst, 9271);
1491 } 1461 }
1492 dasm_put(Dst, 9708); 1462 dasm_put(Dst, 9277);
1493 } 1463 }
1494 break; 1464 break;
1495 case BC_ISEQS: case BC_ISNES: 1465 case BC_ISEQS: case BC_ISNES:
1496 vk = op == BC_ISEQS; 1466 vk = op == BC_ISEQS;
1497 dasm_put(Dst, 9713, LJ_TSTR); 1467 dasm_put(Dst, 9282, LJ_TSTR);
1498 iseqne_test: 1468 iseqne_test:
1499 if (vk) { 1469 if (vk) {
1500 dasm_put(Dst, 9596); 1470 dasm_put(Dst, 9165);
1501 } else { 1471 } else {
1502 dasm_put(Dst, 8953); 1472 dasm_put(Dst, 2805);
1503 } 1473 }
1504 goto iseqne_end; 1474 goto iseqne_end;
1505 case BC_ISEQN: case BC_ISNEN: 1475 case BC_ISEQN: case BC_ISNEN:
1506 vk = op == BC_ISEQN; 1476 vk = op == BC_ISEQN;
1507 dasm_put(Dst, 9738, LJ_TISNUM); 1477 dasm_put(Dst, 9307, LJ_TISNUM);
1508 if (sse) { 1478 if (sse) {
1509 dasm_put(Dst, 9752); 1479 dasm_put(Dst, 9321);
1510 } else { 1480 } else {
1511 dasm_put(Dst, 9765); 1481 dasm_put(Dst, 9334);
1512 if (cmov) { 1482 if (cmov) {
1513 dasm_put(Dst, 9489); 1483 dasm_put(Dst, 9058);
1514 } else { 1484 } else {
1515 dasm_put(Dst, 9495); 1485 dasm_put(Dst, 9064);
1516 } 1486 }
1517 } 1487 }
1518 goto iseqne_fp; 1488 goto iseqne_fp;
1519 case BC_ISEQP: case BC_ISNEP: 1489 case BC_ISEQP: case BC_ISNEP:
1520 vk = op == BC_ISEQP; 1490 vk = op == BC_ISEQP;
1521 dasm_put(Dst, 9773); 1491 dasm_put(Dst, 9342);
1522 goto iseqne_test; 1492 goto iseqne_test;
1523 1493
1524 /* -- Unary test and copy ops ------------------------------------------- */ 1494 /* -- Unary test and copy ops ------------------------------------------- */
1525 1495
1526 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1496 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1527 dasm_put(Dst, 9785, LJ_TISTRUECOND); 1497 dasm_put(Dst, 9354, LJ_TISTRUECOND);
1528 if (op == BC_IST || op == BC_ISTC) { 1498 if (op == BC_IST || op == BC_ISTC) {
1529 dasm_put(Dst, 9797); 1499 dasm_put(Dst, 9366);
1530 } else { 1500 } else {
1531 dasm_put(Dst, 9802); 1501 dasm_put(Dst, 9371);
1532 } 1502 }
1533 if (op == BC_ISTC || op == BC_ISFC) { 1503 if (op == BC_ISTC || op == BC_ISFC) {
1534 dasm_put(Dst, 9807); 1504 dasm_put(Dst, 9376);
1535 } 1505 }
1536 dasm_put(Dst, 9818, -BCBIAS_J*4); 1506 dasm_put(Dst, 9387, -BCBIAS_J*4);
1537 break; 1507 break;
1538 1508
1539 /* -- Unary ops --------------------------------------------------------- */ 1509 /* -- Unary ops --------------------------------------------------------- */
1540 1510
1541 case BC_MOV: 1511 case BC_MOV:
1542 dasm_put(Dst, 9851); 1512 dasm_put(Dst, 9420);
1543 break; 1513 break;
1544 case BC_NOT: 1514 case BC_NOT:
1545 dasm_put(Dst, 9886, LJ_TISTRUECOND, LJ_TTRUE); 1515 dasm_put(Dst, 9455, LJ_TISTRUECOND, LJ_TTRUE);
1546 break; 1516 break;
1547 case BC_UNM: 1517 case BC_UNM:
1548 dasm_put(Dst, 9923, LJ_TISNUM); 1518 dasm_put(Dst, 9492, LJ_TISNUM);
1549 if (sse) { 1519 if (sse) {
1550 dasm_put(Dst, 9934, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1520 dasm_put(Dst, 9503, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1551 } else { 1521 } else {
1552 dasm_put(Dst, 9959); 1522 dasm_put(Dst, 9528);
1553 } 1523 }
1554 dasm_put(Dst, 7616); 1524 dasm_put(Dst, 7183);
1555 break; 1525 break;
1556 case BC_LEN: 1526 case BC_LEN:
1557 dasm_put(Dst, 9968, LJ_TSTR); 1527 dasm_put(Dst, 9537, LJ_TSTR);
1558 if (sse) { 1528 if (sse) {
1559 dasm_put(Dst, 9982, Dt5(->len)); 1529 dasm_put(Dst, 9551, Dt5(->len));
1560 } else { 1530 } else {
1561 dasm_put(Dst, 10000, Dt5(->len)); 1531 dasm_put(Dst, 9569, Dt5(->len));
1562 } 1532 }
1563 dasm_put(Dst, 10009, LJ_TTAB); 1533 dasm_put(Dst, 9578, LJ_TTAB);
1564 if (sse) { 1534 if (sse) {
1565 dasm_put(Dst, 10051); 1535 dasm_put(Dst, 9620);
1566 } else { 1536 } else {
1567 } 1537 }
1568 dasm_put(Dst, 10060); 1538 dasm_put(Dst, 9629);
1569 break; 1539 break;
1570 1540
1571 /* -- Binary ops -------------------------------------------------------- */ 1541 /* -- Binary ops -------------------------------------------------------- */
1572 1542
1573 1543
1574 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1544 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1575 dasm_put(Dst, 10070); 1545 dasm_put(Dst, 9639);
1576 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1546 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1577 switch (vk) { 1547 switch (vk) {
1578 case 0: 1548 case 0:
1579 dasm_put(Dst, 10078, LJ_TISNUM); 1549 dasm_put(Dst, 9647, LJ_TISNUM);
1580 if (sse) { 1550 if (sse) {
1581 dasm_put(Dst, 10090); 1551 dasm_put(Dst, 9659);
1582 } else { 1552 } else {
1583 dasm_put(Dst, 10105); 1553 dasm_put(Dst, 9674);
1584 } 1554 }
1585 break; 1555 break;
1586 case 1: 1556 case 1:
1587 dasm_put(Dst, 10114, LJ_TISNUM); 1557 dasm_put(Dst, 9683, LJ_TISNUM);
1588 if (sse) { 1558 if (sse) {
1589 dasm_put(Dst, 10126); 1559 dasm_put(Dst, 9695);
1590 } else { 1560 } else {
1591 dasm_put(Dst, 10141); 1561 dasm_put(Dst, 9710);
1592 } 1562 }
1593 break; 1563 break;
1594 default: 1564 default:
1595 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1565 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1596 if (sse) { 1566 if (sse) {
1597 dasm_put(Dst, 10172); 1567 dasm_put(Dst, 9741);
1598 } else { 1568 } else {
1599 dasm_put(Dst, 10186); 1569 dasm_put(Dst, 9755);
1600 } 1570 }
1601 break; 1571 break;
1602 } 1572 }
1603 if (sse) { 1573 if (sse) {
1604 dasm_put(Dst, 9952); 1574 dasm_put(Dst, 9521);
1605 } else { 1575 } else {
1606 dasm_put(Dst, 9964); 1576 dasm_put(Dst, 9533);
1607 } 1577 }
1608 dasm_put(Dst, 7616); 1578 dasm_put(Dst, 7183);
1609 break; 1579 break;
1610 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1580 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1611 dasm_put(Dst, 10070); 1581 dasm_put(Dst, 9639);
1612 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1582 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1613 switch (vk) { 1583 switch (vk) {
1614 case 0: 1584 case 0:
1615 dasm_put(Dst, 10078, LJ_TISNUM); 1585 dasm_put(Dst, 9647, LJ_TISNUM);
1616 if (sse) { 1586 if (sse) {
1617 dasm_put(Dst, 10194); 1587 dasm_put(Dst, 9763);
1618 } else { 1588 } else {
1619 dasm_put(Dst, 10209); 1589 dasm_put(Dst, 9778);
1620 } 1590 }
1621 break; 1591 break;
1622 case 1: 1592 case 1:
1623 dasm_put(Dst, 10114, LJ_TISNUM); 1593 dasm_put(Dst, 9683, LJ_TISNUM);
1624 if (sse) { 1594 if (sse) {
1625 dasm_put(Dst, 10218); 1595 dasm_put(Dst, 9787);
1626 } else { 1596 } else {
1627 dasm_put(Dst, 10233); 1597 dasm_put(Dst, 9802);
1628 } 1598 }
1629 break; 1599 break;
1630 default: 1600 default:
1631 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1601 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1632 if (sse) { 1602 if (sse) {
1633 dasm_put(Dst, 10242); 1603 dasm_put(Dst, 9811);
1634 } else { 1604 } else {
1635 dasm_put(Dst, 10256); 1605 dasm_put(Dst, 9825);
1636 } 1606 }
1637 break; 1607 break;
1638 } 1608 }
1639 if (sse) { 1609 if (sse) {
1640 dasm_put(Dst, 9952); 1610 dasm_put(Dst, 9521);
1641 } else { 1611 } else {
1642 dasm_put(Dst, 9964); 1612 dasm_put(Dst, 9533);
1643 } 1613 }
1644 dasm_put(Dst, 7616); 1614 dasm_put(Dst, 7183);
1645 break; 1615 break;
1646 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1616 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1647 dasm_put(Dst, 10070); 1617 dasm_put(Dst, 9639);
1648 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1618 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1649 switch (vk) { 1619 switch (vk) {
1650 case 0: 1620 case 0:
1651 dasm_put(Dst, 10078, LJ_TISNUM); 1621 dasm_put(Dst, 9647, LJ_TISNUM);
1652 if (sse) { 1622 if (sse) {
1653 dasm_put(Dst, 10264); 1623 dasm_put(Dst, 9833);
1654 } else { 1624 } else {
1655 dasm_put(Dst, 10279); 1625 dasm_put(Dst, 9848);
1656 } 1626 }
1657 break; 1627 break;
1658 case 1: 1628 case 1:
1659 dasm_put(Dst, 10114, LJ_TISNUM); 1629 dasm_put(Dst, 9683, LJ_TISNUM);
1660 if (sse) { 1630 if (sse) {
1661 dasm_put(Dst, 10288); 1631 dasm_put(Dst, 9857);
1662 } else { 1632 } else {
1663 dasm_put(Dst, 10303); 1633 dasm_put(Dst, 9872);
1664 } 1634 }
1665 break; 1635 break;
1666 default: 1636 default:
1667 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1637 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1668 if (sse) { 1638 if (sse) {
1669 dasm_put(Dst, 10312); 1639 dasm_put(Dst, 9881);
1670 } else { 1640 } else {
1671 dasm_put(Dst, 10326); 1641 dasm_put(Dst, 9895);
1672 } 1642 }
1673 break; 1643 break;
1674 } 1644 }
1675 if (sse) { 1645 if (sse) {
1676 dasm_put(Dst, 9952); 1646 dasm_put(Dst, 9521);
1677 } else { 1647 } else {
1678 dasm_put(Dst, 9964); 1648 dasm_put(Dst, 9533);
1679 } 1649 }
1680 dasm_put(Dst, 7616); 1650 dasm_put(Dst, 7183);
1681 break; 1651 break;
1682 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1652 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1683 dasm_put(Dst, 10070); 1653 dasm_put(Dst, 9639);
1684 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1654 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1685 switch (vk) { 1655 switch (vk) {
1686 case 0: 1656 case 0:
1687 dasm_put(Dst, 10078, LJ_TISNUM); 1657 dasm_put(Dst, 9647, LJ_TISNUM);
1688 if (sse) { 1658 if (sse) {
1689 dasm_put(Dst, 10334); 1659 dasm_put(Dst, 9903);
1690 } else { 1660 } else {
1691 dasm_put(Dst, 10349); 1661 dasm_put(Dst, 9918);
1692 } 1662 }
1693 break; 1663 break;
1694 case 1: 1664 case 1:
1695 dasm_put(Dst, 10114, LJ_TISNUM); 1665 dasm_put(Dst, 9683, LJ_TISNUM);
1696 if (sse) { 1666 if (sse) {
1697 dasm_put(Dst, 10358); 1667 dasm_put(Dst, 9927);
1698 } else { 1668 } else {
1699 dasm_put(Dst, 10373); 1669 dasm_put(Dst, 9942);
1700 } 1670 }
1701 break; 1671 break;
1702 default: 1672 default:
1703 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1673 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1704 if (sse) { 1674 if (sse) {
1705 dasm_put(Dst, 10382); 1675 dasm_put(Dst, 9951);
1706 } else { 1676 } else {
1707 dasm_put(Dst, 10396); 1677 dasm_put(Dst, 9965);
1708 } 1678 }
1709 break; 1679 break;
1710 } 1680 }
1711 if (sse) { 1681 if (sse) {
1712 dasm_put(Dst, 9952); 1682 dasm_put(Dst, 9521);
1713 } else { 1683 } else {
1714 dasm_put(Dst, 9964); 1684 dasm_put(Dst, 9533);
1715 } 1685 }
1716 dasm_put(Dst, 7616); 1686 dasm_put(Dst, 7183);
1717 break; 1687 break;
1718 case BC_MODVN: 1688 case BC_MODVN:
1719 dasm_put(Dst, 10070); 1689 dasm_put(Dst, 9639);
1720 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1690 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1721 switch (vk) { 1691 switch (vk) {
1722 case 0: 1692 case 0:
1723 dasm_put(Dst, 10078, LJ_TISNUM); 1693 dasm_put(Dst, 9647, LJ_TISNUM);
1724 if (sse) { 1694 if (sse) {
1725 dasm_put(Dst, 10404); 1695 dasm_put(Dst, 9973);
1726 } else { 1696 } else {
1727 dasm_put(Dst, 10419); 1697 dasm_put(Dst, 9988);
1728 } 1698 }
1729 break; 1699 break;
1730 case 1: 1700 case 1:
1731 dasm_put(Dst, 10114, LJ_TISNUM); 1701 dasm_put(Dst, 9683, LJ_TISNUM);
1732 if (sse) { 1702 if (sse) {
1733 dasm_put(Dst, 10428); 1703 dasm_put(Dst, 9997);
1734 } else { 1704 } else {
1735 dasm_put(Dst, 10443); 1705 dasm_put(Dst, 10012);
1736 } 1706 }
1737 break; 1707 break;
1738 default: 1708 default:
1739 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1709 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1740 if (sse) { 1710 if (sse) {
1741 dasm_put(Dst, 10452); 1711 dasm_put(Dst, 10021);
1742 } else { 1712 } else {
1743 dasm_put(Dst, 10466); 1713 dasm_put(Dst, 10035);
1744 } 1714 }
1745 break; 1715 break;
1746 } 1716 }
1747 dasm_put(Dst, 10474); 1717 dasm_put(Dst, 10043);
1748 if (sse) { 1718 if (sse) {
1749 dasm_put(Dst, 9952); 1719 dasm_put(Dst, 9521);
1750 } else { 1720 } else {
1751 dasm_put(Dst, 9964); 1721 dasm_put(Dst, 9533);
1752 } 1722 }
1753 dasm_put(Dst, 7616); 1723 dasm_put(Dst, 7183);
1754 break; 1724 break;
1755 case BC_MODNV: case BC_MODVV: 1725 case BC_MODNV: case BC_MODVV:
1756 dasm_put(Dst, 10070); 1726 dasm_put(Dst, 9639);
1757 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1727 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1758 switch (vk) { 1728 switch (vk) {
1759 case 0: 1729 case 0:
1760 dasm_put(Dst, 10078, LJ_TISNUM); 1730 dasm_put(Dst, 9647, LJ_TISNUM);
1761 if (sse) { 1731 if (sse) {
1762 dasm_put(Dst, 10404); 1732 dasm_put(Dst, 9973);
1763 } else { 1733 } else {
1764 dasm_put(Dst, 10419); 1734 dasm_put(Dst, 9988);
1765 } 1735 }
1766 break; 1736 break;
1767 case 1: 1737 case 1:
1768 dasm_put(Dst, 10114, LJ_TISNUM); 1738 dasm_put(Dst, 9683, LJ_TISNUM);
1769 if (sse) { 1739 if (sse) {
1770 dasm_put(Dst, 10428); 1740 dasm_put(Dst, 9997);
1771 } else { 1741 } else {
1772 dasm_put(Dst, 10443); 1742 dasm_put(Dst, 10012);
1773 } 1743 }
1774 break; 1744 break;
1775 default: 1745 default:
1776 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1746 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1777 if (sse) { 1747 if (sse) {
1778 dasm_put(Dst, 10452); 1748 dasm_put(Dst, 10021);
1779 } else { 1749 } else {
1780 dasm_put(Dst, 10466); 1750 dasm_put(Dst, 10035);
1781 } 1751 }
1782 break; 1752 break;
1783 } 1753 }
1784 dasm_put(Dst, 10480); 1754 dasm_put(Dst, 10049);
1785 break; 1755 break;
1786 case BC_POW: 1756 case BC_POW:
1787 dasm_put(Dst, 10070); 1757 dasm_put(Dst, 9639);
1788 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1758 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1789 switch (vk) { 1759 switch (vk) {
1790 case 0: 1760 case 0:
1791 dasm_put(Dst, 10078, LJ_TISNUM); 1761 dasm_put(Dst, 9647, LJ_TISNUM);
1792 if (sse) { 1762 if (sse) {
1793 dasm_put(Dst, 10404); 1763 dasm_put(Dst, 9973);
1794 } else { 1764 } else {
1795 dasm_put(Dst, 10419); 1765 dasm_put(Dst, 9988);
1796 } 1766 }
1797 break; 1767 break;
1798 case 1: 1768 case 1:
1799 dasm_put(Dst, 10114, LJ_TISNUM); 1769 dasm_put(Dst, 9683, LJ_TISNUM);
1800 if (sse) { 1770 if (sse) {
1801 dasm_put(Dst, 10428); 1771 dasm_put(Dst, 9997);
1802 } else { 1772 } else {
1803 dasm_put(Dst, 10443); 1773 dasm_put(Dst, 10012);
1804 } 1774 }
1805 break; 1775 break;
1806 default: 1776 default:
1807 dasm_put(Dst, 10150, LJ_TISNUM, LJ_TISNUM); 1777 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM);
1808 if (sse) { 1778 if (sse) {
1809 dasm_put(Dst, 10452); 1779 dasm_put(Dst, 10021);
1810 } else { 1780 } else {
1811 dasm_put(Dst, 10466); 1781 dasm_put(Dst, 10035);
1812 } 1782 }
1813 break; 1783 break;
1814 } 1784 }
1815 dasm_put(Dst, 10485); 1785 dasm_put(Dst, 10054);
1816 if (sse) { 1786 if (sse) {
1817 dasm_put(Dst, 9952); 1787 dasm_put(Dst, 9521);
1818 } else { 1788 } else {
1819 dasm_put(Dst, 9964); 1789 dasm_put(Dst, 9533);
1820 } 1790 }
1821 dasm_put(Dst, 7616); 1791 dasm_put(Dst, 7183);
1822 break; 1792 break;
1823 1793
1824 case BC_CAT: 1794 case BC_CAT:
1825 dasm_put(Dst, 10489, Dt1(->base), Dt1(->base)); 1795 dasm_put(Dst, 10058, Dt1(->base), Dt1(->base));
1826 break; 1796 break;
1827 1797
1828 /* -- Constant ops ------------------------------------------------------ */ 1798 /* -- Constant ops ------------------------------------------------------ */
1829 1799
1830 case BC_KSTR: 1800 case BC_KSTR:
1831 dasm_put(Dst, 10580, LJ_TSTR); 1801 dasm_put(Dst, 10149, LJ_TSTR);
1832 break; 1802 break;
1833 case BC_KSHORT: 1803 case BC_KSHORT:
1834 if (sse) { 1804 if (sse) {
1835 dasm_put(Dst, 10617); 1805 dasm_put(Dst, 10186);
1836 } else { 1806 } else {
1837 dasm_put(Dst, 10632); 1807 dasm_put(Dst, 10201);
1838 } 1808 }
1839 dasm_put(Dst, 7616); 1809 dasm_put(Dst, 7183);
1840 break; 1810 break;
1841 case BC_KNUM: 1811 case BC_KNUM:
1842 if (sse) { 1812 if (sse) {
1843 dasm_put(Dst, 10640); 1813 dasm_put(Dst, 10209);
1844 } else { 1814 } else {
1845 dasm_put(Dst, 10654); 1815 dasm_put(Dst, 10223);
1846 } 1816 }
1847 dasm_put(Dst, 7616); 1817 dasm_put(Dst, 7183);
1848 break; 1818 break;
1849 case BC_KPRI: 1819 case BC_KPRI:
1850 dasm_put(Dst, 10662); 1820 dasm_put(Dst, 10231);
1851 break; 1821 break;
1852 case BC_KNIL: 1822 case BC_KNIL:
1853 dasm_put(Dst, 10691, LJ_TNIL); 1823 dasm_put(Dst, 10260, LJ_TNIL);
1854 break; 1824 break;
1855 1825
1856 /* -- Upvalue and function ops ------------------------------------------ */ 1826 /* -- Upvalue and function ops ------------------------------------------ */
1857 1827
1858 case BC_UGET: 1828 case BC_UGET:
1859 dasm_put(Dst, 10739, offsetof(GCfuncL, uvptr), DtA(->v)); 1829 dasm_put(Dst, 10308, offsetof(GCfuncL, uvptr), DtA(->v));
1860 break; 1830 break;
1861 case BC_USETV: 1831 case BC_USETV:
1862#define TV2MARKOFS \ 1832#define TV2MARKOFS \
1863 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1833 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1864 dasm_put(Dst, 10785, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); 1834 dasm_put(Dst, 10354, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
1865 dasm_put(Dst, 10881); 1835 dasm_put(Dst, 10450);
1866 break; 1836 break;
1867#undef TV2MARKOFS 1837#undef TV2MARKOFS
1868 case BC_USETS: 1838 case BC_USETS:
1869 dasm_put(Dst, 10893, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1839 dasm_put(Dst, 10462, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1870 break; 1840 break;
1871 case BC_USETN: 1841 case BC_USETN:
1872 dasm_put(Dst, 10989); 1842 dasm_put(Dst, 10558);
1873 if (sse) { 1843 if (sse) {
1874 dasm_put(Dst, 10994); 1844 dasm_put(Dst, 10563);
1875 } else { 1845 } else {
1876 dasm_put(Dst, 9768); 1846 dasm_put(Dst, 9337);
1877 } 1847 }
1878 dasm_put(Dst, 11002, offsetof(GCfuncL, uvptr), DtA(->v)); 1848 dasm_put(Dst, 10571, offsetof(GCfuncL, uvptr), DtA(->v));
1879 if (sse) { 1849 if (sse) {
1880 dasm_put(Dst, 4877); 1850 dasm_put(Dst, 10580);
1881 } else { 1851 } else {
1882 dasm_put(Dst, 4883); 1852 dasm_put(Dst, 10586);
1883 } 1853 }
1884 dasm_put(Dst, 7616); 1854 dasm_put(Dst, 7183);
1885 break; 1855 break;
1886 case BC_USETP: 1856 case BC_USETP:
1887 dasm_put(Dst, 11011, offsetof(GCfuncL, uvptr), DtA(->v)); 1857 dasm_put(Dst, 10589, offsetof(GCfuncL, uvptr), DtA(->v));
1888 break; 1858 break;
1889 case BC_UCLO: 1859 case BC_UCLO:
1890 dasm_put(Dst, 11051, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1860 dasm_put(Dst, 10629, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1891 break; 1861 break;
1892 1862
1893 case BC_FNEW: 1863 case BC_FNEW:
1894 dasm_put(Dst, 11107, Dt1(->base), Dt1(->base), LJ_TFUNC); 1864 dasm_put(Dst, 10685, Dt1(->base), Dt1(->base), LJ_TFUNC);
1895 break; 1865 break;
1896 1866
1897 /* -- Table ops --------------------------------------------------------- */ 1867 /* -- Table ops --------------------------------------------------------- */
1898 1868
1899 case BC_TNEW: 1869 case BC_TNEW:
1900 dasm_put(Dst, 11174, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1870 dasm_put(Dst, 10752, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1901 break; 1871 break;
1902 case BC_TDUP: 1872 case BC_TDUP:
1903 dasm_put(Dst, 11298, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1873 dasm_put(Dst, 10876, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1904 break; 1874 break;
1905 1875
1906 case BC_GGET: 1876 case BC_GGET:
1907 dasm_put(Dst, 11397, Dt7(->env)); 1877 dasm_put(Dst, 10975, Dt7(->env));
1908 break; 1878 break;
1909 case BC_GSET: 1879 case BC_GSET:
1910 dasm_put(Dst, 11417, Dt7(->env)); 1880 dasm_put(Dst, 10995, Dt7(->env));
1911 break; 1881 break;
1912 1882
1913 case BC_TGETV: 1883 case BC_TGETV:
1914 dasm_put(Dst, 11437, LJ_TTAB, LJ_TISNUM); 1884 dasm_put(Dst, 11015, LJ_TTAB, LJ_TISNUM);
1915 if (sse) { 1885 if (sse) {
1916 dasm_put(Dst, 11470); 1886 dasm_put(Dst, 11048);
1917 } else { 1887 } else {
1918 } 1888 }
1919 dasm_put(Dst, 11491, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1889 dasm_put(Dst, 11069, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1920 dasm_put(Dst, 11585, LJ_TSTR); 1890 dasm_put(Dst, 11163, LJ_TSTR);
1921 break; 1891 break;
1922 case BC_TGETS: 1892 case BC_TGETS:
1923 dasm_put(Dst, 11603, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1893 dasm_put(Dst, 11181, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1924 dasm_put(Dst, 11689, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1894 dasm_put(Dst, 11267, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1925 break; 1895 break;
1926 case BC_TGETB: 1896 case BC_TGETB:
1927 dasm_put(Dst, 11762, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1897 dasm_put(Dst, 11340, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1928 dasm_put(Dst, 10060); 1898 dasm_put(Dst, 9629);
1929 break; 1899 break;
1930 1900
1931 case BC_TSETV: 1901 case BC_TSETV:
1932 dasm_put(Dst, 11863, LJ_TTAB, LJ_TISNUM); 1902 dasm_put(Dst, 11441, LJ_TTAB, LJ_TISNUM);
1933 if (sse) { 1903 if (sse) {
1934 dasm_put(Dst, 11470); 1904 dasm_put(Dst, 11048);
1935 } else { 1905 } else {
1936 } 1906 }
1937 dasm_put(Dst, 11896, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1907 dasm_put(Dst, 11474, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1938 dasm_put(Dst, 11981, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1908 dasm_put(Dst, 11559, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1939 break; 1909 break;
1940 case BC_TSETS: 1910 case BC_TSETS:
1941 dasm_put(Dst, 12045, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1911 dasm_put(Dst, 11623, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1942 dasm_put(Dst, 12122, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1912 dasm_put(Dst, 11700, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1943 dasm_put(Dst, 12214, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1913 dasm_put(Dst, 11792, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1944 break; 1914 break;
1945 case BC_TSETB: 1915 case BC_TSETB:
1946 dasm_put(Dst, 12306, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1916 dasm_put(Dst, 11884, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1947 dasm_put(Dst, 12406, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1917 dasm_put(Dst, 11984, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1948 break; 1918 break;
1949 1919
1950 case BC_TSETM: 1920 case BC_TSETM:
1951 dasm_put(Dst, 12454); 1921 dasm_put(Dst, 12032);
1952 if (sse) { 1922 if (sse) {
1953 dasm_put(Dst, 10994); 1923 dasm_put(Dst, 10563);
1954 } else { 1924 } else {
1955 } 1925 }
1956 dasm_put(Dst, 12459, Dt6(->marked), LJ_GC_BLACK); 1926 dasm_put(Dst, 12037, Dt6(->marked), LJ_GC_BLACK);
1957 if (sse) { 1927 if (sse) {
1958 dasm_put(Dst, 12484); 1928 dasm_put(Dst, 12062);
1959 } else { 1929 } else {
1960 } 1930 }
1961 dasm_put(Dst, 12492, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 1931 dasm_put(Dst, 12070, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
1962 dasm_put(Dst, 12628, Dt6(->gclist)); 1932 dasm_put(Dst, 12206, Dt6(->gclist));
1963 break; 1933 break;
1964 1934
1965 /* -- Calls and vararg handling ----------------------------------------- */ 1935 /* -- Calls and vararg handling ----------------------------------------- */
1966 1936
1967 case BC_CALL: case BC_CALLM: 1937 case BC_CALL: case BC_CALLM:
1968 dasm_put(Dst, 10074); 1938 dasm_put(Dst, 9643);
1969 if (op == BC_CALLM) { 1939 if (op == BC_CALLM) {
1970 dasm_put(Dst, 12636); 1940 dasm_put(Dst, 12214);
1971 } 1941 }
1972 dasm_put(Dst, 12641, LJ_TFUNC, Dt7(->gate)); 1942 dasm_put(Dst, 12219, LJ_TFUNC, Dt7(->pc));
1973 break; 1943 break;
1974 1944
1975 case BC_CALLMT: 1945 case BC_CALLMT:
1976 dasm_put(Dst, 12636); 1946 dasm_put(Dst, 12214);
1977 break; 1947 break;
1978 case BC_CALLT: 1948 case BC_CALLT:
1979 dasm_put(Dst, 12664, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->gate)); 1949 dasm_put(Dst, 12262, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1980 dasm_put(Dst, 12773, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1950 dasm_put(Dst, 12386, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1981 break; 1951 break;
1982 1952
1983 case BC_ITERC: 1953 case BC_ITERC:
1984 dasm_put(Dst, 12834, LJ_TFUNC, Dt7(->gate)); 1954 dasm_put(Dst, 12447, LJ_TFUNC, 2+1, Dt7(->pc));
1985 break; 1955 break;
1986 1956
1987 case BC_VARG: 1957 case BC_VARG:
1988 dasm_put(Dst, 12896, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1958 dasm_put(Dst, 12529, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1989 dasm_put(Dst, 13050, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1959 dasm_put(Dst, 12683, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1990 break; 1960 break;
1991 1961
1992 /* -- Returns ----------------------------------------------------------- */ 1962 /* -- Returns ----------------------------------------------------------- */
1993 1963
1994 case BC_RETM: 1964 case BC_RETM:
1995 dasm_put(Dst, 12636); 1965 dasm_put(Dst, 12214);
1996 break; 1966 break;
1997 1967
1998 case BC_RET: case BC_RET0: case BC_RET1: 1968 case BC_RET: case BC_RET0: case BC_RET1:
1999 if (op != BC_RET0) { 1969 if (op != BC_RET0) {
2000 dasm_put(Dst, 13155); 1970 dasm_put(Dst, 12788);
2001 } 1971 }
2002 dasm_put(Dst, 13159, FRAME_TYPE); 1972 dasm_put(Dst, 12792, FRAME_TYPE);
2003 switch (op) { 1973 switch (op) {
2004 case BC_RET: 1974 case BC_RET:
2005 dasm_put(Dst, 13178); 1975 dasm_put(Dst, 12811);
2006 break; 1976 break;
2007 case BC_RET1: 1977 case BC_RET1:
2008 dasm_put(Dst, 13242); 1978 dasm_put(Dst, 12875);
2009 /* fallthrough */ 1979 /* fallthrough */
2010 case BC_RET0: 1980 case BC_RET0:
2011 dasm_put(Dst, 13258); 1981 dasm_put(Dst, 12891);
2012 default: 1982 default:
2013 break; 1983 break;
2014 } 1984 }
2015 dasm_put(Dst, 13269, Dt7(->pc), PC2PROTO(k)); 1985 dasm_put(Dst, 12902, Dt7(->pc), PC2PROTO(k));
2016 if (op == BC_RET) { 1986 if (op == BC_RET) {
2017 dasm_put(Dst, 13317, LJ_TNIL); 1987 dasm_put(Dst, 12950, LJ_TNIL);
2018 } else { 1988 } else {
2019 dasm_put(Dst, 13328, LJ_TNIL); 1989 dasm_put(Dst, 12961, LJ_TNIL);
2020 } 1990 }
2021 dasm_put(Dst, 13335); 1991 dasm_put(Dst, 12968);
2022 if (op != BC_RET0) { 1992 if (op != BC_RET0) {
2023 dasm_put(Dst, 13355); 1993 dasm_put(Dst, 12988);
2024 } 1994 }
2025 dasm_put(Dst, 4966); 1995 dasm_put(Dst, 4568);
2026 break; 1996 break;
2027 1997
2028 /* -- Loops and branches ------------------------------------------------ */ 1998 /* -- Loops and branches ------------------------------------------------ */
@@ -2030,7 +2000,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2030 2000
2031 case BC_FORL: 2001 case BC_FORL:
2032#if LJ_HASJIT 2002#if LJ_HASJIT
2033 dasm_put(Dst, 13358, HOTCOUNT_PCMASK, GG_DISP2HOT); 2003 dasm_put(Dst, 12991, HOTCOUNT_PCMASK, GG_DISP2HOT);
2034#endif 2004#endif
2035 break; 2005 break;
2036 2006
@@ -2042,57 +2012,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2042 case BC_FORI: 2012 case BC_FORI:
2043 case BC_IFORL: 2013 case BC_IFORL:
2044 vk = (op == BC_IFORL || op == BC_JFORL); 2014 vk = (op == BC_IFORL || op == BC_JFORL);
2045 dasm_put(Dst, 13379); 2015 dasm_put(Dst, 13012);
2046 if (!vk) { 2016 if (!vk) {
2047 dasm_put(Dst, 13383, LJ_TISNUM, LJ_TISNUM); 2017 dasm_put(Dst, 13016, LJ_TISNUM, LJ_TISNUM);
2048 } 2018 }
2049 dasm_put(Dst, 13402); 2019 dasm_put(Dst, 13035);
2050 if (!vk) { 2020 if (!vk) {
2051 dasm_put(Dst, 13406, LJ_TISNUM); 2021 dasm_put(Dst, 13039, LJ_TISNUM);
2052 } 2022 }
2053 if (sse) { 2023 if (sse) {
2054 dasm_put(Dst, 13415); 2024 dasm_put(Dst, 13048);
2055 if (vk) { 2025 if (vk) {
2056 dasm_put(Dst, 13427); 2026 dasm_put(Dst, 13060);
2057 } else { 2027 } else {
2058 dasm_put(Dst, 13446); 2028 dasm_put(Dst, 13079);
2059 } 2029 }
2060 dasm_put(Dst, 13451); 2030 dasm_put(Dst, 13084);
2061 } else { 2031 } else {
2062 dasm_put(Dst, 13464); 2032 dasm_put(Dst, 13097);
2063 if (vk) { 2033 if (vk) {
2064 dasm_put(Dst, 13470); 2034 dasm_put(Dst, 13103);
2065 } else { 2035 } else {
2066 dasm_put(Dst, 13486); 2036 dasm_put(Dst, 13119);
2067 } 2037 }
2068 dasm_put(Dst, 13494); 2038 dasm_put(Dst, 13127);
2069 if (cmov) { 2039 if (cmov) {
2070 dasm_put(Dst, 9489); 2040 dasm_put(Dst, 9058);
2071 } else { 2041 } else {
2072 dasm_put(Dst, 9495); 2042 dasm_put(Dst, 9064);
2073 } 2043 }
2074 if (!cmov) { 2044 if (!cmov) {
2075 dasm_put(Dst, 13499); 2045 dasm_put(Dst, 13132);
2076 } 2046 }
2077 } 2047 }
2078 if (op == BC_FORI) { 2048 if (op == BC_FORI) {
2079 dasm_put(Dst, 13505, -BCBIAS_J*4); 2049 dasm_put(Dst, 13138, -BCBIAS_J*4);
2080 } else if (op == BC_JFORI) { 2050 } else if (op == BC_JFORI) {
2081 dasm_put(Dst, 13515, -BCBIAS_J*4, BC_JLOOP); 2051 dasm_put(Dst, 13148, -BCBIAS_J*4, BC_JLOOP);
2082 } else if (op == BC_IFORL) { 2052 } else if (op == BC_IFORL) {
2083 dasm_put(Dst, 13529, -BCBIAS_J*4); 2053 dasm_put(Dst, 13162, -BCBIAS_J*4);
2084 } else { 2054 } else {
2085 dasm_put(Dst, 13525, BC_JLOOP); 2055 dasm_put(Dst, 13158, BC_JLOOP);
2086 } 2056 }
2087 dasm_put(Dst, 9524); 2057 dasm_put(Dst, 9093);
2088 if (sse) { 2058 if (sse) {
2089 dasm_put(Dst, 13539); 2059 dasm_put(Dst, 13172);
2090 } 2060 }
2091 break; 2061 break;
2092 2062
2093 case BC_ITERL: 2063 case BC_ITERL:
2094#if LJ_HASJIT 2064#if LJ_HASJIT
2095 dasm_put(Dst, 13358, HOTCOUNT_PCMASK, GG_DISP2HOT); 2065 dasm_put(Dst, 12991, HOTCOUNT_PCMASK, GG_DISP2HOT);
2096#endif 2066#endif
2097 break; 2067 break;
2098 2068
@@ -2101,33 +2071,96 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2101 break; 2071 break;
2102#endif 2072#endif
2103 case BC_IITERL: 2073 case BC_IITERL:
2104 dasm_put(Dst, 13550, LJ_TNIL); 2074 dasm_put(Dst, 13183, LJ_TNIL);
2105 if (op == BC_JITERL) { 2075 if (op == BC_JITERL) {
2106 dasm_put(Dst, 13565, BC_JLOOP); 2076 dasm_put(Dst, 13198, BC_JLOOP);
2107 } else { 2077 } else {
2108 dasm_put(Dst, 13579, -BCBIAS_J*4); 2078 dasm_put(Dst, 13212, -BCBIAS_J*4);
2109 } 2079 }
2110 dasm_put(Dst, 9828); 2080 dasm_put(Dst, 9397);
2111 break; 2081 break;
2112 2082
2113 case BC_LOOP: 2083 case BC_LOOP:
2114#if LJ_HASJIT 2084#if LJ_HASJIT
2115 dasm_put(Dst, 13358, HOTCOUNT_PCMASK, GG_DISP2HOT); 2085 dasm_put(Dst, 12991, HOTCOUNT_PCMASK, GG_DISP2HOT);
2116#endif 2086#endif
2117 break; 2087 break;
2118 2088
2119 case BC_ILOOP: 2089 case BC_ILOOP:
2120 dasm_put(Dst, 7616); 2090 dasm_put(Dst, 7183);
2121 break; 2091 break;
2122 2092
2123 case BC_JLOOP: 2093 case BC_JLOOP:
2124#if LJ_HASJIT 2094#if LJ_HASJIT
2125 dasm_put(Dst, 13595, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2095 dasm_put(Dst, 13228, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2126#endif 2096#endif
2127 break; 2097 break;
2128 2098
2129 case BC_JMP: 2099 case BC_JMP:
2130 dasm_put(Dst, 13622, -BCBIAS_J*4); 2100 dasm_put(Dst, 13255, -BCBIAS_J*4);
2101 break;
2102
2103 /* -- Function headers -------------------------------------------------- */
2104
2105 /*
2106 ** Reminder: A function may be called with func/args above L->maxstack,
2107 ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
2108 ** too. This means all FUNC* ops (including fast functions) must check
2109 ** for stack overflow _before_ adding more slots!
2110 */
2111
2112 case BC_FUNCF:
2113#if LJ_HASJIT
2114#endif
2115 case BC_FUNCV: /* NYI: compiled vararg functions. */
2116 break;
2117
2118 case BC_JFUNCF:
2119#if !LJ_HASJIT
2120 break;
2121#endif
2122 case BC_IFUNCF:
2123 dasm_put(Dst, 13281, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2124 if (op == BC_JFUNCF) {
2125 dasm_put(Dst, 13312, BC_JLOOP);
2126 } else {
2127 dasm_put(Dst, 7183);
2128 }
2129 dasm_put(Dst, 13321, LJ_TNIL);
2130 break;
2131
2132 case BC_JFUNCV:
2133#if !LJ_HASJIT
2134 break;
2135#endif
2136 dasm_put(Dst, 7146);
2137 break; /* NYI: compiled vararg functions. */
2138
2139 case BC_IFUNCV:
2140 dasm_put(Dst, 13343, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2141 if (op == BC_JFUNCV) {
2142 dasm_put(Dst, 13312, BC_JLOOP);
2143 } else {
2144 dasm_put(Dst, 13440, -4+PC2PROTO(k));
2145 }
2146 dasm_put(Dst, 13465, LJ_TNIL);
2147 break;
2148
2149 case BC_FUNCC:
2150 case BC_FUNCCW:
2151 dasm_put(Dst, 13487, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2152 if (op == BC_FUNCC) {
2153 dasm_put(Dst, 13517);
2154 } else {
2155 dasm_put(Dst, 13521);
2156 }
2157 dasm_put(Dst, 13529, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2158 if (op == BC_FUNCC) {
2159 dasm_put(Dst, 13539);
2160 } else {
2161 dasm_put(Dst, 13544, DISPATCH_GL(wrapf));
2162 }
2163 dasm_put(Dst, 13550, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2131 break; 2164 break;
2132 2165
2133 /* ---------------------------------------------------------------------- */ 2166 /* ---------------------------------------------------------------------- */
@@ -2155,7 +2188,7 @@ static int build_backend(BuildCtx *ctx)
2155 2188
2156 build_subroutines(ctx, cmov, sse); 2189 build_subroutines(ctx, cmov, sse);
2157 2190
2158 dasm_put(Dst, 13648); 2191 dasm_put(Dst, 13576);
2159 for (op = 0; op < BC__MAX; op++) 2192 for (op = 0; op < BC__MAX; op++)
2160 build_ins(ctx, (BCOp)op, op, cmov, sse); 2193 build_ins(ctx, (BCOp)op, op, cmov, sse);
2161 2194